6
8
10
9
12
6
7
4
10
14
8
6
9
2
7
7
12
5
8
8
7
5
9
3
5
4
6
5
7
2
7
5
1
5
2
5
5
2
5
3
3
3
3
3
6
2
0
2
3
4
3
2
1
0
5
3
2
2
4
0
4
7
4
0
4
1
3
4
1
0
0
2
3
2
2
6
2
1
5
2
1
4
2
7
5
3
3
3
14
3
5
3
4
3
3
3
6
0
3
1
4
5
0
0
5
2
1
2
1
2
1
5
1
0
2
0
0
2
3
0
1
2
4
1
0
2
0
1
2
3
0
0
0
2
2
2
2
1
2
1
2
2
2
1
3
2
1
1
2
1
1
0
1
1
1
0
1
1
2
2
3
1
1
5
1
0
1
1
0
4
1
2
1
2
1
1
2
0
1
1
2
2
1
2
0
0
2
2
0
0
0
1
1
0
0
0
4
0
2
5
3
1
2
2
2
1
1
2
1
2
4
6
5
4
2
0
2
4
4
3
1
5
5
2
2
3
1
5
1
4
3
1
5
1
3
0
5
3
1
1
1
2
2
1
6
1
1
1
4
1
1
2
1
6
5
2
3
5
0
5
5
6
3
4
0
0
5
1
2
4
4
1
2
3
2
3
1
5
4
1
2
3
2
2
4
0
3
3
5
4
5
6
4
1
3
0
0
2
1
4
2
3
0
3
4
1
1
5
3
8
3
0
2
0
3
3
2
1
1
2
5
6
0
2
5
1
4
1
5
1
3
4
0
2
2
1
3
2
0
6
1
2
3
2
3
4
2
5
2
4
2
7
4
5
2
0
4
1
3
5
1
4
4
1
2
2
3
1
3
2
3
1
0
3
2
5
5
3
3
2
1
7
2
1
8
1
2
6
2
5
3
2
2
1
4
2
1
3
0
2
5
1
3
2
1
1
2
4
1
2
0
2
3
1
3
1
3
3
0
1
4
2
1
1
5
2
3
2
4
0
2
2
2
3
2
1
2
3
0
3
3
5
0
1
4
4
2
0
2
1
0
1
2
0
2
0
0
3
2
1
2
1
1
3
3
0
4
0
2
1
0
2
0
1
4
1
3
3
3
1
1
1
2
0
0
0
3
3
0
1
0
1
3
0
2
2
1
1
0
3
2
3
2
1
1
2
5
3
1
2
2
0
2
4
1
2
1
2
1
2
2
1
1
2
4
3
3
4
0
1
2
1
1
3
1
0
1
0
1
1
0
5
3
2
4
1
2
1
2
1
1
1
0
0
1
1
0
1
3
0
2
1
4
5
1
1
2
1
1
0
2
6
1
4
2
1
2
3
0
1
6
1
2
6
1
2
0
3
0
2
1
0
2
2
4
4
2
3
2
2
3
5
4
2
2
2
0
3
1
3
0
1
2
1
0
3
3
1
2
4
2
0
2
3
3
1
2
4
3
3
2
6
0
4
4
2
0
4
1
2
1
1
5
2
1
4
2
3
2
0
5
3
5
4
5
5
3
4
2
3
2
5
3
4
2
1
4
0
4
3
4
3
2
5
6
1
4
5
9
2
5
9
4
4
5
9
2
5
1
6
6
6
10
5
1
5
4
2
3
4
4
6
6
9
8
4
5
7
8
11
8
5
7
6
6
8
11
3
12
5
8
10
1
12
7
9
10
6
7
9
7
9
12
10
6
7
13
10
11
10
7
14
9
15
9
11
13
22
6
12
11
15
17
15
20
8
14
18
16
16
15
16
20
12
18
19
19
21
13
19
21
20
21
18
26
22
26
20
33
17
21
28
26
28
20
22
29
29
18
17
28
27
38
28
21
30
34
29
32
32
37
33
31
47
35
44
35
31
43
45
46
43
35
42
40
36
52
47
52
37
44
48
67
47
54
67
71
61
56
53
73
74
74
66
68
71
74
80
75
89
100
106
97
110
108
91
77
120
91
108
121
95
109
86
115
112
92
112
100
87
115
93
132
97
102
95
105
102
112
108
107
108
127
114
107
110
101
91
112
101
93
85
83
87
82
88
84
66
81
70
61
67
40
63
44
50
45
39
50
47
36
32
27
35
31
18
32
19
26
21
23
20
20
12
10
12
13
12
11
12
7
17
6
14
10
12
7
7
12
5
4
2
7
4
8
6
7
1
5
3
9
10
2
4
7
2
2
5
6
5
8
5
5
4
2
7
3
11
1
4
4
1
5
2
6
7
1
5
6
7
4
4
9
2
8
3
10
3
3
3
5
6
2
4
3
5
8
3
6
5
5
3
6
5
6
5
5
2
8
12
5
12
9
5
6
9
10
5
7
6
6
11
4
8
5
8
6
8
6
4
6
9
9
4
8
9
3
13
10
4
10
4
4
3
11
12
7
5
10
9
8
10
8
13
10
7
12
5
11
9
13
8
13
13
7
13
14
9
14
10
15
7
11
8
7
19
11
15
7
13
13
10
8
16
18
11
14
17
15
10
17
18
6
10
15
16
13
23
13
19
16
19
20
9
11
16
27
23
17
20
20
21
21
20
19
17
19
18
23
17
22
27
19
25
20
27
31
23
26
27
29
27
28
26
26
32
44
25
42
34
47
37
56
39
48
42
45
54
43
50
50
53
62
70
74
60
70
69
74
85
87
76
78
86
91
86
95
90
92
82
90
109
108
98
90
101
97
103
128
115
100
115
100
128
94
100
128
129
117
100
129
119
119
115
110
105
112
112
100
119
106
111
112
121
111
103
99
91
103
99
90
91
104
84
74
68
71
57
65
62
69
54
71
57
49
42
41
48
64
48
58
55
40
54
39
35
32
35
29
35
37
25
22
31
26
30
36
25
23
30
23
21
24
32
22
30
31
23
23
24
26
26
26
19
28
23
30
25
26
16
26
29
23
26
31
26
27
28
27
25
17
34
32
20
35
31
32
35
30
29
34
24
28
24
34
30
38
36
44
34
32
37
44
39
40
34
46
41
40
48
39
27
43
37
43
39
49
44
40
42
51
53
46
49
60
67
66
68
66
52
54
77
59
70
66
75
94
74
83
85
72
98
93
78
83
85
92
108
90
88
86
102
98
97
87
108
104
107
82
101
102
98
114
92
95
118
114
103
120
127
107
121
108
104
104
99
127
107
110
117
116
106
114
124
122
119
111
123
125
99
119
109
87
122
112
115
118
92
110
127
114
126
122
121
161
129
152
151
146
160
164
165
195
163
183
209
198
187
234
266
249
223
220
257
293
250
286
315
316
290
300
323
332
368
356
352
372
370
390
410
423
384
389
431
388
414
430
429
432
455
501
436
464
443
437
421
458
450
463
485
479
484
433
451
413
492
475
465
437
443
398
346
372
404
351
330
337
336
330
293
296
280
256
232
207
208
201
183
156
175
155
146
139
129
123
108
84
100
72
77
56
50
54
39
47
38
24
30
21
24
18
14
19
20
9
7
6
10
8
5
6
2
4
5
2
3
3
1
3
0
3
2
4
1
2
0
2
1
1
2
1
1
2
1
0
0
1
1
2
1
0
1
2
2
3
2
2
0
0
2
1
2
2
0
0
2
1
1
2
3
2
1
1
0
1
2
1
3
1
0
2
0
2
0
1
0
2
1
1
0
1
2
2
1
2
1
2
2
0
1
2
0
0
4
1
2
0
1
0
2
3
2
1
1
1
0
5
1
5
4
1
2
1
2
1
1
1
2
0
1
0
2
2
2
0
2
1
5
3
4
3
2
1
0
4
0
2
2
2
2
2
1
3
2
2
3
1
1
4
1
1
1
1
3
2
2
4
2
3
1
1
3
2
2
5
4
3
1
1
3
2
2
3
3
5
2
5
1
2
3
3
5
2
4
2
4
4
4
4
2
3
3
3
3
4
3
2
3
2
2
6
3
3
6
5
3
6
3
3
2
4
5
4
3
3
1
3
4
3
3
4
9
1
3
5
5
8
5
3
8
3
2
5
2
6
1
5
7
4
4
3
6
6
2
4
7
5
7
9
10
9
7
10
6
3
8
5
4
3
3
13
7
3
8
7
6
9
3
5
11
4
8
5
10
4
6
7
10
6
5
6
7
8
9
10
5
11
6
3
6
8
6
7
7
15
10
10
9
8
12
9
13
7
9
6
4
12
11
6
12
13
12
11
12
6
12
9
13
16
11
11
9
10
10
15
9
8
5
9
7
5
20
12
12
11
18
15
18
13
12
15
13
11
9
16
14
18
5
12
14
12
18
18
9
17
11
12
12
9
12
10
11
18
11
12
12
14
8
15
13
15
23
9
22
15
20
20
9
16
20
21
12
16
18
12
11
15
18
12
19
16
10
24
16
18
14
27
22
22
22
13
14
14
15
16
19
19
16
21
22
8
16
14
16
18
27
19
13
17
18
23
20
19
13
18
20
22
14
16
13
13
18
20
21
19
21
18
13
22
25
21
16
17
17
12
18
23
9
17
22
21
13
22
10
24
18
25
26
20
14
24
21
18
18
27
8
14
13
14
17
24
12
20
14
13
20
20
8
17
12
14
11
10
12
15
13
7
13
11
11
17
21
12
10
14
14
9
7
25
11
12
17
14
13
10
8
10
14
13
10
8
8
10
23
12
12
10
11
7
9
16
14
5
16
14
7
14
7
18
9
8
14
16
13
12
17
12
13
16
12
14
14
9
18
16
16
13
10
12
13
11
6
7
5
13
14
25
9
9
12
14
14
12
14
13
9
15
12
17
10
14
12
14
16
12
15
17
15
13
17
14
16
17
18
18
26
20
19
15
18
11
20
13
18
19
15
15
11
18
17
18
15
22
18
17
16
23
13
19
18
31
17
29
21
30
21
20
26
23
17
27
24
28
26
28
23
17
29
28
19
25
29
29
29
30
34
38
31
37
34
37
32
27
35
34
30
37
27
35
35
38
46
49
41
37
43
34
36
44
40
42
40
44
52
40
55
44
57
47
29
44
40
60
62
49
54
48
59
50
46
64
70
61
72
75
53
63
65
74
67
67
51
64
73
80
72
68
74
69
95
73
91
60
71
79
88
94
69
96
84
71
87
77
91
84
97
94
105
83
100
106
88
102
102
103
95
88
99
90
87
108
97
104
107
115
101
94
97
94
87
94
123
103
103
100
119
103
120
110
125
114
111
110
110
102
96
112
98
114
108
104
112
104
122
124
110
116
103
109
114
103
119
98
110
103
120
111
92
113
105
104
118
91
83
102
105
106
114
102
95
100
112
84
93
98
96
105
89
99
87
93
87
90
88
90
114
112
91
98
105
81
117
106
116
100
95
118
83
105
110
112
123
98
105
110
114
101
111
125
123
96
147
103
106
131
107
116
119
127
138
124
129
139
126
132
136
150
129
135
147
157
131
139
135
124
145
139
151
148
146
145
163
157
186
193
173
164
171
200
190
201
193
191
188
201
188
198
219
202
212
186
252
207
228
224
243
228
236
219
239
226
268
230
208
225
247
229
236
212
247
225
259
273
247
238
238
263
267
256
261
233
251
266
298
274
273
288
272
247
304
283
279
254
268
260
255
265
298
292
262
280
247
264
273
264
265
263
282
299
296
269
274
297
285
296
281
243
286
314
283
297
278
306
302
277
321
310
294
286
324
315
303
323
328
311
326
341
373
355
367
345
343
387
365
343
351
382
387
371
391
414
425
409
410
395
463
424
424
411
453
407
396
427
423
429
486
463
445
447
476
451
476
475
474
486
492
492
480
510
522
489
561
527
539
535
508
521
527
560
571
513
549
555
502
558
554
527
605
596
571
627
528
598
585
615
611
588
577
591
659
650
638
662
647
643
676
676
641
666
690
682
705
681
685
722
712
733
828
758
779
757
771
754
817
814
848
742
857
811
890
881
830
836
857
910
878
929
921
958
926
995
968
1006
991
1045
995
974
980
1056
1028
1063
1112
1052
1116
1111
1074
1128
1145
1171
1202
1229
1212
1289
1249
1297
1259
1262
1301
1392
1351
1330
1323
1366
1381
1425
1482
1507
1465
1577
1542
1585
1615
1581
1571
1587
1613
1606
1682
1687
1729
1732
1849
1856
1867
1843
1878
1906
1962
1932
1948
1966
2050
2003
2201
2083
2169
2238
2260
2227
2249
2268
2400
2452
2583
2483
2464
2495
2498
2596
2716
2719
2761
2746
2779
2851
2791
2869
2955
3113
3086
3188
3190
3292
3333
3405
3419
3573
3618
3593
3653
3761
3833
3842
4021
3954
4050
4175
4199
4370
4371
4465
4394
4755
4889
4782
4780
4977
4950
5247
5308
5124
5224
5368
5547
5678
5792
5900
5837
6132
6115
6384
6291
6403
6449
6702
6804
7084
6882
7181
7245
7339
7541
7694
7775
7741
8081
8335
8445
8510
8556
8765
9312
9176
9466
9710
9895
10252
10374
10288
10871
10937
11531
11323
12018
12319
12371
12698
13133
13523
13845
14916
15173
15518
16158
16772
17371
18234
18738
19537
20830
21887
22634
23354
24616
25995
27262
28591
29553
31177
33051
34368
35873
37519
39714
41425
43414
45240
46648
48587
50731
52481
54753
57038
58875
60006
62048
63686
65855
66649
68563
70737
71350
72129
73785
74523
75734
77539
78233
78276
78626
80258
80703
81345
81930
83606
84121
83868
85043
86949
87221
87557
88018
89016
88969
89382
89891
90423
91203
90310
89670
87958
88091
87044
85668
84801
82696
80671
78635
76723
73592
71447
67997
64972
62119
59548
56931
53427
50177
47094
44358
41472
38246
35893
33708
30657
28626
26100
24052
21522
19878
18189
16455
14914
13254
11762
10468
9292
8206
7218
6129
5502
4687
3968
3450
2767
2334
2069
1671
1363
1108
956
762
586
480
370
293
251
204
167
147
114
98
85
83
78
93
103
92
82
104
115
95
113
129
104
111
118
130
127
143
146
148
142
163
163
143
156
179
200
204
197
189
182
219
220
224
263
255
265
244
267
292
243
320
261
320
321
315
341
338
356
357
378
380
368
385
398
420
401
411
420
395
363
378
409
382
352
393
356
400
352
341
334
334
267
280
259
256
279
230
197
231
174
204
152
148
127
132
94
97
75
76
64
49
45
41
29
28
16
23
17
13
9
10
14
9
9
2
3
4
1
0
5
3
1
1
2
3
0
1
3
0
2
0
2
0
4
2
1
1
1
1
2
2
2
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
2
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
2
3
0
1
2
2
2
0
1
0
0
1
2
2
0
0
0
0
1
0
0
0
1
2
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
2
1
0
1
0
0
1
0
0
0
0
0
2
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
1
0
0
1
2
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
0
0
2
0
0
0
1
0
1
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
1
1
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
3
0
2
0
0
1
0
1
0
0
0
0
0
0
2
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
2
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
1
0
1
1
0
0
0
1
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
2
1
1
2
0
1
0
0
0
0
1
0
0
1
1
2
2
0
1
1
0
0
0
0
0
0
0
2
0
1
0
1
2
1
0
1
1
0
3
0
1
0
2
1
0
0
0
0
1
2
0
0
0
0
2
1
1
1
1
1
0
2
0
1
0
1
0
0
0
0
0
1
2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
2
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
2
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
3
0
0
1
0
1
0
1
0
0
1
2
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
2
0
2
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
2
0
1
0
0
0
1
1
1
2
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
2
0
0
1
0
1
1
0
1
0
0
1
0
1
2
0
1
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
1
1
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
2
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
2
1
0
1
1
3
3
0
1
0
0
0
0
2
0
0
1
1
2
1
2
1
1
1
1
1
0
1
1
2
2
0
0
1
1
0
2
3
0
2
1
2
0
2
4
1
3
0
2
4
3
0
1
1
3
2
1
3
0
0
2
2
3
2
2
3
3
3
2
2
3
7
3
1
2
2
2
6
3
2
4
5
4
7
2
6
3
8
9
6
6
3
6
5
9
3
8
6
4
5
8
3
4
2
6
9
3
6
10
9
7
5
13
4
4
15
5
6
11
6
8
8
13
11
5
5
5
9
13
10
10
5
8
6
9
4
5
4
9
15
3
3
6
10
3
4
2
5
5
1
1
2
2
1
2
3
3
2
2
2
0
6
1
1
1
2
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
2
1
0
1
1
1
1
2
0
0
0
2
1
0
2
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
2
2
2
0
0
0
0
3
2
0
0
1
2
1
0
3
1
0
1
1
0
0
0
3
2
1
0
0
2
1
0
0
0
5
2
0
0
0
2
0
1
0
0
1
1
0
1
2
0
2
2
1
0
1
0
1
0
0
0
0
0
4
1
1
2
0
0
0
0
1
1
2
2
0
1
1
0
1
0
2
0
1
2
0
1
0
4
0
0
1
0
0
1
0
2
0
2
1
2
1
1
0
2
0
2
2
1
1
3
0
0
0
0
0
2
0
1
2
0
0
0
2
2
1
0
0
1
1
1
1
1
1
1
2
1
0
3
0
2
1
1
3
1
1
3
1
1
1
2
1
1
1
2
2
1
1
2
1
0
1
1
2
1
1
2
2
1
1
1
1
0
3
1
0
0
0
0
4
0
0
1
2
1
1
0
2
2
3
2
1
2
0
0
1
1
3
3
8
2
2
0
1
3
1
1
0
1
0
1
0
3
1
3
0
5
1
3
1
0
2
0
0
2
0
0
1
0
0
0
0
1
1
3
2
1
0
1
0
2
1
0
4
1
3
1
0
1
0
0
2
1
1
3
2
2
0
2
1
4
1
3
2
2
1
1
1
1
0
3
1
0
1
1
0
0
1
1
1
0
0
0
2
1
4
1
1
0
0
1
2
0
0
1
1
0
2
2
0
1
1
2
1
1
2
1
0
1
0
0
1
0
0
1
1
2
1
0
1
0
1
2
1
0
2
0
1
2
1
2
1
1
1
1
0
1
1
0
0
0
1
1
3
2
0
1
0
1
1
2
0
2
2
3
0
2
0
1
0
0
2
2
2
0
1
0
2
1
0
0
0
2
0
0
1
0
1
1
5
3
1
1
2
0
2
0
1
0
0
1
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
1
0
2
2
0
0
0
3
0
1
0
1
1
1
1
2
0
1
1
0
2
0
1
0
1
0
0
1
1
2
1
1
1
2
0
1
3
1
0
0
1
2
0
3
2
0
1
0
1
2
3
1
2
0
0
4
2
1
2
1
5
2
1
2
1
0
0
0
0
1
1
0
2
0
0
2
1
0
1
1
1
1
2
1
1
2
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
2
1
2
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
2
0
0
1
0
0
2
0
0
0
1
1
1
1
2
0
0
0
2
1
0
2
0
0
2
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
3
0
2
0
0
2
1
2
2
2
1
2
1
0
1
2
1
1
2
2
3
0
1
1
0
2
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
2
1
2
0
1
2
0
1
1
2
1
2
1
2
1
1
1
2
1
2
0
2
0
0
0
1
3
1
2
3
1
0
0
1
4
0
0
2
0
0
3
1
6
0
1
1
0
1
0
0
2
0
0
1
0
0
1
1
0
1
0
1
2
2
2
1
0
3
1
3
1
0
3
2
2
2
4
0
1
4
0
3
3
1
5
6
2
1
3
2
1
3
3
4
6
6
4
5
2
4
1
7
3
3
2
1
5
9
2
3
5
4
5
4
3
5
6
4
7
6
3
10
9
1
8
8
4
8
10
3
6
4
7
9
15
13
11
11
11
13
9
8
11
10
18
12
19
15
16
18
12
15
19
7
26
14
11
19
15
20
21
15
12
22
10
19
9
11
15
18
10
16
11
16
13
16
19
18
13
23
13
13
10
11
19
15
7
9
9
18
7
12
13
12
10
12
9
10
6
4
6
11
8
9
5
6
7
6
4
3
6
8
7
4
5
5
6
2
0
4
5
6
2
2
5
2
3
0
0
0
1
0
3
3
1
1
2
1
4
2
1
3
3
0
0
2
2
2
0
2
2
4
3
2
1
0
1
0
3
0
1
1
2
0
0
1
0
1
1
0
2
4
2
2
0
5
5
2
2
3
0
3
4
2
1
4
4
0
7
6
7
2
6
4
3
4
5
4
4
5
9
5
5
7
5
11
8
3
6
9
8
6
8
11
5
6
8
15
11
9
8
11
11
10
11
10
7
8
7
16
10
11
11
8
5
17
13
7
7
10
11
10
6
11
11
11
4
12
9
6
15
11
12
8
