1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
0
0
0
0
0
0
1
1
3
2
3
4
4
4
5
5
5
5
5
5
4
4
6
7
8
9
9
10
9
9
9
9
9
9
9
10
10
10
10
10
9
9
10
11
9
10
10
10
10
11
11
11
11
11
11
10
9
9
9
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
17
19
19
19
19
19
19
19
19
19
19
19
19
23
23
23
23
23
23
23
24
24
24
24
22
21
21
22
26
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
33
33
33
33
33
40
42
43
44
43
42
42
44
44
45
45
46
51
54
56
59
59
58
47
46
33
33
33
34
33
33
34
35
35
35
34
34
36
37
37
38
41
41
42
42
41
39
38
38
38
39
39
40
41
41
41
44
45
46
46
47
47
47
47
47
47
47
49
49
49
49
49
49
49
49
49
50
50
51
51
52
54
55
56
56
56
56
55
51
50
52
53
52
53
53
53
53
53
53
53
60
61
61
61
63
65
71
70
71
71
71
71
71
70
71
73
75
75
75
75
75
75
79
80
80
79
74
74
74
74
74
74
74
75
79
83
85
86
86
87
87
87
87
89
88
89
90
90
89
82
82
82
82
85
85
85
84
84
84
81
82
84
86
91
91
92
92
92
95
100
99
99
100
101
102
102
103
104
104
104
100
99
100
102
103
103
104
104
105
107
108
106
107
112
118
119
120
120
121
121
121
129
129
129
124
125
135
135
135
136
137
135
137
140
142
142
142
136
135
145
144
144
146
146
148
148
147
146
158
153
172
172
173
177
183
183
184
185
185
186
187
192
193
194
196
197
196
193
192
192
191
191
191
192
194
195
196
197
199
203
212
210
224
221
215
214
213
214
215
216
218
224
226
228
230
238
240
241
243
243
244
245
246
255
259
261
263
263
263
263
262
263
265
266
268
269
258
255
256
260
263
265
266
268
269
269
269
269
269
269
271
277
279
280
279
275
273
273
275
288
290
290
291
293
295
296
297
301
303
304
307
309
309
304
302
300
299
294
292
289
286
284
285
289
305
305
306
306
306
307
309
311
315
317
318
319
319
319
321
321
324
326
319
319
321
323
329
330
331
332
332
332
334
339
343
345
348
350
350
353
356
361
364
366
367
368
368
368
368
368
372
375
381
388
387
386
385
381
381
381
381
381
383
385
386
389
389
390
390
390
389
389
391
394
394
393
400
402
402
401
401
401
413
421
422
422
421
421
420
420
420
414
411
403
400
406
408
413
415
420
421
423
424
425
429
441
443
443
443
443
444
446
448
449
450
448
448
449
451
454
462
468
471
466
465
461
453
455
472
471
469
468
467
467
464
460
452
446
444
440
432
428
426
426
428
429
431
432
433
434
434
434
432
425
419
413
410
404
400
402
402
401
401
404
406
408
408
407
400
397
397
398
405
415
420
426
430
430
430
431
437
444
444
444
444
449
457
459
462
465
467
472
477
480
482
484
488
488
489
489
492
495
497
499
504
505
505
505
505
505
505
505
505
505
505
505
505
508
513
516
519
522
524
526
526
523
520
519
516
515
513
512
512
511
511
513
516
518
520
523
523
523
523
524
527
530
531
532
530
528
525
521
519
520
522
523
524
524
521
518
514
516
518
522
524
524
529
531
532
535
537
539
541
532
527
525
524
524
524
524
522
519
512
508
508
507
507
506
507
511
516
517
517
518
519
512
505
494
497
498
498
497
499
503
505
506
507
508
509
510
515
518
518
521
523
526
520
518
516
507
504
502
501
501
501
502
503
504
508
509
513
519
521
524
530
533
535
535
535
535
536
538
539
541
542
544
548
550
553
556
556
556
556
557
558
558
559
560
564
566
568
570
574
576
579
582
585
592
596
602
605
608
614
595
590
587
587
588
590
592
594
596
600
600
606
612
615
613
608
606
602
602
605
607
606
600
579
578
578
579
582
594
594
577
570
570
574
576
576
576
576
578
578
578
585
588
591
593
594
596
597
598
595
598
602
605
607
613
616
617
614
612
614
615
617
618
619
620
620
620
618
617
610
609
608
608
608
608
608
610
615
616
614
616
629
637
647
654
657
655
653
647
648
648
648
648
649
655
657
658
655
651
637
627
615
614
615
614
609
608
608
608
609
610
610
611
614
616
619
620
620
619
618
617
615
614
612
614
617
616
613
607
605
602
597
594
593
592
591
591
590
589
588
588
588
585
584
582
580
573
570
565
561
558
552
548
539
529
529
529
529
529
529
528
528
527
527
527
526
525
517
515
514
511
511
511
511
510
510
509
508
507
506
504
503
502
492
488
485
483
483
488
492
494
491
484
482
475
467
461
454
449
442
439
432
433
435
437
438
438
436
422
424
424
421
420
419
417
415
417
421
422
425
430
429
426
425
423
422
420
423
425
425
423
420
417
412
415
419
424
424
423
422
421
421
421
421
418
415
411
407
403
400
396
393
384
378
372
350
352
355
360
362
364
363
363
363
365
367
368
368
368
364
357
349
344
337
341
339
337
334
334
334
333
332
332
332
332
331
330
329
327
326
325
326
329
332
336
340
342
342
343
345
345
347
350
353
356
357
356
354
351
349
346
342
336
334
337
341
345
349
350
352
364
379
404
404
404
402
384
372
361
357
357
354
352
351
348
346
344
342
341
341
341
334
328
315
313
312
311
309
308
307
303
294
288
283
256
256
258
261
262
265
267
270
274
269
261
257
254
252
248
245
242
228
227
227
227
227
227
227
227
226
226
226
225
223
222
222
222
222
222
222
222
222
223
224
224
221
222
223
223
223
219
213
213
214
223
221
219
216
213
211
211
211
211
211
210
209
209
209
208
207
207
206
198
194
183
171
169
169
166
166
166
159
159
159
159
159
158
158
161
163
162
161
159
158
164
167
168
169
169
170
172
172
172
167
164
169
171
160
165
147
148
148
147
151
151
148
144
144
144
144
145
136
136
145
144
142
138
137
138
136
136
135
135
135
126
125
130
128
126
123
122
122
122
122
121
121
121
121
121
120
114
114
118
116
106
106
106
106
106
105
105
104
104
104
102
102
102
102
101
99
99
100
93
92
92
92
91
91
86
84
83
82
84
84
85
86
86
86
82
82
82
82
86
87
87
88
88
88
83
83
82
82
81
80
79
79
77
74
74
74
74
74
74
77
85
83
80
78
75
75
75
75
74
73
71
71
70
70
71
72
72
70
70
72
63
62
61
61
61
59
56
53
53
53
53
52
52
52
52
52
52
52
52
52
52
50
50
56
57
57
57
57
55
54
51
50
50
50
50
49
49
49
49
49
49
48
46
46
46
46
46
46
46
46
46
46
45
45
45
45
44
41
41
41
40
39
39
39
38
38
38
39
41
42
42
41
40
38
37
36
35
34
34
34
34
34
34
34
34
32
32
31
30
30
29
31
31
29
28
29
29
29
30
30
30
30
30
29
29
29
29
29
29
29
29
29
30
33
35
36
37
37
37
37
37
36
34
33
33
33
33
33
33
32
32
32
32
32
32
32
32
32
32
32
32
32
26
22
21
22
23
23
22
22
22
22
22
22
22
22
19
18
18
18
18
18
18
18
19
19
18
15
15
15
15
15
14
14
14
14
14
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
12
12
12
12
11
11
10
10
10
11
11
11
11
11
11
11
11
11
11
10
11
10
9
10
10
10
10
9
9
9
9
9
9
10
10
8
9
8
7
6
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
3
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1