2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
16
16
16
16
16
16
16
16
20
20
20
20
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
30
30
30
30
31
31
31
31
31
31
31
31
32
32
33
35
35
35
35
35
35
35
35
35
45
49
94
94
94
94
94
94
94
94
95
95
95
95
95
96
96
96
96
96
96
98
101
101
101
104
104
104
139
139
139
139
139
141
141
148
148
149
152
153
160
160
161
162
162
163
164
168
168
169
170
170
170
171
172
172
172
173
173
174
174
174
175
175
175
218
219
219
225
226
227
227
227
228
229
229
233
235
236
236
237
237
238
239
239
241
241
241
242
242
246
246
249
249
252
253
253
260
260
264
266
266
268
273
274
274
274
275
275
276
276
277
277
281
283
286
287
293
294
294
295
295
295
313
314
316
316
319
320
326
331
331
332
335
335
335
335
335
336
336
336
338
338
338
338
340
340
341
343
343
343
344
345
346
347
347
347
349
349
349
352
352
352
352
352
353
354
355
355
355
356
356
357
357
358
360
360
361
362
362
362
362
362
364
365
365
367
368
368
369
370
370
372
372
372
372
372
372
374
374
375
375
375
376
377
380
380
380
381
381
381
381
382
382
383
384
384
384
384
388
388
389
389
389
389
389
389
389
389
390
391
391
391
392
392
392
392
392
392
393
394
394
394
401
402
402
402
402
402
402
402
402
402
402
402
402
403
405
406
408
408
408
408
408
408
409
409
410
411
411
411
411
411
411
411
411
412
412
412
412
414
417
417
417
417
418
419
419
419
419
419
419
420
420
420
420
420
420
420
421
421
422
428
428
428
430
431
431
432
432
432
433
433
434
434
434
434
434
435
435
435
435
435
437
437
437
437
437
438
438
438
438
438
438
438
440
440
440
440
440
440
440
440
441
441
441
442
442
442
442
442
442
443
444
444
445
445
446
446
446
446
446
446
446
446
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
449
449
450
450
450
450
450
450
450
450
450
450
450
450
450
450
451
451
451
451
451
451
451
452
452
452
452
452
452
452
453
453
453
453
453
453
454
454
454
454
455
456
456
456
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
461
461
461
461
461
461
461
461
461
461
461
461
461
462
462
462
463
463
463
463
463
463
463
463
463
463
463
463
463
463
464
464
464
464
464
464
464
464
464
464
464
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
467
467
467
467
467
468
468
468
468
468
469
469
469
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
471
471
471
471
471
471
471
471
471
472
472
472
472
472
473
473
473
473
473
473
473
474
474
474
475
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
478
478
478
478
478
479
479
479
479
479
479
479
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
482
482
482
484
484
485
485
485
485
486
486
486
487
487
487
487
487
487
487
487
487
487
487
487
487
488
488
488
488
488
488
488
488
488
488
488
488
