0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
4
7
7
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
16
17
17
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
23
23
23
26
26
26
26
28
28
28
28
31
31
31
31
34
34
34
34
36
36
36
36
36
36
36
39
42
42
48
51
56
61
64
65
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
73
74
74
74
75
75
75
76
76
76
77
77
78
78
79
79
79
79
79
79
79
79
79
79
79
80
81
81
81
81
82
82
82
82
82
82
82
82
82
82
83
84
84
85
85
86
87
87
88
88
88
88
88
88
88
89
90
90
90
91
91
91
91
91
91
92
93
93
93
93
93
93
93
96
99
102
102
105
105
108
108
108
111
111
111
114
117
119
122
122
125
127
127
127
128
129
129
130
130
131
131
132
133
134
135
136
136
137
137
138
139
139
139
139
139
139
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
142
142
143
143
143
143
143
148
148
151
151
156
156
156
156
156
156
156
156
156
156
156
156
156
156
157
157
157
157
157
157
157
157
158
158
158
158
158
158
158
158
159
159
159
159
159
159
159
159
160
160
160
160
160
160
160
160
161
161
161
161
161
161
161
161
161
161
161
161
161
162
163
163
164
164
164
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
167
167
167
167
167
167
167
167
167
169
169
169
172
172
172
172
174
174
174
174
177
177
178
178
181
181
181
181
183
183
183
183
183
183
183
186
189
189
195
200
205
210
215
218
224
224
224
224
224
224
224
224
224
224
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
226
226
226
226
226
226
226
226
226
226
226
226
227
227
227
228
228
228
229
229
229
230
230
231
231
232
232
232
232
232
232
232
232
232
232
232
233
234
234
234
234
235
235
235
235
235
235
235
235
235
235
236
237
237
238
238
239
240
240
241
241
241
241
241
241
241
242
243
243
243
244
244
244
244
244
244
245
246
246
246
246
246
246
246
249
252
255
255
258
258
261
261
261
264
264
264
267
270
272
275
275
278
280
280
280
281
282
282
283
283
284
284
285
286
287
288
289
289
290
290
291
292
292
292
292
292
292
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
296
296
297
297
297
297
297
302
302
305
305
310
310
310
310
310
310
310
310
310
310
310
310
310
310
311
311
311
311
311
311
311
311
312
312
312
312
312
312
312
312
313
313
313
313
313
313
313
313
314
314
314
314
314
314
314
314
315
315
315
315
315
315
315
315
315
315
315
315
315
316
317
317
318
318
318
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
321
321
321
321
321
321
322
322
322
324
324
324
327
327
327
327
329
329
329
329
332
332
335
335
338
338
338
338
341
341
341
341
341
341
341
344
347
347
353
358
363
369
374
377
383
383
383
384
384
385
385
385
386
386
387
387
387
387
388
388
389
389
389
389
389
390
391
391
392
392
392
392
392
393
393
394
394
395
395
395
395
395
395
395
395
395
396
397
397
397
398
399
399
400
400
400
401
401
402
402
403
403
404
404
404
404
404
404
404
404
404
405
406
406
406
406
407
407
407
407
407
407
407
407
407
407
408
409
409
410
410
411
412
412
413
413
413
413
413
413
413
414
415
415
415
416
416
416
416
416
416
417
418
418
418
418
418
418
418
421
424
427
427
430
432
435
436
436
439
439
439
442
445
447
450
450
453
455
455
455
456
457
457
458
458
459
459
460
461
462
463
464
464
465
465
466
467
467
467
467
467
467
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
470
470
470
473
473
474
474
474
474
474
477
477
480
480
483
483
484
485
486
486
486
487
487
487
487
487
488
488
489
489
490
491
491
491
492
492
493
493
493
494
494
494
495
495
496
496
497
498
498
498
499
499
500
500
500
500
500
500
501
501
502
502
502
502
502
502
502
502
502
502
502
502
502
503
504
504
505
505
505
506
506
506
506
506
506
507
507
507
507
507
507
507
507
507
507
507
507
508
508
508
508
508
508
509
509
509
509
509
509
509
509
509
509
509
509
509
509
510
510
510
513
516
519
522
523
524
527
530
530
533
533
536
536
539
539
542
542
545
545
548
548
551
551
554
554
557
557
557
557
557
558
558
561
564
564
569
574
577
583
583
585
590
591
592
593
593
594
595
596
597
597
598
598
598
599
600
600
601
601
601
601
601
602
603
603
604
605
605
606
606
607
607
608
608
609
609
610
610
610
610
610
610
610
611
612
612
613
614
615
615
616
617
617
618
618
619
619
620
620
621
621
621
621
621
621
621
621
621
622
623
623
623
623
624
624
624
625
625
625
625
626
627
627
628
629
629
630
630
631
632
632
633
633
633
633
634
635
635
636
637
637
637
638
638
638
638
639
639
640
641
641
641
642
643
644
644
647
650
653
655
658
661
664
667
667
670
673
676
679
682
685
688
691
694
697
698
699
700
701
701
702
702
703
703
704
705
706
707
708
708
709
710
711
712
