1
5
2
3
3
3
2
3
0
3
2
2
4
0
2
2
3
0
2
2
0
0
2
1
2
1
0
2
1
0
1
0
0
0
1
0
3
0
2
1
1
2
4
0
0
1
0
0
0
1
1
0
1
3
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
2
1
3
0
1
1
1
1
3
2
1
0
1
0
3
0
0
2
0
1
0
0
1
1
1
0
0
2
2
0
0
0
2
1
0
0
0
0
0
0
0
2
2
0
0
1
2
1
0
1
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
0
0
0
1
0
0
1
0
0
0
2
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
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
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
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
3
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
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
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
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
1
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
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
2
0
1
0
0
0
1
1
2
0
1
0
1
1
1
0
0
0
0
1
2
0
0
1
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
1
1
1
0
3
1
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
3
0
1
2
1
0
0
1
0
2
2
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
2
2
1
2
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
3
1
0
1
1
1
2
2
0
1
1
0
2
1
0
2
0
0
2
0
1
1
0
0
0
0
2
1
2
0
3
0
1
0
0
2
1
0
0
4
1
0
0
1
1
1
1
2
1
2
3
3
0
2
2
2
1
3
1
2
1
0
4
3
5
1
2
1
1
1
1
2
1
4
0
7
3
2
2
1
2
4
2
1
2
3
2
3
0
6
4
3
4
1
3
4
7
4
2
3
5
4
3
2
9
2
7
5
8
5
5
3
3
6
8
3
7
7
6
5
5
7
4
4
6
6
4
4
8
4
5
8
6
9
10
9
7
13
10
6
6
7
8
9
6
9
10
14
11
6
11
9
9
11
11
11
18
16
17
23
19
20
22
17
17
18
28
35
24
28
20
30
27
33
43
44
59
54
45
42
52
53
56
64
57
54
70
67
73
75
66
55
84
69
82
83
78
91
84
79
104
102
93
89
74
77
96
87
84
93
103
90
99
107
94
90
103
99
109
86
101
95
80
108
91
100
92
80
105
91
90
84
81
94
82
87
76
77
74
68
46
61
48
44
48
38
41
29
32
27
21
21
23
17
13
12
18
16
11
6
5
6
12
8
10
4
0
5
2
3
1
3
2
4
1
3
3
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
2
1
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
2
1
3
1
0
0
1
2
0
2
0
0
1
0
0
1
1
1
0
0
0
1
0
1
3
1
1
1
1
2
2
1
1
3
1
2
0
1
1
2
0
3
1
1
0
1
1
1
0
0
1
4
4
1
0
1
2
0
0
3
2
1
2
2
2
0
0
2
0
0
1
2
0
2
0
3
2
3
3
0
4
0
0
1
0
2
1
2
2
4
0
3
0
2
2
1
1
1
3
3
2
2
3
4
1
3
5
2
4
3
0
1
3
3
3
3
3
1
0
3
7
2
3
3
3
3
4
9
5
2
2
2
4
4
6
3
5
5
0
7
3
5
2
1
4
7
7
12
18
9
9
6
11
9
6
16
10
14
13
10
13
10
11
12
17
22
20
17
25
19
24
18
19
22
21
26
21
23
25
31
22
34
38
32
31
30
18
28
35
30
25
29
25
25
39
35
38
29
32
36
28
30
25
33
35
27
35
33
38
38
34
26
27
24
30
21
29
27
24
24
17
28
27
22
19
11
20
25
17
17
22
16
15
11
9
9
7
14
13
7
9
11
7
12
3
11
9
10
9
9
7
5
1
6
3
4
2
5
2
4
1
3
3
2
4
5
2
2
8
1
2
2
2
2
3
2
1
5
2
3
3
5
7
4
3
5
6
5
1
7
3
4
2
4
2
3
5
4
11
8
6
3
4
4
4
3
6
0
6
6
7
8
6
3
5
11
6
8
3
9
4
5
2
7
8
7
1
14
8
9
16
8
17
12
6
11
11
25
12
20
9
22
15
14
16
16
17
14
22
26
20
18
21
24
19
19
17
20
26
20
27
23
20
33
16
26
27
28
30
34
33
26
20
27
34
21
29
18
36
23
26
25
22
38
32
20
23
20
26
20
30
26
37
29
20
18
24
24
32
22
32
19
23
26
28
28
23
18
28
31
24
27
33
26
40
25
32
46
37
32
39
54
43
66
55
62
63
70
63
64
76
70
70
78
77
81
82
85
67
89
83
114
97
102
103
107
125
117
110
122
108
120
156
114
106
140
139
140
129
124
117
127
126
143
155
124
154
139
140
130
120
137
139
171
128
121
127
141
126
120
118
118
118
121
98
112
101
89
75
70
78
78
72
65
53
47
56
68
48
51
34
35
45
32
24
33
30
23
28
16
18
18
15
10
7
4
11
10
7
5
4
5
5
4
7
4
0
1
1
1
0
0
1
1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
2
1
0
0
0
1
1
1
0
0
0
2
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
1
0
0
2
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
2
1
2
0
2
0
1
0
1
1
2
0
0
1
0
1
0
1
0
0
1
0
1
2
1
0
1
0
0
0
0
0
2
0
0
0
1
0
0
1
0
0
0
0
1
2
2
0
0
1
0
0
0
0
0
1
0
0
1
2
0
0
1
0
0
1
0
0
0
1
0
0
2
1
1
0
2
0
0
1
0
0
0
1
0
2
0
1
0
0
1
0
0
1
3
0
3
1
0
1
0
4
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
2
0
1
0
0
1
0
0
4
2
2
0
1
1
1
1
3
1
1
1
1
1
0
0
0
1
1
1
1
1
2
0
1
2
2
1
1
0
0
0
2
0
2
0
0
3
2
1
0
2
0
4
1
1
2
3
2
2
0
2
2
0
4
5
1
3
1
0
0
0
3
2
0
2
3
3
0
4
2
2
3
1
1
0
2
2
0
2
4
2
0
0
0
3
1
1
0
0
0
1
0
2
0
1
2
4
1
1
1
1
1
2
2
1
2
1
1
1
0
0
1
0
1
1
2
1
0
2
0
0
0
0
0
1
0
1
0
1
0
0
1
2
1
1
0
0
0
1
2
0
0
0
2
2
0
1
2
1
1
0
1
1
0
2
2
2
2
0
1
2
1
4
0
1
1
1
0
0
1
0
0
4
0
3
0
2
0
0
2
2
1
0
1
0
0
4
2
0
0
0
2
1
0
1
1
0
1
0
2
1
1
2
2
1
1
1
0
0
2
1
0
1
1
3
2
3
1
3
2
1
4
4
4
1
1
4
2
0
3
3
2
1
3
2
2
1
0
4
2
2
1
3
1
4
2
0
3
0
2
5
4
6
1
2
2
4
4
3
3
6
3
8
5
6
1
4
1
2
1
6
3
0
5
5
4
4
3
4
3
10
8
5
4
4
6
4
7
4
5
2
5
4
7
7
3
4
8
4
5
2
6
7
6
5
3
9
4
2
8
6
9
8
2
8
5
8
4
3
8
6
5
9
10
7
7
7
3
6
7
9
11
9
9
4
10
7
6
9
10
6
12
11
2
11
10
11
11
8
7
4
4
10
10
4
7
3
7
3
10
8
9
5
9
7
9
6
10
10
2
9
6
7
11
7
6
8
12
12
13
5
12
7
5
6
6
7
5
6
4
15
4
10
9
7
11
8
10
4
4
8
10
12
10
7
9
10
8
9
6
5
10
10
7
9
9
1
7
4
4
8
7
5
7
9
5
5
1
5
9
8
3
6
8
12
10
13
8
13
9
4
12
9
8
8
11
11
10
5
10
8
14
9
12
12
10
12
9
9
6
14
14
15
16
13
22
11
12
11
13
8
15
8
11
12
10
10
18
19
12
12
18
12
15
10
10
21
14
14
14
19
18
19
17
21
18
22
17
14
18
19
25
12
8
28
27
20
24
22
15
22
20
13
11
14
25
18
19
26
20
17
22
29
27
24
21
14
20
24
23
22
25
22
21
27
25
26
19
25
22
33
25
28
21
39
26
23
23
25
27
20
22
21
28
26
26
30
28
12
34
23
18
30
29
28
20
36
33
24
38
13
26
24
27
31
24
29
35
31
31
23
34
43
42
23
24
30
39
26
40
31
33
40
44
40
34
39
28
23
36
36
39
36
43
46
50
33
41
40
51
36
38
42
39
42
46
44
46
44
36
41
37
41
41
40
64
56
51
51
60
50
53
46
46
41
60
57
52
48
58
57
60
39
62
65
48
48
55
51
43
58
55
56
59
60
54
56
58
72
73
65
79
64
78
67
74
83
68
62
78
79
71
67
73
84
86
77
72
77
83
80
90
98
99
110
88
83
81
88
99
93
105
92
104
100
109
100
113
107
115
112
124
104
111
117
110
131
134
109
128
127
117
105
128
129
138
142
137
158
141
129
166
141
155
141
155
184
167
163
168
185
162
178
174
178
188
183
197
197
198
205
199
223
200
235
228
215
251
220
227
239
218
253
269
246
244
250
266
272
292
286
291
280
293
297
299
284
300
338
323
308
360
341
339
361
341
394
380
377
376
371
417
382
387
409
430
401
450
445
474
449
404
486
459
485
454
473
498
510
523
541
546
573
599
554
574
602
591
645
665
670
635
652
666
694
679
683
699
730
754
785
758
799
804
849
822
890
890
917
971
944
906
954
927
968
1003
1061
1060
1130
1058
1088
1170
1244
1236
1179
1218
1313
1370
1299
1366
1386
1435
1535
1524
1656
1670
1658
1705
1793
1801
1844
1959
2015
2086
2161
2274
2349
2403
2515
2611
2708
2807
3014
3029
3205
3504
3580
3783
3990
4283
4341
4667
4794
5175
5409
5724
6186
6641
7003
7450
7817
8238
8854
9305
10060
10347
11045
11614
12268
13046
13441
14351
14877
15473
16201
16647
17163
17963
18534
19041
19763
20383
20408
20879
21798
22002
22254
23011
23498
23401
23796
24178
24507
24617
24870
25369
25272
25789
25826
26282
26642
26817
27246
27064
27469
27453
28002
28129
28204
28496
28758
28462
28458
28310
27843
27687
27205
26554
26033
25105
24743
24114
23389
22311
21358
20542
19977
18485
17736
16547
15352
14856
13677
12833
11724
11190
10183
9455
8634
8213
7374
6710
6081
5502
4939
4609
4144
3626
3185
2860
2570
2146
1824
1661
1413
1216
965
823
705
561
479
377
326
220
200
146
125
96
71
56
44
25
32
24
15
13
7
14
7
8
2
9
12
7
7
11
8
7
8
8
8
11
8
11
12
11
8
20
12
8
8
15
12
10
13
22
20
17
19
21
16
19
16
20
15
24
20
20
22
29
26
29
30
29
36
28
26
38
38
31
39
36
36
39
35
35
36
34
30
33
38
29
33
31
33
24
22
33
31
24
13
23
15
16
20
8
9
17
15
6
11
15
12
10
12
7
3
4
1
4
1
6
1
2
1
1
2
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
1
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
0
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
0
0
0
0
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
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
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
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
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
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
1
0
0
1
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
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
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
1
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
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
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
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
2
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
2
0
0
0
0
0
0
0
0
1
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
2
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
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
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
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
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
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
2
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
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
1
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
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
1
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
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
1
0
0
2
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
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
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
2
0
1
0
0
0
0
0
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
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
1
1
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
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
1
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
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
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
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
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
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
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
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
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
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
2
0
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
2
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
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
1
0
0
0
1
1
1
0
0
0
0
0
0
1
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
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
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
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
2
0
0
2
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
0
1
0
0
0
0
0
1
0
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
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
2
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
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
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
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
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
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
2
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
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
1
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
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
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
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
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
0
0
0
0
0
0
0
1
1
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
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
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
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
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
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
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
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
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
1
0
1
0
1
0
0
1
0
2
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
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
1
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
1
0
1
0
0
1
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
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
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
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
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
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
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
1
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
1
0
0
1
0
0
0
1
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
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
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
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
0
0
0
1
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
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
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
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
1
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
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
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
2
2
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
0
1
0
0
1
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
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
2
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
0
0
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
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
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
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
2
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
0
0
1
0
0
0
0
0
0
0
1
0
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
1
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
0
0
0
0
0
0
0
0
1
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
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
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
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
1
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
2
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
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
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
0
0
0
0
0
0
0
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
1
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
1
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
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
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
1
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
1
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
2
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
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
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
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
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
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
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
0
0
0
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
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
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
1
0
0
0
1
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
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
1
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
1
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
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
1
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
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
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
1
0
0
0
1
1
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
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
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
0
0
0
0
2
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
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
1
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
1
0
0
0
0
0
1
0
1
1
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
0
2
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
2
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
3
0
1
0
1
1
2
2
1
3
1
0
0
1
2
2
1
1
0
2
3
2
3
4
2
1
4
1
7
4
2
5
8
4
3
2
3
3
6
5
5
5
4
8
7
2
6
9
5
5
7
9
8
5
4
3
6
8
11
9
6
7
5
8
8
5
4
13
2
9
6
5
8
8
6
11
6
14
7
5
6
9
8
11
4
10
8
4
10
4
3
7
9
3
6
8
6
4
6
1
4
4
1
1
1
3
1
0
1
2
1
2
1
1
1
0
1
0
0
0
0
2
1
0
0
0
0
1
2
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
0
2
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
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
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
2
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
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
1
1
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
0
0
0
0
0
3
1
1
1
0
3
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
2
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
2
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
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
2
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
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
2
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
1
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
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
3
0
0
1
1
1
1
0
0
0
1
1
0
2
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
2
1
4
1
0
0
0
2
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
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
1
0
0
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
2
1
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
2
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
2
0
0
2
0
0
2
0
0
1
0
1
0
0
1
0
0
3
0
0
3
1
0
1
0
0
0
2
0
2
0
0
0
1
1
2
3
1
3
1
0
1
3
2
0
1
0
1
2
2
2
1
1
0
2
0
2
3
1
2
3
2
1
0
9
2
3
3
1
1
5
3
0
3
2
5
6
6
6
9
2
3
7
4
4
4
5
1
6
6
5
5
1
4
3
12
7
4
8
6
3
5
2
6
6
4
5
5
3
7
6
2
2
7
7
2
5
3
4
4
3
5
2
2
4
2
3
0
5
6
1
2
3
3
3
0
3
1
0
0
3
4
1
3
2
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
2
0
0
0
0
1
1
1
1
2
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
2
0
0
1
2
2
3
3
1
3
1
0
2
1
2
1
1
2
0
1
3
2
3
2
2
3
3
3
3
1
1
3
2
3
1
1
1
0
0
4
5
2
4
1
1
4
3
2
2
1
3
2
1
4
6
4
7
3
2
7
4
6
5
5
5
4
0
3
8
4
3
2
2
3
5
