0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
4
4
4
4
6
12
12
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
21
21
22
23
24
24
24
24
25
25
25
25
25
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
30
30
30
30
30
30
30
30
30
31
34
34
36
39
43
48
51
53
55
58
61
64
64
64
64
65
65
65
65
65
67
67
70
72
75
85
92
95
98
98
98
98
99
99
99
99
99
99
99
99
100
100
101
102
102
102
102
102
103
103
104
104
105
105
106
106
106
106
106
106
106
106
106
106
106
107
107
107
107
108
108
109
109
110
111
111
111
111
111
111
111
112
112
112
113
113
113
113
113
113
114
114
114
115
116
117
117
117
117
117
118
119
120
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
123
123
124
124
127
131
136
138
138
141
141
145
145
148
153
156
156
160
164
169
169
173
178
178
178
178
179
180
180
180
181
181
182
183
184
185
186
186
186
186
187
188
189
189
189
189
189
189
189
189
189
189
189
189
190
190
191
191
191
191
191
191
191
191
191
191
192
192
192
192
192
193
193
193
193
195
201
201
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
208
208
208
208
208
208
208
209
210
210
211
212
213
213
213
213
214
214
214
214
215
216
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
220
223
223
225
228
232
237
240
242
245
248
251
254
254
254
254
255
255
255
255
255
257
257
260
262
265
276
286
289
292
292
292
292
293
293
293
293
293
293
293
293
294
294
295
296
296
296
296
296
297
297
298
299
300
300
301
301
301
301
301
301
301
301
301
301
301
302
302
302
302
303
303
304
304
305
306
306
306
306
306
306
306
307
307
308
309
309
309
309
309
309
310
310
310
311
312
313
313
313
313
313
314
315
316
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
318
318
318
318
318
318
318
318
318
318
318
318
318
318
319
319
319
320
320
322
324
329
331
331
334
334
338
338
341
346
349
349
353
357
362
362
366
371
371
371
371
372
373
373
373
374
374
375
376
377
378
379
379
379
379
380
381
382
382
382
382
382
382
382
382
382
382
382
382
383
383
384
384
384
384
384
384
384
384
384
385
385
385
385
385
385
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
387
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
390
390
390
391
392
393
393
394
395
395
396
397
398
399
399
399
400
401
402
402
403
404
405
406
406
406
406
407
408
408
409
409
409
410
411
412
412
412
412
413
414
415
416
416
416
416
417
417
417
417
417
417
417
417
417
420
423
423
427
430
435
440
443
447
450
455
459
460
462
465
468
472
473
473
475
478
483
483
485
485
488
498
504
513
517
517
517
517
518
519
519
519
519
519
519
519
519
519
519
519
519
519
519
520
521
521
522
523
524
524
525
525
526
527
527
527
528
528
528
528
529
529
529
529
529
529
530
530
531
532
533
533
533
533
533
533
533
534
535
536
537
537
537
537
537
537
537
538
539
540
541
542
542
542
542
543
544
545
546
547
547
547
548
548
548
548
549
550
550
550
551
552
553
554
555
555
555
555
555
555
555
555
555
555
555
555
556
557
557
557
557
558
559
559
559
559
559
559
559
560
560
561
561
561
562
562
562
567
572
574
577
579
579
583
583
587
592
596
600
604
609
614
614
619
624
624
624
624
625
626
626
626
627
627
628
629
630
631
632
632
632
632
633
634
635
636
