├── 1 ├── 1_1.py ├── 1_2.py ├── 1_1.test.in └── 1_2.test.in ├── 2 ├── 2.test.in ├── 2_2.test.in ├── 2_1.py ├── 2_2.py └── 2_1.in ├── 3 ├── 3.in ├── 3_1.py └── 3_2.py ├── 4 ├── 4_1.py ├── 4_2.py └── 4.in ├── 5 ├── 5_1.py ├── 5_2.py ├── 5.in └── 5_2.in ├── 6 └── 6.py ├── 7 ├── 7_2.test.in ├── 7_1.py ├── 7_2.py └── 7.in ├── 8 ├── 8.test.in └── 8.py ├── 9 ├── 9_2.test.in ├── 9_1.test.in ├── 9_1.py └── 9.in ├── 10 ├── 10.in ├── 10_1.py └── 10_2.py ├── 11 ├── 11_1.py ├── 11_2.py └── 11.in ├── 12 ├── 12.test.in ├── 12_1.py └── 12_2.py ├── 13 ├── 13.test.in ├── 13.in ├── 13_2.py └── 13_1.py ├── 14 ├── 14_1.py ├── 14_2.py └── knothash.py ├── 15 ├── 15_1.py └── 15_2.cs ├── 16 └── 16.py ├── 17 ├── 17_2.py └── 17_1.py ├── 18 ├── 18_2.test.in ├── 18_1.test.in ├── 18.in ├── 18_1.py └── 18_2.py ├── 19 ├── 19_1.test.in ├── 19_2.py └── 19_1.py ├── 20 ├── 20_1.test.in ├── 20_2.test.in ├── 20_1.py └── 20_2.py ├── 21 ├── 21.test.in ├── 21.in └── 21.py ├── 22 ├── 22_1.test.in ├── 22.in ├── 22_1.py └── 22_2.py ├── 23 ├── 23.in └── 23_1.py ├── 24 ├── 24.test.in ├── 24.in ├── 24_1.py └── 24_2.py ├── 25 ├── 25.test.in ├── 25.in └── 25.py ├── README.md └── .gitignore /3/3.in: -------------------------------------------------------------------------------- 1 | 361527 -------------------------------------------------------------------------------- /10/10.in: -------------------------------------------------------------------------------- 1 | 3, 4, 1, 5 -------------------------------------------------------------------------------- /2/2.test.in: -------------------------------------------------------------------------------- 1 | 5 1 9 5 2 | 7 5 3 3 | 2 4 6 8 -------------------------------------------------------------------------------- /13/13.test.in: -------------------------------------------------------------------------------- 1 | 0: 3 2 | 1: 2 3 | 4: 4 4 | 6: 4 -------------------------------------------------------------------------------- /2/2_2.test.in: -------------------------------------------------------------------------------- 1 | 5 9 2 8 2 | 9 4 7 3 3 | 3 8 6 5 -------------------------------------------------------------------------------- /21/21.test.in: -------------------------------------------------------------------------------- 1 | ../.# => ##./#../... 2 | ###/..#/.#. => #..#/..../..../#..# -------------------------------------------------------------------------------- /24/24.test.in: -------------------------------------------------------------------------------- 1 | 0/2 2 | 2/2 3 | 2/3 4 | 3/4 5 | 3/5 6 | 0/1 7 | 10/1 8 | 9/10 -------------------------------------------------------------------------------- /18/18_2.test.in: -------------------------------------------------------------------------------- 1 | snd 1 2 | snd 2 3 | snd p 4 | rcv a 5 | rcv b 6 | rcv c 7 | rcv d -------------------------------------------------------------------------------- /20/20_1.test.in: -------------------------------------------------------------------------------- 1 | p=<3,0,0>, v=<2,0,0>, a=<-1,0,0> 2 | p=<4,0,0>, v=<0,0,0>, a=<-2,0,0> -------------------------------------------------------------------------------- /8/8.test.in: -------------------------------------------------------------------------------- 1 | b inc 5 if a > 1 2 | a inc 1 if b < 5 3 | c dec -10 if a >= 1 4 | c inc -20 if c == 10 -------------------------------------------------------------------------------- /9/9_2.test.in: -------------------------------------------------------------------------------- 1 | <> 2 | 3 | <<<<> 4 | <{!>}> 5 | {} 6 | > 7 | <{o"i!a,<{i -------------------------------------------------------------------------------- /12/12.test.in: -------------------------------------------------------------------------------- 1 | 0 <-> 2 2 | 1 <-> 1 3 | 2 <-> 0, 3, 4 4 | 3 <-> 2, 4 5 | 4 <-> 2, 3, 6 6 | 5 <-> 6 7 | 6 <-> 4, 5 -------------------------------------------------------------------------------- /22/22_1.test.in: -------------------------------------------------------------------------------- 1 | ......... 2 | ......... 3 | ......... 4 | .....#... 5 | ...#..... 6 | ......... 7 | ......... 8 | ......... -------------------------------------------------------------------------------- /18/18_1.test.in: -------------------------------------------------------------------------------- 1 | set a 1 2 | add a 2 3 | mul a a 4 | mod a 5 5 | snd a 6 | set a 0 7 | rcv a 8 | jgz a -1 9 | set a 1 10 | jgz a -2 -------------------------------------------------------------------------------- /19/19_1.test.in: -------------------------------------------------------------------------------- 1 | | 2 | | +--+ 3 | A | C 4 | F---|----E|--+ 5 | | | | D 6 | +B-+ +--+ -------------------------------------------------------------------------------- /20/20_2.test.in: -------------------------------------------------------------------------------- 1 | p=<-6,0,0>, v=<3,0,0>, a=<0,0,0> 2 | p=<-4,0,0>, v=<2,0,0>, a=<0,0,0> 3 | p=<-2,0,0>, v=<1,0,0>, a=<0,0,0> 4 | p=<3,0,0>, v=<-1,0,0>, a=<0,0,0> -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AdventofCode2017 2 | Simple and comprehensive algorithmic solutions for [Advent of Code 2017](http://adventofcode.com "AdventOfCode"). I was in Santa's nice list with all 50 gold stars :) 3 | -------------------------------------------------------------------------------- /7/7_2.test.in: -------------------------------------------------------------------------------- 1 | pbga (66) 2 | xhth (57) 3 | ebii (61) 4 | havc (66) 5 | ktlj (57) 6 | fwft (72) -> ktlj, cntj, xhth 7 | qoyq (66) 8 | padx (45) -> pbga, havc, qoyq 9 | tknk (41) -> ugml, padx, fwft 10 | jptl (61) 11 | ugml (68) -> gyxo, ebii, jptl 12 | gyxo (61) 13 | cntj (57) -------------------------------------------------------------------------------- /9/9_1.test.in: -------------------------------------------------------------------------------- 1 | '{}', 2 | '{{{}}}', 3 | '{{},{}}', 4 | '{{{},{},{{}}}}', 5 | '{<{},{},{{}}>}', 6 | '{,,,}', 7 | '{{},{},{},{}}', 8 | '{{},{},{},{}}', 9 | '{{},{},{},{}}', 10 | '{{},{},{},{}}', 11 | '{{},{},{},{}}', 12 | '{<{o"i!a,<{i}' -------------------------------------------------------------------------------- /15/15_1.py: -------------------------------------------------------------------------------- 1 | if __name__ == '__main__': 2 | seedA = 516 3 | seedB = 190 4 | mulA = 16807 5 | mulB = 48271 6 | cap = 2147483647 7 | 8 | curA = seedA 9 | curB = seedB 10 | count = 0 11 | for _ in range(40000000): 12 | curA = (curA*mulA)%cap 13 | curB = (curB*mulB)%cap 14 | count += int((curA&65535) == (curB&65535)) 15 | print(count) -------------------------------------------------------------------------------- /17/17_2.py: -------------------------------------------------------------------------------- 1 | def spinlock(spins, times): 2 | i = 0 3 | n = 1 4 | ans = -1 5 | 6 | for v in range(1, times+1): 7 | i = ((i+(spins%n))%n)+1 8 | if i==1: 9 | ans = v 10 | n += 1 11 | 12 | assert(ans != -1) 13 | return ans 14 | 15 | if __name__ == '__main__': 16 | times = 50000000 17 | #times = 2017 18 | print(spinlock(376, times)) -------------------------------------------------------------------------------- /2/2_1.py: -------------------------------------------------------------------------------- 1 | # Implement the requirements from problem statement 2 | 3 | from sys import stdin 4 | 5 | def checksum(matrix): 6 | sum = 0 7 | for row in matrix: 8 | e = list(map(int, row.split())) 9 | sum += max(e)-min(e) 10 | return sum 11 | 12 | if __name__ == '__main__': 13 | matrix = [] 14 | for line in stdin: 15 | matrix.append(line) 16 | print(checksum(matrix)) -------------------------------------------------------------------------------- /4/4_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def valid(passphrase): 4 | tokens = passphrase.split() 5 | s = set() 6 | for token in tokens: 7 | if token in s: 8 | return False 9 | s.add(token) 10 | return True 11 | 12 | if __name__ == '__main__': 13 | s = 0 14 | for phrase in stdin: 15 | v = valid(phrase) 16 | if v: 17 | s += 1 18 | print(s) -------------------------------------------------------------------------------- /23/23.in: -------------------------------------------------------------------------------- 1 | set b 99 2 | set c b 3 | jnz a 2 4 | jnz 1 5 5 | mul b 100 6 | sub b -100000 7 | set c b 8 | sub c -17000 9 | set f 1 10 | set d 2 11 | set e 2 12 | set g d 13 | mul g e 14 | sub g b 15 | jnz g 2 16 | set f 0 17 | sub e -1 18 | set g e 19 | sub g b 20 | jnz g -8 21 | sub d -1 22 | set g d 23 | sub g b 24 | jnz g -13 25 | jnz f 2 26 | sub h -1 27 | set g b 28 | sub g c 29 | jnz g 2 30 | jnz 1 3 31 | sub b -17 32 | jnz 1 -23 -------------------------------------------------------------------------------- /17/17_1.py: -------------------------------------------------------------------------------- 1 | def spinlock(spins, times): 2 | buffer = [0] 3 | i = 0 4 | n = 1 5 | for v in range(1, times+1): 6 | i = ((i+(spins%n))%n)+1 7 | buffer.insert(i, v) 8 | n += 1 9 | # print(buffer[0], buffer[1]) 10 | return buffer 11 | 12 | if __name__ == '__main__': 13 | #times = 50000000 14 | times = 2017 15 | buffer = spinlock(376, times) 16 | print(buffer[buffer.index(0)+1]) -------------------------------------------------------------------------------- /4/4_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def valid(passphrase): 4 | tokens = passphrase.split() 5 | s = set() 6 | for token in tokens: 7 | v = ''.join(sorted(token)) 8 | if v in s: 9 | return False 10 | s.add(v) 11 | return True 12 | 13 | if __name__ == '__main__': 14 | s = 0 15 | for phrase in stdin: 16 | v = valid(phrase) 17 | s += (1 if v else 0) 18 | print(s) -------------------------------------------------------------------------------- /5/5_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def jumps(l): 4 | n = len(l) 5 | ci = 0 # current index 6 | jumps = 0 7 | 8 | while ci>=0 and ci=0 and ci=3 else 1) 12 | ci = ni 13 | jumps += 1 14 | 15 | return jumps 16 | 17 | if __name__ == '__main__': 18 | l = [] 19 | for line in stdin: 20 | l.append(int(line.strip())) 21 | print(jumps(l)) -------------------------------------------------------------------------------- /1/1_1.py: -------------------------------------------------------------------------------- 1 | # Implement the requirements from problem statement 2 | 3 | from sys import stdin 4 | 5 | def find_next(i, shift, n): 6 | return (i+shift)%n 7 | 8 | def captcha(sequence): 9 | n = len(sequence) 10 | 11 | sum = 0 12 | for i in range(n): 13 | if (sequence[i] == sequence[find_next(i, 1, n)]): 14 | sum += int(sequence[i]) 15 | return sum 16 | 17 | 18 | for line in stdin: 19 | print(captcha(line.strip())) -------------------------------------------------------------------------------- /13/13.in: -------------------------------------------------------------------------------- 1 | 0: 5 2 | 1: 2 3 | 2: 3 4 | 4: 4 5 | 6: 6 6 | 8: 4 7 | 10: 8 8 | 12: 6 9 | 14: 6 10 | 16: 8 11 | 18: 6 12 | 20: 9 13 | 22: 8 14 | 24: 10 15 | 26: 8 16 | 28: 8 17 | 30: 12 18 | 32: 8 19 | 34: 12 20 | 36: 10 21 | 38: 12 22 | 40: 12 23 | 42: 12 24 | 44: 12 25 | 46: 12 26 | 48: 14 27 | 50: 12 28 | 52: 14 29 | 54: 12 30 | 56: 14 31 | 58: 12 32 | 60: 14 33 | 62: 14 34 | 64: 14 35 | 66: 14 36 | 68: 14 37 | 70: 14 38 | 72: 14 39 | 76: 14 40 | 80: 18 41 | 84: 14 42 | 90: 18 43 | 92: 17 -------------------------------------------------------------------------------- /14/14_1.py: -------------------------------------------------------------------------------- 1 | from knothash import knot_hash #from 10th day 2 | 3 | def count_setbits(n): 4 | count = 0 5 | while (n): 6 | n &= (n-1) 7 | count += 1 8 | return count 9 | 10 | if __name__ == '__main__': 11 | key_string = 'oundnydw' 12 | #key_string = 'flqrgnkx' 13 | count = 0 14 | for i in range(128): 15 | key = f'{key_string}-{i}' 16 | row = int(knot_hash(key), 16) 17 | count += count_setbits(row) 18 | print(count) -------------------------------------------------------------------------------- /1/1_2.py: -------------------------------------------------------------------------------- 1 | # Implement the requirements from problem statement. The only thing that changes is the 2 | # `shift` parameter in `find_next` 3 | 4 | from sys import stdin 5 | 6 | def find_next(i, shift, n): 7 | return (i+shift)%n 8 | 9 | def captcha(sequence): 10 | n = len(sequence) 11 | 12 | sum = 0 13 | for i in range(n): 14 | if (sequence[i] == sequence[find_next(i, n//2, n)]): 15 | sum += int(sequence[i]) 16 | return sum 17 | 18 | 19 | for line in stdin: 20 | print(captcha(line.strip())) -------------------------------------------------------------------------------- /18/18.in: -------------------------------------------------------------------------------- 1 | set i 31 2 | set a 1 3 | mul p 17 4 | jgz p p 5 | mul a 2 6 | add i -1 7 | jgz i -2 8 | add a -1 9 | set i 127 10 | set p 680 11 | mul p 8505 12 | mod p a 13 | mul p 129749 14 | add p 12345 15 | mod p a 16 | set b p 17 | mod b 10000 18 | snd b 19 | add i -1 20 | jgz i -9 21 | jgz a 3 22 | rcv b 23 | jgz b -1 24 | set f 0 25 | set i 126 26 | rcv a 27 | rcv b 28 | set p a 29 | mul p -1 30 | add p b 31 | jgz p 4 32 | snd a 33 | set a b 34 | jgz 1 3 35 | snd b 36 | set f 1 37 | add i -1 38 | jgz i -11 39 | snd a 40 | jgz f -16 41 | jgz a -19 -------------------------------------------------------------------------------- /24/24.in: -------------------------------------------------------------------------------- 1 | 25/13 2 | 4/43 3 | 42/42 4 | 39/40 5 | 17/18 6 | 30/7 7 | 12/12 8 | 32/28 9 | 9/28 10 | 1/1 11 | 16/7 12 | 47/43 13 | 34/16 14 | 39/36 15 | 6/4 16 | 3/2 17 | 10/49 18 | 46/50 19 | 18/25 20 | 2/23 21 | 3/21 22 | 5/24 23 | 46/26 24 | 50/19 25 | 26/41 26 | 1/50 27 | 47/41 28 | 39/50 29 | 12/14 30 | 11/19 31 | 28/2 32 | 38/47 33 | 5/5 34 | 38/34 35 | 39/39 36 | 17/34 37 | 42/16 38 | 32/23 39 | 13/21 40 | 28/6 41 | 6/20 42 | 1/30 43 | 44/21 44 | 11/28 45 | 14/17 46 | 33/33 47 | 17/43 48 | 31/13 49 | 11/21 50 | 31/39 51 | 0/9 52 | 13/50 53 | 10/14 54 | 16/10 55 | 3/24 56 | 7/0 57 | 50/50 -------------------------------------------------------------------------------- /2/2_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def checksum(matrix): 4 | sum = 0 5 | 6 | for _ in matrix: 7 | row = list(sorted(map(int, _.split()))) 8 | n = len(row) 9 | for i in range(n): 10 | for j in range(i+1, n): 11 | if (row[j]%row[i] == 0): 12 | sum += row[j]//row[i] 13 | break 14 | else: 15 | continue 16 | break 17 | 18 | return sum 19 | 20 | if __name__ == '__main__': 21 | matrix = [] 22 | for line in stdin: 23 | matrix.append(line) 24 | print(checksum(matrix)) -------------------------------------------------------------------------------- /25/25.test.in: -------------------------------------------------------------------------------- 1 | Begin in state A. 2 | Perform a diagnostic checksum after 6 steps. 3 | 4 | In state A: 5 | If the current value is 0: 6 | - Write the value 1. 7 | - Move one slot to the right. 8 | - Continue with state B. 9 | If the current value is 1: 10 | - Write the value 0. 11 | - Move one slot to the left. 12 | - Continue with state B. 13 | 14 | In state B: 15 | If the current value is 0: 16 | - Write the value 1. 17 | - Move one slot to the left. 18 | - Continue with state A. 19 | If the current value is 1: 20 | - Write the value 1. 21 | - Move one slot to the right. 22 | - Continue with state A. -------------------------------------------------------------------------------- /3/3_1.py: -------------------------------------------------------------------------------- 1 | # Tricky implementation. Try to simulate the traversal layer by layer 2 | 3 | from sys import stdin 4 | import math 5 | 6 | def spiral(num): 7 | layer = math.ceil(math.sqrt(num)) 8 | layer = layer if layer%2 else layer+1 9 | layer_start = ((layer-2)**2) 10 | corner_step = layer-1 11 | middles = [] 12 | 13 | for i in range(1, 5): 14 | corner = layer_start+(i*corner_step) 15 | middle = corner-((corner_step)//2) 16 | middles.append(middle) 17 | 18 | return layer//2 + min((abs(num-middle) for middle in middles)) 19 | 20 | if __name__ == '__main__': 21 | for line in stdin: 22 | print(spiral(int(line.strip()))) -------------------------------------------------------------------------------- /13/13_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def delay(firewall): 4 | delay = 0 5 | while (True): 6 | for i in range(len(firewall)): 7 | level,depth = firewall[i] 8 | if intersects(delay+level, depth): 9 | break 10 | else: 11 | return delay 12 | delay += 1 13 | 14 | #Pray 15 | def intersects(level, depth): 16 | assert(depth>0) 17 | 18 | return (level%(2*(depth-1)) == 0) 19 | 20 | if __name__ == '__main__': 21 | firewall = [] 22 | for line in stdin: 23 | level,depth = list(map(int, line.split(': '))) 24 | firewall.append((level, depth)) 25 | 26 | print(delay(firewall)) 27 | 28 | -------------------------------------------------------------------------------- /11/11_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def steps(path, directions): 4 | pos = [0, 0] 5 | for step in path: 6 | pos[0] += directions[step][0] 7 | pos[1] += directions[step][1] 8 | 9 | x = abs(pos[0]) 10 | y = abs(pos[1]) 11 | dxy = min(x, (y//1.5)) 12 | dy = abs(y-dxy*1.5)//1.5 13 | dx = abs(x-dxy)//2 14 | return int(dx+dy+dxy) 15 | 16 | if __name__ == '__main__': 17 | directions = { 18 | 'n': (-2, 0), 19 | 'ne': (-1, 1.5), 20 | 'se': (1, 1.5), 21 | 's': (2, 0), 22 | 'sw': (1, -1.5), 23 | 'nw': (-1, -1.5) 24 | } 25 | 26 | for line in stdin: 27 | path = line.strip().split(',') 28 | print(steps(path, directions)) -------------------------------------------------------------------------------- /22/22.in: -------------------------------------------------------------------------------- 1 | #.#.#.##.#.##.###.#.###.# 2 | .#..#.....#..#######.##.# 3 | ......###..##..###..#...# 4 | ##....#.#.#....#..#..#..# 5 | #..#....#.##.#.#..#..#.#. 6 | ..##..##.##..##...#...### 7 | ..#.#....#..####.##.##... 8 | ###...#.#...#.######...#. 9 | ..#####...###..#####.#.## 10 | ...#..#......####.##..#.# 11 | #...##..#.#####...#.##... 12 | ..#.#.###.##.##....##.### 13 | ##.##...###....#######.#. 14 | #.#...#.#..#.##..##..##.# 15 | .#...###...#..#..####.... 16 | ####...#...##.####..#.#.. 17 | ......#.....##.#.##....## 18 | ###.......####..##.#.##.. 19 | ....###.....##.##..###.#. 20 | .##..##.#.###.###..#.###. 21 | ..#..##.######.##........ 22 | #..#.#..#.###....##.##..# 23 | .##.#.#...######...##.##. 24 | ##..#..#..##.#.#..#..#### 25 | #######.#.######.#.....## -------------------------------------------------------------------------------- /7/7_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | import re 3 | 4 | def parent(node, P): 5 | if node not in P: 6 | return node 7 | 8 | p = node 9 | while P[p] != p: 10 | p = P[p] 11 | return p 12 | 13 | # Use a union find approach 14 | if __name__ == '__main__': 15 | P = {} 16 | 17 | for line in stdin: 18 | groups = line.split('->') 19 | node,weight = groups[0].split() 20 | weight = re.match('\((\d+)\)', weight).groups()[0] 21 | if node not in P: 22 | P[node] = node 23 | if len(groups)>1: 24 | group = groups[1] 25 | children = [token.strip() for token in group.split(', ')] 26 | for child in children: 27 | P[child] = node 28 | 29 | print(parent(list(P.values())[0], P)) -------------------------------------------------------------------------------- /10/10_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def dec(i, n): 4 | return (i-1) if (i-1>=0) else (n-1) 5 | 6 | def inc(i, n): 7 | return (i+1) if (i+10) 13 | if depth == 1: 14 | return True 15 | 16 | collision_at = 0 17 | i = 1 18 | while collision_at<=level: 19 | if collision_at==level: 20 | return True 21 | collision_at = i*2*(depth-1) 22 | i += 1 23 | return False 24 | 25 | def intersects(level, depth): 26 | assert(depth>0) 27 | 28 | return (level%(2*(depth-1)) == 0) 29 | 30 | if __name__ == '__main__': 31 | firewall = [] 32 | for line in stdin: 33 | level,depth = list(map(int, line.split(': '))) 34 | firewall.append((level, depth)) 35 | 36 | print(scan(firewall)) 37 | 38 | -------------------------------------------------------------------------------- /6/6.py: -------------------------------------------------------------------------------- 1 | def toHash(banks): 2 | return ''.join(map(str, banks)) 3 | 4 | def redistribution(banks): 5 | n = len(banks) 6 | patterns = {} 7 | pattern = toHash(banks) 8 | j = 0 9 | 10 | while pattern not in patterns: 11 | patterns[pattern] = j 12 | max_bank = max(banks) 13 | m = banks.index(max_bank) 14 | banks[m] = 0 15 | inc = max_bank//n 16 | for i in range(n): 17 | banks[i] += inc 18 | inc = max_bank%n 19 | i = m+1 20 | while inc>0: 21 | banks[i%n] += 1 22 | i += 1 23 | inc -= 1 24 | pattern = toHash(banks) 25 | j += 1 26 | 27 | return (j - patterns[pattern]) 28 | 29 | if __name__ == '__main__': 30 | #input for in the question is pretty bad, hence made it into a list 31 | print(redistribution([0, 2, 7, 0])) 32 | print(redistribution([4, 1, 15, 12, 0, 9, 9, 5, 5, 8, 7, 3, 14, 5, 12, 3])) -------------------------------------------------------------------------------- /19/19_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def solve(road, pos): 4 | directions = [ 5 | (1,0),#down 6 | (0,-1),#left 7 | (-1,0),#up 8 | (0,1)#right 9 | ] 10 | direction = (1,0) 11 | path = [] 12 | while pos in road: 13 | if road[pos] == '+': 14 | for d in directions: 15 | if d != mul_tuple(direction, -1): 16 | if (add_tuple(pos,d) in road): 17 | direction = d 18 | break 19 | path.append(road[pos]) 20 | 21 | pos = add_tuple(pos,direction) 22 | 23 | return len(path) 24 | 25 | def mul_tuple(a,factor): 26 | return tuple(factor*v for v in a) 27 | 28 | def add_tuple(a, b): 29 | return tuple(sum(v) for v in zip(a,b)) 30 | 31 | if __name__ == '__main__': 32 | road = {} 33 | for i,line in enumerate(stdin): 34 | for j,cell in enumerate(line): 35 | v = cell.strip() 36 | if v: 37 | road[(i,j)] = v 38 | pos = min(road.keys()) 39 | print(solve(road, pos)) 40 | -------------------------------------------------------------------------------- /12/12_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | class Color: 4 | White, Black = range(2) 5 | 6 | def connected_components(G, vertex): 7 | cc = [] 8 | c = {} 9 | for v in G: 10 | c[v] = Color.White 11 | 12 | dfs_visit(G, vertex, c, cc) 13 | 14 | return cc 15 | 16 | def dfs_visit(G, root, c, cc): 17 | c[root] = Color.Black 18 | cc.append(root) 19 | 20 | for child in G[root]: 21 | if c[child] == Color.White: 22 | dfs_visit(G, child, c, cc) 23 | 24 | def get_node(G, node): 25 | if node not in G: 26 | G[node] = [] 27 | return G[node] 28 | 29 | if __name__ == '__main__': 30 | G = {} 31 | for line in stdin: 32 | node,children = line.split(' <-> ') 33 | node = int(node) 34 | children = [int(v.strip()) for v in children.split(',')] 35 | 36 | adjacents = get_node(G, node) 37 | adjacents.extend(children) 38 | 39 | for child in children: 40 | adjacents = get_node(G, child) 41 | adjacents.append(node) 42 | 43 | print(len(connected_components(G, 0))) -------------------------------------------------------------------------------- /14/14_2.py: -------------------------------------------------------------------------------- 1 | from knothash import knot_hash 2 | 3 | def convert_to_bool(n): 4 | bits = [] 5 | for _ in range(128): 6 | bits.append(bool(n & 1)) 7 | n >>= 1 8 | return list(reversed(bits)) 9 | 10 | def mark(grid, x, y, directions): 11 | grid[x][y] = False 12 | for direction in directions: 13 | pos_x = x+direction[0] 14 | pos_y = y+direction[1] 15 | if pos_x>=0 and pos_x<128 and pos_y>=0 and pos_y<128 and grid[pos_x][pos_y]: 16 | mark(grid, pos_x, pos_y, directions) 17 | 18 | if __name__ == '__main__': 19 | key_string = 'oundnydw' 20 | #key_string = 'flqrgnkx' 21 | count = 0 22 | grid = [] 23 | 24 | for i in range(128): 25 | key = f'{key_string}-{i}' 26 | row = int(knot_hash(key), 16) 27 | grid.append(convert_to_bool(row)) 28 | assert(len(grid[31])==128) 29 | 30 | directions = [(-1,0), (0,-1), (0,1), (1,0)] 31 | for i in range(128): 32 | for j in range(128): 33 | if grid[i][j]: 34 | mark(grid, i, j, directions) 35 | count += 1 36 | 37 | print(count) -------------------------------------------------------------------------------- /12/12_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | class Color: 4 | White, Black = range(2) 5 | 6 | def connected_components(G): 7 | c = {} 8 | for v in G: 9 | c[v] = Color.White 10 | 11 | count = 0 12 | for v in G: 13 | if c[v] == Color.White: 14 | dfs_visit(G, v, c) 15 | count += 1 16 | 17 | return count 18 | 19 | def dfs_visit(G, root, c): 20 | c[root] = Color.Black 21 | 22 | for child in G[root]: 23 | if c[child] == Color.White: 24 | dfs_visit(G, child, c) 25 | 26 | def get_node(G, node): 27 | if node not in G: 28 | G[node] = [] 29 | return G[node] 30 | 31 | if __name__ == '__main__': 32 | G = {} 33 | for line in stdin: 34 | node,children = line.split(' <-> ') 35 | node = int(node) 36 | children = [int(v.strip()) for v in children.split(',')] 37 | 38 | adjacents = get_node(G, node) 39 | adjacents.extend(children) 40 | 41 | for child in children: 42 | adjacents = get_node(G, child) 43 | adjacents.append(node) 44 | 45 | print(connected_components(G)) -------------------------------------------------------------------------------- /19/19_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def solve(road, pos): 4 | directions = [ 5 | (1,0),#down 6 | (0,-1),#left 7 | (-1,0),#up 8 | (0,1)#right 9 | ] 10 | 11 | direction = (1,0) 12 | path = [] 13 | 14 | while pos in road: 15 | if road[pos] == '+': 16 | for d in directions: 17 | if d != mul_tuple(direction, -1): 18 | if (add_tuple(pos,d) in road): 19 | direction = d 20 | break 21 | if road[pos].isalpha(): 22 | path.append(road[pos]) 23 | pos = add_tuple(pos,direction) 24 | 25 | return ''.join(path) 26 | 27 | def mul_tuple(a,factor): 28 | return tuple(factor*v for v in a) 29 | 30 | def add_tuple(a, b): 31 | return tuple(sum(v) for v in zip(a,b)) 32 | 33 | if __name__ == '__main__': 34 | road = {} 35 | for i,line in enumerate(stdin): 36 | for j,cell in enumerate(line): 37 | v = cell.strip() 38 | if v: 39 | road[(i,j)] = v 40 | pos = min(road.keys()) 41 | print(solve(road, pos)) 42 | -------------------------------------------------------------------------------- /2/2_1.in: -------------------------------------------------------------------------------- 1 | 1364 461 1438 1456 818 999 105 1065 314 99 1353 148 837 590 404 123 2 | 204 99 235 2281 2848 3307 1447 3848 3681 963 3525 525 288 278 3059 821 3 | 280 311 100 287 265 383 204 380 90 377 398 99 194 297 399 87 4 | 7698 2334 7693 218 7344 3887 3423 7287 7700 2447 7412 6147 231 1066 248 208 5 | 3740 837 4144 123 155 2494 1706 4150 183 4198 1221 4061 95 148 3460 550 6 | 1376 1462 73 968 95 1721 544 982 829 1868 1683 618 82 1660 83 1778 7 | 197 2295 5475 2886 2646 186 5925 237 3034 5897 1477 196 1778 3496 5041 3314 8 | 179 2949 3197 2745 1341 3128 1580 184 1026 147 2692 212 2487 2947 3547 1120 9 | 460 73 52 373 41 133 671 61 634 62 715 644 182 524 648 320 10 | 169 207 5529 4820 248 6210 255 6342 4366 5775 5472 3954 3791 1311 7074 5729 11 | 5965 7445 2317 196 1886 3638 266 6068 6179 6333 229 230 1791 6900 3108 5827 12 | 212 249 226 129 196 245 187 332 111 126 184 99 276 93 222 56 13 | 51 592 426 66 594 406 577 25 265 578 522 57 547 65 564 622 14 | 215 2092 1603 1001 940 2054 245 2685 206 1043 2808 208 194 2339 2028 2580 15 | 378 171 155 1100 184 937 792 1436 1734 179 1611 1349 647 1778 1723 1709 16 | 4463 4757 201 186 3812 2413 2085 4685 5294 5755 2898 200 5536 5226 1028 180 -------------------------------------------------------------------------------- /14/knothash.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def dec(i, n): 4 | return (i-1) if (i-1>=0) else (n-1) 5 | 6 | def inc(i, n): 7 | return (i+1) if (i+1': 23 | garbage = False 24 | i += 1 25 | 26 | return score 27 | 28 | def groups_no_garbage(s): 29 | n = len(s) 30 | i = 0 31 | garbage = False 32 | chars = 0 33 | 34 | while i': 44 | chars -= 1 45 | garbage = False 46 | 47 | i += 1 48 | 49 | return chars 50 | 51 | for test in stdin: 52 | print(groups(test)) 53 | print(groups_no_garbage(test)) 54 | -------------------------------------------------------------------------------- /22/22_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def is_infected(grid, cur): 4 | return True if (cur in grid and grid[cur]=='#') else False 5 | 6 | def flip_infection(grid, cur): 7 | grid[cur] = ('.' if (cur in grid and grid[cur]=='#') else '#') 8 | return True if (grid[cur] == '#') else False 9 | 10 | def move(grid, cur, orientation): 11 | x,y = cur 12 | xo,yo = orientation 13 | return (x+xo,y+yo) 14 | 15 | def rotate_right(cur): 16 | return (cur[1],-1*cur[0]) 17 | 18 | def rotate_left(cur): 19 | return (-1*cur[1],cur[0]) 20 | 21 | def pretty_print(grid, m, n): 22 | for i in range(m): 23 | for j in range(n): 24 | print(grid[(i,j)], end=' ') 25 | print() 26 | 27 | if __name__ == '__main__': 28 | grid = {} 29 | 30 | i = 0 31 | for line in stdin: 32 | for j,v in enumerate(line.strip()): 33 | grid[(i,j)] = v 34 | i += 1 35 | 36 | m = i 37 | n = (j+1) 38 | cur = (m//2,n//2) 39 | orientation = (-1,0) 40 | iterations = 10000 41 | # iterations = 70 42 | infected = 0 43 | for _ in range(iterations): 44 | orientation = rotate_right(orientation) if is_infected(grid, cur) else rotate_left(orientation) 45 | infected += int(flip_infection(grid, cur)) 46 | cur = move(grid, cur, orientation) 47 | 48 | print(infected) -------------------------------------------------------------------------------- /16/16.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | def spin(P, x): 4 | n = len(P) 5 | rotations = x%n 6 | for _ in range(rotations): 7 | v = P.pop() 8 | P.appendleft(v) 9 | 10 | def Ex(P, si, ei): 11 | P[si],P[ei] = P[ei],P[si] 12 | 13 | def swap(P, s, e): 14 | si = P.index(ord(s)-97) 15 | ei = P.index(ord(e)-97) 16 | Ex(P, si, ei) 17 | 18 | def pretty_print(P): 19 | print([chr(i+97) for i in P]) 20 | 21 | def pretty_inverted_print(Pi): 22 | for i,v in enumerate(Pi): 23 | print(chr(i+97), v) 24 | 25 | if __name__ == '__main__': 26 | P = deque(range(0,16)) 27 | 28 | ops = [ 29 | 's1', 30 | 'x3/4', 31 | 'pe/b' 32 | ] 33 | 34 | # accidently combined 1 & 2 but should be pretty simple to figure out 35 | ops = input().split(',') 36 | reps = 1000000000 37 | # for problem 2simulation shows that patterns repeat after every 60 iterations. 38 | required = reps%60 39 | for i in range(required): 40 | for op in ops: 41 | if op.startswith('s'): 42 | spin(P, int(op[1:])) 43 | elif op.startswith('x'): 44 | si,ei = list(map(int, op[1:].split('/'))) 45 | Ex(P, si, ei) 46 | else: 47 | s,e = op[1:].split('/') 48 | swap(P, s, e) 49 | 50 | ans = ''.join([chr(i+97) for i in P]) 51 | 52 | print(ans) -------------------------------------------------------------------------------- /7/7_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | import re 3 | 4 | # not a good implementation. You have to eyeball the answer from output 5 | imbalance = 0 6 | def find_weight(G, root): 7 | global imbalance 8 | weight = G[root][0] 9 | children = G[root][1] 10 | children_weights = [] 11 | for child in children: 12 | children_weights.append(find_weight(G, child)) 13 | n = len(children_weights) 14 | if imbalance==0 and n>0: 15 | pw = children_weights[0][1] 16 | for i in range(1, n): 17 | cw = children_weights[i][1] 18 | if pw != cw: 19 | imbalance = abs(pw-cw) 20 | break 21 | pw = cw 22 | if imbalance>0: 23 | print(children_weights) 24 | print([G[child[0]] for child in children_weights]) 25 | 26 | 27 | weights = [child[1] for child in children_weights] 28 | return (root, weight+sum(weights)) 29 | 30 | if __name__ == '__main__': 31 | G = {} 32 | root = 'hmvwl' #from 7.py answer 33 | #root = 'tknk' 34 | for line in stdin: 35 | groups = line.split('->') 36 | node,weight = groups[0].split() 37 | weight = int(re.match('\((\d+)\)', weight).groups()[0]) 38 | G[node] = (weight, []) 39 | if len(groups)>1: 40 | group = groups[1] 41 | children = [token.strip() for token in group.split(', ')] 42 | for child in children: 43 | G[node][1].append(child) 44 | #print(P) 45 | find_weight(G, root) 46 | print(imbalance) -------------------------------------------------------------------------------- /20/20_1.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | import re 3 | 4 | def add_tuple(a, b): 5 | return tuple(sum(v) for v in zip(a,b)) 6 | 7 | def mul_tuple(a, factor): 8 | return tuple(factor*v for v in a) 9 | 10 | def closest(particles): 11 | return particles.index(min(particles, key=lambda x: sum([abs(v) for v in x[0]]))) 12 | 13 | # Runs longer 14 | if __name__ == '__main__': 15 | pattern = re.compile('p=<(-?\d+),(-?\d+),(-?\d+)>, v=<(-?\d+),(-?\d+),(-?\d+)>, a=<(-?\d+),(-?\d+),(-?\d+)>') 16 | 17 | particles = [] 18 | for line in stdin: 19 | xp,yp,zp,xv,yv,zv,xa,ya,za = list(map(int, pattern.match(line).groups())) 20 | particles.append([(xp,yp,zp),(xv,yv,zv),(xa,ya,za)]) 21 | 22 | best = closest(particles) 23 | best_count = 1 24 | step = 1 25 | best_until = 20000 26 | while best_count=0) else (n-1) 3 | 4 | def inc(i, n): 5 | return (i+1) if (i+1 value 10 | def ge(registers, register, value): 11 | return registers[register] >= value 12 | def lt(registers, register, value): 13 | return registers[register] < value 14 | def le(registers, register, value): 15 | return registers[register] <= value 16 | def inc(registers, register, value): 17 | registers[register] += value 18 | def dec(registers, register, value): 19 | inc(registers, register, -1*value) 20 | 21 | # Both the parts of the puzzle are in this file 22 | if __name__ == '__main__': 23 | pattern = re.compile("(\w+) (inc|dec) (-?\d+) if (\w+) ([[><=!]+) (-?\d+)") 24 | registers = {} 25 | logic = { 26 | "!=": ne, 27 | "==": eq, 28 | ">": gt, 29 | ">=": ge, 30 | "<": lt, 31 | "<=": le 32 | } 33 | operation = { 34 | "inc": inc, 35 | "dec": dec 36 | } 37 | 38 | INF = -100000000 39 | m = INF 40 | 41 | for line in stdin: 42 | dr,op,v,sr,lo,cond = pattern.match(line).groups() 43 | v = int(v) 44 | cond = int(cond) 45 | 46 | if dr not in registers: 47 | registers[dr] = 0 48 | if sr not in registers: 49 | registers[sr] = 0 50 | if (logic[lo](registers, sr, cond)): 51 | operation[op](registers, dr, v) 52 | 53 | m = max(m, max(registers.values())) 54 | 55 | print(max(list(registers.values()))) 56 | print(m) -------------------------------------------------------------------------------- /24/24_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | def strength(component): 4 | return component[0]+component[1] 5 | 6 | def connect(source, connected, ports, components): 7 | best_length = 0 8 | best_strength = 0 9 | 10 | for component in ports[source]: 11 | index = components[component] 12 | if not (connected & (1<{component}', end='') 14 | connected |= (1<=best_length: 19 | if (l+1)==best_length: 20 | best_strength = max(best_strength, strength(component)+s) 21 | else: 22 | best_strength = strength(component)+s 23 | 24 | best_length = l+1 25 | 26 | connected ^= (1<1: 25 | colliding_partciles.extend(particle[1]) 26 | 27 | return colliding_partciles 28 | 29 | # Runs longer 30 | if __name__ == '__main__': 31 | pattern = re.compile('p=<(-?\d+),(-?\d+),(-?\d+)>, v=<(-?\d+),(-?\d+),(-?\d+)>, a=<(-?\d+),(-?\d+),(-?\d+)>') 32 | 33 | particles = {} 34 | for i,line in enumerate(stdin): 35 | xp,yp,zp,xv,yv,zv,xa,ya,za = list(map(int, pattern.match(line).groups())) 36 | particles[i] = [(xp,yp,zp),(xv,yv,zv),(xa,ya,za)] 37 | 38 | best = len(particles) 39 | best_count = 1 40 | step = 1 41 | best_until = 20000 42 | while best_count0: 59 | pc += offset 60 | pc -= 1 #so that the pc+1 in the main loop will be come back to the proper pc 61 | return True 62 | 63 | commands = { 64 | 'snd': snd, 65 | 'set': set, 66 | 'add': add, 67 | 'mul': mul, 68 | 'mod': mod, 69 | 'rcv': rcv, 70 | 'jgz': jgz 71 | } 72 | 73 | def execute(statement): 74 | global last_command 75 | command = statement[0].strip() 76 | register = statement[1].strip() 77 | value = None 78 | if len(statement)>2: 79 | value = statement[2].strip() 80 | last_command = command 81 | 82 | return commands[command](register, value) 83 | 84 | if __name__ == '__main__': 85 | statements = [] 86 | for line in stdin: 87 | statement = line.split(' ') 88 | statements.append(statement) 89 | 90 | last_command = None 91 | n = len(statements) 92 | while pc>=0 and pc=0 and i=0: 36 | sum = 0 37 | for ii in range(-1, 2): 38 | for ji in range(-1, 2): 39 | if (within_bounds(n, i+ii) and within_bounds(n, j+ji)): 40 | sum += grid[i+ii][j+ji] 41 | grid[i][j] = sum 42 | i -= 1 43 | 44 | i = 0 45 | j = b-1 46 | while j>=0: 47 | sum = 0 48 | for ii in range(-1, 2): 49 | for ji in range(-1, 2): 50 | if (within_bounds(n, i+ii) and within_bounds(n, j+ji)): 51 | sum += grid[i+ii][j+ji] 52 | grid[i][j] = sum 53 | j -= 1 54 | 55 | i = 1 56 | j = 0 57 | while i judge = Judge(cap, max, bits); 16 | Console.WriteLine(judge.Result); 17 | } 18 | 19 | static Task Judge(long cap, long max, long bits) 20 | { 21 | long seedA = 516; 22 | long seedB = 190; 23 | 24 | long mulA = 16807; 25 | long mulB = 48271; 26 | long divA = 4; 27 | long divB = 8; 28 | 29 | long[] a = new long[max]; 30 | long[] b = new long[max]; 31 | 32 | int computei = 0; 33 | int ai = 0; 34 | int bi = 0; 35 | long count = 0; 36 | object mutex = new object(); 37 | 38 | Action onGenA = (long gena) => {a[ai++] = gena; TryCompute(); }; 39 | Action onGenB = (long genb) => {b[bi++] = genb; TryCompute(); }; 40 | 41 | Task[] tasks = new Task[2]; 42 | tasks[0] = Task.Run(() => { Gen(seedA, mulA, cap, divA, max, onGenA); }); 43 | tasks[1] = Task.Run(() => { Gen(seedB, mulB, cap, divB, max, onGenB); }); 44 | 45 | return Task.Factory.ContinueWhenAll(tasks, ts => { 46 | Console.WriteLine(ts[0].Exception); 47 | return count; 48 | }); 49 | 50 | void TryCompute() 51 | { 52 | lock(mutex) 53 | { 54 | if (ai>computei && bi>computei) 55 | { 56 | count += Convert.ToInt64((a[computei]&bits) == (b[computei]&bits)); 57 | computei++; 58 | } 59 | } 60 | } 61 | } 62 | 63 | static void Gen(long seed, long multiplier, long cap, long div, long max, Action onGeneration) 64 | { 65 | long cur = seed; 66 | 67 | for(int _=0; _=0 and self._pc #.#/.#./... 2 | #./.. => .../..#/..# 3 | ##/.. => .#./##./### 4 | .#/#. => ..#/#../##. 5 | ##/#. => ##./..#/#.# 6 | ##/## => ###/###/.## 7 | .../.../... => ...#/#.##/.##./#..# 8 | #../.../... => .###/#.##/##.#/##.# 9 | .#./.../... => #.../.###/..#./#.## 10 | ##./.../... => .#.#/.###/##../#.## 11 | #.#/.../... => .##./..../##.#/#... 12 | ###/.../... => ..##/.#.#/###./#..# 13 | .#./#../... => .#.#/##.#/.#.#/.##. 14 | ##./#../... => ###./.###/#.../...# 15 | ..#/#../... => #.##/##../.#../.##. 16 | #.#/#../... => ..##/..../..##/...# 17 | .##/#../... => ####/#..#/.#../.... 18 | ###/#../... => ##../..#./##../.... 19 | .../.#./... => .###/...#/#.../#... 20 | #../.#./... => .#../.#.#/..##/#.#. 21 | .#./.#./... => ##.#/####/.#.#/##.. 22 | ##./.#./... => ..../.###/#.#./..## 23 | #.#/.#./... => ..#./..#./..../.... 24 | ###/.#./... => ###./..../..#./.... 25 | .#./##./... => ..../.##./##.#/.... 26 | ##./##./... => ..#./.#../..##/#... 27 | ..#/##./... => #.##/.##./..#./.##. 28 | #.#/##./... => .###/#.../##.#/..#. 29 | .##/##./... => ###./##../..#./..## 30 | ###/##./... => ..#./.##./.###/#..# 31 | .../#.#/... => ###./#.../####/#.#. 32 | #../#.#/... => .##./.#../#.##/.#.. 33 | .#./#.#/... => .#../##../..##/.#.# 34 | ##./#.#/... => ###./#.#./##.#/##.. 35 | #.#/#.#/... => #.../.##./#.##/#.#. 36 | ###/#.#/... => ###./..##/#.##/###. 37 | .../###/... => ##../...#/#.#./#.#. 38 | #../###/... => .#../...#/##.#/#### 39 | .#./###/... => #.#./..##/#.#./.##. 40 | ##./###/... => ..##/..##/.###/#... 41 | #.#/###/... => ####/##../..../#..# 42 | ###/###/... => ...#/#.##/#.##/#.#. 43 | ..#/.../#.. => .#.#/..##/#.##/#..# 44 | #.#/.../#.. => ...#/..#./##../#..# 45 | .##/.../#.. => ####/##../..../##.. 46 | ###/.../#.. => ..#./..#./##.#/#..# 47 | .##/#../#.. => .#../####/.###/#..# 48 | ###/#../#.. => ####/.#.#/...#/..## 49 | ..#/.#./#.. => #.#./.##./####/.... 50 | #.#/.#./#.. => ##../###./.#../##.. 51 | .##/.#./#.. => ###./.#../...#/.... 52 | ###/.#./#.. => .#../.###/##../##.# 53 | .##/##./#.. => .#../#..#/.###/#... 54 | ###/##./#.. => ..../.##./##../...# 55 | #../..#/#.. => ##.#/...#/.###/##.# 56 | .#./..#/#.. => ##../##../..../#.#. 57 | ##./..#/#.. => ..##/.#../#.#./.#.# 58 | #.#/..#/#.. => ..../..##/...#/...# 59 | .##/..#/#.. => #.../..##/...#/#### 60 | ###/..#/#.. => #.../..#./##.#/.#.# 61 | #../#.#/#.. => ..##/#.../#..#/..#. 62 | .#./#.#/#.. => #..#/#.../.##./#.## 63 | ##./#.#/#.. => ##.#/.##./##.#/...# 64 | ..#/#.#/#.. => ####/.#.#/.##./#.#. 65 | #.#/#.#/#.. => #..#/.##./.##./.### 66 | .##/#.#/#.. => ...#/...#/..../.##. 67 | ###/#.#/#.. => .#../###./..../.### 68 | #../.##/#.. => ##.#/##../#.#./...# 69 | .#./.##/#.. => ###./.#.#/#.##/#### 70 | ##./.##/#.. => #.##/..#./.#../#..# 71 | #.#/.##/#.. => #.#./..##/..##/.#.# 72 | .##/.##/#.. => .#../.###/.###/#.## 73 | ###/.##/#.. => #.../##../#.#./.#.. 74 | #../###/#.. => #.#./###./.##./..#. 75 | .#./###/#.. => #.../#.../.##./.#.. 76 | ##./###/#.. => ..#./.###/..##/#... 77 | ..#/###/#.. => #.##/.#../###./.### 78 | #.#/###/#.. => .#.#/#..#/###./##.. 79 | .##/###/#.. => #.#./#.##/..##/.#.. 80 | ###/###/#.. => ##../#.../..#./#..# 81 | .#./#.#/.#. => #..#/####/#.#./#..# 82 | ##./#.#/.#. => ..##/.#../##.#/#..# 83 | #.#/#.#/.#. => ####/#.#./#..#/#.#. 84 | ###/#.#/.#. => #.../##.#/..../#... 85 | .#./###/.#. => ..##/.##./####/.### 86 | ##./###/.#. => .##./..#./#.##/#..# 87 | #.#/###/.#. => ##.#/##../####/...# 88 | ###/###/.#. => ..##/####/...#/.#.. 89 | #.#/..#/##. => #.##/.#.#/#.#./#.## 90 | ###/..#/##. => ...#/##.#/#..#/..#. 91 | .##/#.#/##. => .#.#/..#./..../###. 92 | ###/#.#/##. => ###./####/##.#/#.## 93 | #.#/.##/##. => ##.#/#.##/.##./##.. 94 | ###/.##/##. => .#.#/#.#./###./#### 95 | .##/###/##. => .#../####/.#../.... 96 | ###/###/##. => .#../..../##.#/.##. 97 | #.#/.../#.# => #.../#.../..##/..## 98 | ###/.../#.# => ...#/..#./##.#/#### 99 | ###/#../#.# => .###/..##/.#../.... 100 | #.#/.#./#.# => ###./####/.#../#..# 101 | ###/.#./#.# => #.../#.##/..../###. 102 | ###/##./#.# => .###/####/#..#/.### 103 | #.#/#.#/#.# => .#.#/...#/.#.#/#.## 104 | ###/#.#/#.# => ..../..#./..#./#### 105 | #.#/###/#.# => ..##/...#/.#.#/.##. 106 | ###/###/#.# => .###/.##./..##/#### 107 | ###/#.#/### => #.#./.#../.#.#/#.#. 108 | ###/###/### => #..#/##../#.#./#### -------------------------------------------------------------------------------- /25/25.py: -------------------------------------------------------------------------------- 1 | import re 2 | from sys import stdin 3 | from functools import partial 4 | 5 | class CircularBuffer(object): 6 | def __init__(self, capacity=10): 7 | self._capacity = capacity 8 | 9 | self._buffer = [0]*self._capacity 10 | self._head = 0 11 | self._tail = 0 12 | self._current = 0 13 | 14 | self._buffer[self._current] = 0 15 | 16 | def write(self, value): 17 | self._buffer[self._current] = value 18 | 19 | def read(self): 20 | return self._buffer[self._current] 21 | 22 | def seek_right(self): 23 | if self._is_full(): 24 | self._resize() 25 | 26 | i = self._increment(self._current) 27 | if self._current == self._tail: 28 | self._tail = i 29 | self._current = i 30 | 31 | def seek_left(self): 32 | if self._is_full(): 33 | self._resize() 34 | 35 | i = self._decrement(self._current) 36 | if self._current == self._head: 37 | self._head = i 38 | self._current = i 39 | 40 | def _resize(self): 41 | buffer = CircularBuffer(self._capacity*2) 42 | 43 | offset = [0, False] 44 | i = self._head 45 | while i!=self._tail: 46 | buffer.write(self._buffer[i]) 47 | buffer.seek_right() 48 | if i == self._current: 49 | offset[1] = True 50 | if offset[1]: 51 | offset[0] += 1 52 | i = self._increment(i) 53 | buffer.write(self._buffer[self._tail]) 54 | 55 | while offset[0]>0: 56 | buffer.seek_left() 57 | offset[0] -= 1 58 | 59 | self._capacity = buffer._capacity 60 | self._buffer = buffer._buffer 61 | self._head = buffer._head 62 | self._tail = buffer._tail 63 | self._current = buffer._current 64 | 65 | def _is_full(self): 66 | return self._increment(self._tail) == self._head 67 | 68 | def _increment(self, i): 69 | return (i+1)%self._capacity 70 | 71 | def _decrement(self, i): 72 | return (i-1)%self._capacity 73 | 74 | def process(write, move, next_state, buffer): 75 | assert(move == 'right' or move == 'left') 76 | 77 | buffer.write(write) 78 | if move == 'right': 79 | buffer.seek_right() 80 | elif move: 81 | buffer.seek_left() 82 | 83 | return next_state 84 | 85 | def parse_start_state(line): 86 | return re.match('Begin in state (\w+).', line).groups()[0] 87 | 88 | def parse_checksum(line): 89 | return int(re.match('Perform a diagnostic checksum after (\d+) steps.', line).groups()[0]) 90 | 91 | def parse_states(states, stdin, buffer): 92 | line = stdin.readline() 93 | while (line): 94 | line = stdin.readline().strip() 95 | state_id = re.match('In state (\w+):', line).groups()[0] 96 | 97 | states[state_id] = [None]*2 98 | state = states[state_id] 99 | for _ in range(2): 100 | line = stdin.readline().strip() 101 | value = int(re.match('If the current value is (\d+):', line).groups()[0]) 102 | line = stdin.readline().strip() 103 | write_value = int(re.match('- Write the value (\d+).', line).groups()[0]) 104 | line = stdin.readline().strip() 105 | move_value = re.match('- Move one slot to the (\w+).', line).groups()[0] 106 | line = stdin.readline().strip() 107 | next_state = re.match('- Continue with state (\w+).', line).groups()[0] 108 | 109 | state[value] = partial(process, write_value, move_value, next_state, buffer) 110 | 111 | line = stdin.readline() 112 | 113 | def print_buffer(buffer): 114 | i = buffer._head 115 | while i!=buffer._tail: 116 | print(buffer._buffer[i], end=' ') 117 | i = buffer._increment(i) 118 | print(buffer._buffer[buffer._tail]) 119 | print(f'head:{buffer._head} tail:{buffer._tail} cur: {buffer._current}') 120 | 121 | if __name__ == '__main__': 122 | buffer = CircularBuffer() 123 | states = {} 124 | 125 | active_state = parse_start_state(stdin.readline().strip()) 126 | steps = parse_checksum(stdin.readline().strip()) 127 | 128 | parse_states(states, stdin, buffer) 129 | # print(states) 130 | 131 | for _ in range(steps): 132 | active_state = states[active_state][buffer.read()]() 133 | 134 | print(sum(buffer._buffer)) -------------------------------------------------------------------------------- /21/21.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | import re 3 | 4 | def rotation_0(m, n): 5 | return m 6 | 7 | def flip(m, n): 8 | matrix = [[c for c in m[i]] for i in range(n)] 9 | offset = n//2 10 | for k in range(offset): 11 | for i in range(n): 12 | t = matrix[i][k] 13 | matrix[i][k] = matrix[i][n-k-1] 14 | matrix[i][n-k-1] = t 15 | return matrix 16 | 17 | def invert(m, n): 18 | matrix = [[c for c in m[i]] for i in range(n)] 19 | offset = n//2 20 | for k in range(offset): 21 | for i in range(n): 22 | t = matrix[k][i] 23 | matrix[k][i] = matrix[n-k-1][i] 24 | matrix[n-k-1][i] = t 25 | return matrix 26 | 27 | def rotate_90(m, n): 28 | matrix = [[c for c in m[i]] for i in range(n)] 29 | offset = n//2 30 | for k in range(offset): 31 | for i in range(k, n-k-1): 32 | t1 = matrix[k][k+i] 33 | 34 | t2 = matrix[k+i][n-k-1] 35 | matrix[k+i][n-k-1] = t1 36 | t1 = t2 37 | 38 | t2 = matrix[n-k-1][n-k-i-1] 39 | matrix[n-k-1][n-k-i-1] = t1 40 | t1 = t2 41 | 42 | t2 = matrix[n-k-i-1][k] 43 | matrix[n-k-i-1][k] = t1 44 | t1 = t2 45 | 46 | matrix[k][k+i] = t1 47 | return matrix 48 | 49 | def rotate_180(m, n): 50 | matrix = m 51 | for _ in range(2): 52 | matrix = rotate_90(matrix, n) 53 | return matrix 54 | 55 | def rotate_270(m, n): 56 | matrix = m 57 | for _ in range(3): 58 | matrix = rotate_90(matrix, n) 59 | return matrix 60 | 61 | def encode(matrix, n, startx=0, starty=0): 62 | h = 1 #sentry 63 | for i in range(startx, startx+n): 64 | for j in range(starty, starty+n): 65 | h <<= 1 66 | if matrix[i][j] == '#': 67 | h |= 1 68 | return h 69 | 70 | def decode(pattern, n): 71 | matrix = [] 72 | for i in range(n): 73 | row = '' 74 | for j in range(n): 75 | row = ('#' if (pattern & (1<<(i*n+j))) else '.') + row 76 | matrix.insert(0, row) 77 | return matrix 78 | 79 | def preprocess(rules): 80 | patterns = {} 81 | 82 | for rule in rules: 83 | s,d = rule 84 | 85 | value = (encode(d, len(d)), len(d)) 86 | normal = encode(s, len(s)) 87 | patterns[normal] = value 88 | 89 | transforms = [flip, invert] 90 | rotations = [rotation_0, rotate_90, rotate_180, rotate_270] 91 | for rotation in rotations: 92 | key = encode(rotation(s, len(s)), len(s)) 93 | assert((key not in patterns) or (value == patterns[key])) 94 | patterns[key] = value 95 | 96 | for transform in transforms: 97 | key = encode(transform(rotation(s, len(s)), len(s)), len(s)) 98 | assert((key not in patterns) or (value == patterns[key])) 99 | patterns[key] = value 100 | 101 | return patterns 102 | 103 | def process(matrix, n, startx, starty, patterns): 104 | key = encode(matrix, n, startx, starty) 105 | assert(key in patterns) 106 | 107 | m,mn = patterns[key] 108 | return decode(m, mn) 109 | 110 | def solve(matrix, patterns, iterations): 111 | m = matrix 112 | for _ in range(iterations): 113 | n = len(m) 114 | split = 2 if (n%2 == 0) else (3 if (n%3 == 0) else -1) 115 | assert(split != -1) 116 | 117 | size = (split+1)*(n//split) 118 | t = [[None]*(size) for __ in range(size)] 119 | tj = 0 120 | for j in range(0, n, split): 121 | ti = 0 122 | for i in range(0, n, split): 123 | startx = i 124 | starty = j 125 | #print(m, split, startx, starty) 126 | pm = process(m, split, startx, starty, patterns) 127 | for a in range(len(pm)): 128 | ttj = tj 129 | for b in range(len(pm)): 130 | t[ti][ttj] = pm[a][b] 131 | ttj += 1 132 | ti += 1 133 | # print(t) 134 | tj += (split+1) 135 | m = t 136 | # print(m) 137 | 138 | count = 0 139 | for i in range(len(m)): 140 | count += sum([len([1 for e in row if e == '#']) for row in m[i]]) 141 | return count 142 | 143 | # Both the problems are here. Just the input varies 144 | if __name__ == '__main__': 145 | matrix = ['.#.', '..#', '###'] 146 | #iterations = 2 147 | #iterations = 5 148 | iterations = 18 149 | 150 | rules = [] 151 | for line in stdin: 152 | s,d = list(map(lambda x: x.split('/'), line.rstrip().split(' => '))) 153 | rules.append((s,d)) 154 | patterns = preprocess(rules) 155 | print(solve(matrix, patterns, iterations)) -------------------------------------------------------------------------------- /18/18_2.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | from multiprocessing import Process, Pipe 3 | from threading import Timer 4 | import os 5 | 6 | class MemoryBank(object): 7 | def __init__(self, total=26, default=0): 8 | self._registers = [default]*total 9 | 10 | def set(self, register, value): 11 | assert(register.isalpha()) 12 | 13 | i = self._index(register) 14 | self._registers[i] = value 15 | 16 | def get(self, register): 17 | assert(register.isalpha()) 18 | 19 | i = self._index(register) 20 | return self._registers[i] 21 | 22 | def _index(self, register): 23 | return ord(register)-97 24 | 25 | class Program(object): 26 | def __init__(self, statements, memory, conn): 27 | self._memory = memory 28 | self._pc = 0 29 | self._statements = statements 30 | self._conn = conn 31 | 32 | def run(self): 33 | commands = { 34 | 'set': self._set, 35 | 'add': self._add, 36 | 'mul': self._mul, 37 | 'mod': self._mod, 38 | 'jgz': self._handle_jgz, 39 | 'snd': self._handle_snd, 40 | 'rcv': self._rcv} 41 | n = len(self._statements) 42 | snd_ops = 0 43 | 44 | while self._pc>=0 and self._pc0: 91 | self._pc += (offset-1)#so that the pc+1 in the main loop will be come back to the proper pc 92 | 93 | def _handle_snd(self, register, dummy): 94 | register_value = register 95 | if self._is_register(register): 96 | register_value = self._memory.get(register) 97 | 98 | self._snd(register_value) 99 | 100 | def _snd(self, value): 101 | self._conn.send(value) 102 | 103 | def _deadlock(self): 104 | self._conn.close() 105 | 106 | def _rcv(self, register, dummy): 107 | deadlock_timer = Timer(1*5, self._deadlock) #30 sec timeout for deadlock 108 | deadlock_timer.start() 109 | 110 | try: 111 | value = self._conn.recv() 112 | deadlock_timer.cancel() 113 | # print(f"{os.getpid()}-rcv {value}") 114 | except EOFError: 115 | self._pc = len(self._statements) 116 | return 117 | 118 | self._memory.set(register, value) 119 | 120 | def join_all(processes): 121 | for p in processes: 122 | p.join() 123 | 124 | if __name__ == '__main__': 125 | statements = [] 126 | for line in stdin: 127 | statement = line.split(' ') 128 | if len(statement) == 2: #hack to always deflate to 3 values 129 | statement.append('0') 130 | statements.append([s.strip() for s in statement]) 131 | 132 | pipe = Pipe() 133 | 134 | processes = [] 135 | for i in range(2): 136 | 137 | memory = MemoryBank(total=26, default=0) 138 | memory.set('p', i) 139 | program = Program(statements, memory, pipe[i]) 140 | process = Process(target=program.run) 141 | process.start() 142 | 143 | pipe[i].close() 144 | 145 | processes.append((process, i)) 146 | 147 | for i in range(2): 148 | print(f"{processes[i][0].pid}-{processes[i][1]}") 149 | 150 | join_all((process for process,_ in processes)) -------------------------------------------------------------------------------- /5/5.in: -------------------------------------------------------------------------------- 1 | 1 2 | 0 3 | 0 4 | 1 5 | 0 6 | -3 7 | -3 8 | -6 9 | 0 10 | -7 11 | -9 12 | 0 13 | -2 14 | 0 15 | -8 16 | -1 17 | -15 18 | -15 19 | -4 20 | -12 21 | -19 22 | -3 23 | -12 24 | -10 25 | -3 26 | -17 27 | -17 28 | -9 29 | -18 30 | -20 31 | -1 32 | -6 33 | -29 34 | -18 35 | -5 36 | -25 37 | -13 38 | -22 39 | -33 40 | 2 41 | -39 42 | -40 43 | -33 44 | -33 45 | -27 46 | -7 47 | -44 48 | 1 49 | -20 50 | -46 51 | -41 52 | 0 53 | -19 54 | 0 55 | -10 56 | -15 57 | -21 58 | -17 59 | -52 60 | -20 61 | -45 62 | -34 63 | -30 64 | -29 65 | -40 66 | -1 67 | -18 68 | -10 69 | -19 70 | -15 71 | -64 72 | -61 73 | -53 74 | -28 75 | -45 76 | -12 77 | -73 78 | -36 79 | -36 80 | -2 81 | -30 82 | -56 83 | -63 84 | -42 85 | -8 86 | -35 87 | -32 88 | -39 89 | -22 90 | -87 91 | -45 92 | -35 93 | -74 94 | 1 95 | -5 96 | -45 97 | -16 98 | -19 99 | -48 100 | -25 101 | -94 102 | -85 103 | -75 104 | -15 105 | -79 106 | -37 107 | -82 108 | -13 109 | -85 110 | -20 111 | -52 112 | -50 113 | -85 114 | -13 115 | -70 116 | -16 117 | -86 118 | 0 119 | -68 120 | -55 121 | -15 122 | -25 123 | -31 124 | -117 125 | -91 126 | -67 127 | -114 128 | -108 129 | -50 130 | -76 131 | -116 132 | -12 133 | -27 134 | -98 135 | -115 136 | -101 137 | -124 138 | -2 139 | -4 140 | -95 141 | -41 142 | -35 143 | -110 144 | -86 145 | -4 146 | -126 147 | -67 148 | -94 149 | -81 150 | -101 151 | -93 152 | -109 153 | -71 154 | -152 155 | -110 156 | -145 157 | -28 158 | -139 159 | -106 160 | -83 161 | -58 162 | -100 163 | -1 164 | -21 165 | -112 166 | -130 167 | -102 168 | -34 169 | -80 170 | -49 171 | -11 172 | -72 173 | -82 174 | -132 175 | -36 176 | -119 177 | -127 178 | -85 179 | -66 180 | -12 181 | -43 182 | -3 183 | -86 184 | -116 185 | -125 186 | -162 187 | 0 188 | -185 189 | -39 190 | -27 191 | -159 192 | -23 193 | -71 194 | -50 195 | -119 196 | -183 197 | -56 198 | -48 199 | -113 200 | -197 201 | -199 202 | -6 203 | -92 204 | -7 205 | -39 206 | -63 207 | -67 208 | -22 209 | -126 210 | -170 211 | -67 212 | -59 213 | -114 214 | -207 215 | -13 216 | -15 217 | -168 218 | -167 219 | -15 220 | -143 221 | -128 222 | -136 223 | -115 224 | 2 225 | -113 226 | -74 227 | -104 228 | -91 229 | -157 230 | -121 231 | -126 232 | -125 233 | -112 234 | -106 235 | -194 236 | -146 237 | -165 238 | -139 239 | -97 240 | -134 241 | -133 242 | -165 243 | -237 244 | -69 245 | -10 246 | -232 247 | -100 248 | -168 249 | -53 250 | -83 251 | -149 252 | -42 253 | -71 254 | -119 255 | -185 256 | -110 257 | -92 258 | -256 259 | -19 260 | -249 261 | -147 262 | -68 263 | -205 264 | -52 265 | -212 266 | -5 267 | -167 268 | -63 269 | -264 270 | -176 271 | -180 272 | -223 273 | -15 274 | -158 275 | -2 276 | -134 277 | -268 278 | -92 279 | -193 280 | -145 281 | -141 282 | -218 283 | -99 284 | -85 285 | -213 286 | -24 287 | -82 288 | -201 289 | -109 290 | 0 291 | -152 292 | -14 293 | -168 294 | -103 295 | -232 296 | -7 297 | -115 298 | -141 299 | -273 300 | -117 301 | -201 302 | -165 303 | -265 304 | -81 305 | -64 306 | -243 307 | -123 308 | 0 309 | -24 310 | -140 311 | -235 312 | -194 313 | -11 314 | -129 315 | -128 316 | -211 317 | -59 318 | -97 319 | -40 320 | -76 321 | -104 322 | -38 323 | -312 324 | -225 325 | -93 326 | -113 327 | -108 328 | -109 329 | -22 330 | -128 331 | -250 332 | -222 333 | -262 334 | -214 335 | -34 336 | -87 337 | -176 338 | -166 339 | -33 340 | -226 341 | -198 342 | -238 343 | -159 344 | -295 345 | -245 346 | -227 347 | -211 348 | -59 349 | -237 350 | -74 351 | -92 352 | -221 353 | -118 354 | -77 355 | -160 356 | -110 357 | -260 358 | -259 359 | -25 360 | -117 361 | -120 362 | -304 363 | -273 364 | -89 365 | -354 366 | -85 367 | -339 368 | -366 369 | -46 370 | -91 371 | -280 372 | -68 373 | -62 374 | -118 375 | -178 376 | -249 377 | -281 378 | -273 379 | -360 380 | -356 381 | -150 382 | -367 383 | -47 384 | -289 385 | -51 386 | -233 387 | -158 388 | -226 389 | -372 390 | -212 391 | -139 392 | -119 393 | -238 394 | -244 395 | -39 396 | -263 397 | -239 398 | -374 399 | -257 400 | -146 401 | -347 402 | -209 403 | -350 404 | 2 405 | -403 406 | -149 407 | -381 408 | -55 409 | -114 410 | -294 411 | -106 412 | -118 413 | -222 414 | -24 415 | -259 416 | -301 417 | -357 418 | -13 419 | -137 420 | -281 421 | -88 422 | -7 423 | -276 424 | 2 425 | -7 426 | -232 427 | -337 428 | -172 429 | -181 430 | -129 431 | -51 432 | -147 433 | -310 434 | -253 435 | -396 436 | -111 437 | -386 438 | -106 439 | -240 440 | -432 441 | -94 442 | -239 443 | -334 444 | -135 445 | -196 446 | -329 447 | -228 448 | -10 449 | -438 450 | -419 451 | -86 452 | -167 453 | -56 454 | -200 455 | -69 456 | -229 457 | -90 458 | -147 459 | -160 460 | -345 461 | -7 462 | -96 463 | -251 464 | -113 465 | -53 466 | -186 467 | -426 468 | -244 469 | -185 470 | -178 471 | -267 472 | -378 473 | -368 474 | -53 475 | -424 476 | -178 477 | -179 478 | -353 479 | -242 480 | -182 481 | -423 482 | -139 483 | -49 484 | -335 485 | -225 486 | -3 487 | -13 488 | -159 489 | -245 490 | -244 491 | -359 492 | -223 493 | -380 494 | -264 495 | -383 496 | -285 497 | -322 498 | -471 499 | -7 500 | -295 501 | -84 502 | -291 503 | -92 504 | -129 505 | -175 506 | -205 507 | -49 508 | -164 509 | -262 510 | -105 511 | -364 512 | -438 513 | -283 514 | -415 515 | -323 516 | -167 517 | -501 518 | -22 519 | -428 520 | -10 521 | -156 522 | -517 523 | -385 524 | -356 525 | -396 526 | -295 527 | -372 528 | -409 529 | -311 530 | -261 531 | -262 532 | -4 533 | -41 534 | -264 535 | -436 536 | -316 537 | -22 538 | -449 539 | -444 540 | -306 541 | -324 542 | -16 543 | -431 544 | -379 545 | -476 546 | -369 547 | -198 548 | -312 549 | -393 550 | -47 551 | -277 552 | -523 553 | -402 554 | -368 555 | -312 556 | -418 557 | -21 558 | -372 559 | -86 560 | -286 561 | -475 562 | -183 563 | -405 564 | -427 565 | -404 566 | -405 567 | -446 568 | -549 569 | -296 570 | -249 571 | -243 572 | -472 573 | -450 574 | -126 575 | -260 576 | -227 577 | -25 578 | -348 579 | -122 580 | -80 581 | -330 582 | -222 583 | -389 584 | -360 585 | -250 586 | -310 587 | -544 588 | -113 589 | -556 590 | -445 591 | -457 592 | -533 593 | -447 594 | -251 595 | -373 596 | -343 597 | -391 598 | -12 599 | -567 600 | -128 601 | -332 602 | -245 603 | -252 604 | -517 605 | -101 606 | -480 607 | -401 608 | -290 609 | -394 610 | -321 611 | -533 612 | -257 613 | -102 614 | -152 615 | -251 616 | -102 617 | -507 618 | -597 619 | -175 620 | -345 621 | -442 622 | -600 623 | -306 624 | -149 625 | -151 626 | -355 627 | -71 628 | -315 629 | -35 630 | -161 631 | -404 632 | -253 633 | -526 634 | -275 635 | -339 636 | -483 637 | -315 638 | -423 639 | -116 640 | -345 641 | -507 642 | -332 643 | -27 644 | -395 645 | -634 646 | -548 647 | -205 648 | -276 649 | -213 650 | -356 651 | -413 652 | -353 653 | -89 654 | -88 655 | -649 656 | -465 657 | -580 658 | -286 659 | -607 660 | -21 661 | -35 662 | -227 663 | -415 664 | -501 665 | -343 666 | -245 667 | -94 668 | -200 669 | -376 670 | -43 671 | -585 672 | -668 673 | -623 674 | -264 675 | -574 676 | -223 677 | -628 678 | -556 679 | -100 680 | -53 681 | -88 682 | -644 683 | -285 684 | -631 685 | -418 686 | -369 687 | -477 688 | -379 689 | -199 690 | -68 691 | -323 692 | -337 693 | -318 694 | -651 695 | -255 696 | -323 697 | -38 698 | -502 699 | -356 700 | -550 701 | -555 702 | -679 703 | -170 704 | -38 705 | -516 706 | -367 707 | -687 708 | -52 709 | -23 710 | -225 711 | -451 712 | -323 713 | -637 714 | -264 715 | 0 716 | -535 717 | -67 718 | -254 719 | -580 720 | -173 721 | -301 722 | -374 723 | -120 724 | -8 725 | -197 726 | -154 727 | -173 728 | -597 729 | -525 730 | -341 731 | -278 732 | -721 733 | -360 734 | -728 735 | -607 736 | -346 737 | -491 738 | -247 739 | 2 740 | -121 741 | -505 742 | -694 743 | -706 744 | -297 745 | -4 746 | -110 747 | -187 748 | -259 749 | -414 750 | -323 751 | -637 752 | -96 753 | -157 754 | -331 755 | -521 756 | -590 757 | -390 758 | -220 759 | -100 760 | -156 761 | -302 762 | -545 763 | -322 764 | -450 765 | -236 766 | -287 767 | -605 768 | -346 769 | -467 770 | -25 771 | -382 772 | -430 773 | -682 774 | 2 775 | -261 776 | -605 777 | -635 778 | -633 779 | -553 780 | -491 781 | -226 782 | -622 783 | -191 784 | -48 785 | -92 786 | -218 787 | -548 788 | -651 789 | -672 790 | -631 791 | -764 792 | -367 793 | -108 794 | -507 795 | -790 796 | -573 797 | -282 798 | -334 799 | -280 800 | -285 801 | -105 802 | -797 803 | -228 804 | -85 805 | -102 806 | -623 807 | -304 808 | -52 809 | -278 810 | -243 811 | -681 812 | -133 813 | -606 814 | -345 815 | -354 816 | -402 817 | -6 818 | -353 819 | -447 820 | -69 821 | -432 822 | -54 823 | -486 824 | -78 825 | -774 826 | -241 827 | -625 828 | -806 829 | -425 830 | -790 831 | -381 832 | -507 833 | -755 834 | -304 835 | -362 836 | -606 837 | -256 838 | -25 839 | -341 840 | -451 841 | -12 842 | -606 843 | -738 844 | -484 845 | -167 846 | -663 847 | 1 848 | -481 849 | -788 850 | -469 851 | -388 852 | -59 853 | -105 854 | -402 855 | -523 856 | -717 857 | -234 858 | -611 859 | -543 860 | -435 861 | -383 862 | -267 863 | -217 864 | -275 865 | -610 866 | -335 867 | -411 868 | -842 869 | -131 870 | -460 871 | -527 872 | -511 873 | -761 874 | -160 875 | -660 876 | -605 877 | -817 878 | -546 879 | -286 880 | -604 881 | -204 882 | -223 883 | -558 884 | -652 885 | -542 886 | -350 887 | -527 888 | -59 889 | -782 890 | -764 891 | -529 892 | -608 893 | -688 894 | -301 895 | -715 896 | -148 897 | -492 898 | -796 899 | -285 900 | -491 901 | -702 902 | -767 903 | -191 904 | -572 905 | -712 906 | -207 907 | -589 908 | -39 909 | -278 910 | -485 911 | -273 912 | -51 913 | -560 914 | -718 915 | -790 916 | 0 917 | -194 918 | -319 919 | -171 920 | -552 921 | -247 922 | -810 923 | -737 924 | -677 925 | -853 926 | -806 927 | -565 928 | -923 929 | -427 930 | -442 931 | -375 932 | -215 933 | -706 934 | -139 935 | -396 936 | -126 937 | -170 938 | -281 939 | -544 940 | -101 941 | -271 942 | -728 943 | -485 944 | -677 945 | -442 946 | -137 947 | -78 948 | -414 949 | -546 950 | -669 951 | -609 952 | -284 953 | -488 954 | -181 955 | -534 956 | -946 957 | -191 958 | -255 959 | -413 960 | -614 961 | -329 962 | -932 963 | -528 964 | -689 965 | -246 966 | -272 967 | -395 968 | -211 969 | -702 970 | -786 971 | -595 972 | -835 973 | -870 974 | -822 975 | -507 976 | -533 977 | -147 978 | -141 979 | -385 980 | -623 981 | -745 982 | -575 983 | -225 984 | -79 985 | -736 986 | -887 987 | -649 988 | -133 989 | -500 990 | -422 991 | -810 992 | -491 993 | -480 994 | -462 995 | -16 996 | -848 997 | -740 998 | -809 999 | -9 1000 | -399 1001 | -535 1002 | -274 1003 | -165 1004 | -119 1005 | -77 1006 | -340 1007 | -597 1008 | -755 1009 | -611 1010 | -929 1011 | -50 1012 | -745 1013 | -530 1014 | -392 1015 | -77 1016 | -760 1017 | -961 1018 | -28 1019 | -507 1020 | -21 1021 | -253 1022 | -846 1023 | -996 1024 | -308 1025 | -175 1026 | -684 1027 | -315 1028 | -859 1029 | -757 1030 | -418 1031 | -591 1032 | -946 1033 | -393 1034 | -25 1035 | -917 1036 | -208 1037 | -572 -------------------------------------------------------------------------------- /5/5_2.in: -------------------------------------------------------------------------------- 1 | 1 2 | 0 3 | 0 4 | 1 5 | 0 6 | -3 7 | -3 8 | -6 9 | 0 10 | -7 11 | -9 12 | 0 13 | -2 14 | 0 15 | -8 16 | -1 17 | -15 18 | -15 19 | -4 20 | -12 21 | -19 22 | -3 23 | -12 24 | -10 25 | -3 26 | -17 27 | -17 28 | -9 29 | -18 30 | -20 31 | -1 32 | -6 33 | -29 34 | -18 35 | -5 36 | -25 37 | -13 38 | -22 39 | -33 40 | 2 41 | -39 42 | -40 43 | -33 44 | -33 45 | -27 46 | -7 47 | -44 48 | 1 49 | -20 50 | -46 51 | -41 52 | 0 53 | -19 54 | 0 55 | -10 56 | -15 57 | -21 58 | -17 59 | -52 60 | -20 61 | -45 62 | -34 63 | -30 64 | -29 65 | -40 66 | -1 67 | -18 68 | -10 69 | -19 70 | -15 71 | -64 72 | -61 73 | -53 74 | -28 75 | -45 76 | -12 77 | -73 78 | -36 79 | -36 80 | -2 81 | -30 82 | -56 83 | -63 84 | -42 85 | -8 86 | -35 87 | -32 88 | -39 89 | -22 90 | -87 91 | -45 92 | -35 93 | -74 94 | 1 95 | -5 96 | -45 97 | -16 98 | -19 99 | -48 100 | -25 101 | -94 102 | -85 103 | -75 104 | -15 105 | -79 106 | -37 107 | -82 108 | -13 109 | -85 110 | -20 111 | -52 112 | -50 113 | -85 114 | -13 115 | -70 116 | -16 117 | -86 118 | 0 119 | -68 120 | -55 121 | -15 122 | -25 123 | -31 124 | -117 125 | -91 126 | -67 127 | -114 128 | -108 129 | -50 130 | -76 131 | -116 132 | -12 133 | -27 134 | -98 135 | -115 136 | -101 137 | -124 138 | -2 139 | -4 140 | -95 141 | -41 142 | -35 143 | -110 144 | -86 145 | -4 146 | -126 147 | -67 148 | -94 149 | -81 150 | -101 151 | -93 152 | -109 153 | -71 154 | -152 155 | -110 156 | -145 157 | -28 158 | -139 159 | -106 160 | -83 161 | -58 162 | -100 163 | -1 164 | -21 165 | -112 166 | -130 167 | -102 168 | -34 169 | -80 170 | -49 171 | -11 172 | -72 173 | -82 174 | -132 175 | -36 176 | -119 177 | -127 178 | -85 179 | -66 180 | -12 181 | -43 182 | -3 183 | -86 184 | -116 185 | -125 186 | -162 187 | 0 188 | -185 189 | -39 190 | -27 191 | -159 192 | -23 193 | -71 194 | -50 195 | -119 196 | -183 197 | -56 198 | -48 199 | -113 200 | -197 201 | -199 202 | -6 203 | -92 204 | -7 205 | -39 206 | -63 207 | -67 208 | -22 209 | -126 210 | -170 211 | -67 212 | -59 213 | -114 214 | -207 215 | -13 216 | -15 217 | -168 218 | -167 219 | -15 220 | -143 221 | -128 222 | -136 223 | -115 224 | 2 225 | -113 226 | -74 227 | -104 228 | -91 229 | -157 230 | -121 231 | -126 232 | -125 233 | -112 234 | -106 235 | -194 236 | -146 237 | -165 238 | -139 239 | -97 240 | -134 241 | -133 242 | -165 243 | -237 244 | -69 245 | -10 246 | -232 247 | -100 248 | -168 249 | -53 250 | -83 251 | -149 252 | -42 253 | -71 254 | -119 255 | -185 256 | -110 257 | -92 258 | -256 259 | -19 260 | -249 261 | -147 262 | -68 263 | -205 264 | -52 265 | -212 266 | -5 267 | -167 268 | -63 269 | -264 270 | -176 271 | -180 272 | -223 273 | -15 274 | -158 275 | -2 276 | -134 277 | -268 278 | -92 279 | -193 280 | -145 281 | -141 282 | -218 283 | -99 284 | -85 285 | -213 286 | -24 287 | -82 288 | -201 289 | -109 290 | 0 291 | -152 292 | -14 293 | -168 294 | -103 295 | -232 296 | -7 297 | -115 298 | -141 299 | -273 300 | -117 301 | -201 302 | -165 303 | -265 304 | -81 305 | -64 306 | -243 307 | -123 308 | 0 309 | -24 310 | -140 311 | -235 312 | -194 313 | -11 314 | -129 315 | -128 316 | -211 317 | -59 318 | -97 319 | -40 320 | -76 321 | -104 322 | -38 323 | -312 324 | -225 325 | -93 326 | -113 327 | -108 328 | -109 329 | -22 330 | -128 331 | -250 332 | -222 333 | -262 334 | -214 335 | -34 336 | -87 337 | -176 338 | -166 339 | -33 340 | -226 341 | -198 342 | -238 343 | -159 344 | -295 345 | -245 346 | -227 347 | -211 348 | -59 349 | -237 350 | -74 351 | -92 352 | -221 353 | -118 354 | -77 355 | -160 356 | -110 357 | -260 358 | -259 359 | -25 360 | -117 361 | -120 362 | -304 363 | -273 364 | -89 365 | -354 366 | -85 367 | -339 368 | -366 369 | -46 370 | -91 371 | -280 372 | -68 373 | -62 374 | -118 375 | -178 376 | -249 377 | -281 378 | -273 379 | -360 380 | -356 381 | -150 382 | -367 383 | -47 384 | -289 385 | -51 386 | -233 387 | -158 388 | -226 389 | -372 390 | -212 391 | -139 392 | -119 393 | -238 394 | -244 395 | -39 396 | -263 397 | -239 398 | -374 399 | -257 400 | -146 401 | -347 402 | -209 403 | -350 404 | 2 405 | -403 406 | -149 407 | -381 408 | -55 409 | -114 410 | -294 411 | -106 412 | -118 413 | -222 414 | -24 415 | -259 416 | -301 417 | -357 418 | -13 419 | -137 420 | -281 421 | -88 422 | -7 423 | -276 424 | 2 425 | -7 426 | -232 427 | -337 428 | -172 429 | -181 430 | -129 431 | -51 432 | -147 433 | -310 434 | -253 435 | -396 436 | -111 437 | -386 438 | -106 439 | -240 440 | -432 441 | -94 442 | -239 443 | -334 444 | -135 445 | -196 446 | -329 447 | -228 448 | -10 449 | -438 450 | -419 451 | -86 452 | -167 453 | -56 454 | -200 455 | -69 456 | -229 457 | -90 458 | -147 459 | -160 460 | -345 461 | -7 462 | -96 463 | -251 464 | -113 465 | -53 466 | -186 467 | -426 468 | -244 469 | -185 470 | -178 471 | -267 472 | -378 473 | -368 474 | -53 475 | -424 476 | -178 477 | -179 478 | -353 479 | -242 480 | -182 481 | -423 482 | -139 483 | -49 484 | -335 485 | -225 486 | -3 487 | -13 488 | -159 489 | -245 490 | -244 491 | -359 492 | -223 493 | -380 494 | -264 495 | -383 496 | -285 497 | -322 498 | -471 499 | -7 500 | -295 501 | -84 502 | -291 503 | -92 504 | -129 505 | -175 506 | -205 507 | -49 508 | -164 509 | -262 510 | -105 511 | -364 512 | -438 513 | -283 514 | -415 515 | -323 516 | -167 517 | -501 518 | -22 519 | -428 520 | -10 521 | -156 522 | -517 523 | -385 524 | -356 525 | -396 526 | -295 527 | -372 528 | -409 529 | -311 530 | -261 531 | -262 532 | -4 533 | -41 534 | -264 535 | -436 536 | -316 537 | -22 538 | -449 539 | -444 540 | -306 541 | -324 542 | -16 543 | -431 544 | -379 545 | -476 546 | -369 547 | -198 548 | -312 549 | -393 550 | -47 551 | -277 552 | -523 553 | -402 554 | -368 555 | -312 556 | -418 557 | -21 558 | -372 559 | -86 560 | -286 561 | -475 562 | -183 563 | -405 564 | -427 565 | -404 566 | -405 567 | -446 568 | -549 569 | -296 570 | -249 571 | -243 572 | -472 573 | -450 574 | -126 575 | -260 576 | -227 577 | -25 578 | -348 579 | -122 580 | -80 581 | -330 582 | -222 583 | -389 584 | -360 585 | -250 586 | -310 587 | -544 588 | -113 589 | -556 590 | -445 591 | -457 592 | -533 593 | -447 594 | -251 595 | -373 596 | -343 597 | -391 598 | -12 599 | -567 600 | -128 601 | -332 602 | -245 603 | -252 604 | -517 605 | -101 606 | -480 607 | -401 608 | -290 609 | -394 610 | -321 611 | -533 612 | -257 613 | -102 614 | -152 615 | -251 616 | -102 617 | -507 618 | -597 619 | -175 620 | -345 621 | -442 622 | -600 623 | -306 624 | -149 625 | -151 626 | -355 627 | -71 628 | -315 629 | -35 630 | -161 631 | -404 632 | -253 633 | -526 634 | -275 635 | -339 636 | -483 637 | -315 638 | -423 639 | -116 640 | -345 641 | -507 642 | -332 643 | -27 644 | -395 645 | -634 646 | -548 647 | -205 648 | -276 649 | -213 650 | -356 651 | -413 652 | -353 653 | -89 654 | -88 655 | -649 656 | -465 657 | -580 658 | -286 659 | -607 660 | -21 661 | -35 662 | -227 663 | -415 664 | -501 665 | -343 666 | -245 667 | -94 668 | -200 669 | -376 670 | -43 671 | -585 672 | -668 673 | -623 674 | -264 675 | -574 676 | -223 677 | -628 678 | -556 679 | -100 680 | -53 681 | -88 682 | -644 683 | -285 684 | -631 685 | -418 686 | -369 687 | -477 688 | -379 689 | -199 690 | -68 691 | -323 692 | -337 693 | -318 694 | -651 695 | -255 696 | -323 697 | -38 698 | -502 699 | -356 700 | -550 701 | -555 702 | -679 703 | -170 704 | -38 705 | -516 706 | -367 707 | -687 708 | -52 709 | -23 710 | -225 711 | -451 712 | -323 713 | -637 714 | -264 715 | 0 716 | -535 717 | -67 718 | -254 719 | -580 720 | -173 721 | -301 722 | -374 723 | -120 724 | -8 725 | -197 726 | -154 727 | -173 728 | -597 729 | -525 730 | -341 731 | -278 732 | -721 733 | -360 734 | -728 735 | -607 736 | -346 737 | -491 738 | -247 739 | 2 740 | -121 741 | -505 742 | -694 743 | -706 744 | -297 745 | -4 746 | -110 747 | -187 748 | -259 749 | -414 750 | -323 751 | -637 752 | -96 753 | -157 754 | -331 755 | -521 756 | -590 757 | -390 758 | -220 759 | -100 760 | -156 761 | -302 762 | -545 763 | -322 764 | -450 765 | -236 766 | -287 767 | -605 768 | -346 769 | -467 770 | -25 771 | -382 772 | -430 773 | -682 774 | 2 775 | -261 776 | -605 777 | -635 778 | -633 779 | -553 780 | -491 781 | -226 782 | -622 783 | -191 784 | -48 785 | -92 786 | -218 787 | -548 788 | -651 789 | -672 790 | -631 791 | -764 792 | -367 793 | -108 794 | -507 795 | -790 796 | -573 797 | -282 798 | -334 799 | -280 800 | -285 801 | -105 802 | -797 803 | -228 804 | -85 805 | -102 806 | -623 807 | -304 808 | -52 809 | -278 810 | -243 811 | -681 812 | -133 813 | -606 814 | -345 815 | -354 816 | -402 817 | -6 818 | -353 819 | -447 820 | -69 821 | -432 822 | -54 823 | -486 824 | -78 825 | -774 826 | -241 827 | -625 828 | -806 829 | -425 830 | -790 831 | -381 832 | -507 833 | -755 834 | -304 835 | -362 836 | -606 837 | -256 838 | -25 839 | -341 840 | -451 841 | -12 842 | -606 843 | -738 844 | -484 845 | -167 846 | -663 847 | 1 848 | -481 849 | -788 850 | -469 851 | -388 852 | -59 853 | -105 854 | -402 855 | -523 856 | -717 857 | -234 858 | -611 859 | -543 860 | -435 861 | -383 862 | -267 863 | -217 864 | -275 865 | -610 866 | -335 867 | -411 868 | -842 869 | -131 870 | -460 871 | -527 872 | -511 873 | -761 874 | -160 875 | -660 876 | -605 877 | -817 878 | -546 879 | -286 880 | -604 881 | -204 882 | -223 883 | -558 884 | -652 885 | -542 886 | -350 887 | -527 888 | -59 889 | -782 890 | -764 891 | -529 892 | -608 893 | -688 894 | -301 895 | -715 896 | -148 897 | -492 898 | -796 899 | -285 900 | -491 901 | -702 902 | -767 903 | -191 904 | -572 905 | -712 906 | -207 907 | -589 908 | -39 909 | -278 910 | -485 911 | -273 912 | -51 913 | -560 914 | -718 915 | -790 916 | 0 917 | -194 918 | -319 919 | -171 920 | -552 921 | -247 922 | -810 923 | -737 924 | -677 925 | -853 926 | -806 927 | -565 928 | -923 929 | -427 930 | -442 931 | -375 932 | -215 933 | -706 934 | -139 935 | -396 936 | -126 937 | -170 938 | -281 939 | -544 940 | -101 941 | -271 942 | -728 943 | -485 944 | -677 945 | -442 946 | -137 947 | -78 948 | -414 949 | -546 950 | -669 951 | -609 952 | -284 953 | -488 954 | -181 955 | -534 956 | -946 957 | -191 958 | -255 959 | -413 960 | -614 961 | -329 962 | -932 963 | -528 964 | -689 965 | -246 966 | -272 967 | -395 968 | -211 969 | -702 970 | -786 971 | -595 972 | -835 973 | -870 974 | -822 975 | -507 976 | -533 977 | -147 978 | -141 979 | -385 980 | -623 981 | -745 982 | -575 983 | -225 984 | -79 985 | -736 986 | -887 987 | -649 988 | -133 989 | -500 990 | -422 991 | -810 992 | -491 993 | -480 994 | -462 995 | -16 996 | -848 997 | -740 998 | -809 999 | -9 1000 | -399 1001 | -535 1002 | -274 1003 | -165 1004 | -119 1005 | -77 1006 | -340 1007 | -597 1008 | -755 1009 | -611 1010 | -929 1011 | -50 1012 | -745 1013 | -530 1014 | -392 1015 | -77 1016 | -760 1017 | -961 1018 | -28 1019 | -507 1020 | -21 1021 | -253 1022 | -846 1023 | -996 1024 | -308 1025 | -175 1026 | -684 1027 | -315 1028 | -859 1029 | -757 1030 | -418 1031 | -591 1032 | -946 1033 | -393 1034 | -25 1035 | -917 1036 | -208 1037 | -572 -------------------------------------------------------------------------------- /9/9.in: -------------------------------------------------------------------------------- 1 | {{{{{{}{{{o{{a},{,<,">}},{},{{{<},e!!!{'u,!>!!!>}!!!>a>},},{{{<>},{,<,,},>}},},<'<,!!e!{!>},<'a!!ia>},{<'!>ao!i{a!!'!!!!'!!!>},,<>,}}},{{<{u!>,!!a>,{a>}},{<>}},{{<,<,!e!>},},>},{},{<"{ou!!!>u!!u!>"e{!!!!!!{!!}!!}"}!!e>,{},'!!'!!oi{!!!>!!!>o!>},<'"}}},{{{{{{},<}},{}}},{{,},,a!!!!!>u>,,},<{!!!>},}}}}},{{{},{,},{{<'i!>o!uu>},{,<>}}},{{{{},{{},{<"!!o{!e!>},!>},}},{<>,,o!>,,,'"'!>},<>}}},{{{{},<,,{{{oeu">}},{{<'}}!i,>},,},{{{},!>,<>,<,"o!!'!!!>!>},},},!>''i!!{i!!!>i!!!>,},u'o!!'>}}},{{}}},{{{},">}},{{{},{,,>}},{{{{},<>}},{{{},<"!>'!!!!!!!>i>},<{!>!>!i!!!>!!,'>},}},{"!!u!>,<{'i!eu>}}}},{{{{{}}},{<},,{<,o}uu!>!!!>eiuuoi,{!>{>,<"{{<,i''!>,}}},{{},<'>,{,{}}},{{{},},!>u!>,}},{<,{a!!!!}!!{!{ei!,!!},<,o!!o!!i!!>,{{,i}{'!>,,<<>},{}}},{}}},{{{},{{},<'i'!>},eo}!>,,<>}}},{{},,<}o}!!<{!!ie>,{<'e{u!u>,<'!"u!!,o}}>}},{<>}}},{{{}},{{{a!!ou!!,!>,e'e!>},<{!"}!!!>>}},},,,!>!>},<>},{,{}}}},{{{{},,<,,i!!!!!>},<>},{,<"ooa'>},{}}},{{{},{{,{,<{!!!>},,}},{,<{a!>a!!'>}}},{{<"!>},<,,a,<,ii>}}}},{{{{}},{{},{{<"e!>,,{},<}>,{}}},{{<>}}},{{{<,i!>o!!!>i>}},{{},{},,<>}},{{{}{e}o!>,,{<{!!,a!!,uiaui!'u<>}},{},<<}!!'}}a!>},},,<}e!!!!!>u'i>,{}}}}}},{{{{{}},{{},{{!!<'<,'}!>},<},!u!!"!o{!!auae,<,!!!>!>,<>}}},{{{{{{<"",i!u{oa!>},<,}aoou!{<>},<{a!!!>,!>i!>,>}}},{oi!>!>},,,}}},{{{{}}},{{{<},{a!!!>o!>},<"{!!!>},},}},{}!!!>!>!!!>}'!!!>eu!>},}}}},{{{},{,<{!!ii,!!!>'!<"!>},!!a>}},{{,!!!>u>},{}},{{{{{{a!!ai!>},},<},}},{{<}a!!!>!>!!!!!!i"'!!io",,>}},{<{"i>}}}}},{{,<'"!!!>},!{u>,{i!>,<,>}},{{}},{{}}},{{{},{},i{!!!>a}{!!{{}i}u!!!>}i>}}}}},{{{{!>,<{e'!!!"!!!>'!!!>!!i>},{}},{{{}},{{{},<}ou,',!!!>>,<},},},<>},{}}}},{{{}},{<,!!ue>,},<}>},{{,{{{!>"o}{!o}!!"'!!!>!>,<<<>}},}u{!!e!>},<>}},<>}},{{{{},{<>,},}!>ei,a"{e!!"!,<}>}}},{{},<{!>},>}}},{{{<{<}}{,>,,,<'!i{>},{<,}!""!!!>!,},{{{{{!,o},!!}>},<}!a}!>!!!'u!!!!!>!>},},,,<}!"!!!!a!!>},{<''!>!!o!>i!>},<>}},{,!!!>,"{}}!i!!"!'!a!>,<>,},<"{!!!,,i!>}},{},{,<}o}>}}}}},{{{{{}},{{<'!!!!e!>},<{>},{},<"!o!{">}},{{{},<{!!>},{},{{!!!<"!!i}'!!!>"!!!u<"!>,<"!!!>!!{i<>,{<"{!!!!!>a!!!>i"i>}}}}},{{,!!!>i!!!>!>,<>,{,>}},{},<>},{{i,u!!a!o,}!>,,}}},{{{{}},<}!>!>,!!""i!!!>{<>},{},<}}"<>,>}},{{{<{}o'a'!>!!,<,}>,{{,!!!!!>i{"!>}!>u!>>},<,<>}},<>},{<"!>>,{!!!>!!}!>,!!!>>}},{<"},i}},<>,{}}}},{{{{<'uo,!>!!'}e!}u!>e,u{">},{}},{<"!!!>},},{>,{},,<'!>},!{},o>}}},{{{,!>,"a"!>>},{{<>}},{{!>u!!o!>a,,!>,},<>,{}}}},{<}!!"}!>},},,{}},{{{{!!,!!,!!!>!>},<"},!!!!!!>,{{}}}}}}},{{<"!o!!!>},<,<>,!!!>},!}a!{e!iu!>,},{},<,!>!!!>!!!>!!!>},<''uo<>},{<>}}},{{{}},{{},{{{{{,<<'!>>}},{{},{!'}!>ae,>},>}},{!>},<>,"o}},{}i!>,<{!<"!!'}e!e}!a,!>>,{}},{<>,,"i!!>}},{},}}},{{},{{{{,!!}}},>}},{{{e!!!io{!!,a!!'!!>},{}},{}},{{{},,{}},{{},<}}!>,<,!'>},{{<,"!!!>"!>,},!>,}}},{{<"!!!>!>},<{!!!>!!<>}}},{{},{{}},{{}>,{},!>,<'oe'>}},{<'!!!>,,,},,<{,!!!>!!!>>},{{<<'!,"!i!u!>,<"!>},<}!>a!!,u!!!!!>"'u>},{<!>,!{!!!>!!u}!>},}}}}},{{{!>,,"'!!!>!"}a!>},o>,{!!!!u!"e">}}},{{{{!!!>oe!>,<>},!'u{,},{a{!e!!!!!!!!o"!!!>>,{{{<,o'!>!!{"o!!e!,oi!'!!!>},<,e>}},{<"!!!>",}}}},{{}}!>},,<>,<>},{{},,{<'e}"uo!e>}},{{,<{e},<{!oa>}},{}},{{{{},{<}!!a!>{!>},},<,!!<,!!},<>}}}}}}}}},{{{{{{{,'>,{,}},{}},{{},!!!>,,<}a{'o!!!>,<>,{{},a>}},{{{{{}}}},{}'!!!>},<{a}!!aa!!u{!!"!!!iu>,{{!!!!!!!>!!!>!>,,!>""!!!>ae>},<,},,aa>}},{!>},<>,,<"'"e{!!!>!!!>!>,<>}}},{{{{<"!>},},<>}},{{{}},{{{},,},{<},>}},{},},,,<{",>}},{{}}}},{{},{}"!!!>!!!!!>!>'''<,!!!!!>!!!>!>,}},{{!>u!!!"!>!!"!>,,{,!!!>!>},!!!!o>}}}},{{{},!{ei!>},<{{i"u!!u>},<<>}}},{{{{i!>},,!!!!!!<>},{{{!>,},!!'!>},},<{,>}},{i}>,},},<<,e"iu"{{!!a{!!!>o,!>,}}}},{<"",!>},a"<"{!>!!e!!!!!>i>},{<{,<,u}!>,!>!!iua!>,}},{{},<',!!iu!!!>!>!!!>,<'!>,<>,},{{<{!!!>!>,<"!>},<>},{i!>},},,<>},{{{,<<{!!{{!!!>!!!>!!!!!>},,<>}},{,<{o!>},},<{!!!!,>,{}},{{>},{},<>,<}e,!!!>"!ee!!!>},<",a!>},!'{e!!o>},{!!!>!>,>}}}},{{>},},!!!>{o!!!!!>},},}},{{{},{<!!!!!>'ai!>a{!!!>>}},{{},{<"e>}},{{{{}}},}",},}}}},{{{{,<,!a{>},{!>},ae!!,">}},{!'!!!>a,,eo>,},}},{},{{{{},{{<,!!!>!><>}}},{<<{!!!>{{'e{!!o"{oe!>,<{,!e>,{}},{}},{{{}}}},{{{{},<,!>},<'uo>},<'!!oouo!>!!!>!"a{!u,<>},{{<{{,e'}!!u!>},},<">},{{},{{{<}ai!!o"u!!!>a!>},<"!!!>!>},<{!!!>>},},!>,,<',{!<>}}}}},{{{{},<"}"{!>},<}e!>},},{{}},{eu!!"!o{}<,>}},{{!"u"i!!!>,,'>,{{{<'oei!!!>},},,>}}}},{{{{'u!'u},!>,'!!!>{i}u!>>}},{<"o}>}},{{,!!'}!!!>!>,eu>},}}},{{},{,<>},{}},{{},{{{},{<'!>,a>}},{{},,<{aa},!!o>},<>}},{,,!o!>!!!>u!>u!!,!!o>}}},{{{{<}',ei!a"!!!><{}!>,,{<>}},{}},{{{}},{{<<>,{,<>}}},{<"!!!>"ea}!>!>!!'!>},<<{!u!'>,}}},{{{{{},<>}}},{<"u!!!>}!!!>!>!>i'!>{i},{aae!!!!},<{>}},{{},{{{<,>},{<'!>},<<!!'!!!>aoai!"!!'!>u!>},<>}}},{<'o}!>,},,{{{<"{'!}!!},<}}ui}!!!!!>!!!>>}}}}},{{{{{{},{},"{u"i>,{},}},{},,,{!!!>a!"!!!>o}!>,}},{{},},!>a!>},},{<"a}!!"!<}>,{<>}}},{{},u!!!!a'o"'!!>},,,!"o!}},{{<{>}}},{{{>},{}}}},{{{{{<>},<>},>},{<{o!>e,!>},<!!!>!!!>e>,{!>},!>},<'!,!!!!!>}!>!!!>,i!a>}},{{!!>},{}}},{{,<'!>},,},<,"!!!!>,,!>!'{!!!!!!!>!!!>,<,e>},{},,!><>,<,!>},,},{{},<{!!!!!>e!>,<>},{{{,,}aoi!!!>'a!!!>a!!">},o>}}}},{{{{<"!>},<}o!>u!>,,<>,{},,<>,,!>},<'!!!>!!!}!!!}!!}!>>}}}},{{}}}}},{{{,<'!e!>,i{,,o!>!>!!ea!!{,},<>},{<,,{e!"!!!"">}},{{{}},{<}a!>!!!>a!!!>!><}!o!>},},<,i!!<,'<>,}},{{{{},{<'a!a{e!!!>u>,<{!!!>i,!>},iu"!!!>,,<>}},{{}},{}},{{{{,<,!u"!!!>!!"!>!>!>},<{}>}},{{!!!>{>},,{!>,},!'}},{{{{{},<{!!!>i!>,},{{{}!o!!!<}!>,<>}},{{<{'!>!!u'o!>},!""ui>}},{{{'>},<{!i!>o!>,<',<>}}},{!}u!>},!!!>}!!!>},<{>,{}}}},{{{!!o{!!o!>>,,},'!!!e>},{{,e!>}!>},,{}}},{{<,u!'!!"'u"{!>,<}i"!"!!e!a!!u{>}}},{{{{<{!!!>!>,<<{!!o!!!>!,!>,!!'e{>}},<<{}!!!>},>},{{e"!!'!>}},{<>,<'!>,},,>}},{{},{{{,,},!!>}},{,<>}},{}},{{{{<>},a!!,!ioe'!!!><}!>},<>},{},,,u,u}!!!>!>},}},{{<'a"!u>,{}}},{{{},<,<{!!!!!>!>,}},{{},{}}},{{},{{{{<}o!!!}},},{,<>}}}}},{{{{},}}},{{<"e!!!>!!',a!>},}>},{,,!!!>!>,!oa!>i>}}},{{{{{}e>,{}}},{,{}},{{,}u!!!>io'!!>}}},{},},<>,{<'!!!!!!!>!!}}},{{a<>,<{!!}a!!!!!>!{'!!,},<>},{<{}}}{!!!>oai}!!!>iu!'!>},,<"!!"}>},{{},},},<'!><},<{u!!!>,}}},{{{,<}!>},<"!>,u,e!>},},{{},{{<>},!!}!i>},{,!!'o,a'!!!>>,}}}}},{{{{,<}{i!>},i!>},>}}},{,a!!!>!!!a!!!>!!!>!!!>}!>},<}">,},{}}}}}},{{{{!!!!ee!!!>!>>},{{<{"'!!'},!!}oao>},{{!!!>,,<>}}}},{{o!>oo!>!!uo,u>},},!!!>"!!!>!!!>!!!>},}},{{{!>},!!!>ea!}{!!{i!>!!!>o>,{,}}},{,{!>!>,<>,{{{ae!>},},},},<<"!}!!!u!>!>},'!!!!!>},<>},{}}},{{},{{,<},,,<}<'}oaa,!!!>,,<>},!>!!!>,}}},{},{{{}},{{},!"},!>,<',!>},<}!>},<>},{{{},<>},{!o!>,},!!u!!!,!>,},<}'>,{{<},{}}},{{{{}},{{}}},{{},{{},<>}}}},{},<{e!!!>},},!!,,u!'},<>,{}u'!>,<{e!>'}}},{{}}}},{{{,!>,<"},{{{}},,!!!>!>,}},{{{},{<<>,!>i"e!'}!e}>}},{{{}u!!!>,!>!!}>},{}},{{},{{,ii,'!!,}}}},{{{{ea!!!>,}},{{{{<{!!!>ou!!',!>},<"!>},<}!!!>>}},{}},{{{{},{{},{}}},{{},},,<>},{}}},{,i>},{{{e<>},{{<,!>,>},{!o{!!'!>,<">}}}}},{{},{}}},{}o!ae!!!>iiu!>>}},{{{},<,{!>},!!e>},!!!>{!!!>iu'}!>!!!>e!!!>!a>},{{},<,{!!},},,>}}}},{{{},>,{{<"e!>e}}},{{,},{<{!>,,},<'>}}},{{{"!!i},{{},{},}}},{{{},,},!a">},{{,},},,e,o!!!>!!!"i>},{iue"'ue'>}}},{}},{{{{},<}!!!!a!>},<}!>,<}!>},,{!>,}}}},{{,},,,{e<"ue!>,,<{'<<>}},{{{!!!!{,}i,<{>},{"!!i!!!>iiau>}},{},{{},{!>},<}ii{u"!!}}}}},{{{},{,a!>},<"},<>}},{,},{{},{},},!'!>},<>,{ie!!a{<>,{{{{}}}}}}}}}},{{{{<}!a}!!{!!!>o!!!o!},<,>},{{},<}!>!>}!<>},},<"!!{!u!!!>!!!!}!!!!'!>u>},{{o!>ua!}"!!a'i>},{,{}ia"!>,!!}!>"!>e!>,}}}},{{{!>}>,},!!ie>},{},}!eo'{<>,{{}}},{{{},}},{!>}ao!!"">,}}},{{,},{{},{,!!!!o,i!a'!!!!!>!!!>},<'>}},{{}}},{{{{{}}},{,,<},<{euo>,}!>},},},,<}e>},{{}}},{{{},},},{{<},,!!!>u!>!!!>!>,}}}}},{{{{,},<'!!!>'a!!!!">}},{{},!!!>iei!>!!!!{!>>,<'ioie'euee'!!!>>},}},{<'}"!>},<>}},{{<""!>!>,},,,i!a!>,,<}!!,!>},,!>},},>}},{{{!!e!!!>,<{a>},<"!!!>},<'e"!}u!{!>},},<{>},{<{!},<{,}!}!>,}}{>,<,oo>}}}},{{}},{{{{{{}},<!!!!oe!!"!u,!!{>}},{{a!>,<,>},{}}},{{{{{{{},'oo""aa{!!{},{{},<eo!!!>!>},},<},!>,!>,>}},{{{},<{''!>uo!!!!o',>},{{,'!a!!!!,o!!!>!{>}}},{{{<},{},<}eo!,!>>,},}!>,{!!i}!!!>!>},<>}},{{,<}!>},<,!!!eu!!!!!>i!{<}>},{!!,!!!>!>,<>}},{{!>,<,ieiu!!!!ia!!!!!>oo!>,,,},{<}!>},}}},{{{<{!>!!!>!>>},{{},<,!i>},},,<{!!!>},,<}!>,""!!"!>},},{{{},{>,{}},{},},<{iu,a!e!!>}},{{{e{u>}},{{}}}}},{{<<,,u!>,},{{{{}}},{{{}}},{}},{{},,<>,<}>}}},{{{<'!!!>!!!>>},}}}},{{{u>}},{},},{{},{{},{{},{ai!>,<>,{{o!>ee"<">},!!{!!!>,},<"iau}<}!>!!!>,<,o>}}}}}},{{},{{{"!!i!!<,''!!!>}!>!!},!>},}!>,}>}},{,<{!>i,e!!!>!>,}},{{},{}}}},{{{},{{{"{!>,}},"!!,!u!!!>,<>},{{<"o<'!!!!!!!!!>!!!>!!,!!!>!!u!!!>!!!>!!",!!!>>},{<{,e!!}a"ii!!"'{,ea>}}},{{<}!>},<,!a!{{',",!u"!>},},{{}}},{{{},<}>},{ia!o!o,"o!!!>{ai!'!!!>!!!>>,>},{{{{},{{<},iai,{},},}}}},{{},},}},{{{}},{{{{{<<}!!u!>},uuai!">}},{<}{,},<'!{>}},{,<,!!!>!!'>}},{}},{}},{{},{<,i!uui!!'!>!>i>}}}},{{{e!>},},<}!>,<"!!,!!!>,>},{,,<{u!!!>!!!>,<,{!>,,!!},{}}}},{{{<,o!>{>},{}},{},{,}>,{,},<{!>,i!!!!>}}},{{<,,!>,,},},},<>,{<"a!!}},{,},,},<"oa!!!ia!>},}}},{},{{{{aa",a!!!>!!!,a!}>,{<},,,!oo'>}}},{},{{},{{},{}}}},{{!>ao!u!!!!!>!>,<'!!!>"}}!>},,,},,<"},!!">}}}}},{{{{{{,aa!!!>},,<,!>},{>},{}}}},{{{{,i}!>!'!{"!u>,!>,{!>,!!!>!>!a>},{<{"!}!!oi!a!!!>u>,{<,>}}},{{{},,,},{,},<,!!!>o>}},{}}},{{{,<}>,{,>,<,e>}},{,,}},{{},{{}},{{{{},},<,e,!!!!!>!!!!!,!>u}",}},{{{{},<,!!{!>},},{!>},!!>},!!!>ii!>,},<>},{},{}},{!!!>{!,e>,,,,},<{"{>}}},{{{{}},{{{},<"'!!ea!>},{!>,},,},<,{!>,<>},{,},}},{{},{,!>},}}},{{},>}},{{,{}},{""!>},<<{,!>,"ee!!!>u>,{},<'!u>}},{{,,}{o,!>},<<"!!!e!>},<>},{{},<'uai!>,},,<>}}}},{{{{{<>},ee>},{{!!!>}!!!>"!o!!!>e!!!>!u'!>},}}},{{},{<}{!!!>{!!!!!>!!!>}!!uu}!{!!!!!!{a!,!!}!>,<>}}},{{},<>},{<}>,,'uu!o<}"!!!!!>!!!',>}}}},{{},{{{i!u!!o",ua'!!!>u"'!>>}},{{},{},!>!!!>,,,},>,<<,!!!>},},},<>},{{<'!>'i!>,<"{!>e!>},<>},<"},,!!a<{!!!!!}!!!!">}}},{{{{{>},},<"!>,}},{{i"i{}o!!!>!!!>,},!!!>,!>},},{}},{},<{oi}a!>!'!,{!!{{>}}}}}},{{{{{,}},{{'!>},<'i}o!,<>},{{"!e',{",e"ei<}{<>},{},!>>}}}},{{},},{{{<},<'!!u!!!!!>ae<>}}}},{{{<{!>},'>}}}},{,<>,},u,!><'!!!>!!ou{>}},{{{},{'ua!i!"!!!>e>,{}}}}},{{{{<>,{},<},oo!>},u!},<>,}},{{<,!>,<"{>},!>,},!!uio!!!>!>},},{{<<''!!!!''!>!!!a!,>}}},{{},,<,!>,<}>},{{{{},{<{!>!!ai}a!!!>'!>u}},{{},!!!>a!!,<{}'>},{!o!!ei!!!>!>},}},{}}},{{{}},{!"!>},<,<>,,!>,<>}},{{{{},!!!>>},{{{},<,!!}a!>o!>,},{}}}},{{<{!!!>!!!>"e!>!,!}!!>},{{<,!!ia}!!!>!!!>i!!o!!!>aa!>,},},>},{{<{!!ea!>,!!!>!{>}}}},{{"!!,<>},{"u!!}!ii!!!>'i!!e!!!>!!a!io!>>}},{{{{}},{<"!>},<"o!!!>i}!!i!>{i{!>!,!!!"{!>},<>}}}}},{{,{}}}},{{{{<'!!'{!!{i!>>}},{},{{}}}},{{{{!"o,!!!>!>,,},,{>},{!>,},<<}"e'!>,},>}},{},{{},{"}"o!>},,},<,>}}},{{<"!!!>!>!!!>,i!{u'">},{},{,<"{!!}!{u{o!!!!}au>,{<"!>},<}u!>!>,}}},{{},<,>,{<,{!!!"a!oe!!u!!,ai!>>}},{{},<"!>,},<>},{}}},{{{},<<,!!u>},{{{{},{}}}},{!>o!!,!!!>}},{{},},{}},{{{,!}<,>},{},<},<{'!u}!>!!}}}}},{{{{},{<{!!!>},>,,<o>},{{{},{}}}}},{{{{{<'!>"i}ao'!>,},!>},{,,!!eau!ie{!><<>}},{{<,e!!u}',a!>,},<}}},{{<'uo!>,<,{<}>}},{{{}},{{<>}},{,!>,!uie!>},,{<>}}},{}}},{{},,},,,i,'!>},},{{},{}},{!>},<{ii!>!>{{>,!!'!!!>,,}},{{{u!>,o}!>},!>},},<>},{,{}}},{{{}},{{{},,<,!>},<'!>u!ou!!"iiu"!!"{>}}},{{},<"uiau!!!>ii!!!>},<,<'i'>}},{}}},{{,},},},{{<""a'!!{a{a,,},},{{<"'!!!!!>!>,<"!!!>,o',!!!'>,"!!i!!!>o'!>,},{{},},{{{}},{{<">},{{,,}}}}}},{}!>"u!i{!!oai,>,{<,!>,},<,},<>}}}},{{{{{},<},<},,}}},{{'""u,{<>,<,u,!!!>!!}>},,<<"!>},<}!>,<<{o!!e'}>}},{{{{{},{}},{{!!!>!>!!}!>{o!!!>},e!!!>>}}}},{{},{},{{!>!!}!!!>!'!!!!{i!!u>},<{'>}},{{<'!>>},{{<"}i!>},<}"!>,!{},{}},{{{!!o>}},},eo!!!!!>,}}},{{<'u,,{<>}},{{{{}},{{{{!>},<'}!!ai!!ou!>,<'!>!>i>}},<'o!<<>}},{{},{{>}}}},{},{{{>,{{},<''!!!>},a,!>,},<<">}}}},{}}}}}},{{{{},{{},<{!o!"{{i}"a<>},<"!!>},{{{}},<!>},}}},{{{{{!},{{{},{<"oo'ee{>,{,oo{!!!ae}>}}},{},{}!!!>!>},}},{{}}},{{{{<}!!!!!!},}},{!!!>},<>}},{{<"a!!ii{!>>}}},{{{,,,<"i!"!!uo!!!>>},{,<"'e!!!>!'!}}},{{<"!>},o}<<"'!!!!'!!!>'o!>>},{},!>eiea!>!>,}}},{{}},{{},<,!>},},<}a>,{{},},,},{},},<>,<{u!!ouo,ui'!!!>!'>}}},{<,!!!>""o,e>},{'!!!>,!!},<,">,{!!a!>!>,<"uu>}}},{{{<'a{!!!o{!o>,<}!>,!>},<"u"!eu!!!>>},{{{<>}}}},{{{}}},{{{{<},,!>},!!!>!>a!>!!!>,}},{},<"!>},<>}},{{{<'o!!!>!!!>!!!!!>!!{!>,!!!>!>,,<>,{{<}e!!!>'u!>{!!!>'!>,},<>}}},{<'!!e!>au,<{!>,<}<}!>u,o">,{{!>,,<}!!u!>},,},<'""'{!!}!>},<>}}}},{<'!!!!!>{i!oa"!>},<,!!!>>},{{{},,<>}}},{{{}}},{{{{<>}}},{{{},{ao>},{{},{""'u"iio'u!!'!>,<<>}},{{},{}}}}}}},{{{{{<}"ei",,u!!!>},u>}},{}},{{{}}}},{{{{,'!!!>e{i<}<>},{}},{{},},},{{{<,!!ui<{!!!>,<>}},{{<>}},{"i!>,<{>,<>}}}},{!>,},<}!">,{}},{<"!>},a"!!!>},},<},!"!}e}!{,!>,<<>,{}}},{{},"o!>,,{},},}}}},{{{{{{u!!!>!>},<,{,},<'!>},"a!!!>,}!>,}},{a},<"!!!,!!}!!}"!>},<>}},,ou!"o'!>,},{}},{{<},,}},{<}!!}>}},{{{},{,<"!>},'u>}},{{a'!>},,,{}}},{<<"!>,!!!>a!o!!!>!!}a>,{<'!!!u!>},},<>}}},{{{<{!>,},,,<>,{}},{{},{!!!>!!!!!>u>}},{}}}},{{{{{'"!>,,<">},,},{},{{{}!!!!!!'e'!!''>},{!>},}}},{<'">,{}},{{'i}!'!>,<{e'}}e!>,}}},{{{<}{},!>oa'aia!!!>!>},a>},!!!!!>!>,'!>!>>},{<'o!!!>o!{!>},,,<>},{{{}}}},{{{,u}!>},,!>o},<>},{{,!>i!!a!e!>,>},{}},{<}}o!!!>!!!!!!!>!!!>>,<,<'o!!!>!<}},{{{,},!!!>!!!>},<,!>,,},<>},{}},{},{}}},{{{{{},,'u!>},},{},{i!o>,}},{}},{{{},{{{{>},{},,!>,<"o>,{},},}}},{}}}}},{{<<''}!>,a"!!!>!>},,,{,<>}},{{{<},}},{{<>},{{<{a>},<,!!e!o{!!e>}}},{{<>},},<>}},{{o!>},>,{<}e'a'"!>,},},},}},{{<}!>},,,,o!>,},,!>},,<"a!!!>,},{<{}}}}},{{},{{'}a{!i,"!>',eao!!}<>},{{},<}<{"!>,,},{{},>}}},{{{{{<>,{<,}eu<"!}{u"i!>!!oao>}},<,,},<}!!!>!>,<}a!>"!>},},{{<,a!a!!"!!u!!!!},{!>'!>,!!"!>,}>}},{,}!!!u!!!>},<<>}},{{{{<{ai!!!>!>!!euie!>,,<">},{'!>!u,!!!!!o!{ie!u}>},{<,!!'{'i>,{ooa!oo<}},{}}},{{{{}},{,{}}},{<},!!ea!!!!!>},},<,!"e}!>},<>}},{{{{{<'}!>,<,}!>},,{<"!>,<,!!{ei<'o>}},{<},}}},{{},<}a>}},{}},{{oa">},<{!i!i>},{{{!>!!!!!!iu!!!>!>,}}}}},{{{{{,},{}}},{},{{}}},{{{,,!>,,}},{{},{{}}},{}},{{{{i!>,u!!!>"ooe{!>},<>},{},!>},<,ea>}}},{<"!!!i>,},},},<'}ue!>},<>}}}}}} -------------------------------------------------------------------------------- /11/11.in: -------------------------------------------------------------------------------- 1 | s,se,ne,ne,ne,ne,ne,ne,ne,n,sw,sw,nw,sw,n,nw,nw,sw,nw,nw,nw,nw,sw,nw,nw,nw,nw,s,nw,nw,sw,nw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,sw,se,sw,s,s,sw,s,ne,nw,nw,s,n,s,sw,s,sw,nw,se,s,s,s,s,s,nw,s,nw,s,s,se,se,se,se,se,se,s,se,s,s,se,ne,se,se,se,se,se,ne,ne,se,se,se,se,se,ne,se,se,se,sw,sw,se,ne,s,ne,se,sw,n,sw,ne,ne,se,se,ne,se,ne,se,se,se,se,sw,ne,se,se,ne,se,sw,se,ne,se,ne,s,ne,ne,ne,ne,s,se,ne,ne,ne,s,ne,nw,ne,s,ne,ne,s,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,n,ne,ne,ne,n,n,se,ne,ne,ne,ne,n,ne,ne,n,nw,ne,sw,ne,ne,n,n,ne,sw,n,ne,n,s,n,n,ne,sw,ne,ne,s,n,n,n,n,se,ne,ne,n,n,n,ne,n,n,n,n,n,n,n,nw,n,s,n,se,n,n,n,nw,n,n,n,n,nw,n,n,n,n,se,sw,n,nw,n,nw,n,ne,sw,n,ne,n,s,n,n,n,nw,nw,n,n,n,n,n,n,n,n,nw,nw,nw,n,nw,ne,n,nw,n,nw,nw,nw,nw,nw,nw,n,nw,s,nw,n,nw,sw,nw,ne,nw,sw,nw,nw,n,nw,nw,nw,sw,nw,nw,nw,n,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,n,nw,n,nw,se,nw,nw,nw,nw,nw,se,nw,nw,nw,nw,nw,s,s,nw,nw,nw,sw,nw,nw,nw,nw,n,nw,se,nw,nw,sw,nw,sw,s,sw,nw,s,nw,sw,nw,nw,nw,n,nw,n,nw,sw,n,nw,nw,nw,sw,nw,n,s,nw,nw,nw,se,s,se,nw,sw,s,nw,sw,nw,sw,se,ne,nw,nw,se,nw,nw,sw,sw,nw,nw,sw,s,nw,s,nw,nw,nw,sw,nw,nw,sw,nw,nw,sw,nw,sw,s,nw,nw,sw,sw,se,sw,nw,nw,sw,n,nw,sw,sw,sw,sw,sw,sw,s,nw,sw,sw,sw,s,nw,nw,sw,nw,sw,nw,sw,s,sw,sw,s,sw,sw,ne,s,sw,sw,se,sw,sw,sw,sw,sw,sw,se,nw,sw,sw,sw,sw,nw,nw,sw,nw,sw,sw,sw,sw,sw,sw,s,sw,se,sw,se,nw,sw,sw,sw,sw,sw,sw,s,ne,nw,sw,s,sw,nw,sw,s,s,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,n,sw,sw,sw,sw,sw,sw,ne,s,ne,sw,sw,s,sw,sw,sw,sw,sw,ne,sw,sw,s,nw,nw,sw,se,s,sw,n,n,sw,sw,se,sw,sw,sw,sw,sw,sw,se,n,ne,sw,sw,ne,s,s,s,sw,s,sw,s,sw,n,sw,s,s,se,s,sw,sw,se,s,sw,n,n,sw,sw,s,sw,s,s,sw,nw,s,sw,s,s,ne,s,s,n,s,sw,s,s,s,s,sw,s,ne,n,s,s,nw,ne,sw,s,s,n,s,s,n,s,sw,s,s,sw,s,s,s,ne,s,sw,s,sw,ne,s,sw,sw,s,ne,n,s,sw,s,s,nw,sw,s,s,sw,s,s,ne,s,s,s,s,s,s,s,s,s,sw,se,s,se,s,se,ne,se,s,s,s,sw,sw,s,s,sw,s,s,se,s,s,s,s,s,s,s,s,s,s,n,s,s,s,nw,s,s,s,s,ne,s,se,se,ne,s,s,s,ne,s,s,s,s,s,s,s,n,se,s,s,se,se,s,n,s,s,n,sw,se,n,s,s,ne,s,se,s,s,se,s,s,s,s,se,s,s,se,se,se,nw,s,s,s,s,se,n,s,se,s,n,s,s,s,s,s,s,s,se,se,s,se,n,se,sw,se,s,se,n,se,s,n,nw,sw,s,sw,se,sw,se,s,ne,s,s,s,se,sw,se,s,s,s,sw,nw,ne,s,s,s,nw,se,s,sw,sw,se,s,se,se,se,se,s,se,s,s,n,sw,nw,se,se,ne,s,se,s,s,nw,s,s,se,se,se,s,n,se,se,se,s,s,se,ne,se,s,ne,nw,nw,s,n,n,nw,se,s,s,se,s,se,se,se,s,s,s,se,s,se,s,ne,s,n,s,sw,ne,se,s,se,se,se,se,se,s,se,se,se,s,n,se,ne,se,se,se,se,s,se,s,s,se,nw,se,s,s,se,se,n,se,se,se,se,se,se,se,s,se,se,se,nw,se,se,s,se,se,s,se,se,se,se,s,s,n,sw,se,ne,se,se,se,s,sw,se,ne,se,se,se,se,se,s,se,nw,se,se,se,se,se,n,se,s,se,n,se,se,se,se,se,se,nw,s,se,se,s,se,se,se,se,n,nw,se,se,se,sw,se,sw,ne,se,se,se,se,se,se,se,se,se,se,se,se,se,se,ne,nw,se,se,ne,se,se,se,nw,se,se,sw,se,se,se,sw,se,se,se,se,se,se,se,se,nw,se,se,se,se,se,se,se,se,se,se,ne,se,sw,se,se,ne,se,se,s,se,se,ne,ne,se,se,se,se,se,se,se,se,s,se,nw,sw,se,se,se,nw,se,ne,s,se,ne,nw,se,nw,se,se,se,se,ne,sw,ne,se,se,se,se,sw,se,ne,se,s,ne,nw,ne,ne,se,n,se,se,se,sw,ne,se,se,nw,sw,se,se,se,se,ne,s,nw,n,ne,ne,ne,se,se,nw,ne,se,ne,se,se,se,nw,ne,ne,se,se,se,nw,ne,ne,se,nw,ne,se,s,ne,ne,ne,se,se,ne,n,se,se,n,se,se,se,se,ne,sw,se,ne,ne,se,se,ne,se,se,sw,ne,sw,ne,se,s,se,n,ne,se,nw,se,se,se,ne,se,sw,ne,sw,se,ne,se,se,se,ne,nw,ne,ne,ne,ne,ne,ne,se,se,se,se,n,nw,sw,se,ne,se,n,ne,s,se,n,ne,se,se,ne,sw,ne,se,ne,s,ne,ne,se,se,ne,ne,n,ne,ne,ne,s,ne,ne,ne,se,sw,ne,ne,ne,se,ne,s,se,nw,nw,ne,se,ne,ne,n,se,se,s,ne,se,ne,ne,se,ne,ne,nw,ne,n,se,ne,se,se,ne,ne,ne,s,ne,s,ne,ne,ne,se,ne,n,nw,sw,se,ne,ne,nw,s,se,ne,se,ne,ne,ne,ne,ne,n,ne,sw,ne,s,se,ne,ne,se,ne,se,se,ne,ne,se,sw,n,ne,s,sw,s,ne,ne,ne,ne,ne,sw,ne,se,se,sw,ne,ne,ne,ne,ne,ne,ne,se,ne,ne,se,se,ne,ne,nw,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,ne,sw,ne,se,sw,s,ne,ne,ne,s,s,ne,ne,n,ne,se,ne,ne,n,ne,ne,ne,ne,sw,ne,ne,ne,sw,sw,ne,ne,ne,ne,ne,sw,ne,ne,ne,ne,se,ne,ne,ne,ne,ne,ne,se,ne,sw,nw,ne,ne,ne,n,ne,ne,ne,ne,nw,nw,sw,n,ne,ne,nw,ne,ne,ne,ne,nw,ne,nw,ne,ne,ne,n,ne,ne,ne,sw,ne,n,sw,nw,ne,ne,n,ne,ne,s,ne,ne,ne,ne,ne,ne,ne,ne,n,n,ne,ne,se,nw,ne,n,sw,ne,ne,ne,ne,ne,ne,n,ne,ne,ne,ne,ne,nw,ne,ne,ne,se,s,ne,n,ne,ne,ne,ne,se,n,n,ne,ne,ne,n,s,n,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,sw,n,nw,s,ne,nw,s,ne,n,ne,ne,ne,ne,n,se,ne,ne,ne,ne,ne,se,n,nw,ne,ne,n,ne,ne,n,ne,n,ne,ne,ne,n,ne,se,ne,ne,ne,sw,ne,ne,ne,ne,n,ne,ne,ne,n,n,ne,ne,ne,se,n,ne,ne,ne,ne,ne,ne,ne,n,ne,ne,s,ne,ne,ne,ne,ne,se,se,nw,n,n,nw,ne,ne,n,ne,ne,ne,s,ne,ne,ne,n,nw,s,nw,n,n,nw,n,se,ne,ne,ne,nw,ne,ne,ne,ne,ne,sw,n,ne,ne,ne,ne,n,ne,n,se,ne,n,n,ne,sw,ne,n,ne,n,ne,n,ne,ne,n,ne,n,ne,n,ne,nw,ne,ne,n,ne,sw,sw,n,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,nw,nw,s,ne,n,ne,nw,n,ne,ne,n,n,sw,nw,n,ne,ne,n,n,ne,ne,ne,ne,ne,n,nw,ne,n,ne,ne,ne,ne,n,n,s,ne,se,s,ne,sw,ne,n,sw,n,ne,n,n,n,nw,n,nw,n,se,ne,ne,ne,n,ne,n,ne,sw,ne,n,ne,n,n,sw,ne,nw,n,ne,ne,n,ne,n,n,se,s,n,n,n,n,ne,sw,ne,n,se,se,se,n,s,n,n,n,n,n,ne,n,ne,n,sw,ne,n,ne,n,ne,n,ne,n,sw,s,n,n,ne,ne,n,n,n,s,se,n,se,n,ne,n,n,n,n,n,se,sw,ne,n,n,n,n,n,n,se,n,s,nw,sw,ne,n,n,ne,n,n,n,n,n,ne,ne,n,n,ne,n,ne,nw,n,ne,ne,ne,ne,n,n,nw,nw,nw,n,n,n,nw,ne,ne,n,nw,nw,ne,se,se,n,sw,ne,ne,ne,n,n,n,ne,nw,nw,n,nw,n,n,n,nw,n,n,nw,sw,n,se,n,s,n,n,n,ne,n,n,n,ne,n,n,n,n,n,nw,n,n,n,ne,n,n,n,se,n,n,n,se,n,n,n,n,n,n,s,n,n,n,n,ne,n,n,n,n,n,n,n,n,sw,n,ne,s,ne,n,n,sw,n,n,n,se,n,ne,n,s,n,se,sw,n,n,n,ne,n,n,n,n,ne,n,s,n,n,se,n,n,s,n,n,n,n,sw,n,n,n,sw,n,s,sw,n,n,n,ne,n,n,n,n,se,n,sw,n,n,n,n,n,n,n,n,n,se,n,n,n,se,n,ne,n,n,n,n,n,sw,n,se,n,n,n,n,n,n,n,nw,n,n,n,n,n,n,n,n,s,n,nw,n,n,n,n,n,n,n,n,n,n,n,n,s,n,n,n,n,nw,se,n,n,n,nw,n,n,se,nw,nw,n,n,n,se,n,n,n,n,n,nw,n,n,n,ne,s,nw,n,se,se,se,ne,ne,n,n,n,n,nw,n,n,nw,n,nw,n,n,n,n,nw,n,se,n,n,n,n,n,n,nw,n,n,n,n,s,n,n,nw,n,n,nw,n,n,n,se,nw,n,n,sw,s,n,n,ne,s,n,n,n,n,n,sw,n,n,n,n,n,nw,s,n,nw,s,n,n,n,nw,nw,nw,n,nw,sw,n,nw,n,n,n,se,nw,nw,n,n,n,nw,n,n,n,n,nw,nw,n,n,sw,nw,n,n,nw,n,n,n,ne,n,n,nw,nw,n,n,n,n,se,s,s,ne,n,n,se,n,n,sw,nw,n,nw,n,nw,n,nw,n,ne,n,n,s,sw,nw,n,n,n,nw,ne,nw,nw,n,n,n,ne,nw,n,n,n,n,n,nw,n,n,nw,nw,sw,nw,n,n,n,n,n,n,n,n,n,s,nw,nw,nw,s,n,nw,n,n,nw,n,nw,n,n,n,n,nw,n,sw,n,s,s,nw,ne,n,n,nw,n,nw,sw,n,n,ne,n,n,ne,n,n,n,sw,nw,n,nw,s,nw,s,s,nw,n,nw,n,n,n,se,s,s,nw,n,n,n,nw,n,n,nw,nw,sw,nw,n,n,n,nw,nw,se,n,nw,n,nw,s,nw,n,n,nw,ne,s,nw,n,s,nw,n,nw,ne,n,nw,nw,n,n,se,s,n,n,sw,nw,n,nw,n,nw,nw,ne,nw,n,n,nw,nw,nw,nw,nw,n,nw,nw,n,n,nw,nw,s,nw,n,se,n,se,n,n,nw,nw,n,nw,n,n,nw,nw,se,n,n,n,se,se,nw,n,nw,s,n,n,n,ne,nw,ne,nw,s,nw,nw,n,nw,nw,n,se,n,nw,nw,nw,nw,nw,nw,ne,sw,s,n,ne,nw,nw,n,nw,n,n,n,n,n,n,n,se,nw,nw,nw,nw,n,n,n,se,nw,sw,nw,se,n,sw,n,nw,nw,nw,se,n,s,nw,ne,nw,nw,s,n,ne,nw,s,nw,nw,n,n,nw,nw,nw,n,nw,nw,nw,nw,n,sw,sw,nw,n,nw,n,n,nw,ne,se,n,nw,nw,n,n,nw,nw,s,n,n,n,n,n,n,sw,nw,s,nw,s,nw,n,ne,nw,nw,n,nw,nw,nw,n,n,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,n,nw,nw,nw,s,nw,nw,n,nw,nw,n,nw,nw,sw,n,n,nw,nw,se,nw,n,nw,n,s,nw,n,n,s,nw,nw,n,nw,nw,nw,nw,nw,nw,n,nw,nw,nw,nw,n,n,nw,nw,nw,sw,nw,nw,nw,nw,ne,nw,n,nw,ne,se,nw,n,n,nw,nw,n,n,n,nw,ne,n,nw,nw,nw,se,nw,nw,nw,nw,nw,se,nw,nw,s,n,nw,n,nw,n,nw,nw,sw,n,n,nw,nw,ne,nw,n,n,nw,n,nw,nw,nw,se,ne,n,n,nw,n,s,nw,n,nw,ne,ne,nw,nw,nw,nw,n,n,nw,nw,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,nw,ne,nw,n,n,nw,nw,n,nw,se,sw,n,n,nw,s,nw,nw,n,nw,nw,nw,nw,nw,n,nw,se,n,nw,nw,s,nw,nw,nw,n,nw,nw,nw,nw,nw,nw,n,ne,nw,nw,nw,nw,nw,nw,se,n,nw,nw,s,s,n,nw,sw,n,nw,nw,n,nw,se,nw,nw,nw,n,nw,s,nw,nw,nw,nw,se,nw,n,nw,s,nw,nw,nw,nw,ne,n,se,ne,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,sw,nw,ne,nw,ne,nw,nw,sw,nw,nw,nw,s,n,nw,nw,nw,nw,nw,nw,nw,sw,nw,nw,nw,nw,nw,nw,s,nw,nw,nw,nw,nw,nw,n,nw,ne,nw,nw,nw,nw,nw,sw,nw,s,nw,nw,s,nw,sw,s,nw,nw,nw,nw,nw,nw,nw,s,s,nw,nw,nw,se,nw,nw,ne,nw,nw,se,nw,nw,nw,nw,nw,ne,nw,s,nw,sw,s,sw,n,nw,sw,nw,nw,nw,sw,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,se,sw,nw,nw,n,n,nw,sw,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,sw,nw,nw,nw,nw,nw,nw,se,nw,nw,n,sw,nw,se,n,sw,nw,nw,nw,nw,s,nw,nw,nw,nw,nw,nw,nw,nw,nw,se,ne,sw,ne,s,nw,nw,nw,nw,ne,nw,nw,nw,nw,nw,nw,se,nw,sw,nw,se,nw,nw,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,sw,sw,nw,nw,nw,nw,sw,nw,nw,nw,s,sw,sw,sw,sw,nw,sw,sw,nw,se,nw,nw,nw,n,nw,nw,nw,n,nw,sw,nw,nw,nw,nw,s,nw,nw,nw,ne,nw,nw,ne,nw,nw,sw,n,nw,nw,nw,sw,nw,nw,nw,nw,nw,sw,sw,nw,s,sw,ne,nw,nw,n,nw,nw,nw,nw,sw,nw,sw,nw,n,nw,nw,nw,nw,nw,s,nw,sw,nw,nw,s,nw,sw,sw,nw,sw,nw,nw,sw,sw,nw,nw,sw,ne,n,nw,ne,sw,s,nw,sw,nw,se,n,nw,sw,nw,nw,nw,nw,nw,nw,nw,sw,sw,sw,sw,sw,sw,nw,nw,s,sw,nw,nw,sw,nw,nw,s,s,sw,nw,nw,sw,s,nw,n,nw,nw,nw,nw,nw,nw,ne,sw,ne,nw,nw,nw,nw,sw,nw,se,nw,sw,nw,nw,nw,nw,nw,sw,nw,nw,nw,sw,nw,s,sw,nw,nw,nw,nw,nw,sw,ne,n,nw,nw,se,nw,sw,nw,ne,nw,nw,nw,sw,sw,n,nw,nw,n,sw,ne,nw,se,sw,se,sw,sw,nw,nw,sw,nw,se,sw,s,n,nw,sw,sw,n,sw,n,sw,n,sw,nw,sw,sw,nw,sw,nw,ne,nw,n,nw,nw,se,nw,nw,sw,nw,sw,s,nw,sw,nw,sw,nw,nw,sw,nw,sw,nw,n,nw,n,se,nw,ne,nw,nw,sw,sw,nw,sw,nw,nw,n,nw,nw,sw,nw,n,sw,sw,se,sw,nw,sw,nw,nw,nw,sw,sw,sw,nw,nw,sw,nw,sw,nw,s,se,n,sw,ne,nw,sw,sw,sw,sw,nw,nw,nw,nw,sw,se,sw,nw,ne,sw,nw,sw,nw,nw,nw,se,nw,sw,nw,sw,nw,nw,sw,sw,nw,n,sw,nw,nw,sw,nw,nw,sw,nw,sw,sw,sw,sw,nw,sw,sw,sw,sw,se,nw,nw,sw,nw,sw,sw,se,nw,nw,nw,nw,nw,nw,s,sw,sw,sw,nw,nw,n,nw,nw,nw,sw,nw,sw,sw,ne,ne,s,nw,se,nw,sw,nw,nw,nw,nw,sw,nw,nw,nw,ne,ne,sw,nw,nw,nw,nw,nw,ne,sw,nw,nw,sw,nw,nw,se,sw,nw,nw,nw,sw,n,sw,sw,sw,ne,nw,nw,sw,nw,nw,nw,sw,nw,sw,nw,n,nw,n,nw,ne,ne,nw,nw,sw,nw,sw,sw,sw,nw,sw,se,nw,nw,nw,sw,sw,sw,sw,nw,sw,nw,sw,nw,sw,sw,sw,sw,sw,se,nw,nw,nw,sw,sw,sw,nw,nw,nw,nw,sw,sw,sw,n,nw,nw,sw,sw,ne,nw,sw,nw,sw,nw,sw,n,nw,sw,nw,sw,s,s,sw,nw,nw,sw,nw,nw,sw,ne,sw,se,sw,nw,nw,sw,nw,nw,n,nw,nw,nw,sw,nw,sw,nw,se,sw,se,sw,sw,sw,se,sw,sw,s,nw,sw,nw,nw,ne,nw,sw,sw,sw,sw,nw,nw,sw,n,sw,sw,sw,se,nw,ne,ne,sw,nw,se,nw,sw,s,nw,s,sw,nw,n,s,sw,s,sw,sw,sw,nw,nw,sw,nw,s,se,sw,n,sw,sw,sw,sw,sw,sw,ne,nw,sw,se,sw,s,nw,sw,sw,nw,ne,nw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,se,nw,sw,nw,sw,sw,sw,sw,sw,sw,sw,nw,nw,sw,nw,sw,sw,sw,sw,ne,sw,s,sw,nw,ne,sw,nw,nw,sw,sw,sw,sw,sw,nw,sw,nw,sw,s,nw,sw,sw,nw,nw,nw,sw,sw,ne,sw,sw,sw,sw,nw,sw,sw,se,sw,sw,sw,n,nw,nw,sw,n,nw,sw,ne,nw,sw,sw,sw,sw,nw,nw,nw,nw,sw,nw,nw,s,sw,nw,nw,sw,sw,ne,sw,sw,sw,sw,s,se,sw,sw,sw,n,nw,ne,nw,nw,sw,sw,s,se,s,sw,nw,nw,nw,sw,sw,se,nw,nw,sw,sw,nw,sw,sw,nw,sw,nw,sw,se,sw,sw,nw,s,nw,nw,n,sw,ne,nw,s,sw,sw,sw,sw,s,sw,nw,se,n,sw,nw,sw,sw,sw,sw,sw,sw,s,nw,nw,ne,n,sw,sw,sw,sw,sw,nw,nw,sw,nw,nw,nw,sw,nw,n,sw,se,sw,sw,sw,sw,sw,sw,nw,sw,s,nw,sw,sw,sw,sw,se,sw,n,ne,sw,sw,sw,sw,se,sw,sw,nw,n,ne,sw,se,ne,sw,sw,sw,nw,ne,s,sw,sw,nw,sw,sw,nw,nw,sw,sw,s,sw,sw,sw,sw,sw,sw,se,nw,sw,sw,sw,sw,se,sw,sw,sw,sw,sw,n,sw,sw,sw,nw,se,sw,sw,se,sw,sw,nw,sw,sw,sw,sw,sw,ne,nw,sw,n,sw,sw,nw,sw,sw,sw,sw,ne,sw,se,s,sw,n,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,se,nw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,ne,n,nw,ne,sw,sw,sw,sw,sw,sw,ne,sw,sw,sw,ne,sw,sw,ne,sw,sw,nw,sw,sw,nw,sw,sw,se,sw,sw,sw,nw,sw,sw,n,sw,sw,sw,sw,sw,ne,ne,sw,sw,s,sw,sw,sw,sw,sw,sw,sw,se,sw,sw,se,sw,ne,sw,sw,sw,se,s,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,nw,sw,sw,ne,sw,sw,sw,sw,se,sw,sw,n,sw,sw,sw,sw,s,sw,sw,sw,s,sw,sw,sw,sw,se,sw,sw,sw,s,sw,sw,ne,sw,sw,sw,ne,se,sw,sw,sw,sw,sw,sw,nw,s,sw,s,sw,sw,sw,sw,sw,sw,n,sw,sw,n,sw,sw,sw,se,sw,sw,sw,sw,sw,sw,s,s,sw,ne,sw,n,sw,s,sw,nw,sw,sw,sw,ne,sw,sw,nw,sw,sw,ne,sw,sw,sw,sw,sw,ne,sw,sw,sw,sw,sw,sw,se,sw,sw,sw,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,sw,sw,sw,se,sw,s,sw,sw,sw,sw,sw,sw,sw,se,sw,s,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,nw,sw,sw,sw,se,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,s,sw,nw,sw,sw,se,sw,sw,sw,nw,sw,nw,sw,sw,sw,sw,sw,sw,s,sw,s,sw,sw,sw,sw,sw,sw,s,sw,sw,nw,sw,sw,sw,sw,sw,s,sw,s,n,sw,sw,sw,nw,sw,ne,sw,sw,sw,sw,sw,s,sw,nw,sw,n,s,sw,s,sw,n,se,sw,sw,sw,sw,sw,sw,sw,n,sw,n,sw,n,s,sw,nw,sw,sw,s,sw,sw,n,sw,sw,sw,nw,sw,sw,s,sw,sw,sw,sw,sw,sw,sw,sw,s,s,se,se,sw,sw,sw,sw,sw,sw,sw,se,s,sw,sw,sw,s,sw,n,sw,sw,sw,sw,sw,sw,sw,sw,sw,s,sw,nw,sw,sw,sw,sw,s,ne,ne,sw,ne,sw,se,sw,nw,sw,sw,sw,sw,sw,s,nw,s,sw,s,sw,sw,sw,sw,n,n,sw,se,n,sw,sw,sw,sw,sw,sw,ne,s,ne,s,sw,sw,sw,sw,s,sw,sw,nw,s,sw,sw,se,sw,sw,s,nw,sw,sw,sw,s,ne,sw,sw,sw,n,n,sw,sw,sw,nw,sw,s,ne,sw,sw,sw,sw,s,s,s,nw,s,s,sw,ne,s,sw,sw,sw,s,nw,sw,sw,sw,s,sw,se,s,s,s,s,sw,s,sw,sw,sw,sw,sw,sw,s,sw,s,sw,s,sw,ne,sw,sw,se,sw,sw,s,sw,s,sw,s,se,s,sw,sw,s,s,sw,sw,s,sw,sw,sw,sw,s,s,sw,ne,sw,n,s,n,se,sw,s,sw,s,sw,n,ne,sw,se,sw,ne,sw,s,s,s,sw,nw,sw,sw,s,sw,sw,sw,s,nw,sw,sw,n,sw,sw,sw,n,ne,s,sw,sw,nw,sw,nw,sw,s,n,s,ne,sw,s,s,s,n,nw,sw,sw,sw,n,nw,s,sw,sw,sw,se,s,sw,sw,sw,se,sw,ne,ne,sw,sw,s,sw,sw,s,n,sw,nw,sw,sw,sw,s,nw,s,s,sw,sw,s,sw,sw,s,n,sw,s,sw,s,s,s,s,s,s,s,s,se,ne,s,ne,sw,sw,s,s,sw,sw,s,nw,s,sw,sw,sw,sw,s,n,s,nw,sw,sw,sw,sw,sw,s,sw,s,s,s,ne,se,s,sw,sw,sw,sw,sw,sw,s,s,se,sw,sw,s,s,sw,sw,sw,se,sw,s,sw,se,sw,s,nw,sw,se,sw,sw,ne,sw,s,s,sw,s,s,nw,sw,sw,s,se,sw,s,s,sw,ne,s,sw,s,s,s,sw,s,sw,s,sw,s,sw,sw,ne,s,s,s,s,sw,nw,ne,s,sw,sw,s,sw,sw,s,nw,s,s,se,ne,n,sw,sw,sw,sw,s,sw,s,sw,se,s,sw,se,sw,s,sw,sw,sw,sw,sw,sw,s,se,sw,sw,se,nw,sw,sw,sw,s,ne,sw,s,sw,sw,s,se,sw,nw,n,sw,sw,nw,sw,sw,sw,sw,sw,ne,n,s,s,sw,sw,sw,n,s,s,s,ne,sw,ne,nw,sw,s,s,se,ne,n,ne,sw,sw,sw,sw,se,sw,sw,sw,sw,sw,sw,sw,s,s,sw,s,s,nw,s,s,ne,sw,s,sw,sw,s,s,s,s,s,s,sw,s,sw,s,sw,s,s,s,s,sw,ne,sw,s,s,n,s,s,n,sw,s,s,sw,s,sw,s,sw,sw,sw,sw,n,s,sw,sw,s,sw,s,ne,ne,sw,s,nw,s,s,se,s,sw,sw,sw,sw,s,s,sw,sw,sw,s,n,sw,s,s,sw,s,s,sw,sw,sw,n,sw,sw,sw,s,s,sw,sw,s,sw,s,sw,sw,nw,s,sw,sw,sw,s,sw,sw,s,sw,sw,s,sw,s,s,s,s,sw,sw,sw,s,s,sw,sw,n,s,nw,sw,sw,n,sw,s,s,s,s,n,sw,sw,s,sw,sw,s,s,s,s,s,s,s,sw,sw,s,se,s,s,sw,s,s,sw,nw,s,s,sw,s,s,s,s,sw,s,sw,sw,sw,s,ne,sw,sw,s,s,s,s,nw,s,s,sw,s,sw,s,s,sw,s,s,s,s,s,s,sw,sw,s,se,nw,s,sw,sw,s,sw,s,s,sw,sw,s,s,s,s,s,sw,sw,s,s,s,s,sw,s,sw,sw,sw,n,ne,s,s,s,sw,sw,sw,s,s,s,s,s,ne,se,ne,s,ne,s,sw,s,sw,sw,sw,s,nw,sw,n,sw,sw,ne,se,sw,s,sw,s,se,s,n,n,s,s,s,ne,s,sw,s,s,s,sw,sw,s,s,s,s,s,s,sw,sw,sw,sw,s,sw,s,sw,sw,s,s,sw,se,s,sw,s,s,nw,s,s,s,sw,s,sw,sw,s,nw,s,sw,nw,s,sw,s,se,s,s,s,s,s,nw,s,s,n,s,nw,s,s,sw,nw,s,s,sw,s,s,s,s,sw,s,s,s,n,sw,s,s,ne,se,s,nw,s,sw,sw,n,s,ne,s,s,ne,sw,s,s,sw,s,sw,s,sw,nw,s,n,sw,s,n,sw,s,sw,s,s,nw,s,sw,n,sw,s,n,sw,ne,s,sw,sw,nw,s,sw,s,nw,s,sw,s,sw,s,s,sw,ne,s,s,s,sw,s,sw,ne,sw,ne,sw,n,s,s,s,s,s,sw,s,nw,s,nw,s,nw,se,s,sw,sw,n,s,s,s,sw,ne,s,sw,s,ne,sw,s,s,s,ne,s,s,s,s,nw,s,s,se,s,s,s,sw,s,s,s,s,s,s,n,s,ne,s,sw,s,se,se,sw,ne,s,s,n,sw,s,s,s,sw,n,n,n,s,s,s,sw,ne,sw,s,s,s,nw,s,s,s,s,s,sw,sw,s,n,s,s,se,s,s,s,s,s,s,s,sw,s,s,s,sw,s,s,s,s,s,s,nw,n,s,s,s,s,s,s,nw,s,sw,se,s,s,s,sw,s,sw,s,sw,s,se,se,s,s,nw,n,s,s,s,s,s,se,s,sw,se,s,se,s,nw,s,s,s,ne,nw,sw,s,sw,sw,nw,sw,s,n,sw,s,sw,s,s,s,s,se,s,s,nw,n,s,s,s,nw,se,sw,n,se,s,s,s,s,s,n,s,s,s,s,s,s,s,s,s,s,se,s,sw,nw,s,s,s,sw,ne,s,sw,s,s,s,s,s,se,s,s,s,ne,s,s,ne,s,s,s,s,s,s,s,ne,s,s,s,s,s,se,se,ne,sw,s,n,n,n,s,s,s,s,s,n,s,se,s,s,ne,n,s,s,s,ne,s,s,s,ne,se,nw,s,s,nw,s,s,s,s,s,s,s,s,s,se,s,s,sw,s,ne,s,s,sw,s,s,s,sw,s,s,s,s,s,s,s,s,s,s,s,s,s,sw,ne,s,s,s,nw,s,s,s,s,s,s,s,s,s,nw,s,n,s,s,s,s,s,s,s,s,nw,s,s,s,s,s,s,s,s,nw,s,s,s,s,s,se,s,ne,s,se,s,s,s,s,s,ne,s,s,s,s,s,nw,s,s,sw,se,se,s,s,s,s,s,s,s,s,se,nw,s,s,nw,s,s,s,s,s,s,s,s,s,s,s,s,s,se,s,s,ne,s,sw,s,n,s,s,s,s,s,sw,s,nw,s,s,nw,n,s,s,s,se,s,s,ne,n,s,s,s,ne,s,s,s,s,s,sw,ne,se,n,s,n,n,ne,ne,ne,s,se,sw,se,se,sw,ne,se,se,se,se,se,n,se,s,s,se,se,sw,n,s,s,s,se,se,s,s,s,s,s,sw,s,s,s,s,s,sw,s,s,sw,n,se,sw,n,sw,sw,sw,s,sw,sw,sw,se,nw,se,sw,sw,sw,nw,s,nw,sw,n,sw,nw,ne,s,se,nw,nw,sw,s,nw,sw,ne,se,nw,sw,nw,nw,nw,sw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,n,n,nw,n,n,nw,nw,ne,n,n,sw,nw,se,ne,n,nw,n,nw,n,nw,n,n,nw,s,ne,nw,sw,n,nw,nw,n,se,n,nw,n,nw,n,s,n,n,n,n,n,ne,n,n,n,ne,n,n,n,n,n,n,n,n,ne,n,ne,n,n,n,ne,nw,n,ne,n,ne,ne,n,n,n,s,n,n,ne,ne,n,n,ne,n,sw,n,ne,ne,s,ne,ne,sw,se,n,sw,ne,nw,sw,ne,ne,ne,sw,nw,s,ne,s,ne,s,ne,ne,ne,ne,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,nw,se,s,ne,se,ne,nw,ne,ne,ne,n,ne,ne,ne,se,se,ne,ne,se,se,ne,sw,se,ne,se,ne,ne,se,se,se,se,se,nw,ne,ne,ne,s,se,ne,ne,s,sw,sw,ne,ne,ne,ne,se,nw,se,ne,n,ne,se,sw,ne,s,se,se,se,se,se,se,se,se,se,se,se,se,se,se,se,se,se,s,se,se,ne,se,ne,n,nw,n,se,se,n,s,se,n,se,se,se,se,se,se,se,se,se,se,se,sw,n,se,se,se,se,se,se,se,se,ne,ne,se,se,se,se,nw,se,ne,se,n,nw,s,n,se,se,se,se,se,se,se,ne,n,se,se,se,sw,sw,sw,se,s,se,s,se,se,se,s,se,se,s,se,se,s,ne,s,se,se,s,se,s,s,n,s,se,sw,se,s,s,sw,se,se,s,sw,ne,se,s,n,se,nw,se,nw,sw,s,n,s,s,s,s,s,s,se,sw,s,se,s,s,s,s,sw,s,s,s,nw,s,s,s,s,s,se,s,se,s,s,s,nw,s,s,se,nw,s,nw,s,nw,nw,n,se,s,s,s,s,s,s,s,s,sw,s,s,s,n,s,s,n,sw,sw,s,s,s,s,n,se,s,n,nw,ne,s,s,s,ne,s,s,s,s,ne,s,s,s,se,s,s,sw,ne,n,ne,nw,sw,s,s,sw,s,s,nw,s,s,s,s,s,s,s,s,s,sw,sw,nw,sw,s,s,s,n,s,s,sw,s,sw,s,s,s,ne,sw,sw,s,sw,s,nw,ne,s,nw,ne,s,s,s,s,s,s,n,s,sw,s,sw,sw,ne,s,s,s,ne,se,s,s,s,sw,sw,se,sw,se,sw,sw,nw,s,nw,s,sw,s,nw,sw,s,sw,sw,s,s,sw,s,sw,s,s,sw,s,s,s,sw,sw,sw,s,s,se,n,s,s,se,s,s,sw,sw,s,sw,s,sw,s,sw,sw,s,nw,s,s,nw,sw,sw,n,nw,n,nw,sw,sw,s,sw,sw,sw,sw,s,se,sw,s,sw,sw,sw,se,ne,sw,s,s,sw,sw,se,sw,ne,sw,sw,sw,sw,sw,sw,sw,ne,sw,sw,sw,sw,sw,sw,s,sw,sw,n,s,sw,sw,nw,sw,sw,sw,sw,ne,s,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,ne,nw,sw,nw,s,sw,sw,sw,se,s,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,nw,sw,s,nw,sw,sw,nw,nw,nw,sw,sw,sw,sw,sw,se,sw,sw,sw,sw,n,nw,nw,sw,se,se,se,sw,sw,sw,ne,nw,nw,sw,nw,n,n,s,n,sw,sw,sw,sw,n,se,sw,ne,sw,nw,sw,sw,sw,nw,sw,sw,sw,nw,sw,sw,sw,nw,nw,n,sw,sw,sw,nw,se,nw,sw,nw,sw,sw,sw,sw,nw,s,nw,sw,s,sw,sw,nw,ne,nw,se,sw,se,nw,sw,nw,nw,sw,sw,sw,sw,sw,nw,nw,sw,s,nw,sw,nw,nw,nw,nw,nw,nw,se,sw,se,sw,nw,nw,se,sw,sw,nw,nw,sw,nw,nw,nw,sw,nw,sw,nw,sw,nw,se,sw,nw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,nw,nw,nw,nw,nw,sw,sw,n,nw,nw,s,sw,sw,nw,se,nw,n,nw,nw,nw,nw,nw,nw,n,ne,nw,sw,s,nw,sw,nw,nw,s,nw,sw,sw,nw,nw,sw,sw,n,sw,nw,nw,nw,ne,nw,nw,nw,nw,nw,nw,ne,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,s,se,sw,nw,nw,nw,n,nw,n,nw,nw,nw,sw,nw,ne,sw,nw,nw,nw,sw,nw,sw,nw,sw,n,nw,sw,nw,nw,nw,n,se,nw,ne,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,se,nw,nw,nw,ne,sw,nw,nw,nw,nw,nw,nw,ne,nw,sw,s,nw,nw,nw,nw,nw,n,ne,sw,nw,nw,nw,se,nw,nw,nw,nw,nw,sw,nw,nw,n,nw,sw,nw,s,ne,nw,ne,nw,nw,nw,nw,n,nw,nw,n,nw,nw,nw,sw,nw,nw,nw,ne,nw,nw,nw,se,sw,nw,n,nw,nw,n,se,n,nw,n,s,nw,nw,sw,nw,sw,nw,ne,n,nw,n,ne,sw,ne,nw,nw,nw,nw,n,n,nw,nw,nw,nw,sw,s,nw,nw,n,nw,nw,nw,n,ne,nw,nw,nw,nw,n,se,n,nw,n,n,n,n,n,nw,ne,nw,s,nw,se,n,nw,nw,nw,nw,sw,nw,n,nw,nw,nw,nw,ne,se,nw,ne,nw,nw,se,se,nw,sw,nw,nw,nw,se,n,n,nw,n,nw,nw,n,n,n,nw,nw,nw,n,n,n,se,nw,sw,n,nw,nw,nw,nw,n,nw,nw,n,nw,nw,n,n,n,ne,sw,nw,n,nw,nw,n,nw,nw,se,nw,n,nw,n,s,nw,nw,nw,n,n,nw,n,n,nw,nw,sw,n,nw,s,n,n,n,nw,nw,n,nw,n,n,nw,nw,sw,n,n,se,nw,nw,n,nw,n,n,nw,s,nw,n,nw,n,se,n,n,n,ne,nw,nw,n,sw,n,n,n,n,n,nw,nw,n,n,s,ne,n,n,n,nw,nw,n,n,n,n,sw,n,s,ne,n,nw,n,n,n,n,sw,n,nw,n,nw,nw,ne,n,nw,n,n,n,n,n,n,nw,n,n,nw,nw,se,ne,n,nw,n,n,nw,n,n,nw,n,n,n,sw,nw,n,s,nw,n,n,n,n,n,n,se,n,s,n,n,n,n,nw,nw,n,n,s,n,n,n,nw,nw,n,nw,n,n,sw,n,n,n,nw,ne,n,n,n,n,nw,n,nw,n,nw,s,n,n,nw,n,n,nw,sw,n,n,ne,ne,n,n,ne,n,n,s,ne,n,n,n,n,n,n,n,n,sw,n,n,n,n,n,n,n,sw,n,n,n,n,n,n,n,n,n,sw,n,n,n,n,n,sw,n,n,n,n,n,ne,n,n,n,n,se,n,n,n,n,n,n,s,se,n,n,n,n,sw,nw,n,n,n,n,n,nw,n,n,n,n,n,n,se,n,n,n,n,n,n,nw,n,n,s,n,n,n,n,nw,n,n,n,n,n,n,sw,n,ne,n,n,sw,n,n,n,n,se,n,n,ne,n,n,n,n,n,s,se,n,n,n,n,se,ne,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,se,n,ne,n,n,n,n,n,n,ne,n,ne,n,n,ne,ne,ne,nw,s,s,n,sw,n,se,n,se,n,ne,n,n,n,n,ne,n,n,n,n,n,ne,n,ne,n,ne,n,sw,ne,ne,s,n,n,n,n,n,n,n,n,n,s,n,ne,n,n,s,sw,ne,nw,n,n,n,ne,n,ne,ne,s,se,n,n,n,n,ne,n,se,n,n,n,n,n,ne,ne,n,ne,ne,n,ne,n,n,ne,n,n,ne,n,nw,n,ne,n,s,n,n,ne,se,sw,n,n,se,ne,n,ne,ne,ne,n,n,n,n,n,n,n,n,sw,nw,n,n,n,n,n,ne,ne,s,se,n,sw,ne,n,se,ne,nw,ne,ne,ne,n,n,n,ne,ne,sw,n,n,n,sw,n,n,ne,n,n,n,se,s,ne,s,ne,ne,ne,se,n,n,sw,n,n,ne,n,s,ne,nw,nw,ne,n,n,n,s,s,n,ne,sw,ne,ne,ne,ne,s,n,ne,ne,ne,ne,sw,ne,n,n,n,n,n,s,ne,ne,ne,ne,se,s,n,n,nw,n,n,n,n,s,s,n,ne,n,n,s,n,ne,ne,n,n,n,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,sw,n,nw,s,ne,ne,n,n,n,ne,n,n,n,ne,sw,nw,se,n,ne,ne,ne,se,n,ne,ne,sw,n,ne,n,n,n,n,ne,sw,ne,ne,n,ne,ne,n,se,ne,ne,se,ne,ne,nw,sw,ne,ne,n,n,ne,sw,ne,n,ne,ne,n,ne,ne,n,ne,ne,ne,ne,ne,n,n,ne,ne,n,ne,ne,ne,ne,se,s,se,ne,n,ne,n,ne,ne,sw,ne,n,ne,ne,n,ne,ne,nw,ne,ne,n,nw,ne,se,ne,ne,ne,ne,ne,sw,nw,ne,ne,ne,ne,ne,ne,ne,n,ne,n,ne,sw,ne,sw,ne,n,ne,se,ne,ne,ne,ne,sw,ne,ne,ne,se,ne,ne,ne,ne,ne,sw,ne,ne,ne,ne,s,ne,ne,n,n,ne,ne,se,ne,ne,s,ne,ne,n,ne,ne,n,ne,se,ne,ne,n,sw,ne,ne,ne,n,ne,sw,ne,ne,nw,ne,ne,ne,n,ne,ne,ne,ne,s,se,ne,ne,ne,se,ne,n,ne,ne,ne,ne,s,ne,ne,ne,ne,ne,nw,ne,ne,ne,ne,ne,nw,ne,ne,nw,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,nw,sw,ne,ne,ne,ne,ne,n,ne,ne,ne,ne,ne,se,ne,sw,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,s,sw,nw,ne,ne,nw,nw,ne,ne,se,ne,ne,ne,ne,s,ne,ne,ne,ne,ne,ne,ne,ne,se,se,ne,ne,ne,sw,ne,ne,se,ne,ne,ne,se,ne,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,se,s,nw,ne,ne,ne,ne,n,se,ne,sw,s,ne,ne,ne,ne,s,n,ne,ne,ne,se,s,nw,ne,ne,se,ne,ne,ne,ne,nw,ne,ne,ne,ne,ne,n,se,ne,s,ne,ne,ne,ne,se,ne,n,n,ne,ne,ne,ne,ne,ne,sw,ne,ne,ne,ne,ne,ne,s,ne,ne,ne,sw,s,sw,sw,ne,s,ne,ne,se,s,se,ne,ne,ne,ne,ne,nw,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,se,ne,n,se,se,ne,s,ne,ne,ne,s,ne,ne,se,ne,ne,ne,se,ne,ne,ne,ne,se,ne,ne,se,n,se,se,ne,ne,nw,ne,s,ne,se,ne,ne,ne,se,s,se,ne,se,se,ne,se,ne,ne,se,se,ne,ne,se,sw,ne,nw,ne,se,se,ne,se,ne,se,ne,nw,ne,s,ne,sw,ne,se,ne,ne,ne,ne,ne,sw,sw,ne,se,sw,ne,se,ne,se,ne,se,ne,ne,se,sw,se,ne,ne,ne,se,s,ne,ne,ne,ne,ne,ne,ne,n,se,ne,ne,se,ne,sw,se,se,ne,sw,n,se,se,se,se,sw,ne,ne,se,ne,ne,ne,ne,nw,ne,ne,ne,ne,se,se,se,ne,se,se,ne,ne,ne,se,ne,ne,se,ne,ne,ne,nw,ne,ne,ne,ne,se,se,ne,ne,se,ne,ne,se,ne,s,n,se,ne,ne,se,ne,ne,ne,ne,se,se,se,ne,nw,ne,ne,ne,se,se,se,ne,se,ne,se,ne,ne,n,ne,ne,ne,ne,ne,se,se,se,sw,se,ne,se,ne,n,ne,ne,ne,se,ne,se,sw,n,ne,n,ne,se,se,nw,ne,n,nw,ne,ne,ne,ne,ne,ne,ne,ne,se,se,se,ne,ne,s,se,nw,se,ne,ne,s,se,se,ne,sw,ne,se,se,s,se,ne,se,sw,n,ne,ne,se,nw,ne,ne,ne,n,ne,ne,se,ne,ne,ne,se,se,se,ne,se,ne,nw,ne,s,ne,se,ne,ne,se,se,ne,se,ne,se,sw,ne,sw,ne,se,ne,ne,ne,se,se,ne,ne,ne,se,ne,n,se,s,se,ne,ne,n,se,se,se,ne,se,se,se,se,ne,ne,se,se,se,se,ne,se,se,se,ne,n,se,se,se,nw,s,ne,nw,ne,ne,ne,se,se,se,se,se,ne,se,se,n,se,ne,n,ne,sw,ne,ne,se,se,se,se,n,se,n,ne,ne,se,se,se,ne,se,se,ne,se,se,se,nw,se,s,s,se,nw,s,ne,se,nw,ne,ne,se,se,s,se,se,se,ne,ne,se,ne,ne,ne,se,se,se,nw,se,ne,se,ne,nw,se,ne,nw,ne,se,ne,se,se,se,ne,ne,se,se,ne,se,se,se,se,se,se,ne,ne,ne,ne,se,se,se,se,nw,sw,se,ne,se,se,se,se,s,ne,se,nw,ne,se,nw,ne,se,se,se,se,ne,nw,n,se,ne,se,se,nw,n,sw,se,ne,ne,se,nw,n,se,se,se,s,s,ne,se,se,se,se,se,n,ne,se,se,se,se,se,sw,ne,se,se,se,se,se,s,ne,se,se,se,nw,se,se,n,se,se,ne,se,se,se,ne,se,se,nw,se,se,nw,ne,se,se,se,ne,se,se,n,se,se,n,se,se,s,se,se,se,se,ne,se,se,se,se,sw,sw,se,nw,se,se,se,se,se,se,se,se,se,nw,n,se,se,se,s,se,se,se,se,se,se,se,se,s,se,ne,se,se,se,se,se,nw,se,s,se,se,n,se,se,se,s,se,se,s,ne,se,se,se,ne,se,se,nw,se,se,se,nw,se,se,nw,n,nw,se,se,se,se,ne,se,se,se,se,se,se,se,n,se,se,se,se,se,se,nw,se,se,se,se,se,nw,se,nw -------------------------------------------------------------------------------- /4/4.in: -------------------------------------------------------------------------------- 1 | kvvfl kvvfl olud wjqsqa olud frc 2 | slhm rdfm yxb rsobyt rdfm 3 | pib wzfr xyoakcu zoapeze rtdxt rikc jyeps wdyo hawr xyoakcu hawr 4 | ismtq qwoi kzt ktgzoc gnxblp dzfayil ftfx asscba ionxi dzfayil qwoi 5 | dzuhys kfekxe nvdhdtj hzusdy xzhehgc dhtvdnj oxwlvef 6 | gxg qahl aaipx tkmckn hcsuhy jsudcmy kcefhpn kiasaj tkmckn 7 | roan kqnztj edc zpjwb 8 | yzc roc qrygby rsvts nyijgwr xnpqz 9 | jqgj hhgtw tmychia whkm vvxoq tfbzpe ska ldjmvmo 10 | nyeeg omn geyen ngyee rcjt rjuxh 11 | qpq udci tnp fdfk kffd eyzvmg ufppf wfuodj toamfn tkze jzsb 12 | rrcgxyp rbufd tfjmok vpyhej hcnz ftkojm 13 | jnmomfc jnmomfc bkluz izn ovvm flsch bkluz 14 | odisl hzwv hiasrhi hez ihihsra qpbmi ltwjj iknkwxf nbdtq gbo 15 | gjtszl gjtszl fruo fruo 16 | rdapv gaik cqboix sxnizhh uxmpali jdd usqnz advrp dze 17 | flooz flooz qad tcrq yze bnoijff qpqu vup hyagwll 18 | lnazok dze foi tqwjsk hpx qcql euzpj mwfrk 19 | ilb fmviby ivybmf gtx xtg 20 | rpauuu timere gyg wcolt ireetm safi 21 | croe szwmq bbhd lciird vhcci pdax 22 | hnc ykswt qqqmei goe bri wmyai hnc qpgqc pberqf bzs 23 | hsnrb wdvh iezzrq iezzrq rdbmpta iezzrq kemnptg alkjnp wymmz 24 | ngw don ddvyds nlhkoa aaf gptumum ugtpmmu 25 | vmccke qbpag kvf kvf tgrfghb kvf bhpd sglgx 26 | obomgk bkcgo yso ttft vbw ckl wjgk 27 | fli qvw zhin dfpgfjb udsin nihz ovr tiewo 28 | tgmzmph hauzieo jmg tdbtl lvfr qpaayq qapaqy ausioeu jun piygx 29 | jkp guqrnx asdqmxf vmfvtqb tloqgyo ioix gajowri tmek ilc puhipb 30 | uycn zxqm znft ayal znacus kvcyd ekv qqfpnh 31 | fqghur xtbtdd ztjrylr bpuikb ziyk 32 | rvakn uqbl ozitpdh uqbl dsej xehj 33 | laxp haz jyd xnkrb ijldth woy xapl iqgg alpx gnupa ukptmmh 34 | dyiy dyiy ihb qcyxr 35 | wbwkd hdwu zvgkn hdwu wjc sakwhn zxujdo npllzp uyr uyr 36 | fxczpmn cininu akcxs ggslxr riyxe ojisxe 37 | ppbch sampq dnct afikor dnct edsqy pnzyzmc afikor 38 | jnvygtn hijqjxl vsd jnvygtn nqcqv zns odq gkboxrv kolnq wrvd 39 | mroq mroq flsbu flsbu 40 | fyshor xvpaunj qmktlo xoce wkiyfu ukcl srndc ugwylwm ozcwdw mtqcste kpokr 41 | cfh cxjvx cfh cfh uewshh 42 | bpspbap bpspbap fquj mxmn bwls iirhvuk dmpkyt exrn mxmn 43 | tvyvzk ezszod ntxr xtnr och 44 | knfxhy kbnyl knfxhy xhkssx lxru uprh nkxpbx oodolxr tpvyf 45 | nblmysu iwoffs upgof tyagwf aan vovji ajk ywzq oyfi sfulz 46 | aushzkm lcaeki mkuzsah ynxvte rsntd refk pcm 47 | mgguob gobmug dzenpty gmogbu 48 | yvq eepof rgnree nerger fpb stfrln ernger 49 | hrgkbl mzwvswk rsrsbk ieru holco pajvvn ztgsr qkyp fyeg owpcmoj 50 | fowda gmsqdca yugj mcrroxv mqcbojd fjnqfji qdfsc jqs 51 | qnc rvjfz vvxk sjd xrma ucdjvq sbw zydyt dfzww 52 | ocajazv cozaajv tqunkla udwf ecnnmbz lsakqg bki njnda zsdu ccfqw rxpc 53 | qqm qdfya qxyx qmq qfday uqnfttt 54 | rnbirb iapor qet iapor hxkhz dfvzig pedl ybyb 55 | mkgamxg xkniv meb hbzmxjn dhbj zhbxjmn hdjb 56 | ilteux pyutyfx mau lrr bacak 57 | sjjonmn dbbbgs crxyuu jztstgd ezb uiabyaa 58 | tra fle ufzlvf nnaw kec hiwnnlj tei wld iyt syk hjdczb 59 | qmd jtlud dgh dbanock fzp dsjgqru wwvo jwvxwgv xlemfij jcacd 60 | rpkx oxesil snazcgx fly miiyc ikmtmp oefyyn egbw 61 | ypfpeu wldnyd acchppb yqwcaw wldnyd turbz megci nbgxq xkc ypfpeu 62 | iqqv iqqv neui iqqv 63 | ypsxm icqyup zyetrwq nbisrv 64 | viommi toszx dpueq eyy cunjou ffcjc jaeez djefra pxvkj liudlig yye 65 | fhnacbg jghchh ghjhhc iue hwqmo 66 | vbjw lpn cizba ltnsfpz tzoweml irewlc uzckhpd mszal obd 67 | yeos utxkft hflxkfe fxczge qpgigkc ksgr vuumql vhlvv 68 | xzmkv xzmkv krecdi klpem jsbu nwcmik emfzxf cjmpgnj 69 | vtkjo pmiv zou gxo qdiyxsf hwyinjk jhkgf rjq 70 | dyuoc ywiyvch irfgl ywiyvch fxb fxb 71 | tuz onhr syu rqya abkaf bcfx mbknex juwoor zmksl 72 | oheg spjorx ksdy vwtq fxz phvtazk tcze lrxg 73 | hew lbup botaj ltr jpd 74 | dxgc tzinkej gnz hxvvub adsqmc dxgc asgpp rqbdcra goy pmamdua bhiacva 75 | xqv ygb kihxqz vyv pjcny vmyvsdv cgsi nfyx 76 | tqga ssshrw ndq qlbvwh huyd pxbgj qbxk dkkbf jxy chsobw pph 77 | hxl iwph iwph xnr otifm ljhre 78 | zlgvpd kapxpoc dve rklk ogh hgnp rbrmc zzkz hhmcx aklmo 79 | sar gfor nkf hek nkf aql shc aql 80 | dtcrw kfjzcjx qyhi bldson whwdayo mqtgt xhqzp ttqmg 81 | omspdml isze jdl nvwo qrkm wztfg ssfgyh dryj jhp unsmty 82 | jxt cszylng ifht ixtuna azoi xutqlv jtx tjx 83 | usgm azuayp fgkby ezpyq jqwl ezofj 84 | tnhvil nrvg moyrpqs sldx qymoff megflxh pyhqwms xmdw 85 | zomy zcquwnv lzx bvcna yods mjp dgsez 86 | blklyf xokd gpit tiysj yrwfhm tofx 87 | dtig vhdp omuj vhpd 88 | fogwxim qvdwig emdiv jvhl euwbzkg xvxb hwmqo ujdmlp epmykj 89 | sjxll sjxll pedvgb sjxll 90 | drvay gtzhgtx yrt okz nqf 91 | haxfazn pvkovwb pgu tgshw mxcjf pbe nwoymzc mxcjf pbe hydwy jradcr 92 | prjsloa ahylvj okbsj qbdcdjt pmfo pagyoeg vkmhjzt khzmjvt opfm xfrji gyjqyel 93 | lzypt jdbtrad ogr jdbtrad heink 94 | rcoucuq gdxewa rcoucuq whlw zhhm rcoucuq azaqohe mzyli rdvaf 95 | yuag ebcf yuag nsotg qqzuxr jfmao vyucw wmoye 96 | qwvk xemm hgqrr wyxkpp tojndm xlvzypw jus bgnu bgnu nklfwhs 97 | daqi knenmku ccm xkiuy vkexsbc kvvdagx umopitw yaocnx yoakqql mllmsp 98 | mrxgl gywit mfopia ncnsvw vdxek axuiot rsejua nei prndudz mnu 99 | egqn gaa qgen urs mix zbn rhn 100 | ewharq aihy udkdaob kgrdd kgrdd kugbjtj fcef llqb pduxaq wcexmm 101 | dwtiw nelq hppad algxgf gcc upou akm efnb mxmhrud 102 | yxqaa ups okbhgt iet qns tqn rnjqxgp 103 | npmhdm cgds ldexvr typi jyivoqk zkgq vfyxu xgfo 104 | dkwnmr umm dkwnmr okpjw wqx jpztebl eqsib dkwnmr 105 | dxbild wpbup evscivq dxbild dxbild geqp ojfbpl jshvqej 106 | cxdntxs csfocjd pyy tuhws teb boyloz xfw scxh pxhonky 107 | lteucke xrgwy hszgzu hnyrcvb 108 | pfgsgwg dxzh fworek qbstod 109 | usemcrf psczxu gcjtr brls 110 | hjol efxczux bqdn gvrnpey yyoqse gbam ndzyj lbwb bhzn unsezg 111 | bapw xifz blupk qqdk bofvqpp wnbuwyt rnwocu lzwgtt zucag pov 112 | xkre lqvd juf lqvd xio xyg xyg 113 | tzdao ztheib aymcf aorg iyawrch hetcxa iyawrch czdymc ccv 114 | ucgl azlppu jvxqlj pest 115 | dvwlw fuuy mnhmm okrp ualnqlm uyuznba fzyejk yaq crl ctprp 116 | odfq knox mkbcku pxucmuf lpjpol phl 117 | ixongh hfs ruorbd auy qyssl kykwcix aytsm rlj aytsm duq segpqhk 118 | izufsk wedpzh podjkor eamo vqvev ifnz podjkor xrnuqe 119 | twyfps bmdbgtu qye qkwjms 120 | wlav htym vhsnu cocphsj mdsuq vhsnu jflgmrp 121 | opajag itwjhfu purnnvk opajag 122 | hpkopqp vnj aialpt lzrkzfs nwucez nwuezc 123 | mcx hzcjxq zbxr dsx tpknx fva 124 | rlvgm xrejsvn ghawxb efyos xty wdzdgh olahbtn rga efyos vhtm nsr 125 | cni mbab qtgeiow ulttn rckc kmiaju jvbq emyvpew cdlxldn ulttn brhkprx 126 | eykpffp rapik qki fhjgdyu tome ehjuy bibjk htxd vexvag 127 | wrk dpxt gwkuiov gbkif ike gbkif pcd wpj toywyf qzsa aol 128 | yqwzh uujn ujun ujnu 129 | srs ralwxrz yxvvmgp sjhbhk waasid cqtxoxf whcladv jkmaq khjbsh dlavcwh 130 | mdvsjh xaj etvxlsy fxgiy rgjesel rlegesj ptriz ebdyhkp kugxm dxv egljser 131 | lhehwrs mqevb ygmv gri izop qgb ivm 132 | loqqam alojlwg hgen hbyw qlwpun loqqam worgnwk kope 133 | phozre todsknr todsknr ibj mvllsar 134 | wuripy ruwlfbh wukbkey qhq iishw tvtvci xawvxc vxacwx hsiwi ogq 135 | xryq vxwupqa zhqex aquxpwv bnvxrba dtbxki 136 | yvvwh zvsm vqskhp vqskhp ggqqlw bpn wbuv 137 | kqz tdy goqwge ygn jgd 138 | szjjhdk zkpoo nxexz ebicc 139 | wzuemcj oyd qupulju iaakzmt vzkvz 140 | nppahov umm wpzev wxkgfxd owgekp bhhb bbhh dgviiw kdfgxwx wryb 141 | bnc rhes lmbuhhy kwbefga bnc rtxnvz bnc 142 | ani mggxf mcoixh zdd nai hbhzl mes bdpqr 143 | mjn uinoty jjegvze bjgqg yhqsxbt coj obylb hddude xqi rhfbhha alood 144 | cbjzj drmihy tfkrhsd nuhav hihzx bvblqpl tdd szmp gjgfv box 145 | uumhdxd cmwgyf vepr rwqdkj exwk 146 | hwvr ydvw bqefu kghes gvbhp awms iqsqes khgse 147 | mrey jqfw fwvzhps komj dayvs fbui zmtd cofn mrey 148 | dsjds fdpx irjj usndok qcctsvf fgk wvg txwxcl dxs llp zyilwtq 149 | xmkelgk fdukc cye legkxkm wwly 150 | enlny eynln cccku brkz dpof mwfoxcd yftmnqh wpebvyc 151 | ggdn jnysl dsacffw ukj hdae cmzxku 152 | uqhm gcachmn kxndfrl htmfis jfnajz fiqiypr kekho kekho ndcw ckrndub dejfna 153 | keazuq ertql rauwl keazuq obmh rauwl ksrotm 154 | jppp poigqhv repfsje grjk xwkyuh pkx ayzcj hoxzv 155 | yhjw pcuyad icie icie icie hwcsuy wcd yihjh jnrxs 156 | gaug ivvx ceb xujonak hbtfkeb ttciml cctoz 157 | dggyyi dggyyi gqlyumf yasu fwdfa cbb nncn verhq 158 | rhgcw gpcyct kiuhbg kiuhbg gpcyct jlmleo nhumm 159 | wulxxu jyjek hclcp ogob viex wiqcupq 160 | tthu nxgzpid kcnj mss ukapgkp nnc bxjocv qwxs oejwsif aywqtu brahkb 161 | dtde bgvb smu vbbg zhlu 162 | lyo nwjjmep ldbok wgxhto wwuh qfgjknk wnsl 163 | lleyr onha hkwulbm jfg 164 | bybjwd uoxvbh mvj iqfpnxs bybjwd zqtszp wvc lbazjr zkzenja cev 165 | rbuyyr divtslq yuqmyt ajyveb smxsjb nlk tzqhq ims fewg wpjhr gqh 166 | kpewfd beq klilis klisli eeezut 167 | euqh hueq ldoo crqurv lvrwh tmaewp oodl 168 | bqi lzrf jyhvxfh bqi jyhvxfh nbztd lwpdn cuzi 169 | srjylou phavzjd wost uxkaq byh sluryoj 170 | ihrdk bcegkpq nygrs qbcq wyjg dvzme pgzhjl vibg kvv 171 | ijsx iedemek ktlz gtga tbal lbki gtga 172 | vmiaxn kefig kefig vngxz 173 | vrdmfvi qts vlvhq vlvhq dihmq 174 | cfz dyrz zlw qnt vok fwvahg skshbqf hbwozdc ntana jdb uflp 175 | rimbj bxemw sfps krtk umta vnk ewmbx nrlje ymrtqrz mxewb kjxunbt 176 | egnuti ozat eltl ngueti 177 | qtcwoxq rmaf qtcwoxq qtcwoxq 178 | zws gcoa pydruw qsrk lrkybdf ugr wkrxoj nyvf vitwn 179 | tmr hhd dojid zwrj bhsim righ keqlep flzunou 180 | lwoquvy acjowxk tqudk oenvioh nyavyl 181 | rgh dfhgyke iff cpxhuz hui koe iff hui dmukrei 182 | bjiumig lcbmbgh vleipx sfawua rnf 183 | gftfh qwb tfdroe xbno qhgofm vqfoe mux 184 | ljdrr gyfggai iun nju xrucbis mhrcrh fukr obvuqc whlalfe xrucbis nju 185 | nxjmjr egqwg arllu xqaahri lzc ivt uhsti 186 | sqiepba rcmts kvesv nvp 187 | tiksw tiksw rjni gbhvzm ctbq zuqfyvz 188 | ibsnm kfka aoqigwo sqouih rxz 189 | jmymq lxio adtmk umyu sxvzquq bporqnb heol fow 190 | mepa eckq rqviawv dkqoei ifmngpp jiava rtklseu 191 | yuycd jiufjci yuycd uowg yuycd udq izkicbr csxobh 192 | nwu tfsjavb rruoxbn oepcov elxf rruoxbn rruoxbn azglwth jcjm ksqiqpv 193 | dthfwip zqnwa zqnwa zqnwa 194 | gso wruece ufl crgnlxv vllsm dpyfm wpa ctxko 195 | wvpze seodz lpq lpq pmtp wsxs ffppx 196 | yfxquj phvjn rtwieq rtwieq kgxztyu vbjvkc prqqd lyzmdo ojbrt ojbrt qiqjz 197 | esaezr rpggiy jey kbzrhu uthus osr xxaiijd qfxlf auhzbx gkigoqw 198 | yfhcj uvgck cds gjhhrg cmempgj yfhcj cjb 199 | yxi voxvtuw unwg jqqm 200 | igvjr ljz rus sru gbjtjt qfeg ztu zjl 201 | leof ocxns hbkoysh hbkoysh leof 202 | hab lyxmf yhh qeks fwhfxki xmbcak okqjii nfgzyg bhtfgdj lpmjn 203 | mgognh tad herere lvwnzx ixwqs zphmuuc etdjz kczsf 204 | mtej rlolsnn zbl uykek dpkan gmz etxtgj 205 | mihuieo emjgbp jgks mihuieo iexrfw mjdnr bvp mcuzea xkbusvi 206 | jvqpj bwt jvqpj bwt gxr 207 | qpnd fpt tpor bibbpcg hmvguez wqc afl ckviua gpi 208 | dntmcg jglm sxtnu sxtnu sxtnu 209 | fzkbptw cbfwo ozvwov wbv gcdd izqo ovwzov lolewo xikqpw 210 | nkxyxzd kpn datf fki werq mwidqx oiibor zizcjph 211 | xvgyxym zor ijoy lvwsf fjuara idvvq rreit mqyyy ctio tzwqqhj rnpee 212 | maqkfpk maqkfpk xukg sfdmnlg xjopvr xjopvr irf 213 | liujcd vnlkouy dxkwc gto vhjvtw 214 | swhqhj cas aupsd swhqhj cas bvbooii jquck dtdm 215 | igh iqicicf ghi pcxt srcrjx gmf gyscphv 216 | drplj drplj wopgpnk wytag wopgpnk 217 | zexe ilcqoh qiefb txkuv lirfzv 218 | ovvpn ovvpn uqeurqx uwzn hgmucj ovvpn sjxulms 219 | rox silka irhsvym kutus otasof tdneav pcagds 220 | mkja omu tyshbfq onp trxs lxa tftbv bnpl djhnc zdqfs muo 221 | tjj rmmqas cbbkxs qio pikk ykyew gxlxt nhsyl ykyew 222 | frcprg njrz oaxcmhc qben pedm ecvtga nzxwpb ior gaklot dpem 223 | zyt kncau spoe qlchg sqys wkpbng yflju qlchg vkve bzadbpa 224 | qtq pkaicl qtq mfkfqvr dnleiq brrjxsx uoyxh pkaicl yvmlug 225 | firwy imtlp ywl qfa dqrbazz ztzb pcsbwhn zesmlag 226 | ivey ivey mtvc mtvc 227 | lhize acwf moa cdeoazd voktshy qmvqq jvmuvk ljfmq tsanygc 228 | xreiqkc aawrovl pofcsg xreiqkc xreiqkc 229 | cjbzvn ozds iniqu sdoz gqmki bablvll krs vjzcbn 230 | izsod htkeqz entxn qtns prpcwu omfnmoy 231 | kwfb tctzda aztctd tadtcz gyt wunbcub ydiwdin xxk 232 | epnl ijcp giq ltfk zjcabve zfksmz epnl giq xxxbsom 233 | ulyukpa mdjsbn dydko uhkdt qms aaaj hustlwu 234 | zlsbu ohx jcwovf egf zlvpqgx qhejm wrywdmw 235 | uhxqrzr mmu kjxcalj unuohiq rri yzngnb ikvlxry mfiym qbksdx 236 | khqciz som yklmm jceb khqciz jspy jceb 237 | ncwggv njvi nqox krtsn lnm 238 | bgtqme xaxcoq qbtgme obqual vorfk baoqul lgrb 239 | jli tsbb nlxjc pkwzmz dlxrj hmho gzguko ilj iyaasm 240 | wlmw grkumg dynwtyo emxhhqr huluk slpqu uhqcmd absmr ufirmwr 241 | pbs pcammxv dplfr tzvmav nccyy blvyq ffhnz bccutq 242 | hgge ghge vxmvz hqxgjdg zab guo gheg 243 | ylj bucoyoq udndc wpgyrbx ueh udndc gxdsdh hdoz wwgqlg 244 | cjdeh gttyqe kdkm ltzd lfeozse quvjq mnwhokm kdv oojxm nxt 245 | mfkzus knqxt saxkqww njx zumsfk sbmcyad cpt agvbuv 246 | tukn vyco yobvsn bzgnn klrnzy kea thzk pxpwq ryfff nxzm 247 | ylbm lxlz lybm lzxl 248 | wgtxoij zad slgsi cvnxfg iomswwl vmx 249 | hkm yinhnkj kmh kwkw kayknck chur styjif yknakck 250 | rtfwhkq rtfwhkq zsf zsf 251 | sldq zlntr ueegiw kajivqc ozcbm ceft snvugom pdyc elppeed nnqrp prwwf 252 | lhk xjonc muc tudag tsafx mmivb dvrjbp qgrew 253 | hnzer fbgqp aazta aazta lxaz lmgv aazta 254 | victgxu victgxu mlpd ummrnbx cazjgnw isxcyp efy zfa cyusj 255 | gyojxo onzq gyojxo uxufp awi ilhl wefwfxr gcjlt tmliynw uxufp pdcnxah 256 | wjwachn xkuhfbp oky oky ybaeqkr rbuix yreoaw wepmye brvon aasb 257 | kiidorw vxtxiqx wtqvbrv efdth isel qbom vcssyc vxtxiqx wtqvbrv riafzsw mqzsj 258 | eurpjd vkhdamt tmfx czeoot hiz ykz lmixzq tfur jhzr 259 | ipuftpj qbll sqkkdw fwncmiv bri oeeh lehd ioh wag 260 | suima nanngc imrmc krq atxdo woy atxdo akev qlr aezco qlr 261 | cfc efwbzck ozkmcxv moczkvx ccf 262 | bnekky iakrk sask uwgnjp iyi rynev bdnas ldh kass 263 | sicmw vvjbvv cap nsumc xgvrlm wsoo uoqdu psykckm 264 | ugg mtr wnzhmmh tjxc ehwnji lwhu mdsckk yvmk enubrqo 265 | grb oxmxz ohu ytetedv ssx apzlppg fdkamm sxofc jdt ynmu wyejok 266 | umoep rbyqm eqfk twqnog cptbbi dragna ngqs ffb cexxnc rbyqm 267 | utizi ormkel wvwur bdx ecelqbv xiccama aag glfvmj 268 | znb rsuqoa uxo svc 269 | obs lbifa cffi catpd 270 | qkxwian ajlzjz wewduzp bbyv qmt fsr qgiu epinp ghmf 271 | hatg bfgmb aght ghat 272 | kuq inp dun cknbun wmwsu drlmmg kyxc bdl 273 | bddybth swdbf jhi fva qpobio bjwm wjaztp jywi 274 | mgckz vhveu zkemhp zdf xtiqqew mlx wazgd 275 | umbjq pya lvvxf jeavij rhrxvew bwjqgpr piz 276 | xaycpwo vjcuc qksc yuixhni sfbfb dydyaq gdfvb tggg xidphvf bpjdrl goskxym 277 | agxfoip gguif wvo agxfoip ntkbaw fbyggy ooft zxih 278 | nzvsu ffwq uxvfbl qrql olhmhom qhdltg ymwz krtndtx olhmhom nfsv krtndtx 279 | qdp jqk ustz xjripzv mnk grnodk pjwdsj uug zqxjqj 280 | mufrcox zunisfs ocvcge acamm xua vor bsde kxr vor kxr orccxx 281 | ncycbp anvcxay bmm wndmeaw oso knmk mmb wamenwd kmkv ppdd 282 | motdcn xzagzwu vuzt utffrn yuqxzrh uvzt ujttq 283 | tauoqy coiy ybesz tauoqy wpmr trquyne ahxbj jzhems dsdy 284 | aczq ypw pgmzz srfn quatjgf 285 | cih ypapk bfxvr euvhkk gugru auhqui 286 | vyf pssgfvy dnhvbfl xpacme dnhvbfl mzdv iynq hcqu 287 | lbzvbu hhxiq hdfyiiz iyzihfd xhqih uzdqyxr 288 | iapbdll vdr cprmrkk vdr dfjqse mlry flpqk vdr 289 | grrfkq xcpxd grrfkq dxc bjpr prvwh swoc swoc 290 | bopo chvwuhf qhd ieesl xey ieesl fnjcbe 291 | kic fyq hsucnu agwyl pzzmd hqksh psw 292 | mxf uau iti lcoz lpg zbu ocre wqlocmh mxf nidqj lcoz 293 | bypmix ptzxgmf xmtzgpf hrvzzq 294 | lbfw zwusma lbfw tuyyy 295 | lrf uej unswvh obgsb npbl zajr kenea uej qnyjcu wzufim qpzkgya 296 | qcrxj llyu kligt hlm ehwtbx dda lgsvhdt xewfcv uikn 297 | nfzjx izqdbq mfbxs imiuc yqxb xlmvix izqdbq eflqfq wku omgtuu izqdbq 298 | lasdwg hiy btzt eefd eyoep icn nnmhg otml rek luixac nyzgn 299 | vekteds utsuxdx utsuxdx vekteds 300 | feyov qrij zbebwg ijrq seplram wttkwm zewbgb kzuhuh 301 | dmkgtv wohgqo ddtqmv zatahx mym hqowog tkmvdg 302 | vhha wjrmuyx kqh vyyrj xzchbi ejsdq orlxg vyyrj dlrc 303 | yetngqn zdtuqox hkarjei fqpsgh eaqwbg zsssog ghb gddqqzr hbg 304 | obldb zsrhz zxp uxphnev mwnbc pfjft fms xwslk vjm fxy 305 | nfij dbfykv ttq gyjgac igxuyqi gtiioqx ilhdex dbfykv uyp bdiwya gqf 306 | pffzruz vogfosh dcs wje 307 | pohhf fhpoh oon yyz 308 | xxuam afwm qxl lnt syyr bwxhhf sozauq shlhfmz kwnn milav ochq 309 | wefcqrt gejw cwerqtf fttf gjew 310 | jfsvnmr osca epwtle pgfif sxom 311 | exlfzmq nakp rgdnx rrcvth vhrrct aajjdrt ryyg dsozd jdqlqj pakn iruv 312 | rmcvo txszcs xxhyxz hbsozk wshkocf rmcvo rcbnt 313 | kitz yjgney yvkymef nauj hmllsgl kyhm kqr pzsu rcf pzsu qpte 314 | cdinpx bfur mkj naz ihkheyr nohhoe 315 | ylris xeqcgup wap bbfih tgfoj 316 | ina gnlnm zyeqhij cudfuf ipufae bvkdzni aat teqsg cudfuf bjokrbl teqsg 317 | aedx edax dnfwq qndwf 318 | rdngdy jde wvgkhto bdvngf mdup eskuvg ezli opibo mppoc mdup zrasc 319 | qcnc iaw grjfsxe gnf gnf 320 | zbjm snznt zelswrk gkhlnx dqxqn qqxnd dmro 321 | zisecvx ztezof uzbq otnrtj qsjzkwm ewvcp rlir bfghlq tgapdr qxmr 322 | ipnqj opjf vabyoe wkwnd 323 | wyf mfqxnrf apm snarf jqu aaghx pwecbv lvghayg 324 | acncv jmmbwlg oiphlm ifuo cvt 325 | pvmb egansnd zmh gcuzzci rrxpslv ubith 326 | uoleptg xbouzn xbmg cfh cpn wpqi xbouzn xtxis sxzpns 327 | rilybri kurbpq vfmjpck tjyogho hfyxad svfofx lfbbhxj khaerfs iqr 328 | seaebgz wlmtkre qguv qguv wlmtkre 329 | sgo edkxya zdqgwtt gxu nibuu rairqoq mzxli dci qsv 330 | tsol mdhzqr rmaqnru ggvcq arbwkn hlkcnj ljkcuof 331 | mmliphp ocup puoc eijjv 332 | gmajqpb ijki ijki kvz 333 | pmqss unhlpcj dlkll nuhlcjp expe tlurzmv nsy vlumtzr tgseozl 334 | gkvaoni hsba hsba viuedv phyoclp fdq phyoclp febld nqfs 335 | rxvdtw abn pntv qrqfzz slsvv abn lrxix mnu npot 336 | ghlfjp woy xwkbmv bkahpkj jve cncvk jvdype fwgvoju yrkwjp gwfvln mvkv 337 | kmluh mie bby fwer chsinb ojglqr nqk mie 338 | yzmiu igkgca ybnsqja jpfejtp yjddy xsosxfi ingx qwuhb emrkwpx idqjmmm 339 | btrllw mphm dkvo ewdl dchcul yah btrllw kmqi mtvgk wtb 340 | hxsgard yuikc lykt tdee adprp gpougod klnzk mzsmlb 341 | hdn znblw ifoblur bwzln dbv 342 | smofpbs vjuyiro llk lfzesga tybu tybu 343 | gffnpug xaup iqiyz fjkpnkz drrk fwyxw lwzfskz gslwpmv vjxylva tbkyo nib 344 | evydmb nhwuiiu fkerq nkgbuyy uclrs ydjgglh xhotwbm riirgzt 345 | bsub eavbt uvd dpzwyt rhn khrbptt xszckc djnfxju axofhat powmso nvdffrv 346 | xtuykl fjz mbikc xpnx hmey fjz fjz 347 | rkls nwdcsyx rkls rkls 348 | tygml untequ ybdfumz nqffbq uipc sove hfnqj 349 | ytecew vven koqn royynd qsn ksl qsn sdw 350 | hknlw qwho whoq oqwh 351 | lzmmtqu qvhyeo cnofuj utpwkjz gnirz yhhu aodbnd 352 | zsr axw kwtzcv tydzo kwtzcv lkxsm 353 | rbjtqe nihifd gvdxd bpxzy rxteky vgcgllv vbbua anygiup rqo 354 | dpd wblfwp wblfwp wblfwp ygahc tqjbaq 355 | gsw gsw pacgj xmrcz zmxhmch xmrcz 356 | pdq rhe xqmq lgpkhg fyffrot ovnqh wle 357 | tbjavke ypzzrj jizx gdxoh icjsat otfh fmygumv 358 | snch nxlgjgp jeyn sxoqfj jtage jtage iuice 359 | rtb coefuj grwg grwg rtb krhqnma vfhgbr 360 | vhegtl btorwxg szcev kbvkx itsk nlzpbed 361 | hiukrf ilzkm yllhh xsgwkdp zyy kjbv 362 | rfcg tdorci zcj wzftlv rfcg rfcg 363 | lgbc lzizat vsno pau nvv vsno bbr lzizat qhtb gwp 364 | sfwnio tcugjk bsfsz ykyfwg ibkap fsrvy mygk kzunawx zyhyh 365 | mpavlh qps bylh lttjkz rqabgk vewb bwev tlzkjt gzrbxga ktmso prpkj 366 | gpf ims ynh ffrs vpa iemp gofh cgbauje 367 | secys qks mcnfhwh drog kqs pajy zoltkw lfihnb myb ioxptu 368 | ytq nrta ouk ajqblf yuwwcd zdy blyoxbw dakk nvgi bzrhzaa 369 | nkoych sufiia xkdvw crtldee zycl qblab egqhr qblab 370 | nllno muxaf vds qjnitmw zkpj wskyhft kmqct xamuzpw qcai cdjtbt kaxv 371 | qzdytpe osr fuw osr qzdytpe whperd rydwdcl knoa 372 | zkdznhd peh duoygr zamrgl irnvj otpe pltpq jdkecg 373 | byzgw rece iigdug ehif tpgje 374 | ccnn foqdran gbctca tefdjxh ntcr rjciii xip xlss crl wvvhzqm twyohf 375 | dqyii milqqc qjgkojp qjgkojp ryde 376 | tdkyj tbrcud tsba vqtmb cjwxnf 377 | hqhmq wemvrce nagig pwnw nagig epg nagig vlsi 378 | tqgvw luoplw hccti npjm rytdruq cylrsun rytdruq vjsbjl rytdruq ppti 379 | itgt tuwc itgt rvp itgt tigns eipl ksmru 380 | pdw wdhtkn nbdbpn wff zhuuipg rvemv qxr 381 | qgkwdq cjilayh ymeks mrpuzai dwgs stfstgz ucvqhb yout oiq 382 | vpxik ypfr qytimvu qms oxbmw ppyfx 383 | fwwidn gdhd pyuexk snsz iwndfw 384 | lfcb sllxjna lfcb hpzahfg mmvgaa svny jhuzd 385 | unyg gicmzd fwc spkciy toyq wjupckd vzzx iuqgka ytqycb pxsufj 386 | goj tnrcml eyizngj txa xrkiw zvu igduz 387 | wek xrrlkna clyof rrlnxak 388 | cjm rmyuku vjom gtf 389 | buk cfae awstd dywgqp hxo wcxvf laihqw xdqfes wdbh qceh uzlwj 390 | sudguo dxwplto rlebdh bkamu dxwplto 391 | crwkyxm yuz kjtdhom crwkyxm 392 | trhc sduorxr aizfryh rsudxor gbyc 393 | pczkyl bptp qnn nxmpwsx udrg hhlb rubtrmx twzodlp xygnht 394 | jmqct cden yfajtkz fevcw sxonbxz sxonbxz qkzkm hhngr fbv 395 | sdsnm mwvicr wypfi cty ndbowr woiz mrauwzd qlno mwvicr 396 | vteyo fng lvr lxytn txpj milg 397 | wjx ahtmgo cgwcaj kaxae fhlvlqf 398 | ezj eetqhzu upwda iiefwlk vyvby 399 | imalvy yeghqe jwcu mvrod cwju 400 | bxnmsa yhfu npsdar tsbri hfuy sirbt oofxmy 401 | fkndt elbjtn vepqtxt elvpf fpelv bzkgag qttexpv prblwb 402 | rmq iqs yvprnyy iezqrzm wlqsrr 403 | yviovq lekxghj oey qwhzj lxknxw qiyovv ksnt jptz 404 | tyrg cifxt hugqf tyrg ffuiv jmax qyw fozfosq ffuiv 405 | nmg rsl jpzazd qbtlf yxqtsj czwmdfd bamge lbjdof uqy jssc 406 | cbx boozjip pwgvzlq rjz kxy kxy hszacok fvsq jhnir cnsba gafz 407 | sbcuxb wfur nnnfqjj fdwg huhe sbcuxb 408 | icwk qelbxs uevp qped zsnhh wpuok wddxsln ftnzupr ruxol cgxjb jbhh 409 | izcp htykj xxmndoq amnspe htykj 410 | vverol oixwlny vqd tvfzu henc gnyrwr 411 | ytxio etytsx choynep zqapo hfjit 412 | lkvgr oyzfa taiqr jok djatvy ckif tmdw oyzfa zroy 413 | jlgpyp kkqysg oqjki hjohoug hbhta muilz zft 414 | sumfyu wftcu bwwdcy lezimwa qwvxv zwh mqyv bmfot aii torcol rnt 415 | tpdj xrw ccsbnh fhptv fwkxjfm dmqaokd bjci 416 | zxi vmf vmf dpyg 417 | sfzxysw lcms bkojtv bkojtv 418 | opywo qll ipkitr mtwp tudrr svhyp huz bxsdpn xomfy 419 | gkod luo qrosbp orbd rpsjzyd rlh gdok tze 420 | nusiuq nusiuq zeys ahufexc 421 | veno jntg avtmtdn qojxru zegdcql odfcetz pgehau 422 | uqun vigjm ykac ozlelj danmji bibugox 423 | rpuozh ajwru rbvuevv uhzsq 424 | iawoe tyb aewio ymf byt inijv ctu fcys micsgzl pbby alt 425 | gktyxp ris mqpfm bkqsfl nrg idbbcxg jhcf 426 | qibt invvv qibt luitx rnm eby hrfbmwl wnap sgkzvb qlwc hrfbmwl 427 | jwkv qecsjbw lycgldd wjvk tjcp dycldgl pzrvr zrlcf kji 428 | nzsrmiq nmhse ilivrk kqv 429 | besmyzi imkgpt iekbjax abxeijk uvzs wwv 430 | jdocl uki ltswp tjkljc ymce iuepze qygqxzs tei lkry 431 | hhyfy gvzd mqksxlq czn afe mesnag eep frwgekg mqksxlq phpy 432 | ehg connnza ekt ddgokw 433 | mpbsoms uzhzl xevww ztt uzhzl 434 | lftybr firc awsud dsxdkk ltf ipjv dtx lcymth 435 | vkcpb gxtxq yioeq fexj xxgqt 436 | srvca fslnnvf nfmkpvt egw wemumq jie vznf dzsjw cukf kcvyir 437 | yxjkl lyjkx jyxlk kgc xtz 438 | tpoe xzov csp leleoqo noyre tdhf cyib sjgtdx raehdw nmcxp 439 | qvt uhznqe bpvos vtq ddlebtd tqv 440 | xlw utsxs gpia rvlvnts elkxr dddihy tnrslvv ibf wlx bxg 441 | cwqnnrt rkkqyf dye yde fzl pthanj 442 | boc rqjenpp xjqte jteqx pvoofc pidqe ruoucy gvnro ognrv 443 | qhalb gnazwc fhl iuti 444 | clnbjfo nnfs nnfs heymvr oarew oarew nxu 445 | lwtrotg hiaxwj ymzbly nvhzjhj zlsaheg nvhzjhj ymzbly 446 | rrvi tsjp tsjp tsjp killji 447 | rpx hiclj cmwq ibhj nfd 448 | pvwymn iebkd xmpw vuhhkap ksw zigzy mzzyyxy rmuh iwwhea cglfq 449 | rlwelgy sffml jin qsdzro xlsty mgqzuu etxjuo emzd jgnoyq tkjuy vfvb 450 | tkctdj hhkuc viskmy obw 451 | zvjkuj akeky ikj jqd hfhzbwe bkc 452 | btev nrdo hcyiuph stf qharfg vpmel mpfz nvs ytgbbc 453 | ieepn ndueuw svmdr tcvumw mceyrn mrjwhyl tbdj mgrgvz 454 | uxrs ckyi xpmqm czzrkl cjp 455 | nlliwd wrqkrkz yjmng nlliwd zirde hcjjn wco ysf mgl 456 | dxti lcahe ommare izlwf ramsfb nzgfvo ijvm fwymrdu bndq 457 | isxy jpvuzu tdduyhw dixp cfa fkzbteg ytoi kepk ysf yqcpi 458 | qmeprfj soqo ncgeor cqsuuj grzy wogxy vyblnbg slvtry vdols kka 459 | ltykfp gtzl olrp gxend vapee deq 460 | emywfbn dbfiut rkt wvwe dbfiut bwffhea yuzcxv gogpicp wvwe 461 | vqvmrp ofbk dlfabd jwllzxk obx vqpwjj umvng tqwis fstxy fstxy 462 | miha zgvyux rmraszo xwf 463 | kjaagk btm kjaagk wkewjrg kjaagk 464 | lbmli aizs omrdr gzktnx asiz ptanzpa xlo ljre ckyb wob 465 | svz dlk rijagg avxmg fkzwhk uro gegm 466 | dzplum temdw jqnm tvxcww bmg tftttpp deuw comxey xfimzjx caluczi nqn 467 | uwvhxa ztkd nlsdyt vihl julkwwv uzch dwakhs 468 | wkhuihh ycrc cxff vzcfhpp uegfd gaok kcnvz lhzogq lwa tyrypvu 469 | idp zmrrzp zmrrzp nktp xsnx rjsxn 470 | eybrnib ivgntl vaxsbpi eybrnib 471 | nzvnq xvbfa pbhwwh ylju runvsj imlx vztesn 472 | nfdohd nfdohd gtevnky pivjyct ihvd fzcsrq lko fmqk 473 | kwpkks ecikxu bcxswlt qvrxm sbcqmh 474 | kdjrmj piuh kdjrmj vnaf gyedkg vptxgm xezssxx zsg qjzpo zsg 475 | oqo sley aqx qmpqb fgmylbj egd zivj kepxizv kuakyn lunbnd 476 | hmcf hmcf xlhgc hmcf cdlm buofnx 477 | onjcj yluonz kzmk phqo phqo phqo 478 | ohaafy efl bnkkjww wwjnyoj dxeaig ywnjjwo slk hrbebw ohlyju elf 479 | msohiqz aunk njki bfktdgi htmyrj mgx 480 | numlzrl rmnlulz glb ltt fhbajz gqxpu 481 | gko hco oai ryq xwy sdqosft spjkiu cxfhg ycwpglh noy rah 482 | btzpjem brpk vqr atxu rhlh rqv jmg fvyus 483 | phmxxgj ejx xje qtk hsb kqt npwj gqt 484 | hujyjp nwmsd ant zipuya lrkahww uwqal vzlo qmbo twkjkse ufivi 485 | zfbnyz fwvh xrnrw usn zin daq iwjzj 486 | yykyg iwypfy hehqnl cjvk cevdrec 487 | gui muuto wsta glqmx gfo rdmbv mxwz gffzt eejpw gion 488 | lpng nduid iqbpu nduid knrqd 489 | xwxn oefpckv gjaua ugaaj gjuaa 490 | qxk aeql trqdmqc crzlinj crzlinj trqdmqc rijcne ewyf 491 | rfv qmbe fvr bmeq 492 | upqyfw lowzq wpen upqyfw gfskbil sljuzh wpen 493 | bdcara qyhx rtaez qyq gbyr 494 | evzls qxtxq clzd svbgqi zxlzgss vtrre fko eebo qjyl 495 | zaapeo kpwhz tygknau nyd pch trp xqe 496 | ypzcafg rnqmbh qtteg sncu ssojhhm zonfym thir xmgheb wqj gpjg ssojhhm 497 | wvcwyn xrf muozyya lasdp xpjgu kpqv zkiihiv ifje cbdlavg xbied hfnaa 498 | qqqb rettz rycukl ihpkhh 499 | dnxzxqv znb znb fbxj azxtezb xvxa 500 | peqkd xlzqkov esgnw ucku hrwpfxd xtd vnig vlmfp ajte qswr kqoj 501 | dpwy oavzkk dwyp ehij upqxgii pydw 502 | amfc hfv xmqa nqvn cal rqmcq oej amqx cla ntxj 503 | hqhhe qkbhwli wmhlcq xaczs peywuo 504 | vcr xfv xfv kymo qpszwzo xfv 505 | nmrbur tswo xbo ljlrzo bmhpgc pev zovkznz lok wbbhtkk 506 | tojj lxqgr rhjavrm ndsdup gdbjwaq cqpnl wfaxivl rfry ryfr udspnd 507 | beffod sknlph amb feobdf 508 | mldgn jxovw yuawcvz kzgzwht rxqhzev fsdnvu vluuo eycoh cugf qjugo 509 | tlnd qcxj ker fdir cgkpo nrqhyq raef uqadf iahy rxx 510 | mhvisju lhmdbs tcxied xeidtc ujry cditex gvqpqm 511 | cgc jazrp crgnna uvuokl uvuokl uoiwl sknmc sknmc 512 | rvbu czwpdit vmlihg spz lfaxxev zslfuto oog dvoksub -------------------------------------------------------------------------------- /7/7.in: -------------------------------------------------------------------------------- 1 | yjmbbu (75) 2 | zdhvqrl (40) -> fpbsu, fwpfjjd, viqhfi 3 | dywqvqh (9) 4 | gewgn (31) 5 | xfekjt (67) 6 | zezowe (31) 7 | wgqkdcr (79) 8 | ljhwzvv (258) 9 | vustse (1584) -> ffnabs, qinmi, qhafxnl 10 | idfwjgx (112) -> buoakk, itwbpot 11 | lxesg (71) 12 | qkbnq (99) 13 | jppgd (27) 14 | ztghd (125) -> bcibchp, aaheijb 15 | qcrpdy (29) 16 | fwidkbp (152) -> mnkwo, ehjooz, jvccsp, cyrrjtx, imynb, chnkkj, agywjrs 17 | nymhem (52) 18 | cazid (93) 19 | olspit (121) -> bqtas, fhuiyrl 20 | ayteb (92) 21 | hjucki (58) 22 | wrqtk (305) 23 | jfjemon (217) -> bjhickt, uacjhqx 24 | mcmqliy (925) -> coopirx, ekohgo, ioywk 25 | rsancy (70) -> aeuub, vchuc, heacb 26 | zjwpbzs (23) -> jysaup, pgubexv, lckuoqf, eeguu 27 | qflouyn (90) 28 | nswximo (65478) -> ibjvonk, sdhtguj, dxyifeb 29 | rymkqd (102) -> vgqeyx, zezowe 30 | wlujpl (92) -> sjwhig, wymfopy, ylfsnz 31 | imcczga (95) 32 | xehdglb (52) 33 | twubx (46) -> goimlra, vlimzz, xaoncma, gfzbp, spdhhoe, fhmauag, cyapi 34 | yjhes (72) 35 | ymcuygn (81) 36 | yatbsip (19) -> bkdtinl, nzqcq, tkmed, ysbrui 37 | yipoeia (58) 38 | chophr (27) 39 | tdwtlf (305) -> epuaii, idfwjgx, nwikpdm 40 | emzrj (119) -> aimav, dtscjna 41 | vbxmpc (7) 42 | nrpxx (21) 43 | wgexpa (103) -> paxzd, vgdwm 44 | vnrmx (359) -> knzppj, gkkgkp, ttwfig, vcixs 45 | knltna (677) -> zbhtee, ztzwh 46 | ojvlwm (52) 47 | bgflw (27) 48 | lsdrwz (73) 49 | hswzo (40) 50 | spwgm (351) -> mizab, cyzkk 51 | jlnyr (16) 52 | nwikpdm (36) -> ihwaeuw, wwkeej 53 | qbmtmcs (34) 54 | djirpp (19) 55 | pkfhp (59) 56 | qfypnb (76) 57 | jzequar (272) -> mtcrswx, wkcyd 58 | tttle (71) -> xlskkfi, ayteb 59 | zbhtee (48) 60 | iriun (9) 61 | dwezv (73) 62 | tojyt (58) -> dwezv, nbngkou, wnjtb, rarkunn 63 | bsorz (27) 64 | qvkotfd (337) 65 | azxjd (268) -> exeub, lryzkx, nqvxs 66 | wpxxh (998) -> wrqtk, yosnw, vyxfljc 67 | gwournc (85) 68 | aghdlll (88) 69 | lejgcu (19) 70 | lxlbt (363) -> oiosol, mpchqe, bsorz, jbpjt 71 | nbeagw (94) 72 | vbbgeo (19) 73 | lqfyzo (21) -> tggkm, zdbqs 74 | vqclii (331) -> dmkbnot, omdpc 75 | lhmnd (216) -> onnylx, khaupo 76 | wwkeej (60) 77 | laczal (99) 78 | xrbjn (20) 79 | qvteg (64) 80 | ogbsm (92) -> xpzhy, mhsjkm 81 | ymckwqo (41) 82 | ghsjtj (271) -> hhmwlo, faixe 83 | sjrxs (259) -> mnijdlk, hygfoe 84 | hdvel (197) -> upuxd, dtstgj 85 | lckuoqf (78) 86 | yppydul (91) 87 | frirj (6) 88 | duftj (42) 89 | dnmvzeg (64) 90 | cpazlc (19) 91 | krxyaak (198) -> maqgick, xbnmvd 92 | oyczfgb (395) -> rxcnn, ktpte, qybmgto 93 | oxiuaz (12) 94 | wfphcf (6) 95 | ihtnbb (87) 96 | omsroa (45) 97 | lybkeg (6022) -> oyczfgb, jzequar, yrcgsnx, ujulj 98 | agywjrs (184) -> anpnrdt, hgdbaol, hcjmsd, kzbvrxk 99 | tiujei (34) 100 | lwencl (28) -> ieusgd, mthhq, fsuzqyz, miwoup, isrtfc 101 | wekya (34) 102 | bkdtinl (1167) -> ojsjuts, euoclfs, xbkeua, mykrcq, jjsvfy, aazxafl 103 | qinmi (1896) -> qshbt, ruozmjk 104 | yfmxvay (46) 105 | kgpwo (52) 106 | fgjjwep (14) 107 | odvtiti (76) 108 | ienye (19) 109 | tcvabyz (99) 110 | ycclns (7) 111 | njogewi (30) 112 | bfchbs (87) -> jykbb, qnbfk 113 | dlbzng (99) 114 | xnmvtem (51) 115 | ccciux (94) 116 | xwlmsqy (25) 117 | wekkbw (17) 118 | yipzce (21) 119 | hcjmsd (10) 120 | upvhfmn (68) -> fvlfq, ivmndi, ussmw, ccciux 121 | hacwv (50) 122 | redqvw (269) 123 | dtpexjq (52) 124 | kmlwj (84) 125 | mluykm (19) 126 | ucbbun (114) -> hrqzqqh, ccuarv 127 | kymhbse (155) -> tznudmk, hnlgkv 128 | xomnhw (185) 129 | nsmoh (65) -> ceuygh, acpfsnb, vgubuy, apkwi, yoeau, pdosfg, lfpzff 130 | zvepqr (51) 131 | wnotwt (99) 132 | lcrwbqi (27) 133 | hdlqvlg (27) 134 | iphgmyt (160) -> woolxv, ewyzqg 135 | ujulj (50) -> cazid, npmwcx, yeooycn, dmeee 136 | zjaklmn (52) 137 | bjrpalu (53) -> rhodopg, tcospq, cvrcvgp 138 | azdei (48) 139 | snzfrer (149) -> bhsbd, tgdzl 140 | zsxizw (18) 141 | fwpfjjd (89) 142 | fndxl (36) 143 | uzrnud (14) 144 | igyxt (41) 145 | vxdkej (135) -> diomq, qokscr 146 | gjuekv (5) 147 | uzufet (143) -> fgjjwep, uzrnud 148 | vzuqbye (87) -> eviqjr, cgxsmq, egmfbdq 149 | zirocl (29) 150 | jonshpm (99) 151 | zmlth (154) -> zhxhkgf, cokzlht 152 | bujroda (51) 153 | bdvtvcu (74) -> tvcod, ouamzwh 154 | jdrdxu (36) 155 | troyu (29) 156 | nrczsn (86) 157 | aihow (92) 158 | gaihmf (84) 159 | ehjooz (124) -> hgwsl, mefxonk 160 | omydd (6) 161 | raevpsw (64) 162 | aylmbfh (188) -> ddspu, thdwfw, kxnkbs, rziezq, jfjemon 163 | diomq (65) 164 | jjyjrtr (87) -> fjduphn, yjvgwdl 165 | zsiziaa (38) 166 | lyptirp (8) 167 | lctdjj (56) 168 | pbtks (85) 169 | jxhrar (227) -> barnhza, iqovqp 170 | neqfzm (13) 171 | dhwauy (48) 172 | qvjqfi (80) 173 | ivstcsm (72) 174 | aabrjf (72) 175 | jvccsp (86) -> gukuqw, hpmbkwb 176 | ddspu (113) -> yjmbbu, dzbrgb 177 | zgevpxx (48) 178 | qrrey (588) -> bhvmgw, wgexpa, xiotwdk 179 | ncodn (62) 180 | rbcqgqv (75) -> imcczga, xzurwza 181 | fpxtub (11) 182 | ldfopw (30) 183 | ewyzqg (49) 184 | iuhlc (6) 185 | oqphsw (2722) -> iueejt, ekdqf, btbxk, jdshuob 186 | eysrnaa (71) 187 | ojsjuts (176) -> njxyw, dzasw, rpzaqc 188 | ozyexx (83) 189 | nnldikq (316) -> upwlxnb, vbxmpc, dgwcz 190 | tfmtk (69) 191 | hwctdr (76) 192 | rothisa (66) 193 | qnbfk (91) 194 | qcgxvx (99) 195 | igyiie (237) -> knirl, trbzi, auxvur, rvhxik 196 | cverrt (52) 197 | orrutjs (93) 198 | ffloi (25) -> kflize, icgwppo 199 | phrxnli (21) 200 | eopxpo (41) 201 | vlfouc (62) 202 | fdnom (87) 203 | wuxhvnx (86) -> ikfpktb, zcvipz 204 | flefy (38) 205 | yoeau (206) -> rfwgtb, drmyco 206 | ozatmpe (34) 207 | ydbri (66) 208 | tufds (42) 209 | pprhx (57) -> xitzb, zqyua, dtpexjq, zyradhz 210 | zhxhkgf (29) 211 | qwzmv (52) 212 | paxzd (53) 213 | cyzkk (60) 214 | gyjxkl (37) 215 | pzpjw (54) 216 | svayf (89) 217 | xxxqpkx (7) 218 | imihjj (69) -> yygqky, qlkslp 219 | tkpvf (47) 220 | tljdqy (81) -> sxllorg, yatfpqx, zbznuyf, kymhbse, rfmeug, tetmzw 221 | iphzyj (260) -> omsroa, mxupea 222 | xiotwdk (177) -> jlnyr, nsqqw 223 | eyyzy (274) -> opuaau, qolnvo, jxhrar 224 | baewpe (55) -> svkdyq, hitoud, zvnxfa, emfctr, facrq, vykqcnj, bckuyxm 225 | barnhza (20) 226 | oafnfo (51) 227 | pjcttzo (50) 228 | aooni (205) -> xrvbzya, gvjrx 229 | scchi (48) 230 | zcgrnt (73) 231 | pmsdv (93) -> pyypotx, marzlxh, zvepqr 232 | kngbqid (89) 233 | iwhqlr (949) -> ztkgsyt, ffloi, hzgig 234 | vyxfljc (92) -> pyrlph, wdsiq, eysrnaa 235 | hddzn (69) 236 | cxvqvjz (136) -> kfrti, nslettz 237 | tcospq (96) -> aabrjf, dllgpye 238 | mnmwzz (142) 239 | xfblj (40) 240 | vfwegiu (46) 241 | iphncut (138) -> wslsg, qhnaxuy 242 | algqhtz (37) -> qeojk, sybpano 243 | dmoxr (73) 244 | tozktyo (29) 245 | npjxq (46) 246 | uvfyo (675) -> lxlbt, gnjvf, nfsuzef, spwgm 247 | ollhxuy (821) -> vefzbc, faecnr, geldsqv, xneoi, cxvqvjz, jgkvfa, xtwdx 248 | ksvfdcc (72) 249 | avycyh (180) -> hwosyg, alqim 250 | nsqqw (16) 251 | nsfsj (99) 252 | tpphe (64887) -> yatbsip, syzlt, uttujj 253 | miwoup (40) -> gyjpoco, apgjv, eknui 254 | iljwgzf (92) 255 | bfuywyg (82) 256 | aaqdb (44) 257 | fgbyre (11) 258 | kywfqzv (41) -> lajidkr, gyjxkl, wfhyr, evhsybt 259 | aiovxpk (95) -> yoxvx, pbtks 260 | hrovawq (50) 261 | ajenoz (48) 262 | aeuub (53) 263 | gxjvj (163) -> yiusa, nrczsn 264 | ippzix (9) 265 | ttllx (73) 266 | rorqy (43) 267 | dqash (96) 268 | lwvnbzs (24) 269 | ckheb (34) 270 | rgfndsx (18) -> qkbnq, welll, bkextqn, wnotwt 271 | rsazi (62) 272 | rpfmi (52) 273 | uxslfay (72) 274 | aemgsa (40) 275 | jfmnsqg (85) 276 | ggnsa (114) -> xhmfmo, azdei 277 | lndaa (175) -> qvjqfi, iyuuh 278 | kjdoubx (128) -> eopxpo, igyxt 279 | dzasw (47) 280 | emfctr (9120) -> qzckx, fsaoa, bjrpalu, mdneq, tdwtlf, hswrbpz, knltna 281 | srqntb (137) -> raevpsw, qvteg 282 | wweusm (66) 283 | hawsl (13) 284 | cupsjm (146) -> baiaa, pcqyagx 285 | ppqlc (42) 286 | tadnt (47) -> ufefj, rwxggm, rorqy 287 | rvhxik (11) 288 | vijkx (32) 289 | lqcar (71) 290 | dhkahb (49) 291 | ftuemb (19) 292 | ewdqb (50) 293 | npmwcx (93) 294 | wwezydn (97) 295 | fuvru (98) 296 | cdpwklz (83) 297 | dtscjna (46) 298 | exuusj (7) 299 | ouamzwh (88) 300 | ggvbqrp (145) -> opohwq, yrmgc, gewgn 301 | ekdqf (467) -> ugvqayz, ysgsry, ogbsm 302 | torxqh (90) -> dzwol, lepja 303 | hpmbkwb (69) 304 | ripqyzr (48) 305 | eiklbh (32) 306 | omdlwm (168) -> ihtnbb, hjjkx, bomho 307 | lbwzat (74) -> iivncbz, dmoxr 308 | pyypotx (51) 309 | bjabd (7) 310 | auzbdlz (95) 311 | sxfilp (72) -> livlj, lgenxz 312 | kxvlprg (60) 313 | rfmeug (121) -> apygt, viwns, chtlcwq, wekkbw 314 | xajjyba (164) 315 | kzltfq (94288) -> vnrmx, lrihy, arqoys, nsmoh 316 | mbhld (73) 317 | rwxggm (43) 318 | vapwxei (61) 319 | ufefj (43) 320 | oajawn (34) 321 | dgnjf (335) -> yxseri, nscbsob 322 | xaoncma (296) -> yipzce, nrpxx, rrfbngi 323 | kqlsniq (95) -> qwsxpnc, mqmbcl, gtbbuvb 324 | jrvbacq (49) 325 | oavluo (21) 326 | qpldch (54) 327 | ieusgd (295) 328 | tifgptk (100) -> ddldgex, ggvbqrp, focqhgt, cncak, ksvpnt, weuwc 329 | lhradm (583) -> vusxa, lbwzat, ucbbun 330 | apgjv (85) 331 | cbibo (99) 332 | jxhngrl (48) 333 | qwsxpnc (96) 334 | ysbrui (1293) -> iqggu, upvhfmn, kpqyb, wdeuy 335 | ekvall (209) -> jxhngrl, aplvqql, drwfop 336 | mkwfj (35) 337 | pjiqvd (87) 338 | pgubexv (78) 339 | vbhnmr (2850) -> iftfc, kunzpa, qrrey, tljdqy 340 | sjwhig (93) 341 | zyradhz (52) 342 | wcexum (116) -> eiklbh, vijkx 343 | cdcye (53) -> izppmg, rxvyqsp 344 | bdinafh (10) 345 | rziezq (145) -> taiho, pkfhp 346 | nslettz (10) 347 | svhbd (109) -> xcvxle, fqzsq, jopjvd 348 | limljj (68) 349 | kauphp (231) -> dyxsmz, yzxzo 350 | caryo (7) 351 | nahovfk (109) -> flefy, cfztpc 352 | qolnvo (267) 353 | cmqwplb (9) 354 | cfhuce (71) -> cecsr, josdslh 355 | zwnvqu (88) 356 | mhjtjp (91) 357 | apkwi (222) -> rxragg, zsxizw 358 | ioywk (16) -> ozyexx, eikmns, ktjav 359 | yrmgc (31) 360 | kqzemkv (96) 361 | rxvyqsp (60) 362 | hnlgkv (17) 363 | raryuo (73) 364 | bomho (87) 365 | rixnft (85) -> cpndnx, fpxtub 366 | zoewj (193) -> ohbuhy, ymckwqo 367 | hnyqq (34) 368 | tkmed (1959) -> tuqmup, jwgchxu, sjforw, zmsosb, tqikxkp 369 | wlpyulp (10) 370 | pixjzh (158) -> fgjwz, lsknlg, hlcghe, txhfuoh, hdvel 371 | likvlm (62) 372 | xhmfmo (48) 373 | rgrxpe (69) 374 | weuwc (84) -> xtwdau, muncur 375 | uevcwul (92) 376 | kpxqlr (155) -> nbbyqsa, ilkqp 377 | fqzsq (98) -> tiujei, yhubw 378 | ubovv (6) 379 | knirl (11) 380 | lzvniiz (60) 381 | cwtdf (29) 382 | qeojk (99) 383 | ycxzfkf (131) -> bgflw, chophr 384 | thjulip (20) 385 | vgdwm (53) 386 | myhch (25) 387 | bovno (175) 388 | uqlso (48) 389 | rhnkdt (59) -> rsazi, ncodn, pwizhzr, likvlm 390 | acpfsnb (204) -> nmlcne, vfsttaj 391 | wzfkk (99) 392 | oqlpz (81) 393 | nscbsob (24) 394 | mzmfygf (171) -> jxyoypa, ippzix 395 | rvrlma (211) 396 | pfphng (90) 397 | mdiqsgg (12) 398 | jtzkva (274) -> flomey, ukvvt 399 | tvwxmur (64) -> yodoqn, ksvfdcc, ivstcsm, pvgzz 400 | aplvqql (48) 401 | qybmgto (9) 402 | mtcrswx (75) 403 | aphpzub (29) 404 | vchsdif (105) -> ofisj, zwnvqu 405 | dllgpye (72) 406 | lfzahrm (79) 407 | oiosol (27) 408 | geldsqv (80) -> ienye, eeppf, ftuemb, vbbgeo 409 | vlbba (81) -> ewdqb, vfzby, pjcttzo, abddskq 410 | nfsuzef (75) -> dlbzng, cbibo, wzfkk, jonshpm 411 | lryzkx (71) 412 | mhndszl (190) -> tbrfk, xprzeeb 413 | jbepak (66) 414 | nmlcne (27) 415 | gfffvbp (8) 416 | bqtas (93) 417 | fhmauag (221) -> vantwg, kzwqzqf, vfwegiu 418 | misyfn (82) -> uixlx, oupzsh, bovno 419 | jtauf (13) -> xskehl, bmfhjm, srhirm, kjfmqkt, qzxaqvy 420 | eerktn (85) -> npjxq, kasfuwe, ljbss, theau 421 | ktaet (58) 422 | eeppf (19) 423 | vgqeyx (31) 424 | qhnaxuy (31) 425 | xrvbzya (35) 426 | nzqcq (66) -> vewgrvp, vfngjd, sjrxs, hvjtn, ecokyy, gcaxntb, omdlwm 427 | sybpano (99) 428 | ebsniof (39) 429 | urzul (9) 430 | srmiagk (292) -> dvdgowj, vqpeg, gjuekv 431 | uexdnv (82) 432 | pgspysb (40) 433 | wymfopy (93) 434 | nqhdt (164) -> mkwfj, gjwaqu, sxmbcwp 435 | twzpqip (41) 436 | bniti (66) 437 | yfjenp (295) -> qxfce, zsiziaa 438 | meoeea (60) -> laczal, tcvabyz 439 | heacb (53) 440 | focqhgt (238) 441 | dtstgj (36) 442 | kkmqko (7) 443 | vcjjo (98) 444 | nnnkeh (445) -> gzzpja, bhuyfk, xnukvni, tttle, snzfrer 445 | baesyhf (1013) -> tznkwk, hcjxz 446 | hygfoe (85) 447 | wtxbqe (87) 448 | vwzglf (58) 449 | hswrbpz (254) -> flcqsb, sbguah, cdcye 450 | axtqrx (29) 451 | auxvur (11) 452 | iqggu (444) 453 | kceusl (42) 454 | jykbb (91) 455 | nxzkuj (75) 456 | xzurwza (95) 457 | rrflox (52) 458 | kfmzbvk (10) 459 | mnkwo (212) -> jyskb, wfphcf 460 | dfvhic (82) -> fhmazv, hwctdr 461 | gfzbp (197) -> ymcuygn, mxzbcqn 462 | tlednk (39) 463 | lgenxz (54) 464 | emwbbut (9) 465 | exoft (17) 466 | woolxv (49) 467 | auxqbbc (87) 468 | wvocz (67) 469 | hvjtn (325) -> cverrt, kfxoi 470 | aunhcg (613) -> kjdoubx, ggnsa, acknlp 471 | absdwf (39) 472 | wajnxjj (40) -> imjzf, wwezydn 473 | hgdbaol (10) 474 | cfztpc (38) 475 | chlxm (46) 476 | ljbss (46) 477 | gauumxf (230) -> tkiraal, lyptirp 478 | nhlittn (22) 479 | gcaxntb (405) -> mdiqsgg, oxiuaz 480 | lfxew (66) 481 | bamxg (66) 482 | wdsiq (71) 483 | mykrcq (98) -> zcgrnt, raryuo, okrdziq 484 | erpvue (91) 485 | kmwbbz (93) 486 | vsgaam (7) 487 | hokyk (66) 488 | pjzpmq (38) 489 | iqovqp (20) 490 | mmcychg (65) 491 | guncf (259) -> proshun, wxjka 492 | jatnl (216) -> oavluo, phrxnli 493 | nhkvp (100) -> rgrxpe, nscav, illjvf 494 | hcjxz (31) 495 | mqrroj (243) -> jtjcj, dnmvzeg 496 | lvksghj (18) 497 | mhsjkm (84) 498 | popplum (89) 499 | vusxa (30) -> ieadjz, mzmtuw 500 | dmkbnot (26) 501 | httit (18) 502 | tbrfk (19) 503 | ztzwh (48) 504 | imjzf (97) 505 | rypdxr (105) -> qyoqb, lejgcu, djirpp 506 | qzckx (35) -> qzzkvf, pmsdv, gauumxf 507 | xbnmvd (76) 508 | ouymke (47) 509 | rajtef (365) -> iriun, ezaypy 510 | itngcua (65) 511 | orxoo (66) 512 | tcdwurt (18) 513 | auqoj (99) 514 | sqnvvbg (36) 515 | rxragg (18) 516 | kpqyb (258) -> sqkcdf, iqxwh, vnhvilk 517 | proshun (47) 518 | uscufoy (15) 519 | tpipb (61) 520 | owhjmt (155) -> vsruoi, ifxcrug 521 | bkvle (9) 522 | yosnw (32) -> ilymgq, yppydul, yamclb 523 | iynywq (66) 524 | nxpexoq (92) 525 | eviqjr (25) 526 | trbzi (11) 527 | rfvomn (95) 528 | ohbuhy (41) 529 | vkpltts (73) 530 | ktpte (9) 531 | bbgwzg (79) 532 | bgcigo (8) -> bruzfkf, lxcbjgy, vlmcmcu 533 | ecokyy (357) -> iaphzk, httit, vztnh, owmni 534 | jwgchxu (32) -> rfvomn, auzbdlz 535 | xlskkfi (92) 536 | uxjasn (36) 537 | dcumfo (73) 538 | wpnqet (87) 539 | ilqol (88) 540 | bhsbd (53) 541 | flcqsb (115) -> meypo, aphpzub 542 | yvqtyi (85) 543 | oyvhouc (37) -> cdpgoi, bbgwzg, xoziel, lfzahrm 544 | bjhickt (23) 545 | hmvwl (32) -> nswximo, tpphe, baewpe, hghnmib, kzltfq 546 | oiijtm (20) 547 | ylfsnz (93) 548 | imynb (146) -> absdwf, cikaze 549 | yygqky (82) 550 | yuswp (68) 551 | izppmg (60) 552 | itwbpot (22) 553 | hwosyg (42) 554 | mkrzp (211) -> laxsl, zirocl 555 | vqpeg (5) 556 | gddkqw (244) -> vhtyadn, lvksghj 557 | bhuyfk (79) -> aghdlll, ilqol 558 | yrfqaga (103) -> jqinti, zjaklmn 559 | bnfopv (118) -> cjmxed, zlzers, qrlggma 560 | welll (99) 561 | ehuzoq (77) 562 | nqyok (77) 563 | rrfbngi (21) 564 | yoezrpw (38) 565 | rpzaqc (47) 566 | qxlucvg (84) 567 | tehyhc (13) 568 | gqrfok (231) -> kfhnhm, aituccf, qrkhol 569 | zvnxfa (10022) -> aylmbfh, lwencl, pixjzh 570 | gzzpja (255) 571 | ofrwmq (205) -> iigvpqy, wweusm 572 | qanbo (50) 573 | obslyn (13) 574 | hwovhvw (915) -> qdhrchr, nahovfk, xomnhw, ycxzfkf 575 | smlfbc (1615) -> wnjwnr, pprhx, aiovxpk 576 | xbkeua (157) -> pgspysb, aemgsa, xfblj, hswzo 577 | btklib (51) 578 | owmni (18) 579 | qzzkvf (108) -> aobitc, tsrogy 580 | umtrod (22) 581 | vxajmkg (71) 582 | jmlmzpz (62) 583 | plurwe (228) 584 | jyskb (6) 585 | xnuoujm (16) 586 | nakmo (10) 587 | uzhlers (50) 588 | umlkxqv (20) -> ecimj, wudjf, jfmnsqg 589 | ziqwzzy (204) -> uscufoy, fooyrq 590 | ymrogz (272) -> ebsniof, tlednk 591 | lpuass (28) 592 | qrkhol (9) 593 | hpkpw (38) 594 | gtzcxq (73) 595 | gvjrx (35) 596 | ieadjz (95) 597 | tcukgv (66) 598 | ifxcrug (55) 599 | thxtoc (178) -> trtgn, fdnom 600 | puwvse (414) 601 | pvppi (246) -> qlwxeb, nuqyqh 602 | vcixs (260) -> noipcz, frohei 603 | cichyqw (71) 604 | ugvqayz (126) -> xfekjt, wvocz 605 | hrqzqqh (53) 606 | qedst (18) 607 | wnjtb (73) 608 | kjfmqkt (138) -> pzpjw, qpldch 609 | ussmw (94) 610 | sxmbcwp (35) 611 | dqdfv (73) 612 | ptyxo (13) 613 | upuxd (36) 614 | fppcif (209) -> uxslfay, yjhes 615 | kxykfr (82) -> twzpqip, qymwy 616 | yodoqn (72) 617 | mnzbkuh (28) -> jtouvtb, wdvwub 618 | omdpc (26) 619 | ccrftvw (62) 620 | bmfhjm (222) -> lyvyhkm, sbyxyf, kblshw 621 | fwgqj (1924) -> zmcgfdp, vzuqbye, rypdxr 622 | rlbom (79) 623 | livlj (54) 624 | ybvgki (8) 625 | zcvipz (97) 626 | xyohoxa (928) -> qkkzzlm, lmuyfcw, avycyh 627 | dchts (99) -> lctdjj, oevyknd 628 | ksfok (217) -> gfffvbp, ybvgki 629 | hoomyh (88) -> aaqdb, ljfqvk 630 | qijarlh (58) 631 | tznudmk (17) 632 | cyrrjtx (124) -> oqbdf, xwlmsqy, ulztj, rjsnth 633 | nuqyqh (52) 634 | oblsboq (85) 635 | imnhql (94) 636 | hxswghs (126) -> dwwsu, hdlqvlg, jppgd 637 | ulztj (25) 638 | hgwsl (50) 639 | ksvpnt (96) -> fqlezvk, lqcar 640 | mjpzp (10) 641 | fsaoa (89) -> dbwmq, uzufet, arwmalf, gobrf 642 | iftfc (159) -> thxtoc, jtzkva, tvwxmur 643 | zjpsm (83) 644 | vwfhi (9) 645 | opuaau (75) -> dqash, kqzemkv 646 | mxupea (45) 647 | dmkyzy (15) -> ttllx, horqcc, dcumfo 648 | sxllorg (69) -> kxvlprg, lzvniiz 649 | txhfuoh (219) -> lwdqnj, myhch 650 | chtlcwq (17) 651 | hlcbqu (104) -> ccrftvw, jmlmzpz 652 | ivmndi (94) 653 | lficpr (62) 654 | ortqc (99) 655 | dvzlq (33) 656 | acknlp (56) -> aozoac, ehuzoq 657 | jqxnf (60) 658 | hfftu (52) 659 | ihzvygq (94) -> kmwbbz, orrutjs 660 | rarkunn (73) 661 | hitoud (5511) -> vcktg, rqbjbio, xtyzy, ssdgbnh 662 | sdhtguj (58) -> uklsrym, mcmqliy, nnnkeh, clinrg, fwidkbp, hzmhm, xyohoxa 663 | hrlkgen (99) 664 | vuyzhsh (61) 665 | nzzfer (85) -> qcgxvx, ortqc, auqoj, ilfzi 666 | tuqmup (222) 667 | zbznuyf (137) -> ptyxo, qwtzc, neqfzm, hawsl 668 | qwtzc (13) 669 | vykqcnj (71) -> jitzj, nkhadt, tcsbho, fhxpkd, fwgqj, smlfbc 670 | mjzksjz (7) 671 | yfdtz (36) 672 | faixe (56) 673 | tejnuve (209) -> jgmisxl, dhkahb 674 | opohwq (31) 675 | lsknlg (95) -> vwzglf, hjucki, yrkvb 676 | fhmazv (76) 677 | egmfbdq (25) 678 | rxcnn (9) 679 | tboizos (250) 680 | glwhd (122) -> ceoav, troyu 681 | ykehxw (19) 682 | bruzfkf (91) 683 | rjjlus (87) 684 | ocnna (18) 685 | qshbt (73) 686 | raakduh (85) -> fuvru, vcjjo 687 | wudjf (85) 688 | ihwaeuw (60) 689 | kfxoi (52) 690 | oewzluz (39) 691 | coopirx (251) -> exuusj, rvimq 692 | cokzlht (29) 693 | uacjhqx (23) 694 | tznkwk (31) 695 | mthhq (111) -> uevcwul, nxpexoq 696 | uixlx (7) -> kmlwj, gaihmf 697 | nqvxs (71) 698 | ktjav (83) 699 | eknui (85) 700 | fhuiyrl (93) 701 | fktsu (65) 702 | vugnug (65) 703 | ilymgq (91) 704 | clinrg (1033) -> rsancy, jrqorlo, lvklj 705 | bkextqn (99) 706 | ekohgo (251) -> xxxqpkx, wkphn 707 | alkneau (34) 708 | mnijdlk (85) 709 | dyxsmz (38) 710 | mefxonk (50) 711 | lajidkr (37) 712 | uiuokpq (89) 713 | oupzsh (43) -> bzmade, bamxg 714 | cijptz (18) 715 | khibjj (89) 716 | yamclb (91) 717 | okrdziq (73) 718 | sbyxyf (8) 719 | zknziw (18) 720 | fobzai (75) 721 | rjsnth (25) 722 | iaphzk (18) 723 | lufgosn (10) 724 | rzkcu (34) 725 | xlhfyw (471) -> yuswp, limljj 726 | tcsbho (1842) -> mnmwzz, mnzbkuh, zpidc, cpqti 727 | docln (85) 728 | neeqb (7) 729 | tvcod (88) 730 | uklsrym (40) -> bbhniy, gddkqw, lhmnd, ihzvygq, nhkeb, wuxhvnx 731 | qkkzzlm (76) -> imnhql, nbeagw 732 | qywkuqu (20) 733 | fvgbg (191) -> iwkntdi, jdrdxu, sqnvvbg, yfdtz 734 | qlkslp (82) 735 | iqxwh (62) 736 | mdneq (623) -> uzhlers, qanbo, tedplb 737 | msmgk (173) -> fygmpjn, exoft 738 | euoclfs (241) -> pjzpmq, hpkpw 739 | vlimzz (19) -> yvqtyi, gwournc, docln, oblsboq 740 | zoqni (189) -> chlxm, yfmxvay 741 | oignan (206) -> hdaqxlh, fgbyre 742 | zpidc (40) -> bujroda, btklib 743 | aazxafl (215) -> xnmvtem, oafnfo 744 | yhubw (34) 745 | xneoi (138) -> vwfhi, cmqwplb 746 | vefzbc (138) -> dywqvqh, emwbbut 747 | ruozmjk (73) 748 | jrwfehi (75) -> kcnim, bdvtvcu, tfsoxgb, tboizos 749 | iivncbz (73) 750 | ccuarv (53) 751 | lrihy (185) -> vchsdif, bgcigo, raakduh, vlbba, igyiie, zoqni 752 | vewgrvp (73) -> dntphko, svayf, uiuokpq, popplum 753 | iigvpqy (66) 754 | fjduphn (91) 755 | uttujj (11755) -> glwhd, sxfilp, wcexum 756 | tluap (6) 757 | exeub (71) 758 | dzwol (61) 759 | ilfzi (99) 760 | cdpgoi (79) 761 | hxckb (71) 762 | yoxvx (85) 763 | theau (46) 764 | vwnjh (233) -> jqxnf, qfpwln 765 | jbpjt (27) 766 | zmsosb (14) -> rrflox, ovluts, rpfmi, ojvlwm 767 | yoivja (59) 768 | towlhi (36) 769 | zcrjb (253) -> qhohy, uwaiki 770 | josdslh (59) 771 | xoziel (79) 772 | fsuzqyz (169) -> duftj, ppqlc, kceusl 773 | chwjiub (96) 774 | fpbsu (89) 775 | qyoqb (19) 776 | dfeomzr (38) 777 | kfhnhm (9) 778 | oevyknd (56) 779 | buoakk (22) 780 | wduqgix (77) 781 | qokscr (65) 782 | oqbdf (25) 783 | jjsvfy (199) -> yoivja, gdnsat 784 | ssdgbnh (887) -> qtsjbq, plurwe, mhndszl, hlcbqu, pgskth, oignan 785 | lrsedv (213) -> eaqjcju, cekpxgj 786 | iwkntdi (36) 787 | qfgzmtz (73) 788 | rfwgtb (26) 789 | alcvj (7) 790 | bvdxf (30) 791 | ofisj (88) 792 | mpchqe (27) 793 | pwizhzr (62) 794 | wkcyd (75) 795 | mxzbcqn (81) 796 | npzdqeg (227) -> tufds, msxhvo, pcsucog 797 | illjvf (69) 798 | iyuuh (80) 799 | fygmpjn (17) 800 | dvdgowj (5) 801 | hlcghe (91) -> khibjj, kngbqid 802 | zvurtb (77) 803 | ouspx (46) 804 | dbvxai (76) 805 | facrq (13496) -> fkbla, ffvprc, yrfqaga, msmgk, hxswghs 806 | xbcgipi (66) 807 | wfhyr (37) 808 | ziyata (221) -> oqlpz, jjtrisl 809 | muncur (77) 810 | vlvss (183) -> odvtiti, fazqw 811 | kvdkwy (96) 812 | ddldgex (84) -> nqyok, wduqgix 813 | trtgn (87) 814 | jitzj (65) -> fvgbg, nbfqgr, zjwpbzs, lndaa, vlvss, gxjvj, zcrjb 815 | hkhoyje (95) -> frirj, iuhlc 816 | gtbbuvb (96) 817 | tfsoxgb (250) 818 | rohvy (95) 819 | qhohy (41) 820 | goimlra (227) -> orxoo, lfxew 821 | hubbqbi (95) 822 | vchuc (53) 823 | svkdyq (9559) -> akmgfo, lhradm, jtauf, aunhcg 824 | fazqw (76) 825 | flomey (39) 826 | apygt (17) 827 | wjptb (43) 828 | srhirm (147) -> bicsjoc, dvzlq, olykwbi 829 | wdeuy (254) -> hubbqbi, rohvy 830 | yeooycn (93) 831 | qoyzgsp (28) 832 | sqkcdf (62) 833 | rgbvlc (49) 834 | qinzaf (813) -> aooni, zoewj, ogzrdrk, umlkxqv 835 | kflize (84) 836 | isrtfc (201) -> vmutyru, ouymke 837 | nkhadt (292) -> fppcif, vwnjh, oyvhouc, ekvall, guncf, npzdqeg 838 | nbbyqsa (40) 839 | ikfpktb (97) 840 | maqgick (76) 841 | xtwdx (156) 842 | sbyzsq (10) 843 | vgubuy (74) -> iljwgzf, aihow 844 | taiho (59) 845 | cpndnx (11) 846 | vhtyadn (18) 847 | aaheijb (54) 848 | rykadr (19) 849 | onnylx (32) 850 | gukuqw (69) 851 | fooyrq (15) 852 | zqyua (52) 853 | vsruoi (55) 854 | ikmvhid (2745) -> hwovhvw, arsuc, yzrdupu 855 | vztnh (18) 856 | khaupo (32) 857 | cpqti (142) 858 | qtsjbq (126) -> wekya, rzkcu, alkneau 859 | pcsucog (42) 860 | lepja (61) 861 | ibjvonk (10277) -> xlhfyw, svhbd, misyfn 862 | rqbjbio (29) -> mqrroj, hjeysaa, wlujpl, vooac, rrggg, yfjenp 863 | ceuygh (90) -> aqxsjq, qxlucvg 864 | qzxaqvy (78) -> fwskxtt, jlgvplm 865 | fwskxtt (84) 866 | yrkvb (58) 867 | thdwfw (219) -> umtrod, nhlittn 868 | zpkbe (73) -> cwtdf, tozktyo, qcrpdy, axtqrx 869 | hjjkx (87) 870 | jxyoypa (9) 871 | ilkqp (40) 872 | akwvj (238) -> jatnl, iphgmyt, meoeea, gqrfok, ljhwzvv 873 | lkcddrg (2238) -> lqfyzo, rixnft, hkhoyje 874 | xprzeeb (19) 875 | rhodopg (94) -> qfgzmtz, dqdfv 876 | ttwfig (340) -> rykadr, ykehxw 877 | kueyf (85) -> ulbbc, nzzfer, azxjd 878 | zmcgfdp (136) -> tehyhc, obslyn 879 | ffnabs (20) -> guehoas, nnldikq, ofrwmq, lrsedv, qvkotfd, shfdaba 880 | arwmalf (143) -> vsgaam, bjabd, ycclns, kkmqko 881 | gyjpoco (85) 882 | drmyco (26) 883 | arqoys (1859) -> urzul, bkvle 884 | nscav (69) 885 | tsrogy (69) 886 | qhafxnl (1337) -> xbcskih, kpxqlr, algqhtz 887 | yiusa (86) 888 | zdbqs (43) 889 | xzppxad (58) -> ltxkw, ollhxuy, qinzaf, wpxxh 890 | dxyifeb (1862) -> twubx, lkcddrg, uwqgz, uvfyo 891 | zlzers (49) 892 | gkkgkp (358) -> wlpyulp, nakmo 893 | abddskq (50) 894 | tggkm (43) 895 | dgwcz (7) 896 | bhvmgw (29) -> qflouyn, pfphng 897 | guehoas (283) -> qedst, cijptz, zknziw 898 | marzlxh (51) 899 | mizab (60) 900 | jgkvfa (120) -> ocnna, tcdwurt 901 | jopjvd (80) -> dnouufu, wjptb 902 | lwdqnj (25) 903 | xpzhy (84) 904 | noipcz (59) 905 | bbhniy (20) -> itngcua, mmcychg, vugnug, fktsu 906 | jtjcj (64) 907 | tgdzl (53) 908 | gobrf (25) -> gtzcxq, lsdrwz 909 | arsuc (65) -> rbcqgqv, huwsoc, bnfopv, srqntb, vxdkej, owhjmt 910 | ogzrdrk (101) -> vztbn, wtxbqe 911 | oxbkwyr (91) 912 | yatfpqx (109) -> xrbjn, qywkuqu, thjulip, oiijtm 913 | jlgvplm (84) 914 | bcibchp (54) 915 | glgnecl (16) 916 | tqikxkp (222) 917 | bhcal (7) 918 | vmutyru (47) 919 | kzwqzqf (46) 920 | evhsybt (37) 921 | gdnsat (59) 922 | cikaze (39) 923 | jrqorlo (229) 924 | ovluts (52) 925 | nbfqgr (169) -> cdpwklz, zjpsm 926 | nbngkou (73) 927 | wslsg (31) 928 | aobitc (69) 929 | htgxu (24) 930 | wjolzt (46) 931 | hzgig (95) -> jrvbacq, rgbvlc 932 | ulbbc (217) -> bniti, jbepak, iynywq, xbcgipi 933 | wkphn (7) 934 | fkbla (207) 935 | jqinti (52) 936 | yhiogu (256) -> neusnw, tkpvf 937 | ebjsluk (39) 938 | shfdaba (76) -> wpnqet, rjjlus, pjiqvd 939 | anpnrdt (10) 940 | jdshuob (491) -> kywfqzv, zpkbe, cfhuce, mzmfygf 941 | vooac (341) -> lufgosn, sbyzsq, mjpzp 942 | frohei (59) 943 | baiaa (15) 944 | pyrlph (71) 945 | cgxsmq (25) 946 | ukvvt (39) 947 | gaujsyk (26) -> ktaet, yipoeia, qijarlh 948 | gnjvf (375) -> ajenoz, ripqyzr 949 | hghnmib (47802) -> vbhnmr, vustse, lybkeg, ikmvhid, oqphsw, xzppxad, gvkcsad 950 | yrcgsnx (270) -> qfypnb, dbvxai 951 | kwqrbav (34) 952 | wdvwub (57) 953 | viqhfi (89) 954 | akmgfo (243) -> zhvji, iphncut, oyxbblb, gaujsyk, ybftt 955 | faecnr (80) -> dfeomzr, yoezrpw 956 | xskehl (228) -> ubovv, omydd, tluap 957 | pdosfg (21) -> rlbom, lbjwlov, wgqkdcr 958 | tkiraal (8) 959 | aimav (46) 960 | ecimj (85) 961 | eikmns (83) 962 | fqlezvk (71) 963 | qrlggma (49) 964 | ztkgsyt (29) -> bfuywyg, uexdnv 965 | tedplb (50) 966 | cvrcvgp (86) -> zvurtb, dkcix 967 | bckuyxm (11306) -> eyyzy, jrwfehi, baesyhf 968 | ffvprc (65) -> vxajmkg, cichyqw 969 | jjtrisl (81) 970 | vantwg (46) 971 | vlmcmcu (91) 972 | qdhrchr (89) -> dhwauy, uqlso 973 | ceoav (29) 974 | bhrbod (50) -> oxbkwyr, erpvue, zhrnwk, mhjtjp 975 | yxseri (24) 976 | kzbvrxk (10) 977 | kcnim (76) -> zjoxibi, auxqbbc 978 | ltxkw (30) -> eerktn, nqhdt, jjyjrtr, bfchbs, redqvw, mkrzp, nymguj 979 | rrggg (371) 980 | uwqgz (1923) -> torxqh, zmlth, lnctft 981 | dbwmq (117) -> bmecxwd, lcrwbqi 982 | kasfuwe (46) 983 | btbxk (755) -> xajjyba, kxykfr, rymkqd 984 | njxyw (47) 985 | fvlfq (94) 986 | zhvji (162) -> cpazlc, mluykm 987 | aozoac (77) 988 | chnkkj (86) -> tfmtk, hddzn 989 | dkcix (77) 990 | lxcbjgy (91) 991 | mofks (30) 992 | yzrdupu (719) -> wajnxjj, dfvhic, dmkyzy, ziqwzzy 993 | wxjka (47) 994 | xitzb (52) 995 | rvimq (7) 996 | qddsx (30) 997 | lvklj (97) -> ydbri, tcukgv 998 | sjforw (208) -> alcvj, neeqb 999 | yjvgwdl (91) 1000 | fhxpkd (261) -> kauphp, zdhvqrl, rhnkdt, nhkvp, tejnuve, olspit, srmiagk 1001 | eaqjcju (62) 1002 | ybftt (122) -> oewzluz, ebjsluk 1003 | jgmisxl (49) 1004 | hdaqxlh (11) 1005 | cjmxed (49) 1006 | aqxsjq (84) 1007 | cekpxgj (62) 1008 | tetmzw (121) -> ozatmpe, qbmtmcs 1009 | mqmbcl (96) 1010 | xtyzy (155) -> yhiogu, iphzyj, pvppi, tojyt, krxyaak, ymrogz 1011 | drwfop (48) 1012 | pgskth (86) -> hxckb, lxesg 1013 | pvgzz (72) 1014 | kunzpa (687) -> tadnt, cupsjm, hoomyh 1015 | nhkeb (252) -> caryo, bhcal, mjzksjz, ufitse 1016 | cncak (182) -> qoyzgsp, lpuass 1017 | aituccf (9) 1018 | qfpwln (60) 1019 | laxsl (29) 1020 | yzxzo (38) 1021 | lnctft (116) -> zgevpxx, scchi 1022 | lyvyhkm (8) 1023 | vcktg (1556) -> ztghd, imihjj, ksfok 1024 | dzbrgb (75) 1025 | xbcskih (85) -> fobzai, nxzkuj 1026 | jtouvtb (57) 1027 | ufitse (7) 1028 | upwlxnb (7) 1029 | jysaup (78) 1030 | ysgsry (228) -> glgnecl, xnuoujm 1031 | horqcc (73) 1032 | vfsttaj (27) 1033 | gvkcsad (5412) -> ghsjtj, dgnjf, ziyata, rajtef, kqlsniq, vqclii 1034 | lbjwlov (79) 1035 | vnhvilk (62) 1036 | dntphko (89) 1037 | syzlt (6183) -> tifgptk, iwhqlr, akwvj, kueyf 1038 | hzmhm (1087) -> rvrlma, dchts, emzrj 1039 | neusnw (47) 1040 | vfzby (50) 1041 | cecsr (59) 1042 | uwaiki (41) 1043 | msxhvo (42) 1044 | fgjwz (113) -> qwzmv, xehdglb, kgpwo 1045 | lmuyfcw (164) -> hrovawq, hacwv 1046 | zjoxibi (87) 1047 | viwns (17) 1048 | olykwbi (33) 1049 | meypo (29) 1050 | sbguah (49) -> vlfouc, lficpr 1051 | oyxbblb (92) -> towlhi, fndxl, uxjasn 1052 | bzmade (66) 1053 | lfpzff (238) -> bdinafh, kfmzbvk 1054 | epuaii (88) -> ckheb, kwqrbav 1055 | dwwsu (27) 1056 | xnukvni (207) -> htgxu, lwvnbzs 1057 | zhrnwk (91) 1058 | vfngjd (325) -> hfftu, nymhem 1059 | vztbn (87) 1060 | kxnkbs (19) -> tpipb, vuyzhsh, vapwxei, wbxdta 1061 | bmecxwd (27) 1062 | nymguj (123) -> vkpltts, mbhld 1063 | qlwxeb (52) 1064 | kfrti (10) 1065 | xcvxle (106) -> qddsx, bvdxf 1066 | wbesqn (99) 1067 | kblshw (8) 1068 | qymwy (41) 1069 | ezaypy (9) 1070 | dnouufu (43) 1071 | cyapi (227) -> rothisa, hokyk 1072 | itbsk (30) 1073 | alqim (42) 1074 | hjeysaa (251) -> mofks, itbsk, njogewi, ldfopw 1075 | ljfqvk (44) 1076 | iueejt (5) -> rgfndsx, bhrbod, puwvse 1077 | knzppj (81) -> hrlkgen, nsfsj, wbesqn 1078 | wnjwnr (197) -> hnyqq, oajawn 1079 | xtwdau (77) 1080 | dmeee (93) 1081 | qxfce (38) 1082 | pcqyagx (15) 1083 | bicsjoc (33) 1084 | eeguu (78) 1085 | wbxdta (61) 1086 | gjwaqu (35) 1087 | mzmtuw (95) 1088 | huwsoc (173) -> ouspx, wjolzt 1089 | spdhhoe (167) -> chwjiub, kvdkwy 1090 | hhmwlo (56) 1091 | icgwppo (84) --------------------------------------------------------------------------------