0
1
2
2
1
3
4
5
6
6
5
7
8
9
10
10
9
11
12
13
14
14
13
15
16
17
18
18
17
19
20
21
22
22
21
23
24
25
26
26
25
27
28
29
30
30
29
31
32
33
34
34
33
35
36
37
38
38
37
39
40
41
42
42
41
43
44
45
46
46
45
47
56
55
54
49
58
50
49
50
48
48
50
51
53
54
52
52
54
55
56
50
57
57
50
58
95
96
97
97
96
98
120
137
122
122
137
136
126
124
137
137
124
128
128
130
137
137
130
132
132
134
137
137
134
136
105
106
103
103
106
104
103
104
99
99
104
100
99
100
101
101
100
102
110
109
108
108
109
107
108
107
112
112
107
111
116
115
114
114
115
113
114
113
118
118
113
117
62
59
61
61
59
60
61
60
76
76
60
75
76
75
74
74
75
73
74
73
72
72
73
71
72
71
70
70
71
69
70
69
68
68
69
67
68
67
66
66
67
63
66
63
65
65
63
64
77
78
79
79
78
80
79
80
93
93
80
94
93
94
91
91
94
92
91
92
89
89
92
90
89
90
87
87
90
88
87
88
85
85
88
86
85
86
81
81
86
82
81
82
83
83
82
84
119
120
121
121
120
122
121
122
135
135
122
136
135
136
133
133
136
134
133
134
131
131
134
132
131
132
129
129
132
130
129
130
127
127
130
128
127
128
123
123
128
124
123
124
125
125
124
126
161
158
162
198
197
199
140
138
139
139
138
141
144
142
143
143
142
145
156
154
155
155
154
157
160
158
159
159
158
161
165
163
164
164
163
166
189
187
188
188
187
190
193
191
192
192
191
194
196
197
195
195
197
198
153
152
151
151
152
150
151
150
149
149
150
147
149
147
146
146
147
148
169
167
168
168
167
170
173
171
172
172
171
174
177
175
176
176
175
178
181
179
180
180
179
182
185
183
184
184
183
186
209
210
211
212
213
214
219
220
221
222
223
224
201
202
200
200
202
204
201
203
202
202
203
204
258
259
257
257
259
261
258
257
260
260
257
261
205
206
207
207
206
208
215
216
217
217
216
218
225
226
227
227
226
228
229
230
231
231
230
232
233
234
235
235
234
236
237
238
239
239
238
240
241
242
243
243
242
244
245
246
247
247
246
248
249
250
251
251
250
252
253
254
255
255
254
256
263
264
262
262
264
266
263
265
264
264
265
266
317
315
316
316
315
318
318
315
319
319
315
317
267
268
269
269
268
270
271
272
273
273
272
274
275
276
277
277
276
278
279
280
281
281
280
282
283
284
285
285
284
286
287
288
289
289
288
290
291
292
293
293
292
294
295
296
297
297
296
298
299
300
301
301
300
302
303
304
305
305
304
306
307
308
309
309
308
310
311
312
313
313
312
314
320
321
322
322
321
323
323
324
322
322
324
320
374
375
373
373
375
377
374
373
376
376
373
377
325
326
327
327
326
328
329
330
331
331
330
332
333
334
335
335
334
336
337
338
339
339
338
340
341
342
343
343
342
344
345
346
347
347
346
348
349
350
351
351
350
352
353
354
355
355
354
356
357
358
359
359
358
360
361
362
363
363
362
364
365
366
367
367
366
368
369
370
371
371
370
372
379
380
378
378
380
382
379
381
380
380
381
382
432
433
431
431
433
435
432
431
434
434
431
435
383
384
385
385
384
386
387
388
389
389
388
390
391
392
393
393
392
394
395
396
397
397
396
398
399
400
401
401
400
402
403
404
405
405
404
406
407
408
409
409
408
410
411
412
413
413
412
414
415
416
417
417
416
418
419
420
421
421
420
422
423
424
425
425
424
426
427
428
429
429
428
430
514
515
516
517
518
519
482
484
487
476
486
490
547
548
549
560
561
562
476
488
477
500
508
509
546
550
551
504
500
501
436
437
438
438
437
439
440
441
442
442
441
443
444
445
446
446
445
447
448
449
450
450
449
451
452
453
454
454
453
455
456
457
458
458
457
459
460
461
462
462
461
463
464
465
466
466
465
467
468
469
470
470
469
471
472
473
474
474
473
475
448
450
478
478
450
479
495
496
497
497
496
498
522
520
521
521
520
523
566
567
565
565
567
568
571
569
570
570
569
572
582
580
581
581
580
583
585
586
584
584
586
587
590
588
589
589
588
591
593
594
595
595
594
598
597
589
596
596
589
591
449
476
451
451
476
477
484
482
483
483
482
485
488
476
489
489
476
490
502
495
503
503
495
497
504
505
500
500
505
506
511
512
510
510
512
513
526
524
525
525
524
527
529
526
528
528
526
525
531
529
530
530
529
528
534
532
533
533
532
535
537
534
536
536
534
533
540
538
539
539
538
541
543
540
542
542
540
539
544
545
546
546
545
550
554
552
553
553
552
555
574
575
573
573
575
576
578
579
577
577
579
592
479
480
478
478
480
481
478
481
476
476
481
486
492
493
491
491
493
494
491
494
496
496
494
498
501
500
499
499
500
491
499
491
556
556
491
564
508
500
507
507
500
506
507
506
563
563
506
559
563
559
558
558
559
557
558
557
503
503
557
502