1
1
4
4
2
4
4
4
2
8
4
2
5
6
8
3
1
2
2
0
2
6
2
0
2
0
0
2
0
2
0
4
0
3
5
2
0
1
2
0
1
3
2
2
2
1
1
2
2
0
1
1
2
1
2
1
2
1
0
0
1
3
2
0
1
2
1
6
3
1
1
0
1
0
3
1
0
0
2
0
0
5
2
0
0
0
2
1
3
1
0
2
0
2
1
1
1
3
2
0
2
0
2
4
0
0
2
1
0
2
2
0
1
1
3
0
0
0
0
2
1
0
2
0
1
1
1
0
0
2
0
2
2
0
0
1
1
0
0
0
1
0
0
1
0
0
1
2
1
1
0
0
2
0
0
1
0
0
0
2
0
1
0
1
1
1
1
3
1
0
0
0
0
2
0
2
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
2
1
0
2
2
1
1
1
1
0
2
0
1
1
1
1
0
2
1
2
1
1
3
4
0
0
2
3
0
1
0
2
1
1
0
1
1
0
2
0
2
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
2
2
1
0
2
2
1
0
0
1
1
1
2
0
0
0
0
0
0
0
1
1
3
1
0
2
4
1
1
1
0
1
1
2
2
0
0
1
0
0
0
0
0
1
0
3
1
3
0
1
2
2
0
1
0
0
0
1
0
1
1
2
0
0
0
1
1
1
6
1
1
0
0
1
1
1
0
2
3
1
2
1
0
0
0
2
1
1
1
1
2
0
1
0
3
0
1
1
1
0
2
1
2
2
1
2
2
2
1
2
0
2
0
1
1
1
2
0
2
1
0
0
0
0
0
2
0
3
3
3
2
2
2
2
2
0
0
1
2
0
2
2
0
0
0
1
1
0
1
1
0
4
1
2
0
0
1
4
0
0
1
1
1
0
1
2
1
2
1
1
1
1
1
1
2
0
1
2
2
1
3
1
2
4
1
2
0
2
0
1
1
3
1
3
2
1
0
2
0
4
4
1
2
1
2
4
1
3
3
0
2
2
3
0
1
1
0
2
0
1
0
1
0
0
4
0
4
1
1
3
4
5
1
1
2
3
1
2
3
2
1
0
0
2
2
1
2
3
3
2
5
0
0
2
2
1
2
3
4
2
1
1
3
2
1
2
4
2
2
1
2
2
3
4
2
3
2
2
1
3
1
2
2
3
0
3
5
3
4
4
4
11
1
3
7
3
2
0
4
5
3
8
2
2
5
2
0
3
1
2
4
1
3
1
3
5
5
3
2
5
3
2
8
3
5
3
4
3
4
4
5
1
2
6
4
2
2
5
2
7
3
4
3
2
6
2
5
6
4
2
5
1
5
8
5
7
3
3
6
2
2
4
4
2
4
3
3
4
4
4
4
6
7
5
2
3
5
9
5
7
3
10
5
6
4
11
8
7
7
11
5
12
4
3
8
8
9
11
11
11
8
3
7
10
6
10
12
12
7
14
9
11
10
12
4
10
9
6
9
19
7
7
8
10
12
7
5
15
10
6
14
13
8
26
12
9
17
16
14
11
13
17
15
10
17
10
14
16
18
10
10
20
12
18
15
15
14
11
15
24
17
20
21
28
23
18
18
19
28
18
33
25
23
23
16
30
36
23
20
25
23
23
30
32
29
24
26
24
30
26
28
29
33
38
25
29
34
24
38
41
34
29
40
55
46
39
33
43
40
39
46
48
34
38
49
51
43
53
53
61
53
47
48
62
59
62
57
75
74
64
73
77
70
64
85
94
89
88
109
91
104
92
97
122
117
122
133
118
141
154
140
147
158
200
195
194
210
223
261
216
270
301
271
298
303
331
363
379
421
355
412
439
426
473
468
494
471
514
519
491
537
548
582
573
537
587
620
593
572
658
604
673
677
627
635
668
676
663
679
713
659
743
615
695
687
720
700
708
723
699
678
687
642
716
649
631
611
556
516
546
540
498
459
464
381
415
404
338
350
333
299
264
256
239
235
188
183
193
165
148
136
123
113
102
87
76
64
55
52
34
38
34
20
31
15
10
12
19
11
6
11
1
4
7
6
2
3
2
1
4
0
2
2
2
1
1
1
2
2
1
1
0
0
0
2
2
1
1
2
2
1
0
1
1
0
2
1
2
1
1
0
0
4
0
3
0
2
0
0
0
2
3
1
1
2
2
1
1
1
2
1
0
3
0
1
1
1
4
3
1
2
4
1
2
1
5
3
4
2
1
3
1
1
1
4
0
1
1
3
2
1
3
2
0
2
2
0
3
1
1
5
1
4
6
3
1
2
4
0
1
3
3
4
3
1
1
2
3
2
4
6
3
3
1
5
1
6
2
1
2
3
5
1
2
5
3
5
0
1
3
7
5
3
4
5
3
5
7
4
3
5
6
2
5
6
4
6
2
8
3
4
2
8
4
4
8
5
6
6
7
7
3
8
13
5
6
5
8
7
9
4
7
6
12
8
13
5
10
8
9
8
14
12
10
6
10
10
13
11
16
9
12
16
23
14
10
15
19
18
19
21
17
18
26
23
25
22
31
24
29
31
29
28
39
26
40
28
38
35
37
36
37
33
33
42
38
45
46
36
53
38
42
53
47
51
42
40
48
52
51
46
52
52
52
53
52
42
45
68
49
49
42
57
60
41
50
53
51
52
46
43
54
41
33
47
45
45
35
40
35
30
32
41
30
27
34
27
31
26
25
28
26
34
25
25
19
26
17
13
17
19
13
23
16
14
14
16
10
14
14
12
16
15
11
12
9
15
9
10
14
8
4
8
5
8
5
9
6
10
14
8
12
8
3
13
15
8
9
11
9
12
5
9
11
7
16
12
8
10
9
9
6
8
11
10
11
9
7
5
14
8
17
8
9
7
14
14
9
9
13
7
9
16
10
14
13
11
20
7
18
23
20
14
16
19
20
18
17
18
29
22
30
22
22
26
34
22
30
30
26
19
24
24
31
32
29
24
34
32
43
31
27
38
40
33
38
40
45
28
39
35
44
43
51
48
47
45
46
51
39
41
37
42
42
52
37
50
40
35
55
59
57
37
44
46
50
50
49
46
49
55
42
54
47
48
47
33
54
41
38
42
33
41
61
44
56
51
47
72
63
51
58
63
70
69
67
63
80
83
90
71
87
84
120
103
108
93
117
123
137
134
128
120
118
156
111
154
159
161
162
136
178
194
160
160
197
192
191
179
178
184
179
195
202
189
210
208
178
229
226
211
247
184
209
204
212
192
207
230
231
220
213
226
219
200
192
189
193
201
158
171
154
161
159
133
147
120
112
131
128
108
91
97
81
82
63
69
67
61
62
53
57
51
45
32
29
27
25
23
15
15
18
16
9
10
8
6
8
2
6
4
4
3
4
3
4
4
2
2
1
3
1
0
0
1
2
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
2
1
1
0
3
1
0
0
2
0
1
0
3
1
1
2
2
0
1
1
2
0
1
0
0
1
0
0
0
2
0
0
0
0
2
0
0
0
0
0
1
0
0
2
2
2
0
0
0
0
0
0
2
1
2
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
5
0
2
0
3
2
3
1
0
0
1
2
0
2
0
4
2
2
0
0
1
1
1
1
0
1
4
1
0
1
3
1
0
2
2
0
0
1
2
1
1
2
0
2
1
1
1
1
0
1
2
1
0
0
1
0
1
0
1
3
0
0
0
1
1
3
0
0
0
0
0
2
2
3
0
0
1
1
0
0
4
1
0
1
1
2
1
4
0
2
0
2
1
1
1
3
3
1
2
1
2
2
1
0
3
1
0
0
2
2
3
0
4
1
0
3
0
0
2
0
1
1
1
2
2
0
0
1
0
2
3
0
2
1
1
1
1
5
2
1
1
2
1
4
3
1
0
3
0
3
0
2
1
2
0
3
2
0
1
4
2
0
1
3
3
2
0
0
2
1
3
4
3
1
2
2
1
1
1
5
1
5
1
3
1
4
3
3
4
2
2
2
5
2
4
5
2
2
4
2
3
2
2
2
1
2
2
1
5
0
2
2
3
2
1
2
5
6
10
5
7
0
2
1
1
4
1
6
4
3
3
5
5
4
4
2
3
2
1
3
3
3
1
5
12
1
4
0
2
3
4
2
2
3
3
4
2
0
7
2
2
4
3
4
2
4
4
1
1
1
2
2
4
3
1
3
4
1
1
4
4
5
3
2
8
4
2
7
2
2
2
7
3
6
7
5
2
4
4
5
5
4
3
4
4
5
2
4
7
3
4
3
3
4
4
2
5
7
5
3
6
5
5
3
7
6
4
4
2
7
2
4
3
4
2
3
9
5
4
6
7
2
3
2
4
2
7
8
1
1
3
6
2
3
5
7
6
2
2
2
5
4
5
2
4
2
2
2
2
3
3
3
2
1
4
3
0
4
2
3
2
5
2
2
0
3
2
4
3
2
2
3
3
2
1
4
6
5
3
1
2
2
2
2
5
2
3
4
5
4
3
4
5
4
2
4
2
5
1
1
3
6
3
1
1
4
3
8
2
4
3
5
7
4
5
2
1
5
2
2
1
5
4
1
4
1
3
0
5
8
7
1
3
3
5
5
5
2
2
3
3
2
4
7
8
5
4
6
2
4
1
5
4
7
4
9
4
3
3
7
6
3
2
1
7
4
10
2
5
10
7
5
7
5
6
8
3
4
9
12
6
8
7
8
3
4
10
5
10
8
7
7
7
4
8
6
6
6
9
16
7
7
9
12
5
6
3
5
13
14
17
14
14
10
17
17
11
16
22
19
6
7
9
15
19
8
14
11
19
11
14
7
12
13
18
21
17
15
24
9
10
21
10
15
17
23
21
20
15
18
18
19
20
19
30
24
19
25
28
21
27
22
26
15
35
26
26
24
28
23
31
22
32
23
22
20
31
24
24
29
23
30
27
43
28
34
33
19
35
30
25
32
37
33
31
27
30
17
32
25
35
26
36
34
26
29
45
26
28
36
38
34
40
31
31
37
36
30
33
38
31
25
32
30
28
32
23
20
29
29
21
35
27
29
20
33
27
27
30
31
24
36
37
26
34
29
31
27
31
19
28
25
30
17
23
33
18
22
34
17
37
21
33
31
24
24
28
26
23
30
32
32
28
30
20
17
27
23
38
20
34
28
43
27
26
29
32
39
35
41
45
38
32
31
27
30
36
33
26
31
36
26
50
36
46
43
26
37
44
36
30
48
49
37
41
48
29
44
46
66
47
31
47
43
51
53
65
51
48
50
53
55
56
46
55
50
70
60
69
64
57
51
56
54
62
67
60
71
59
56
69
61
72
67
76
70
74
70
89
68
83
83
90
72
102
71
72
80
70
71
82
79
80
84
72
63
75
68
73
72
85
84
76
68
76
73
70
78
83
82
73
67
83
71
70
90
82
82
72
64
76
87
75
85
68
87
89
73
79
82
92
85
98
86
86
93
80
92
88
81
85
86
89
91
94
102
96
112
102
106
106
104
80
129
110
102
116
115
114
95
119
123
105
134
124
143
119
114
114
105
139
127
131
146
123
143
148
129
147
137
144
150
156
152
125
142
150
139
150
147
178
149
126
147
167
177
165
159
162
163
146
179
156
171
165
154
159
177
177
182
176
176
152
177
165
183
184
171
183
176
190
199
185
182
181
200
209
190
202
191
226
214
220
205
211
207
246
238
213
277
223
215
223
227
219
265
240
268
265
266
264
299
266
285
254
245
286
295
309
293
283
320
316
275
279
340
362
319
324
339
352
339
344
364
377
369
388
395
398
369
364
390
380
354
369
402
414
441
413
440
396
466
479
468
423
475
481
488
511
449
508
532
535
523
553
541
542
521
575
612
587
665
608
670
637
633
667
660
699
686
664
661
708
686
744
709
724
706
744
807
760
782
820
773
828
861
854
879
876
836
870
866
981
942
1002
989
996
1002
1050
1039
1093
1077
1113
1118
1145
1116
1123
1191
1259
1302
1212
1269
1288
1379
1391
1326
1460
1314
1395
1498
1505
1533
1524
1587
1672
1581
1677
1680
1754
1758
1821
1827
1940
1747
2004
1901
2029
2055
2084
2100
2134
2197
2278
2100
2270
2395
2391
2387
2451
2479
2593
2602
2706
2721
2754
2761
2939
2984
2953
3030
3039
3136
3168
3277
3300
3548
3472
3577
3740
3805
3890
4079
4065
4283
4319
4468
4571
4706
4740
4973
5294
5231
5601
5799
6014
6202
6488
6699
7079
7319
7729
8051
8647
9152
9555
9708
10408
10885
11596
12215
12905
13240
14500
15360
16092
16958
17819
18866
19917
20795
21858
23080
24245
25417
26621
27448
28568
30242
31343
32502
33120
33865
34918
36252
37607
38598
38671
39512
40329
40858
41683
41991
43051
43698
43865
44589
44516
45242
45137
46594
46773
47056
47564
48250
48951
49077
49578
50760
50171
50540
51140
51421
51601
51657
51564
51758
50928
50536
49986
49324
48744
47210
45865
44642
43233
41702
40762
38840
36804
35437
33609
32240
29956
28544
26492
24869
22988
21890
20285
18727
17317
15792
14676
13276
12374
11460
10249
9139
8282
7301
6443
5856
5114
4466
3959
3386
2949
2537
2151
1908
1492
1273
1015
850
722
570
436
367
291
246
183
133
117
80
59
48
39
37
28
23
26
19
26
26
24
33
35
24
32
31
29
32
34
29
28
51
38
36
53
47
41
45
47
41
48
48
46
60
45
47
62
65
53
67
75
66
71
63
99
70
82
84
83
85
91
80
101
93
103
95
106
120
131
127
128
116
115
114
126
115
109
111
123
133
123
109
91
96
101
83
106
96
80
65
77
71
74
48
53
42
39
44
44
37
25
37
32
22
18
11
21
15
13
6
2
6
7
2
9
4
3
5
1
1
1
0
0
2
0
1
1
0
0
1
1
0
0
0
0
0
2
0
0
0
1
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
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
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
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
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
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
2
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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
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
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
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
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
1
0
0
0
0
0
0
1
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
1
0
0
0
1
1
0
0
0
0
0
0
2
0
1
0
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
1
0
0
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
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
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
0
0
0
0
0
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
1
0
1
0
0
0
0
1
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
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
1
1
1
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
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
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
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
0
0
1
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
1
0
0
0
0
0
0
1
1
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
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
1
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
1
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
1
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
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
1
0
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
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
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
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
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
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
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
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
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
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
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
1
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
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
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
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
0
2
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
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
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
1
0
0
0
0
0
0
0
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
1
0
1
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
2
0
0
0
0
0
0
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
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
1
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
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
1
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
1
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
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
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
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
1
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
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
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
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
1
1
1
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
0
0
0
0
0
0
0
0
1
0
0
1
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
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
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
1
1
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
0
0
0
0
1
0
0
0
0
0
1
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
2
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
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
2
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
1
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
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
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
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
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
1
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
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
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
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
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
0
0
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
0
2
0
0
0
0
1
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
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
1
0
1
0
0
0
1
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
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
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
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
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
1
1
0
0
1
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
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
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
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
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
1
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
1
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
1
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
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
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
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
2
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
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
1
0
0
0
0
1
0
1
2
0
1
2
0
1
1
0
0
1
0
0
1
1
0
1
0
2
1
2
1
2
0
1
2
2
2
1
0
1
1
2
0
1
4
1
2
0
0
0
0
2
4
0
2
3
1
4
1
1
2
1
1
0
2
0
2
0
2
1
4
1
3
3
1
0
1
0
3
0
2
2
0
2
0
1
3
1
0
0
2
1
0
1
0
1
0
0
0
2
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
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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
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
1
0
0
0
0
0
0
1
0
0
0
1
0
1
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
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
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
0
0
1
0
0
0
1
1
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
2
0
1
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
1
0
0
0
0
0
0
0
0
0
2
1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
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
1
1
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
2
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
2
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
1
0
0
2
0
0
0
0
1
3
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
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
1
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
2
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
1
0
0
0
0
0
0
1
0
0
1
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
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
2
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
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
2
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
1
0
0
0
1
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
2
0
0
0
0
1
0
2
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
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
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
0
0
1
0
2
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
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
1
2
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
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
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
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
1
0
2
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
2
1
1
1
0
0
0
0
1
1
1
0
0
0
0
2
0
0
0
0
0
1
0
0
2
1
0
0
1
0
0
1
1
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
2
0
0
0
0
0
1
2
0
1
1
0
1
0
0
1
0
1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
2
1
2
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
2
0
1
0
0
3
0
0
0
0
0
0
2
0
0
1
0
1
0
2
1
0
1
0
1
2
0
0
1
0
1
0
0
2
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
3
0
2
0
0
0
0
0
1
1
1
1
2
1
1
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
2
1
1
0
2
0
0
2
2
2
2
2
1
2
0
1
0
1
2
0
1
1
2
1
0
1
0
2
3
2
2
1
2
1
1
3
1
1
1
1
2
0
0
2
2
1
2
3
2
2
4
3
3
2
1
3
2
4
3
2
3
4
2
2
3
5
1
1
3
1
4
3
5
4
3
3
2
4
3
2
5
4
2
5
3
3
7
1
2
2
3
1
3
2
5
2
5
6
3
7
3
5
3
1
3
3
8
7
6
9
3
5
8
9
11
7
4
6
8
11
11
13
23
14
13
14
17
14
20
21
17
22
23
20
24
20
25
28
23
22
25
26
26
34
28
31
34
37
37
48
40
36
37
39
48
37
47
44
41
46
46
42
52
43
51
47
54
52
46
57
53
48
60
56
58
54
49
59
53
58
45
73
46
53
55
47
58
51
50
55
34
48
45
48
52
42
33
18
31
24
34
36
29
20
20
23
23
12
17
15
12
11
11
9
7
9
7
7
10
5
4
1
4
2
3
2
3
0
2
1
1
0
2
2
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
3
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
3
0
0
0
0
1
2
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
3
0
0
3
0
2
0
2
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
3
0
0
0
1
1
0
0
1
2
1
0
1
0
0
1
2
0
0
0
0
1
0
0
0
0
1
0
2
1
0
0
0
2
2
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
2
1
1
0
3
1
0
3
0
1
0
0
1
0
0
0
0
3
0
2
2
1
0
0
2
2
1
1
0
0
2
2
2
0
1
2
0
2
0
0
3
0
1
0
2
0
1
0
1
0
2
0
0
1
3
1
0
1
2
0
1
1
1
0
2
1
0
1
2
2
1
1
2
1
1
1
3
3
1
1
1
2
1
0
1
1
1
3
0
2
2
2
2
0
0
0
0
0
0
1
0
2
1
0
1
2
0
1
2
0
0
1
1
1
0
1
0
1
0
2
1
0
0
0
0
0
1
3
1
1
0
1
0
2
2
1
1
0
1
1
3
1
1
1
0
0
0
0
2
1
1
0
0
1
0
0
0
1
2
0
0
0
0
0
1
0
0
1
1
1
2
1
0
1
2
0
0
1
1
1
2
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
1
0
1
0
2
1
1
0
1
1
0
2
2
0
1
1
1
0
1
2
0
1
0
2
1
1
1
1
0
1
2
0
0
1
1
1
0
0
0
2
1
2
3
1
1
0
0
2
1
1
3
1
2
3
0
2
1
1
1
1
2
1
1
0
1
1
2
1
0
0
0
1
1
4
2
1
2
0
1
2
2
1
0
2
0
1
2
2
7
5
2
5
3
3
4
1
4
2
6
1
6
1
7
1
4
3
0
2
3
3
5
1
2
5
2
4
2
5
0
4
2
2
4
2
1
4
3
3
4
6
4
3
7
4
3
5
3
4
2
2
1
3
2
1
1
4
1
0
2
2
4
2
3
3
1
1
3
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
3
0
0
1
2
2
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
1
0
0
0
0
0
0
1
3
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
3
0
0
0
0
0
0
0
0
0
1
1
1
0
2
0
0
0
1
0
0
1
1
0
0
1
3
0
1
2
1
1
1
0
1
1
4
0
1
1
0
0
0
0
2
1
0
1
1
1
0
0
0
0
2
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
3
0
0
2
0
2
1
0
1
2
0
1
2
1
1
1
1
0
3
0
1
2
0
2
0
0
1
0
3
0
2
2
3
4
1
3
2
1
2
4
3
1
1
1
3
2
4
6
1
0
4
3
2
3
2
4
8
6
4
7
7
4
2
3
2
4
3
8
4
8
6
7
6
7
8
9
2
7
8
6
14
14
8
9
6
5
10
11
9
8
12
11
3
7
10
10
13
10
10
8
8
7
9
13
10
7
7
6
9
13
8
12
10
8
10
5
5
10
13
9
8
5
7
8
7
6
7
7
7
7
5
8
7
5
3
2
2
3
1
3
4
1
5
7
3
3
2
4
4
0
2
0
0
1
1
0
2
3
1
1
4
2
2
2
0
1
0
0
2
1
1
2
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
2
0
1
0
0
1
3
1
2
0
3
1
3
1
1
0
1
1
0
2
0
3
2
0
0
1
0
2
3
4
1
3
1
2
5
2
3
5
3
3
3
3
4
0
2
4
3
3
2
5
4
5
1
3
4
5
6
4
8
2
3
6
4
5
5
5
9
6
6
5
7
4
1
1
6
3
3
12
10
1
4
7
5
7
7
7
3
7
3
3
4
1
4
2
5
13
7
6
4
5
5
