0
0
0
0
0
1
2
1
4
0
0
3
2
2
2
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
1
1
0
0
0
2
0
0
0
0
2
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
2
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
1
1
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
1
0
0
1
0
0
0
1
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
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
3
0
0
0
1
0
2
1
0
1
0
1
0
2
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
2
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
2
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
2
0
1
0
0
1
2
1
1
1
0
1
0
0
2
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
2
1
1
0
1
1
0
0
0
0
1
1
2
1
1
1
1
1
0
1
0
2
1
0
0
3
1
2
0
1
0
0
1
2
0
1
0
2
2
1
1
2
0
1
1
4
3
4
2
3
1
1
0
2
0
0
1
1
1
0
1
1
0
3
0
0
0
2
0
2
3
0
0
0
3
2
3
1
1
2
1
3
0
2
1
1
0
4
1
1
2
1
0
3
2
0
2
0
0
3
2
1
0
1
0
3
3
0
0
2
2
2
0
1
2
3
2
3
4
1
3
2
1
0
3
2
4
0
2
2
0
3
0
4
1
0
1
3
2
2
1
3
1
1
2
2
4
3
2
2
2
0
1
6
4
1
1
4
2
1
1
2
2
2
2
5
2
5
3
2
3
3
8
4
7
1
0
5
6
1
4
7
4
4
5
3
4
2
4
2
5
1
4
5
4
2
5
6
4
4
6
4
5
6
5
5
2
4
7
10
4
3
6
6
8
7
4
8
6
5
4
4
12
7
10
9
5
3
8
7
6
4
8
5
4
3
11
9
10
12
5
15
10
8
13
11
8
18
8
6
13
8
11
18
12
5
12
12
13
14
10
14
12
15
14
10
12
14
16
14
19
15
20
14
20
28
13
15
15
16
16
20
19
16
20
18
16
21
24
17
14
33
25
26
24
28
16
19
28
21
20
24
28
29
27
28
24
35
32
26
22
27
35
33
28
40
47
51
30
29
30
36
51
34
32
28
45
45
38
39
49
41
44
37
50
51
46
60
51
45
64
62
45
54
51
48
69
51
68
73
61
67
88
69
61
70
81
88
87
87
94
85
82
75
79
93
101
122
110
111
115
124
128
142
146
135
139
145
169
164
191
185
173
190
210
212
248
234
254
291
297
297
317
313
389
414
434
445
464
527
497
552
599
664
691
716
781
889
869
871
977
979
1054
1128
1134
1211
1228
1254
1341
1424
1435
1462
1534
1500
1657
1649
1689
1688
1764
1801
1748
1813
1819
1832
1891
1884
1869
1950
1902
1899
1967
1983
2030
1963
2095
2068
1953
2115
2218
2156
2148
2079
2104
2215
2063
2072
2168
2107
1983
2032
1895
1849
1773
1737
1714
1612
1569
1502
1430
1267
1207
1202
1057
1057
888
870
815
793
649
650
580
535
435
420
405
375
309
282
275
223
223
179
157
147
124
84
68
76
58
35
26
36
24
22
9
11
15
9
6
4
1
1
0
0
3
0
2
1
0
0
0
3
0
0
0
0
1
0
1
0
1
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
2
0
1
0
1
0
0
0
0
1
2
0
0
0
3
1
0
2
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
4
0
0
2
1
2
1
0
2
1
0
0
1
0
2
0
0
0
0
0
0
2
0
1
0
2
2
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
2
0
0
2
0
0
0
1
1
2
0
1
0
2
0
0
0
2
1
1
0
0
0
0
1
0
0
0
1
2
0
1
1
0
0
2
1
4
0
1
3
0
3
1
3
2
1
3
1
1
3
1
2
1
4
4
3
4
3
4
3
4
2
2
3
3
3
3
1
2
7
5
5
3
4
7
2
6
11
11
6
8
4
5
8
11
3
6
1
8
6
6
8
7
4
7
7
7
11
3
5
4
2
7
11
4
11
7
8
9
9
11
10
7
11
7
10
5
10
12
4
10
8
6
13
2
4
6
6
10
6
3
7
11
5
2
3
6
3
3
3
1
1
3
2
2
1
2
1
1
2
1
4
2
0
1
1
2
1
1
3
1
0
3
1
2
0
2
1
0
1
0
0
0
1
0
0
0
2
1
1
0
1
3
0
3
1
1
2
0
0
1
0
0
0
0
1
2
2
0
1
1
0
2
0
2
4
0
0
1
0
0
0
2
3
1
0
1
1
1
1
0
0
0
3
2
1
1
1
5
2
2
2
4
2
0
2
1
4
5
2
4
1
3
3
3
4
1
5
3
2
2
5
5
4
5
4
4
6
5
3
6
6
10
6
10
11
5
2
6
4
4
10
8
5
5
4
4
12
4
6
6
4
2
3
4
6
8
5
5
5
7
4
5
6
5
6
8
9
4
12
8
8
6
9
4
8
6
7
5
6
9
6
9
8
9
11
4
12
7
9
7
7
8
12
11
11
12
11
13
12
13
12
21
16
17
27
17
11
26
17
31
25
31
20
24
33
30
30
26
32
31
37
41
24
27
32
35
25
24
33
34
35
27
32
40
37
46
40
32
39
42
42
42
51
41
25
37
42
38
35
41
43
38
40
41
27
36
32
33
28
23
31
28
20
33
28
22
33
15
24
25
13
10
15
17
14
8
11
11
8
10
4
9
1
6
10
6
5
4
6
1
4
4
0
1
1
3
1
2
1
1
2
1
1
0
0
0
0
0
1
1
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
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
1
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
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
1
0
1
0
2
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
1
1
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
1
0
0
0
0
1
0
0
2
0
0
0
0
1
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
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
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
2
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
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
2
0
2
0
0
3
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
2
0
0
1
1
0
2
1
0
2
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
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
1
0
0
0
0
1
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
0
0
1
0
0
0
1
0
0
0
1
0
0
0
2
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
2
1
0
1
0
2
1
1
0
0
1
2
2
0
0
0
0
3
1
0
4
0
2
0
1
1
3
0
1
2
1
1
0
0
0
0
1
0
0
0
0
3
0
1
0
0
0
1
0
1
2
1
0
1
2
0
2
0
2
4
1
2
0
2
1
0
1
1
1
0
2
2
0
0
1
3
1
0
2
2
2
1
1
1
0
1
1
0
1
0
2
2
3
4
1
0
1
3
2
0
3
1
1
1
1
0
4
2
1
2
2
1
1
1
1
1
0
1
1
1
6
0
1
0
1
0
0
1
4
1
1
1
2
1
1
2
0
1
1
3
3
3
1
4
0
4
1
4
3
2
0
1
1
1
2
1
5
2
3
1
2
2
1
1
1
1
2
0
1
1
3
1
1
2
1
0
1
2
4
2
2
1
1
3
1
3
1
2
1
1
4
2
3
5
0
2
1
2
2
3
2
1
3
3
2
6
2
2
3
5
1
4
3
0
0
0
1
3
1
4
0
3
1
3
5
5
3
1
1
1
4
3
3
2
3
3
3
0
2
4
7
3
7
3
2
2
5
2
4
5
2
5
2
5
2
4
4
3
4
4
4
1
2
1
3
1
2
3
1
4
2
1
4
5
6
6
3
8
6
3
4
4
3
2
3
3
4
5
1
5
5
6
4
4
11
5
4
5
5
5
6
3
8
5
10
3
5
7
2
3
5
4
0
4
3
4
3
3
1
6
9
8
5
5
3
6
2
4
3
7
5
8
3
4
2
6
4
4
4
1
5
2
4
4
4
8
5
9
6
9
6
6
7
5
8
6
7
7
6
7
5
9
12
8
11
7
11
7
6
7
9
6
5
6
11
7
9
10
7
10
8
14
8
11
6
7
5
12
14
11
6
19
12
11
8
11
11
6
8
12
9
12
10
10
13
8
10
14
14
14
13
7
21
16
14
17
12
11
7
17
10
21
20
18
13
21
17
19
19
21
17
16
19
19
12
17
30
21
21
17
14
20
12
18
16
26
21
17
24
30
23
20
19
19
33
16
25
24
21
22
36
30
29
31
26
25
30
23
30
34
32
40
33
37
39
41
39
50
36
46
42
41
36
53
58
36
35
57
56
45
51
62
64
50
54
61
46
54
59
60
68
54
57
58
64
67
72
68
80
65
68
64
81
80
78
63
70
85
72
88
83
94
86
77
81
75
109
90
79
70
88
103
99
104
94
99
93
104
111
124
112
140
137
134
117
126
133
129
132
130
133
180
141
142
147
129
137
149
155
176
191
162
163
177
189
206
184
181
218
198
210
189
185
199
223
206
243
213
253
256
243
262
246
239
249
308
283
279
280
308
330
340
312
358
352
368
405
381
362
383
396
451
450
460
486
521
507
551
511
550
610
598
655
684
688
723
691
766
856
905
872
955
984
1137
1141
1197
1254
1348
1381
1534
1614
1718
1771
1964
2057
2174
2305
2444
2513
2718
2907
3161
3250
3506
3647
3837
4039
4324
4420
4692
4755
5074
5404
5467
5561
5922
6221
6392
6379
6640
6789
6969
7185
7113
7289
7596
7625
7741
7776
7965
7958
8269
8060
8299
8321
8480
8403
8494
8668
8698
8773
9123
9094
9033
9164
9309
9207
9195
9155
9128
9268
9046
8957
8932
8501
8447
8208
7944
7760
7355
7284
6939
6518
6406
6099
5720
5435
4934
4765
4444
4138
3865
3706
3300
3131
2936
2582
2308
2265
1960
1846
1672
1460
1304
1253
1069
955
823
770
623
540
443
411
343
259
253
193
174
135
101
81
68
48
52
33
30
13
14
21
6
9
8
5
3
1
3
3
2
0
2
0
0
1
0
0
2
0
0
1
1
0
0
2
2
4
2
0
2
0
1
1
1
1
3
0
1
3
1
5
3
4
2
3
1
1
4
0
5
4
4
1
3
2
2
2
7
7
7
3
1
4
6
1
6
5
6
4
5
10
1
6
4
3
2
1
4
3
4
0
1
1
3
3
3
2
1
2
4
1
0
0
2
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
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
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
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
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
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
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
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
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
1
1
2
1
0
0
0
0
0
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
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
1
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
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
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
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
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
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
0
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
1
1
0
0
0
0
0
2
0
1
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
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
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
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
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
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
0
0
0
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
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
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
1
0
2
0
2
1
0
0
1
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
1
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
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
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
1
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
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
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
1
0
0
0
0
0
0
2
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
1
1
1
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
2
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
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
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
0
0
0
0
0
0
0
2
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
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
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
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
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
0
0
0
0
0
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
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
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
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
0
0
1
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
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
1
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
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
0
1
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
1
0
0
1
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
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
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
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
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
1
0
0
0
0
1
1
1
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
0
0
0
0
0
1
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
1
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
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
1
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
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
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
0
0
0
0
0
0
0
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
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
3
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
1
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
1
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
0
0
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
1
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
2
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
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
1
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
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
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
0
0
2
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
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
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
1
0
0
0
1
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
1
0
0
0
0
0
0
0
2
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
0
1
1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
1
1
0
0
2
0
0
1
1
1
1
1
1
0
0
0
0
1
1
2
1
0
5
1
2
1
0
0
0
2
2
4
2
2
2
2
2
4
2
3
1
2
3
4
2
0
1
2
1
2
4
1
1
2
1
0
1
1
1
2
2
0
0
1
3
0
1
1
4
0
2
1
0
2
0
2
2
1
0
3
0
2
2
1
3
0
0
2
1
1
0
0
1
0
1
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
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
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
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
1
0
0
0
0
0
0
1
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
1
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
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
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
1
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
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
1
0
0
0
0
1
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
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
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
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
0
0
0
0
1
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
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
2
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
2
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
1
1
0
0
0
0
0
0
1
0
0
1
1
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
1
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
1
0
0
0
1
0
0
0
1
0
1
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
1
0
0
1
0
0
2
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
1
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
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
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
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
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
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
1
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
1
1
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
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
1
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
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
1
0
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
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
1
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
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
1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
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
0
0
0
1
0
5
0
0
0
0
0
0
1
1
0
0
2
1
0
0
0
0
0
0
2
0
1
0
0
0
1
0
0
1
1
3
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
2
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
2
3
2
2
3
1
0
0
2
0
0
4
0
4
1
0
0
3
0
2
1
3
1
2
0
3
0
4
2
1
2
1
0
2
4
4
3
3
4
4
5
2
2
1
3
4
7
3
3
1
4
3
5
4
4
4
3
2
4
4
8
2
10
7
9
7
11
9
6
12
7
5
6
8
4
16
9
17
9
12
16
14
17
12
16
22
12
19
22
26
24
25
36
30
21
30
31
37
33
34
31
31
35
40
29
28
36
37
35
47
28
47
43
29
43
35
53
36
45
50
41
45
39
48
52
43
39
50
48
48
48
62
54
54
46
51
53
45
35
30
36
30
36
30
31
28
23
16
32
25
26
22
27
14
11
18
10
12
10
6
8
3
4
7
9
12
7
8
9
1
2
2
0
1
2
0
2
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
1
0
0
0
1
0
0
1
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
1
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
3
0
1
0
1
1
0
0
0
0
3
0
0
0
0
1
0
1
0
2
0
0
1
0
1
0
0
0
0
0
2
1
0
0
1
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
2
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
2
0
2
1
2
0
2
0
1
1
2
1
1
0
1
0
2
0
0
0
1
0
2
1
1
0
3
2
1
1
3
1
2
6
1
2
3
2
1
4
0
4
1
2
1
2
5
3
3
1
1
3
2
1
1
0
2
1
1
2
1
1
4
3
3
4
0
2
4
2
4
3
1
2
1
1
2
3
3
1
3
1
0
3
1
2
1
3
1
1
1
0
0
1
1
0
1
3
0
1
0
0
0
1
0
0
0
0
0
1
1
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
1
0
0
0
0
0
1
1
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
2
0
4
3
1
0
1
0
0
1
0
1
1
1
1
3
0
0
1
0
1
0
5
1
0
1
1
4
0
2
1
1
2
2
0
1
1
2
3
1
5
0
3
0
3
5
0
2
1
1
1
5
1
0
3
3
1
0
5
0
4
3
2
1
2
1
2
0
4
5
2
0
2
1
2
0
2
1
1
1
2
4
3
4
1
3
0
3
0
2
0
4
1
2
2
1
5
9
2
6
3
5
7
1
4
4
4
9
6
6
4
9
5
8
6
9
5
8
4
11
7
6
7
6
5
6
7
8
11
7
10
17
8
4
9
13
9
8
8
14
11
6
4
11
9
11
5
8
7
11
11
14
7
10
8
10
11
10
10
10
8
5
7
7
4
7
8
7
8
3
10
5
9
6
7
2
6
7
3
4
1
1
0
3
2
4
4
4
1
2
2
0
1
0
3
1
0
0
1
0
0
2
0
0
1
0
1
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
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
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
0
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
1
0
2
0
0
0
1
0
0
1
0
0
1
0
1
2
0
1
0
0
0
1
0
1
2
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
2
0
0
1
3
2
1
2
0
1
0
1
0
1
1
1
2
1
3
1
1
1
2
2
2
2
2
2
2
1
1
1
0
0
2
0
3
2
1
2
1
3
1
0
3
1
2
3
0
2
0
3
4
1
3
3
0
2
1
1
0
0
4
3
1
0
1
1
3
2
3
1
2
0
1
0
3
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
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
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
1
2
1
0
0
0
0
1
2
1
1
1
2
0
0
0
1
1
0
0
2
0
0
1
0
0
0
0
1
0
3
0
0
0
0
2
0
1
1
1
0
0
4
1
2
2
2
3
2
3
1
1
0
1
2
1
1
0
2
0
1
1
2
0
2
2
0
1
0
1
1
0
0
1
1
0
