2
2
2
2
3
3
3
3
3
3
3
4
5
6
6
6
5
4
3
3
3
3
4
5
5
5
5
5
4
4
4
3
3
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
1
1
1
0
0
0
0
1
2
5
5
7
7
7
7
6
4
2
2
2
0
0
0
0
0
1
2
2
2
2
2
2
2
4
5
5
5
4
4
3
2
2
2
1
1
0
0
0
0
0
1
2
2
3
8
9
11
14
17
19
21
24
25
26
27
33
39
45
51
54
57
59
61
62
63
64
64
65
65
66
66
67
69
69
70
70
70
71
71
74
76
76
77
78
78
78
85
91
103
106
107
109
111
113
115
117
119
123
128
130
135
140
147
148
149
152
153
154
157
160
161
162
163
163
164
164
164
164
164
164
164
164
164
167
168
170
172
173
177
182
185
187
188
189
190
192
194
194
196
201
202
204
206
207
208
211
212
213
214
215
215
215
216
218
218
218
219
219
220
222
223
225
227
229
230
230
231
231
232
233
234
235
236
236
236
236
239
241
242
246
248
250
254
254
254
255
255
256
257
257
257
257
257
257
257
257
257
257
257
257
257
257
258
258
259
259
260
260
262
263
265
270
272
273
275
281
281
281
280
280
280
280
279
278
278
279
280
282
284
285
287
293
296
302
304
306
308
309
310
312
313
315
317
319
321
322
328
329
330
330
331
335
336
337
337
337
337
336
335
333
332
331
329
327
326
326
326
326
326
326
326
326
325
325
325
325
324
323
321
318
316
314
313
311
311
313
314
315
315
315
313
312
311
311
310
309
307
306
300
296
294
293
292
291
289
289
290
290
290
290
291
292
293
295
297
297
298
299
299
300
301
301
301
301
301
301
301
301
301
301
301
301
300
300
300
300
300
300
300
300
300
300
297
293
292
291
287
280
279
278
277
275
274
273
272
272
271
271
271
272
272
276
278
279
280
279
279
278
277
277
276
276
274
274
274
273
272
270
270
268
266
263
266
269
270
271
273
275
280
283
285
286
286
286
287
287
289
289
290
290
292
294
294
295
296
297
297
298
299
299
300
302
304
307
311
315
320
321
321
321
321
322
322
322
324
325
326
329
331
333
337
337
338
340
341
344
345
345
345
345
346
347
347
347
349
352
354
355
355
355
356
356
357
359
361
363
365
366
365
364
363
361
359
360
362
363
364
366
369
370
372
373
376
383
386
388
389
389
389
390
390
391
393
395
397
399
401
402
404
405
405
405
405
406
406
407
410
413
414
414
414
415
415
415
415
418
419
421
423
423
424
424
424
424
424
424
424
424
425
425
429
432
433
434
435
436
442
446
446
447
448
449
450
453
455
458
461
462
464
465
465
466
467
468
469
472
474
476
476
477
478
479
481
485
488
492
493
496
498
502
506
508
509
510
511
512
513
514
517
518
520
522
523
524
524
524
525
526
528
532
535
537
539
541
547
548
549
549
553
554
555
556
559
560
562
562
563
564
565
570
571
573
575
577
582
586
589
595
598
604
607
609
610
611
611
612
613
615
618
619
621
622
624
627
627
628
628
628
632
634
638
649
651
657
663
669
676
678
679
679
680
680
680
681
682
684
685
686
688
689
691
691
693
695
698
698
699
699
700
703
705
706
707
708
710
711
712
713
715
717
718
719
720
721
721
722
722
722
722
722
722
721
721
720
719
718
717
716
715
714
713
712
709
707
706
704
704
703
701
700
699
698
698
697
695
694
694
696
698
696
694
692
691
691
693
693
694
695
696
696
697
698
698
697
697
697
697
698
699
704
705
705
703
700
697
695
688
679
677
676
674
671
669
667
667
671
676
679
682
673
667
663
660
657
653
649
647
644
643
643
643
640
635
626
621
616
615
613
609
604
603
603
603
602
601
595
589
584
582
582
582
579
574
570
567
562
560
558
557
556
552
551
551
550
549
549
547
545
543
539
537
534
534
533
533
533
532
531
527
527
527
527
527
527
528
529
531
530
530
529
528
528
527
527
527
525
524
523
522
520
517
515
513
504
502
502
501
501
501
500
499
492
490
489
489
488
488
487
487
479
477
476
476
475
475
474
472
468
466
466
465
465
462
459
457
456
454
453
453
453
452
452
451
450
449
449
448
447
444
442
440
438
437
430
427
426
426
426
426
426
426
426
424
420
416
413
411
405
403
402
401
396
394
393
393
393
393
393
394
395
395
394
389
383
376
374
371
370
368
368
368
366
364
364
361
360
360
359
359
359
358
358
356
354
353
351
351
351
350
350
349
349
348
347
343
340
338
337
333
330
327
326
325
324
321
320
318
315
312
308
302
299
296
296
296
295
295
295
295
296
298
300
299
298
298
298
297
296
294
293
292
291
289
288
286
285
284
284
284
283
283
282
280
279
279
278
278
274
273
272
272
271
271
269
266
265
264
264
264
261
257
256
253
252
251
251
250
250
249
249
249
248
247
245
243
230
228
223
219
218
215
212
211
211
209
204
198
194
191
188
187
185
183
182
181
180
179
179
174
158
145
145
144
144
143
141
140
139
139
137
135
132
130
128
127
128
128
128
128
129
129
130
130
130
130
130
130
130
123
113
96
91
87
86
85
83
83
83
83
83
84
84
84
84
83
80
78
77
77
77
76
76
75
75
75
74
74
74
74
73
73
73
73
72
72
71
70
66
64
64
63
62
55
49
48
47
47
47
47
48
39
37
29
18
2