0
1
1
2
1
0
0
3
1
0
1
2
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
2
0
0
2
0
1
2
1
0
3
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
2
0
2
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
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
1
0
2
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
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
2
0
1
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
2
0
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
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
2
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
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
2
1
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
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
2
0
0
0
2
1
0
0
1
0
0
0
0
2
0
0
0
0
1
2
0
2
0
1
0
0
0
0
0
0
1
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
1
0
1
0
1
0
1
2
0
0
0
0
1
0
0
0
0
1
0
0
0
2
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
2
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
2
0
0
1
1
1
1
0
0
0
0
0
2
0
1
2
1
1
1
0
2
4
0
1
1
1
0
2
1
0
0
0
0
1
1
1
2
0
0
2
0
0
4
3
0
3
1
1
0
3
1
0
2
2
0
2
0
0
0
1
0
2
1
2
1
1
1
2
1
0
1
0
1
4
4
4
2
1
3
2
1
4
1
2
1
0
0
2
2
4
6
1
1
3
2
5
1
2
0
2
2
3
1
3
4
5
3
5
3
3
3
0
5
4
3
6
6
7
7
5
5
3
6
9
8
6
9
6
6
13
8
10
13
14
20
10
15
19
3
13
8
17
17
16
20
24
16
20
14
25
21
21
18
30
36
27
21
32
14
15
30
30
26
21
26
28
30
31
13
24
29
43
31
32
41
26
27
27
26
28
33
29
31
24
27
26
28
29
27
26
21
33
17
24
16
22
17
21
10
19
20
15
17
14
12
6
12
6
10
3
8
6
6
8
4
0
4
4
3
4
2
3
1
3
1
1
0
0
2
1
1
1
0
0
1
0
1
0
0
0
2
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
3
0
0
0
0
1
0
0
2
0
1
0
0
0
1
1
0
3
0
0
0
0
0
1
0
2
0
0
0
1
1
0
2
0
0
1
0
2
0
2
2
0
0
0
1
2
1
0
0
1
0
0
0
0
1
0
0
0
1
3
1
3
0
0
0
2
1
0
2
1
0
0
1
0
0
0
2
4
0
0
0
1
0
0
1
2
0
2
3
0
0
2
0
0
1
2
1
0
0
1
3
0
1
1
0
1
1
1
2
2
0
0
2
2
1
3
0
1
1
2
0
0
0
1
3
1
0
0
0
0
1
0
2
0
0
1
1
1
2
2
3
3
3
0
2
3
2
3
2
1
1
2
0
0
2
3
4
1
1
1
3
2
3
4
3
6
2
1
3
3
2
6
6
3
6
4
4
4
6
3
5
5
3
6
6
8
7
8
12
13
12
10
13
14
11
6
14
14
16
14
10
16
12
12
16
19
22
17
12
20
18
19
10
15
22
17
15
13
19
18
26
30
17
25
15
21
17
19
28
19
27
22
22
21
23
17
18
25
24
17
19
27
24
19
23
18
24
18
19
16
16
17
12
11
13
14
10
21
14
13
13
10
7
7
8
6
4
8
7
5
5
8
2
6
3
7
4
6
4
4
2
3
0
2
2
2
2
2
1
1
0
1
2
1
2
2
4
2
1
3
3
4
2
3
3
2
2
2
1
3
3
5
2
3
4
5
3
6
3
1
4
2
2
3
2
2
4
3
3
1
3
0
1
2
2
4
6
2
3
2
4
3
6
3
2
2
3
7
3
4
1
3
3
7
7
11
6
5
2
10
12
5
4
8
7
9
5
6
9
4
8
9
10
13
18
17
15
12
13
18
13
20
16
16
12
10
13
11
16
10
15
20
10
23
13
9
10
18
11
27
9
16
16
10
18
18
16
14
15
23
20
13
15
22
19
16
15
13
22
12
17
19
15
13
11
17
22
11
21
19
35
16
19
17
17
23
22
18
24
19
20
19
27
22
27
26
24
26
30
24
22
28
30
39
40
28
41
44
45
56
55
45
54
47
65
64
54
66
67
78
65
72
88
66
76
76
87
77
79
68
89
76
75
74
74
95
93
81
90
93
83
97
103
102
81
84
103
104
95
98
97
89
99
96
100
89
93
102
89
83
73
95
66
95
67
90
64
66
70
65
48
65
46
39
51
39
44
39
35
27
37
30
22
26
22
19
16
11
16
15
16
6
14
9
8
8
7
4
6
3
5
4
5
2
1
4
3
1
2
1
1
0
1
1
1
0
0
2
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
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
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
0
0
0
0
0
0
1
0
0
0
1
2
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
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
2
2
1
0
1
1
0
0
0
1
0
1
0
1
0
2
1
0
0
0
1
2
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
2
0
1
1
0
0
1
1
0
1
0
2
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
0
1
1
2
0
0
1
0
0
1
1
0
0
0
1
0
0
1
2
0
0
0
1
1
0
0
1
0
2
0
1
1
0
3
1
1
1
1
1
3
0
0
0
0
1
1
1
4
0
0
1
1
3
1
0
1
0
1
0
0
0
0
3
0
0
0
2
1
1
2
0
1
1
2
1
1
3
1
1
0
2
1
0
0
1
2
0
0
3
0
1
1
1
1
1
0
1
0
0
2
2
0
1
3
0
0
1
1
0
0
1
3
1
3
2
1
0
1
0
0
0
2
1
3
1
0
0
0
1
2
1
1
0
0
1
1
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
1
2
0
0
0
0
0
1
1
1
0
0
0
0
2
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
2
2
1
0
1
0
2
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
2
0
1
0
1
0
0
0
1
1
0
2
1
1
0
1
1
2
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
2
2
0
1
0
1
0
0
0
0
0
0
2
3
2
1
0
1
2
1
1
3
1
0
1
5
2
1
0
1
3
3
0
0
1
2
2
4
0
3
1
1
1
5
1
3
2
1
1
3
1
3
2
4
1
2
2
2
2
0
1
2
2
0
3
4
1
3
2
3
1
2
2
6
2
4
3
2
1
6
2
3
1
3
2
2
5
3
3
4
2
5
4
0
4
6
1
2
3
2
4
8
4
8
2
6
4
3
4
3
4
3
5
5
2
5
5
6
2
5
7
1
3
3
2
4
5
3
2
5
1
6
2
4
10
3
4
3
5
5
2
7
7
11
6
2
4
7
10
2
3
6
5
4
5
7
3
5
9
4
6
2
6
5
5
5
2
6
5
2
6
3
15
6
10
5
5
7
4
2
3
1
3
5
2
10
1
4
3
2
3
5
5
5
4
6
8
5
3
5
2
6
9
6
6
3
5
5
4
5
4
3
4
3
5
6
5
4
4
13
4
5
4
4
2
8
2
7
2
6
8
2
9
7
9
11
6
10
4
6
5
4
6
1
8
4
7
1
5
9
12
5
8
9
13
7
9
11
5
7
5
5
8
11
6
5
14
9
14
6
9
7
8
13
7
7
9
8
4
13
9
10
7
4
15
7
13
10
13
10
17
10
11
8
11
12
12
12
9
10
13
11
9
8
14
11
17
7
11
11
15
11
10
7
11
11
13
15
9
15
19
9
13
17
12
12
21
8
9
14
14
17
12
14
11
12
13
7
16
18
10
10
14
13
12
15
5
12
16
12
12
12
8
16
14
10
14
18
15
13
18
10
11
14
20
15
12
14
9
16
21
18
17
19
14
14
21
20
14
23
26
21
21
13
19
12
26
20
16
24
12
18
34
22
20
20
26
25
24
29
26
24
30
35
27
21
24
21
27
24
28
23
37
24
21
25
33
34
29
24
33
30
35
32
37
43
22
37
29
26
21
34
38
31
36
39
38
24
44
33
26
35
30
43
35
39
21
37
36
33
40
41
35
31
41
35
49
39
56
42
41
42
37
52
47
49
47
45
64
36
51
47
50
50
56
51
54
50
52
58
61
56
50
52
63
55
61
74
50
61
48
83
68
73
55
76
65
67
80
79
69
70
63
80
70
87
82
77
81
84
97
90
70
90
96
91
99
78
108
98
110
103
102
115
99
96
102
116
131
108
140
130
131
119
126
126
141
149
132
137
158
155
147
166
142
132
164
159
157
151
141
174
168
172
175
169
200
207
180
181
186
181
189
212
216
226
212
200
232
233
222
214
230
253
265
239
245
273
269
270
263
236
257
269
305
269
267
310
284
290
359
306
318
339
315
314
382
361
351
346
318
356
365
383
414
404
414
384
458
429
433
483
452
480
517
453
530
489
520
547
522
587
571
549
562
599
530
625
652
635
604
627
651
664
675
723
732
787
761
733
760
801
875
887
880
893
839
1011
958
961
1003
1040
1042
1050
1170
1147
1254
1269
1307
1264
1373
1354
1414
1494
1502
1638
1635
1749
1782
1854
1877
1967
2068
2208
2277
2402
2532
2790
2863
2925
3069
3243
3581
3601
3927
4178
4478
4704
4880
5318
5656
5980
6492
6814
7261
7671
8078
8485
9089
9453
10283
10539
11160
11479
12015
12765
13004
13914
13949
14231
15343
15251
15773
16316
16723
17115
17372
17446
17861
18093
18787
18763
18911
19045
19064
19216
19598
19520
19804
20210
20331
20698
20892
21168
21466
21657
21839
21928
22064
22431
22376
22374
22147
22290
22197
22086
21765
21468
20855
20477
19716
19504
18715
17780
17415
16571
15814
15261
14055
13094
12625
11797
11318
10587
9678
9012
8324
7739
7185
6661
5939
5404
5032
4787
4143
3727
3254
3020
2556
2378
2083
1801
1548
1307
1140
941
779
680
572
491
376
294
251
183
161
120
87
75
44
40
27
27
18
11
17
13
9
9
3
3
4
2
4
2
3
3
6
6
5
5
3
6
6
6
9
7
6
11
3
8
5
5
13
10
5
9
9
10
12
12
11
9
13
15
14
10
16
12
15
10
19
15
10
8
16
19
15
16
13
22
20
12
22
25
18
18
19
17
24
28
22
18
16
16
19
18
23
17
11
19
12
10
6
10
17
12
9
5
4
7
7
7
5
8
5
5
3
1
3
2
2
1
0
2
1
0
2
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
1
0
0
0
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
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
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
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
1
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
1
0
0
0
0
0
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
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
1
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
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
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
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
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
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
1
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
0
0
0
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
1
0
0
0
0
1
0
0
0
1
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
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
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
0
1
0
0
0
0
0
0
0
0
0
0
2
0
1
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
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
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
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
1
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
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
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
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
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
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
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
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
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
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
1
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
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
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
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
1
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
1
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
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
2
0
0
1
0
0
0
0
0
1
2
0
1
0
0
0
1
1
1
0
0
1
0
0
2
0
0
0
0
0
0
2
0
1
1
0
0
0
1
1
1
1
0
0
2
0
1
0
0
0
1
0
0
1
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
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
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
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
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
0
0
2
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
0
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
1
0
1
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
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
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
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
1
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
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
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
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
1
0
0
0
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
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
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
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
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
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
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
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
1
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
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
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
0
0
0
1
0
0
0
0
0
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
1
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
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
2
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
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
1
0
1
0
0
0
0
0
0
1
1
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
1
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
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
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
0
1
0
0
1
1
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
0
0
0
0
0
0
0
0
0
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
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
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
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
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
0
0
1
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
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
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
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
1
0
0
0
0
0
0
0
2
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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
2
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
4
1
1
0
2
1
1
0
1
1
2
0
1
0
2
1
2
2
3
5
0
3
1
1
4
2
3
1
2
1
0
3
2
0
2
2
2
2
1
2
2
2
1
3
2
0
3
1
2
1
1
1
2
3
3
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
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
0
0
0
0
0
1
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
1
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
0
0
0
0
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
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
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
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
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
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
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
2
0
0
1
0
0
0
0
0
0
0
0
1
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
1
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
2
1
0
1
0
0
1
0
1
0
1
0
0
0
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
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
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
1
1
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
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
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
1
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
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
1
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
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
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
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
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
1
1
0
1
0
1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
1
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
1
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
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
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
1
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
1
1
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
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
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
1
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
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
1
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
2
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
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
1
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
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
2
1
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
1
1
1
0
0
0
0
1
0
2
1
0
0
0
1
0
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
2
0
0
0
1
0
0
1
2
2
0
1
0
0
3
1
0
0
0
0
3
1
1
0
1
1
1
3
0
0
0
0
1
0
0
0
2
0
0
0
0
1
0
1
0
0
0
0
1
1
0
4
0
1
2
1
3
0
0
2
0
1
1
3
1
0
2
2
0
0
0
2
1
1
0
0
0
1
2
0
2
2
2
1
4
2
1
1
3
1
1
0
4
1
0
4
2
1
2
6
3
0
5
6
2
6
1
4
5
3
3
5
5
2
5
2
5
7
6
5
11
17
15
10
15
10
12
15
14
14
10
12
7
12
14
23
29
14
21
19
18
19
15
18
15
25
21
15
20
22
22
29
24
16
20
22
22
19
30
17
22
23
27
22
27
23
34
25
23
24
25
26
26
24
30
20
17
17
16
25
17
15
16
12
17
12
9
10
9
7
9
5
6
8
3
10
4
5
6
9
5
5
3
2
2
3
0
1
1
1
1
1
3
1
0
1
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
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
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
2
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
0
0
2
0
0
0
2
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
0
0
0
0
0
0
0
2
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
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
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
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
2
1
0
0
2
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
1
1
2
0
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
1
0
2
0
0
1
1
0
1
0
0
1
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
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
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
2
0
0
1
0
0
1
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
2
0
0
0
1
0
1
0
0
2
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
1
0
2
1
0
0
1
0
1
0
1
0
0
0
1
2
0
1
1
0
0
0
0
2
0
1
1
2
3
4
1
2
0
2
1
0
4
3
3
5
2
5
3
4
2
8
6
4
6
4
2
6
7
1
5
3
5
7
5
1
7
5
4
3
3
4
3
8
6
3
2
6
4
3
3
3
4
5
4
3
3
7
1
9
5
1
5
1
3
4
2
3
5
5
3
2
0
4
1
1
1
1
1
1
5
2
0
0
2
4
2
0
1
2
2
0
3
0
1
1
1
0
1
0
1
0
0
0
3
1
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
2
2
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
3
0
1
0
0
0
1
0
0
2
1
1
0
4
0
0
4
1
4
1
1
0
0
2
2
0
0
2
3
1
1
3
1
3
1
1
1
1
1
2
2
1
3
2
1
0
4
3
2
2
2
1
2
3
5
1
1
6
2
3
3
1
3
2
3
2
2
6
4
1
4
1
6
4
2
1
2
2
0
0
0
0
1
1
2
1
