3
1
2
0
0
2
4
1
0
0
2
2
2
1
0
1
2
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
2
0
1
0
1
1
0
0
1
0
0
0
2
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
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
1
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
0
1
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
2
3
0
0
1
0
0
1
1
0
2
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
2
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
2
2
2
0
0
3
0
1
0
2
1
0
0
2
0
1
0
1
0
0
1
0
3
1
0
0
0
1
1
0
2
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
4
0
0
0
0
2
0
1
0
0
1
0
0
0
0
0
1
1
0
2
0
1
0
0
0
2
1
1
0
1
1
0
0
0
2
0
1
2
1
1
0
1
1
2
0
0
0
0
2
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
2
0
1
2
0
0
0
1
0
0
1
0
2
1
1
1
1
1
0
0
1
1
1
2
1
2
1
3
1
0
1
0
1
0
2
0
2
0
2
0
3
1
2
0
1
3
2
2
4
0
2
2
2
0
1
2
3
1
3
5
1
1
4
2
1
1
3
2
1
1
2
3
0
0
3
3
0
4
3
1
3
4
2
2
1
2
0
3
5
1
1
2
1
2
4
1
0
3
0
2
5
0
0
2
1
5
6
4
1
0
3
5
1
2
2
6
4
3
5
6
3
4
1
3
4
6
3
6
4
7
1
2
5
7
1
3
5
6
6
4
7
6
9
8
4
6
6
10
7
9
7
3
7
6
4
7
8
4
7
4
8
8
8
9
8
12
3
6
5
10
12
6
7
5
4
9
14
7
10
13
6
8
5
9
8
13
9
15
8
8
13
10
8
12
7
12
20
9
17
12
17
16
12
14
11
15
14
22
22
17
24
14
24
25
20
24
19
17
22
27
24
23
24
36
23
31
34
33
22
31
35
39
31
30
32
40
39
25
38
29
51
44
39
49
50
47
43
52
43
59
52
63
65
70
65
75
66
76
76
82
79
95
85
97
116
141
114
123
130
134
145
135
153
172
169
189
202
191
225
235
254
230
287
299
318
330
324
287
392
309
356
344
401
432
387
409
431
429
432
429
411
483
453
455
432
473
457
541
494
535
507
522
523
521
550
511
552
571
556
586
603
607
553
593
570
565
559
509
549
615
543
558
511
524
484
464
435
437
408
380
358
372
358
323
294
279
245
219
222
196
191
166
161
136
130
115
112
102
108
75
74
56
56
38
43
41
26
33
24
21
25
12
16
12
12
10
3
4
4
1
1
2
1
0
1
0
1
2
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
2
0
0
0
1
2
0
0
1
1
1
0
0
1
0
0
0
2
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
2
1
1
1
0
1
0
0
0
0
0
2
0
0
0
0
0
1
2
0
1
3
1
1
0
1
0
2
2
0
1
1
1
0
1
1
2
2
2
0
1
0
2
1
1
2
1
1
1
2
1
1
0
2
2
0
3
1
0
0
1
0
1
2
0
2
0
2
0
0
0
1
1
0
1
0
1
4
2
0
0
1
1
1
0
1
1
1
0
4
1
0
2
0
1
3
1
3
1
2
2
2
1
1
1
2
0
2
2
3
3
2
3
2
5
2
3
3
7
2
2
2
5
2
4
3
1
1
9
6
5
8
5
9
7
10
8
11
8
8
7
16
8
9
19
11
7
10
11
12
15
14
13
12
12
16
7
10
23
15
14
17
14
15
18
10
14
15
16
15
22
17
4
20
19
17
12
20
28
11
20
22
13
17
17
18
13
22
15
13
17
14
16
22
18
19
15
11
16
14
11
14
8
10
14
4
13
12
6
10
7
8
10
5
6
4
7
6
3
5
7
3
2
3
4
3
6
5
1
2
1
4
1
2
2
4
4
2
2
1
1
1
1
2
1
3
0
0
5
2
1
1
4
1
2
2
0
3
2
1
1
2
2
3
2
1
5
4
2
1
3
3
2
0
1
1
2
2
1
2
2
2
1
2
1
5
5
1
3
3
2
2
3
5
6
2
5
2
3
7
2
3
6
4
6
3
6
7
3
4
11
9
4
7
6
9
7
3
7
9
8
7
9
14
11
14
11
10
7
12
10
9
8
9
11
12
17
10
9
12
10
7
15
10
12
17
14
12
7
9
6
16
10
14
19
15
7
19
13
10
15
16
11
17
15
19
13
20
24
18
8
16
16
14
17
21
12
14
21
14
18
15
14
10
12
25
23
16
18
19
26
19
21
26
17
18
25
20
35
32
32
26
38
32
30
39
37
57
44
55
50
62
45
54
43
66
66
57
59
63
55
75
58
71
56
72
66
54
66
75
68
80
76
78
87
87
82
89
70
82
77
95
86
76
73
94
78
74
76
92
92
95
70
85
84
76
64
63
73
74
69
70
77
67
59
50
52
36
44
41
31
51
51
32
30
26
25
21
21
23
19
23
18
13
15
12
7
11
6
17
10
2
10
4
4
4
6
4
1
2
4
2
1
4
1
0
1
0
0
0
0
2
0
2
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
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
1
1
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
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
1
0
0
0
1
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
1
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
1
0
0
1
1
0
0
0
1
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
2
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
2
1
1
1
0
0
1
0
0
0
1
3
1
2
1
2
0
0
0
1
0
2
0
1
0
1
1
0
2
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
2
1
0
0
1
1
0
1
0
0
2
1
1
0
0
0
1
0
2
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
2
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
2
0
1
1
0
0
0
2
0
1
1
2
3
1
0
1
1
0
1
1
2
0
1
1
1
1
0
1
2
0
0
0
0
1
2
1
0
0
0
1
0
2
0
0
0
1
1
1
2
0
0
0
1
2
1
0
1
3
2
3
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
2
1
1
2
0
2
1
0
1
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
2
1
2
0
1
0
0
0
1
2
1
0
0
0
0
0
1
0
0
0
0
1
1
3
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
2
3
3
0
0
2
1
0
1
0
1
0
0
1
2
2
0
0
0
0
2
1
0
0
1
0
0
0
2
0
0
0
1
1
0
2
0
2
2
1
2
4
0
0
3
1
1
1
0
1
1
1
0
1
0
2
0
1
0
1
1
2
2
0
4
1
0
1
0
1
2
0
1
1
4
4
3
1
3
1
0
1
2
2
2
5
0
1
1
3
4
3
4
2
3
1
1
6
2
0
1
1
2
0
0
0
1
0
3
1
3
2
6
4
5
4
1
3
7
2
8
1
1
1
5
1
4
2
1
3
1
2
4
4
5
2
7
5
3
5
7
7
3
4
1
2
2
1
4
5
2
4
3
5
2
5
2
4
4
6
2
4
6
5
5
7
8
7
6
3
3
0
6
3
2
5
9
5
3
3
6
5
5
3
3
4
7
1
5
4
4
4
4
1
3
3
3
1
4
1
2
3
1
3
3
5
2
4
3
9
3
4
7
1
2
4
1
4
1
3
5
6
4
3
2
5
6
5
2
1
4
3
5
5
3
3
3
3
2
4
9
3
5
5
7
3
1
1
5
3
2
5
6
3
1
6
6
1
3
8
4
6
10
7
1
6
6
4
5
5
8
6
8
7
6
10
6
4
8
6
11
15
8
4
8
7
10
8
4
7
9
9
3
10
5
9
6
7
8
6
7
5
9
14
8
10
6
3
5
7
9
10
6
9
9
9
10
5
10
8
17
2
6
10
15
6
9
21
9
7
7
12
4
12
8
7
9
10
13
4
16
9
13
9
12
11
5
14
7
14
11
6
7
14
17
10
21
10
11
9
6
14
7
14
15
13
12
8
9
12
14
13
8
5
13
12
13
12
16
14
14
15
9
15
13
12
7
11
8
8
15
17
16
17
20
22
11
20
22
8
9
13
16
15
14
14
9
18
12
17
17
16
22
18
16
15
19
14
17
17
19
17
18
22
18
24
25
20
16
26
26
16
18
23
20
20
26
20
24
21
14
27
25
25
22
35
22
19
21
16
27
23
24
29
28
25
31
29
33
30
25
24
35
26
33
41
42
29
27
40
29
22
29
39
38
34
30
38
34
46
35
35
33
30
43
38
33
46
42
34
43
54
48
45
43
46
47
42
57
43
43
51
53
47
63
59
59
45
49
58
53
66
60
55
66
57
48
64
65
62
53
54
61
71
71
74
68
71
67
79
79
83
78
71
70
91
93
85
93
88
91
93
114
96
95
89
95
129
102
82
111
120
113
105
135
95
127
114
113
130
136
140
158
146
155
124
144
126
141
151
171
152
174
170
185
158
161
160
134
187
187
180
198
183
192
217
161
194
212
209
218
229
228
230
225
222
219
278
218
237
261
289
287
266
284
280
274
285
307
256
295
326
326
319
314
347
320
317
334
365
370
383
366
386
390
426
392
405
456
454
417
439
408
457
452
480
450
480
491
485
546
515
558
560
527
565
590
634
596
635
667
692
636
704
736
736
746
752
870
848
830
900
885
928
940
942
1025
1011
1041
1109
1117
1180
1197
1308
1376
1359
1497
1523
1549
1706
1724
1876
1887
1925
2105
2217
2381
2500
2643
2803
2981
3133
3381
3528
3622
3953
4214
4440
4683
5140
5373
5669
6235
6372
6733
7238
7402
7921
8364
8734
8939
9484
9970
10151
10768
11249
11349
12122
12395
12875
12823
13228
13611
13945
14160
14452
14745
14888
15002
15103
15369
15415
15724
15799
15986
16106
16356
16443
16840
17013
17060
17451
17308
17684
17744
18233
17908
17970
18127
18252
18082
18040
17880
17884
17225
16941
16682
16212
15966
15316
15159
14514
13839
13119
12330
11752
11293
10534
10026
9484
8753
8452
7653
6962
6535
6120
5812
5218
4711
4389
3979
3544
3181
2947
2583
2350
2118
1745
1610
1351
1181
1069
926
719
639
541
425
370
279
224
163
123
101
100
60
42
36
28
19
13
14
12
11
6
6
1
7
1
1
2
3
4
1
0
3
1
5
3
1
3
3
1
7
8
3
4
5
6
6
2
5
7
3
3
5
6
7
7
11
5
6
10
8
5
6
12
15
7
10
17
8
10
14
9
9
12
20
12
10
15
14
9
10
15
21
17
12
15
17
6
15
14
8
6
15
12
10
9
7
8
3
9
9
11
6
6
2
4
0
4
0
3
5
1
1
2
0
1
1
2
0
0
2
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
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
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
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
0
0
0
0
0
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
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
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
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
1
0
0
0
0
0
0
0
0
0
1
1
0
2
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
2
0
0
0
0
0
1
0
0
0
1
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
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
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
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
2
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
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
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
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
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
1
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
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
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
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
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
2
2
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
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
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
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
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
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
0
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
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
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
0
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
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
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
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
0
0
0
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
2
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
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
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
1
1
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
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
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
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
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
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
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
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
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
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
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
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
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
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
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
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
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
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
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
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
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
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
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
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
1
0
0
1
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
2
0
0
0
0
0
0
1
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
0
0
0
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
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
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
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
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
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
1
0
0
1
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
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
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
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
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
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
1
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
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
0
0
0
0
0
0
0
0
1
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
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
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
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
1
0
1
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
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
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
1
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
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
0
0
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
0
0
0
0
1
0
0
0
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
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
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
1
0
0
0
1
0
0
0
1
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
1
0
1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
1
0
0
0
3
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
1
0
0
1
3
0
0
1
0
2
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
2
0
4
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
0
0
1
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
0
0
0
0
0
0
0
1
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
1
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
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
1
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
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
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
1
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
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
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
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
1
0
0
0
0
0
1
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
1
0
1
0
0
0
0
0
0
0
0
0
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
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
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
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
1
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
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
1
0
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
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
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
1
0
1
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
1
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
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
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
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
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
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
1
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
1
0
0
0
0
1
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
1
0
0
0
1
0
1
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
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
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
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
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
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
1
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
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
2
0
1
2
0
0
0
0
2
1
0
0
1
0
0
0
2
0
1
0
0
0
0
0
1
2
0
2
0
0
0
0
1
1
0
0
1
2
0
2
0
0
2
2
1
1
1
2
1
3
0
0
2
2
0
3
3
0
1
1
1
1
0
2
0
2
7
2
2
3
1
1
1
2
0
3
2
2
4
2
0
1
1
2
3
3
1
1
5
6
2
5
3
5
2
6
2
1
3
6
7
5
6
3
4
4
3
3
5
3
5
5
6
9
8
4
7
7
5
7
3
6
13
8
5
5
8
7
4
3
7
5
5
1
2
9
7
2
8
5
8
8
4
6
6
7
4
8
3
7
3
9
7
5
3
3
1
4
4
6
4
3
1
3
2
1
3
5
1
3
2
0
1
0
1
2
1
2
2
0
1
0
2
2
0
0
1
0
0
0
1
0
0
1
1
0
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
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
2
0
1
0
0
3
0
0
2
1
1
1
0
1
1
0
3
1
1
1
0
1
1
0
2
1
0
0
1
1
1
1
1
2
1
2
4
1
0
2
2
1
0
1
0
0
0
1
2
0
1
0
1
1
0
0
0
2
3
2
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
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
1
0
0
1
0
0
3
1
0
0
0
0
0
1
0
1
0
2
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
2
3
0
0
0
0
0
0
1
0
0
0
2
0
0
1
1
2
1
1
1
0
0
0
2
2
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
2
0
0
0
0
1
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
1
0
0
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
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
2
0
1
2
1
2
0
0
0
0
0
0
0
3
1
1
1
0
0
1
1
0
0
0
0
3
0
0
1
0
0
0
0
1
1
0
0
0
3
1
0
1
0
0
0
2
0
1
0
2
0
0
0
0
1
1
0
1
2
1
2
0
1
1
1
0
0
2
2
3
0
1
0
0
0
1
3
0
1
3
3
2
1
3
1
0
0
0
4
3
3
0
1
2
1
3
3
2
3
3
1
3
2
2
1
1
0
3
4
2
1
2
3
2
2
1
1
4
3
3
4
3
4
3
5
3
2
1
3
1
4
1
0
3
2
4
0
1
1
6
3
1
1
0
0
0
1
0
0
1
0
0
0
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
0
0
0
1
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
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
2
1
0
1
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
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
2
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
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
3
0
0
1
0
0
0
2
3
1
0
1
1
1
0
0
1
2
0
2
0
0
3
3
0
0
0
0
3
2
2
2
3
0
5
1
2
3
1
0
0
3
3
3
2
2
6
6
2
3
2
2
4
1
2
3
4
4
3
3
3
2
4
4
2
3
4
2
6
5
3
3
2
3
7
2
3
0
2
5
5
4
1
2
2
1
4
4
1
1
2
2
3
2
1
1
2
1
2
1
1
1
1
0
2
0
0
1
0
0
0
0
2
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
2
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
2
0
1
1
2
1
3
2
0
1
0
3
1
0
4
0
2
0
1
1
2
2
3
1
1
3
1
5
0
3
1
2
2
2
0
1
1
2
0
5
3
5
1
4
4
3
2
2
2
1
2
3
4
4
2
