1
0
1
2
1
3
0
2
1
3
1
0
1
1
1
1
0
0
0
0
2
1
1
0
2
0
0
1
3
0
0
0
0
2
1
2
0
0
0
0
0
0
2
0
0
0
1
0
1
0
2
0
0
2
1
0
1
2
1
1
2
1
1
1
0
0
1
0
2
1
1
0
0
1
1
2
0
1
1
1
1
0
0
1
0
1
0
0
1
0
4
0
1
0
0
0
1
0
2
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
2
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
1
0
0
2
1
0
0
1
0
0
0
1
0
0
0
0
0
0
2
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
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
2
1
0
0
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
2
0
0
0
0
1
1
0
0
0
3
0
0
0
1
0
1
1
0
1
2
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
2
1
0
1
1
2
0
0
0
1
0
0
1
0
0
0
0
3
0
1
3
0
0
0
0
0
0
1
0
0
0
0
2
0
1
1
2
0
0
2
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
2
0
0
1
0
0
1
1
2
1
0
1
1
3
0
1
0
1
0
1
1
0
0
1
1
0
1
3
1
3
1
2
1
0
1
0
2
1
1
1
1
0
0
1
0
1
0
2
1
1
1
1
0
2
3
0
0
0
1
1
2
0
1
1
4
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
3
2
1
1
1
0
1
1
1
1
0
0
1
2
3
6
2
1
1
1
0
0
2
2
0
1
4
1
2
0
2
0
0
1
0
2
7
2
1
1
1
1
2
2
0
0
1
0
3
4
0
2
4
4
4
3
0
1
1
0
0
1
1
1
0
1
2
1
2
1
1
0
1
1
2
4
1
2
0
1
4
3
2
1
2
2
1
2
1
0
1
2
2
1
3
3
0
1
1
4
1
2
0
3
2
3
2
4
1
3
2
2
2
1
0
1
4
2
2
2
3
3
1
4
4
0
2
2
3
6
0
3
2
4
2
6
4
6
2
1
5
6
4
2
2
4
4
7
4
4
2
1
5
5
6
5
5
6
6
8
4
4
2
1
5
4
4
3
5
4
5
11
7
4
6
8
7
7
7
6
4
9
9
10
12
15
11
6
5
11
13
5
7
7
7
10
8
14
4
11
13
3
5
17
13
11
10
10
9
11
9
7
11
11
8
9
9
13
18
10
18
14
11
8
14
16
14
18
20
16
14
21
19
20
20
19
16
27
18
22
24
19
17
26
20
22
31
18
18
38
15
25
16
22
33
37
21
23
30
24
24
20
26
24
30
29
34
43
28
48
44
52
32
49
59
47
49
52
47
51
56
54
65
56
76
83
65
71
82
94
79
95
97
113
110
140
132
144
158
149
168
187
181
179
196
201
218
233
256
246
263
256
286
314
341
373
364
347
377
373
415
410
397
393
460
432
432
508
413
507
452
478
479
429
489
531
478
518
469
465
504
539
536
492
538
497
515
536
539
543
527
540
542
544
530
516
526
497
480
490
487
456
426
418
392
385
368
333
317
297
295
285
260
244
220
196
195
158
154
133
154
117
107
107
92
83
86
52
58
48
40
36
26
21
29
18
14
12
11
14
6
10
3
4
3
1
2
1
0
1
0
1
0
1
1
1
0
1
0
1
2
1
0
3
1
0
0
2
2
0
0
0
0
0
0
1
1
1
0
1
1
2
0
0
0
0
1
1
0
1
0
1
1
0
0
2
0
1
1
0
0
1
3
1
1
2
0
0
1
0
2
0
2
0
3
0
3
1
1
1
5
1
1
0
1
2
0
1
2
1
1
2
2
0
0
1
0
2
0
0
1
1
1
2
1
1
1
2
0
1
0
0
1
1
2
0
2
0
1
2
1
0
2
0
0
2
4
2
0
0
2
3
1
2
2
0
2
0
0
4
2
1
0
2
2
4
1
1
2
3
0
1
0
3
2
3
3
1
1
4
1
4
4
3
0
3
3
3
4
1
1
4
4
3
2
4
3
6
2
3
1
5
1
3
7
3
0
3
5
1
2
4
5
2
4
0
8
6
3
7
7
10
7
4
7
8
12
13
6
4
7
9
9
11
11
15
7
12
5
9
14
13
16
17
18
15
16
18
19
9
17
15
16
18
23
15
19
18
22
22
26
25
21
23
21
36
22
27
23
28
33
29
19
31
20
23
24
31
21
22
40
26
30
36
25
40
40
23
35
35
29
20
34
21
37
20
30
30
28
27
32
25
23
21
14
7
22
21
17
16
15
12
12
11
14
11
10
8
14
4
6
13
5
6
8
11
3
6
5
3
10
5
6
2
3
5
4
5
7
3
6
3
2
3
6
4
3
2
2
6
3
2
5
3
2
2
5
1
3
5
1
4
3
3
4
5
2
2
3
1
6
7
5
5
3
5
6
7
2
4
4
3
2
2
4
2
2
3
4
4
4
6
9
3
7
3
8
8
4
6
8
2
7
3
4
6
7
7
8
5
10
13
11
14
10
12
16
9
14
18
12
13
12
12
22
12
12
13
14
20
8
12
15
16
10
24
15
16
21
23
22
29
18
24
21
22
21
13
13
27
27
17
27
26
23
24
24
23
24
23
32
26
18
24
33
17
20
23
22
26
16
27
17
16
17
27
24
20
24
32
23
25
21
23
24
30
39
20
28
34
25
26
32
39
49
34
33
47
40
34
45
54
65
62
49
40
57
60
55
84
71
51
71
94
74
83
89
80
83
95
105
92
91
86
122
109
91
94
120
116
112
109
103
100
147
132
114
124
124
134
131
132
123
129
105
143
118
117
122
133
130
140
126
128
118
126
134
121
141
116
126
111
80
93
90
96
67
80
72
74
74
57
56
61
51
57
55
42
60
43
26
43
31
25
36
21
16
14
20
18
18
12
10
6
9
8
7
11
7
3
4
2
5
2
2
5
0
3
1
3
0
0
0
1
1
1
0
0
2
0
0
2
2
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
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
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
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
0
0
0
0
0
2
0
2
0
0
0
0
1
0
0
1
1
0
0
0
2
0
1
0
1
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
3
1
0
0
0
0
1
0
1
0
0
0
3
1
2
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
2
0
0
1
0
0
1
0
2
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
2
1
0
0
2
1
0
1
2
1
0
0
3
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
3
0
0
2
2
1
1
0
1
0
0
0
0
3
0
1
1
2
0
1
1
0
1
0
3
1
2
1
1
0
1
1
0
1
1
1
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
2
1
1
0
0
0
0
0
0
0
1
3
1
0
0
1
3
1
1
1
0
0
4
2
1
1
2
1
0
3
2
0
1
0
1
2
2
2
3
0
0
2
3
2
1
0
1
3
1
0
2
1
3
0
0
4
4
1
0
4
3
1
3
1
1
1
0
1
0
3
0
1
2
0
1
2
0
1
4
2
4
4
1
2
0
1
2
0
0
0
1
4
2
1
5
1
0
1
0
1
1
2
1
0
0
1
2
2
2
0
3
1
1
2
0
0
0
2
0
0
0
1
0
0
1
0
1
1
1
0
1
3
0
2
0
1
0
0
1
1
0
1
0
4
1
2
1
1
0
1
0
0
1
0
1
1
1
1
3
0
0
1
1
1
0
0
2
2
3
1
0
2
1
0
3
0
2
1
0
3
0
1
0
1
1
5
2
0
1
0
0
1
2
3
1
2
0
2
1
0
1
1
3
1
2
2
3
3
0
3
0
5
2
2
1
1
0
2
5
3
1
2
1
1
2
1
3
1
4
2
1
2
2
2
2
1
1
1
3
4
0
4
5
2
2
5
6
5
2
4
0
2
2
2
2
5
2
1
2
4
2
5
1
1
5
5
3
4
1
4
3
6
3
2
4
1
3
3
3
2
4
7
5
4
4
4
2
4
5
4
7
3
4
9
7
5
6
5
12
3
2
5
4
3
5
9
6
4
11
7
5
5
6
3
7
7
4
10
7
9
2
7
7
2
7
5
4
10
3
8
11
7
7
8
14
9
5
8
8
7
13
4
12
10
2
9
5
19
14
7
10
8
9
13
10
5
6
4
5
8
8
9
11
8
6
8
9
9
12
11
11
7
3
7
5
7
9
6
9
8
10
6
7
8
8
6
5
11
9
2
7
8
19
9
9
8
6
4
7
6
9
6
15
3
8
10
6
15
14
9
8
6
13
13
9
5
7
8
8
9
10
10
10
10
9
11
12
10
7
5
10
7
6
6
5
8
7
6
10
9
8
7
6
7
10
12
13
14
11
5
8
4
9
12
7
8
18
14
9
13
4
12
11
13
8
7
11
13
12
10
15
21
14
16
7
10
18
22
14
18
19
14
14
15
16
18
17
23
19
10
16
15
16
21
14
14
14
21
19
30
14
17
8
29
25
21
18
18
27
20
16
24
29
23
24
24
14
22
19
24
17
24
21
22
23
27
22
24
22
15
25
22
22
28
22
23
16
19
23
23
28
23
17
33
21
22
29
21
21
23
23
33
16
24
18
17
24
27
29
31
18
26
25
33
25
26
15
29
25
30
24
38
32
31
36
28
24
23
31
26
32
28
29
24
36
28
28
34
40
33
16
40
44
35
32
43
34
27
37
38
38
45
33
40
33
34
52
32
35
37
45
42
33
44
48
48
39
51
46
53
55
43
45
49
52
35
50
41
53
57
51
56
47
64
57
38
67
53
47
44
51
64
69
49
59
51
65
62
59
49
75
47
55
73
54
69
65
51
62
53
63
57
73
54
74
69
68
78
81
68
88
79
64
72
71
84
83
87
73
86
68
87
98
94
84
82
99
96
91
103
104
90
85
98
96
114
94
110
107
113
123
119
104
100
112
119
109
96
126
139
133
111
124
127
112
131
135
131
147
134
159
139
132
179
169
131
170
171
169
174
154
186
169
185
193
182
185
182
191
177
205
197
212
206
199
204
215
244
207
243
216
216
246
232
272
231
245
263
274
293
259
288
266
303
259
283
307
303
293
310
324
310
309
321
303
345
331
384
365
366
386
366
416
396
382
402
392
464
382
419
457
412
440
435
480
476
476
460
498
491
511
490
535
569
539
553
580
531
568
594
673
632
650
605
665
663
708
695
759
679
734
741
818
773
792
871
823
844
813
912
850
869
895
923
961
932
937
1058
1049
1093
1078
1055
1123
1159
1145
1201
1195
1160
1305
1253
1293
1333
1397
1423
1466
1443
1491
1579
1689
1656
1678
1818
1790
1910
1892
1955
2090
2129
2175
2340
2367
2452
2604
2594
2747
2879
3040
3097
3210
3488
3585
3831
3976
4077
4438
4538
4975
5239
5468
5767
6018
6532
7129
7580
7899
8422
8787
9254
10159
10624
11095
11629
12350
13166
13779
14256
14969
15646
16367
16991
17671
18288
18779
19558
20256
20429
21357
21621
22184
22790
23100
23734
23738
24111
24203
24436
24925
25165
25424
25655
26037
26134
26402
26597
27029
27528
27622
27916
28223
28568
28861
29342
29177
29525
29242
28977
29149
29334
29008
28431
28076
27910
27139
26448
25884
24440
24199
23000
22015
21103
20002
19002
18321
17451
16164
15200
14239
13354
12420
11504
10610
9861
9060
8419
7678
6910
6296
5800
5133
4686
4193
3830
3283
2950
2512
2222
2021
1654
1370
1189
1030
840
753
571
468
385
310
284
177
146
124
97
71
46
26
27
23
17
11
7
11
5
10
7
5
6
4
9
4
7
5
9
10
11
3
13
9
13
9
15
8
12
9
14
13
19
20
16
20
15
18
11
14
14
20
23
21
27
24
12
14
21
24
18
25
22
30
25
27
30
37
34
32
34
44
32
34
27
29
38
42
26
35
30
32
32
35
32
19
30
39
33
24
25
32
25
20
17
17
21
14
19
11
14
10
13
7
9
10
3
2
2
5
3
4
0
1
0
2
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
2
1
0
0
1
0
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
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
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
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
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
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
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
1
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
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
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
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
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
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
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
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
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
1
1
0
0
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
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
1
0
0
0
0
1
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
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
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
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
0
0
0
0
0
0
0
0
1
0
0
0
1
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
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
0
0
2
0
0
0
0
0
0
0
0
2
0
1
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
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
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
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
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
0
0
0
0
0
0
0
0
0
1
0
0
2
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
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
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
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
1
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
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
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
0
0
2
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
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
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
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
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
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
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
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
1
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
2
0
0
1
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
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
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
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
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
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
1
0
0
0
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
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
2
0
0
1
0
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
1
0
0
0
1
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
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
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
1
0
1
1
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
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
1
0
0
0
0
0
0
0
1
0
1
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
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
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
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
0
0
0
0
0
0
0
1
0
1
0
1
1
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
1
0
0
1
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
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
1
0
0
0
0
1
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
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
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
1
0
0
0
0
0
0
0
1
0
1
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
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
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
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
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
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
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
0
0
1
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
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
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
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
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
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
0
0
0
0
0
0
1
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
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
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
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
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
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
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
1
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
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
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
1
0
0
1
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
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
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
2
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
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
1
0
1
3
0
0
0
1
1
0
0
1
1
0
0
2
0
1
1
2
1
0
0
0
0
1
1
1
3
0
3
0
2
1
0
1
1
2
1
1
0
4
2
2
0
1
1
3
0
3
3
2
0
2
3
1
1
0
3
1
4
3
1
2
3
1
2
4
3
1
1
1
4
2
0
1
1
2
2
4
3
0
3
3
0
2
0
0
1
2
3
1
1
0
3
0
0
0
2
1
1
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
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
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
1
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
1
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
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
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
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
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
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
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
1
0
1
0
1
0
0
1
2
0
0
0
0
0
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
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
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
2
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
1
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
3
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
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
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
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
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
1
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
2
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
2
0
0
2
0
1
0
1
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
0
1
1
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
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
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
1
0
0
0
0
0
0
0
0
0
2
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
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
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
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
1
1
0
1
1
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
1
0
0
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
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
1
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
1
0
0
0
0
0
0
0
2
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
1
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
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
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
1
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
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
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
2
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
2
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
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
1
0
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
1
1
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
0
0
1
1
0
0
0
0
0
1
1
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
1
1
0
3
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
3
0
1
0
1
2
0
1
0
1
2
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
2
0
0
1
1
2
4
1
1
1
1
0
3
0
2
1
2
1
2
1
3
6
2
6
8
3
3
3
0
2
1
8
5
6
5
6
3
7
4
5
11
8
9
10
6
9
8
3
9
11
6
10
8
6
8
12
9
8
8
7
6
14
3
14
8
8
6
20
7
9
9
7
9
11
10
8
5
7
13
7
12
12
10
13
20
4
10
5
12
9
13
9
9
12
12
12
3
3
10
5
3
7
3
8
4
7
9
0
4
2
2
4
2
4
2
2
1
1
0
3
1
2
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
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
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
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
2
1
0
1
0
2
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
2
1
0
1
1
0
1
1
0
2
1
2
0
1
0
0
0
1
0
1
1
2
1
2
0
3
1
1
0
1
0
0
1
1
0
0
0
1
2
0
0
1
0
2
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
1
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
1
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
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
2
0
0
0
1
1
1
0
1
2
1
0
0
0
0
0
0
1
0
1
0
0
3
3
1
0
0
0
1
0
0
1
2
1
1
1
0
1
0
0
0
2
2
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
2
1
1
0
1
2
1
2
2
0
3
0
0
0
3
1
1
0
1
1
2
1
0
1
1
1
2
0
3
2
0
4
3
2
1
1
2
0
3
3
1
2
1
5
1
3
2
4
2
4
3
3
4
2
0
2
1
2
3
2
2
3
2
2
4
2
3
2
3
2
7
5
0
2
5
2
1
1
1
3
1
2
1
4
2
3
2
0
3
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
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
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
1
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
1
4
2
1
1
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
1
3
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
1
1
0
2
2
1
0
0
0
1
0
0
0
0
1
0
0
2
0
3
0
2
1
0
1
0
3
0
0
0
0
2
4
2
1
2
1
1
3
3
4
1
1
4
2
3
4
5
3
2
1
2
3
3
2
7
4
6
9
5
3
3
3
2
7
4
5
3
5
7
1
7
4
7
3
6
3
2
2
5
1
7
6
6
3
3
5
5
4
6
3
3
4
1
6
6
4
1
5
4
1
5
7
5
4
3
5
3
1
5
2
4
5
0
3
3
2
2
1
2
3
4
1
3
1
1
3
1
2
0
1
3
0
0
0
0
1
0
0
1
0
4
0
0
0
0
2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
1
0
0
1
0
2
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
2
0
1
1
1
1
2
1
1
2
0
1
0
0
4
1
1
1
1
2
2
1
1
1
3
1
0
2
2
3
4
1
5
1
4
3
5
2
3
2
5
4
3
1
3
3
0
3
6
1
1
2
2
7
6
6
4
3
2
1
4
3
3
3
5
1
3
4
2
3
0
4
4
2
2
2
4
4
0
3
4
0
3
