crazy4groovy
12/11/2017 - 4:31 AM

http://adventofcode.com/2017/day/5

const rows = data().split('\n').map(i => +i)
const limit = rows.length
let count = 0
let i = 0

while (i < limit && i >= 0) {
  const jumps = rows[i]
  rows[i] += 1
  i += jumps
  count += 1
}

console.log(count)

function data() {
  return (`1
0
2
-1
1
-4
-4
-5
-2
-1
-4
-8
-8
-1
-6
-9
-3
-14
-6
2
-15
-9
-5
-9
-14
-4
-3
-23
-24
2
-24
-22
-31
-23
-5
1
-35
-11
0
-30
-18
-25
-24
2
-35
-33
-29
-2
-27
-44
-19
-19
-40
-52
-26
-20
-37
1
-40
-36
-29
-37
-56
-59
-34
-31
-17
-24
-14
-57
-16
-68
-27
-60
-73
-16
-60
-6
-45
-38
-48
-33
-68
-12
-51
-49
-10
-28
-66
-88
-8
-83
-5
-2
-39
-39
-12
-87
-63
-55
-55
-26
-5
1
-68
-100
-98
-71
-15
-96
-100
-107
-45
-46
-3
-13
-25
-110
-63
-84
2
-107
-11
-50
-8
-55
-96
-76
-26
-103
-42
-43
-94
-31
-112
-64
-72
-95
-20
-51
-27
-129
-108
-75
-92
-18
-18
-68
-43
-71
-59
-70
-122
-64
-39
-146
-134
-120
-3
-137
-88
-93
-155
-66
-34
-85
-142
-55
-141
-5
-74
-110
-32
-148
-90
-108
-9
-75
-55
-64
-14
-5
-131
-31
-119
-115
-170
-110
-52
-187
-44
-169
-53
-154
-79
-48
-26
-175
-153
-198
-139
-119
-119
-93
-80
-101
-65
-112
-186
-1
-171
-71
-209
-76
-121
-104
-159
-91
-54
-6
-18
-196
-40
-155
-103
-98
-191
-66
-83
-206
-142
-118
-211
-216
-141
-197
-131
-77
-46
-110
-124
-56
-165
-183
-94
-87
-55
-110
-208
-37
-99
-63
-86
-197
-176
-235
-202
-131
-49
-22
-247
-253
-256
-114
-49
-126
-104
-105
-87
-230
-61
-83
-24
-196
-31
-267
-118
-139
-83
-45
-251
-84
-187
-104
-192
-224
-145
-219
-266
-62
-27
-255
-2
-117
-240
-199
-295
-177
-185
-245
-29
-47
-55
-64
-147
-154
-217
-211
-291
-254
-44
-103
-271
-37
-244
-313
-200
-34
-197
-72
-309
-124
-134
-9
-244
-254
-160
-5
-84
-28
-26
-162
-261
-102
-85
-305
-38
-54
-57
-320
-94
-13
-92
-34
-114
-194
-128
-220
-259
-298
-76
-31
-185
-212
-10
-7
-329
-80
-135
-278
-264
-322
-82
-3
-9
-334
-89
-217
-56
-99
-16
-103
-167
-148
-41
-311
-125
0
-135
-252
-288
-293
-18
-19
-358
-186
-117
-65
-170
-34
-256
-376
-81
-106
-92
-389
-147
-203
-335
-320
-240
-373
-337
-239
-7
-214
-292
-55
-388
-143
-251
-111
-240
-259
-187
-278
-9
-312
-336
-382
-226
-203
-318
-277
-142
-65
-80
-237
-347
-92
-166
-322
-306
-289
-64
-53
-162
-16
-357
-395
-57
-409
-225
-10
-169
-232
-326
-219
-59
-173
-315
-420
-432
-100
-434
-426
-160
-450
-394
-145
-146
-42
-320
-296
-150
-159
-129
-62
-345
-99
-378
-234
-144
-323
-378
-202
-181
-334
-135
-446
-295
-290
-202
-366
-333
-322
-311
-439
-180
-319
-264
-467
-397
-411
-177
-235
-280
-220
-371
-379
-270
-157
-75
-5
-82
-137
-161
-17
-423
-216
-10
-189
-278
-467
-506
-118
-435
-468
-357
-169
-333
-32
-266
-85
-515
-76
-80
-442
-190
-199
-173
-264
-314
-46
-360
-384
-140
-213
-32
-345
-367
-179
-295
-1
-8
-520
-300
-229
-538
-488
-291
-234
-159
-384
-318
-257
-379
-263
-495
-77
-227
-108
-20
-515
-293
-475
-127
-247
-467
-10
-29
-539
-233
-461
-347
-512
-339
-298
-419
-252
-333
-515
-203
-104
-56
-456
-101
-101
-68
-235
-188
-522
-558
-151
-337
-572
-47
-411
-177
-172
-178
-527
-357
-192
-342
-516
-215
-453
-183
-144
-13
-417
1
-537
-588
-512
-450
-343
-383
-167
-342
-235
-394
-227
-580
-226
-437
-314
-460
-279
-7
-157
-125
-520
-208
-69
-308
-9
-554
-628
-556
-329
-60
-3
-378
-188
-498
-600
-639
-52
-577
-332
-600
-119
-572
-261
-58
-542
-115
-328
-15
-411
-19
-56
-417
-332
-449
-629
-440
-523
-284
-304
-302
-71
-87
-197
-160
-461
-348
-339
-367
-87
-352
-232
-598
-441
-660
-332
-228
-676
-387
-240
-222
-62
-581
-102
-63
-589
-37
-427
-238
-687
-67
-315
-408
-685
-6
-664
-64
-515
0
-606
-494
-465
-73
-79
-553
-86
-513
-699
-8
-485
-376
-659
-214
-632
-694
-370
-35
-639
-373
0
-584
-538
-69
-293
-500
-537
-476
-578
-566
-123
-464
-321
-434
-238
-651
-61
-69
-207
-297
-537
-456
-122
-80
-517
-581
-411
-418
-734
-536
-278
-92
-416
-573
-308
-302
-645
-555
-314
-33
-715
-484
-89
-746
-254
-334
-509
-651
-556
-615
-447
-239
-545
-173
-4
-390
-526
-252
-654
-747
-313
-430
-625
-625
-578
-407
-28
-113
-54
-404
-671
-483
-801
-530
-191
-41
-694
-209
-158
-49
-608
-43
-34
-710
-96
-417
-297
-553
-310
-206
-634
-419
-795
-104
-91
-687
-105
-248
-693
-286
-63
-33
-199
-68
-248
-297
-281
-692
-654
-521
-240
-432
-515
-58
-711
-671
-433
-357
-228
-531
-457
-269
-76
-428
-590
-533
-787
-833
-453
-199
-113
-274
-144
-495
-481
-727
-356
-164
-711
-143
-503
-702
-783
-858
-494
-114
-18
-615
-243
-306
-312
-378
-823
-689
-119
-228
-769
-508
-298
-77
-465
-447
-348
-392
-751
-642
-841
-654
-617
-119
-490
-139
-359
-58
-34
-554
-168
-675
-104
-772
-232
-124
-460
-815
-856
-260
-3
-303
-771
-398
-282
-353
-192
-227
-645
-598
-345
-197
-881
-242
-159
-693
-537
-887
-44
-302
-252
-496
-590
-126
-883
-301
-697
-439
-928
-69
-192
-30
-273
-944
-606
-319
-638
-319
-391
-573
-268
-231
-649
-781
-936
-434
-435
-287
-282
-778
-608
-844
-708
-26
-162
-697
-168
-280
-472
-96
-470
-334
-38
-739
-936
-655
-946
-599
-562
-12
-912
-406
-532
-458
-828
-764
-314
-880
-897
-499
-412
-774
-249
-579
-294
-883
-558
-963
-228
-775
-205
-515
-662
-335
-926
-2
-865
-763
-23
-543
-715
-243
-343
-176
-68
-326
-926
-481
-517
-517
-885
-238
-400
-560
-390
-96
-285
-213
-680
-221
-856
-451
-33
-391
-589
-443
-695
-276
-415
-362
-789
-909
-905
-71
-919
-644
-237
-239
-458
-705`)
}