===============================================================================
                        LAB ENVIRONMENT GUIDELINES (CLI)
===============================================================================

1. INITIAL SETUP
-------------------------------------------------------------------------------
Before coding, complete these essential configuration steps:

A. Configure Identity:
   - Open 'config.sh' using your preferred editor (vim/emacs).
   - Enter your ROLL NUMBER in ALL CAPS in the designated field.

B. Setup Workspace:
   - Rename the folder 'CS25B0XX' to your ROLL NUMBER (ALL CAPS).
   - Use the command: mv CS25B0XX YOUR_ROLL_NUMBER
   - Navigate into your folder: cd YOUR_ROLL_NUMBER

2. CLI ESSENTIALS (FILE MANAGEMENT)
-------------------------------------------------------------------------------
If you are unfamiliar with the terminal, use these commands:

- RENAME a file/folder:
  mv old_name new_name

- MOVE a file to a different directory:
  mv file_name path/to/destination/

- COPY a file (as a backup):
  cp Q1.c Q1_backup.c

- ZIP a folder (to submit or backup):
  zip -r ZIPNAME.zip folder_name/

- UNZIP a file:
  unzip file_name.zip

3. TESTING YOUR CODE
-------------------------------------------------------------------------------
A. Manual Testcase:
   1. Navigate to your roll number directory: cd YOUR_ROLL_NUMBER
   2. Copy-paste or write the testcase in the input_q3/ folder.
   3. Run ./test_q3.sh script.

B. Manual Testing:
   1. Have a backup/copy of the input files.
   2. Paste them in the same folder as Q3.c
   3. Run using ./a.out < commands.txt

C. Automated Public Testing:
   1. Navigate to the root directory: cd ..
   2. Run script for all questions: ./check.sh
   3. To run a single question: ./check.sh 1|2|3|4

D. Private Test Cases:
   1. From the root directory, run: ./submit.sh
   2. You can submit multiple times; only your best submission will be counted.
   3. To submit a single question: ./submit.sh 1|2|3|4

4. OUTPUT LOGS
-------------------------------------------------------------------------------
Check these files for debugging:
- actual_output/  : Contains the actual output generated by your code.
- Q{i}_log.txt    : Contains compilation and runtime logs.

5. BEST PRACTICES
-------------------------------------------------------------------------------
- Test Incrementally: Sample -> Public -> Private.
- Backup Frequently: Use 'cp' to save working versions before major changes.
- Text Editors: Use 'vim Q1.c' or 'emacs Q1.c' for coding.

===============================================================================
