summaryrefslogtreecommitdiffstats
path: root/Day 1
diff options
context:
space:
mode:
Diffstat (limited to 'Day 1')
-rwxr-xr-xDay 1/Day_01.swift39
-rw-r--r--Day 1/Day_01_input.txt4510
2 files changed, 4549 insertions, 0 deletions
diff --git a/Day 1/Day_01.swift b/Day 1/Day_01.swift
new file mode 100755
index 0000000..b2a77f4
--- /dev/null
+++ b/Day 1/Day_01.swift
@@ -0,0 +1,39 @@
+#!/usr/bin/swift
+import Foundation
+
+guard CommandLine.arguments.count >= 2 else {
+ fatalError("Usage: ./Day_01 <input.txt>")
+}
+
+let moves = try! String(contentsOfFile: CommandLine.arguments[1], encoding: .utf8)
+ .split(separator: "\n")
+ .compactMap { line in
+ guard let first = line.first,
+ let magnitude = Int(line[line.index(after: line.startIndex)...])
+ else { fatalError("L13 : [ERROR] Failed to read magnitude error") }
+ let sign = (first == "R" ? 1 : -1)
+ return sign * magnitude
+ }
+
+var dialValue = 50
+var count = 0
+for move in moves {
+ dialValue = ((dialValue + move) % 100 + 100) % 100
+ if dialValue == 0 {
+ count += 1
+ }
+}
+print("=======Part 1=======\n\(count)")
+
+dialValue = 50
+count = 0
+for move in moves {
+ let magnitude = abs(move)
+ let effectivePosition = move > 0 ? dialValue : (100 - dialValue) % 100
+ count += (effectivePosition + magnitude - 1) / 100
+ dialValue = ((dialValue + move) % 100 + 100) % 100
+ if dialValue == 0 {
+ count += 1
+ }
+}
+print("=======Part 2=======\n\(count)") \ No newline at end of file
diff --git a/Day 1/Day_01_input.txt b/Day 1/Day_01_input.txt
new file mode 100644
index 0000000..2779a6b
--- /dev/null
+++ b/Day 1/Day_01_input.txt
@@ -0,0 +1,4510 @@
+R46
+L12
+R1
+R12
+R41
+R10
+L45
+R32
+R6
+R31
+R46
+L18
+L33
+R19
+R38
+L32
+R39
+L14
+L33
+L35
+R14
+R20
+L49
+R37
+L25
+R26
+L37
+L30
+R25
+L2
+R43
+R16
+L26
+R30
+R9
+L36
+R38
+L37
+R41
+R5
+L39
+R41
+R9
+L43
+L27
+R22
+R28
+R49
+L33
+R83
+L1
+R50
+R50
+L19
+R74
+R28
+L60
+L34
+R84
+R65
+L96
+L95
+L36
+R7
+R43
+L46
+R7
+L22
+L13
+R80
+L72
+L12
+L23
+L60
+L24
+R69
+R55
+R74
+L14
+L69
+L49
+L1
+L41
+R58
+L40
+R51
+L56
+R87
+L70
+R80
+R55
+R35
+R4
+L99
+L5
+L53
+R27
+L97
+L51
+L88
+R69
+R17
+R66
+L81
+R91
+R89
+L89
+L513
+R94
+R19
+R99
+L99
+L82
+L26
+R440
+L32
+R580
+R959
+L930
+L9
+R76
+L6
+L34
+L612
+L24
+L593
+L7
+R38
+R62
+L66
+R45
+L24
+R14
+R731
+R79
+R19
+R190
+R720
+L43
+L26
+R861
+L863
+L15
+L22
+R67
+L67
+L37
+L485
+R252
+R70
+R10
+L93
+L17
+R36
+R4
+L79
+L955
+R156
+L40
+L22
+L311
+R9
+L82
+L97
+R94
+L58
+L55
+R895
+R53
+L73
+L25
+R734
+L62
+L489
+L33
+L55
+L61
+R356
+R81
+R54
+R847
+L866
+R46
+L42
+L66
+L94
+R180
+R89
+R58
+R425
+L62
+L90
+R23
+R76
+L99
+R61
+R39
+R80
+L21
+R41
+R62
+R85
+L471
+L40
+L80
+L40
+R27
+R57
+L36
+L31
+L95
+L285
+L85
+R32
+L37
+R56
+L392
+R594
+L74
+L59
+R911
+R1
+R43
+L18
+R912
+R863
+L20
+L80
+R87
+L596
+R9
+L69
+L64
+R70
+R98
+L38
+R85
+L26
+L6
+R53
+R97
+L81
+L43
+L70
+L86
+L11
+L25
+R41
+L8
+R383
+R35
+L67
+L90
+L78
+L35
+L65
+R94
+R6
+R60
+R40
+R51
+L84
+R38
+L543
+L72
+R88
+L87
+R9
+L37
+R237
+L67
+R301
+L15
+R81
+L58
+R31
+R2
+L1
+L61
+R38
+R349
+L72
+R72
+R578
+R362
+L40
+R81
+R19
+R54
+L48
+L77
+R71
+R73
+L473
+R110
+R90
+R51
+L51
+R53
+L796
+R43
+R99
+L555
+R204
+R52
+R93
+R7
+R55
+R45
+L218
+L82
+L449
+L70
+R50
+R969
+L665
+L28
+R99
+R51
+R43
+R70
+L19
+R45
+L30
+R434
+R62
+L712
+L50
+R190
+R47
+L341
+L196
+R852
+L54
+L65
+R36
+L69
+R83
+L93
+L190
+L807
+R7
+L2
+R2
+R5
+R82
+L26
+R39
+R95
+R85
+L80
+R11
+R89
+L89
+L25
+R14
+L53
+L218
+R70
+R44
+L32
+L786
+R87
+L33
+R21
+L483
+L17
+L81
+L70
+L40
+L611
+L93
+L5
+R49
+R51
+L61
+L57
+R18
+R62
+R53
+R85
+R40
+L17
+R506
+L49
+L243
+R63
+L49
+R96
+L31
+R52
+L80
+L71
+L44
+R27
+R1
+L1
+R89
+L589
+R40
+L85
+R45
+L25
+L91
+L84
+R43
+L55
+L49
+R993
+L38
+R6
+L47
+L1
+L82
+R32
+L2
+L723
+R48
+R94
+R18
+L863
+L826
+L44
+L4
+R7
+R93
+R78
+R30
+L71
+L37
+L651
+L79
+L58
+R576
+L610
+R22
+R77
+L77
+R430
+R99
+L530
+R5
+L4
+L305
+L95
+L863
+L81
+R44
+L836
+L91
+R12
+R15
+R38
+R689
+L86
+R59
+L27
+R63
+R64
+R67
+R33
+R27
+R264
+R130
+R579
+L95
+L459
+L46
+R411
+L21
+R15
+R1
+L806
+L77
+R85
+L3
+L5
+L654
+R54
+L64
+L285
+R73
+L65
+R41
+R29
+L146
+R417
+L62
+L82
+R32
+R374
+R26
+L457
+L23
+L10
+R34
+R68
+L37
+R33
+L15
+L97
+L40
+L58
+L28
+L9
+L27
+R37
+R8
+R711
+R22
+L373
+L27
+L94
+R21
+L35
+L92
+R33
+L85
+R552
+R17
+L65
+R309
+R39
+L903
+R63
+R83
+R41
+L56
+R10
+R62
+L270
+L22
+R157
+L35
+L30
+L11
+R49
+L5
+R967
+R94
+R46
+L740
+R77
+R23
+L12
+L15
+R27
+R4
+L630
+L16
+L26
+R68
+L50
+L556
+R6
+R639
+R630
+L98
+L71
+R21
+L21
+R75
+R53
+L84
+R56
+R86
+R14
+R55
+L57
+R4
+R98
+L30
+R20
+R10
+R98
+R5
+R56
+R207
+R34
+L7
+R7
+L19
+R92
+L242
+R43
+L19
+R3
+L27
+L31
+L16
+R17
+L48
+R92
+L11
+R32
+L12
+L64
+R10
+L86
+L414
+R676
+L76
+L27
+R16
+R12
+R99
+L83
+L7
+R90
+L82
+L5
+R83
+R30
+L26
+L51
+L594
+R719
+L74
+L7
+L493
+L99
+L44
+L68
+L772
+R83
+L36
+L76
+L28
+R89
+L35
+L44
+L350
+L78
+L45
+R77
+R78
+L52
+L73
+L27
+L73
+R34
+L32
+R57
+L86
+L43
+L4
+L28
+R75
+L4
+R98
+R57
+L51
+R55
+L38
+R83
+R65
+R95
+R40
+L89
+L16
+L44
+L41
+L23
+L987
+R65
+L208
+R198
+L55
+R52
+R36
+R40
+L72
+R44
+R48
+R20
+L68
+R2
+L78
+R96
+R62
+L77
+L305
+R146
+R17
+L63
+L3
+R10
+R693
+L78
+L59
+R5
+R32
+L91
+L34
+R25
+L185
+R15
+L78
+L79
+R69
+R58
+R88
+R12
+R94
+R45
+L91
+R47
+L663
+R868
+L759
+L97
+R60
+R64
+L68
+R87
+R13
+R67
+R92
+R1
+R42
+L402
+R3
+R4
+R90
+L13
+R16
+R89
+R6
+L795
+L26
+L91
+R17
+R88
+R12
+R96
+L96
+R81
+R76
+R43
+L84
+R84
+R96
+L50
+R6
+L15
+L911
+L60
+L66
+L832
+R68
+L36
+R60
+R40
+L753
+R73
+L15
+L71
+R484
+R517
+R66
+R476
+L77
+R22
+R78
+R20
+R2
+L722
+L32
+R41
+L328
+L23
+R42
+L97
+R735
+L807
+R81
+R88
+R58
+R179
+R42
+L79
+L68
+R68
+R1
+L42
+R71
+R72
+R95
+L53
+R56
+L48
+L52
+R449
+R51
+L30
+L70
+R25
+L77
+R52
+R65
+R228
+L93
+R64
+R476
+R46
+R59
+R69
+R45
+R21
+R51
+L16
+L224
+L80
+R301
+R88
+R385
+L30
+R22
+L39
+L38
+L75
+R175
+L74
+L486
+L40
+L1
+R1
+L61
+L72
+L367
+R54
+R46
+R89
+L4
+R15
+L63
+R67
+R62
+R34
+R12
+R95
+R93
+R36
+L95
+L3
+R77
+R29
+R71
+L15
+L581
+R53
+R528
+L20
+L80
+L98
+R98
+R55
+L555
+L866
+R51
+R15
+R899
+L399
+R5
+L758
+L28
+R82
+L401
+R51
+L45
+L6
+L14
+R40
+L253
+L473
+R50
+R150
+R11
+R80
+R612
+R833
+L712
+L89
+R30
+R60
+R75
+L4
+L66
+R22
+R68
+L56
+L93
+L11
+R340
+L926
+R212
+L36
+R51
+L959
+R65
+R93
+L37
+L63
+R12
+L62
+R92
+R20
+R38
+R887
+R13
+R92
+R34
+R818
+L196
+R52
+R6
+L6
+L72
+R19
+R94
+L41
+R413
+L67
+R54
+R719
+L41
+R22
+R96
+L796
+R64
+L84
+L22
+L58
+R56
+L314
+R284
+L194
+L85
+R49
+L896
+R42
+R95
+R63
+L305
+R98
+L42
+R49
+L936
+L10
+L47
+R27
+R66
+L48
+R48
+R34
+R45
+R67
+R54
+L98
+L57
+L66
+R21
+L12
+L577
+L74
+R863
+R66
+R98
+L29
+R420
+L255
+R81
+R53
+L34
+L24
+R226
+R21
+L30
+L43
+L429
+R921
+L23
+L19
+L59
+R57
+L3
+L595
+R111
+R68
+L79
+R1
+L703
+R2
+L5
+L40
+L10
+L79
+L66
+L310
+L90
+L66
+L8
+L44
+R6
+L31
+R43
+R14
+R86
+R79
+L438
+R59
+R81
+R83
+L894
+L3
+L99
+L841
+R92
+R623
+L151
+R77
+R32
+L64
+L99
+L8
+L29
+L85
+R97
+R49
+L61
+L56
+R32
+L76
+L36
+R36
+R474
+R26
+L825
+R67
+L49
+R7
+R51
+L12
+L83
+L9
+L77
+L62
+R92
+L73
+L706
+R19
+L55
+R70
+L72
+L83
+L38
+L58
+L804
+L692
+R92
+R54
+R27
+L876
+R607
+R49
+L9
+R38
+R819
+R48
+L57
+L188
+R88
+R26
+L26
+L76
+R72
+R22
+R97
+L22
+R596
+L70
+R81
+L37
+L33
+R26
+L43
+R87
+R67
+L55
+R107
+L73
+R54
+R17
+R81
+L41
+L57
+R49
+L42
+R293
+R85
+L85
+R25
+R832
+R65
+L48
+L99
+L96
+L79
+R93
+R79
+R30
+L183
+L36
+L22
+L29
+R845
+L25
+R637
+R11
+R15
+L43
+R28
+R99
+R28
+R19
+R28
+R326
+L76
+L924
+R61
+R50
+L27
+R16
+R757
+R373
+L30
+R57
+R68
+R72
+L811
+R47
+L12
+L21
+L56
+L541
+R7
+L10
+L211
+L89
+R67
+R25
+R80
+R38
+L17
+R85
+R61
+R95
+R66
+L319
+R61
+L2
+R960
+L89
+R71
+R19
+R20
+L21
+L186
+R47
+R39
+R71
+R14
+R15
+L26
+R84
+L58
+L51
+L49
+L99
+L1
+L65
+L135
+R27
+L827
+L47
+L321
+L32
+L79
+L29
+L34
+R96
+L54
+R63
+R2
+L44
+R181
+R982
+L78
+L6
+L72
+R69
+R603
+L19
+R19
+R41
+L73
+R465
+R20
+L69
+R590
+R93
+R6
+R12
+L9
+L84
+L389
+R97
+R494
+L88
+L106
+L21
+L79
+R11
+R33
+L439
+R612
+L90
+R73
+L675
+L87
+R65
+L36
+L67
+R66
+L96
+L388
+L89
+R6
+L99
+R71
+R982
+L9
+L533
+L111
+L37
+R923
+L72
+R86
+R16
+R33
+L72
+L67
+R90
+L42
+R4
+R735
+R9
+R94
+L4
+L96
+L36
+R31
+R20
+R37
+L452
+L63
+L40
+L88
+R88
+L82
+R92
+L7
+R35
+R27
+R51
+R87
+R45
+R29
+L74
+R311
+R89
+L62
+R94
+L37
+L95
+R545
+R14
+R41
+R82
+L82
+L55
+L345
+R1
+L59
+R238
+L30
+R50
+R275
+L66
+R90
+L56
+R99
+L188
+R829
+R17
+L421
+R21
+R46
+R68
+R13
+R49
+R424
+R93
+R7
+R74
+L974
+L93
+R81
+L94
+L66
+L26
+R40
+R58
+R23
+R18
+R59
+R43
+L46
+R63
+L81
+R21
+L62
+R62
+R697
+L97
+R80
+L766
+R45
+L59
+R291
+R9
+L68
+R58
+L94
+R50
+R718
+L35
+L29
+L73
+R581
+L708
+R88
+R12
+R73
+L77
+R81
+R97
+L542
+R17
+R1
+L94
+L56
+L48
+L57
+R5
+L9
+R20
+L763
+L56
+L24
+L368
+L22
+L40
+R62
+R30
+R70
+L51
+R33
+L82
+R75
+L60
+L70
+R3
+L61
+R613
+R792
+R108
+L37
+R37
+L69
+R34
+R835
+R67
+R33
+L157
+L43
+R816
+L44
+L72
+R58
+L58
+R28
+L3
+L72
+L73
+L80
+L26
+L39
+L81
+L754
+L96
+L85
+R50
+L258
+L27
+R16
+L84
+R12
+R672
+L99
+R230
+R70
+R99
+L83
+R583
+L82
+L14
+R96
+R343
+L577
+R93
+R41
+L894
+R28
+R66
+R76
+L76
+L677
+L23
+L35
+L41
+R98
+L103
+L688
+R18
+R34
+R82
+R46
+L11
+L14
+L5
+L81
+R35
+L53
+L82
+L5
+L44
+L37
+L64
+L17
+L87
+L46
+R876
+R224
+L799
+L63
+R62
+L65
+L65
+L70
+R46
+R24
+R30
+L63
+L24
+R387
+L71
+R71
+L94
+L36
+L70
+L32
+L77
+L762
+L29
+L17
+R225
+L32
+R96
+L72
+R77
+R16
+R7
+L51
+R445
+R6
+L32
+L77
+R9
+L5
+L95
+R20
+L59
+L18
+L32
+L329
+L723
+R41
+L69
+L12
+R922
+L67
+L950
+R476
+R27
+R173
+R83
+L962
+L56
+R59
+R60
+R513
+L97
+R70
+R54
+L24
+R416
+R484
+R57
+R21
+R22
+L57
+R71
+R686
+R93
+L616
+R747
+R81
+L323
+R418
+R32
+R97
+R28
+R460
+L58
+R73
+L26
+L6
+R6
+L21
+R76
+L286
+R629
+L4
+L52
+R10
+R87
+R55
+R55
+L76
+L26
+L35
+R82
+R715
+R85
+R78
+L34
+L27
+L8
+R26
+L35
+R93
+R7
+R48
+R62
+R84
+L94
+R96
+L89
+L29
+R2
+L80
+R933
+L33
+L59
+L77
+R111
+R25
+R76
+L76
+R56
+L37
+R84
+R97
+L25
+L79
+R4
+R92
+R96
+L67
+R42
+R46
+R28
+L37
+R29
+L29
+R34
+R93
+R19
+R84
+R770
+L56
+R689
+L74
+L1
+R42
+L72
+R72
+L609
+R945
+R15
+R49
+R8
+R492
+R58
+R42
+R470
+R34
+R17
+R94
+R5
+R4
+R82
+L85
+L62
+R41
+R37
+R63
+L50
+R17
+R41
+R92
+R995
+R5
+L63
+R63
+R23
+L41
+R55
+L601
+L40
+L14
+L87
+L221
+R24
+R49
+R712
+L359
+L28
+R28
+L844
+R79
+R90
+R75
+L46
+L64
+L14
+R97
+L655
+R90
+L20
+R12
+R79
+L1
+L78
+R72
+L99
+L1
+R602
+L19
+R72
+R8
+L78
+L36
+R87
+L23
+R23
+L408
+R57
+R590
+R66
+R339
+R53
+L5
+L90
+L6
+L76
+R31
+R854
+L13
+R43
+L65
+R122
+L592
+L75
+L61
+L82
+L90
+R86
+L86
+R64
+R97
+L57
+R44
+L88
+L94
+R279
+L10
+R13
+R56
+R12
+R84
+R59
+L75
+L84
+R80
+R20
+L18
+L1
+L267
+R786
+L197
+R597
+R10
+L99
+R89
+L19
+L81
+L877
+L23
+L35
+R82
+L47
+R37
+R63
+R43
+R57
+R38
+R62
+R36
+R52
+L9
+R321
+R92
+R73
+R53
+L37
+R19
+R36
+L36
+R121
+R665
+L621
+R92
+L57
+L52
+R86
+R72
+R12
+R358
+L809
+L6
+R39
+R11
+L52
+R95
+R95
+L12
+R33
+R30
+R53
+R41
+R10
+R96
+L87
+L13
+L33
+L90
+L77
+L89
+L11
+R51
+R43
+L45
+L92
+L857
+L86
+L82
+L29
+L26
+R1
+R507
+R94
+L90
+L89
+L55
+L3
+L62
+R20
+R36
+R164
+L14
+R62
+L42
+L27
+L56
+L50
+R27
+L47
+R32
+L11
+R64
+L738
+L41
+R518
+R67
+L16
+L28
+L451
+L264
+R15
+R57
+L398
+L705
+R481
+L35
+L23
+R58
+R6
+R88
+R79
+R92
+L99
+L94
+L24
+L58
+L20
+L63
+L42
+R95
+L42
+R92
+L999
+L85
+R362
+L23
+L23
+R82
+R41
+R79
+R21
+R720
+L43
+L530
+R8
+R45
+L3
+R3
+L66
+L34
+R727
+R509
+R93
+L29
+R97
+R61
+L58
+R82
+R32
+R29
+R57
+L13
+L87
+R385
+L23
+L408
+R46
+R59
+L59
+L23
+R521
+R46
+R54
+R902
+L634
+L75
+R9
+R655
+L29
+L30
+R93
+R84
+R66
+L540
+R10
+R91
+L910
+R97
+R46
+L33
+L2
+L60
+L93
+L45
+R73
+R27
+R20
+L720
+L90
+R90
+L76
+L655
+R31
+L2
+L498
+R41
+R71
+L12
+R378
+R222
+R37
+R98
+R26
+L61
+L490
+L10
+L66
+R66
+L48
+R82
+L41
+L393
+L52
+R652
+R483
+L83
+R75
+L788
+R38
+L62
+R37
+R56
+R71
+L21
+R19
+R75
+R92
+L17
+L75
+R44
+R356
+L95
+L5
+L140
+L52
+R41
+R43
+R78
+L13
+R64
+R73
+L994
+R861
+L7
+R46
+L842
+L406
+L15
+R863
+L812
+R3
+L26
+R35
+L15
+R15
+R87
+L29
+L54
+L95
+L9
+L5
+R423
+R38
+L18
+R701
+R61
+L20
+R20
+R11
+R61
+L225
+R78
+R17
+L43
+L32
+L64
+R372
+L75
+L41
+R94
+R47
+L11
+L89
+L87
+L59
+R46
+R127
+L676
+R48
+R1
+L268
+R68
+L54
+R76
+L22
+L52
+L53
+R906
+R99
+L82
+R382
+R87
+R13
+R806
+R36
+R78
+L20
+L762
+R62
+L66
+L34
+R49
+R51
+L65
+R65
+L21
+L62
+R32
+L770
+R98
+L723
+L543
+R89
+L47
+L53
+L59
+R12
+L53
+R85
+L945
+L82
+R27
+L58
+L97
+L883
+R53
+R21
+L62
+R526
+R15
+L89
+L30
+R365
+R70
+L16
+R142
+L89
+L88
+R35
+R24
+R776
+R21
+L38
+L83
+L21
+R22
+L60
+R53
+L613
+L81
+R569
+L33
+R64
+R89
+L64
+R64
+R11
+R64
+L64
+R15
+R96
+L35
+L85
+R9
+L29
+L61
+L83
+R36
+L14
+L64
+R15
+R16
+L204
+L408
+L4
+R21
+L11
+R690
+L23
+R423
+R376
+L446
+L45
+R15
+L65
+R7
+L2
+L48
+L92
+L54
+R33
+L53
+R41
+R33
+R2
+L69
+R933
+L66
+L20
+R90
+R20
+R310
+L893
+L56
+L63
+L57
+R57
+R41
+R10
+R61
+L65
+R98
+R25
+R41
+L57
+R82
+L124
+R57
+L5
+R24
+R85
+L24
+L80
+R212
+R28
+L97
+L4
+R12
+R41
+L49
+R795
+R5
+L31
+L8
+R88
+R92
+R16
+L157
+L92
+R71
+L79
+L352
+R45
+R45
+L38
+R83
+L61
+R78
+R64
+L64
+L41
+L59
+R247
+R53
+L80
+L20
+L23
+R89
+R34
+L323
+R723
+L799
+R75
+R50
+R40
+R9
+L807
+R36
+R56
+R40
+R590
+R88
+R9
+R13
+L38
+R38
+R20
+R76
+R2
+R2
+R32
+L38
+L194
+R77
+R14
+R94
+L85
+L8
+R58
+R2
+R25
+R23
+R86
+L32
+R85
+L3
+L91
+L45
+R75
+R27
+L50
+R9
+L61
+L32
+R94
+L762
+R42
+L33
+R47
+L56
+L91
+L9
+L13
+L87
+L88
+R688
+L94
+L36
+R71
+R82
+R77
+R24
+L205
+R15
+L34
+R69
+L90
+R18
+L14
+L92
+L43
+R52
+R66
+R175
+L26
+L15
+L18
+R46
+R66
+R24
+L18
+R91
+L54
+L84
+L2
+R534
+R82
+L185
+L6
+L48
+L28
+R8
+R292
+R88
+R516
+R76
+R132
+L87
+R75
+L22
+L66
+R55
+L67
+L36
+L56
+R92
+L83
+R98
+L24
+R62
+R71
+R44
+L68
+R52
+L48
+R3
+R93
+R68
+L68
+R95
+R69
+L951
+L69
+R56
+L482
+R82
+R34
+R59
+R507
+L47
+R94
+R63
+L49
+R39
+R55
+L444
+R89
+R5
+R95
+R44
+L33
+L11
+L311
+L89
+L63
+R75
+L49
+L88
+L98
+L549
+L533
+R5
+L54
+R94
+R60
+R63
+L563
+R77
+R23
+L44
+L42
+R886
+L51
+R51
+R967
+L67
+R71
+R73
+L548
+L23
+L19
+L61
+R7
+R52
+R31
+R18
+L39
+R77
+R4
+R6
+L81
+R29
+L476
+L979
+L42
+L90
+R90
+R843
+R74
+L83
+L34
+L668
+R50
+R462
+R53
+R3
+R679
+R821
+L238
+R67
+R11
+L30
+R56
+L73
+L410
+R91
+L95
+R21
+L87
+L35
+R90
+L52
+L17
+L27
+R28
+R53
+L33
+R702
+R78
+R614
+L52
+R59
+L6
+R85
+R56
+R58
+R32
+L94
+L82
+R629
+L603
+L96
+L54
+R43
+R11
+R15
+R85
+L35
+L65
+L13
+R74
+R88
+L349
+R83
+L74
+L83
+R74
+L93
+R61
+R83
+L52
+L99
+L83
+R15
+R38
+L759
+L711
+R54
+R46
+L301
+L99
+L32
+L548
+R22
+L39
+R24
+L7
+L58
+R32
+L94
+R309
+R80
+L89
+R47
+R53
+L49
+L51
+L91
+L429
+L80
+R72
+L45
+R935
+R30
+R638
+R372
+R98
+L94
+R74
+L93
+L663
+L73
+L51
+R444
+L799
+L61
+R43
+L35
+L18
+R68
+R25
+L524
+L41
+L2
+R61
+R51
+R55
+L67
+L755
+L945
+R52
+L60
+L42
+R80
+R167
+L119
+L278
+R94
+L92
+L77
+R51
+R84
+L19
+R10
+L51
+L95
+L59
+L46
+L79
+L54
+L34
+L33
+R69
+L175
+L410
+R61
+R11
+L56
+L34
+R878
+L56
+R65
+L43
+R90
+R89
+L89
+L5
+L56
+L7
+L756
+R71
+R53
+R441
+R59
+L114
+L47
+R33
+R72
+R856
+R6
+L320
+L86
+L202
+L62
+L36
+R78
+L78
+R23
+L915
+L91
+L17
+L70
+R11
+R59
+L42
+L51
+R17
+L26
+L798
+R49
+R997
+R87
+R28
+L84
+L10
+L12
+L55
+L753
+R553
+R75
+L69
+R649
+L55
+R79
+R21
+L57
+R41
+L84
+R38
+R18
+R434
+L190
+R41
+L41
+L140
+R75
+R65
+R50
+L50
+R71
+R59
+L619
+R43
+R94
+L43
+L95
+R3
+R248
+R39
+R38
+L33
+R95
+L90
+R20
+L30
+R404
+R96
+L59
+L12
+L629
+L48
+L854
+R97
+R54
+L46
+R97
+L39
+L90
+R6
+L77
+R2
+R11
+R39
+L287
+R735
+R99
+R76
+R925
+R665
+R35
+R150
+R3
+R47
+R17
+R83
+R469
+R34
+R97
+R2
+R98
+L39
+L69
+R8
+L399
+L69
+L44
+L2
+L586
+R21
+L57
+L64
+L28
+R28
+L69
+L89
+L74
+R32
+L283
+R73
+L12
+R22
+R617
+R25
+R558
+L78
+R78
+R34
+R69
+L612
+L91
+L14
+R14
+R91
+L75
+R84
+L35
+L13
+R676
+R182
+R48
+L62
+L85
+R2
+R71
+R79
+L74
+L938
+L32
+R81
+R6
+L19
+R13
+L609
+L26
+L85
+L654
+R74
+R597
+L97
+L721
+R21
+L70
+L87
+L75
+R34
+L32
+R80
+R59
+R91
+L51
+L81
+R10
+R39
+R35
+L74
+R822
+R932
+R875
+L151
+R58
+L914
+R11
+L17
+R69
+R791
+L69
+L94
+L40
+R23
+R93
+R90
+L2
+R59
+L814
+L79
+L13
+L44
+L64
+R57
+R5
+R26
+R1
+R1
+R21
+R89
+R2
+L89
+R32
+L45
+L28
+R64
+L36
+L97
+L30
+L73
+L17
+L883
+L62
+R69
+R119
+R74
+L17
+L83
+L381
+R25
+L44
+L80
+L92
+R64
+R949
+L871
+L827
+R57
+L197
+L4
+L2
+R88
+R59
+R788
+L37
+L95
+R38
+R27
+R35
+R23
+L17
+R194
+L69
+L71
+R26
+R83
+R31
+R18
+R39
+L57
+L65
+R89
+R133
+L57
+R98
+L644
+L50
+R980
+R85
+R962
+L34
+L61
+R77
+R339
+R48
+L81
+L58
+L780
+R19
+R48
+R52
+L240
+R82
+R658
+R28
+R39
+R88
+R45
+R8
+L79
+R21
+L50
+R82
+L82
+R710
+R87
+L397
+R430
+L30
+R44
+L31
+R96
+L27
+R18
+L94
+L676
+L116
+R61
+R50
+L68
+R43
+L1
+L99
+R783
+R209
+L39
+L46
+R36
+L54
+R211
+L46
+L395
+R17
+R393
+L36
+L633
+L29
+R43
+L75
+L939
+L59
+L74
+R148
+L26
+R11
+L45
+L98
+L87
+R18
+R12
+R13
+R87
+L83
+R83
+R49
+L49
+L46
+L24
+L21
+L32
+R90
+R33
+R85
+L85
+R23
+R77
+L34
+L66
+L85
+L15
+R3
+L3
+L454
+R579
+L78
+L47
+R50
+L32
+L18
+R39
+R91
+L40
+R10
+R84
+L35
+R751
+R67
+R64
+L31
+R8
+R8
+L83
+L33
+L50
+L50
+R64
+R36
+R71
+L70
+R56
+R43
+L23
+R523
+L295
+L457
+R52
+R4
+R47
+L51
+R35
+R98
+R87
+R80
+R24
+R50
+L39
+L9
+L71
+R45
+R10
+L24
+L986
+R373
+R99
+L472
+L26
+R26
+L1
+R85
+R22
+L6
+L35
+L65
+L37
+L99
+L664
+R56
+R64
+L20
+L1
+L65
+R68
+L2
+L558
+L42
+L87
+R887
+L18
+R92
+R26
+L24
+L43
+L50
+L29
+R446
+R539
+R61
+L947
+R829
+L806
+L76
+R830
+L91
+R34
+L77
+R86
+L94
+R12
+L446
+L77
+L533
+L39
+R92
+L7
+L74
+R68
+R116
+R88
+L88
+L31
+L20
+R83
+L32
+L71
+R784
+L13
+L9
+L304
+L87
+R665
+L53
+L12
+L76
+L87
+R125
+R33
+L772
+R77
+L89
+L11
+L70
+L30
+R26
+L965
+R39
+R153
+R47
+R648
+R52
+R108
+L71
+R63
+L17
+R17
+L63
+L74
+L16
+R21
+L68
+L93
+L46
+R539
+R60
+R269
+L84
+R37
+L287
+L83
+L31
+R4
+L85
+L82
+R84
+L28
+R136
+R90
+L86
+L945
+R28
+R49
+R79
+R142
+R831
+R24
+L491
+L42
+R1
+L52
+R68
+L2
+R96
+R69
+R28
+L544
+R323
+L76
+L74
+R74
+L76
+R154
+L78
+R2
+L981
+L21
+R46
+R91
+L37
+L92
+R92
+R76
+R88
+L64
+R56
+L82
+L674
+R63
+R87
+R50
+L65
+L8
+L47
+L587
+R11
+L4
+R80
+L80
+R391
+R888
+R23
+R19
+L370
+L760
+L491
+L873
+L72
+L89
+R34
+R23
+R70
+R943
+L36
+R42
+L27
+L62
+L78
+L26
+L11
+L538
+R534
+L34
+L282
+R30
+R33
+L77
+R96
+L853
+L80
+R8
+R37
+L40
+L30
+L142
+L701
+L58
+R53
+L94
+R73
+R127
+R42
+L42
+R329
+L516
+L76
+L154
+R930
+L97
+L16
+L63
+R28
+L365
+R796
+L96
+L81
+R92
+R8
+L1
+L86
+R254
+R51
+R63
+L71
+R54
+L54
+L16
+L107
+L406
+R80
+L71
+R579
+R24
+R188
+R69
+L69
+L92
+R92
+R328
+R72
+L70
+R35
+L43
+L282
+R425
+L7
+L69
+R99
+L36
+R82
+R65
+L488
+L80
+L1
+R63
+R7
+L51
+R651
+L25
+R402
+R23
+L18
+R77
+R41
+R15
+L7
+L632
+R94
+R12
+R18
+R89
+R58
+L595
+L70
+L15
+R86
+L2
+L61
+L190
+R358
+L45
+R75
+L88
+L24
+L76
+L89
+L85
+R72
+L98
+L82
+L89
+L29
+R62
+L42
+R84
+L184
+R1
+R87
+R92
+R261
+R87
+R52
+L44
+R28
+L97
+R80
+L967
+R98
+R18
+R88
+L69
+L87
+R918
+R1
+R33
+R50
+L13
+R21
+L55
+L3
+L390
+R90
+L70
+L95
+L35
+L64
+R64
+L86
+R16
+L73
+L57
+L12
+R12
+R693
+L16
+L82
+L99
+L18
+R779
+R22
+L453
+L14
+L12
+L43
+L257
+R30
+R52
+L82
+R2
+R74
+L92
+R592
+L76
+L80
+R80
+R40
+R60
+L56
+R24
+L86
+L607
+R25
+L56
+R56
+L84
+L52
+L40
+L24
+R51
+R49
+R58
+R94
+R84
+L474
+R57
+L19
+L55
+R921
+L366
+R88
+R5
+R7
+L419
+R23
+R78
+L82
+R81
+R15
+R78
+L74
+L29
+R29
+R35
+L72
+L63
+L378
+L95
+L27
+R69
+R78
+R29
+L58
+L41
+R23
+L265
+L276
+L59
+L41
+L859
+R16
+L97
+L84
+L64
+L78
+R71
+L41
+R55
+R52
+L41
+R90
+R15
+R12
+R22
+L28
+R17
+R75
+R8
+R61
+R47
+R28
+L36
+R89
+R5
+R6
+R79
+L879
+L91
+R62
+L68
+R49
+R45
+L92
+R15
+R58
+L31
+R53
+L45
+R3
+L789
+L9
+L70
+L978
+R5
+L9
+R75
+L77
+R9
+L76
+R87
+L55
+L29
+R358
+L287
+L47
+L27
+R61
+R36
+R478
+L53
+R62
+L54
+L69
+R61
+R53
+R79
+R42
+R46
+L81
+R73
+R27
+L2
+R2
+R69
+L77
+R7
+L73
+R81
+L807
+L8
+R61
+L64
+R11
+L43
+R99
+L56
+L97
+L95
+R92
+R45
+R55
+R84
+R47
+L597
+R66
+L86
+R786
+R12
+R35
+L47
+R59
+L559
+L66
+R19
+L87
+L91
+L275
+L86
+R99
+R902
+L515
+L44
+R314
+L71
+R80
+L231
+L46
+R675
+R23
+L67
+R167
+R123
+L49
+L268
+L410
+R605
+L75
+R43
+R43
+R68
+R20
+L596
+R96
+L53
+R92
+R65
+L4
+R12
+L97
+R85
+L49
+L4
+L947
+L83
+R386
+L83
+R53
+L94
+L151
+R40
+L71
+R47
+R56
+R89
+R11
+L54
+R88
+R66
+R816
+L816
+R7
+L903
+L44
+L60
+R16
+R84
+L23
+R23
+R78
+L574
+L4
+R31
+L62
+L69
+L64
+L97
+L32
+R93
+R22
+L22
+L9
+R870
+R56
+L102
+R85
+L23
+R75
+R221
+R2
+R75
+R146
+R6
+R3
+L5
+R13
+L94
+L51
+L68
+R34
+R46
+L80
+L43
+R43
+R88
+R96
+R74
+L9
+R2
+L218
+R467
+R44
+R36
+R620
+L16
+L50
+L34
+L209
+R9
+R40
+L40
+R817
+L64
+L53
+R659
+L429
+R22
+L33
+R98
+R4
+R36
+R66
+L723
+R83
+R781
+R494
+R91
+R51
+R61
+R86
+R11
+L968
+R3
+R707
+R39
+L39
+L69
+R11
+R85
+R41
+R75
+L89
+R55
+R36
+R83
+L28
+L45
+L55
+L66
+R66
+R12
+L72
+L66
+R13
+L787
+L586
+R1
+R85
+R53
+L996
+R237
+L194
+L90
+L53
+R37
+L438
+R33
+R911
+L94
+R173
+L39
+R84
+L24
+L16
+L84
+L534
+R4
+L70
+L81
+L37
+L30
+R355
+R93
+L21
+R75
+L97
+L27
+L30
+L58
+L96
+R54
+R41
+L734
+R42
+L49
+L53
+L72
+L43
+L32
+R97
+L497
+R21
+R6
+L857
+R569
+L684
+L64
+L896
+L95
+R33
+L77
+R44
+R84
+R38
+R78
+R67
+R33
+R81
+R19
+L364
+R81
+R39
+L56
+L88
+L936
+R734
+L43
+L67
+L675
+L25
+L68
+R53
+L4
+R41
+L22
+L15
+L46
+L15
+R19
+L43
+R56
+R19
+L28
+R553
+L68
+L819
+L50
+L663
+L82
+L58
+R40
+R53
+L24
+L29
+R53
+L53
+L542
+R42
+L76
+R76
+L833
+L82
+L85
+L49
+L851
+L64
+L69
+L67
+R21
+R68
+R21
+R713
+L23
+L56
+L44
+R233
+L54
+L79
+L55
+R83
+R65
+L84
+L37
+L396
+R324
+R77
+L77
+L855
+R9
+L44
+R90
+R73
+L254
+R81
+R80
+L63
+L264
+R71
+R63
+R13
+L86
+R34
+R52
+R20
+R90
+L462
+R561
+L609
+R12
+L57
+L55
+R92
+L61
+R69
+R6
+L6
+L18
+L82
+R23
+R73
+R78
+L74
+R99
+L30
+R88
+L38
+L19
+R1
+R82
+R54
+L737
+R26
+R74
+R92
+R21
+R87
+R5
+L11
+R31
+R875
+L72
+L28
+L11
+L50
+R61
+L166
+R306
+L165
+L69
+L59
+L257
+L182
+L81
+R73
+L54
+R8
+L1
+R21
+L23
+L22
+R71
+R14
+L14
+R9
+L95
+R86
+R65
+R92
+R49
+L48
+L158
+L37
+L63
+L78
+R18
+L940
+L36
+R8
+L72
+L742
+L5
+R990
+R251
+R42
+L30
+L31
+R25
+L32
+L468
+R97
+L23
+L265
+L778
+L52
+L29
+R50
+R8
+R92
+L793
+L4
+L3
+L63
+L30
+L34
+L73
+L58
+L642
+R83
+L62
+R59
+R15
+R5
+R67
+L67
+R55
+R45
+L99
+R46
+L747
+R620
+L20
+L94
+L9
+L797
+R105
+R64
+L69
+R354
+R63
+R84
+R11
+R85
+R99
+L42
+L54
+L47
+L578
+L475
+R21
+L35
+R96
+R85
+L69
+L48
+L40
+R90
+R40
+R254
+R531
+L446
+R960
+R90
+R67
+R839
+R65
+R25
+L68
+L557
+R34
+R936
+L68
+R81
+R96
+L79
+L20
+L80
+R511
+R89
+L84
+R83
+L95
+L10
+R93
+R713
+L9
+R74
+L81
+R716
+L35
+L965
+L66
+R66
+R786
+R14
+R76
+L51
+L25
+R85
+R79
+L64
+R88
+L788
+L78
+R1
+L74
+L549
+L643
+R43
+R42
+L42
+L34
+R34
+L147
+L53
+R3
+R934
+L97
+L740
+L33
+R33
+R30
+L430
+R189
+R3
+R29
+R79
+L609
+L11
+R730
+R290
+L4
+L72
+L28
+R53
+R51
+L64
+L88
+R80
+R72
+L50
+L65
+R81
+L8
+R344
+L2
+R92
+R8
+L562
+R62
+R724
+L65
+R31
+R66
+R58
+L23
+R69
+L147
+L513
+L30
+R39
+R51
+R40
+L997
+R64
+R65
+R68
+R42
+R89
+R32
+R85
+R52
+R90
+L86
+L26
+R356
+L7
+L266
+R17
+L47
+L54
+L26
+R83
+L34
+L95
+R2
+L42
+R75
+R462
+L302
+R67
+R33
+R33
+R8
+R603
+L44
+R51
+R1
+R14
+L966
+L50
+L39
+L11
+R361
+R99
+L288
+L35
+R63
+L30
+L20
+L846
+R747
+L14
+R153
+L64
+R59
+R115
+R46
+R38
+L30
+L88
+R102
+L520
+L48
+R3
+R497
+R93
+L510
+R70
+L52
+R86
+R13
+R43
+R39
+R73
+L623
+R40
+R19
+R11
+L96
+R794
+R188
+L46
+L64
+L87
+R253
+R26
+L70
+R66
+L98
+R24
+L92
+R45
+L73
+L15
+L75
+R44
+L726
+L78
+R1
+R215
+R162
+R71
+L10
+R39
+L65
+L2
+L77
+R90
+L46
+L88
+L9
+R481
+R41
+L25
+R41
+L40
+R99
+L98
+L12
+L66
+R22
+L58
+L88
+R13
+L28
+L103
+R245
+R96
+R65
+R1
+R18
+R85
+L19
+R27
+L34
+L940
+L877
+R51
+L67
+L597
+R58
+L99
+L92
+L601
+R569
+L71
+R767
+L12
+R554
+R27
+R81
+R83
+R59
+L26
+L93
+L52
+R33
+L21
+L662
+L93
+L45
+L77
+R970
+L30
+L63
+R843
+R68
+L11
+R246
+L25
+L90
+L31
+L8
+L718
+R26
+L860
+L22
+R93
+R50
+R39
+L392
+R14
+L87
+R1
+R50
+L86
+L48
+L52
+R77
+R23
+R58
+R42
+R745
+L20
+L25
+R55
+R19
+L12
+R8
+L18
+R28
+L80
+L78
+L81
+R59
+R65
+L82
+L83
+L32
+L31
+L29
+R86
+L94
+R6
+L4
+L80
+R78
+R38
+L96
+R658
+R92
+R308
+R97
+R203
+R30
+R170
+R194
+R60
+L134
+L86
+L21
+R87
+R17
+L57
+L40
+R21
+L24
+R83
+R718
+L52
+R275
+L694
+L86
+R51
+R88
+L9
+R9
+L80
+L20
+R682
+R18
+R236
+L94
+L42
+R82
+R18
+L41
+R41
+L51
+L24
+L25
+R67
+L190
+L31
+R79
+L32
+L93
+R16
+R19
+L135
+L60
+L240
+L102
+R828
+R566
+L36
+L656
+R11
+L62
+R94
+R64
+L21
+R44
+R67
+L97
+L658
+L11
+L162
+L69
+L557
+L30
+L57
+R483
+R605
+L44
+R22
+L622
+L686
+L14
+R97
+L60
+L53
+L52
+R974
+L78
+L680
+L48
+L31
+R731
+L12
+L50
+R62
+R55
+L31
+L99
+L732
+L37
+R616
+R17
+R28
+R53
+L56
+R7
+L13
+R53
+L61
+L29
+L47
+R76
+R55
+L39
+R90
+R81
+L4
+L452
+R18
+L49
+L996
+R94
+R216
+L924
+L90
+L65
+L191
+L7
+L90
+L47
+R23
+R77
+L204
+R69
+L65
+L89
+L54
+R1
+R42
+L66
+R79
+R87
+R705
+R765
+L70
+R62
+L32
+L80
+R91
+R44
+L18
+L176
+R72
+L7
+L48
+R47
+L74
+L34
+R92
+R61
+R96
+L79
+R43
+L73
+R31
+L59
+L28
+R88
+L55
+R51
+R15
+R31
+L5
+L19
+R34
+R29
+L92
+R82
+L90
+L19
+L71
+R12
+L45
+L77
+L65
+R65
+R37
+R33
+L81
+R46
+R38
+L92
+R34
+L26
+L89
+L24
+R22
+R62
+R3
+R94
+R88
+L14
+L14
+R40
+R27
+L35
+L47
+L24
+R3
+L32
+R33
+R4
+L33
+R49
+L47
+R31
+R43
+R11
+L12
+L18
+R15
+L18
+L22
+L43
+L7
+L8
+R6
+L14
+L46
+R49
+R5
+R32
+R38
+L45
+R22
+L1
+R11
+L22
+R49
+R28
+R41
+R12
+R25
+R3
+R22
+R25
+L26
+R45
+R22
+L43
+R9
+R48
+R1 \ No newline at end of file