├── 2018_hw6-Circuit_Parser ├── aag_files │ ├── sim04.aag │ ├── strash10.aag │ ├── opt01.aag │ ├── opt03.aag │ ├── sim11.aag │ ├── opt02.aag │ ├── opt04.aag │ ├── sim08.aag │ ├── strash08.aag │ ├── strash09.aag │ ├── strash07.aag │ ├── strash01.aag │ ├── strash02.aag │ ├── test2.aag │ ├── strash04.aag │ ├── C17.aag │ ├── strash03.aag │ ├── sim01.aag │ ├── sim02.aag │ ├── sim03.aag │ ├── strash06.aag │ ├── opt06.aag │ ├── sim05.aag │ ├── strash05.aag │ ├── cirp-n.aag │ ├── opt05.aag │ ├── C432_r.aag │ ├── C432.aag │ ├── C499_r.aag │ ├── C880.aag │ ├── C499.aag │ ├── C1355.aag │ ├── sim10.aag │ ├── sim14.aag │ ├── sim15.aag │ ├── test1.aag │ └── C1908.aag ├── img │ ├── p_1.PNG │ ├── opt04.PNG │ └── ref-bug.PNG ├── updates │ ├── check │ └── gen.py ├── check ├── check_basic ├── gen_basic.py ├── gen.py └── Usage.md ├── 2018_hw3-Json_Database_Cmd ├── check ├── Usage.md └── gen.py ├── 2018_hw5-Data_Structures ├── check ├── Usage.md └── gen.py ├── 2018_hw4-Memory_Manager ├── check ├── Usage.md └── gen.py ├── 2018_hw7-Hash_and_Heap ├── check ├── Usage.md └── gen.py └── README.md /2018_hw6-Circuit_Parser/aag_files/sim04.aag: -------------------------------------------------------------------------------- 1 | aag 1 1 0 1 0 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash10.aag: -------------------------------------------------------------------------------- 1 | aag 3 2 0 1 1 2 | 2 3 | 4 4 | 6 5 | 6 2 0 6 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/opt01.aag: -------------------------------------------------------------------------------- 1 | aag 2 1 0 1 1 2 | 2 3 | 4 4 | 4 1 2 5 | c 6 | PO(3) = PI(1) 7 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/opt03.aag: -------------------------------------------------------------------------------- 1 | aag 2 1 0 1 1 2 | 2 3 | 4 4 | 4 2 2 5 | c 6 | PO(3) = PI(1) 7 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim11.aag: -------------------------------------------------------------------------------- 1 | aag 4 2 0 2 2 2 | 2 3 | 4 4 | 6 5 | 8 6 | 6 2 4 7 | 8 3 4 8 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/opt02.aag: -------------------------------------------------------------------------------- 1 | aag 2 1 0 1 1 2 | 2 3 | 4 4 | 4 0 2 5 | c 6 | PO(3) = CONST(0) 7 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/opt04.aag: -------------------------------------------------------------------------------- 1 | aag 2 1 0 1 1 2 | 2 3 | 4 4 | 4 3 2 5 | c 6 | PO(3) = CONST(0) 7 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/img/p_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bchao1/dsnp_test_cases/HEAD/2018_hw6-Circuit_Parser/img/p_1.PNG -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/img/opt04.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bchao1/dsnp_test_cases/HEAD/2018_hw6-Circuit_Parser/img/opt04.PNG -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/img/ref-bug.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bchao1/dsnp_test_cases/HEAD/2018_hw6-Circuit_Parser/img/ref-bug.PNG -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim08.aag: -------------------------------------------------------------------------------- 1 | aag 8 2 0 2 5 2 | 2 3 | 4 4 | 12 5 | 14 6 | 10 3 5 7 | 8 2 4 8 | 6 4 2 9 | 12 8 10 10 | 14 10 6 11 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash08.aag: -------------------------------------------------------------------------------- 1 | aag 5 2 0 1 3 2 | 2 3 | 4 4 | 10 5 | 6 2 4 6 | 8 5 3 7 | 10 6 8 8 | c 9 | 3 cannot merge 4 10 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash09.aag: -------------------------------------------------------------------------------- 1 | aag 7 2 0 2 5 2 | 2 3 | 4 4 | 12 5 | 14 6 | 10 3 5 7 | 8 2 4 8 | 6 4 2 9 | 12 8 10 10 | 14 10 6 11 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash07.aag: -------------------------------------------------------------------------------- 1 | aag 5 2 0 1 3 2 | 2 3 | 4 4 | 10 5 | 6 2 4 6 | 8 4 2 7 | 10 6 8 8 | c 9 | 3 merging 4 10 | 5 can be removed... 11 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash01.aag: -------------------------------------------------------------------------------- 1 | aag 7 3 0 2 4 2 | 2 3 | 4 4 | 6 5 | 12 6 | 14 7 | 8 2 6 8 | 10 6 2 9 | 12 8 4 10 | 14 4 10 11 | c 12 | 4 merging 5 13 | 6 merging 7 14 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash02.aag: -------------------------------------------------------------------------------- 1 | aag 7 3 0 2 4 2 | 2 3 | 4 4 | 6 5 | 12 6 | 14 7 | 8 3 6 8 | 10 6 3 9 | 12 8 5 10 | 14 4 11 11 | c 12 | 4 merging 5 13 | 6 cannot merge 7 14 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/test2.aag: -------------------------------------------------------------------------------- 1 | aag 16 5 0 3 2 2 | 2 3 | 4 4 | 6 5 | 8 6 | 10 7 | 0 8 | 14 9 | 24 10 | 14 4 6 11 | 24 10 8 12 | c 13 | AAG output by Chung-Yang (Ric) Huang 14 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash04.aag: -------------------------------------------------------------------------------- 1 | aag 7 3 0 2 4 2 | 2 3 | 4 4 | 6 5 | 12 6 | 14 7 | 8 6 3 8 | 10 2 7 9 | 12 8 5 10 | 14 4 10 11 | c 12 | 4 cannot merge 5 13 | 6 cannot merge 7 14 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C17.aag: -------------------------------------------------------------------------------- 1 | aag 12 5 0 2 7 2 | 2 3 | 8 4 | 4 5 | 10 6 | 20 7 | 19 8 | 25 9 | 6 2 4 10 | 12 4 10 11 | 14 13 13 12 | 16 8 15 13 | 22 15 20 14 | 18 7 17 15 | 24 17 23 16 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash03.aag: -------------------------------------------------------------------------------- 1 | aag 7 3 0 2 4 2 | 2 3 | 4 4 | 6 5 | 12 6 | 14 7 | 8 3 6 8 | 10 7 2 9 | 12 8 4 10 | 14 4 10 11 | c 12 | Note: 4 cannot merge 5 13 | Note: 6 cannot merge 7 14 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim01.aag: -------------------------------------------------------------------------------- 1 | aag 8 3 0 2 5 2 | 2 3 | 4 4 | 6 5 | 13 6 | 16 7 | 8 2 4 8 | 10 2 6 9 | 12 9 11 10 | 14 5 7 11 | 16 15 2 12 | i0 a 13 | i1 b 14 | i2 c 15 | c 16 | ab + ac = a(b + c) 17 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim02.aag: -------------------------------------------------------------------------------- 1 | aag 8 3 0 2 5 2 | 2 3 | 4 4 | 6 5 | 13 6 | 16 7 | 8 2 4 8 | 10 2 6 9 | 12 9 11 10 | 14 5 7 11 | 16 15 2 12 | i0 a 13 | i1 b 14 | i2 c 15 | c 16 | ab + ac = a(b + c) 17 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim03.aag: -------------------------------------------------------------------------------- 1 | aag 8 3 0 2 5 2 | 2 3 | 4 4 | 6 5 | 13 6 | 16 7 | 8 2 4 8 | 10 2 6 9 | 12 9 11 10 | 14 5 7 11 | 16 15 2 12 | i0 a 13 | i1 b 14 | i2 c 15 | c 16 | ab + ac = a(b + c) 17 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash06.aag: -------------------------------------------------------------------------------- 1 | aag 10 2 0 1 6 2 | 2 3 | 4 4 | 6 5 | 6 2 4 6 | 10 1 2 7 | 14 12 10 8 | 16 10 6 9 | 18 14 16 10 | 20 14 16 11 | c 12 | Gates 9 and 10 are not in DFS list, so thay won't be merged!! 13 | 14 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/opt06.aag: -------------------------------------------------------------------------------- 1 | aag 14 2 0 1 12 2 | 2 3 | 4 4 | 28 5 | 28 22 27 6 | 26 21 24 7 | 20 12 14 8 | 22 12 16 9 | 24 12 18 10 | 12 11 16 11 | 10 0 8 12 | 8 6 1 13 | 16 15 15 14 | 18 14 14 15 | 6 0 2 16 | 14 2 5 17 | c 18 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim05.aag: -------------------------------------------------------------------------------- 1 | aag 14 2 0 1 12 2 | 2 3 | 4 4 | 28 5 | 28 22 27 6 | 26 21 24 7 | 20 12 14 8 | 22 12 16 9 | 24 12 18 10 | 12 11 16 11 | 10 0 8 12 | 8 6 1 13 | 16 15 15 14 | 18 14 14 15 | 6 0 2 16 | 14 2 5 17 | c 18 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/strash05.aag: -------------------------------------------------------------------------------- 1 | aag 8 3 0 2 4 2 | 2 3 | 4 4 | 6 5 | 12 6 | 14 7 | 8 2 16 8 | 10 16 2 9 | 12 8 4 10 | 14 4 10 11 | c 12 | Note: 4 and 5 has the same floating fanin, so they canbe merged 13 | 4 merging 5 14 | 6 merging 7 15 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/cirp-n.aag: -------------------------------------------------------------------------------- 1 | aag 23 4 0 2 6 2 | 2 3 | 4 4 | 12 5 | 14 6 | 45 7 | 47 8 | 20 2 0 9 | 22 3 12 10 | 32 4 23 11 | 44 21 33 12 | 38 31 14 13 | 46 33 39 14 | i0 1GAT 15 | i1 2GAT 16 | i2 6GAT 17 | i3 7GAT 18 | o0 22GAT$PO 19 | o1 23GAT$PO 20 | -------------------------------------------------------------------------------- /2018_hw3-Json_Database_Cmd/check: -------------------------------------------------------------------------------- 1 | echo "[ Generating test cases ]" 2 | python3 gen.py $2 3 | echo "[ Running your program ]" 4 | ./mydb out.mine 5 | echo "[ Running reference program ]" 6 | ./mydb-$1 out.ref 7 | echo "[ Checking results ]" 8 | colordiff out.mine out.ref 9 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/updates/check: -------------------------------------------------------------------------------- 1 | echo "=== Generating test cases ===" 2 | python3 gen.py $1 3 | echo "=== Running your program ===" 4 | ./cirTest out.mine 5 | echo "=== Running ref program ===" 6 | ./cirTest-$2 out.ref 7 | echo "=== Comparing results ===" 8 | colordiff out.mine out.ref 9 | -------------------------------------------------------------------------------- /2018_hw5-Data_Structures/check: -------------------------------------------------------------------------------- 1 | echo "[ Generating test cases ]" 2 | python3 gen.py $2 3 | echo "[ Running your program ]" 4 | ./adtTest.$1 out.mine 5 | echo "[ Running reference program ]" 6 | ./adtTest-$3.$1 out.ref 7 | echo "[ Checking results ]" 8 | colordiff out.mine out.ref 9 | 10 | -------------------------------------------------------------------------------- /2018_hw4-Memory_Manager/check: -------------------------------------------------------------------------------- 1 | echo "=== Generating test cases ===" 2 | python3 gen.py $2 3 | echo "=== Running your code ===" 4 | ./memTest out.mine 5 | echo "=== Runnning reference code ===" 6 | ./memTest-$1 out.ref 7 | echo "=== Comparing results (using memTest-$1) ===" 8 | colordiff out.mine out.ref 9 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/check: -------------------------------------------------------------------------------- 1 | echo "=== Generating test cases ===" 2 | python3 gen.py $1 $2 3 | echo "=== Running your program ===" 4 | ./cirTest out.mine 5 | echo "=== Running reference program ===" 6 | ./cirTest-$3 out.ref 7 | echo "=== Checking results ===" 8 | colordiff out.mine out.ref 9 | 10 | -------------------------------------------------------------------------------- /2018_hw7-Hash_and_Heap/check: -------------------------------------------------------------------------------- 1 | echo "=== Generating test cases ===" 2 | python3 gen.py 3 | echo "=== Running your program ===" 4 | ./taskMgr out.mine 5 | echo "=== Running reference program ===" 6 | ./taskMgr-$1 out.ref 7 | echo "=== Comparing results ===" 8 | colordiff out.mine out.ref | tee diff 9 | 10 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/opt05.aag: -------------------------------------------------------------------------------- 1 | aag 12 5 0 3 7 2 | 2 3 | 4 4 | 6 5 | 8 6 | 10 7 | 18 8 | 23 9 | 24 10 | 12 1 3 11 | 14 4 6 12 | 16 12 2 13 | 18 16 14 14 | 20 8 17 15 | 22 15 1 16 | 24 10 20 17 | c 18 | [0] PO 13 0 19 | [1] PI 2 20 | [2] PI 3 21 | [3] AIG 7 2 3 22 | [4] PO 14 7 23 | [5] PI 5 24 | [6] PI 4 25 | [7] AIG 12 5 4 26 | [8] PO 15 12 27 | 28 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/check_basic: -------------------------------------------------------------------------------- 1 | echo "=== Generating basic test cases ===" 2 | python3 gen_basic.py 3 | for dofile in "basic_dofiles"/* 4 | do 5 | echo "=== Checking dofile $dofile ===" 6 | ./cirTest <$dofile &>$dofile.out.mine 7 | ./cirTest-$1 <$dofile &>$dofile.out.ref 8 | colordiff $dofile.out.mine $dofile.out.ref 9 | mv $dofile.out.mine ./basic_outputs/mine/ 10 | mv $dofile.out.ref ./basic_outputs/ref/ 11 | done 12 | 13 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/gen_basic.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | 4 | aag_dir = './aag_files' 5 | do_dir = './basic_dofiles' 6 | out_dir = './basic_outputs' 7 | 8 | if not os.path.exists(do_dir): 9 | os.mkdir(do_dir) 10 | if not os.path.exists(os.path.join(out_dir, 'mine')): 11 | os.makedirs(os.path.join(out_dir, 'mine')) 12 | if not os.path.exists(os.path.join(out_dir, 'ref')): 13 | os.makedirs(os.path.join(out_dir, 'ref')) 14 | 15 | aag_files = os.listdir(aag_dir) 16 | 17 | for f in aag_files: 18 | s = "" 19 | s += ("cirread " + os.path.join(aag_dir, f) + '\n') 20 | 21 | s += "cirp -s\n" 22 | s += "cirp -n\n" 23 | s += "cirp -pi\n" 24 | s += "cirp -po\n" 25 | s += "cirp -fl\n" 26 | s += "cirwrite\n" 27 | 28 | s += "usage\n" 29 | s += "q -f\n" 30 | with open(os.path.join(do_dir, f + '-do'), 'w') as out: 31 | out.write(s) 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DSnP Test Cases 2 | ## Why 3 | Widely regarded as a must-take course in NTUEE, Data Structures and Programming, a.k.a **DSnP** has coding assignments that boasts the following features: 4 | 5 | - Long spec 6 | - Long code 7 | - TOO MANY error messages to handle 8 | 9 | Debugging is no doubt a trial for all students. To ease the process, I've decided to collect custom test cases (single files or scripts) that is available to all students that may enroll in this course in the future. 10 | ## 2018 DSnP Assignments (~12/8/2018) 11 | - hw1: JSON File Parser. 12 | - hw2: Command Line Parser. 13 | - hw3: JSON Database Manager + Command Line. 14 | - hw4: Memory Manager. 15 | - hw5: Data Structure Implementations: Array, Linked List, and Binary Search Tree. 16 | - hw6: Circuits and Graph Traversals. 17 | - hw7: Data Structure Implementations: Hash Table and Heap. 18 | *** 19 | PRs are welcome. -------------------------------------------------------------------------------- /2018_hw7-Hash_and_Heap/Usage.md: -------------------------------------------------------------------------------- 1 | # Usage 2 | ## Requirements 3 | - `python3` 4 | - `numpy` 5 | - `colordiff` 6 | 7 | *** 8 | To install: 9 | ``` 10 | sudo apt install python3 11 | sudo apt install colordiff 12 | pip3 install numpy 13 | ``` 14 | ## How to run test 15 | 1. Put the following files in the same folder: 16 | - Your executable (eg. `taskMgr`) 17 | - The reference program (eg. `taskMgr-linux16`) 18 | - Bash script file `check` 19 | - Test case generator `gen.py` 20 | 2. Go to the folder, on the terminal type: 21 | ``` 22 | $ ./check [platform] 23 | ``` 24 | For example: 25 | ``` 26 | $ ./check linux16 27 | ``` 28 | This would generate a test case file `mydo`, run your code, run the reference code, and compare the results. 29 | 30 | Output files are `out.mine` and `out.ref` for your reference. The compared results can be viewed in the log file `diff`. -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/gen.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import numpy as np 4 | from numpy.random import randint 5 | 6 | if len(sys.argv) != 3: 7 | print("Invalid number of arguments!") 8 | print("Usage: python3 ") 9 | exit() 10 | 11 | aag_dir = './aag_files' 12 | aag_file = os.path.join(aag_dir, sys.argv[1]) 13 | 14 | total_gates = 0 15 | max_levels = 20 16 | num_test = int(sys.argv[2]) 17 | 18 | with open(aag_file, 'r') as file: 19 | header = file.readline().strip().split(' ') 20 | total_gates = int(header[1]) + int(header[4]) 21 | 22 | dofile = "" 23 | dofile += "cirread {}\n".format(aag_file) 24 | dofile += "cirp -n\n" 25 | dofile += "cirp -pi\n" 26 | dofile += "cirp -po\n" 27 | dofile += "cirp -fl\n" 28 | dofile += "cirwrite\n" 29 | 30 | for _ in range(0, num_test): 31 | fan_type = 'fanin' #if np.random.uniform() > 0.5 else 'fanout' 32 | dofile += "cirgate {} -{} {}\n".format(randint(0, total_gates), fan_type, randint(0, max_levels)) 33 | 34 | dofile += "usage\n" 35 | dofile += 'q -f\n' 36 | 37 | with open('mydo', 'w') as f: 38 | f.write(dofile) -------------------------------------------------------------------------------- /2018_hw5-Data_Structures/Usage.md: -------------------------------------------------------------------------------- 1 | # Usage 2 | ## Requirements 3 | - `python3` 4 | - `numpy` 5 | - `colordiff` 6 | 7 | *** 8 | To install: 9 | ``` 10 | sudo apt install python3 11 | sudo apt install colordiff 12 | pip3 install numpy 13 | ``` 14 | ## How to run test 15 | 1. Put the following files in the same folder: 16 | - Your executable (eg. `adtTest.bst`) 17 | - The reference program (eg. `adtTest-linux16.bst`) 18 | - Bash script file `check` 19 | - Test case generator `gen.py` 20 | 2. Go to the folder, on the terminal type: 21 | ``` 22 | $ ./check [data structure] [Number of test cases] [platform] 23 | ``` 24 | For example: 25 | ``` 26 | $ ./check bst 1000 linux16 27 | ``` 28 | This would generate a test case file `mydo` of 1000 lines, run your program `adtTest.bst`, run the reference program `adtTest-linux16.bst`, and compare the results. 29 | 30 | Output files are `out.mine` and `out.ref` for your reference. 31 | 3. Data structure flag names: 32 | - Dynamic array: `array` 33 | - Doubly linked list: `dlist` 34 | - Binary Search Tree: `bst` 35 | -------------------------------------------------------------------------------- /2018_hw3-Json_Database_Cmd/Usage.md: -------------------------------------------------------------------------------- 1 | # Usage 2 | ## Requirements 3 | - `python3` 4 | - `numpy` 5 | - `colordiff` 6 | 7 | *** 8 | To install: 9 | ``` 10 | sudo apt install python3 11 | sudo apt install colordiff 12 | pip3 install numpy 13 | ``` 14 | ## How to run test 15 | 1. Put the following files in the same folder: 16 | - Your executable (eg. `mydb`) 17 | - The reference program (eg. `mydb-linux16`) 18 | - Bash script file `check` 19 | - Test case generator `gen.py` 20 | 2. Go to the folder, on the terminal type: 21 | ``` 22 | $ ./check [platform] [Number of test cases] 23 | ``` 24 | For example: 25 | ``` 26 | $ ./check linux16 1000 27 | ``` 28 | This would generate a test case file `mydo` of 1000 lines, run your program, run the reference program, and compare the results. 29 | 30 | Output files are `out.mine` and `out.ref` for your reference. 31 | 3. A folder `tests` will be created after running `./check`. It contains 10 randomly generated json files named `test1.json` ~ `test10.json`for testing purposes. 32 | 33 | ## Notes 34 | `Tab` command tests are currently not supported. Feel free to submit your `Tab` command test cases. -------------------------------------------------------------------------------- /2018_hw4-Memory_Manager/Usage.md: -------------------------------------------------------------------------------- 1 | # Usage 2 | ## Requirements 3 | - `python3` 4 | - `numpy` 5 | - `colordiff` 6 | 7 | *** 8 | To install: 9 | ``` 10 | sudo apt install python3 11 | sudo apt install colordiff 12 | pip3 install numpy 13 | ``` 14 | ## How to run test 15 | 1. Put the following files in the same folder: 16 | - Your executable (eg. `memTest`) 17 | - The reference program (eg. `memTest-linux16`) 18 | - Bash script file `check` 19 | - Test case generator `gen.py` 20 | 2. Go to the folder, on the terminal type: 21 | ``` 22 | $ ./check [platform] [Number of test cases] 23 | ``` 24 | For example: 25 | ``` 26 | $ ./check linux16 1000 27 | ``` 28 | This would generate a test case file `mydo` of 1000 lines, run your code, run the reference code, and compare the results. 29 | 30 | Output files are `out.mine` and `out.ref` for your reference. 31 | 32 | ## Customize your test cases (modify gen.py) 33 | 34 | - *Normal testing*: Should contain a balanced amount of `new, delete, print, reset` commands and some illegal commands. 35 | 36 | - *Extensive testing of error messages*: The probability of illegal commands should be high. 37 | 38 | - *Extensive testing of recycle list*: A majority of `mtnew` commands should allocate small number of arrays of varying size (in order to create recyclce list of different indices), and `mtdelete` randomly deletes large number of arrays. 39 | -------------------------------------------------------------------------------- /2018_hw7-Hash_and_Heap/gen.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import numpy.random as random 3 | from numpy.random import randint 4 | 5 | task_nodes = [] 6 | 7 | def get_rand_key(max_len = 6): 8 | return ''.join([chr(ord('a') + randint(26)) for _ in range(max_len)]) 9 | 10 | def get_rand_value(low = 1, high = 100000): 11 | return randint(low, high + 1) 12 | 13 | def get_taska_cmd(): 14 | """ Assign load to minimum task node. """ 15 | return 'taska -r {} {}\n'.format(str(randint(1, 101)), str(randint(1000, 10000))) 16 | 17 | def get_taski_cmd(): 18 | """ Initialize task manager. """ 19 | return 'taski {}\n'.format(randint(10000, 20000)) 20 | 21 | def get_taskn_cmd(): 22 | """ Insert new task nodes. """ 23 | key, value = get_rand_key(), get_rand_value() 24 | task_nodes.append(key) 25 | return 'taskn -n {} {}\n'.format(key, value) 26 | 27 | def get_taskq_cmd(): 28 | """ Query task node. """ 29 | args_list = ['str', 'ha', 'he', 'min'] 30 | p = [0.25, 0.25, 0.25, 0.25] 31 | arg = random.choice(args_list, p = p) 32 | if arg == 'str': 33 | if task_nodes == []: 34 | return 'taskq {}\n'.format(get_rand_key()) 35 | key = random.choice(task_nodes) if random.uniform() < 0.8 else get_rand_key() 36 | return 'taskq {}\n'.format(key) 37 | else: 38 | return 'taskq -{}\n'.format(arg) 39 | 40 | def get_taskr_cmd(): 41 | """ Remove task node. """ 42 | if task_nodes == []: 43 | return 'taskr -n {}\n'.format(get_rand_key()) 44 | key = random.choice(task_nodes) if random.uniform() < 0.8 else get_rand_key() 45 | return 'taskr -n {}\n'.format(key) 46 | 47 | cmd_func = [get_taska_cmd, get_taskn_cmd, get_taskq_cmd, get_taskr_cmd] 48 | cmd_prob = [0.2, 0.3, 0.3, 0.2] 49 | 50 | dofile = "" 51 | dofile += get_taski_cmd() 52 | 53 | num_tests = 10000 54 | for _ in range(num_tests): 55 | dofile += random.choice(cmd_func, p = cmd_prob)() 56 | dofile += 'usage\nq -f\n' 57 | with open('mydo', 'w') as file: 58 | file.write(dofile) 59 | -------------------------------------------------------------------------------- /2018_hw5-Data_Structures/gen.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import numpy as np 3 | from numpy.random import uniform 4 | from numpy.random import randint 5 | 6 | if len(sys.argv) < 2: 7 | print("Illegal number of arguments!") 8 | exit() 9 | 10 | test_cases = int(sys.argv[1]) 11 | 12 | cmd_list = ['adta', 'adtd', 'adtq', 'adtr', 'adtp'] # adtreset and adtsort doensn't need to be checked frequently 13 | cmd_prob = [0.35, 0.35, 0.05, 0.05, 0.2] 14 | adt = [] 15 | 16 | max_strlen = 5 17 | 18 | def get_random_str(): 19 | return ''.join([chr(randint(97, 123)) for _ in range(1, max_strlen + 1)]) 20 | 21 | def get_adt_item(): 22 | if uniform() < 0.2: 23 | return get_random_str() 24 | else: 25 | idx = randint(0, len(adt) + 1) 26 | if idx < len(adt): 27 | return adt[idx] 28 | else: 29 | return get_random_str() 30 | 31 | def get_item_idx(): 32 | bias = int(0.001 * len(adt)) 33 | return randint(-bias, len(adt) + bias + 1) 34 | 35 | def get_adtq_cmd(): 36 | return 'adtq ' + get_adt_item() 37 | 38 | def get_adtp_cmd(): 39 | cmd = 'adtp' 40 | if uniform() < 0.3: 41 | cmd += ' -r' 42 | else: 43 | if uniform() < 0.5: 44 | cmd += (' ' + str(get_item_idx())) 45 | return cmd 46 | 47 | def get_adta_cmd(): 48 | cmd = 'adta' 49 | if uniform() < 0.2: 50 | s = get_random_str() 51 | cmd += (' -s ' + s) 52 | adt.append(s) 53 | else: 54 | n = 10 * randint(1, 100) 55 | cmd += (' -r ' + str(n)) 56 | for _ in range(n): 57 | adt.append(get_random_str()) 58 | return cmd 59 | 60 | def get_adtd_cmd(): 61 | cmd = 'adtd' 62 | opts = [' -a', ' -s', ' -r', ' -f', ' -b'] 63 | opt_prob = [0.1, 0.1, 0.4, 0.2, 0.2] 64 | opt = np.random.choice(opts, p = opt_prob) 65 | if opt == ' -a': 66 | return cmd + opt 67 | elif opt == ' -s': 68 | return cmd + opt + ' ' + get_adt_item() 69 | else: 70 | return cmd + opt + ' ' + str(randint(1, int(1.001 * len(adt) + 2))) 71 | 72 | def get_adtr_cmd(): 73 | cmd = 'adtr' 74 | strlen = str(randint(1, 11)) 75 | cmd += (' ' + strlen) 76 | max_strlen = strlen 77 | return cmd 78 | 79 | 80 | dofile = "" 81 | for _ in range(test_cases): 82 | cmd = np.random.choice(cmd_list, p = cmd_prob) 83 | if cmd == 'adta': 84 | dofile += get_adta_cmd() 85 | elif cmd == 'adtd': 86 | dofile += get_adtd_cmd() 87 | elif cmd == 'adtq': 88 | dofile += get_adtq_cmd() 89 | elif cmd == 'adtr': 90 | dofile += get_adtr_cmd() 91 | else: 92 | dofile += get_adtp_cmd() 93 | dofile += '\n' 94 | if uniform() < 0.01: 95 | dofile += 'adts\n' 96 | 97 | dofile += 'usage\n' 98 | dofile += 'q -f\n' 99 | with open("mydo", 'w') as file: 100 | file.write(dofile) 101 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/Usage.md: -------------------------------------------------------------------------------- 1 | # Usage (Version 0) 2 | ## Requirements 3 | - `python3` 4 | - `numpy` 5 | - `colordiff` 6 | 7 | *** 8 | To install: 9 | ``` 10 | sudo apt install python3 11 | sudo apt install colordiff 12 | pip3 install numpy 13 | ``` 14 | ## How to run test 15 | 1. Put the following files in the same folder: 16 | - Your executable (eg. `cirTest`) 17 | - The reference program (eg. `cirTest-linux16`) 18 | - Bash script file `check`, `check_basic` 19 | - Test case generator `gen.py`, `gen_basic.py` 20 | - The .aag files folder `aag_files` 21 | ### Basic 22 | 1. It is advised that you first check all the basic commands listed below to ensure that the circuit is constructed correctly. 23 | ``` 24 | cirread 25 | cirprint -n 26 | cirprint -pi 27 | cirprint -po 28 | cirprint -fl 29 | cirwrite 30 | ``` 31 | 32 | 2. Go to the folder, on the terminal type: 33 | ``` 34 | $ ./check_basic [platform] 35 | ``` 36 | For example: 37 | ``` 38 | $ ./check_basic linux16 39 | ``` 40 | This would create basic dofiles (consisting of basic commands listed above) of all `.aag` files stored in the `basic_dofiles` folder. Outputs of your program and the reference program is then compared. 41 | 42 | The output files are stored in the folder `basic_outputs` for your reference. 43 | 44 | ### Intermediate 45 | 1. Add checking for `fanin` in `cirgate` command. 46 | 2. Go to the folder, on the terminal type: 47 | ``` 48 | $ ./check [aag file] [number of test cases] [platform] 49 | ``` 50 | For example: 51 | ``` 52 | $ ./check C432.aag 1000 linux16 53 | ``` 54 | This would generate a dofile `mydo` with basic testing and 1000 `cirgate -fanin` commands on the circuit defined in `C432.aag`. It then runs your program, runs the reference program, and compares the results. 55 | 56 | Outputs are `out.mine` and `out.ref` for your reference. 57 | 58 | ### Added Feature : .aag file generator 59 | Put your program and the ref program in `updates` for testing. 60 | 61 | 1. Added a random .aag file generator and dofile generator (supports all commands). 62 | 2. Go to the folder, on the terminal type: 63 | ``` 64 | $ ./check [number of test cases] [platform] 65 | ``` 66 | For example: 67 | ``` 68 | $ ./check 1000 linux16 69 | ``` 70 | This would generate a `.aag` file `test.aag`, a dofile `mydo` based on `test.aag`. It then runs your program, runs the reference program, and compares the results. 71 | 72 | You can specify your own parameters in `gen.py`. 73 | #### What is `p_base` 74 | `p_base` determines the *flattness* of the circuit generated. The smaller `p_base`, the flatter the circuit. Refer to https://byronhsu.github.io/AAG-Visualizer/ for a great visualization. 75 | 76 | 77 | ### Known bugs in reference program 78 | - If a gate have both inverting an non-inverting fanouts, the reference program is unable to distinguish the fanouts. 79 | 80 | |Circuit|Reference output| 81 | |-------|----------------| 82 | |![circuit](./img/opt04.PNG)|![ref](./img/ref-bug.PNG) -------------------------------------------------------------------------------- /2018_hw4-Memory_Manager/gen.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import numpy as np 3 | from numpy.random import uniform 4 | from numpy.random import randint 5 | from numpy.random import shuffle 6 | 7 | if len(sys.argv) < 2: 8 | print("Illegal number of arguments!") 9 | exit() 10 | 11 | test = int(sys.argv[1]) 12 | error_prob = 0 # Specify probability of illegal commands 13 | 14 | cmd_list = ['mtn', 'mtd', 'mtp'] # `reset` command doesn't need to be extensively tested. 15 | probs = [0.5, 0.3, 0.2] # Specify probability of different commands. 16 | 17 | def create_error(p = error_prob): 18 | """ Specify the probability to create an invalid option """ 19 | return uniform() < p 20 | 21 | def illegal_opt(): 22 | """ Return a random sequence of characters """ 23 | return ''.join([chr(randint(65, 126)) for _ in range(int(5 * uniform()))]) 24 | 25 | def num_obj_opt(low, high): 26 | """ Return an integer in range [low, high) indicating number of objects 27 | to allocate """ 28 | return str(randint(low, high)) 29 | 30 | def special_opt(opt_type, max_n): 31 | """ Returns three kinds of options, specified by 'opt_type'. 32 | Args: 33 | type: Option type from ['-r', '-i', '-a'] 34 | n: random integer range 35 | Returns: 36 | opt: a valid or invalid option. 37 | """ 38 | 39 | opt = opt_type + ' ' # Base command 40 | if create_error(error_prob): 41 | if uniform() > 0.5: 42 | opt += str(illegal_opt()) # Add an illegal option, ERROR! 43 | else: 44 | pass # No option specified, ERROR! 45 | else: # Add an integer option, (Can be 0 or negative -> ERROR!) 46 | opt += str(randint(-int(0.2 * max_n), max_n)) 47 | return opt 48 | 49 | def get_mtn_cmd(): 50 | cmd = 'mtn' 51 | if create_error(error_prob * 0.1): # No options specified, ERROR! 52 | return cmd 53 | if create_error(error_prob * 0.1): 54 | return ' '.join([cmd, illegal_opt()]) # Specify an illegal option after 'mtn', ERROR! 55 | 56 | opts = [num_obj_opt(1, 10) if not create_error(error_prob) else '', \ 57 | illegal_opt() if create_error(error_prob) else '', \ 58 | special_opt('-a', 1024) if uniform() > 0.2 else '',] 59 | 60 | opts = list(filter(lambda opt: opt != '', opts)) 61 | shuffle(opts) 62 | return cmd + ' ' + ' '.join(opts) 63 | 64 | def get_mtd_cmd(): 65 | cmd = 'mtd' 66 | if create_error(error_prob * 0.1): # No options specified, ERROR! 67 | return cmd 68 | if create_error(error_prob * 0.1): 69 | return ' '.join([cmd, illegal_opt()]) # Specify an illegal option after 'mtn', ERROR! 70 | 71 | opts = [(special_opt('-r', 10000) if uniform() > 0.3 else special_opt('-i', 1000)) \ 72 | if not create_error(error_prob) else '', 73 | illegal_opt() if create_error(error_prob) else '', \ 74 | '-a' if uniform() > 0.1 else ''] 75 | 76 | opts = list(filter(lambda opt: opt != '', opts)) 77 | shuffle(opts) 78 | return cmd + ' ' + ' '.join(opts) 79 | 80 | dofile = "" 81 | for _ in range(test): 82 | 83 | cmd = np.random.choice(cmd_list) 84 | if cmd == 'mtn': 85 | line = get_mtn_cmd() 86 | elif cmd == 'mtd': 87 | line = get_mtd_cmd() 88 | else: 89 | line = cmd 90 | 91 | line += '\n' 92 | dofile += line 93 | 94 | dofile += 'mtr 0\nmtr 65536\nmtr 100\n' # Test reset command. One check is sufficient. 95 | dofile += 'usage -all\n' 96 | dofile += "q -f\n" 97 | 98 | with open("mydo", 'w') as file: 99 | file.write(dofile) -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/updates/gen.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import copy 4 | import numpy as np 5 | import numpy.random as random 6 | from numpy.random import randint 7 | 8 | def get_prob(levels, base): 9 | base = float(base) 10 | l = np.arange(0, levels) 11 | p = base ** l 12 | return p / np.sum(p) 13 | 14 | def get_gate_ids(max_id): 15 | gate_ids = list(range(1, max_id + 1)) 16 | np.random.shuffle(gate_ids) 17 | return gate_ids 18 | 19 | def construct_circuit(levels, level_gates, p_base): 20 | circuit = [[] for _ in range(randint(*levels) + 1)] 21 | 22 | pi_n, aig_n = 0, 0 23 | for i in range(len(circuit)): 24 | num_gates = randint(*level_gates) 25 | if i == 0: 26 | pi_n = num_gates 27 | else: 28 | aig_n += num_gates 29 | for _ in range(num_gates): 30 | circuit[i].append(gate_ids.pop()) 31 | 32 | po_list = [] 33 | output_prob = get_prob(len(circuit), p_base) 34 | for i in range(len(circuit)): 35 | if i == len(circuit) - 1: 36 | for g in circuit[i]: 37 | gate_id = 2 * g 38 | if random.uniform() > 0.5: 39 | gate_id += 1 40 | po_list.append(gate_id) 41 | else: 42 | if random.uniform() < output_prob[i]: 43 | gates = copy.copy(circuit[i]) 44 | random.shuffle(gates) 45 | out_num = randint(len(gates)) 46 | for j in range(out_num): 47 | gate_id = 2 * gates[j] 48 | if random.uniform() > 0.5: 49 | gate_id += 1 50 | po_list.append(gate_id) 51 | circuit += [po_list] 52 | return circuit, (max_id, pi_n, 0, len(po_list), aig_n) 53 | 54 | def gen_aag(circuit, header, p_base): 55 | aag_file = "aag {} {} {} {} {}\n".format(*header) 56 | for g in circuit[0]: 57 | aag_file += "{}\n".format(2 * g) 58 | for g in circuit[-1]: 59 | aag_file += "{}\n".format(g) 60 | for i in range(1, len(circuit) - 1): 61 | for g in circuit[i]: 62 | aag_file += "{}".format(2 * g) 63 | for _ in range(2): 64 | input_level = random.choice(range(i), p = get_prob(i, p_base)) 65 | input = 2 * random.choice(circuit[input_level]) 66 | if random.uniform() > 0.5: 67 | input += 1 68 | aag_file += " {}".format(input) 69 | aag_file += '\n' 70 | 71 | with open('test.aag', 'w') as file: 72 | file.write(aag_file) 73 | 74 | def gen_dofile(circuit, num_test): 75 | dofile = "" 76 | all_gates = sum(circuit, []) 77 | 78 | dofile += "cirr test.aag\n" 79 | dofile += "cirp -s\n" 80 | dofile += "cirp -n\n" 81 | dofile += "cirp -pi\n" 82 | dofile += "cirp -po\n" 83 | dofile += "cirp -fl\n" 84 | dofile += "cirwrite\n" 85 | 86 | for _ in range(0, num_test): 87 | fan_type = 'fanin' if random.uniform() > 0.5 else 'fanout' 88 | gate_id = random.randint(len(all_gates)) 89 | dofile += "cirgate {} -{} {}\n".format(all_gates[gate_id], fan_type, randint(0, len(circuit))) 90 | dofile += "usage\nq -f\n" 91 | with open('mydo', 'w') as file: 92 | file.write(dofile) 93 | 94 | if __name__ == "__main__": 95 | if len(sys.argv) != 2: 96 | print("Invalid number of arguments!") 97 | exit() 98 | # Configs 99 | p_base = random.uniform(1, 3) # Determines the "flattness" of the circuit 100 | max_id = 500 # Maximum gate id 101 | levels = (49, 50) # Range of circuit levels 102 | level_gates = (10, 11) # Range of number of gates in each level 103 | num_test = int(sys.argv[1]) # Number of test cases 104 | 105 | gate_ids = get_gate_ids(max_id) # Randomized list of gate ids 106 | circuit, header = construct_circuit(levels, level_gates, p_base) 107 | gen_aag(circuit, header, p_base) 108 | gen_dofile(circuit, num_test) -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C432_r.aag: -------------------------------------------------------------------------------- 1 | aag 342 36 0 7 306 2 | 6 3 | 304 4 | 128 5 | 278 6 | 372 7 | 40 8 | 396 9 | 42 10 | 48 11 | 222 12 | 32 13 | 362 14 | 34 15 | 230 16 | 24 17 | 352 18 | 26 19 | 238 20 | 50 21 | 16 22 | 342 23 | 18 24 | 246 25 | 8 26 | 332 27 | 10 28 | 254 29 | 2 30 | 322 31 | 72 32 | 262 33 | 4 34 | 212 35 | 314 36 | 92 37 | 270 38 | 211 39 | 303 40 | 455 41 | 685 42 | 517 43 | 615 44 | 669 45 | 54 49 52 46 | 46 41 44 47 | 38 33 36 48 | 30 25 28 49 | 22 17 20 50 | 14 9 12 51 | 196 71 91 52 | 198 111 196 53 | 200 127 198 54 | 202 147 200 55 | 204 163 202 56 | 206 179 204 57 | 208 195 206 58 | 210 208 208 59 | 218 52 213 60 | 220 217 218 61 | 226 44 223 62 | 228 225 226 63 | 234 36 231 64 | 236 233 234 65 | 242 28 239 66 | 244 241 242 67 | 250 20 247 68 | 252 249 250 69 | 258 12 255 70 | 260 257 258 71 | 268 263 266 72 | 276 271 274 73 | 284 279 282 74 | 286 221 229 75 | 288 237 286 76 | 290 245 288 77 | 292 253 290 78 | 294 261 292 79 | 296 269 294 80 | 298 277 296 81 | 300 285 298 82 | 302 301 301 83 | 366 44 363 84 | 368 225 366 85 | 370 365 368 86 | 356 36 353 87 | 358 233 356 88 | 360 355 358 89 | 346 28 343 90 | 348 241 346 91 | 350 345 348 92 | 336 20 333 93 | 338 249 336 94 | 340 335 338 95 | 326 12 323 96 | 328 257 326 97 | 330 325 328 98 | 318 315 266 99 | 320 317 318 100 | 310 305 274 101 | 312 309 310 102 | 448 395 413 103 | 450 429 448 104 | 452 447 450 105 | 454 452 452 106 | 506 44 501 107 | 508 503 506 108 | 510 505 508 109 | 494 36 489 110 | 496 491 494 111 | 498 493 496 112 | 482 28 477 113 | 484 479 482 114 | 486 481 484 115 | 470 20 465 116 | 472 467 470 117 | 474 469 472 118 | 606 266 603 119 | 608 605 606 120 | 672 519 617 121 | 674 671 672 122 | 676 283 674 123 | 680 457 459 124 | 682 463 680 125 | 684 679 682 126 | 512 475 487 127 | 514 499 512 128 | 516 511 514 129 | 612 520 600 130 | 614 611 612 131 | 660 600 621 132 | 662 635 660 133 | 664 643 662 134 | 666 651 664 135 | 668 659 666 136 | 678 51 677 137 | 620 619 499 138 | 180 75 95 139 | 182 131 180 140 | 184 15 182 141 | 186 23 184 142 | 188 31 186 143 | 190 39 188 144 | 192 47 190 145 | 194 55 192 146 | 164 2 95 147 | 166 131 164 148 | 168 15 166 149 | 170 23 168 150 | 172 31 170 151 | 174 39 172 152 | 176 47 174 153 | 178 55 176 154 | 148 75 4 155 | 150 131 148 156 | 152 15 150 157 | 154 23 152 158 | 156 31 154 159 | 158 39 156 160 | 160 47 158 161 | 162 55 160 162 | 132 2 4 163 | 134 131 132 164 | 136 15 134 165 | 138 23 136 166 | 140 31 138 167 | 142 39 140 168 | 144 47 142 169 | 146 55 144 170 | 112 75 95 171 | 114 6 112 172 | 116 15 114 173 | 118 23 116 174 | 120 31 118 175 | 122 39 120 176 | 124 47 122 177 | 126 55 124 178 | 96 2 95 179 | 98 6 96 180 | 100 15 98 181 | 102 23 100 182 | 104 31 102 183 | 106 39 104 184 | 108 47 106 185 | 110 55 108 186 | 76 75 4 187 | 78 6 76 188 | 80 15 78 189 | 82 23 80 190 | 84 31 82 191 | 86 39 84 192 | 88 47 86 193 | 90 55 88 194 | 56 2 4 195 | 58 6 56 196 | 60 15 58 197 | 62 23 60 198 | 64 31 62 199 | 66 39 64 200 | 68 47 66 201 | 70 55 68 202 | 308 277 307 203 | 462 396 461 204 | 316 269 307 205 | 324 261 307 206 | 334 253 307 207 | 344 245 307 208 | 354 237 307 209 | 364 229 307 210 | 430 221 307 211 | 432 313 430 212 | 434 321 432 213 | 436 331 434 214 | 438 341 436 215 | 440 351 438 216 | 442 361 440 217 | 444 371 442 218 | 446 379 444 219 | 414 313 321 220 | 416 331 414 221 | 418 341 416 222 | 420 351 418 223 | 422 361 420 224 | 424 371 422 225 | 426 379 424 226 | 428 216 426 227 | 398 396 313 228 | 400 321 398 229 | 402 331 400 230 | 404 341 402 231 | 406 351 404 232 | 408 361 406 233 | 410 371 408 234 | 412 379 410 235 | 380 53 313 236 | 382 321 380 237 | 384 331 382 238 | 386 341 384 239 | 388 351 386 240 | 390 361 388 241 | 392 371 390 242 | 394 379 392 243 | 458 212 307 244 | 604 314 461 245 | 602 262 307 246 | 468 332 461 247 | 466 246 307 248 | 464 16 215 249 | 480 342 461 250 | 478 238 307 251 | 476 24 215 252 | 492 352 461 253 | 490 230 307 254 | 456 48 215 255 | 488 32 215 256 | 504 362 461 257 | 502 222 307 258 | 500 40 215 259 | 280 6 215 260 | 374 285 307 261 | 272 4 215 262 | 264 2 215 263 | 578 10 519 264 | 580 209 578 265 | 582 300 580 266 | 584 453 582 267 | 570 10 541 268 | 572 519 570 269 | 574 209 572 270 | 576 453 574 271 | 610 516 608 272 | 562 10 531 273 | 564 519 562 274 | 566 209 564 275 | 568 300 566 276 | 554 10 541 277 | 556 531 554 278 | 558 519 556 279 | 560 209 558 280 | 548 519 533 281 | 550 300 548 282 | 552 453 550 283 | 542 541 519 284 | 544 533 542 285 | 546 453 544 286 | 534 531 519 287 | 536 533 534 288 | 538 300 536 289 | 524 255 323 290 | 526 516 524 291 | 528 14 526 292 | 532 14 14 293 | 626 274 274 294 | 522 510 510 295 | 520 498 498 296 | 652 300 453 297 | 654 609 652 298 | 656 499 654 299 | 658 627 656 300 | 618 486 486 301 | 460 452 452 302 | 306 301 301 303 | 214 208 208 304 | 670 668 668 305 | 616 614 614 306 | 518 516 516 307 | 130 129 129 308 | 624 305 305 309 | 622 271 271 310 | 644 623 453 311 | 646 609 644 312 | 648 499 646 313 | 650 627 648 314 | 94 93 93 315 | 74 73 73 316 | 530 323 323 317 | 540 255 255 318 | 12 11 11 319 | 20 19 19 320 | 28 27 27 321 | 36 35 35 322 | 44 43 43 323 | 52 51 51 324 | 636 625 300 325 | 638 609 636 326 | 640 499 638 327 | 642 627 640 328 | 628 623 625 329 | 630 609 628 330 | 632 499 630 331 | 634 627 632 332 | 376 373 282 333 | 378 375 376 334 | 274 94 273 335 | 266 74 265 336 | 256 15 215 337 | 248 23 215 338 | 240 31 215 339 | 232 39 215 340 | 224 47 215 341 | 216 55 215 342 | 586 522 529 343 | 588 539 586 344 | 590 547 588 345 | 592 553 590 346 | 594 561 592 347 | 596 569 594 348 | 598 577 596 349 | 600 585 598 350 | 282 130 281 351 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C432.aag: -------------------------------------------------------------------------------- 1 | aag 346 36 0 7 310 2 | 6 3 | 304 4 | 128 5 | 278 6 | 372 7 | 40 8 | 396 9 | 42 10 | 48 11 | 222 12 | 32 13 | 362 14 | 34 15 | 230 16 | 24 17 | 352 18 | 26 19 | 238 20 | 50 21 | 16 22 | 342 23 | 18 24 | 246 25 | 8 26 | 332 27 | 10 28 | 254 29 | 2 30 | 322 31 | 72 32 | 262 33 | 4 34 | 212 35 | 314 36 | 92 37 | 270 38 | 211 39 | 303 40 | 455 41 | 693 42 | 519 43 | 621 44 | 675 45 | 54 49 52 46 | 46 41 44 47 | 38 33 36 48 | 30 25 28 49 | 22 17 20 50 | 14 9 12 51 | 196 71 91 52 | 198 111 196 53 | 200 127 198 54 | 202 147 200 55 | 204 163 202 56 | 206 179 204 57 | 208 195 206 58 | 210 208 208 59 | 218 52 213 60 | 220 217 218 61 | 226 44 223 62 | 228 225 226 63 | 234 36 231 64 | 236 233 234 65 | 242 28 239 66 | 244 241 242 67 | 250 20 247 68 | 252 249 250 69 | 258 12 255 70 | 260 257 258 71 | 268 263 266 72 | 276 271 274 73 | 284 279 282 74 | 286 221 229 75 | 288 237 286 76 | 290 245 288 77 | 292 253 290 78 | 294 261 292 79 | 296 269 294 80 | 298 277 296 81 | 300 285 298 82 | 302 301 301 83 | 366 44 363 84 | 368 225 366 85 | 370 365 368 86 | 356 36 353 87 | 358 233 356 88 | 360 355 358 89 | 346 28 343 90 | 348 241 346 91 | 350 345 348 92 | 336 20 333 93 | 338 249 336 94 | 340 335 338 95 | 326 12 323 96 | 328 257 326 97 | 330 325 328 98 | 318 315 266 99 | 320 317 318 100 | 310 305 274 101 | 312 309 310 102 | 448 395 413 103 | 450 429 448 104 | 452 447 450 105 | 454 452 452 106 | 506 44 501 107 | 508 503 506 108 | 510 505 508 109 | 494 36 489 110 | 496 491 494 111 | 498 493 496 112 | 482 28 477 113 | 484 479 482 114 | 486 481 484 115 | 470 20 465 116 | 472 467 470 117 | 474 469 472 118 | 610 266 607 119 | 612 609 610 120 | 678 521 623 121 | 680 677 678 122 | 682 283 680 123 | 688 457 459 124 | 690 463 688 125 | 692 686 690 126 | 518 517 517 127 | 512 475 487 128 | 514 499 512 129 | 516 511 514 130 | 618 522 604 131 | 620 616 618 132 | 666 604 627 133 | 668 641 666 134 | 670 649 668 135 | 672 657 670 136 | 674 665 672 137 | 686 684 684 138 | 626 625 499 139 | 180 75 95 140 | 182 131 180 141 | 184 15 182 142 | 186 23 184 143 | 188 31 186 144 | 190 39 188 145 | 192 47 190 146 | 194 55 192 147 | 164 2 95 148 | 166 131 164 149 | 168 15 166 150 | 170 23 168 151 | 172 31 170 152 | 174 39 172 153 | 176 47 174 154 | 178 55 176 155 | 148 75 4 156 | 150 131 148 157 | 152 15 150 158 | 154 23 152 159 | 156 31 154 160 | 158 39 156 161 | 160 47 158 162 | 162 55 160 163 | 132 2 4 164 | 134 131 132 165 | 136 15 134 166 | 138 23 136 167 | 140 31 138 168 | 142 39 140 169 | 144 47 142 170 | 146 55 144 171 | 112 75 95 172 | 114 6 112 173 | 116 15 114 174 | 118 23 116 175 | 120 31 118 176 | 122 39 120 177 | 124 47 122 178 | 126 55 124 179 | 96 2 95 180 | 98 6 96 181 | 100 15 98 182 | 102 23 100 183 | 104 31 102 184 | 106 39 104 185 | 108 47 106 186 | 110 55 108 187 | 76 75 4 188 | 78 6 76 189 | 80 15 78 190 | 82 23 80 191 | 84 31 82 192 | 86 39 84 193 | 88 47 86 194 | 90 55 88 195 | 56 2 4 196 | 58 6 56 197 | 60 15 58 198 | 62 23 60 199 | 64 31 62 200 | 66 39 64 201 | 68 47 66 202 | 70 55 68 203 | 308 277 307 204 | 684 51 683 205 | 462 396 461 206 | 316 269 307 207 | 324 261 307 208 | 334 253 307 209 | 344 245 307 210 | 354 237 307 211 | 364 229 307 212 | 430 221 307 213 | 432 313 430 214 | 434 321 432 215 | 436 331 434 216 | 438 341 436 217 | 440 351 438 218 | 442 361 440 219 | 444 371 442 220 | 446 379 444 221 | 414 313 321 222 | 416 331 414 223 | 418 341 416 224 | 420 351 418 225 | 422 361 420 226 | 424 371 422 227 | 426 379 424 228 | 428 216 426 229 | 398 396 313 230 | 400 321 398 231 | 402 331 400 232 | 404 341 402 233 | 406 351 404 234 | 408 361 406 235 | 410 371 408 236 | 412 379 410 237 | 380 53 313 238 | 382 321 380 239 | 384 331 382 240 | 386 341 384 241 | 388 351 386 242 | 390 361 388 243 | 392 371 390 244 | 394 379 392 245 | 458 212 307 246 | 608 314 461 247 | 606 262 307 248 | 468 332 461 249 | 466 246 307 250 | 464 16 215 251 | 480 342 461 252 | 478 238 307 253 | 476 24 215 254 | 492 352 461 255 | 490 230 307 256 | 456 48 215 257 | 488 32 215 258 | 504 362 461 259 | 502 222 307 260 | 500 40 215 261 | 280 6 215 262 | 374 285 307 263 | 272 4 215 264 | 264 2 215 265 | 582 10 521 266 | 584 209 582 267 | 586 300 584 268 | 588 453 586 269 | 574 10 545 270 | 576 521 574 271 | 578 209 576 272 | 580 453 578 273 | 616 614 614 274 | 566 10 535 275 | 568 521 566 276 | 570 209 568 277 | 572 300 570 278 | 558 10 545 279 | 560 535 558 280 | 562 521 560 281 | 564 209 562 282 | 552 521 537 283 | 554 300 552 284 | 556 453 554 285 | 546 545 521 286 | 548 537 546 287 | 550 453 548 288 | 538 535 521 289 | 540 537 538 290 | 542 300 540 291 | 532 530 530 292 | 526 255 323 293 | 528 518 526 294 | 530 14 528 295 | 536 14 14 296 | 632 274 274 297 | 524 510 510 298 | 522 498 498 299 | 614 518 612 300 | 658 300 453 301 | 660 613 658 302 | 662 499 660 303 | 664 633 662 304 | 624 486 486 305 | 460 452 452 306 | 306 301 301 307 | 214 208 208 308 | 676 674 674 309 | 622 620 620 310 | 520 518 518 311 | 130 129 129 312 | 630 305 305 313 | 628 271 271 314 | 650 629 453 315 | 652 613 650 316 | 654 499 652 317 | 656 633 654 318 | 94 93 93 319 | 74 73 73 320 | 534 323 323 321 | 544 255 255 322 | 12 11 11 323 | 20 19 19 324 | 28 27 27 325 | 36 35 35 326 | 44 43 43 327 | 52 51 51 328 | 642 631 300 329 | 644 613 642 330 | 646 499 644 331 | 648 633 646 332 | 634 629 631 333 | 636 613 634 334 | 638 499 636 335 | 640 633 638 336 | 282 130 281 337 | 376 373 282 338 | 378 375 376 339 | 256 15 215 340 | 248 23 215 341 | 240 31 215 342 | 232 39 215 343 | 224 47 215 344 | 216 55 215 345 | 590 524 532 346 | 592 543 590 347 | 594 551 592 348 | 596 557 594 349 | 598 565 596 350 | 600 573 598 351 | 602 581 600 352 | 604 589 602 353 | 274 94 273 354 | 266 74 265 355 | -------------------------------------------------------------------------------- /2018_hw3-Json_Database_Cmd/gen.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Wed Oct 10 21:02:33 2018 4 | 5 | @author: USER 6 | """ 7 | import sys 8 | import os 9 | import numpy as np 10 | 11 | if len(sys.argv) < 2: 12 | print("Invalid number of arguments!") 13 | exit() 14 | 15 | test_cases = int(sys.argv[1]) 16 | json_dir = 'tests' 17 | if not os.path.exists(json_dir): 18 | os.mkdir(json_dir) 19 | 20 | # Define the commands and mandantory field length 21 | commands = [ 22 | ('dbappend', 4), # args : 2 23 | ('dbaverage', 4), # args : 0 24 | ('dbcount', 3), # args : 0 25 | ('dbmax', 4), # args : 0 26 | ('dbmin', 4), # args : 0 27 | ('dbprint', 3), # args (opt : 1) 28 | ('dbread', 3), # args : 1 (filename (.json)) 29 | ('dbsort', 4), # args : 1 (key or value) 30 | ('dbsum', 4), # args : 0 31 | #('dofile', 2), # args : 1 (filename (dofile)) 32 | ('help', 3), # args : 0 33 | ('history', 3)#, # args : 0 34 | #('quit', 1) # args (opt : 1) 35 | ] 36 | 37 | no_arg_cmd = ['dbaverage', 'dbcount', 'dbmax', 'dbmin', 'dbsum', 'help', 'history'] 38 | json_files = ['../tests/test{}.json'.format(i) for i in range(1, 5)] 39 | json_keys = [] 40 | 41 | def case_shuffle(cmd): 42 | char = list(cmd) 43 | char = [c.lower() if np.random.uniform() > 0.5 else c.upper() for c in char] 44 | return ''.join(char) 45 | 46 | def partial_command(cmd, man_len, good = True): 47 | if man_len == 1: 48 | man_len += 1 49 | if good: 50 | end = np.random.randint(man_len - 1, len(cmd)) 51 | else: 52 | end = np.random.randint(0, man_len - 1) 53 | return cmd[:end] 54 | 55 | def good_command(): 56 | num_commands = len(commands) 57 | if np.random.uniform() < 0.2: 58 | idx = 0 59 | else: 60 | idx = np.random.randint(1, num_commands) 61 | cmd = partial_command(commands[idx][0], commands[idx][1]) 62 | cmd = case_shuffle(cmd) 63 | return cmd, commands[idx][0] # Returns shuffled cmd and original command 64 | 65 | def bad_command(): 66 | num_commands = len(commands) 67 | idx = np.random.randint(0, num_commands) 68 | good_cmd = partial_command(commands[idx][0], commands[idx][1]) 69 | bad_cmd = partial_command(commands[idx][0], commands[idx][1], False) 70 | 71 | good_cmd = case_shuffle(good_cmd) 72 | bad_cmd = case_shuffle(bad_cmd) 73 | 74 | good_cmd += random_command(5) 75 | if np.random.uniform() > 0.5: 76 | bad_cmd += random_command(5) 77 | cmd = [good_cmd, bad_cmd, random_command(10)] 78 | np.random.shuffle(cmd) 79 | return cmd[0] 80 | 81 | def random_command(max_len): 82 | cmd_len = np.random.randint(1, max_len) 83 | return ''.join([str(chr(np.random.randint(33, 127))) for _ in range(cmd_len)]) 84 | 85 | def gen_command(): 86 | if np.random.uniform() < 0.8: 87 | return good_command() 88 | else: 89 | return bad_command() 90 | 91 | def rand_arg(max_len): 92 | arg_len = np.random.randint(1, max_len) 93 | return ''.join([str(chr(np.random.randint(33, 127))) for _ in range(arg_len)]) 94 | 95 | def rand_key(max_len): 96 | arg_len = np.random.randint(1, max_len) 97 | key = ''.join([str(chr(np.random.randint(97, 123))) for _ in range(arg_len)]) 98 | return case_shuffle(key) 99 | 100 | def rand_int(bound): 101 | return str(np.random.randint(-bound, bound)) 102 | 103 | def json_gen(idx): 104 | n = np.random.randint(0, 1000) 105 | json_keys = [] 106 | json_file = "{\n" 107 | while len(json_keys) != n: 108 | key = rand_key(10) 109 | if key not in json_keys: 110 | json_keys.append(key) 111 | json_file += (' "' + key + '" : ' + str(np.random.randint(1000))) 112 | if len(json_keys) != n: 113 | json_file += ',' 114 | json_file += '\n' 115 | json_file += '}\n' 116 | json_path = os.path.join(json_dir, "test{}.json".format(idx)) 117 | with open(json_path, 'w') as file: 118 | file.write(json_file) 119 | return json_path 120 | 121 | def gen_action(): 122 | cmd = gen_command() 123 | if len(cmd) == 2: 124 | shuffled, orig = cmd 125 | action = shuffled 126 | if orig in no_arg_cmd: 127 | if np.random.uniform() < 0.2: 128 | action += (' ' + rand_arg(10)) 129 | return action 130 | elif orig == 'dbappend': 131 | if np.random.uniform() < 0.7: 132 | if np.random.uniform() < 0.2 and len(json_keys) > 0: 133 | key = json_keys[np.random.randint(0, len(json_keys))] 134 | else: 135 | key = rand_key(10) 136 | action += (' ' + key + ' ' + rand_int(1000)) 137 | if key not in json_keys: 138 | json_keys.append(key) 139 | else: 140 | miss_arg = rand_key(10) 141 | bad_key = rand_arg(10) + ' ' + rand_int(1000) 142 | bad_value = rand_key(10) + ' ' + rand_arg(10) 143 | no_arg = '' 144 | candidates = [miss_arg, bad_key, bad_value, no_arg] 145 | np.random.shuffle(candidates) 146 | action += (' ' + candidates[0]) 147 | 148 | return action 149 | 150 | elif orig == 'dbprint': 151 | if np.random.uniform() < 0.4: 152 | return action 153 | if np.random.uniform() < 0.9 and len(json_keys) > 0: 154 | key = case_shuffle(json_keys[np.random.randint(0, len(json_keys))]) 155 | else: 156 | key = rand_key(10) 157 | return action + ' ' + key 158 | 159 | elif orig == 'dbsort': 160 | if np.random.uniform() < 0.2: 161 | if np.random.uniform() < 0.5: 162 | action += (' ' + rand_arg(10)) 163 | return action 164 | args = ['-k', '-v', '-keyzfsagdf' , '-valurewg', '-key', '-value'] 165 | np.random.shuffle(args) 166 | return action + ' ' + args[0] 167 | elif orig == 'dbread': 168 | if np.random.uniform() < 0.2: 169 | action += ' -r ' 170 | else: 171 | action += ' ' 172 | np.random.shuffle(json_files) 173 | if np.random.uniform() < 0.2: 174 | action += rand_arg(10) 175 | else: 176 | action += json_files[0] 177 | return action 178 | else: 179 | return cmd 180 | 181 | action = [gen_action() for _ in range(test_cases)] 182 | json_files = [json_gen(i) for i in range(1, 11)] 183 | np.random.shuffle(json_files) 184 | action.insert(0, 'dbr ' + json_files[0]) 185 | 186 | while 'q' in action: 187 | action.remove('q') 188 | action.append('q -f') 189 | 190 | with open('mydo', 'w') as file: 191 | for line in action: 192 | if line is not None: 193 | file.write(line + '\n') -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C499_r.aag: -------------------------------------------------------------------------------- 1 | aag 495 41 0 32 454 2 | 104 3 | 226 4 | 342 5 | 286 6 | 654 7 | 608 8 | 562 9 | 468 10 | 2 11 | 124 12 | 318 13 | 262 14 | 18 15 | 140 16 | 320 17 | 264 18 | 66 19 | 70 20 | 80 21 | 82 22 | 304 23 | 34 24 | 38 25 | 48 26 | 50 27 | 188 28 | 192 29 | 202 30 | 204 31 | 156 32 | 160 33 | 248 34 | 170 35 | 172 36 | 6 37 | 128 38 | 308 39 | 252 40 | 16 41 | 138 42 | 106 43 | 685 44 | 693 45 | 701 46 | 709 47 | 725 48 | 733 49 | 741 50 | 749 51 | 765 52 | 773 53 | 781 54 | 789 55 | 801 56 | 809 57 | 817 58 | 825 59 | 859 60 | 867 61 | 875 62 | 883 63 | 895 64 | 903 65 | 911 66 | 919 67 | 931 68 | 939 69 | 947 70 | 955 71 | 967 72 | 975 73 | 983 74 | 991 75 | 552 549 551 76 | 458 455 457 77 | 532 529 531 78 | 438 435 437 79 | 94 91 93 80 | 62 59 61 81 | 216 213 215 82 | 184 181 183 83 | 682 2 679 84 | 720 7 718 85 | 410 402 408 86 | 506 497 503 87 | 504 496 502 88 | 214 201 211 89 | 212 200 210 90 | 596 587 593 91 | 594 586 592 92 | 642 633 639 93 | 640 632 638 94 | 60 47 57 95 | 730 128 727 96 | 58 46 56 97 | 92 79 89 98 | 90 78 88 99 | 436 427 433 100 | 434 426 432 101 | 274 261 271 102 | 272 260 270 103 | 330 317 327 104 | 328 316 326 105 | 530 521 527 106 | 728 129 726 107 | 528 520 526 108 | 150 137 147 109 | 148 136 146 110 | 28 15 25 111 | 26 14 24 112 | 456 447 453 113 | 454 446 452 114 | 550 541 547 115 | 548 540 546 116 | 474 467 471 117 | 738 308 735 118 | 472 466 470 119 | 568 561 565 120 | 566 560 564 121 | 614 607 611 122 | 612 606 610 123 | 660 653 657 124 | 658 652 656 125 | 292 285 289 126 | 290 284 288 127 | 348 341 345 128 | 736 309 734 129 | 346 340 344 130 | 232 225 229 131 | 230 224 228 132 | 112 103 109 133 | 110 102 108 134 | 482 415 481 135 | 478 417 477 136 | 576 509 575 137 | 572 511 571 138 | 622 599 621 139 | 746 252 743 140 | 618 601 617 141 | 668 645 667 142 | 664 647 663 143 | 300 277 299 144 | 296 279 295 145 | 356 333 355 146 | 352 335 351 147 | 240 153 239 148 | 236 155 235 149 | 120 31 119 150 | 744 253 742 151 | 116 33 115 152 | 838 487 711 153 | 840 672 838 154 | 834 487 711 155 | 836 752 834 156 | 830 627 751 157 | 832 580 830 158 | 826 627 751 159 | 828 712 826 160 | 384 369 361 161 | 386 382 384 162 | 378 369 361 163 | 380 376 378 164 | 372 245 247 165 | 374 370 372 166 | 364 245 247 167 | 366 362 364 168 | 464 439 463 169 | 762 16 759 170 | 460 441 459 171 | 558 533 557 172 | 554 535 553 173 | 604 439 535 174 | 602 441 533 175 | 650 459 557 176 | 648 463 553 177 | 282 185 65 178 | 280 187 63 179 | 338 217 99 180 | 760 17 758 181 | 336 221 95 182 | 222 185 221 183 | 218 187 217 184 | 100 63 99 185 | 96 65 95 186 | 176 170 172 187 | 174 171 173 188 | 406 204 172 189 | 404 205 173 190 | 500 202 170 191 | 770 138 767 192 | 498 203 171 193 | 208 202 204 194 | 206 203 205 195 | 590 192 160 196 | 588 193 161 197 | 636 188 156 198 | 634 189 157 199 | 54 48 50 200 | 52 49 51 201 | 86 80 82 202 | 680 3 678 203 | 768 139 766 204 | 84 81 83 205 | 430 320 264 206 | 428 321 265 207 | 268 262 264 208 | 266 263 265 209 | 324 318 320 210 | 322 319 321 211 | 524 318 262 212 | 522 319 263 213 | 144 138 140 214 | 778 318 775 215 | 142 139 141 216 | 22 16 18 217 | 20 17 19 218 | 450 308 252 219 | 448 309 253 220 | 544 304 248 221 | 542 305 249 222 | 246 122 122 223 | 244 242 242 224 | 360 358 358 225 | 776 319 774 226 | 368 302 302 227 | 750 670 670 228 | 626 624 624 229 | 710 578 578 230 | 486 484 484 231 | 118 114 114 232 | 238 234 234 233 | 354 350 350 234 | 298 294 294 235 | 666 662 662 236 | 786 262 783 237 | 620 616 616 238 | 574 570 570 239 | 480 476 476 240 | 556 552 552 241 | 462 458 458 242 | 32 30 30 243 | 154 152 152 244 | 534 532 532 245 | 334 332 332 246 | 278 276 276 247 | 784 263 782 248 | 440 438 438 249 | 98 94 94 250 | 64 62 62 251 | 646 644 644 252 | 600 598 598 253 | 220 216 216 254 | 510 508 508 255 | 416 414 414 256 | 186 184 184 257 | 164 161 161 258 | 798 18 795 259 | 158 157 157 260 | 196 193 193 261 | 190 189 189 262 | 398 51 51 263 | 492 49 49 264 | 42 39 39 265 | 36 35 35 266 | 394 83 83 267 | 488 81 81 268 | 74 71 71 269 | 796 19 794 270 | 68 67 67 271 | 422 141 141 272 | 418 19 19 273 | 516 139 139 274 | 512 17 17 275 | 256 253 253 276 | 312 309 309 277 | 132 129 129 278 | 10 7 7 279 | 250 249 249 280 | 806 140 803 281 | 306 305 305 282 | 126 125 125 283 | 4 3 3 284 | 804 141 802 285 | 814 320 811 286 | 690 124 687 287 | 812 321 810 288 | 822 264 819 289 | 820 265 818 290 | 856 66 853 291 | 854 67 852 292 | 864 70 861 293 | 862 71 860 294 | 872 80 869 295 | 870 81 868 296 | 880 82 877 297 | 688 125 686 298 | 878 83 876 299 | 892 34 889 300 | 890 35 888 301 | 900 38 897 302 | 898 39 896 303 | 908 48 905 304 | 906 49 904 305 | 916 50 913 306 | 914 51 912 307 | 928 188 925 308 | 698 304 695 309 | 926 189 924 310 | 936 192 933 311 | 934 193 932 312 | 944 202 941 313 | 942 203 940 314 | 952 204 949 315 | 950 205 948 316 | 964 156 961 317 | 962 157 960 318 | 972 160 969 319 | 696 305 694 320 | 970 161 968 321 | 980 170 977 322 | 978 171 976 323 | 988 172 985 324 | 986 173 984 325 | 166 156 165 326 | 162 159 160 327 | 198 188 197 328 | 194 191 192 329 | 44 34 43 330 | 706 248 703 331 | 40 37 38 332 | 400 82 399 333 | 396 395 50 334 | 494 80 493 335 | 490 489 48 336 | 584 70 43 337 | 582 75 38 338 | 630 66 37 339 | 628 69 34 340 | 76 66 75 341 | 704 249 702 342 | 72 69 70 343 | 424 18 423 344 | 420 419 140 345 | 518 16 517 346 | 514 513 138 347 | 444 6 133 348 | 442 11 128 349 | 258 248 257 350 | 254 251 252 351 | 314 304 313 352 | 722 6 719 353 | 310 307 308 354 | 134 124 133 355 | 130 127 128 356 | 12 2 11 357 | 8 5 6 358 | 538 2 127 359 | 536 5 124 360 | 182 169 179 361 | 180 168 178 362 | 412 403 409 363 | 684 681 683 364 | 692 689 691 365 | 780 777 779 366 | 788 785 787 367 | 800 797 799 368 | 808 805 807 369 | 816 813 815 370 | 824 821 823 371 | 858 855 857 372 | 866 863 865 373 | 874 871 873 374 | 882 879 881 375 | 700 697 699 376 | 894 891 893 377 | 902 899 901 378 | 910 907 909 379 | 918 915 917 380 | 930 927 929 381 | 938 935 937 382 | 946 943 945 383 | 954 951 953 384 | 966 963 965 385 | 974 971 973 386 | 708 705 707 387 | 982 979 981 388 | 990 987 989 389 | 724 721 723 390 | 732 729 731 391 | 740 737 739 392 | 748 745 747 393 | 764 761 763 394 | 772 769 771 395 | 122 117 121 396 | 242 237 241 397 | 358 353 357 398 | 302 297 301 399 | 670 665 669 400 | 624 619 623 401 | 578 573 577 402 | 484 479 483 403 | 388 367 375 404 | 390 381 388 405 | 392 387 390 406 | 842 829 833 407 | 844 837 842 408 | 846 841 844 409 | 712 485 711 410 | 580 487 579 411 | 752 625 751 412 | 672 627 671 413 | 362 303 361 414 | 370 369 359 415 | 376 243 247 416 | 382 245 123 417 | 466 461 465 418 | 560 555 559 419 | 606 603 605 420 | 652 649 651 421 | 284 281 283 422 | 340 337 339 423 | 224 219 223 424 | 102 97 101 425 | 178 175 177 426 | 408 405 407 427 | 502 499 501 428 | 210 207 209 429 | 592 589 591 430 | 638 635 637 431 | 56 53 55 432 | 88 85 87 433 | 432 429 431 434 | 270 267 269 435 | 326 323 325 436 | 526 523 525 437 | 146 143 145 438 | 24 21 23 439 | 452 449 451 440 | 546 543 545 441 | 678 123 676 442 | 686 243 676 443 | 694 359 676 444 | 702 303 676 445 | 718 123 716 446 | 726 243 716 447 | 734 359 716 448 | 742 303 716 449 | 758 123 756 450 | 766 243 756 451 | 774 359 756 452 | 782 303 756 453 | 794 123 792 454 | 802 243 792 455 | 810 359 792 456 | 818 303 792 457 | 852 671 850 458 | 860 625 850 459 | 868 579 850 460 | 876 485 850 461 | 888 671 886 462 | 896 625 886 463 | 904 579 886 464 | 912 485 886 465 | 924 671 922 466 | 932 625 922 467 | 940 579 922 468 | 948 485 922 469 | 960 671 958 470 | 968 625 958 471 | 976 579 958 472 | 984 485 958 473 | 470 468 106 474 | 564 562 106 475 | 610 608 106 476 | 656 654 106 477 | 288 286 106 478 | 344 342 106 479 | 228 226 106 480 | 108 104 106 481 | 674 393 580 482 | 676 672 674 483 | 714 393 712 484 | 716 672 714 485 | 754 393 580 486 | 756 752 754 487 | 790 393 712 488 | 792 752 790 489 | 848 847 370 490 | 850 382 848 491 | 884 847 362 492 | 886 382 884 493 | 920 847 370 494 | 922 376 920 495 | 956 847 362 496 | 958 376 956 497 | 540 537 539 498 | 46 41 45 499 | 200 195 199 500 | 168 163 167 501 | 446 443 445 502 | 520 515 519 503 | 426 421 425 504 | 78 73 77 505 | 14 9 13 506 | 136 131 135 507 | 316 311 315 508 | 260 255 259 509 | 632 629 631 510 | 586 583 585 511 | 496 491 495 512 | 402 397 401 513 | 114 111 113 514 | 234 231 233 515 | 350 347 349 516 | 294 291 293 517 | 662 659 661 518 | 616 613 615 519 | 570 567 569 520 | 476 473 475 521 | 30 27 29 522 | 152 149 151 523 | 332 329 331 524 | 276 273 275 525 | 644 641 643 526 | 598 595 597 527 | 508 505 507 528 | 414 411 413 529 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C880.aag: -------------------------------------------------------------------------------- 1 | aag 521 60 0 26 461 2 | 208 3 | 210 4 | 234 5 | 236 6 | 244 7 | 246 8 | 196 9 | 264 10 | 744 11 | 50 12 | 530 13 | 548 14 | 568 15 | 818 16 | 400 17 | 402 18 | 286 19 | 288 20 | 296 21 | 298 22 | 52 23 | 322 24 | 324 25 | 332 26 | 46 27 | 334 28 | 352 29 | 374 30 | 378 31 | 468 32 | 472 33 | 486 34 | 480 35 | 670 36 | 720 37 | 456 38 | 482 39 | 380 40 | 66 41 | 2 42 | 16 43 | 6 44 | 138 45 | 152 46 | 84 47 | 160 48 | 492 49 | 502 50 | 172 51 | 4 52 | 18 53 | 36 54 | 38 55 | 118 56 | 120 57 | 186 58 | 48 59 | 116 60 | 198 61 | 200 62 | 15 63 | 27 64 | 35 65 | 45 66 | 65 67 | 83 68 | 95 69 | 105 70 | 115 71 | 129 72 | 137 73 | 151 74 | 171 75 | 185 76 | 195 77 | 285 78 | 373 79 | 525 80 | 637 81 | 693 82 | 743 83 | 873 84 | 911 85 | 949 86 | 999 87 | 1043 88 | 54 46 48 89 | 56 50 54 90 | 58 52 56 91 | 68 46 66 92 | 70 50 68 93 | 72 52 70 94 | 74 2 16 95 | 76 6 74 96 | 140 46 66 97 | 142 138 140 98 | 426 46 48 99 | 428 138 426 100 | 430 52 428 101 | 154 46 48 102 | 156 50 154 103 | 158 152 156 104 | 494 84 6 105 | 496 160 494 106 | 498 492 496 107 | 162 2 160 108 | 174 84 160 109 | 176 172 174 110 | 390 2 4 111 | 392 18 390 112 | 8 2 4 113 | 10 6 8 114 | 20 2 16 115 | 22 18 20 116 | 28 2 16 117 | 30 6 28 118 | 86 84 4 119 | 88 18 86 120 | 434 84 4 121 | 436 6 434 122 | 96 84 16 123 | 98 18 96 124 | 106 84 16 125 | 108 6 106 126 | 40 36 38 127 | 122 119 121 128 | 202 198 200 129 | 204 199 201 130 | 212 208 210 131 | 214 209 211 132 | 238 234 236 133 | 240 235 237 134 | 248 244 246 135 | 250 245 247 136 | 746 48 744 137 | 382 381 381 138 | 774 138 744 139 | 796 52 744 140 | 820 818 744 141 | 404 84 402 142 | 414 53 7 143 | 416 52 6 144 | 290 286 288 145 | 292 287 289 146 | 300 296 298 147 | 302 297 299 148 | 326 322 324 149 | 328 323 325 150 | 336 332 334 151 | 338 333 335 152 | 950 374 198 153 | 1000 374 200 154 | 874 374 208 155 | 526 374 210 156 | 638 374 234 157 | 672 480 670 158 | 694 374 236 159 | 722 480 720 160 | 376 374 244 161 | 484 480 482 162 | 60 58 58 163 | 130 77 77 164 | 78 72 77 165 | 386 143 143 166 | 144 143 143 167 | 432 430 430 168 | 500 158 498 169 | 164 158 162 170 | 178 158 176 171 | 90 89 89 172 | 438 437 437 173 | 100 99 99 174 | 110 109 109 175 | 188 186 123 176 | 124 116 123 177 | 206 203 205 178 | 216 213 215 179 | 242 239 241 180 | 252 249 251 181 | 384 382 382 182 | 418 415 417 183 | 294 291 293 184 | 304 301 303 185 | 330 327 329 186 | 340 337 339 187 | 14 12 12 188 | 12 11 11 189 | 26 24 24 190 | 24 23 23 191 | 34 32 32 192 | 32 31 31 193 | 44 42 42 194 | 42 41 41 195 | 132 72 130 196 | 388 386 386 197 | 146 144 144 198 | 504 500 502 199 | 166 164 164 200 | 180 178 178 201 | 190 188 188 202 | 220 206 206 203 | 222 216 216 204 | 218 207 217 205 | 256 242 242 206 | 258 252 252 207 | 254 243 253 208 | 440 433 439 209 | 308 294 294 210 | 310 304 304 211 | 306 295 305 212 | 344 330 330 213 | 346 340 340 214 | 342 331 341 215 | 912 374 385 216 | 64 62 62 217 | 62 60 60 218 | 82 80 80 219 | 80 78 78 220 | 94 92 92 221 | 92 90 90 222 | 104 102 102 223 | 102 100 100 224 | 114 112 112 225 | 112 110 110 226 | 128 126 126 227 | 126 125 125 228 | 506 505 505 229 | 224 221 223 230 | 260 257 259 231 | 752 405 389 232 | 754 152 752 233 | 758 389 52 234 | 760 392 758 235 | 394 389 392 236 | 396 152 394 237 | 420 418 84 238 | 422 402 420 239 | 424 389 422 240 | 406 389 405 241 | 408 52 406 242 | 312 309 311 243 | 348 345 347 244 | 136 134 134 245 | 134 132 132 246 | 150 148 148 247 | 148 146 146 248 | 170 168 168 249 | 168 166 166 250 | 184 182 182 251 | 182 180 180 252 | 194 192 192 253 | 192 190 190 254 | 508 506 506 255 | 226 219 225 256 | 262 255 261 257 | 442 425 441 258 | 756 530 754 259 | 762 383 760 260 | 780 548 754 261 | 782 383 760 262 | 802 568 754 263 | 804 383 760 264 | 826 400 754 265 | 828 383 760 266 | 410 409 46 267 | 528 384 396 268 | 546 384 396 269 | 566 384 396 270 | 398 384 396 271 | 314 307 313 272 | 350 343 349 273 | 228 196 226 274 | 230 197 227 275 | 266 262 264 276 | 268 263 265 277 | 748 198 443 278 | 764 757 763 279 | 776 200 443 280 | 784 781 783 281 | 798 208 443 282 | 806 803 805 283 | 822 210 443 284 | 830 827 829 285 | 532 530 411 286 | 534 234 443 287 | 550 548 411 288 | 552 236 443 289 | 570 568 411 290 | 572 244 443 291 | 412 400 411 292 | 444 246 443 293 | 316 196 314 294 | 318 197 315 295 | 354 350 352 296 | 356 351 353 297 | 934 509 286 298 | 984 509 288 299 | 1028 509 296 300 | 896 509 298 301 | 622 509 322 302 | 678 509 324 303 | 728 509 332 304 | 510 509 334 305 | 232 229 231 306 | 270 267 269 307 | 750 747 749 308 | 778 775 777 309 | 800 797 799 310 | 824 821 823 311 | 536 533 535 312 | 554 551 553 313 | 574 571 573 314 | 446 413 445 315 | 320 317 319 316 | 358 355 357 317 | 274 232 232 318 | 276 270 270 319 | 272 233 271 320 | 766 750 764 321 | 786 778 784 322 | 808 800 806 323 | 832 824 830 324 | 538 529 536 325 | 556 547 554 326 | 576 567 574 327 | 448 399 446 328 | 362 320 320 329 | 364 358 358 330 | 360 321 359 331 | 278 275 277 332 | 366 363 365 333 | 768 767 286 334 | 862 766 287 335 | 932 486 767 336 | 788 787 288 337 | 794 786 289 338 | 982 486 787 339 | 810 809 296 340 | 816 808 297 341 | 1026 486 809 342 | 834 833 298 343 | 842 832 299 344 | 894 486 833 345 | 542 539 322 346 | 540 538 323 347 | 620 486 539 348 | 558 557 324 349 | 564 556 325 350 | 674 486 557 351 | 578 577 332 352 | 584 576 333 353 | 724 486 577 354 | 452 449 334 355 | 450 448 335 356 | 488 486 449 357 | 280 273 279 358 | 368 361 367 359 | 770 768 768 360 | 914 863 769 361 | 936 933 935 362 | 790 788 788 363 | 952 795 789 364 | 986 983 985 365 | 812 810 810 366 | 1002 817 811 367 | 1030 1027 1029 368 | 836 834 834 369 | 876 843 835 370 | 898 895 897 371 | 614 542 542 372 | 544 541 543 373 | 624 621 623 374 | 560 558 558 375 | 640 565 559 376 | 676 673 675 377 | 580 578 578 378 | 696 585 579 379 | 726 723 725 380 | 474 452 452 381 | 454 451 453 382 | 490 485 489 383 | 700 451 456 384 | 646 585 451 385 | 648 456 646 386 | 590 565 585 387 | 592 451 590 388 | 594 456 592 389 | 772 770 770 390 | 926 468 914 391 | 928 472 771 392 | 792 790 790 393 | 976 468 952 394 | 978 472 791 395 | 954 812 812 396 | 1020 468 1002 397 | 1022 472 813 398 | 1004 836 836 399 | 888 468 876 400 | 890 472 837 401 | 846 614 614 402 | 612 468 544 403 | 616 472 615 404 | 562 560 560 405 | 664 468 640 406 | 666 472 561 407 | 642 580 580 408 | 714 468 696 409 | 716 472 581 410 | 698 474 474 411 | 458 455 457 412 | 460 454 456 413 | 470 468 454 414 | 476 472 475 415 | 644 585 475 416 | 582 565 581 417 | 586 565 585 418 | 588 475 586 419 | 956 817 837 420 | 814 795 813 421 | 838 795 817 422 | 840 837 838 423 | 284 282 282 424 | 282 281 281 425 | 372 370 370 426 | 370 369 369 427 | 930 927 929 428 | 980 977 979 429 | 1024 1021 1023 430 | 892 889 891 431 | 596 563 583 432 | 598 589 596 433 | 600 595 598 434 | 618 613 617 435 | 650 643 645 436 | 652 649 650 437 | 668 665 667 438 | 702 699 701 439 | 718 715 717 440 | 462 459 461 441 | 478 471 477 442 | 602 545 600 443 | 604 544 601 444 | 654 641 652 445 | 656 640 653 446 | 704 697 702 447 | 706 696 703 448 | 464 378 462 449 | 844 541 601 450 | 848 845 847 451 | 606 603 605 452 | 658 655 657 453 | 708 705 707 454 | 466 377 465 455 | 878 877 848 456 | 880 876 849 457 | 608 378 606 458 | 660 378 658 459 | 710 378 708 460 | 512 466 478 461 | 514 490 512 462 | 516 511 514 463 | 1006 843 849 464 | 958 817 843 465 | 960 849 958 466 | 850 795 817 467 | 852 843 850 468 | 854 849 852 469 | 856 793 815 470 | 858 841 856 471 | 860 855 858 472 | 962 955 957 473 | 964 961 962 474 | 1008 1005 1007 475 | 882 879 881 476 | 610 527 609 477 | 662 639 661 478 | 712 695 711 479 | 518 516 516 480 | 916 915 860 481 | 918 914 861 482 | 966 953 964 483 | 968 952 965 484 | 1010 1003 1008 485 | 1012 1002 1009 486 | 884 378 882 487 | 626 610 618 488 | 628 624 626 489 | 680 662 668 490 | 682 676 680 491 | 684 679 682 492 | 730 712 718 493 | 732 726 730 494 | 734 729 732 495 | 520 518 518 496 | 864 861 863 497 | 920 917 919 498 | 970 967 969 499 | 1014 1011 1013 500 | 886 875 885 501 | 630 628 628 502 | 686 684 684 503 | 736 734 734 504 | 866 773 865 505 | 524 522 522 506 | 522 520 520 507 | 922 378 920 508 | 972 378 970 509 | 1016 378 1014 510 | 900 886 892 511 | 902 898 900 512 | 632 630 630 513 | 688 686 686 514 | 738 736 736 515 | 868 867 867 516 | 924 913 923 517 | 974 951 973 518 | 1018 1001 1017 519 | 904 902 902 520 | 636 634 634 521 | 634 632 632 522 | 692 690 690 523 | 690 688 688 524 | 742 740 740 525 | 740 738 738 526 | 872 870 870 527 | 870 868 868 528 | 938 924 930 529 | 940 936 938 530 | 988 974 980 531 | 990 986 988 532 | 1032 1018 1024 533 | 1034 1030 1032 534 | 906 904 904 535 | 942 940 940 536 | 992 990 990 537 | 1036 1034 1034 538 | 910 908 908 539 | 908 906 906 540 | 944 942 942 541 | 994 992 992 542 | 1038 1036 1036 543 | 948 946 946 544 | 946 944 944 545 | 998 996 996 546 | 996 994 994 547 | 1042 1040 1040 548 | 1040 1038 1038 549 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C499.aag: -------------------------------------------------------------------------------- 1 | aag 631 41 0 32 590 2 | 42 3 | 566 4 | 668 5 | 722 6 | 184 7 | 316 8 | 450 9 | 510 10 | 2 11 | 190 12 | 334 13 | 338 14 | 22 15 | 358 16 | 370 17 | 374 18 | 50 19 | 54 20 | 66 21 | 70 22 | 202 23 | 90 24 | 94 25 | 106 26 | 110 27 | 160 28 | 292 29 | 426 30 | 486 31 | 164 32 | 296 33 | 206 34 | 430 35 | 490 36 | 6 37 | 226 38 | 238 39 | 242 40 | 18 41 | 322 42 | 44 43 | 815 44 | 825 45 | 835 46 | 845 47 | 867 48 | 877 49 | 887 50 | 897 51 | 919 52 | 929 53 | 939 54 | 949 55 | 971 56 | 981 57 | 991 58 | 1001 59 | 1077 60 | 1087 61 | 1097 62 | 1107 63 | 1129 64 | 1139 65 | 1149 66 | 1159 67 | 1181 68 | 1191 69 | 1201 70 | 1211 71 | 1233 72 | 1243 73 | 1253 74 | 1263 75 | 806 151 804 76 | 816 641 804 77 | 930 695 908 78 | 940 749 908 79 | 962 151 960 80 | 972 641 960 81 | 982 695 960 82 | 992 749 960 83 | 1068 283 1066 84 | 1078 415 1066 85 | 1088 477 1066 86 | 1098 537 1066 87 | 826 695 804 88 | 1120 283 1118 89 | 1130 415 1118 90 | 1140 477 1118 91 | 1150 537 1118 92 | 1172 283 1170 93 | 1182 415 1170 94 | 1192 477 1170 95 | 1202 537 1170 96 | 1224 283 1222 97 | 1234 415 1222 98 | 836 749 804 99 | 1244 477 1222 100 | 1254 537 1222 101 | 858 151 856 102 | 868 641 856 103 | 878 695 856 104 | 888 749 856 105 | 910 151 908 106 | 920 641 908 107 | 222 217 221 108 | 258 253 257 109 | 354 349 353 110 | 390 385 389 111 | 86 81 85 112 | 126 121 125 113 | 592 587 591 114 | 616 611 615 115 | 266 261 265 116 | 398 393 397 117 | 460 457 459 118 | 520 517 519 119 | 134 129 133 120 | 624 619 623 121 | 678 675 677 122 | 732 729 731 123 | 46 42 44 124 | 568 566 44 125 | 670 668 44 126 | 724 722 44 127 | 186 184 44 128 | 318 316 44 129 | 452 450 44 130 | 512 510 44 131 | 606 430 495 132 | 580 429 486 133 | 728 131 617 134 | 676 87 595 135 | 674 89 593 136 | 132 87 131 137 | 128 89 127 138 | 396 355 395 139 | 392 357 391 140 | 518 259 395 141 | 516 263 391 142 | 458 223 357 143 | 302 292 301 144 | 456 225 355 145 | 264 223 263 146 | 260 225 259 147 | 526 512 525 148 | 522 515 521 149 | 466 452 465 150 | 462 455 461 151 | 404 318 403 152 | 400 321 399 153 | 272 186 271 154 | 298 295 296 155 | 268 189 267 156 | 738 724 737 157 | 734 727 733 158 | 684 670 683 159 | 680 673 679 160 | 630 568 629 161 | 626 571 625 162 | 140 46 139 163 | 136 49 135 164 | 534 507 533 165 | 170 160 169 166 | 530 509 529 167 | 474 447 473 168 | 470 449 469 169 | 412 313 411 170 | 408 315 407 171 | 280 181 279 172 | 276 183 275 173 | 746 719 745 174 | 742 721 741 175 | 692 665 691 176 | 166 163 164 177 | 688 667 687 178 | 638 563 637 179 | 634 565 633 180 | 148 39 147 181 | 144 41 143 182 | 1260 490 1259 183 | 1256 495 1254 184 | 1250 430 1249 185 | 1246 435 1244 186 | 1240 296 1239 187 | 574 160 295 188 | 1236 301 1234 189 | 1230 164 1229 190 | 1226 169 1224 191 | 1208 486 1207 192 | 1204 489 1202 193 | 1198 426 1197 194 | 1194 429 1192 195 | 1188 292 1187 196 | 1184 295 1182 197 | 1178 160 1177 198 | 572 163 292 199 | 1174 163 1172 200 | 1156 110 1155 201 | 1152 115 1150 202 | 1146 106 1145 203 | 1142 109 1140 204 | 1136 94 1135 205 | 1132 99 1130 206 | 1126 90 1125 207 | 1122 93 1120 208 | 1104 70 1103 209 | 116 106 115 210 | 1100 75 1098 211 | 1094 66 1093 212 | 1090 69 1088 213 | 1084 54 1083 214 | 1080 59 1078 215 | 1074 50 1073 216 | 1070 53 1068 217 | 998 374 997 218 | 994 379 992 219 | 988 370 987 220 | 112 109 110 221 | 984 373 982 222 | 978 358 977 223 | 974 363 972 224 | 968 22 967 225 | 964 27 962 226 | 946 338 945 227 | 942 343 940 228 | 936 334 935 229 | 932 337 930 230 | 926 322 925 231 | 100 90 99 232 | 922 327 920 233 | 916 18 915 234 | 912 21 910 235 | 894 242 893 236 | 890 247 888 237 | 884 238 883 238 | 880 241 878 239 | 874 226 873 240 | 870 231 868 241 | 864 6 863 242 | 604 435 490 243 | 96 93 94 244 | 860 11 858 245 | 842 206 841 246 | 838 211 836 247 | 832 202 831 248 | 828 205 826 249 | 822 190 821 250 | 818 195 816 251 | 812 2 811 252 | 808 5 806 253 | 966 963 963 254 | 480 70 115 255 | 914 911 911 256 | 862 859 859 257 | 810 807 807 258 | 976 973 973 259 | 924 921 921 260 | 872 869 869 261 | 820 817 817 262 | 986 983 983 263 | 934 931 931 264 | 882 879 879 265 | 478 75 110 266 | 830 827 827 267 | 996 993 993 268 | 944 941 941 269 | 892 889 889 270 | 840 837 837 271 | 1228 1225 1225 272 | 1176 1173 1173 273 | 1124 1121 1121 274 | 1072 1069 1069 275 | 1238 1235 1235 276 | 420 66 109 277 | 1186 1183 1183 278 | 1134 1131 1131 279 | 1082 1079 1079 280 | 1248 1245 1245 281 | 1196 1193 1193 282 | 1144 1141 1141 283 | 1092 1089 1089 284 | 1258 1255 1255 285 | 1206 1203 1203 286 | 1154 1151 1151 287 | 418 69 106 288 | 1102 1099 1099 289 | 146 142 142 290 | 636 632 632 291 | 690 686 686 292 | 744 740 740 293 | 278 274 274 294 | 410 406 406 295 | 472 468 468 296 | 532 528 528 297 | 270 266 266 298 | 76 66 75 299 | 464 460 460 300 | 524 520 520 301 | 402 398 398 302 | 138 134 134 303 | 682 678 678 304 | 736 732 732 305 | 628 624 624 306 | 224 222 222 307 | 262 258 258 308 | 40 38 38 309 | 72 69 70 310 | 564 562 562 311 | 356 354 354 312 | 666 664 664 313 | 720 718 718 314 | 394 390 390 315 | 88 86 86 316 | 130 126 126 317 | 182 180 180 318 | 314 312 312 319 | 594 592 592 320 | 286 54 99 321 | 448 446 446 322 | 508 506 506 323 | 620 616 616 324 | 200 198 198 325 | 16 14 14 326 | 548 546 546 327 | 218 214 214 328 | 650 648 648 329 | 704 702 702 330 | 236 234 234 331 | 284 59 94 332 | 254 250 250 333 | 332 330 330 334 | 34 30 30 335 | 558 554 554 336 | 350 346 346 337 | 660 656 656 338 | 714 710 710 339 | 368 366 366 340 | 386 382 382 341 | 64 62 62 342 | 154 50 93 343 | 158 156 156 344 | 290 288 288 345 | 82 78 78 346 | 424 422 422 347 | 484 482 482 348 | 104 102 102 349 | 122 118 118 350 | 578 576 576 351 | 176 172 172 352 | 308 304 304 353 | 598 164 301 354 | 152 53 90 355 | 588 584 584 356 | 442 438 438 357 | 502 498 498 358 | 602 600 600 359 | 612 608 608 360 | 48 47 47 361 | 570 569 569 362 | 672 671 671 363 | 726 725 725 364 | 188 187 187 365 | 60 50 59 366 | 320 319 319 367 | 454 453 453 368 | 514 513 513 369 | 494 491 491 370 | 434 431 431 371 | 300 297 297 372 | 168 165 165 373 | 488 487 487 374 | 428 427 427 375 | 294 293 293 376 | 56 53 54 377 | 162 161 161 378 | 114 111 111 379 | 108 107 107 380 | 98 95 95 381 | 92 91 91 382 | 74 71 71 383 | 68 67 67 384 | 58 55 55 385 | 52 51 51 386 | 378 375 375 387 | 380 370 379 388 | 372 371 371 389 | 362 359 359 390 | 26 23 23 391 | 342 339 339 392 | 336 335 335 393 | 326 323 323 394 | 20 19 19 395 | 246 243 243 396 | 240 239 239 397 | 230 227 227 398 | 376 373 374 399 | 10 7 7 400 | 210 207 207 401 | 204 203 203 402 | 194 191 191 403 | 4 3 3 404 | 364 22 363 405 | 360 27 358 406 | 708 338 379 407 | 706 343 374 408 | 654 334 373 409 | 596 169 296 410 | 652 337 370 411 | 344 334 343 412 | 340 337 338 413 | 552 322 363 414 | 550 327 358 415 | 28 18 27 416 | 24 21 22 417 | 328 18 327 418 | 324 21 322 419 | 248 238 247 420 | 496 486 495 421 | 244 241 242 422 | 232 6 231 423 | 228 11 226 424 | 700 206 247 425 | 698 211 242 426 | 646 202 241 427 | 644 205 238 428 | 212 202 211 429 | 208 205 206 430 | 544 190 231 431 | 492 489 490 432 | 542 195 226 433 | 12 2 11 434 | 8 5 6 435 | 196 2 195 436 | 192 5 190 437 | 614 601 613 438 | 610 603 609 439 | 504 483 503 440 | 500 485 499 441 | 444 423 443 442 | 436 426 435 443 | 440 425 439 444 | 590 577 589 445 | 586 579 585 446 | 310 289 309 447 | 306 291 305 448 | 178 157 177 449 | 174 159 173 450 | 124 103 123 451 | 120 105 119 452 | 84 63 83 453 | 432 429 430 454 | 80 65 79 455 | 388 367 387 456 | 384 369 383 457 | 716 703 715 458 | 712 705 711 459 | 662 649 661 460 | 658 651 657 461 | 352 331 351 462 | 348 333 347 463 | 560 547 559 464 | 582 426 489 465 | 556 549 555 466 | 36 15 35 467 | 32 17 31 468 | 256 235 255 469 | 252 237 251 470 | 220 199 219 471 | 216 201 215 472 | 622 593 621 473 | 618 595 617 474 | 730 127 621 475 | 814 809 813 476 | 824 819 823 477 | 938 933 937 478 | 948 943 947 479 | 970 965 969 480 | 980 975 979 481 | 990 985 989 482 | 1000 995 999 483 | 1076 1071 1075 484 | 1086 1081 1085 485 | 1096 1091 1095 486 | 1106 1101 1105 487 | 834 829 833 488 | 1128 1123 1127 489 | 1138 1133 1137 490 | 1148 1143 1147 491 | 1158 1153 1157 492 | 1180 1175 1179 493 | 1190 1185 1189 494 | 1200 1195 1199 495 | 1210 1205 1209 496 | 1232 1227 1231 497 | 1242 1237 1241 498 | 844 839 843 499 | 1252 1247 1251 500 | 1262 1257 1261 501 | 866 861 865 502 | 876 871 875 503 | 886 881 885 504 | 896 891 895 505 | 918 913 917 506 | 928 923 927 507 | 150 145 149 508 | 640 635 639 509 | 694 689 693 510 | 748 743 747 511 | 282 277 281 512 | 414 409 413 513 | 476 471 475 514 | 536 531 535 515 | 750 541 643 516 | 752 697 750 517 | 754 749 752 518 | 762 757 759 519 | 764 695 762 520 | 766 761 764 521 | 774 769 641 522 | 776 771 774 523 | 778 773 776 524 | 786 151 781 525 | 788 783 786 526 | 790 785 788 527 | 1012 1007 1009 528 | 1014 1011 1012 529 | 1016 537 1014 530 | 1024 1019 1021 531 | 1026 477 1024 532 | 1028 1023 1026 533 | 1036 1031 415 534 | 1038 1033 1036 535 | 1040 1035 1038 536 | 1048 283 1043 537 | 1050 1045 1048 538 | 1052 1047 1050 539 | 792 755 767 540 | 794 779 792 541 | 796 791 794 542 | 1054 1017 1029 543 | 1056 1041 1054 544 | 1058 1053 1056 545 | 798 283 417 546 | 800 477 798 547 | 802 539 800 548 | 804 797 802 549 | 850 283 847 550 | 852 849 850 551 | 854 537 852 552 | 856 797 854 553 | 902 899 415 554 | 904 477 902 555 | 906 901 904 556 | 908 797 906 557 | 954 951 415 558 | 956 953 954 559 | 958 537 956 560 | 960 797 958 561 | 1060 151 1003 562 | 1062 695 1060 563 | 1064 1005 1062 564 | 1066 1059 1064 565 | 1112 151 1109 566 | 1114 1111 1112 567 | 1116 749 1114 568 | 1118 1059 1116 569 | 1164 1161 641 570 | 1166 695 1164 571 | 1168 1163 1166 572 | 1170 1059 1168 573 | 1216 1213 641 574 | 1218 1215 1216 575 | 1220 749 1218 576 | 1222 1059 1220 577 | 198 193 197 578 | 214 209 213 579 | 102 97 101 580 | 118 113 117 581 | 576 573 575 582 | 584 581 583 583 | 600 597 599 584 | 608 605 607 585 | 234 229 233 586 | 250 245 249 587 | 330 325 329 588 | 346 341 345 589 | 366 361 365 590 | 382 377 381 591 | 62 57 61 592 | 78 73 77 593 | 14 9 13 594 | 546 543 545 595 | 648 645 647 596 | 702 699 701 597 | 156 153 155 598 | 288 285 287 599 | 422 419 421 600 | 482 479 481 601 | 30 25 29 602 | 554 551 553 603 | 656 653 655 604 | 710 707 709 605 | 172 167 171 606 | 304 299 303 607 | 438 433 437 608 | 498 493 497 609 | 142 137 141 610 | 632 627 631 611 | 686 681 685 612 | 740 735 739 613 | 274 269 273 614 | 406 401 405 615 | 468 463 467 616 | 528 523 527 617 | 38 33 37 618 | 562 557 561 619 | 664 659 663 620 | 718 713 717 621 | 180 175 179 622 | 312 307 311 623 | 446 441 445 624 | 506 501 505 625 | 540 150 150 626 | 756 150 150 627 | 768 150 150 628 | 1160 150 150 629 | 1212 150 150 630 | 642 640 640 631 | 758 640 640 632 | 780 640 640 633 | 1002 640 640 634 | 1108 640 640 635 | 696 694 694 636 | 770 694 694 637 | 782 694 694 638 | 1110 694 694 639 | 1214 694 694 640 | 760 748 748 641 | 772 748 748 642 | 784 748 748 643 | 1004 748 748 644 | 1162 748 748 645 | 1006 282 282 646 | 1018 282 282 647 | 1030 282 282 648 | 898 282 282 649 | 950 282 282 650 | 1008 414 414 651 | 1020 414 414 652 | 1042 414 414 653 | 416 414 414 654 | 846 414 414 655 | 1010 476 476 656 | 1032 476 476 657 | 1044 476 476 658 | 848 476 476 659 | 952 476 476 660 | 1022 536 536 661 | 1034 536 536 662 | 1046 536 536 663 | 538 536 536 664 | 900 536 536 665 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C1355.aag: -------------------------------------------------------------------------------- 1 | aag 663 41 0 32 622 2 | 318 3 | 40 4 | 42 5 | 52 6 | 54 7 | 72 8 | 74 9 | 84 10 | 170 11 | 86 12 | 136 13 | 252 14 | 370 15 | 426 16 | 138 17 | 2 18 | 254 19 | 372 20 | 428 21 | 34 22 | 502 23 | 604 24 | 658 25 | 156 26 | 172 27 | 272 28 | 390 29 | 446 30 | 36 31 | 4 32 | 190 33 | 200 34 | 202 35 | 14 36 | 276 37 | 286 38 | 288 39 | 16 40 | 160 41 | 306 42 | 316 43 | 755 44 | 769 45 | 783 46 | 797 47 | 823 48 | 837 49 | 851 50 | 865 51 | 891 52 | 905 53 | 919 54 | 933 55 | 959 56 | 973 57 | 987 58 | 1001 59 | 1081 60 | 1095 61 | 1109 62 | 1123 63 | 1149 64 | 1163 65 | 1177 66 | 1191 67 | 1217 68 | 1231 69 | 1245 70 | 1259 71 | 1285 72 | 1299 73 | 1313 74 | 1327 75 | 802 243 799 76 | 804 801 802 77 | 806 473 804 78 | 808 733 806 79 | 870 867 359 80 | 872 417 870 81 | 874 869 872 82 | 876 733 874 83 | 938 935 359 84 | 940 937 938 85 | 942 473 940 86 | 944 733 942 87 | 1060 127 1003 88 | 1062 631 1060 89 | 1064 1005 1062 90 | 1066 1059 1064 91 | 1128 127 1125 92 | 1130 1127 1128 93 | 1132 685 1130 94 | 1134 1059 1132 95 | 1196 1193 577 96 | 1198 631 1196 97 | 1200 1195 1198 98 | 1202 1059 1200 99 | 1264 1261 577 100 | 1266 1263 1264 101 | 1268 685 1266 102 | 1270 1059 1268 103 | 742 127 740 104 | 756 577 740 105 | 770 631 740 106 | 784 685 740 107 | 810 127 808 108 | 824 577 808 109 | 838 631 808 110 | 852 685 808 111 | 878 127 876 112 | 892 577 876 113 | 906 631 876 114 | 920 685 876 115 | 946 127 944 116 | 960 577 944 117 | 974 631 944 118 | 988 685 944 119 | 1068 243 1066 120 | 1082 359 1066 121 | 1096 417 1066 122 | 1110 473 1066 123 | 1136 243 1134 124 | 1150 359 1134 125 | 1164 417 1134 126 | 1178 473 1134 127 | 1204 243 1202 128 | 1218 359 1202 129 | 1232 417 1202 130 | 1246 473 1202 131 | 1272 243 1270 132 | 1286 359 1270 133 | 1300 417 1270 134 | 1314 473 1270 135 | 744 2 742 136 | 758 160 756 137 | 772 170 770 138 | 786 172 784 139 | 812 4 810 140 | 826 190 824 141 | 840 200 838 142 | 854 202 852 143 | 880 14 878 144 | 894 276 892 145 | 908 286 906 146 | 922 288 920 147 | 948 16 946 148 | 962 306 960 149 | 976 316 974 150 | 990 318 988 151 | 1070 40 1068 152 | 1084 42 1082 153 | 1098 52 1096 154 | 1112 54 1110 155 | 1138 72 1136 156 | 1152 74 1150 157 | 1166 84 1164 158 | 1180 86 1178 159 | 1206 136 1204 160 | 1220 252 1218 161 | 1234 370 1232 162 | 1248 426 1246 163 | 1274 138 1272 164 | 1288 254 1286 165 | 1302 372 1300 166 | 1316 428 1314 167 | 746 2 745 168 | 748 742 745 169 | 760 160 759 170 | 762 756 759 171 | 774 170 773 172 | 776 770 773 173 | 788 172 787 174 | 790 784 787 175 | 814 4 813 176 | 816 810 813 177 | 828 190 827 178 | 830 824 827 179 | 842 200 841 180 | 844 838 841 181 | 856 202 855 182 | 858 852 855 183 | 882 14 881 184 | 884 878 881 185 | 896 276 895 186 | 898 892 895 187 | 910 286 909 188 | 912 906 909 189 | 924 288 923 190 | 926 920 923 191 | 950 16 949 192 | 952 946 949 193 | 964 306 963 194 | 966 960 963 195 | 978 316 977 196 | 980 974 977 197 | 992 318 991 198 | 994 988 991 199 | 1072 40 1071 200 | 1074 1068 1071 201 | 1086 42 1085 202 | 1088 1082 1085 203 | 1100 52 1099 204 | 1102 1096 1099 205 | 1114 54 1113 206 | 1116 1110 1113 207 | 1140 72 1139 208 | 1142 1136 1139 209 | 1154 74 1153 210 | 1156 1150 1153 211 | 1168 84 1167 212 | 1170 1164 1167 213 | 1182 86 1181 214 | 1184 1178 1181 215 | 1208 136 1207 216 | 1210 1204 1207 217 | 1222 252 1221 218 | 1224 1218 1221 219 | 1236 370 1235 220 | 1238 1232 1235 221 | 1250 426 1249 222 | 1252 1246 1249 223 | 1276 138 1275 224 | 1278 1272 1275 225 | 1290 254 1289 226 | 1292 1286 1289 227 | 1304 372 1303 228 | 1306 1300 1303 229 | 1318 428 1317 230 | 1320 1314 1317 231 | 750 747 749 232 | 764 761 763 233 | 778 775 777 234 | 792 789 791 235 | 818 815 817 236 | 832 829 831 237 | 846 843 845 238 | 860 857 859 239 | 886 883 885 240 | 900 897 899 241 | 914 911 913 242 | 928 925 927 243 | 954 951 953 244 | 968 965 967 245 | 982 979 981 246 | 996 993 995 247 | 1076 1073 1075 248 | 1090 1087 1089 249 | 1104 1101 1103 250 | 1118 1115 1117 251 | 1144 1141 1143 252 | 1158 1155 1157 253 | 1172 1169 1171 254 | 1186 1183 1185 255 | 1212 1209 1211 256 | 1226 1223 1225 257 | 1240 1237 1239 258 | 1254 1251 1253 259 | 1280 1277 1279 260 | 1294 1291 1293 261 | 1308 1305 1307 262 | 1322 1319 1321 263 | 754 752 752 264 | 752 750 750 265 | 768 766 766 266 | 766 764 764 267 | 782 780 780 268 | 780 778 778 269 | 796 794 794 270 | 794 792 792 271 | 822 820 820 272 | 820 818 818 273 | 836 834 834 274 | 834 832 832 275 | 850 848 848 276 | 848 846 846 277 | 864 862 862 278 | 862 860 860 279 | 890 888 888 280 | 888 886 886 281 | 904 902 902 282 | 902 900 900 283 | 918 916 916 284 | 916 914 914 285 | 932 930 930 286 | 930 928 928 287 | 958 956 956 288 | 956 954 954 289 | 972 970 970 290 | 970 968 968 291 | 986 984 984 292 | 984 982 982 293 | 1000 998 998 294 | 998 996 996 295 | 1080 1078 1078 296 | 1078 1076 1076 297 | 1094 1092 1092 298 | 1092 1090 1090 299 | 1108 1106 1106 300 | 1106 1104 1104 301 | 1122 1120 1120 302 | 1120 1118 1118 303 | 1148 1146 1146 304 | 1146 1144 1144 305 | 1162 1160 1160 306 | 1160 1158 1158 307 | 1176 1174 1174 308 | 1174 1172 1172 309 | 1190 1188 1188 310 | 1188 1186 1186 311 | 1216 1214 1214 312 | 1214 1212 1212 313 | 1230 1228 1228 314 | 1228 1226 1226 315 | 1244 1242 1242 316 | 1242 1240 1240 317 | 1258 1256 1256 318 | 1256 1254 1254 319 | 1284 1282 1282 320 | 1282 1280 1280 321 | 1298 1296 1296 322 | 1296 1294 1294 323 | 1312 1310 1310 324 | 1310 1308 1308 325 | 1326 1324 1324 326 | 1324 1322 1322 327 | 38 34 36 328 | 504 502 36 329 | 606 604 36 330 | 660 658 36 331 | 158 156 36 332 | 274 272 36 333 | 392 390 36 334 | 448 446 36 335 | 162 2 160 336 | 174 170 172 337 | 192 4 190 338 | 204 200 202 339 | 278 14 276 340 | 290 286 288 341 | 308 16 306 342 | 320 316 318 343 | 44 40 42 344 | 56 52 54 345 | 76 72 74 346 | 88 84 86 347 | 506 136 252 348 | 514 370 426 349 | 530 138 254 350 | 538 372 428 351 | 6 2 4 352 | 18 14 16 353 | 478 160 190 354 | 486 276 306 355 | 580 170 200 356 | 588 286 316 357 | 634 172 202 358 | 642 288 318 359 | 128 40 72 360 | 140 136 138 361 | 244 42 74 362 | 256 252 254 363 | 362 52 84 364 | 374 370 372 365 | 418 54 86 366 | 430 426 428 367 | 164 2 163 368 | 166 160 163 369 | 176 170 175 370 | 178 172 175 371 | 194 4 193 372 | 196 190 193 373 | 206 200 205 374 | 208 202 205 375 | 280 14 279 376 | 282 276 279 377 | 292 286 291 378 | 294 288 291 379 | 310 16 309 380 | 312 306 309 381 | 322 316 321 382 | 324 318 321 383 | 46 40 45 384 | 48 42 45 385 | 58 52 57 386 | 60 54 57 387 | 78 72 77 388 | 80 74 77 389 | 90 84 89 390 | 92 86 89 391 | 508 136 507 392 | 510 252 507 393 | 516 370 515 394 | 518 426 515 395 | 532 138 531 396 | 534 254 531 397 | 540 372 539 398 | 542 428 539 399 | 8 2 7 400 | 10 4 7 401 | 20 14 19 402 | 22 16 19 403 | 480 160 479 404 | 482 190 479 405 | 488 276 487 406 | 490 306 487 407 | 582 170 581 408 | 584 200 581 409 | 590 286 589 410 | 592 316 589 411 | 636 172 635 412 | 638 202 635 413 | 644 288 643 414 | 646 318 643 415 | 130 40 129 416 | 132 72 129 417 | 142 136 141 418 | 144 138 141 419 | 246 42 245 420 | 248 74 245 421 | 258 252 257 422 | 260 254 257 423 | 364 52 363 424 | 366 84 363 425 | 376 370 375 426 | 378 372 375 427 | 420 54 419 428 | 422 86 419 429 | 432 426 431 430 | 434 428 431 431 | 168 165 167 432 | 180 177 179 433 | 198 195 197 434 | 210 207 209 435 | 284 281 283 436 | 296 293 295 437 | 314 311 313 438 | 326 323 325 439 | 50 47 49 440 | 62 59 61 441 | 82 79 81 442 | 94 91 93 443 | 512 509 511 444 | 520 517 519 445 | 536 533 535 446 | 544 541 543 447 | 12 9 11 448 | 24 21 23 449 | 484 481 483 450 | 492 489 491 451 | 586 583 585 452 | 594 591 593 453 | 640 637 639 454 | 648 645 647 455 | 134 131 133 456 | 146 143 145 457 | 250 247 249 458 | 262 259 261 459 | 368 365 367 460 | 380 377 379 461 | 424 421 423 462 | 436 433 435 463 | 182 169 181 464 | 212 199 211 465 | 298 285 297 466 | 328 315 327 467 | 64 51 63 468 | 96 83 95 469 | 522 513 521 470 | 546 537 545 471 | 26 13 25 472 | 494 485 493 473 | 596 587 595 474 | 650 641 649 475 | 148 135 147 476 | 264 251 263 477 | 382 369 381 478 | 438 425 437 479 | 184 169 183 480 | 186 181 183 481 | 214 199 213 482 | 216 211 213 483 | 300 285 299 484 | 302 297 299 485 | 330 315 329 486 | 332 327 329 487 | 66 51 65 488 | 68 63 65 489 | 98 83 97 490 | 100 95 97 491 | 524 513 523 492 | 526 521 523 493 | 548 537 547 494 | 550 545 547 495 | 28 13 27 496 | 30 25 27 497 | 496 485 495 498 | 498 493 495 499 | 598 587 597 500 | 600 595 597 501 | 652 641 651 502 | 654 649 651 503 | 150 135 149 504 | 152 147 149 505 | 266 251 265 506 | 268 263 265 507 | 384 369 383 508 | 386 381 383 509 | 440 425 439 510 | 442 437 439 511 | 188 185 187 512 | 218 215 217 513 | 304 301 303 514 | 334 331 333 515 | 70 67 69 516 | 102 99 101 517 | 528 525 527 518 | 552 549 551 519 | 32 29 31 520 | 500 497 499 521 | 602 599 601 522 | 656 653 655 523 | 154 151 153 524 | 270 267 269 525 | 388 385 387 526 | 444 441 443 527 | 220 189 219 528 | 336 305 335 529 | 394 189 305 530 | 450 219 335 531 | 104 71 103 532 | 554 529 553 533 | 608 71 529 534 | 662 103 553 535 | 222 189 221 536 | 224 219 221 537 | 338 305 337 538 | 340 335 337 539 | 396 189 395 540 | 398 305 395 541 | 452 219 451 542 | 454 335 451 543 | 106 71 105 544 | 108 103 105 545 | 556 529 555 546 | 558 553 555 547 | 610 71 609 548 | 612 529 609 549 | 664 103 663 550 | 666 553 663 551 | 226 223 225 552 | 342 339 341 553 | 400 397 399 554 | 456 453 455 555 | 110 107 109 556 | 560 557 559 557 | 614 611 613 558 | 668 665 667 559 | 112 38 111 560 | 562 504 561 561 | 616 606 615 562 | 670 660 669 563 | 228 158 227 564 | 344 274 343 565 | 402 392 401 566 | 458 448 457 567 | 114 38 113 568 | 116 111 113 569 | 564 504 563 570 | 566 561 563 571 | 618 606 617 572 | 620 615 617 573 | 672 660 671 574 | 674 669 671 575 | 230 158 229 576 | 232 227 229 577 | 346 274 345 578 | 348 343 345 579 | 404 392 403 580 | 406 401 403 581 | 460 448 459 582 | 462 457 459 583 | 118 115 117 584 | 568 565 567 585 | 622 619 621 586 | 676 673 675 587 | 234 231 233 588 | 350 347 349 589 | 408 405 407 590 | 464 461 463 591 | 120 33 119 592 | 570 501 569 593 | 624 603 623 594 | 678 657 677 595 | 236 155 235 596 | 352 271 351 597 | 410 389 409 598 | 466 445 465 599 | 122 33 121 600 | 124 119 121 601 | 572 501 571 602 | 574 569 571 603 | 626 603 625 604 | 628 623 625 605 | 680 657 679 606 | 682 677 679 607 | 238 155 237 608 | 240 235 237 609 | 354 271 353 610 | 356 351 353 611 | 412 389 411 612 | 414 409 411 613 | 468 445 467 614 | 470 465 467 615 | 126 123 125 616 | 576 573 575 617 | 630 627 629 618 | 684 681 683 619 | 358 355 357 620 | 472 469 471 621 | 416 413 415 622 | 242 239 241 623 | 476 126 126 624 | 578 576 576 625 | 632 630 630 626 | 692 126 126 627 | 694 576 576 628 | 696 684 684 629 | 704 126 126 630 | 706 630 630 631 | 708 684 684 632 | 716 576 576 633 | 718 630 630 634 | 720 684 684 635 | 360 358 358 636 | 474 472 472 637 | 798 358 358 638 | 800 416 416 639 | 866 242 242 640 | 868 472 472 641 | 934 242 242 642 | 936 416 416 643 | 1006 242 242 644 | 1008 358 358 645 | 1010 416 416 646 | 1018 242 242 647 | 1020 358 358 648 | 1022 472 472 649 | 1030 242 242 650 | 1032 416 416 651 | 1034 472 472 652 | 1042 358 358 653 | 1044 416 416 654 | 1046 472 472 655 | 1002 576 576 656 | 1004 684 684 657 | 1124 576 576 658 | 1126 630 630 659 | 1192 126 126 660 | 1194 684 684 661 | 1260 126 126 662 | 1262 630 630 663 | 686 477 579 664 | 688 633 686 665 | 690 685 688 666 | 698 693 695 667 | 700 631 698 668 | 702 697 700 669 | 710 705 577 670 | 712 707 710 671 | 714 709 712 672 | 722 127 717 673 | 724 719 722 674 | 726 721 724 675 | 1012 1007 1009 676 | 1014 1011 1012 677 | 1016 473 1014 678 | 1024 1019 1021 679 | 1026 417 1024 680 | 1028 1023 1026 681 | 1036 1031 359 682 | 1038 1033 1036 683 | 1040 1035 1038 684 | 1048 243 1043 685 | 1050 1045 1048 686 | 1052 1047 1050 687 | 728 691 703 688 | 730 715 728 689 | 732 727 730 690 | 1054 1017 1029 691 | 1056 1041 1054 692 | 1058 1053 1056 693 | 734 243 361 694 | 736 417 734 695 | 738 475 736 696 | 740 733 738 697 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim10.aag: -------------------------------------------------------------------------------- 1 | aag 752 36 0 1 716 2 | 6 3 | 672 4 | 128 5 | 530 6 | 740 7 | 40 8 | 764 9 | 42 10 | 48 11 | 474 12 | 32 13 | 730 14 | 34 15 | 482 16 | 24 17 | 720 18 | 26 19 | 490 20 | 50 21 | 16 22 | 710 23 | 18 24 | 498 25 | 8 26 | 700 27 | 10 28 | 506 29 | 2 30 | 690 31 | 72 32 | 514 33 | 4 34 | 464 35 | 682 36 | 92 37 | 522 38 | 1505 39 | 222 220 220 40 | 826 824 824 41 | 374 372 372 42 | 640 638 638 43 | 908 906 906 44 | 274 272 272 45 | 934 932 932 46 | 54 49 52 47 | 294 286 292 48 | 46 41 44 49 | 282 274 280 50 | 38 33 36 51 | 270 262 268 52 | 30 25 28 53 | 258 250 256 54 | 22 17 20 55 | 246 238 244 56 | 14 9 12 57 | 234 226 232 58 | 278 276 276 59 | 196 71 91 60 | 198 111 196 61 | 200 127 198 62 | 202 147 200 63 | 204 163 202 64 | 206 179 204 65 | 208 195 206 66 | 442 311 333 67 | 444 355 442 68 | 446 371 444 69 | 448 393 446 70 | 450 409 448 71 | 452 425 450 72 | 454 441 452 73 | 286 284 284 74 | 570 568 568 75 | 210 208 208 76 | 456 454 454 77 | 262 260 260 78 | 470 52 465 79 | 472 469 470 80 | 564 292 558 81 | 566 563 564 82 | 478 44 475 83 | 480 477 478 84 | 574 280 570 85 | 576 573 574 86 | 486 36 483 87 | 488 485 486 88 | 584 268 580 89 | 586 583 584 90 | 494 28 491 91 | 496 493 494 92 | 594 256 590 93 | 596 593 594 94 | 502 20 499 95 | 504 501 502 96 | 604 244 600 97 | 606 603 604 98 | 510 12 507 99 | 512 509 510 100 | 614 232 610 101 | 616 613 614 102 | 520 515 518 103 | 626 620 624 104 | 896 894 894 105 | 528 523 526 106 | 636 630 634 107 | 536 531 534 108 | 646 640 644 109 | 538 473 481 110 | 540 489 538 111 | 542 497 540 112 | 544 505 542 113 | 546 513 544 114 | 548 521 546 115 | 550 529 548 116 | 552 537 550 117 | 648 567 577 118 | 650 587 648 119 | 652 597 650 120 | 654 607 652 121 | 656 617 654 122 | 658 627 656 123 | 660 637 658 124 | 662 647 660 125 | 266 264 264 126 | 554 553 553 127 | 664 663 663 128 | 734 44 731 129 | 736 477 734 130 | 738 733 736 131 | 900 280 896 132 | 902 573 900 133 | 904 899 902 134 | 580 578 578 135 | 724 36 721 136 | 726 485 724 137 | 728 723 726 138 | 888 268 884 139 | 890 583 888 140 | 892 887 890 141 | 714 28 711 142 | 716 493 714 143 | 718 713 716 144 | 876 256 872 145 | 878 593 876 146 | 880 875 878 147 | 704 20 701 148 | 706 501 704 149 | 708 703 706 150 | 864 244 860 151 | 866 603 864 152 | 868 863 866 153 | 694 12 691 154 | 696 509 694 155 | 698 693 696 156 | 852 232 848 157 | 854 613 852 158 | 856 851 854 159 | 686 683 518 160 | 688 685 686 161 | 842 838 624 162 | 844 841 842 163 | 678 673 526 164 | 680 677 678 165 | 832 826 634 166 | 834 831 832 167 | 816 763 781 168 | 818 797 816 169 | 820 815 818 170 | 986 931 951 171 | 988 967 986 172 | 990 985 988 173 | 822 820 820 174 | 992 990 990 175 | 250 248 248 176 | 1050 44 1045 177 | 1052 1047 1050 178 | 1054 1049 1052 179 | 1288 280 1283 180 | 1290 1285 1288 181 | 1292 1287 1290 182 | 1038 36 1033 183 | 1040 1035 1038 184 | 1042 1037 1040 185 | 1276 268 1271 186 | 1278 1273 1276 187 | 1280 1275 1278 188 | 1026 28 1021 189 | 1028 1023 1026 190 | 1030 1025 1028 191 | 1264 256 1259 192 | 1266 1261 1264 193 | 1268 1263 1266 194 | 1014 20 1009 195 | 1016 1011 1014 196 | 1018 1013 1016 197 | 1252 244 1247 198 | 1254 1249 1252 199 | 1256 1251 1254 200 | 1154 518 1151 201 | 1156 1153 1154 202 | 1388 624 1385 203 | 1390 1387 1388 204 | 884 882 882 205 | 1222 1065 1167 206 | 1224 1221 1222 207 | 1226 535 1224 208 | 1454 1301 1399 209 | 1456 1453 1454 210 | 1458 645 1456 211 | 1232 1001 1003 212 | 1234 1007 1232 213 | 1236 1230 1234 214 | 1462 1239 1241 215 | 1464 1245 1462 216 | 1466 1461 1464 217 | 1062 1061 1061 218 | 1056 1019 1031 219 | 1058 1043 1056 220 | 1060 1055 1058 221 | 1294 1257 1269 222 | 1296 1281 1294 223 | 1298 1293 1296 224 | 1162 1066 1148 225 | 1164 1160 1162 226 | 1394 1302 1382 227 | 1396 1393 1394 228 | 1210 1148 1171 229 | 1212 1185 1210 230 | 1214 1193 1212 231 | 1216 1201 1214 232 | 1218 1209 1216 233 | 1442 1382 1403 234 | 1444 1417 1442 235 | 1446 1425 1444 236 | 1448 1433 1446 237 | 1450 1441 1448 238 | 254 252 252 239 | 590 588 588 240 | 290 288 288 241 | 238 236 236 242 | 872 870 870 243 | 242 240 240 244 | 600 598 598 245 | 226 224 224 246 | 860 858 858 247 | 230 228 228 248 | 610 608 608 249 | 214 212 212 250 | 848 846 846 251 | 314 312 312 252 | 620 618 618 253 | 218 216 216 254 | 558 556 556 255 | 838 836 836 256 | 336 334 334 257 | 630 628 628 258 | 458 210 457 259 | 460 211 456 260 | 462 459 461 261 | 666 554 665 262 | 668 555 664 263 | 670 667 669 264 | 994 822 993 265 | 996 823 992 266 | 998 995 997 267 | 1468 1236 1467 268 | 1470 1237 1466 269 | 1472 1469 1471 270 | 1474 1062 1299 271 | 1476 1063 1298 272 | 1478 1475 1477 273 | 1480 1164 1397 274 | 1482 1165 1396 275 | 1484 1481 1483 276 | 1486 1218 1451 277 | 1488 1219 1450 278 | 1490 1487 1489 279 | 1230 1228 1228 280 | 1170 1169 1043 281 | 1402 1401 1281 282 | 180 75 95 283 | 182 131 180 284 | 184 15 182 285 | 186 23 184 286 | 188 31 186 287 | 190 39 188 288 | 192 47 190 289 | 194 55 192 290 | 426 317 339 291 | 428 377 426 292 | 430 235 428 293 | 432 247 430 294 | 434 259 432 295 | 436 271 434 296 | 438 283 436 297 | 440 295 438 298 | 164 2 95 299 | 166 131 164 300 | 168 15 166 301 | 170 23 168 302 | 172 31 170 303 | 174 39 172 304 | 176 47 174 305 | 178 55 176 306 | 410 215 339 307 | 412 377 410 308 | 414 235 412 309 | 416 247 414 310 | 418 259 416 311 | 420 271 418 312 | 422 283 420 313 | 424 295 422 314 | 148 75 4 315 | 150 131 148 316 | 152 15 150 317 | 154 23 152 318 | 156 31 154 319 | 158 39 156 320 | 160 47 158 321 | 162 55 160 322 | 394 317 219 323 | 396 377 394 324 | 398 235 396 325 | 400 247 398 326 | 402 259 400 327 | 404 271 402 328 | 406 283 404 329 | 408 295 406 330 | 132 2 4 331 | 134 131 132 332 | 136 15 134 333 | 138 23 136 334 | 140 31 138 335 | 142 39 140 336 | 144 47 142 337 | 146 55 144 338 | 378 215 219 339 | 380 377 378 340 | 382 235 380 341 | 384 247 382 342 | 386 259 384 343 | 388 271 386 344 | 390 283 388 345 | 392 295 390 346 | 112 75 95 347 | 114 6 112 348 | 116 15 114 349 | 118 23 116 350 | 120 31 118 351 | 122 39 120 352 | 124 47 122 353 | 126 55 124 354 | 356 317 339 355 | 358 223 356 356 | 360 235 358 357 | 362 247 360 358 | 364 259 362 359 | 366 271 364 360 | 368 283 366 361 | 370 295 368 362 | 96 2 95 363 | 98 6 96 364 | 100 15 98 365 | 102 23 100 366 | 104 31 102 367 | 106 39 104 368 | 108 47 106 369 | 110 55 108 370 | 340 215 339 371 | 342 223 340 372 | 344 235 342 373 | 346 247 344 374 | 348 259 346 375 | 350 271 348 376 | 352 283 350 377 | 354 295 352 378 | 76 75 4 379 | 78 6 76 380 | 80 15 78 381 | 82 23 80 382 | 84 31 82 383 | 86 39 84 384 | 88 47 86 385 | 90 55 88 386 | 318 317 219 387 | 320 223 318 388 | 322 235 320 389 | 324 247 322 390 | 326 259 324 391 | 328 271 326 392 | 330 283 328 393 | 332 295 330 394 | 56 2 4 395 | 58 6 56 396 | 60 15 58 397 | 62 23 60 398 | 64 31 62 399 | 66 39 64 400 | 68 47 66 401 | 70 55 68 402 | 296 215 219 403 | 298 223 296 404 | 300 235 298 405 | 302 247 300 406 | 304 259 302 407 | 306 271 304 408 | 308 283 306 409 | 310 295 308 410 | 676 529 675 411 | 830 637 829 412 | 1228 51 1227 413 | 1460 290 1459 414 | 1006 764 1005 415 | 684 521 675 416 | 840 627 829 417 | 692 513 675 418 | 850 617 829 419 | 702 505 675 420 | 862 607 829 421 | 712 497 675 422 | 874 597 829 423 | 722 489 675 424 | 886 587 829 425 | 732 481 675 426 | 898 577 829 427 | 798 473 675 428 | 800 681 798 429 | 802 689 800 430 | 804 699 802 431 | 806 709 804 432 | 808 719 806 433 | 810 729 808 434 | 812 739 810 435 | 814 747 812 436 | 968 567 829 437 | 970 835 968 438 | 972 845 970 439 | 974 857 972 440 | 976 869 974 441 | 978 881 976 442 | 980 893 978 443 | 982 905 980 444 | 984 915 982 445 | 782 681 689 446 | 784 699 782 447 | 786 709 784 448 | 788 719 786 449 | 790 729 788 450 | 792 739 790 451 | 794 747 792 452 | 796 468 794 453 | 952 835 845 454 | 954 857 952 455 | 956 869 954 456 | 958 881 956 457 | 960 893 958 458 | 962 905 960 459 | 964 915 962 460 | 966 562 964 461 | 766 764 681 462 | 768 689 766 463 | 770 699 768 464 | 772 709 770 465 | 774 719 772 466 | 776 729 774 467 | 778 739 776 468 | 780 747 778 469 | 936 935 835 470 | 938 845 936 471 | 940 857 938 472 | 942 869 940 473 | 944 881 942 474 | 946 893 944 475 | 948 905 946 476 | 950 915 948 477 | 748 53 681 478 | 750 689 748 479 | 752 699 750 480 | 754 709 752 481 | 756 719 754 482 | 758 729 756 483 | 760 739 758 484 | 762 747 760 485 | 916 293 835 486 | 918 845 916 487 | 920 857 918 488 | 922 869 920 489 | 924 881 922 490 | 926 893 924 491 | 928 905 926 492 | 930 915 928 493 | 1244 935 1243 494 | 1002 464 675 495 | 1152 682 1005 496 | 1386 839 1243 497 | 1150 514 675 498 | 1384 621 829 499 | 1012 700 1005 500 | 1250 861 1243 501 | 1010 498 675 502 | 1248 601 829 503 | 1008 16 467 504 | 1246 239 561 505 | 1024 710 1005 506 | 1262 873 1243 507 | 1022 490 675 508 | 1260 591 829 509 | 1020 24 467 510 | 1258 251 561 511 | 1036 720 1005 512 | 1274 885 1243 513 | 1034 482 675 514 | 1272 581 829 515 | 1240 559 829 516 | 1000 48 467 517 | 1032 32 467 518 | 1270 263 561 519 | 1048 730 1005 520 | 1286 897 1243 521 | 1046 474 675 522 | 1284 571 829 523 | 1044 40 467 524 | 1282 275 561 525 | 532 6 467 526 | 642 223 561 527 | 742 537 675 528 | 910 647 829 529 | 524 4 467 530 | 632 219 561 531 | 516 2 467 532 | 622 215 561 533 | 1126 10 1065 534 | 1128 209 1126 535 | 1130 552 1128 536 | 1132 821 1130 537 | 1360 231 1301 538 | 1362 455 1360 539 | 1364 662 1362 540 | 1366 991 1364 541 | 1118 10 1089 542 | 1120 1065 1118 543 | 1122 209 1120 544 | 1124 821 1122 545 | 1352 231 1323 546 | 1354 1301 1352 547 | 1356 455 1354 548 | 1358 991 1356 549 | 1238 287 561 550 | 1160 1158 1158 551 | 1110 10 1079 552 | 1112 1065 1110 553 | 1114 209 1112 554 | 1116 552 1114 555 | 1344 231 1313 556 | 1346 1301 1344 557 | 1348 455 1346 558 | 1350 662 1348 559 | 1102 10 1089 560 | 1104 1079 1102 561 | 1106 1065 1104 562 | 1108 209 1106 563 | 1336 231 1323 564 | 1338 1313 1336 565 | 1340 1301 1338 566 | 1342 455 1340 567 | 1096 1065 1081 568 | 1098 552 1096 569 | 1100 821 1098 570 | 1330 1301 1315 571 | 1332 662 1330 572 | 1334 991 1332 573 | 1090 1089 1065 574 | 1092 1081 1090 575 | 1094 821 1092 576 | 1324 1323 1301 577 | 1326 1315 1324 578 | 1328 991 1326 579 | 1082 1079 1065 580 | 1084 1081 1082 581 | 1086 552 1084 582 | 1316 1313 1301 583 | 1318 1315 1316 584 | 1320 662 1318 585 | 1076 1074 1074 586 | 1070 507 691 587 | 1072 1062 1070 588 | 1074 14 1072 589 | 1306 610 848 590 | 1308 1298 1306 591 | 1310 234 1308 592 | 1080 14 14 593 | 1314 234 234 594 | 1176 526 526 595 | 1408 634 634 596 | 1068 1054 1054 597 | 1304 1292 1292 598 | 1066 1042 1042 599 | 1302 1280 1280 600 | 1158 1062 1156 601 | 1392 1298 1390 602 | 1202 552 821 603 | 1204 1157 1202 604 | 1206 1043 1204 605 | 1208 1177 1206 606 | 1168 1030 1030 607 | 1400 1268 1268 608 | 1004 820 820 609 | 1242 990 990 610 | 674 553 553 611 | 828 663 663 612 | 466 208 208 613 | 560 454 454 614 | 1220 1218 1218 615 | 1452 1450 1450 616 | 1166 1164 1164 617 | 1398 1396 1396 618 | 1064 1062 1062 619 | 1300 1298 1298 620 | 130 129 129 621 | 376 374 374 622 | 1174 673 673 623 | 1406 826 826 624 | 1172 523 523 625 | 1404 630 630 626 | 1434 662 991 627 | 1436 1391 1434 628 | 1438 1281 1436 629 | 1440 1409 1438 630 | 1194 1173 821 631 | 1196 1157 1194 632 | 1198 1043 1196 633 | 1200 1177 1198 634 | 94 93 93 635 | 338 336 336 636 | 74 73 73 637 | 316 314 314 638 | 1078 691 691 639 | 1312 848 848 640 | 1088 507 507 641 | 1322 610 610 642 | 12 11 11 643 | 232 230 230 644 | 20 19 19 645 | 244 242 242 646 | 28 27 27 647 | 256 254 254 648 | 36 35 35 649 | 268 266 266 650 | 44 43 43 651 | 280 278 278 652 | 52 51 51 653 | 292 290 290 654 | 1426 1405 991 655 | 1428 1391 1426 656 | 1430 1281 1428 657 | 1432 1409 1430 658 | 1186 1175 552 659 | 1188 1157 1186 660 | 1190 1043 1188 661 | 1192 1177 1190 662 | 1418 1407 662 663 | 1420 1391 1418 664 | 1422 1281 1420 665 | 1424 1409 1422 666 | 1178 1173 1175 667 | 1180 1157 1178 668 | 1182 1043 1180 669 | 1184 1177 1182 670 | 1410 1405 1407 671 | 1412 1391 1410 672 | 1414 1281 1412 673 | 1416 1409 1414 674 | 284 49 49 675 | 264 35 35 676 | 578 483 483 677 | 248 25 25 678 | 882 721 721 679 | 252 27 27 680 | 588 491 491 681 | 236 17 17 682 | 870 711 711 683 | 240 19 19 684 | 598 499 499 685 | 288 51 51 686 | 224 9 9 687 | 858 701 701 688 | 228 11 11 689 | 608 507 507 690 | 212 3 3 691 | 846 691 691 692 | 312 73 73 693 | 618 515 515 694 | 216 5 5 695 | 836 683 683 696 | 556 465 465 697 | 334 93 93 698 | 628 523 523 699 | 220 7 7 700 | 824 673 673 701 | 372 129 129 702 | 638 531 531 703 | 906 741 741 704 | 272 41 41 705 | 932 765 765 706 | 276 43 43 707 | 568 475 475 708 | 260 33 33 709 | 894 731 731 710 | 912 908 644 711 | 914 911 912 712 | 634 338 633 713 | 624 316 623 714 | 612 235 561 715 | 602 247 561 716 | 592 259 561 717 | 582 271 561 718 | 572 283 561 719 | 562 295 561 720 | 1368 1304 1311 721 | 1370 1321 1368 722 | 1372 1329 1370 723 | 1374 1335 1372 724 | 1376 1343 1374 725 | 1378 1351 1376 726 | 1380 1359 1378 727 | 1382 1367 1380 728 | 644 376 643 729 | 534 130 533 730 | 744 741 534 731 | 746 743 744 732 | 508 15 467 733 | 500 23 467 734 | 492 31 467 735 | 484 39 467 736 | 476 47 467 737 | 468 55 467 738 | 1134 1068 1076 739 | 1136 1087 1134 740 | 1138 1095 1136 741 | 1140 1101 1138 742 | 1142 1109 1140 743 | 1144 1117 1142 744 | 1146 1125 1144 745 | 1148 1133 1146 746 | 526 94 525 747 | 518 74 517 748 | 1504 1502 1502 749 | 1492 462 670 750 | 1494 998 1492 751 | 1496 1472 1494 752 | 1498 1478 1496 753 | 1500 1484 1498 754 | 1502 1490 1500 755 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim14.aag: -------------------------------------------------------------------------------- 1 | aag 927 41 0 1 886 2 | 2 3 | 4 4 | 6 5 | 8 6 | 10 7 | 12 8 | 14 9 | 16 10 | 18 11 | 20 12 | 22 13 | 24 14 | 26 15 | 28 16 | 30 17 | 32 18 | 34 19 | 36 20 | 38 21 | 40 22 | 42 23 | 44 24 | 46 25 | 48 26 | 50 27 | 52 28 | 54 29 | 56 30 | 58 31 | 60 32 | 62 33 | 64 34 | 66 35 | 68 36 | 70 37 | 72 38 | 74 39 | 76 40 | 78 41 | 80 42 | 82 43 | 1855 44 | 84 56 21 45 | 86 57 20 46 | 88 63 58 47 | 90 62 59 48 | 92 53 48 49 | 94 52 49 50 | 96 71 66 51 | 98 70 67 52 | 100 17 12 53 | 102 16 13 54 | 104 9 4 55 | 106 8 5 56 | 108 87 85 57 | 110 91 89 58 | 112 95 93 59 | 114 99 97 60 | 116 103 101 61 | 118 107 105 62 | 120 45 40 63 | 122 44 41 64 | 124 109 78 65 | 126 108 79 66 | 128 111 60 67 | 130 110 61 68 | 132 113 50 69 | 134 112 51 70 | 136 81 74 71 | 138 80 75 72 | 140 115 68 73 | 142 114 69 74 | 144 117 14 75 | 146 116 15 76 | 148 119 6 77 | 150 118 7 78 | 152 123 121 79 | 154 127 125 80 | 156 131 129 81 | 158 135 133 82 | 160 139 137 83 | 162 143 141 84 | 164 147 145 85 | 166 151 149 86 | 168 153 42 87 | 170 152 43 88 | 172 155 3 89 | 174 154 2 90 | 176 157 55 91 | 178 156 54 92 | 180 159 47 93 | 182 158 46 94 | 184 161 76 95 | 186 160 77 96 | 188 163 65 97 | 190 162 64 98 | 192 165 11 99 | 194 164 10 100 | 196 167 83 101 | 198 166 82 102 | 200 171 169 103 | 202 36 28 104 | 204 175 173 105 | 206 36 30 106 | 208 179 177 107 | 210 183 181 108 | 212 36 34 109 | 214 187 185 110 | 216 36 18 111 | 218 191 189 112 | 220 36 22 113 | 222 195 193 114 | 224 199 197 115 | 226 36 26 116 | 228 201 39 117 | 230 200 38 118 | 232 205 202 119 | 234 204 203 120 | 236 208 207 121 | 238 209 206 122 | 240 210 205 123 | 242 211 204 124 | 244 213 208 125 | 246 212 209 126 | 248 215 73 127 | 250 214 72 128 | 252 219 216 129 | 254 218 217 130 | 256 222 221 131 | 258 223 220 132 | 260 224 219 133 | 262 225 218 134 | 264 227 222 135 | 266 226 223 136 | 268 231 229 137 | 270 235 233 138 | 272 239 237 139 | 274 36 32 140 | 276 243 241 141 | 278 247 245 142 | 280 251 249 143 | 282 255 253 144 | 284 259 257 145 | 286 36 24 146 | 288 263 261 147 | 290 267 265 148 | 292 271 268 149 | 294 270 269 150 | 296 273 4 151 | 298 272 5 152 | 300 277 274 153 | 302 276 275 154 | 304 279 8 155 | 306 278 9 156 | 308 283 280 157 | 310 282 281 158 | 312 285 48 159 | 314 284 49 160 | 316 289 286 161 | 318 288 287 162 | 320 291 52 163 | 322 290 53 164 | 324 295 293 165 | 326 299 297 166 | 328 303 301 167 | 330 307 305 168 | 332 311 309 169 | 334 315 313 170 | 336 319 317 171 | 338 323 321 172 | 340 325 82 173 | 342 324 83 174 | 344 326 210 175 | 346 327 211 176 | 348 329 6 177 | 350 328 7 178 | 352 330 268 179 | 354 331 269 180 | 356 333 46 181 | 358 332 47 182 | 360 334 224 183 | 362 335 225 184 | 364 337 50 185 | 366 336 51 186 | 368 338 280 187 | 370 339 281 188 | 372 343 341 189 | 374 347 345 190 | 376 351 349 191 | 378 355 353 192 | 380 359 357 193 | 382 363 361 194 | 384 367 365 195 | 386 371 369 196 | 388 373 10 197 | 390 372 11 198 | 392 374 12 199 | 394 375 13 200 | 396 377 14 201 | 398 376 15 202 | 400 378 16 203 | 402 379 17 204 | 404 381 54 205 | 406 380 55 206 | 408 382 58 207 | 410 383 59 208 | 412 385 60 209 | 414 384 61 210 | 416 386 62 211 | 418 387 63 212 | 420 391 389 213 | 422 395 393 214 | 424 399 397 215 | 426 403 401 216 | 428 407 405 217 | 430 411 409 218 | 432 415 413 219 | 434 419 417 220 | 436 421 73 221 | 438 420 72 222 | 440 423 75 223 | 442 422 74 224 | 444 425 77 225 | 446 424 76 226 | 448 427 81 227 | 450 426 80 228 | 452 429 39 229 | 454 428 38 230 | 456 431 41 231 | 458 430 40 232 | 460 433 43 233 | 462 432 42 234 | 464 435 45 235 | 466 434 44 236 | 468 439 437 237 | 470 443 441 238 | 472 447 445 239 | 474 451 449 240 | 476 455 453 241 | 478 459 457 242 | 480 463 461 243 | 482 467 465 244 | 484 469 64 245 | 486 468 65 246 | 488 471 66 247 | 490 470 67 248 | 492 473 68 249 | 494 472 69 250 | 496 475 70 251 | 498 474 71 252 | 500 477 2 253 | 502 476 3 254 | 504 479 56 255 | 506 478 57 256 | 508 481 78 257 | 510 480 79 258 | 512 483 20 259 | 514 482 21 260 | 516 487 485 261 | 518 491 489 262 | 520 495 493 263 | 522 499 497 264 | 524 503 501 265 | 526 507 505 266 | 528 511 509 267 | 530 515 513 268 | 532 518 517 269 | 534 519 516 270 | 536 522 521 271 | 538 523 520 272 | 540 527 524 273 | 542 526 525 274 | 544 530 529 275 | 546 531 528 276 | 548 532 520 277 | 550 534 520 278 | 552 539 537 279 | 554 540 528 280 | 556 542 528 281 | 558 547 545 282 | 560 551 549 283 | 562 553 518 284 | 564 557 555 285 | 566 559 526 286 | 568 561 522 287 | 570 562 516 288 | 572 565 530 289 | 574 566 524 290 | 576 571 569 291 | 578 575 573 292 | 580 577 531 293 | 582 577 544 294 | 584 579 523 295 | 586 579 536 296 | 588 580 554 297 | 590 582 540 298 | 592 580 556 299 | 594 584 550 300 | 596 586 534 301 | 598 584 548 302 | 600 588 523 303 | 602 588 521 304 | 604 588 519 305 | 606 588 517 306 | 608 590 523 307 | 610 590 521 308 | 612 590 519 309 | 614 590 517 310 | 616 592 523 311 | 618 592 521 312 | 620 592 519 313 | 622 592 517 314 | 624 582 542 315 | 626 594 531 316 | 628 594 529 317 | 630 594 527 318 | 632 594 525 319 | 634 596 531 320 | 636 596 529 321 | 638 596 527 322 | 640 596 525 323 | 642 598 531 324 | 644 598 529 325 | 646 598 527 326 | 648 598 525 327 | 650 586 532 328 | 652 600 17 329 | 654 601 16 330 | 656 602 15 331 | 658 603 14 332 | 660 604 13 333 | 662 605 12 334 | 664 606 11 335 | 666 607 10 336 | 668 608 9 337 | 670 609 8 338 | 672 610 7 339 | 674 611 6 340 | 676 612 5 341 | 678 613 4 342 | 680 614 83 343 | 682 615 82 344 | 684 616 81 345 | 686 617 80 346 | 688 618 77 347 | 690 619 76 348 | 692 620 75 349 | 694 621 74 350 | 696 622 73 351 | 698 623 72 352 | 700 625 71 353 | 702 624 475 354 | 704 625 69 355 | 706 624 473 356 | 708 625 67 357 | 710 624 471 358 | 712 625 65 359 | 714 624 469 360 | 716 626 63 361 | 718 627 62 362 | 720 628 61 363 | 722 629 60 364 | 724 630 59 365 | 726 631 58 366 | 728 632 55 367 | 730 633 54 368 | 732 634 53 369 | 734 635 52 370 | 736 636 51 371 | 738 637 50 372 | 740 638 49 373 | 742 639 48 374 | 744 640 47 375 | 746 641 46 376 | 748 642 45 377 | 750 643 44 378 | 752 644 43 379 | 754 645 42 380 | 756 646 41 381 | 758 647 40 382 | 760 648 39 383 | 762 649 38 384 | 764 651 21 385 | 766 650 483 386 | 768 651 79 387 | 770 650 481 388 | 772 651 57 389 | 774 650 479 390 | 776 651 3 391 | 778 650 477 392 | 780 655 653 393 | 782 659 657 394 | 784 663 661 395 | 786 667 665 396 | 788 671 669 397 | 790 675 673 398 | 792 679 677 399 | 794 683 681 400 | 796 687 685 401 | 798 691 689 402 | 800 695 693 403 | 802 699 697 404 | 804 703 701 405 | 806 707 705 406 | 808 711 709 407 | 810 715 713 408 | 812 719 717 409 | 814 723 721 410 | 816 727 725 411 | 818 731 729 412 | 820 735 733 413 | 822 739 737 414 | 824 743 741 415 | 826 747 745 416 | 828 751 749 417 | 830 755 753 418 | 832 759 757 419 | 834 763 761 420 | 836 767 765 421 | 838 771 769 422 | 840 775 773 423 | 842 779 777 424 | 844 54 47 425 | 846 55 46 426 | 848 847 845 427 | 850 38 2 428 | 852 39 3 429 | 854 853 851 430 | 856 854 848 431 | 858 855 849 432 | 860 859 857 433 | 862 861 217 434 | 864 860 216 435 | 866 865 863 436 | 868 70 69 437 | 870 71 68 438 | 872 871 869 439 | 874 66 64 440 | 876 67 65 441 | 878 877 875 442 | 880 878 872 443 | 882 879 873 444 | 884 883 881 445 | 886 80 77 446 | 888 81 76 447 | 890 889 887 448 | 892 74 72 449 | 894 75 73 450 | 896 895 893 451 | 898 896 890 452 | 900 897 891 453 | 902 901 899 454 | 904 903 884 455 | 906 902 885 456 | 908 907 905 457 | 910 908 866 458 | 912 909 867 459 | 914 913 911 460 | 916 16 9 461 | 918 17 8 462 | 920 919 917 463 | 922 80 70 464 | 924 81 71 465 | 926 925 923 466 | 928 926 920 467 | 930 927 921 468 | 932 931 929 469 | 934 933 213 470 | 936 932 212 471 | 938 937 935 472 | 940 44 43 473 | 942 45 42 474 | 944 943 941 475 | 946 40 38 476 | 948 41 39 477 | 950 949 947 478 | 952 950 944 479 | 954 951 945 480 | 956 955 953 481 | 958 62 61 482 | 960 63 60 483 | 962 961 959 484 | 964 58 54 485 | 966 59 55 486 | 968 967 965 487 | 970 968 962 488 | 972 969 963 489 | 974 973 971 490 | 976 975 956 491 | 978 974 957 492 | 980 979 977 493 | 982 980 938 494 | 984 981 939 495 | 986 985 983 496 | 988 14 7 497 | 990 15 6 498 | 992 991 989 499 | 994 76 68 500 | 996 77 69 501 | 998 997 995 502 | 1000 998 992 503 | 1002 999 993 504 | 1004 1003 1001 505 | 1006 1005 275 506 | 1008 1004 274 507 | 1010 1009 1007 508 | 1012 79 20 509 | 1014 78 21 510 | 1016 1015 1013 511 | 1018 56 2 512 | 1020 57 3 513 | 1022 1021 1019 514 | 1024 1022 1016 515 | 1026 1023 1017 516 | 1028 1027 1025 517 | 1030 52 51 518 | 1032 53 50 519 | 1034 1033 1031 520 | 1036 48 46 521 | 1038 49 47 522 | 1040 1039 1037 523 | 1042 1040 1034 524 | 1044 1041 1035 525 | 1046 1045 1043 526 | 1048 1047 1028 527 | 1050 1046 1029 528 | 1052 1051 1049 529 | 1054 1052 1010 530 | 1056 1053 1011 531 | 1058 1057 1055 532 | 1060 1058 987 533 | 1062 58 49 534 | 1064 59 48 535 | 1066 1065 1063 536 | 1068 56 40 537 | 1070 57 41 538 | 1072 1071 1069 539 | 1074 1072 1066 540 | 1076 1073 1067 541 | 1078 1077 1075 542 | 1080 1079 220 543 | 1082 1078 221 544 | 1084 1083 1081 545 | 1086 16 15 546 | 1088 17 14 547 | 1090 1089 1087 548 | 1092 12 10 549 | 1094 13 11 550 | 1096 1095 1093 551 | 1098 1096 1090 552 | 1100 1097 1091 553 | 1102 1101 1099 554 | 1104 8 7 555 | 1106 9 6 556 | 1108 1107 1105 557 | 1110 82 4 558 | 1112 83 5 559 | 1114 1113 1111 560 | 1116 1114 1108 561 | 1118 1115 1109 562 | 1120 1119 1117 563 | 1122 1120 1102 564 | 1124 1121 1103 565 | 1126 1125 1123 566 | 1128 1126 1084 567 | 1130 1127 1085 568 | 1132 1131 1129 569 | 1134 1133 914 570 | 1136 1132 915 571 | 1138 1137 1135 572 | 1140 1102 227 573 | 1142 1103 226 574 | 1144 1143 1141 575 | 1146 62 53 576 | 1148 63 52 577 | 1150 1149 1147 578 | 1152 44 20 579 | 1154 45 21 580 | 1156 1155 1153 581 | 1158 1156 1150 582 | 1160 1157 1151 583 | 1162 1161 1159 584 | 1164 1162 902 585 | 1166 1163 903 586 | 1168 1167 1165 587 | 1170 1168 1144 588 | 1172 1169 1145 589 | 1174 1173 1171 590 | 1176 1120 287 591 | 1178 1121 286 592 | 1180 1179 1177 593 | 1182 60 51 594 | 1184 61 50 595 | 1186 1185 1183 596 | 1188 78 42 597 | 1190 79 43 598 | 1192 1191 1189 599 | 1194 1192 1186 600 | 1196 1193 1187 601 | 1198 1197 1195 602 | 1200 1198 884 603 | 1202 1199 885 604 | 1204 1203 1201 605 | 1206 1204 1180 606 | 1208 1205 1181 607 | 1210 1209 1207 608 | 1212 1211 1175 609 | 1214 1212 1139 610 | 1216 1210 1175 611 | 1218 1211 1174 612 | 1220 1219 1217 613 | 1222 1133 915 614 | 1224 1222 1221 615 | 1226 1225 1215 616 | 1228 83 10 617 | 1230 82 11 618 | 1232 1231 1229 619 | 1234 72 64 620 | 1236 73 65 621 | 1238 1237 1235 622 | 1240 1238 1232 623 | 1242 1239 1233 624 | 1244 1243 1241 625 | 1246 1245 202 626 | 1248 1244 203 627 | 1250 1249 1247 628 | 1252 1028 956 629 | 1254 1029 957 630 | 1256 1255 1253 631 | 1258 1256 1250 632 | 1260 1257 1251 633 | 1262 1261 1259 634 | 1264 12 5 635 | 1266 13 4 636 | 1268 1267 1265 637 | 1270 74 66 638 | 1272 75 67 639 | 1274 1273 1271 640 | 1276 1274 1268 641 | 1278 1275 1269 642 | 1280 1279 1277 643 | 1282 1281 206 644 | 1284 1280 207 645 | 1286 1285 1283 646 | 1288 1046 974 647 | 1290 1047 975 648 | 1292 1291 1289 649 | 1294 1292 1286 650 | 1296 1293 1287 651 | 1298 1297 1295 652 | 1300 1299 1262 653 | 1302 1300 1227 654 | 1304 1302 1060 655 | 1306 1304 914 656 | 1308 1306 3 657 | 1310 1307 2 658 | 1312 1311 1309 659 | 1314 1304 1132 660 | 1316 1314 57 661 | 1318 1315 56 662 | 1320 1319 1317 663 | 1322 1304 1210 664 | 1324 1322 79 665 | 1326 1323 78 666 | 1328 1327 1325 667 | 1330 1304 1174 668 | 1332 1330 21 669 | 1334 1331 20 670 | 1336 1335 1333 671 | 1338 1059 986 672 | 1340 1338 1227 673 | 1342 1340 1300 674 | 1344 1342 914 675 | 1346 1344 39 676 | 1348 1345 38 677 | 1350 1349 1347 678 | 1352 1342 1132 679 | 1354 1352 41 680 | 1356 1353 40 681 | 1358 1357 1355 682 | 1360 1342 1210 683 | 1362 1360 43 684 | 1364 1361 42 685 | 1366 1365 1363 686 | 1368 1342 1174 687 | 1370 1368 45 688 | 1372 1369 44 689 | 1374 1373 1371 690 | 1376 1298 1263 691 | 1378 1227 1060 692 | 1380 1378 1376 693 | 1382 1380 914 694 | 1384 1382 47 695 | 1386 1383 46 696 | 1388 1387 1385 697 | 1390 1380 1132 698 | 1392 1390 49 699 | 1394 1391 48 700 | 1396 1395 1393 701 | 1398 1380 1210 702 | 1400 1398 51 703 | 1402 1399 50 704 | 1404 1403 1401 705 | 1406 1380 1174 706 | 1408 1406 53 707 | 1410 1407 52 708 | 1412 1411 1409 709 | 1414 1376 1340 710 | 1416 1414 914 711 | 1418 1416 55 712 | 1420 1417 54 713 | 1422 1421 1419 714 | 1424 1414 1132 715 | 1426 1424 59 716 | 1428 1425 58 717 | 1430 1429 1427 718 | 1432 1414 1210 719 | 1434 1432 61 720 | 1436 1433 60 721 | 1438 1437 1435 722 | 1440 1414 1174 723 | 1442 1440 62 724 | 1444 1441 63 725 | 1446 1445 1443 726 | 1448 1339 1061 727 | 1450 1449 1299 728 | 1452 1450 1263 729 | 1454 1377 1301 730 | 1456 1455 987 731 | 1458 1456 1059 732 | 1460 1459 1453 733 | 1462 1461 1134 734 | 1464 1462 1216 735 | 1466 1464 1262 736 | 1468 1466 65 737 | 1470 1467 64 738 | 1472 1471 1469 739 | 1474 1464 1298 740 | 1476 1474 67 741 | 1478 1475 66 742 | 1480 1479 1477 743 | 1482 1464 1058 744 | 1484 1482 69 745 | 1486 1483 68 746 | 1488 1487 1485 747 | 1490 1464 986 748 | 1492 1490 71 749 | 1494 1491 70 750 | 1496 1495 1493 751 | 1498 1462 1218 752 | 1500 1498 1262 753 | 1502 1500 73 754 | 1504 1501 72 755 | 1506 1505 1503 756 | 1508 1498 1298 757 | 1510 1508 75 758 | 1512 1509 74 759 | 1514 1513 1511 760 | 1516 1498 1058 761 | 1518 1516 77 762 | 1520 1517 76 763 | 1522 1521 1519 764 | 1524 1498 986 765 | 1526 1524 81 766 | 1528 1525 80 767 | 1530 1529 1527 768 | 1532 1461 1136 769 | 1534 1532 1216 770 | 1536 1534 1262 771 | 1538 1536 83 772 | 1540 1537 82 773 | 1542 1541 1539 774 | 1544 1534 1298 775 | 1546 1544 5 776 | 1548 1545 4 777 | 1550 1549 1547 778 | 1552 1534 1058 779 | 1554 1552 7 780 | 1556 1553 6 781 | 1558 1557 1555 782 | 1560 1534 986 783 | 1562 1560 9 784 | 1564 1561 8 785 | 1566 1565 1563 786 | 1568 1532 1218 787 | 1570 1568 1262 788 | 1572 1570 11 789 | 1574 1571 10 790 | 1576 1575 1573 791 | 1578 1568 1298 792 | 1580 1578 13 793 | 1582 1579 12 794 | 1584 1583 1581 795 | 1586 1568 1058 796 | 1588 1586 15 797 | 1590 1587 14 798 | 1592 1591 1589 799 | 1594 1568 986 800 | 1596 1594 17 801 | 1598 1595 16 802 | 1600 1599 1597 803 | 1602 1313 843 804 | 1604 1312 842 805 | 1606 1605 1603 806 | 1608 1321 841 807 | 1610 1320 840 808 | 1612 1611 1609 809 | 1614 1329 839 810 | 1616 1328 838 811 | 1618 1617 1615 812 | 1620 1337 837 813 | 1622 1336 836 814 | 1624 1623 1621 815 | 1626 1351 834 816 | 1628 1350 835 817 | 1630 1629 1627 818 | 1632 1359 832 819 | 1634 1358 833 820 | 1636 1635 1633 821 | 1638 1367 830 822 | 1640 1366 831 823 | 1642 1641 1639 824 | 1644 1375 828 825 | 1646 1374 829 826 | 1648 1647 1645 827 | 1650 1389 826 828 | 1652 1388 827 829 | 1654 1653 1651 830 | 1656 1397 824 831 | 1658 1396 825 832 | 1660 1659 1657 833 | 1662 1405 822 834 | 1664 1404 823 835 | 1666 1665 1663 836 | 1668 1413 820 837 | 1670 1412 821 838 | 1672 1671 1669 839 | 1674 1423 818 840 | 1676 1422 819 841 | 1678 1677 1675 842 | 1680 1431 816 843 | 1682 1430 817 844 | 1684 1683 1681 845 | 1686 1439 814 846 | 1688 1438 815 847 | 1690 1689 1687 848 | 1692 1446 812 849 | 1694 1447 813 850 | 1696 1695 1693 851 | 1698 1473 811 852 | 1700 1472 810 853 | 1702 1701 1699 854 | 1704 1481 809 855 | 1706 1480 808 856 | 1708 1707 1705 857 | 1710 1489 807 858 | 1712 1488 806 859 | 1714 1713 1711 860 | 1716 1497 805 861 | 1718 1496 804 862 | 1720 1719 1717 863 | 1722 1507 802 864 | 1724 1506 803 865 | 1726 1725 1723 866 | 1728 1515 800 867 | 1730 1514 801 868 | 1732 1731 1729 869 | 1734 1523 798 870 | 1736 1522 799 871 | 1738 1737 1735 872 | 1740 1531 796 873 | 1742 1530 797 874 | 1744 1743 1741 875 | 1746 1543 794 876 | 1748 1542 795 877 | 1750 1749 1747 878 | 1752 1551 792 879 | 1754 1550 793 880 | 1756 1755 1753 881 | 1758 1559 790 882 | 1760 1558 791 883 | 1762 1761 1759 884 | 1764 1567 788 885 | 1766 1566 789 886 | 1768 1767 1765 887 | 1770 1577 786 888 | 1772 1576 787 889 | 1774 1773 1771 890 | 1776 1585 784 891 | 1778 1584 785 892 | 1780 1779 1777 893 | 1782 1593 782 894 | 1784 1592 783 895 | 1786 1785 1783 896 | 1788 1601 780 897 | 1790 1600 781 898 | 1792 1791 1789 899 | 1794 1612 1606 900 | 1796 1624 1618 901 | 1798 1796 1794 902 | 1800 1636 1630 903 | 1802 1648 1642 904 | 1804 1802 1800 905 | 1806 1804 1798 906 | 1808 1660 1654 907 | 1810 1672 1666 908 | 1812 1810 1808 909 | 1814 1684 1678 910 | 1816 1696 1690 911 | 1818 1816 1814 912 | 1820 1818 1812 913 | 1822 1820 1806 914 | 1824 1708 1702 915 | 1826 1720 1714 916 | 1828 1826 1824 917 | 1830 1732 1726 918 | 1832 1744 1738 919 | 1834 1832 1830 920 | 1836 1834 1828 921 | 1838 1756 1750 922 | 1840 1768 1762 923 | 1842 1840 1838 924 | 1844 1780 1774 925 | 1846 1792 1786 926 | 1848 1846 1844 927 | 1850 1848 1842 928 | 1852 1850 1836 929 | 1854 1852 1822 930 | i0 1 931 | i1 101 932 | i2 105 933 | i3 109 934 | i4 113 935 | i5 117 936 | i6 121 937 | i7 125 938 | i8 129 939 | i9 13 940 | i10 130 941 | i11 131 942 | i12 132 943 | i13 133 944 | i14 134 945 | i15 135 946 | i16 136 947 | i17 137 948 | i18 17 949 | i19 21 950 | i20 25 951 | i21 29 952 | i22 33 953 | i23 37 954 | i24 41 955 | i25 45 956 | i26 49 957 | i27 5 958 | i28 53 959 | i29 57 960 | i30 61 961 | i31 65 962 | i32 69 963 | i33 73 964 | i34 77 965 | i35 81 966 | i36 85 967 | i37 89 968 | i38 9 969 | i39 93 970 | i40 97 971 | o0 miter 972 | c 973 | 1_2_miter 974 | This file was written by ABC on Thu Jan 13 13:50:44 2011 975 | For information about AIGER format, refer to http://fmv.jku.at/aiger 976 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/sim15.aag: -------------------------------------------------------------------------------- 1 | aag 927 41 0 1 886 2 | 2 3 | 4 4 | 6 5 | 8 6 | 10 7 | 12 8 | 14 9 | 16 10 | 18 11 | 20 12 | 22 13 | 24 14 | 26 15 | 28 16 | 30 17 | 32 18 | 34 19 | 36 20 | 38 21 | 40 22 | 42 23 | 44 24 | 46 25 | 48 26 | 50 27 | 52 28 | 54 29 | 56 30 | 58 31 | 60 32 | 62 33 | 64 34 | 66 35 | 68 36 | 70 37 | 72 38 | 74 39 | 76 40 | 78 41 | 80 42 | 82 43 | 1855 44 | 84 56 21 45 | 86 57 20 46 | 88 63 58 47 | 90 62 59 48 | 92 53 48 49 | 94 52 49 50 | 96 71 66 51 | 98 70 67 52 | 100 17 12 53 | 102 16 13 54 | 104 9 4 55 | 106 8 5 56 | 108 87 85 57 | 110 91 89 58 | 112 95 93 59 | 114 99 97 60 | 116 103 101 61 | 118 107 105 62 | 120 45 40 63 | 122 44 41 64 | 124 109 78 65 | 126 108 79 66 | 128 111 60 67 | 130 110 61 68 | 132 113 50 69 | 134 112 51 70 | 136 81 74 71 | 138 80 75 72 | 140 115 68 73 | 142 114 69 74 | 144 117 14 75 | 146 116 15 76 | 148 119 6 77 | 150 118 7 78 | 152 123 121 79 | 154 127 125 80 | 156 131 129 81 | 158 135 133 82 | 160 139 137 83 | 162 143 141 84 | 164 147 145 85 | 166 151 149 86 | 168 153 42 87 | 170 152 43 88 | 172 155 3 89 | 174 154 2 90 | 176 157 55 91 | 178 156 54 92 | 180 159 47 93 | 182 158 46 94 | 184 161 76 95 | 186 160 77 96 | 188 163 65 97 | 190 162 64 98 | 192 165 11 99 | 194 164 10 100 | 196 167 83 101 | 198 166 82 102 | 200 171 169 103 | 202 36 28 104 | 204 175 173 105 | 206 36 30 106 | 208 179 177 107 | 210 183 181 108 | 212 36 34 109 | 214 187 185 110 | 216 36 18 111 | 218 191 189 112 | 220 36 22 113 | 222 195 193 114 | 224 199 197 115 | 226 36 26 116 | 228 201 39 117 | 230 200 38 118 | 232 205 202 119 | 234 204 203 120 | 236 208 207 121 | 238 209 206 122 | 240 210 205 123 | 242 211 204 124 | 244 213 208 125 | 246 212 209 126 | 248 215 73 127 | 250 214 72 128 | 252 219 216 129 | 254 218 217 130 | 256 222 221 131 | 258 223 220 132 | 260 224 219 133 | 262 225 218 134 | 264 227 222 135 | 266 226 223 136 | 268 231 229 137 | 270 235 233 138 | 272 239 237 139 | 274 36 32 140 | 276 243 241 141 | 278 247 245 142 | 280 251 249 143 | 282 255 253 144 | 284 259 257 145 | 286 36 24 146 | 288 263 261 147 | 290 267 265 148 | 292 271 268 149 | 294 270 269 150 | 296 273 4 151 | 298 272 5 152 | 300 277 274 153 | 302 276 275 154 | 304 279 8 155 | 306 278 9 156 | 308 283 280 157 | 310 282 281 158 | 312 285 48 159 | 314 284 49 160 | 316 289 286 161 | 318 288 287 162 | 320 291 52 163 | 322 290 53 164 | 324 295 293 165 | 326 299 297 166 | 328 303 301 167 | 330 307 305 168 | 332 311 309 169 | 334 315 313 170 | 336 319 317 171 | 338 323 321 172 | 340 325 82 173 | 342 324 83 174 | 344 326 210 175 | 346 327 211 176 | 348 329 6 177 | 350 328 7 178 | 352 330 268 179 | 354 331 269 180 | 356 333 46 181 | 358 332 47 182 | 360 334 224 183 | 362 335 225 184 | 364 337 50 185 | 366 336 51 186 | 368 338 280 187 | 370 339 281 188 | 372 343 341 189 | 374 347 345 190 | 376 351 349 191 | 378 355 353 192 | 380 359 357 193 | 382 363 361 194 | 384 367 365 195 | 386 371 369 196 | 388 373 10 197 | 390 372 11 198 | 392 374 12 199 | 394 375 13 200 | 396 377 14 201 | 398 376 15 202 | 400 378 16 203 | 402 379 17 204 | 404 381 54 205 | 406 380 55 206 | 408 382 58 207 | 410 383 59 208 | 412 385 60 209 | 414 384 61 210 | 416 386 62 211 | 418 387 63 212 | 420 391 389 213 | 422 395 393 214 | 424 399 397 215 | 426 403 401 216 | 428 407 405 217 | 430 411 409 218 | 432 415 413 219 | 434 419 417 220 | 436 421 73 221 | 438 420 72 222 | 440 423 75 223 | 442 422 74 224 | 444 425 77 225 | 446 424 76 226 | 448 427 81 227 | 450 426 80 228 | 452 429 39 229 | 454 428 38 230 | 456 431 41 231 | 458 430 40 232 | 460 433 43 233 | 462 432 42 234 | 464 435 45 235 | 466 434 44 236 | 468 439 437 237 | 470 443 441 238 | 472 447 445 239 | 474 451 449 240 | 476 455 453 241 | 478 459 457 242 | 480 463 461 243 | 482 467 465 244 | 484 469 64 245 | 486 468 65 246 | 488 471 66 247 | 490 470 67 248 | 492 473 68 249 | 494 472 69 250 | 496 475 70 251 | 498 474 71 252 | 500 477 2 253 | 502 476 3 254 | 504 479 56 255 | 506 478 57 256 | 508 481 78 257 | 510 480 79 258 | 512 483 20 259 | 514 482 21 260 | 516 487 485 261 | 518 491 489 262 | 520 495 493 263 | 522 499 497 264 | 524 503 501 265 | 526 507 505 266 | 528 511 509 267 | 530 515 513 268 | 532 518 517 269 | 534 519 516 270 | 536 522 521 271 | 538 523 520 272 | 540 527 524 273 | 542 526 525 274 | 544 530 529 275 | 546 531 528 276 | 548 532 520 277 | 550 534 520 278 | 552 539 537 279 | 554 540 528 280 | 556 542 528 281 | 558 547 545 282 | 560 551 549 283 | 562 553 518 284 | 564 557 555 285 | 566 559 526 286 | 568 561 522 287 | 570 562 516 288 | 572 565 530 289 | 574 566 524 290 | 576 571 569 291 | 578 575 573 292 | 580 577 531 293 | 582 577 544 294 | 584 579 523 295 | 586 579 536 296 | 588 580 554 297 | 590 582 540 298 | 592 580 556 299 | 594 584 550 300 | 596 586 534 301 | 598 584 548 302 | 600 588 523 303 | 602 588 521 304 | 604 588 519 305 | 606 588 517 306 | 608 590 523 307 | 610 590 521 308 | 612 590 519 309 | 614 590 517 310 | 616 592 523 311 | 618 592 521 312 | 620 592 519 313 | 622 592 517 314 | 624 582 542 315 | 626 594 531 316 | 628 594 529 317 | 630 594 527 318 | 632 594 525 319 | 634 596 531 320 | 636 596 529 321 | 638 596 527 322 | 640 596 525 323 | 642 598 531 324 | 644 598 529 325 | 646 598 527 326 | 648 598 525 327 | 650 586 532 328 | 652 600 17 329 | 654 601 16 330 | 656 602 15 331 | 658 603 14 332 | 660 604 13 333 | 662 605 12 334 | 664 606 11 335 | 666 607 10 336 | 668 608 9 337 | 670 609 8 338 | 672 610 7 339 | 674 611 6 340 | 676 612 5 341 | 678 613 4 342 | 680 614 83 343 | 682 615 82 344 | 684 616 81 345 | 686 617 80 346 | 688 618 77 347 | 690 619 76 348 | 692 620 75 349 | 694 621 74 350 | 696 622 73 351 | 698 623 72 352 | 700 625 71 353 | 702 624 475 354 | 704 625 69 355 | 706 624 473 356 | 708 625 67 357 | 710 624 471 358 | 712 625 65 359 | 714 624 469 360 | 716 626 63 361 | 718 627 62 362 | 720 628 61 363 | 722 629 60 364 | 724 630 59 365 | 726 631 58 366 | 728 632 55 367 | 730 633 54 368 | 732 634 53 369 | 734 635 52 370 | 736 636 51 371 | 738 637 50 372 | 740 638 49 373 | 742 639 48 374 | 744 640 47 375 | 746 641 46 376 | 748 642 45 377 | 750 643 44 378 | 752 644 43 379 | 754 645 42 380 | 756 646 41 381 | 758 647 40 382 | 760 648 39 383 | 762 649 38 384 | 764 651 21 385 | 766 650 483 386 | 768 651 79 387 | 770 650 481 388 | 772 651 57 389 | 774 650 479 390 | 776 651 3 391 | 778 650 477 392 | 780 655 653 393 | 782 659 657 394 | 784 663 661 395 | 786 667 665 396 | 788 671 669 397 | 790 675 673 398 | 792 679 677 399 | 794 683 681 400 | 796 687 685 401 | 798 691 689 402 | 800 695 693 403 | 802 699 697 404 | 804 703 701 405 | 806 707 705 406 | 808 711 709 407 | 810 715 713 408 | 812 719 717 409 | 814 723 721 410 | 816 727 725 411 | 818 731 729 412 | 820 735 733 413 | 822 739 737 414 | 824 743 741 415 | 826 747 745 416 | 828 751 749 417 | 830 755 753 418 | 832 759 757 419 | 834 763 761 420 | 836 767 765 421 | 838 771 769 422 | 840 775 773 423 | 842 779 777 424 | 844 54 47 425 | 846 55 46 426 | 848 847 845 427 | 850 38 2 428 | 852 39 3 429 | 854 853 851 430 | 856 854 848 431 | 858 855 849 432 | 860 859 857 433 | 862 861 217 434 | 864 860 216 435 | 866 865 863 436 | 868 70 69 437 | 870 71 68 438 | 872 871 869 439 | 874 66 64 440 | 876 67 65 441 | 878 877 875 442 | 880 878 872 443 | 882 879 873 444 | 884 883 881 445 | 886 80 77 446 | 888 81 76 447 | 890 889 887 448 | 892 74 72 449 | 894 75 73 450 | 896 895 893 451 | 898 896 890 452 | 900 897 891 453 | 902 901 899 454 | 904 903 884 455 | 906 902 885 456 | 908 907 905 457 | 910 908 866 458 | 912 909 867 459 | 914 913 911 460 | 916 16 9 461 | 918 17 8 462 | 920 919 917 463 | 922 80 70 464 | 924 81 71 465 | 926 925 923 466 | 928 926 920 467 | 930 926 921 468 | 932 931 929 469 | 934 933 213 470 | 936 932 212 471 | 938 937 935 472 | 940 44 43 473 | 942 45 42 474 | 944 943 941 475 | 946 40 38 476 | 948 41 39 477 | 950 949 947 478 | 952 950 944 479 | 954 951 945 480 | 956 955 953 481 | 958 62 61 482 | 960 63 60 483 | 962 961 959 484 | 964 58 54 485 | 966 59 55 486 | 968 967 965 487 | 970 968 962 488 | 972 969 963 489 | 974 973 971 490 | 976 975 956 491 | 978 974 957 492 | 980 979 977 493 | 982 980 938 494 | 984 981 939 495 | 986 985 983 496 | 988 14 7 497 | 990 15 6 498 | 992 991 989 499 | 994 76 68 500 | 996 77 69 501 | 998 997 995 502 | 1000 998 992 503 | 1002 999 993 504 | 1004 1003 1001 505 | 1006 1005 275 506 | 1008 1004 274 507 | 1010 1009 1007 508 | 1012 79 20 509 | 1014 78 21 510 | 1016 1015 1013 511 | 1018 56 2 512 | 1020 57 3 513 | 1022 1021 1019 514 | 1024 1022 1016 515 | 1026 1023 1017 516 | 1028 1027 1025 517 | 1030 52 51 518 | 1032 53 50 519 | 1034 1033 1031 520 | 1036 48 46 521 | 1038 49 47 522 | 1040 1039 1037 523 | 1042 1040 1034 524 | 1044 1041 1035 525 | 1046 1045 1043 526 | 1048 1047 1028 527 | 1050 1046 1029 528 | 1052 1051 1049 529 | 1054 1052 1010 530 | 1056 1053 1011 531 | 1058 1057 1055 532 | 1060 1058 987 533 | 1062 58 49 534 | 1064 59 48 535 | 1066 1065 1063 536 | 1068 56 40 537 | 1070 57 41 538 | 1072 1071 1069 539 | 1074 1072 1066 540 | 1076 1073 1067 541 | 1078 1077 1075 542 | 1080 1079 220 543 | 1082 1078 221 544 | 1084 1083 1081 545 | 1086 16 15 546 | 1088 17 14 547 | 1090 1089 1087 548 | 1092 12 10 549 | 1094 13 11 550 | 1096 1095 1093 551 | 1098 1096 1090 552 | 1100 1097 1091 553 | 1102 1101 1099 554 | 1104 8 7 555 | 1106 9 6 556 | 1108 1107 1105 557 | 1110 82 4 558 | 1112 83 5 559 | 1114 1113 1111 560 | 1116 1114 1108 561 | 1118 1115 1109 562 | 1120 1119 1117 563 | 1122 1120 1102 564 | 1124 1121 1103 565 | 1126 1125 1123 566 | 1128 1126 1084 567 | 1130 1127 1085 568 | 1132 1131 1129 569 | 1134 1133 914 570 | 1136 1132 915 571 | 1138 1137 1135 572 | 1140 1102 227 573 | 1142 1103 226 574 | 1144 1143 1141 575 | 1146 62 53 576 | 1148 63 52 577 | 1150 1149 1147 578 | 1152 44 20 579 | 1154 45 21 580 | 1156 1155 1153 581 | 1158 1156 1150 582 | 1160 1157 1151 583 | 1162 1161 1159 584 | 1164 1162 902 585 | 1166 1163 903 586 | 1168 1167 1165 587 | 1170 1168 1144 588 | 1172 1169 1145 589 | 1174 1173 1171 590 | 1176 1120 287 591 | 1178 1121 286 592 | 1180 1179 1177 593 | 1182 60 51 594 | 1184 61 50 595 | 1186 1185 1183 596 | 1188 78 42 597 | 1190 79 43 598 | 1192 1191 1189 599 | 1194 1192 1186 600 | 1196 1193 1187 601 | 1198 1197 1195 602 | 1200 1198 884 603 | 1202 1199 885 604 | 1204 1203 1201 605 | 1206 1204 1180 606 | 1208 1205 1181 607 | 1210 1209 1207 608 | 1212 1211 1175 609 | 1214 1212 1139 610 | 1216 1210 1175 611 | 1218 1211 1174 612 | 1220 1219 1217 613 | 1222 1133 915 614 | 1224 1222 1221 615 | 1226 1225 1215 616 | 1228 83 10 617 | 1230 82 11 618 | 1232 1231 1229 619 | 1234 72 64 620 | 1236 73 65 621 | 1238 1237 1235 622 | 1240 1238 1232 623 | 1242 1239 1233 624 | 1244 1243 1241 625 | 1246 1245 202 626 | 1248 1244 203 627 | 1250 1249 1247 628 | 1252 1028 956 629 | 1254 1029 957 630 | 1256 1255 1253 631 | 1258 1256 1250 632 | 1260 1257 1251 633 | 1262 1261 1259 634 | 1264 12 5 635 | 1266 13 4 636 | 1268 1267 1265 637 | 1270 74 66 638 | 1272 75 67 639 | 1274 1273 1271 640 | 1276 1274 1268 641 | 1278 1275 1269 642 | 1280 1279 1277 643 | 1282 1281 206 644 | 1284 1280 207 645 | 1286 1285 1283 646 | 1288 1046 974 647 | 1290 1047 975 648 | 1292 1291 1289 649 | 1294 1292 1286 650 | 1296 1293 1287 651 | 1298 1297 1295 652 | 1300 1299 1262 653 | 1302 1300 1227 654 | 1304 1302 1060 655 | 1306 1304 914 656 | 1308 1306 3 657 | 1310 1307 2 658 | 1312 1311 1309 659 | 1314 1304 1132 660 | 1316 1314 57 661 | 1318 1315 56 662 | 1320 1319 1317 663 | 1322 1304 1210 664 | 1324 1322 79 665 | 1326 1323 78 666 | 1328 1327 1325 667 | 1330 1304 1174 668 | 1332 1330 21 669 | 1334 1331 20 670 | 1336 1335 1333 671 | 1338 1059 986 672 | 1340 1338 1227 673 | 1342 1340 1300 674 | 1344 1342 914 675 | 1346 1344 39 676 | 1348 1345 38 677 | 1350 1349 1347 678 | 1352 1342 1132 679 | 1354 1352 41 680 | 1356 1353 40 681 | 1358 1357 1355 682 | 1360 1342 1210 683 | 1362 1360 43 684 | 1364 1361 42 685 | 1366 1365 1363 686 | 1368 1342 1174 687 | 1370 1368 45 688 | 1372 1369 44 689 | 1374 1373 1371 690 | 1376 1298 1263 691 | 1378 1227 1060 692 | 1380 1378 1376 693 | 1382 1380 914 694 | 1384 1382 47 695 | 1386 1383 46 696 | 1388 1387 1385 697 | 1390 1380 1132 698 | 1392 1390 49 699 | 1394 1391 48 700 | 1396 1395 1393 701 | 1398 1380 1210 702 | 1400 1398 51 703 | 1402 1399 50 704 | 1404 1403 1401 705 | 1406 1380 1174 706 | 1408 1406 53 707 | 1410 1407 52 708 | 1412 1411 1409 709 | 1414 1376 1340 710 | 1416 1414 914 711 | 1418 1416 55 712 | 1420 1417 54 713 | 1422 1421 1419 714 | 1424 1414 1132 715 | 1426 1424 59 716 | 1428 1425 58 717 | 1430 1429 1427 718 | 1432 1414 1210 719 | 1434 1432 61 720 | 1436 1433 60 721 | 1438 1437 1435 722 | 1440 1414 1174 723 | 1442 1440 62 724 | 1444 1441 63 725 | 1446 1445 1443 726 | 1448 1339 1061 727 | 1450 1449 1299 728 | 1452 1450 1263 729 | 1454 1377 1301 730 | 1456 1455 987 731 | 1458 1456 1059 732 | 1460 1459 1453 733 | 1462 1461 1134 734 | 1464 1462 1216 735 | 1466 1464 1262 736 | 1468 1466 65 737 | 1470 1467 64 738 | 1472 1471 1469 739 | 1474 1464 1298 740 | 1476 1474 67 741 | 1478 1475 66 742 | 1480 1479 1477 743 | 1482 1464 1058 744 | 1484 1482 69 745 | 1486 1483 68 746 | 1488 1487 1485 747 | 1490 1464 986 748 | 1492 1490 71 749 | 1494 1491 70 750 | 1496 1495 1493 751 | 1498 1462 1218 752 | 1500 1498 1262 753 | 1502 1500 73 754 | 1504 1501 72 755 | 1506 1505 1503 756 | 1508 1498 1298 757 | 1510 1508 75 758 | 1512 1509 74 759 | 1514 1513 1511 760 | 1516 1498 1058 761 | 1518 1516 77 762 | 1520 1517 76 763 | 1522 1521 1519 764 | 1524 1498 986 765 | 1526 1524 81 766 | 1528 1525 80 767 | 1530 1529 1527 768 | 1532 1461 1136 769 | 1534 1532 1216 770 | 1536 1534 1262 771 | 1538 1536 83 772 | 1540 1537 82 773 | 1542 1541 1539 774 | 1544 1534 1298 775 | 1546 1544 5 776 | 1548 1545 4 777 | 1550 1549 1547 778 | 1552 1534 1058 779 | 1554 1552 7 780 | 1556 1553 6 781 | 1558 1557 1555 782 | 1560 1534 986 783 | 1562 1560 9 784 | 1564 1561 8 785 | 1566 1565 1563 786 | 1568 1532 1218 787 | 1570 1568 1262 788 | 1572 1570 11 789 | 1574 1571 10 790 | 1576 1575 1573 791 | 1578 1568 1298 792 | 1580 1578 13 793 | 1582 1579 12 794 | 1584 1583 1581 795 | 1586 1568 1058 796 | 1588 1586 15 797 | 1590 1587 14 798 | 1592 1591 1589 799 | 1594 1568 986 800 | 1596 1594 17 801 | 1598 1595 16 802 | 1600 1599 1597 803 | 1602 1313 843 804 | 1604 1312 842 805 | 1606 1605 1603 806 | 1608 1321 841 807 | 1610 1320 840 808 | 1612 1611 1609 809 | 1614 1329 839 810 | 1616 1328 838 811 | 1618 1617 1615 812 | 1620 1337 837 813 | 1622 1336 836 814 | 1624 1623 1621 815 | 1626 1351 834 816 | 1628 1350 835 817 | 1630 1629 1627 818 | 1632 1359 832 819 | 1634 1358 833 820 | 1636 1635 1633 821 | 1638 1367 830 822 | 1640 1366 831 823 | 1642 1641 1639 824 | 1644 1375 828 825 | 1646 1374 829 826 | 1648 1647 1645 827 | 1650 1389 826 828 | 1652 1388 827 829 | 1654 1653 1651 830 | 1656 1397 824 831 | 1658 1396 825 832 | 1660 1659 1657 833 | 1662 1405 822 834 | 1664 1404 823 835 | 1666 1665 1663 836 | 1668 1413 820 837 | 1670 1412 821 838 | 1672 1671 1669 839 | 1674 1423 818 840 | 1676 1422 819 841 | 1678 1677 1675 842 | 1680 1431 816 843 | 1682 1430 817 844 | 1684 1683 1681 845 | 1686 1439 814 846 | 1688 1438 815 847 | 1690 1689 1687 848 | 1692 1446 812 849 | 1694 1447 813 850 | 1696 1695 1693 851 | 1698 1473 811 852 | 1700 1472 810 853 | 1702 1701 1699 854 | 1704 1481 809 855 | 1706 1480 808 856 | 1708 1707 1705 857 | 1710 1489 807 858 | 1712 1488 806 859 | 1714 1713 1711 860 | 1716 1497 805 861 | 1718 1496 804 862 | 1720 1719 1717 863 | 1722 1507 802 864 | 1724 1506 803 865 | 1726 1725 1723 866 | 1728 1515 800 867 | 1730 1514 801 868 | 1732 1731 1729 869 | 1734 1523 798 870 | 1736 1522 799 871 | 1738 1737 1735 872 | 1740 1531 796 873 | 1742 1530 797 874 | 1744 1743 1741 875 | 1746 1543 794 876 | 1748 1542 795 877 | 1750 1749 1747 878 | 1752 1551 792 879 | 1754 1550 793 880 | 1756 1755 1753 881 | 1758 1559 790 882 | 1760 1558 791 883 | 1762 1761 1759 884 | 1764 1567 788 885 | 1766 1566 789 886 | 1768 1767 1765 887 | 1770 1577 786 888 | 1772 1576 787 889 | 1774 1773 1771 890 | 1776 1585 784 891 | 1778 1584 785 892 | 1780 1779 1777 893 | 1782 1593 782 894 | 1784 1592 783 895 | 1786 1785 1783 896 | 1788 1601 780 897 | 1790 1600 781 898 | 1792 1791 1789 899 | 1794 1612 1606 900 | 1796 1624 1618 901 | 1798 1796 1794 902 | 1800 1636 1630 903 | 1802 1648 1642 904 | 1804 1802 1800 905 | 1806 1804 1798 906 | 1808 1660 1654 907 | 1810 1672 1666 908 | 1812 1810 1808 909 | 1814 1684 1678 910 | 1816 1696 1690 911 | 1818 1816 1814 912 | 1820 1818 1812 913 | 1822 1820 1806 914 | 1824 1708 1702 915 | 1826 1720 1714 916 | 1828 1826 1824 917 | 1830 1732 1726 918 | 1832 1744 1738 919 | 1834 1832 1830 920 | 1836 1834 1828 921 | 1838 1756 1750 922 | 1840 1768 1762 923 | 1842 1840 1838 924 | 1844 1780 1774 925 | 1846 1792 1786 926 | 1848 1846 1844 927 | 1850 1848 1842 928 | 1852 1850 1836 929 | 1854 1852 1822 930 | i0 1 931 | i1 101 932 | i2 105 933 | i3 109 934 | i4 113 935 | i5 117 936 | i6 121 937 | i7 125 938 | i8 129 939 | i9 13 940 | i10 130 941 | i11 131 942 | i12 132 943 | i13 133 944 | i14 134 945 | i15 135 946 | i16 136 947 | i17 137 948 | i18 17 949 | i19 21 950 | i20 25 951 | i21 29 952 | i22 33 953 | i23 37 954 | i24 41 955 | i25 45 956 | i26 49 957 | i27 5 958 | i28 53 959 | i29 57 960 | i30 61 961 | i31 65 962 | i32 69 963 | i33 73 964 | i34 77 965 | i35 81 966 | i36 85 967 | i37 89 968 | i38 9 969 | i39 93 970 | i40 97 971 | o0 miter 972 | c 973 | 1_2_miter 974 | This file was written by ABC on Thu Jan 13 13:50:44 2011 975 | For information about AIGER format, refer to http://fmv.jku.at/aiger 976 | 977 | change this line: 978 | 930 927 921 979 | to 980 | 930 926 921 981 | 982 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/test1.aag: -------------------------------------------------------------------------------- 1 | aag 3588 178 0 123 1009 2 | 72 3 | 4672 4 | 4678 5 | 4604 6 | 4598 7 | 2668 8 | 4438 9 | 4578 10 | 4538 11 | 4518 12 | 4418 13 | 2562 14 | 6756 15 | 2844 16 | 5824 17 | 4398 18 | 2956 19 | 4346 20 | 3090 21 | 3052 22 | 3008 23 | 2510 24 | 2800 25 | 2472 26 | 4332 27 | 4298 28 | 78 29 | 102 30 | 6822 31 | 152 32 | 2 33 | 54 34 | 4172 35 | 4166 36 | 6360 37 | 4144 38 | 4138 39 | 4116 40 | 4880 41 | 4852 42 | 4824 43 | 3746 44 | 3754 45 | 3794 46 | 3802 47 | 3920 48 | 4084 49 | 4796 50 | 6882 51 | 6888 52 | 3770 53 | 3776 54 | 4110 55 | 4874 56 | 4846 57 | 4818 58 | 3894 59 | 4078 60 | 4790 61 | 1016 62 | 1158 63 | 804 64 | 1132 65 | 5440 66 | 764 67 | 1106 68 | 724 69 | 314 70 | 1080 71 | 684 72 | 190 73 | 246 74 | 1300 75 | 390 76 | 58 77 | 356 78 | 262 79 | 374 80 | 402 81 | 970 82 | 284 83 | 1274 84 | 930 85 | 88 86 | 1248 87 | 890 88 | 1222 89 | 850 90 | 84 91 | 1196 92 | 2030 93 | 3348 94 | 8 95 | 136 96 | 460 97 | 1344 98 | 422 99 | 148 100 | 1384 101 | 364 102 | 14 103 | 1358 104 | 608 105 | 1484 106 | 1334 107 | 1070 108 | 46 109 | 210 110 | 556 111 | 24 112 | 504 113 | 528 114 | 538 115 | 514 116 | 498 117 | 50 118 | 656 119 | 28 120 | 1892 121 | 3868 122 | 4314 123 | 3172 124 | 4310 125 | 70 126 | 848 127 | 94 128 | 968 129 | 2542 130 | 4704 131 | 928 132 | 2652 133 | 2644 134 | 2856 135 | 2864 136 | 2428 137 | 2436 138 | 888 139 | 4300 140 | 722 141 | 3862 142 | 682 143 | 1014 144 | 802 145 | 4646 146 | 762 147 | 420 148 | 4652 149 | 362 150 | 606 151 | 594 152 | 2748 153 | 554 154 | 4558 155 | 502 156 | 2452 157 | 20 158 | 38 159 | 32 160 | 96 161 | 66 162 | 34 163 | 2674 164 | 6828 165 | 3940 166 | 3946 167 | 3914 168 | 3888 169 | 308 170 | 338 171 | 290 172 | 332 173 | 234 174 | 198 175 | 188 176 | 214 177 | 4698 178 | 6792 179 | 6812 180 | 2 181 | 8 182 | 14 183 | 20 184 | 24 185 | 28 186 | 36 187 | 38 188 | 20 189 | 20 190 | 46 191 | 50 192 | 56 193 | 58 194 | 32 195 | 34 196 | 66 197 | 75 198 | 82 199 | 90 200 | 98 201 | 102 202 | 2 203 | 72 204 | 38 205 | 136 206 | 38 207 | 155 208 | 150 209 | 72 210 | 72 211 | 72 212 | 72 213 | 136 214 | 136 215 | 206 216 | 220 217 | 220 218 | 242 219 | 282 220 | 282 221 | 282 222 | 282 223 | 680 224 | 1068 225 | 1332 226 | 1536 227 | 1536 228 | 1332 229 | 1972 230 | 2126 231 | 1174 232 | 1409 233 | 1174 234 | 1409 235 | 2481 236 | 2519 237 | 2571 238 | 2641 239 | 2685 240 | 2757 241 | 2809 242 | 2853 243 | 2893 244 | 2965 245 | 3017 246 | 3061 247 | 3099 248 | 3246 249 | 3402 250 | 3612 251 | 3744 252 | 3792 253 | 3840 254 | 3879 255 | 3905 256 | 3931 257 | 3957 258 | 3991 259 | 4013 260 | 4035 261 | 4057 262 | 4100 263 | 4128 264 | 4156 265 | 4184 266 | 4224 267 | 4248 268 | 4272 269 | 4296 270 | 4362 271 | 4371 272 | 4387 273 | 4407 274 | 4427 275 | 4447 276 | 4474 277 | 4527 278 | 4547 279 | 4567 280 | 4587 281 | 4615 282 | 4637 283 | 4663 284 | 4689 285 | 4715 286 | 4737 287 | 4759 288 | 4781 289 | 4808 290 | 4836 291 | 4864 292 | 4892 293 | 4916 294 | 4940 295 | 4964 296 | 4988 297 | 5830 298 | 5830 299 | 6839 300 | 6861 301 | 6900 302 | 6926 303 | 36 32 34 304 | 56 2 54 305 | 74 70 72 306 | 82 78 14 307 | 90 84 88 308 | 98 94 96 309 | 150 88 148 310 | 154 150 152 311 | 196 188 190 312 | 200 198 190 313 | 202 197 201 314 | 206 203 150 315 | 212 210 190 316 | 216 214 190 317 | 218 213 217 318 | 220 219 150 319 | 236 234 190 320 | 242 236 150 321 | 270 190 150 322 | 282 270 2 323 | 662 356 656 324 | 670 374 656 325 | 672 663 671 326 | 482 390 8 327 | 486 402 8 328 | 488 483 487 329 | 466 356 460 330 | 470 374 460 331 | 472 467 471 332 | 370 356 362 333 | 372 364 370 334 | 382 362 374 335 | 384 364 382 336 | 386 373 385 337 | 428 356 420 338 | 430 422 428 339 | 434 420 374 340 | 436 422 434 341 | 438 431 437 342 | 492 387 439 343 | 494 473 492 344 | 496 489 494 345 | 614 498 606 346 | 616 608 614 347 | 620 606 514 348 | 622 608 620 349 | 624 617 623 350 | 596 498 594 351 | 510 498 502 352 | 512 504 510 353 | 520 502 514 354 | 522 504 520 355 | 524 513 523 356 | 562 498 554 357 | 564 556 562 358 | 568 554 514 359 | 570 556 568 360 | 572 565 571 361 | 646 525 573 362 | 648 596 646 363 | 650 625 648 364 | 678 496 650 365 | 680 673 678 366 | 1026 356 1014 367 | 1028 1016 1026 368 | 1032 1014 374 369 | 1034 1016 1032 370 | 1036 1029 1035 371 | 810 498 802 372 | 812 804 810 373 | 816 802 514 374 | 818 804 816 375 | 820 813 819 376 | 770 498 762 377 | 772 764 770 378 | 776 762 514 379 | 778 764 776 380 | 780 773 779 381 | 690 498 682 382 | 692 684 690 383 | 696 682 514 384 | 698 684 696 385 | 700 693 699 386 | 730 498 722 387 | 732 724 730 388 | 736 722 514 389 | 738 724 736 390 | 740 733 739 391 | 842 701 741 392 | 844 781 842 393 | 846 821 844 394 | 976 498 968 395 | 978 970 976 396 | 982 968 514 397 | 984 970 982 398 | 986 979 985 399 | 936 498 928 400 | 938 930 936 401 | 942 928 514 402 | 944 930 942 403 | 946 939 945 404 | 856 498 848 405 | 858 850 856 406 | 862 848 514 407 | 864 850 862 408 | 866 859 865 409 | 896 498 888 410 | 898 890 896 411 | 902 888 514 412 | 904 890 902 413 | 906 899 905 414 | 1008 867 907 415 | 1010 947 1008 416 | 1012 987 1010 417 | 1066 846 1012 418 | 1068 1037 1066 419 | 1156 1016 1070 420 | 1160 1158 1070 421 | 1162 1157 1161 422 | 1174 1163 1014 423 | 1130 804 1070 424 | 1134 1132 1070 425 | 1136 1131 1135 426 | 1148 1137 802 427 | 1078 724 1070 428 | 1082 1080 1070 429 | 1084 1079 1083 430 | 1096 1085 722 431 | 1104 764 1070 432 | 1108 1106 1070 433 | 1110 1105 1109 434 | 1122 1111 762 435 | 1182 1096 1122 436 | 1184 1148 1182 437 | 1186 1174 1184 438 | 1298 684 1070 439 | 1302 1300 1070 440 | 1304 1299 1303 441 | 1316 1305 682 442 | 1272 970 1070 443 | 1276 1274 1070 444 | 1278 1273 1277 445 | 1290 1279 968 446 | 1246 930 1070 447 | 1250 1248 1070 448 | 1252 1247 1251 449 | 1264 1253 928 450 | 1194 850 1070 451 | 1198 1196 1070 452 | 1200 1195 1199 453 | 1212 1201 848 454 | 1220 890 1070 455 | 1224 1222 1070 456 | 1226 1221 1225 457 | 1238 1227 888 458 | 1324 1212 1238 459 | 1326 1264 1324 460 | 1328 1290 1326 461 | 1330 1316 1328 462 | 1332 1186 1330 463 | 1404 8 1334 464 | 1406 136 1334 465 | 1408 1405 1407 466 | 1382 422 1334 467 | 1386 1384 1334 468 | 1388 1383 1387 469 | 1396 420 1389 470 | 1342 460 1334 471 | 1346 1344 1334 472 | 1348 1343 1347 473 | 1356 364 1334 474 | 1360 1358 1334 475 | 1362 1357 1361 476 | 1370 362 1363 477 | 1412 1349 1370 478 | 1414 1396 1412 479 | 1416 1409 1414 480 | 1508 504 1334 481 | 1510 50 1334 482 | 1512 1509 1511 483 | 1520 502 1513 484 | 1482 608 1334 485 | 1486 1484 1334 486 | 1488 1483 1487 487 | 1496 606 1489 488 | 1458 556 1334 489 | 1460 24 1334 490 | 1462 1459 1461 491 | 1470 554 1463 492 | 1428 46 1334 493 | 1430 1335 1429 494 | 1438 594 1431 495 | 1446 656 1334 496 | 1448 28 1334 497 | 1450 1447 1449 498 | 1528 1438 1451 499 | 1530 1470 1528 500 | 1532 1496 1530 501 | 1534 1520 1532 502 | 1536 1416 1534 503 | 1856 364 422 504 | 1874 460 8 505 | 1884 1856 1874 506 | 1904 1892 656 507 | 1922 504 556 508 | 1940 1904 1922 509 | 1942 608 1940 510 | 1972 1884 1942 511 | 1994 724 764 512 | 2012 804 1016 513 | 2022 1994 2012 514 | 2080 970 684 515 | 2042 2030 850 516 | 2060 890 930 517 | 2094 2042 2060 518 | 2096 2080 2094 519 | 2126 2022 2096 520 | 2474 2472 2428 521 | 2476 2436 2474 522 | 2444 673 2428 523 | 2446 2436 2444 524 | 2460 1451 2452 525 | 2468 2460 2428 526 | 2470 2436 2468 527 | 2478 2447 2471 528 | 2480 2477 2478 529 | 2512 2510 2428 530 | 2514 2436 2512 531 | 2484 525 2428 532 | 2486 2436 2484 533 | 1658 1451 1520 534 | 2506 1658 2428 535 | 2508 2436 2506 536 | 2516 2487 2509 537 | 2518 2515 2516 538 | 2564 2562 2428 539 | 2566 2436 2564 540 | 2534 867 2428 541 | 2536 2436 2534 542 | 2550 1212 2542 543 | 2558 2550 2428 544 | 2560 2436 2558 545 | 2568 2537 2561 546 | 2570 2567 2568 547 | 2590 1409 1348 548 | 2606 2590 1496 549 | 2630 1409 1349 550 | 2638 1496 2630 551 | 2640 2607 2639 552 | 2676 2674 2644 553 | 2678 2652 2676 554 | 2670 2668 2644 555 | 2672 2652 2670 556 | 2660 2481 2644 557 | 2662 2652 2660 558 | 2664 2571 2644 559 | 2666 2652 2664 560 | 2680 2663 2667 561 | 2682 2673 2680 562 | 2684 2679 2682 563 | 2750 2748 2428 564 | 2752 2436 2750 565 | 2698 625 2428 566 | 2700 2436 2698 567 | 2736 1496 1438 568 | 2744 2736 2428 569 | 2746 2436 2744 570 | 2754 2701 2747 571 | 2756 2753 2754 572 | 2802 2800 2428 573 | 2804 2436 2802 574 | 2760 596 2428 575 | 2762 2436 2760 576 | 2788 1438 1470 577 | 2796 2788 2428 578 | 2798 2436 2796 579 | 2806 2763 2799 580 | 2808 2805 2806 581 | 2846 2844 2428 582 | 2848 2436 2846 583 | 2812 573 2428 584 | 2814 2436 2812 585 | 2832 1470 1520 586 | 2840 2832 2428 587 | 2842 2436 2840 588 | 2850 2815 2843 589 | 2852 2849 2850 590 | 2884 2674 2856 591 | 2886 2864 2884 592 | 2880 2668 2856 593 | 2882 2864 2880 594 | 2872 2481 2856 595 | 2874 2864 2872 596 | 2876 2571 2856 597 | 2878 2864 2876 598 | 2888 2875 2879 599 | 2890 2883 2888 600 | 2892 2887 2890 601 | 2958 2956 2428 602 | 2960 2436 2958 603 | 2906 701 2428 604 | 2908 2436 2906 605 | 2944 1316 1290 606 | 2952 2944 2428 607 | 2954 2436 2952 608 | 2962 2909 2955 609 | 2964 2961 2962 610 | 3010 3008 2428 611 | 3012 2436 3010 612 | 2968 987 2428 613 | 2970 2436 2968 614 | 2996 1290 1264 615 | 3004 2996 2428 616 | 3006 2436 3004 617 | 3014 2971 3007 618 | 3016 3013 3014 619 | 3054 3052 2428 620 | 3056 2436 3054 621 | 3020 947 2428 622 | 3022 2436 3020 623 | 3040 1264 1238 624 | 3048 3040 2428 625 | 3050 2436 3048 626 | 3058 3023 3051 627 | 3060 3057 3058 628 | 3092 3090 2428 629 | 3094 2436 3092 630 | 3064 907 2428 631 | 3066 2436 3064 632 | 3086 1324 2428 633 | 3088 2436 3086 634 | 3096 3067 3089 635 | 3098 3095 3096 636 | 3112 1363 1389 637 | 3140 3112 2630 638 | 3158 1463 1513 639 | 3170 1892 1334 640 | 3174 3172 1334 641 | 3176 3171 3175 642 | 3180 1451 3177 643 | 3214 3158 3180 644 | 3216 1489 3214 645 | 3246 3140 3216 646 | 3268 1201 1227 647 | 3286 1253 1279 648 | 3296 3268 3286 649 | 3346 2030 1070 650 | 3350 3348 1070 651 | 3352 3347 3351 652 | 3356 1163 3353 653 | 3314 1305 1085 654 | 3332 1111 1137 655 | 3370 3314 3332 656 | 3372 3356 3370 657 | 3402 3296 3372 658 | 3550 1174 1149 659 | 3560 3550 1316 660 | 3584 1174 1148 661 | 3592 1316 3584 662 | 3594 3561 3593 663 | 3494 1148 1123 664 | 3504 3494 1316 665 | 3520 1148 1122 666 | 3528 1316 3520 667 | 3530 3505 3529 668 | 3458 1182 1316 669 | 3464 723 1084 670 | 3468 1122 3464 671 | 3478 1316 3468 672 | 3480 3459 3479 673 | 3430 1096 1316 674 | 3598 2550 1324 675 | 3600 3040 3598 676 | 3602 2996 3600 677 | 3604 2944 3602 678 | 3606 3430 3604 679 | 3608 3481 3606 680 | 3610 3531 3608 681 | 3612 3595 3610 682 | 3688 1349 1397 683 | 3698 3688 1496 684 | 3714 1349 1396 685 | 3722 1496 3714 686 | 3724 3699 3723 687 | 1578 1370 1396 688 | 3652 1578 1496 689 | 3658 363 1362 690 | 3662 1396 3658 691 | 3672 1496 3662 692 | 3674 3653 3673 693 | 3624 1370 1496 694 | 3730 2460 1658 695 | 3732 2832 3730 696 | 3734 2788 3732 697 | 3736 2736 3734 698 | 3738 3624 3736 699 | 3740 3675 3738 700 | 3742 3725 3740 701 | 3744 2641 3742 702 | 3778 3776 3746 703 | 3780 3754 3778 704 | 3772 3770 3746 705 | 3774 3754 3772 706 | 3762 2481 3746 707 | 3764 3754 3762 708 | 3766 2571 3746 709 | 3768 3754 3766 710 | 3782 3765 3769 711 | 3784 3775 3782 712 | 3786 3781 3784 713 | 3792 3787 102 714 | 3822 3776 3794 715 | 3824 3802 3822 716 | 3818 3770 3794 717 | 3820 3802 3818 718 | 3810 2481 3794 719 | 3812 3802 3810 720 | 3814 2571 3794 721 | 3816 3802 3814 722 | 3826 3813 3817 723 | 3828 3821 3826 724 | 3830 3825 3828 725 | 3840 3831 102 726 | 3870 3868 2644 727 | 3872 2652 3870 728 | 3864 3862 2644 729 | 3866 2652 3864 730 | 3854 2757 2644 731 | 3856 2652 3854 732 | 3858 2965 2644 733 | 3860 2652 3858 734 | 3874 3857 3861 735 | 3876 3867 3874 736 | 3878 3873 3876 737 | 3896 3894 2644 738 | 3898 2652 3896 739 | 3890 3888 2644 740 | 3892 2652 3890 741 | 3880 2809 2644 742 | 3882 2652 3880 743 | 3884 3017 2644 744 | 3886 2652 3884 745 | 3900 3883 3887 746 | 3902 3893 3900 747 | 3904 3899 3902 748 | 3922 3920 2644 749 | 3924 2652 3922 750 | 3916 3914 2644 751 | 3918 2652 3916 752 | 3906 2853 2644 753 | 3908 2652 3906 754 | 3910 3061 2644 755 | 3912 2652 3910 756 | 3926 3909 3913 757 | 3928 3919 3926 758 | 3930 3925 3928 759 | 3948 3946 2644 760 | 3950 2652 3948 761 | 3942 3940 2644 762 | 3944 2652 3942 763 | 3932 2519 2644 764 | 3934 2652 3932 765 | 3936 3099 2644 766 | 3938 2652 3936 767 | 3952 3935 3939 768 | 3954 3945 3952 769 | 3956 3951 3954 770 | 3982 3868 2856 771 | 3984 2864 3982 772 | 3978 3862 2856 773 | 3980 2864 3978 774 | 3970 2757 2856 775 | 3972 2864 3970 776 | 3974 2965 2856 777 | 3976 2864 3974 778 | 3986 3973 3977 779 | 3988 3981 3986 780 | 3990 3985 3988 781 | 4004 3894 2856 782 | 4006 2864 4004 783 | 4000 3888 2856 784 | 4002 2864 4000 785 | 3992 2809 2856 786 | 3994 2864 3992 787 | 3996 3017 2856 788 | 3998 2864 3996 789 | 4008 3995 3999 790 | 4010 4003 4008 791 | 4012 4007 4010 792 | 4026 3920 2856 793 | 4028 2864 4026 794 | 4022 3914 2856 795 | 4024 2864 4022 796 | 4014 2853 2856 797 | 4016 2864 4014 798 | 4018 3061 2856 799 | 4020 2864 4018 800 | 4030 4017 4021 801 | 4032 4025 4030 802 | 4034 4029 4032 803 | 4048 3946 2856 804 | 4050 2864 4048 805 | 4044 3940 2856 806 | 4046 2864 4044 807 | 4036 2519 2856 808 | 4038 2864 4036 809 | 4040 3099 2856 810 | 4042 2864 4040 811 | 4052 4039 4043 812 | 4054 4047 4052 813 | 4056 4051 4054 814 | 4086 4084 3746 815 | 4088 3754 4086 816 | 4080 4078 3746 817 | 4082 3754 4080 818 | 4070 2757 3746 819 | 4072 3754 4070 820 | 4074 2965 3746 821 | 4076 3754 4074 822 | 4090 4073 4077 823 | 4092 4083 4090 824 | 4094 4089 4092 825 | 4100 4095 102 826 | 4118 4116 3746 827 | 4120 3754 4118 828 | 4112 4110 3746 829 | 4114 3754 4112 830 | 4102 2519 3746 831 | 4104 3754 4102 832 | 4106 3099 3746 833 | 4108 3754 4106 834 | 4122 4105 4109 835 | 4124 4115 4122 836 | 4126 4121 4124 837 | 4128 4127 102 838 | 4146 4144 3746 839 | 4148 3754 4146 840 | 4140 4138 3746 841 | 4142 3754 4140 842 | 4130 2853 3746 843 | 4132 3754 4130 844 | 4134 3061 3746 845 | 4136 3754 4134 846 | 4150 4133 4137 847 | 4152 4143 4150 848 | 4154 4149 4152 849 | 4156 4155 102 850 | 4174 4172 3746 851 | 4176 3754 4174 852 | 4168 4166 3746 853 | 4170 3754 4168 854 | 4158 2809 3746 855 | 4160 3754 4158 856 | 4162 3017 3746 857 | 4164 3754 4162 858 | 4178 4161 4165 859 | 4180 4171 4178 860 | 4182 4177 4180 861 | 4184 4183 102 862 | 4210 4084 3794 863 | 4212 3802 4210 864 | 4206 4078 3794 865 | 4208 3802 4206 866 | 4198 2757 3794 867 | 4200 3802 4198 868 | 4202 2965 3794 869 | 4204 3802 4202 870 | 4214 4201 4205 871 | 4216 4209 4214 872 | 4218 4213 4216 873 | 4224 4219 102 874 | 4238 4116 3794 875 | 4240 3802 4238 876 | 4234 4110 3794 877 | 4236 3802 4234 878 | 4226 2519 3794 879 | 4228 3802 4226 880 | 4230 3099 3794 881 | 4232 3802 4230 882 | 4242 4229 4233 883 | 4244 4237 4242 884 | 4246 4241 4244 885 | 4248 4247 102 886 | 4262 4144 3794 887 | 4264 3802 4262 888 | 4258 4138 3794 889 | 4260 3802 4258 890 | 4250 2853 3794 891 | 4252 3802 4250 892 | 4254 3061 3794 893 | 4256 3802 4254 894 | 4266 4253 4257 895 | 4268 4261 4266 896 | 4270 4265 4268 897 | 4272 4271 102 898 | 4286 4172 3794 899 | 4288 3802 4286 900 | 4282 4166 3794 901 | 4284 3802 4282 902 | 4274 2809 3794 903 | 4276 3802 4274 904 | 4278 3017 3794 905 | 4280 3802 4278 906 | 4290 4277 4281 907 | 4292 4285 4290 908 | 4294 4289 4292 909 | 4296 4295 102 910 | 4302 4298 4300 911 | 4352 2641 4310 912 | 4354 4314 4352 913 | 4348 4346 4310 914 | 4350 4314 4348 915 | 4318 489 4310 916 | 4320 4314 4318 917 | 4334 1409 4332 918 | 4336 1409 4335 919 | 4338 4335 4332 920 | 4340 4337 4339 921 | 4342 4341 4310 922 | 4344 4314 4342 923 | 4356 4321 4345 924 | 4358 4351 4356 925 | 4360 4355 4358 926 | 4362 4302 4361 927 | 4364 4341 2641 928 | 4366 4341 4365 929 | 4368 4365 2641 930 | 4370 4367 4369 931 | 4380 4346 2428 932 | 4382 2436 4380 933 | 4372 489 2428 934 | 4374 2436 4372 935 | 4376 2641 2428 936 | 4378 2436 4376 937 | 4384 4375 4379 938 | 4386 4383 4384 939 | 4400 4398 2428 940 | 4402 2436 4400 941 | 4390 473 2428 942 | 4392 2436 4390 943 | 4394 3725 2428 944 | 4396 2436 4394 945 | 4404 4393 4397 946 | 4406 4403 4404 947 | 4420 4418 2428 948 | 4422 2436 4420 949 | 4410 439 2428 950 | 4412 2436 4410 951 | 4414 3675 2428 952 | 4416 2436 4414 953 | 4424 4413 4417 954 | 4426 4423 4424 955 | 4440 4438 2428 956 | 4442 2436 4440 957 | 4430 387 2428 958 | 4432 2436 4430 959 | 4434 3624 2428 960 | 4436 2436 4434 961 | 4444 4433 4437 962 | 4446 4443 4444 963 | 4450 94 66 964 | 4452 96 4450 965 | 4454 32 4452 966 | 4464 34 3246 967 | 4466 3402 4464 968 | 4468 1972 4466 969 | 4470 2126 4468 970 | 4472 4454 4470 971 | 4474 58 4472 972 | 4520 4518 2428 973 | 4522 2436 4520 974 | 4510 1037 2428 975 | 4512 2436 4510 976 | 4514 3595 2428 977 | 4516 2436 4514 978 | 4524 4513 4517 979 | 4526 4523 4524 980 | 4540 4538 2428 981 | 4542 2436 4540 982 | 4530 821 2428 983 | 4532 2436 4530 984 | 4534 3531 2428 985 | 4536 2436 4534 986 | 4544 4533 4537 987 | 4546 4543 4544 988 | 4560 4558 2428 989 | 4562 2436 4560 990 | 4550 781 2428 991 | 4552 2436 4550 992 | 4554 3481 2428 993 | 4556 2436 4554 994 | 4564 4553 4557 995 | 4566 4563 4564 996 | 4580 4578 2428 997 | 4582 2436 4580 998 | 4570 741 2428 999 | 4572 2436 4570 1000 | 4574 3430 2428 1001 | 4576 2436 4574 1002 | 4584 4573 4577 1003 | 4586 4583 4584 1004 | 4606 4604 2856 1005 | 4608 2864 4606 1006 | 4600 4598 2856 1007 | 4602 2864 4600 1008 | 4590 4387 2856 1009 | 4592 2864 4590 1010 | 4594 4527 2856 1011 | 4596 2864 4594 1012 | 4610 4593 4597 1013 | 4612 4603 4610 1014 | 4614 4609 4612 1015 | 4628 4604 2644 1016 | 4630 2652 4628 1017 | 4624 4598 2644 1018 | 4626 2652 4624 1019 | 4616 4387 2644 1020 | 4618 2652 4616 1021 | 4620 4527 2644 1022 | 4622 2652 4620 1023 | 4632 4619 4623 1024 | 4634 4627 4632 1025 | 4636 4631 4634 1026 | 4654 4652 2644 1027 | 4656 2652 4654 1028 | 4648 4646 2644 1029 | 4650 2652 4648 1030 | 4638 4407 2644 1031 | 4640 2652 4638 1032 | 4642 4547 2644 1033 | 4644 2652 4642 1034 | 4658 4641 4645 1035 | 4660 4651 4658 1036 | 4662 4657 4660 1037 | 4680 4678 2644 1038 | 4682 2652 4680 1039 | 4674 4672 2644 1040 | 4676 2652 4674 1041 | 4664 4427 2644 1042 | 4666 2652 4664 1043 | 4668 4567 2644 1044 | 4670 2652 4668 1045 | 4684 4667 4671 1046 | 4686 4677 4684 1047 | 4688 4683 4686 1048 | 4706 4704 2644 1049 | 4708 2652 4706 1050 | 4700 4698 2644 1051 | 4702 2652 4700 1052 | 4690 4447 2644 1053 | 4692 2652 4690 1054 | 4694 4587 2644 1055 | 4696 2652 4694 1056 | 4710 4693 4697 1057 | 4712 4703 4710 1058 | 4714 4709 4712 1059 | 4728 4652 2856 1060 | 4730 2864 4728 1061 | 4724 4646 2856 1062 | 4726 2864 4724 1063 | 4716 4407 2856 1064 | 4718 2864 4716 1065 | 4720 4547 2856 1066 | 4722 2864 4720 1067 | 4732 4719 4723 1068 | 4734 4727 4732 1069 | 4736 4731 4734 1070 | 4750 4678 2856 1071 | 4752 2864 4750 1072 | 4746 4672 2856 1073 | 4748 2864 4746 1074 | 4738 4427 2856 1075 | 4740 2864 4738 1076 | 4742 4567 2856 1077 | 4744 2864 4742 1078 | 4754 4741 4745 1079 | 4756 4749 4754 1080 | 4758 4753 4756 1081 | 4772 4704 2856 1082 | 4774 2864 4772 1083 | 4768 4698 2856 1084 | 4770 2864 4768 1085 | 4760 4447 2856 1086 | 4762 2864 4760 1087 | 4764 4587 2856 1088 | 4766 2864 4764 1089 | 4776 4763 4767 1090 | 4778 4771 4776 1091 | 4780 4775 4778 1092 | 4798 4796 3746 1093 | 4800 3754 4798 1094 | 4792 4790 3746 1095 | 4794 3754 4792 1096 | 4782 4447 3746 1097 | 4784 3754 4782 1098 | 4786 4587 3746 1099 | 4788 3754 4786 1100 | 4802 4785 4789 1101 | 4804 4795 4802 1102 | 4806 4801 4804 1103 | 4808 4807 102 1104 | 4826 4824 3746 1105 | 4828 3754 4826 1106 | 4820 4818 3746 1107 | 4822 3754 4820 1108 | 4810 4427 3746 1109 | 4812 3754 4810 1110 | 4814 4567 3746 1111 | 4816 3754 4814 1112 | 4830 4813 4817 1113 | 4832 4823 4830 1114 | 4834 4829 4832 1115 | 4836 4835 102 1116 | 4854 4852 3746 1117 | 4856 3754 4854 1118 | 4848 4846 3746 1119 | 4850 3754 4848 1120 | 4838 4407 3746 1121 | 4840 3754 4838 1122 | 4842 4547 3746 1123 | 4844 3754 4842 1124 | 4858 4841 4845 1125 | 4860 4851 4858 1126 | 4862 4857 4860 1127 | 4864 4863 102 1128 | 4882 4880 3746 1129 | 4884 3754 4882 1130 | 4876 4874 3746 1131 | 4878 3754 4876 1132 | 4866 4387 3746 1133 | 4868 3754 4866 1134 | 4870 4527 3746 1135 | 4872 3754 4870 1136 | 4886 4869 4873 1137 | 4888 4879 4886 1138 | 4890 4885 4888 1139 | 4892 4891 102 1140 | 4906 4796 3794 1141 | 4908 3802 4906 1142 | 4902 4790 3794 1143 | 4904 3802 4902 1144 | 4894 4447 3794 1145 | 4896 3802 4894 1146 | 4898 4587 3794 1147 | 4900 3802 4898 1148 | 4910 4897 4901 1149 | 4912 4905 4910 1150 | 4914 4909 4912 1151 | 4916 4915 102 1152 | 4930 4824 3794 1153 | 4932 3802 4930 1154 | 4926 4818 3794 1155 | 4928 3802 4926 1156 | 4918 4427 3794 1157 | 4920 3802 4918 1158 | 4922 4567 3794 1159 | 4924 3802 4922 1160 | 4934 4921 4925 1161 | 4936 4929 4934 1162 | 4938 4933 4936 1163 | 4940 4939 102 1164 | 4954 4852 3794 1165 | 4956 3802 4954 1166 | 4950 4846 3794 1167 | 4952 3802 4950 1168 | 4942 4407 3794 1169 | 4944 3802 4942 1170 | 4946 4547 3794 1171 | 4948 3802 4946 1172 | 4958 4945 4949 1173 | 4960 4953 4958 1174 | 4962 4957 4960 1175 | 4964 4963 102 1176 | 4978 4880 3794 1177 | 4980 3802 4978 1178 | 4974 4874 3794 1179 | 4976 3802 4974 1180 | 4966 4387 3794 1181 | 4968 3802 4966 1182 | 4970 4527 3794 1183 | 4972 3802 4970 1184 | 4982 4969 4973 1185 | 4984 4977 4982 1186 | 4986 4981 4984 1187 | 4988 4987 102 1188 | 5830 2428 2436 1189 | 6830 6828 2644 1190 | 6832 2652 6830 1191 | 6824 6822 2644 1192 | 6826 2652 6824 1193 | 5196 356 594 1194 | 5208 356 606 1195 | 5210 608 5208 1196 | 5214 606 374 1197 | 5216 608 5214 1198 | 5218 5211 5217 1199 | 5240 5196 5219 1200 | 5120 356 502 1201 | 5122 504 5120 1202 | 5126 502 374 1203 | 5128 504 5126 1204 | 5130 5123 5129 1205 | 5154 356 554 1206 | 5156 556 5154 1207 | 5160 554 374 1208 | 5162 556 5160 1209 | 5164 5157 5163 1210 | 5186 5131 5165 1211 | 5254 673 5186 1212 | 5256 5240 5254 1213 | 5286 496 5256 1214 | 5296 5286 2428 1215 | 6790 5296 2436 1216 | 6794 6792 2436 1217 | 6796 6791 6795 1218 | 6798 6797 2644 1219 | 6800 2652 6798 1220 | 5842 356 722 1221 | 5844 724 5842 1222 | 5848 722 374 1223 | 5850 724 5848 1224 | 5852 5845 5851 1225 | 5876 356 762 1226 | 5878 764 5876 1227 | 5882 762 374 1228 | 5884 764 5882 1229 | 5886 5879 5885 1230 | 5908 5853 5887 1231 | 5920 356 802 1232 | 5922 804 5920 1233 | 5926 802 374 1234 | 5928 804 5926 1235 | 5930 5923 5929 1236 | 5956 5931 1037 1237 | 5966 5908 5956 1238 | 6094 356 968 1239 | 6096 970 6094 1240 | 6100 968 374 1241 | 6102 970 6100 1242 | 6104 6097 6103 1243 | 6128 356 682 1244 | 6130 684 6128 1245 | 6134 682 374 1246 | 6136 684 6134 1247 | 6138 6131 6137 1248 | 6160 6105 6139 1249 | 5978 356 848 1250 | 5980 850 5978 1251 | 5984 848 374 1252 | 5986 850 5984 1253 | 5988 5981 5987 1254 | 6014 356 888 1255 | 6016 890 6014 1256 | 6020 888 374 1257 | 6022 890 6020 1258 | 6024 6017 6023 1259 | 6048 356 928 1260 | 6050 930 6048 1261 | 6054 928 374 1262 | 6056 930 6054 1263 | 6058 6051 6057 1264 | 6080 6025 6059 1265 | 6174 5989 6080 1266 | 6176 6160 6174 1267 | 6206 5966 6176 1268 | 6216 6206 2428 1269 | 6810 6216 2436 1270 | 6814 6812 2436 1271 | 6816 6811 6815 1272 | 6818 6817 2644 1273 | 6820 2652 6818 1274 | 6834 6801 6821 1275 | 6836 6827 6834 1276 | 6838 6833 6836 1277 | 6852 6828 2856 1278 | 6854 2864 6852 1279 | 6848 6822 2856 1280 | 6850 2864 6848 1281 | 6840 6797 2856 1282 | 6842 2864 6840 1283 | 6844 6817 2856 1284 | 6846 2864 6844 1285 | 6856 6843 6847 1286 | 6858 6851 6856 1287 | 6860 6855 6858 1288 | 6890 6888 3746 1289 | 6892 3754 6890 1290 | 6884 6882 3746 1291 | 6886 3754 6884 1292 | 6868 6797 3746 1293 | 6870 3754 6868 1294 | 6878 6817 3746 1295 | 6880 3754 6878 1296 | 6894 6871 6881 1297 | 6896 6887 6894 1298 | 6898 6893 6896 1299 | 6900 6899 102 1300 | 6916 6888 3794 1301 | 6918 3802 6916 1302 | 6912 6882 3794 1303 | 6914 3802 6912 1304 | 6904 6797 3794 1305 | 6906 3802 6904 1306 | 6908 6817 3794 1307 | 6910 3802 6908 1308 | 6920 6907 6911 1309 | 6922 6915 6920 1310 | 6924 6919 6922 1311 | 6926 6925 102 1312 | c 1313 | AAG output by Chung-Yang (Ric) Huang 1314 | -------------------------------------------------------------------------------- /2018_hw6-Circuit_Parser/aag_files/C1908.aag: -------------------------------------------------------------------------------- 1 | aag 1252 33 0 25 1219 2 | 152 3 | 130 4 | 122 5 | 254 6 | 210 7 | 188 8 | 180 9 | 246 10 | 76 11 | 50 12 | 514 13 | 492 14 | 484 15 | 356 16 | 28 17 | 20 18 | 312 19 | 2 20 | 724 21 | 336 22 | 98 23 | 378 24 | 338 25 | 4 26 | 574 27 | 858 28 | 1118 29 | 976 30 | 1140 31 | 1290 32 | 8 33 | 1160 34 | 100 35 | 1195 36 | 1227 37 | 1255 38 | 1283 39 | 1323 40 | 1351 41 | 1373 42 | 1399 43 | 1421 44 | 1443 45 | 1465 46 | 1487 47 | 1513 48 | 1535 49 | 1557 50 | 1579 51 | 1978 52 | 2056 53 | 2150 54 | 2172 55 | 2194 56 | 2218 57 | 2303 58 | 2427 59 | 2504 60 | 1188 1180 1187 61 | 1276 1268 1275 62 | 276 274 274 63 | 274 272 272 64 | 238 179 237 65 | 242 235 241 66 | 244 239 243 67 | 278 276 276 68 | 282 244 244 69 | 2258 2256 2256 70 | 2256 272 272 71 | 2248 2241 2247 72 | 2252 2245 2251 73 | 2254 2249 2253 74 | 2260 2258 2258 75 | 2264 2254 2254 76 | 2034 2026 2031 77 | 2036 2033 2034 78 | 2018 2011 2017 79 | 2022 2015 2021 80 | 2024 2019 2023 81 | 2038 2037 2037 82 | 2042 2024 2024 83 | 220 218 218 84 | 218 216 216 85 | 202 187 201 86 | 206 199 205 87 | 208 203 207 88 | 222 220 220 89 | 226 208 208 90 | 812 810 810 91 | 810 216 216 92 | 802 795 801 93 | 806 799 805 94 | 808 803 807 95 | 814 812 812 96 | 818 808 808 97 | 260 258 258 98 | 258 256 256 99 | 252 250 250 100 | 250 248 248 101 | 262 260 260 102 | 266 252 252 103 | 60 58 58 104 | 58 56 56 105 | 42 27 41 106 | 46 39 45 107 | 48 43 47 108 | 62 60 60 109 | 66 48 48 110 | 452 450 450 111 | 450 56 56 112 | 442 435 441 113 | 446 439 445 114 | 448 443 447 115 | 454 452 452 116 | 458 448 448 117 | 2000 1998 1998 118 | 1998 105 105 119 | 1990 1983 1989 120 | 1994 1987 1993 121 | 1996 1991 1995 122 | 2002 2000 2000 123 | 2006 1996 1996 124 | 2004 1997 2003 125 | 2008 2001 2007 126 | 108 106 106 127 | 106 105 105 128 | 90 75 89 129 | 94 87 93 130 | 96 91 95 131 | 110 108 108 132 | 114 96 96 133 | 1280 1273 1279 134 | 2348 2346 2346 135 | 2346 520 520 136 | 2338 2331 2337 137 | 2342 2335 2341 138 | 2344 2339 2343 139 | 2350 2348 2348 140 | 2354 2344 2344 141 | 2352 2345 2351 142 | 2356 2349 2355 143 | 524 522 522 144 | 522 520 520 145 | 506 491 505 146 | 510 503 509 147 | 512 507 511 148 | 526 524 524 149 | 530 512 512 150 | 2114 2112 2112 151 | 2112 540 540 152 | 2104 2097 2103 153 | 2108 2101 2107 154 | 2110 2105 2109 155 | 2116 2114 2114 156 | 2120 2110 2110 157 | 2118 2111 2117 158 | 2122 2115 2121 159 | 544 542 542 160 | 542 540 540 161 | 476 431 475 162 | 480 473 479 163 | 482 477 481 164 | 546 544 544 165 | 550 482 482 166 | 2136 574 2031 167 | 2138 2033 2136 168 | 2128 2093 2127 169 | 2132 2125 2131 170 | 2134 2129 2133 171 | 2140 2139 2139 172 | 2144 2134 2134 173 | 384 382 382 174 | 382 381 381 175 | 370 355 369 176 | 374 367 373 177 | 376 371 375 178 | 386 384 384 179 | 390 376 376 180 | 388 377 387 181 | 392 385 391 182 | 2080 2078 2078 183 | 2078 381 381 184 | 2070 2063 2069 185 | 2074 2067 2073 186 | 2076 2071 2075 187 | 2082 2080 2080 188 | 2086 2076 2076 189 | 2376 2374 2374 190 | 2374 78 78 191 | 2372 2370 2370 192 | 2370 358 358 193 | 2378 2376 2376 194 | 2382 2372 2372 195 | 2388 2386 2386 196 | 2362 2327 2361 197 | 2366 2359 2365 198 | 2368 2363 2367 199 | 2390 2388 2388 200 | 2394 2368 2368 201 | 2480 2478 2478 202 | 2478 753 753 203 | 2476 2474 2474 204 | 2474 154 154 205 | 1282 1277 1281 206 | 2482 2480 2480 207 | 2486 2476 2476 208 | 2484 2477 2483 209 | 2488 2481 2487 210 | 756 754 754 211 | 754 753 753 212 | 746 744 744 213 | 744 154 154 214 | 758 756 756 215 | 762 746 746 216 | 2490 2485 2489 217 | 2466 2459 2465 218 | 2470 2462 2469 219 | 2472 2467 2471 220 | 2492 2490 2490 221 | 2496 2472 2472 222 | 1090 1088 1088 223 | 1088 132 132 224 | 1080 1073 1079 225 | 1084 1077 1083 226 | 1086 1081 1085 227 | 1092 1090 1090 228 | 1096 1086 1086 229 | 1094 1087 1093 230 | 1098 1091 1097 231 | 1100 1095 1099 232 | 1062 1027 1061 233 | 1066 1059 1065 234 | 1068 1063 1067 235 | 1102 1100 1100 236 | 1106 1068 1068 237 | 1048 1046 1046 238 | 1046 516 516 239 | 1038 1031 1037 240 | 1042 1034 1041 241 | 1044 1039 1043 242 | 1050 1048 1048 243 | 1054 1044 1044 244 | 1052 1045 1051 245 | 1056 1049 1055 246 | 1016 1014 1014 247 | 1014 622 622 248 | 1006 999 1005 249 | 1010 1003 1009 250 | 1012 1007 1011 251 | 1018 1016 1016 252 | 1022 1012 1012 253 | 1020 1013 1019 254 | 1024 1017 1023 255 | 626 624 624 256 | 624 622 622 257 | 612 601 611 258 | 616 609 615 259 | 618 613 617 260 | 628 626 626 261 | 632 618 618 262 | 902 900 900 263 | 900 124 124 264 | 892 885 891 265 | 896 889 895 266 | 898 893 897 267 | 904 902 902 268 | 908 898 898 269 | 906 899 905 270 | 910 903 909 271 | 956 724 687 272 | 958 103 956 273 | 948 913 947 274 | 952 945 951 275 | 954 949 953 276 | 960 959 959 277 | 964 954 954 278 | 1392 1384 1391 279 | 934 932 932 280 | 932 494 494 281 | 924 917 923 282 | 928 921 927 283 | 930 925 929 284 | 936 934 934 285 | 940 930 930 286 | 938 931 937 287 | 942 935 941 288 | 660 658 658 289 | 658 256 256 290 | 650 643 649 291 | 654 647 653 292 | 656 651 655 293 | 662 660 660 294 | 666 656 656 295 | 706 704 704 296 | 676 639 675 297 | 680 673 679 298 | 682 677 681 299 | 708 706 706 300 | 712 682 682 301 | 694 692 692 302 | 692 486 486 303 | 688 336 687 304 | 690 103 688 305 | 696 694 694 306 | 700 691 691 307 | 2448 2446 2446 308 | 2446 824 824 309 | 2438 2431 2437 310 | 2442 2435 2441 311 | 2444 2439 2443 312 | 2450 2448 2448 313 | 2454 2444 2444 314 | 2452 2445 2451 315 | 2456 2449 2455 316 | 828 826 826 317 | 826 824 824 318 | 784 773 783 319 | 788 781 787 320 | 790 785 789 321 | 830 828 828 322 | 834 790 790 323 | 290 288 288 324 | 288 286 286 325 | 120 118 118 326 | 292 290 290 327 | 296 120 120 328 | 556 554 554 329 | 394 389 393 330 | 558 556 556 331 | 562 394 394 332 | 840 838 838 333 | 768 766 766 334 | 842 840 840 335 | 846 768 768 336 | 2158 1118 2031 337 | 2160 2033 2158 338 | 2156 2154 2154 339 | 2154 1110 1110 340 | 2162 2161 2161 341 | 2166 2156 2156 342 | 2178 976 2031 343 | 2180 2033 2178 344 | 2176 2174 2174 345 | 2174 968 968 346 | 1396 1389 1395 347 | 2182 2181 2181 348 | 2186 2176 2176 349 | 2204 2202 2031 350 | 2206 2033 2204 351 | 2200 2198 2198 352 | 2198 716 716 353 | 2208 2207 2207 354 | 2212 2200 2200 355 | 318 316 316 356 | 316 314 314 357 | 310 308 308 358 | 308 306 306 359 | 320 318 318 360 | 324 310 310 361 | 1686 1684 1684 362 | 1684 314 314 363 | 1682 1680 1680 364 | 1680 306 306 365 | 1688 1686 1686 366 | 1692 1682 1682 367 | 730 728 728 368 | 728 726 726 369 | 722 720 720 370 | 720 718 718 371 | 732 730 730 372 | 736 722 722 373 | 1586 1584 1584 374 | 1584 726 726 375 | 1582 1580 1580 376 | 1580 718 718 377 | 1588 1586 1586 378 | 1592 1582 1582 379 | 580 578 578 380 | 578 576 576 381 | 572 570 570 382 | 570 568 568 383 | 582 580 580 384 | 586 572 572 385 | 1666 1664 1664 386 | 1664 576 576 387 | 1662 1660 1660 388 | 1660 568 568 389 | 1668 1666 1666 390 | 1672 1662 1662 391 | 864 862 862 392 | 862 860 860 393 | 856 854 854 394 | 854 852 852 395 | 866 864 864 396 | 870 856 856 397 | 1646 1644 1644 398 | 1644 860 860 399 | 1642 1640 1640 400 | 1640 852 852 401 | 1648 1646 1646 402 | 1652 1642 1642 403 | 1124 1122 1122 404 | 1122 1120 1120 405 | 1116 1114 1114 406 | 1114 1112 1112 407 | 1126 1124 1124 408 | 1130 1116 1116 409 | 1626 1624 1624 410 | 1624 1120 1120 411 | 1622 1620 1620 412 | 1620 1112 1112 413 | 1628 1626 1626 414 | 1632 1622 1622 415 | 154 153 153 416 | 982 980 980 417 | 980 978 978 418 | 974 972 972 419 | 972 970 970 420 | 984 982 982 421 | 988 974 974 422 | 1606 1604 1604 423 | 1604 978 978 424 | 1398 1393 1397 425 | 1602 1600 1600 426 | 1600 970 970 427 | 1608 1606 1606 428 | 1612 1602 1602 429 | 1184 1182 1182 430 | 1182 153 153 431 | 1174 335 597 432 | 1176 880 1174 433 | 1178 1138 1176 434 | 1180 1173 1178 435 | 1186 1184 1184 436 | 1190 1181 1181 437 | 1216 1214 1214 438 | 1214 131 131 439 | 1206 335 597 440 | 1208 1198 1206 441 | 1210 1204 1208 442 | 1212 1173 1210 443 | 1218 1216 1216 444 | 1222 1213 1213 445 | 1244 1242 1242 446 | 1242 123 123 447 | 1234 335 597 448 | 1236 1198 1234 449 | 1238 1232 1236 450 | 1240 1173 1238 451 | 1246 1244 1244 452 | 1250 1241 1241 453 | 132 131 131 454 | 1272 1270 1270 455 | 1270 255 255 456 | 1262 335 597 457 | 1264 1260 1262 458 | 1266 1138 1264 459 | 1268 1173 1266 460 | 1274 1272 1272 461 | 1278 1269 1269 462 | 1388 1386 1386 463 | 1386 211 211 464 | 1378 335 1376 465 | 1380 880 1378 466 | 1382 1204 1380 467 | 1384 1173 1382 468 | 1390 1388 1388 469 | 1394 1385 1385 470 | 1410 1408 1408 471 | 1408 189 189 472 | 1400 1287 1376 473 | 1402 880 1400 474 | 1404 1232 1402 475 | 1406 1173 1404 476 | 1412 1410 1410 477 | 1416 1407 1407 478 | 1432 1430 1430 479 | 1430 181 181 480 | 1422 1287 1376 481 | 1424 1288 1422 482 | 1426 1138 1424 483 | 1428 1173 1426 484 | 124 123 123 485 | 1434 1432 1432 486 | 1438 1429 1429 487 | 1454 1452 1452 488 | 1452 247 247 489 | 1444 1287 1376 490 | 1446 1198 1444 491 | 1448 1328 1446 492 | 1450 1173 1448 493 | 1456 1454 1454 494 | 1460 1451 1451 495 | 1476 1474 1474 496 | 1474 77 77 497 | 1466 1287 1376 498 | 1468 1260 1466 499 | 1470 1204 1468 500 | 1472 1301 1470 501 | 1478 1476 1476 502 | 1482 1473 1473 503 | 1312 1310 1310 504 | 1310 51 51 505 | 1302 1287 597 506 | 1304 1288 1302 507 | 1306 1232 1304 508 | 1308 1301 1306 509 | 1314 1312 1312 510 | 1318 1309 1309 511 | 1502 1500 1500 512 | 1500 515 515 513 | 1492 1490 1327 514 | 1494 880 1492 515 | 1496 1204 1494 516 | 1498 1301 1496 517 | 1504 1502 1502 518 | 1508 1499 1499 519 | 1524 1522 1522 520 | 1522 493 493 521 | 1514 1490 1327 522 | 1516 880 1514 523 | 1518 1232 1516 524 | 1520 1301 1518 525 | 1414 1406 1413 526 | 256 255 255 527 | 1526 1524 1524 528 | 1530 1521 1521 529 | 1546 1544 1544 530 | 1544 485 485 531 | 1536 1490 1327 532 | 1538 1288 1536 533 | 1540 1138 1538 534 | 1542 1301 1540 535 | 1548 1546 1546 536 | 1552 1543 1543 537 | 1568 1566 1566 538 | 1566 357 357 539 | 1558 1490 1327 540 | 1560 1260 1558 541 | 1562 1204 1560 542 | 1564 1301 1562 543 | 1570 1568 1568 544 | 1574 1565 1565 545 | 1340 1338 1338 546 | 1338 29 29 547 | 1330 1287 1327 548 | 1332 880 1330 549 | 1334 1328 1332 550 | 1336 1301 1334 551 | 1342 1340 1340 552 | 1346 1337 1337 553 | 1362 1360 1360 554 | 1360 21 21 555 | 1352 1287 1327 556 | 1354 1288 1352 557 | 1356 1204 1354 558 | 1358 1301 1356 559 | 1364 1362 1362 560 | 1368 1359 1359 561 | 2292 2287 2291 562 | 2278 2236 2277 563 | 2282 2274 2281 564 | 2284 2279 2283 565 | 2294 2293 2293 566 | 2298 2284 2284 567 | 2416 2415 2291 568 | 2406 2320 2405 569 | 2410 2402 2409 570 | 2412 2407 2411 571 | 212 211 211 572 | 2418 2417 2417 573 | 2422 2412 2412 574 | 402 400 400 575 | 400 136 136 576 | 398 396 396 577 | 396 124 124 578 | 404 402 402 579 | 408 398 398 580 | 140 138 138 581 | 138 136 136 582 | 128 126 126 583 | 126 124 124 584 | 142 140 140 585 | 146 128 128 586 | 234 232 232 587 | 232 230 230 588 | 178 176 176 589 | 176 174 174 590 | 236 234 234 591 | 240 178 178 592 | 2244 2242 2242 593 | 2242 230 230 594 | 190 189 189 595 | 2240 2238 2238 596 | 2238 174 174 597 | 2246 2244 2244 598 | 2250 2240 2240 599 | 2014 2012 2012 600 | 2012 286 286 601 | 2010 2005 2009 602 | 2016 2014 2014 603 | 2020 2010 2010 604 | 198 196 196 605 | 196 194 194 606 | 186 184 184 607 | 184 182 182 608 | 1418 1411 1417 609 | 200 198 198 610 | 204 186 186 611 | 798 796 796 612 | 796 194 194 613 | 794 792 792 614 | 792 182 182 615 | 800 798 798 616 | 804 794 794 617 | 182 181 181 618 | 38 36 36 619 | 36 34 34 620 | 26 24 24 621 | 24 22 22 622 | 40 38 38 623 | 44 26 26 624 | 438 436 436 625 | 436 34 34 626 | 434 432 432 627 | 432 22 22 628 | 440 438 438 629 | 444 434 434 630 | 1986 1984 1984 631 | 1984 82 82 632 | 1982 1980 1980 633 | 1980 70 70 634 | 1988 1986 1986 635 | 1992 1982 1982 636 | 86 84 84 637 | 84 82 82 638 | 74 72 72 639 | 72 70 70 640 | 88 86 86 641 | 92 74 74 642 | 2334 2332 2332 643 | 2332 498 498 644 | 2330 2328 2328 645 | 2328 486 486 646 | 2336 2334 2334 647 | 2340 2330 2330 648 | 248 247 247 649 | 502 500 500 650 | 500 498 498 651 | 490 488 488 652 | 488 486 486 653 | 504 502 502 654 | 508 490 490 655 | 2100 2098 2098 656 | 2098 468 468 657 | 2096 2094 2094 658 | 2094 426 426 659 | 2102 2100 2100 660 | 2106 2096 2096 661 | 472 470 470 662 | 470 468 468 663 | 430 428 428 664 | 428 426 426 665 | 474 472 472 666 | 478 430 430 667 | 2124 2119 2123 668 | 2092 2090 2090 669 | 2126 2124 2124 670 | 2130 2092 2092 671 | 366 364 364 672 | 364 362 362 673 | 354 352 352 674 | 352 256 256 675 | 368 366 366 676 | 372 354 354 677 | 78 77 77 678 | 2066 2064 2064 679 | 2064 362 362 680 | 2062 2060 2060 681 | 2060 256 256 682 | 2068 2066 2066 683 | 2072 2062 2062 684 | 2358 2353 2357 685 | 1420 1415 1419 686 | 2326 2324 2324 687 | 2324 464 464 688 | 2360 2358 2358 689 | 2364 2326 2326 690 | 2460 858 2031 691 | 2462 2033 2460 692 | 2458 2453 2457 693 | 2464 2463 2463 694 | 2468 2458 2458 695 | 1076 1074 1074 696 | 1074 212 212 697 | 1072 1070 1070 698 | 1070 248 248 699 | 1078 1076 1076 700 | 1082 1072 1072 701 | 1058 1053 1057 702 | 1026 1021 1025 703 | 1060 1058 1058 704 | 1064 1026 1026 705 | 1032 2 749 706 | 1034 103 1032 707 | 1030 1028 1028 708 | 1028 30 30 709 | 1036 1035 1035 710 | 1040 1030 1030 711 | 1002 1000 1000 712 | 1000 604 604 713 | 52 51 51 714 | 998 996 996 715 | 996 78 78 716 | 1004 1002 1002 717 | 1008 998 998 718 | 608 606 606 719 | 606 604 604 720 | 600 598 598 721 | 598 78 78 722 | 610 608 608 723 | 614 600 600 724 | 888 886 886 725 | 886 190 190 726 | 884 882 882 727 | 882 248 248 728 | 890 888 888 729 | 894 884 884 730 | 944 939 943 731 | 912 907 911 732 | 946 944 944 733 | 950 912 912 734 | 920 918 918 735 | 918 52 52 736 | 916 914 914 737 | 914 30 30 738 | 922 920 920 739 | 926 916 916 740 | 646 644 644 741 | 644 182 182 742 | 516 515 515 743 | 642 640 640 744 | 640 52 52 745 | 648 646 646 746 | 652 642 642 747 | 672 670 670 748 | 638 636 636 749 | 674 672 672 750 | 678 638 638 751 | 2434 2432 2432 752 | 2432 776 776 753 | 2430 2428 2428 754 | 2428 536 536 755 | 1436 1428 1435 756 | 2436 2434 2434 757 | 2440 2430 2430 758 | 780 778 778 759 | 778 776 776 760 | 772 770 770 761 | 770 536 536 762 | 782 780 780 763 | 786 772 772 764 | 494 493 493 765 | 2274 2271 2273 766 | 2236 2233 2235 767 | 2276 2275 2275 768 | 2280 2237 2237 769 | 2402 2323 2401 770 | 2320 2317 2319 771 | 2404 2403 2403 772 | 2408 2321 2321 773 | 486 485 485 774 | 358 357 357 775 | 1192 1185 1191 776 | 1440 1433 1439 777 | 30 29 29 778 | 22 21 21 779 | 1442 1437 1441 780 | 1458 1450 1457 781 | 1462 1455 1461 782 | 2286 98 1140 783 | 2414 378 1290 784 | 1464 1459 1463 785 | 748 5 5 786 | 6 5 5 787 | 686 684 684 788 | 684 339 339 789 | 342 340 340 790 | 340 339 339 791 | 1480 1472 1479 792 | 158 156 156 793 | 156 154 154 794 | 136 134 134 795 | 134 132 132 796 | 166 151 165 797 | 170 163 169 798 | 172 167 171 799 | 1484 1477 1483 800 | 420 413 419 801 | 424 417 423 802 | 426 421 425 803 | 174 172 172 804 | 270 265 269 805 | 272 270 270 806 | 1486 1481 1485 807 | 224 209 223 808 | 228 221 227 809 | 230 225 229 810 | 2262 2255 2261 811 | 2266 2259 2265 812 | 2268 2263 2267 813 | 1316 1308 1315 814 | 280 245 279 815 | 284 277 283 816 | 286 281 285 817 | 2270 2268 2268 818 | 2040 2025 2039 819 | 2044 2036 2043 820 | 216 214 214 821 | 214 212 212 822 | 1320 1313 1319 823 | 194 192 192 824 | 192 190 190 825 | 816 809 815 826 | 820 813 819 827 | 822 817 821 828 | 264 253 263 829 | 268 261 267 830 | 56 54 54 831 | 54 52 52 832 | 1194 1189 1193 833 | 1322 1317 1321 834 | 34 32 32 835 | 32 30 30 836 | 456 449 455 837 | 460 453 459 838 | 462 457 461 839 | 64 49 63 840 | 68 61 67 841 | 1506 1498 1505 842 | 70 65 69 843 | 464 462 462 844 | 104 98 103 845 | 1510 1503 1509 846 | 82 80 80 847 | 80 78 78 848 | 112 97 111 849 | 116 109 115 850 | 118 113 117 851 | 520 518 518 852 | 518 516 516 853 | 1512 1507 1511 854 | 498 496 496 855 | 496 494 494 856 | 528 513 527 857 | 532 525 531 858 | 534 529 533 859 | 536 534 534 860 | 1528 1520 1527 861 | 540 538 538 862 | 538 536 536 863 | 468 466 466 864 | 466 464 464 865 | 548 483 547 866 | 552 545 551 867 | 554 549 553 868 | 2142 2135 2141 869 | 1532 1525 1531 870 | 2146 2138 2145 871 | 380 378 103 872 | 362 360 360 873 | 360 358 358 874 | 2084 2077 2083 875 | 2088 2081 2087 876 | 1534 1529 1533 877 | 2090 2085 2089 878 | 2380 2373 2379 879 | 2384 2377 2383 880 | 2386 2381 2385 881 | 2392 2369 2391 882 | 2396 2389 2395 883 | 2398 2393 2397 884 | 2400 2398 2398 885 | 750 312 749 886 | 752 103 750 887 | 1550 1542 1549 888 | 760 747 759 889 | 764 757 763 890 | 766 761 765 891 | 2494 2473 2493 892 | 2498 2491 2497 893 | 1104 1069 1103 894 | 1108 1101 1107 895 | 1110 1105 1109 896 | 1554 1547 1553 897 | 622 620 620 898 | 620 22 22 899 | 604 602 602 900 | 602 358 358 901 | 630 619 629 902 | 634 627 633 903 | 1556 1551 1555 904 | 636 631 635 905 | 962 955 961 906 | 966 958 965 907 | 968 963 967 908 | 664 657 663 909 | 668 661 667 910 | 670 665 669 911 | 710 683 709 912 | 1220 1212 1219 913 | 1572 1564 1571 914 | 714 707 713 915 | 716 711 715 916 | 698 690 697 917 | 702 695 701 918 | 704 699 703 919 | 824 822 822 920 | 1576 1569 1575 921 | 776 774 774 922 | 774 70 70 923 | 832 791 831 924 | 836 829 835 925 | 838 833 837 926 | 294 121 293 927 | 298 291 297 928 | 300 295 299 929 | 302 300 300 930 | 1578 1573 1577 931 | 560 395 559 932 | 564 557 563 933 | 566 561 565 934 | 844 769 843 935 | 848 841 847 936 | 850 845 849 937 | 2164 2157 2163 938 | 2168 2160 2167 939 | 2184 2177 2183 940 | 2188 2180 2187 941 | 1344 1336 1343 942 | 2210 2201 2209 943 | 2214 2206 2213 944 | 306 303 305 945 | 568 567 305 946 | 1348 1341 1347 947 | 852 851 305 948 | 1112 1111 305 949 | 970 969 305 950 | 1350 1345 1349 951 | 718 717 305 952 | 2026 312 13 953 | 2202 724 345 954 | 1366 1358 1365 955 | 2032 1798 1876 956 | 1370 1363 1369 957 | 1372 1367 1371 958 | 14 2 13 959 | 346 336 345 960 | 2046 2041 2045 961 | 314 312 13 962 | 1690 1683 1689 963 | 1694 1687 1693 964 | 1696 1691 1695 965 | 322 311 321 966 | 326 319 325 967 | 1224 1217 1223 968 | 2054 2049 2053 969 | 328 323 327 970 | 1698 1696 1696 971 | 726 724 345 972 | 1590 1583 1589 973 | 1594 1587 1593 974 | 2056 2047 2055 975 | 1596 1591 1595 976 | 734 723 733 977 | 738 731 737 978 | 740 735 739 979 | 1598 1596 1596 980 | 576 575 575 981 | 2058 2049 2053 982 | 1670 1663 1669 983 | 1674 1667 1673 984 | 1676 1671 1675 985 | 584 573 583 986 | 588 581 587 987 | 590 585 589 988 | 1678 1676 1676 989 | 860 859 859 990 | 2148 2143 2147 991 | 1650 1643 1649 992 | 1654 1647 1653 993 | 1656 1651 1655 994 | 868 857 867 995 | 872 865 871 996 | 874 869 873 997 | 2150 2059 2149 998 | 1658 1656 1656 999 | 1120 1119 1119 1000 | 1630 1623 1629 1001 | 1634 1627 1633 1002 | 1636 1631 1635 1003 | 1128 1117 1127 1004 | 1132 1125 1131 1005 | 1134 1129 1133 1006 | 2500 2495 2499 1007 | 1638 1636 1636 1008 | 978 977 977 1009 | 1610 1603 1609 1010 | 1614 1607 1613 1011 | 1616 1611 1615 1012 | 986 975 985 1013 | 2502 2049 2053 1014 | 990 983 989 1015 | 992 987 991 1016 | 1618 1616 1616 1017 | 1942 14 14 1018 | 18 16 16 1019 | 16 14 14 1020 | 1488 328 328 1021 | 2504 2501 2503 1022 | 1944 1943 1489 1023 | 1490 19 1489 1024 | 2152 2049 2053 1025 | 330 19 329 1026 | 334 332 332 1027 | 332 331 331 1028 | 1286 1284 1284 1029 | 1284 331 331 1030 | 2170 2165 2169 1031 | 1226 1221 1225 1032 | 2172 2153 2171 1033 | 2190 2185 2189 1034 | 1930 346 346 1035 | 350 348 348 1036 | 348 346 346 1037 | 1374 590 590 1038 | 2192 2049 2053 1039 | 1932 1931 1375 1040 | 1376 351 1375 1041 | 2194 2191 2193 1042 | 592 351 591 1043 | 596 594 594 1044 | 594 593 593 1045 | 1326 1324 1324 1046 | 1324 593 593 1047 | 2196 2049 2053 1048 | 2216 2211 2215 1049 | 2218 2197 2217 1050 | 742 740 740 1051 | 1258 1256 1256 1052 | 1256 740 740 1053 | 1196 874 874 1054 | 2296 2285 2295 1055 | 878 876 876 1056 | 876 874 874 1057 | 1198 743 1197 1058 | 2300 2292 2299 1059 | 1260 1259 1197 1060 | 2302 2297 2301 1061 | 880 743 879 1062 | 1248 1240 1247 1063 | 2420 2413 2419 1064 | 2424 2416 2423 1065 | 1288 1259 879 1066 | 994 992 992 1067 | 2426 2421 2425 1068 | 1230 1228 1228 1069 | 1228 992 992 1070 | 1136 1134 1134 1071 | 1202 1200 1200 1072 | 1200 1134 1134 1073 | 1716 1167 1713 1074 | 1718 1715 1716 1075 | 1720 1715 1718 1076 | 1138 995 1137 1077 | 1972 1167 1713 1078 | 1974 1160 1972 1079 | 1976 1970 1974 1080 | 1232 1231 1137 1081 | 1978 1721 1977 1082 | 1204 995 1203 1083 | 1328 1231 1203 1084 | 1722 335 597 1085 | 1724 880 1722 1086 | 1726 1138 1724 1087 | 1728 1173 1726 1088 | 1730 335 597 1089 | 1732 1198 1730 1090 | 1734 1204 1732 1091 | 1736 1173 1734 1092 | 1738 335 597 1093 | 1740 1198 1738 1094 | 1742 1232 1740 1095 | 1744 1173 1742 1096 | 1746 335 597 1097 | 1748 1260 1746 1098 | 1750 1138 1748 1099 | 1752 1173 1750 1100 | 1754 335 1376 1101 | 1756 880 1754 1102 | 1758 1204 1756 1103 | 1760 1173 1758 1104 | 1762 1287 1376 1105 | 1764 880 1762 1106 | 1766 1232 1764 1107 | 1768 1173 1766 1108 | 1252 1245 1251 1109 | 1770 1287 1376 1110 | 1772 1288 1770 1111 | 1774 1138 1772 1112 | 1776 1173 1774 1113 | 1778 1287 1376 1114 | 1780 1198 1778 1115 | 1782 1328 1780 1116 | 1784 1173 1782 1117 | 1800 1287 1376 1118 | 1802 1260 1800 1119 | 1804 1204 1802 1120 | 1806 1301 1804 1121 | 1808 1287 597 1122 | 1810 1288 1808 1123 | 1812 1232 1810 1124 | 1814 1301 1812 1125 | 1816 1490 1327 1126 | 1818 880 1816 1127 | 1820 1204 1818 1128 | 1822 1301 1820 1129 | 1824 1490 1327 1130 | 1826 880 1824 1131 | 1828 1232 1826 1132 | 1830 1301 1828 1133 | 1832 1490 1327 1134 | 1834 1288 1832 1135 | 1836 1138 1834 1136 | 1838 1301 1836 1137 | 1840 1490 1327 1138 | 1842 1260 1840 1139 | 1844 1204 1842 1140 | 1846 1301 1844 1141 | 1848 1287 1327 1142 | 1850 880 1848 1143 | 1852 1328 1850 1144 | 1854 1301 1852 1145 | 1856 1287 1327 1146 | 1858 1288 1856 1147 | 1860 1204 1858 1148 | 1862 1301 1860 1149 | 2272 1151 1143 1150 | 2322 1151 1293 1151 | 2220 1729 1737 1152 | 2222 1745 2220 1153 | 2224 1753 2222 1154 | 2226 1761 2224 1155 | 2228 1769 2226 1156 | 2230 1777 2228 1157 | 2232 1785 2230 1158 | 2234 101 101 1159 | 2304 1807 1815 1160 | 2306 1823 2304 1161 | 2308 1831 2306 1162 | 2310 1839 2308 1163 | 2312 1847 2310 1164 | 2314 1855 2312 1165 | 2316 1863 2314 1166 | 2318 101 101 1167 | 1786 1729 1737 1168 | 1788 1745 1786 1169 | 1790 1753 1788 1170 | 1792 1761 1790 1171 | 1794 1769 1792 1172 | 1796 1777 1794 1173 | 1798 1785 1796 1174 | 1864 1807 1815 1175 | 1866 1823 1864 1176 | 1868 1831 1866 1177 | 1870 1839 1868 1178 | 1872 1847 1870 1179 | 1874 1855 1872 1180 | 1876 1863 1874 1181 | 1700 1599 1619 1182 | 1702 1639 1700 1183 | 1704 1659 1702 1184 | 1706 15 1704 1185 | 1708 1679 1706 1186 | 1710 1699 1708 1187 | 1712 347 1710 1188 | 1882 1287 1376 1189 | 1884 1198 1882 1190 | 1886 1138 1884 1191 | 1888 1880 1886 1192 | 1890 1490 1327 1193 | 1892 1198 1890 1194 | 1894 1138 1892 1195 | 1896 1880 1894 1196 | 1898 1490 1376 1197 | 1900 880 1898 1198 | 1902 1138 1900 1199 | 1904 1880 1902 1200 | 1906 1490 1376 1201 | 1908 1198 1906 1202 | 1910 1204 1908 1203 | 1912 1880 1910 1204 | 1914 1490 1376 1205 | 1916 1198 1914 1206 | 1918 1232 1916 1207 | 1920 1880 1918 1208 | 1922 1490 1376 1209 | 1924 1260 1922 1210 | 1926 1138 1924 1211 | 1928 1880 1926 1212 | 1934 1490 1932 1213 | 1936 1198 1934 1214 | 1938 1138 1936 1215 | 1940 1880 1938 1216 | 1946 1944 1376 1217 | 1948 1198 1946 1218 | 1950 1138 1948 1219 | 1952 1880 1950 1220 | 1954 1889 1897 1221 | 1956 1905 1954 1222 | 1958 1913 1956 1223 | 1960 1921 1958 1224 | 1962 1929 1960 1225 | 1964 1941 1962 1226 | 1966 1953 1964 1227 | 1968 1798 1876 1228 | 1970 1966 1968 1229 | 1152 343 4 1230 | 1254 1249 1253 1231 | 1142 1141 1141 1232 | 1292 1291 1291 1233 | 2030 2028 2028 1234 | 2028 9 9 1235 | 304 9 9 1236 | 1146 1144 1144 1237 | 1144 9 9 1238 | 10 9 9 1239 | 1164 1162 1162 1240 | 1162 1161 1161 1241 | 2048 1161 1161 1242 | 1714 1161 1161 1243 | 2290 2288 2288 1244 | 2288 101 101 1245 | 102 101 101 1246 | 1150 1148 1148 1247 | 1148 101 101 1248 | 2052 2050 2050 1249 | 2050 101 101 1250 | 1166 101 101 1251 | 344 343 11 1252 | 12 7 11 1253 | 1154 1143 1147 1254 | 1156 1151 1154 1255 | 1158 1153 1156 1256 | 1172 1159 1171 1257 | 1294 1293 1147 1258 | 1296 1151 1294 1259 | 1298 1153 1296 1260 | 1300 1299 1171 1261 | 1168 1165 1167 1262 | 1170 1153 1168 1263 | 1878 1165 1167 1264 | 1880 1153 1878 1265 | 416 414 414 1266 | 414 158 158 1267 | 406 399 405 1268 | 410 403 409 1269 | 412 407 411 1270 | 418 416 416 1271 | 422 412 412 1272 | 162 160 160 1273 | 160 158 158 1274 | 144 129 143 1275 | 148 141 147 1276 | 150 145 149 1277 | 164 162 162 1278 | 168 150 150 1279 | --------------------------------------------------------------------------------