0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
3
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
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
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
2
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
1
1
0
1
0
0
125
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
4
0
0
1
0
0
35
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
35
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
1
2
0
2
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
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
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
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
0
0
2
1
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
6
0
3
1
0
0
0
0
1
1
0
1
1
0
1
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
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
2
0
0
1
2
1
3
0
0
2
4
2
0
1
0
0
2
0
0
0
0
1
1
0
0
0
0
0
1
0
1
5
2
4
4
24
0
0
1
0
1
3
1
4
1
1
1
5
37
1
13
3
3
2
0
0
0
0
3
1
2
3
0
4
3
15
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
0
0
125
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
36
0
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
1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
8
2
0
2
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
0
0
0
0
0
0
0
0
0
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
1
0
0
0
1
0
0
0
2
1
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
3
0
3
1
12
1
1
0
2
0
0
0
0
0
0
0
1
0
1
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
1
0
0
0
0
1
1
3
0
1
0
0
4
0
1
0
0
0
0
0
0
125
0
0
0
0
0
0
0
1
0
0
1
4
6
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
2
0
0
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
1
0
0
6
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
1
0
0
0
0
0
0
2
0
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
1
0
1
0
0
2
0
2
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
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
3
0
0
0
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
1
0
4
0
0
0
0
5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
0
0
0
0
0
0
1
0
0
1
3
0
1
2
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
6
0
0
0
0
0
0
0
2
3
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
3
2
0
2
0
0
125
0
0
3
0
0
0
0
0
1
0
0
5
2
0
1
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
2
3
1
0
0
0
2
2
0
2
0
1
0
0
1
0
0
0
0
0
125
1
1
1
0
2
2
0
2
2
0
0
3
0
2
0
0
0
1
1
5
1
0
0
0
3
0
1
4
0
2
0
3
1
0
0
2
1
0
0
0
0
3
0
0
0
0
0
0
1
0
0
1
5
0
2
2
11
4
5
19
49
3
6
8
1
0
0
0
0
1
0
2
0
0
0
1
1
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
4
35
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
2
0
0
2
0
2
17
35
0
3
3
3
5
5
0
0
0
0
0
1
0
0
0
0
0
0
0
35
0
0
0
0
2
0
0
2
0
2
0
1
0
1
0
1
23
3
7
0
0
0
0
0
1
0
0
0
0
0
3
1
0
1
2
2
1
0
0
1
0
0
1
1
0
1
0
0
0
1
2
1
0
0
0
0
0
0
0
46
2
0
0
0
0
127
0
0
6
0
1
48
1
1
0
0
1
1
0
8
0
0
2
0
0
6
3
1
1
4
4
2
3
0
1
1
2
0
0
4
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
3
3
1
2
0
0
48
1
48
1
0
2
2
0
0
0
0
1
2
4
1
0
0
1
0
2
0
0
0
5
2
5
2
0
0
0
1
1
1
1
2
0
0
0
0
4
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
7
5
0
1
0
0
0
125
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
0
0
0
0
0
0
2
0
0
0
0
3
2
0
7
1
12
2
0
0
0
0
0
0
0
1
12
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
48
0
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
1
0
0
0
0
4
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
1
0
0
5
0
0
0
1
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
4
0
0
0
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
8
0
0
6
0
1
1
0
1
0
3
0
1
2
0
0
0
0
0
0
0
1
0
0
1
12
14
3
1
14
9
0
16
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
2
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
1
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
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
1
0
125
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
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
125
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
3
9
0
0
0
1
1
3
0
0
0
2
0
0
4
1
6
4
16
1
3
6
0
1
1
4
3
0
0
0
3
0
0
0
0
0
3
3
0
6
2
3
4
5
3
0
0
2
1
3
6
4
1
0
1
1
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
1
2
0
26
3
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
24
0
0
1
47
2
2
2
0
1
0
4
4
1
1
0
2
3
1
1
0
1
1
0
0
1
1
5
2
0
6
3
0
0
0
0
1
0
0
0
0
35
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
2
0
0
0
1
0
0
0
0
0
0
2
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
2
46
5
1
0
2
6
0
0
0
0
1
0
0
125
47
0
0
0
46
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
1
0
0
0
0
0
0
0
0
3
0
1
0
0
1
48
3
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
2
0
1
0
3
0
5
0
1
0
0
0
2
3
0
0
0
0
0
2
0
4
0
0
0
0
2
3
6
1
0
0
0
0
1
0
1
0
1
1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
1
6
0
0
0
0
4
0
2
1
0
1
1
0
10
14
19
8
6
3
3
1
2
4
11
6
1
1
1
1
0
1
3
0
0
0
0
7
2
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
2
0
1
97
46
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
1
0
2
2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
1
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
4
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
46
1
1
0
1
0
4
3
2
0
0
1
1
1
1
1
2
1
0
0
35
0
0
0
0
0
0
1
1
0
0
0
3
0
1
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
125
0
1
0
0
0
0
7
8
12
1
3
0
0
0
1
0
1
0
1
0
0
0
4
1
9
3
2
4
20
7
1
0
0
5
7
0
0
0
0
0
0
0
0
0
1
1
125
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
2
0
1
0
2
0
0
0
1
0
0
0
125
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
1
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
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
0
0
0
2
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
126
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
3
11
0
0
0
0
1
0
1
0
0
0
0
0
2
0
2
0
0
0
2
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
1
1
0
0
0
0
0
0
5
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
3
0
0
0
0
0
4
0
0
1
0
0
0
3
2
0
0
0
0
1
0
2
0
0
0
0
2
1
3
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
1
2
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
1
0
2
0
0
1
0
1
2
3
0
0
1
1
0
2
0
0
1
4
0
0
0
3
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
3
0
4
0
0
0
0
0
0
0
0
3
5
7
1
0
2
4
1
0
1
1
0
0
3
1
3
0
0
2
22
1
0
0
0
1
0
0
1
125
0
0
0
0
0
0
0
125
0
5
13
0
0
0
125
3
125
1
0
486
565
12
46
36
201
324
1
0
1
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
1
5
0
2
1
1
2
0
0
0
0
0
0
5
2
0
4
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
1
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
46
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
46
7
0
0
1
0
1
5
0
0
2
7
0
16
2
1
1
2
0
0
2
0
1
1
1
0
1
0
0
11
3
0
0
0
3
0
0
0
0
4
0
251
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
1
0
0
3
0
3
0
0
0
0
1
0
0
0
1
0
0
0
2
2
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
2
0
0
0
0
1
0
0
2
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
2
0
0
0
1
3
0
0
0
3
0
2
0
1
1
3
4
1
6
3
7
10
0
2
0
7
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
2
0
0
1
2
0
0
0
0
1
4
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
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
36
0
2
3
0
1
0
1
4
0
3
3
2
29
11
0
0
0
0
2
0
0
1
0
0
0
9
2
2
2
4
2
0
0
1
125
0
0
1
0
0
0
1
0
0
0
0
0
0
4
14
3
5
1
2
6
0
3
3
0
2
1
1
0
0
0
1
0
0
4
0
2
1
2
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
2
0
0
0
46
0
0
0
4
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
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
1
0
1
0
0
0
0
0
0
3
0
0
0
0
2
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
2
1
0
3
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
1
0
0
46
0
2
0
5
1
0
0
0
48
0
0
0
0
0
0
0
0
3
0
0
0
49
0
0
1
3
1
1
1
3
3
2
0
48
0
1
1
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
2
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
4
2
0
0
2
0
1
0
2
0
1
1
9
0
0
0
0
3
3
1
2
12
1
125
1
0
0
0
0
2
0
0
1
3
0
0
0
0
0
125
0
0
0
1
0
1
2
0
0
2
0
1
1
0
3
2
3
0
1
2
7
1
8
11
20
7
3
6
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
3
0
1
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
2
0
0
1
1
0
1
2
0
1
0
0
1
1
0
2
0
1
15
10
0
0
0
2
0
0
3
0
1
2
2
0
0
1
1
1
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
9
2
0
0
0
0
0
1
0
3
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
2
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
1
0
71
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
46
46
1
7
3
1
2
0
0
0
0
0
2
2
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
1
0
0
4
0
0
0
0
2
3
8
3
0
0
0
0
1
0
0
0
0
2
0
0
0
2
5
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
7
7
3
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
1
3
0
0
2
4
0
0
1
0
1
0
2
0
3
0
1
4
0
0
3
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
2
0
1
0
1
0
0
1
1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
2
0
6
3
13
1
8
0
0
1
0
4
1
0
0
0
1
1
0
0
1
0
3
1
0
1
2
5
4
2
1
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
4
2
0
0
0
0
3
0
0
0
0
1
0
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
2
0
0
1
0
2
0
0
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
1
0
3
0
1
0
0
0
0
0
6
8
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
2
0
0
0
2
0
46
2
0
0
0
0
46
0
2
0
0
7
2
0
0
0
2
0
0
0
0
0
0
0
0
0
1
1
0
2
0
2
0
0
0
0
0
0
0
0
0
1
4
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
5
1
0
0
3
1
0
11
0
0
0
0
5
0
0
1
2
0
0
0
0
1
1
0
1
20
4
1
0
0
3
0
0
0
0
5
11
4
0
0
0
0
0
0
0
0
0
0
0
48
3
1
1
0
1
2
0
70
5
0
0
0
0
3
47
0
1
0
0
3
0
0
0
0
130
0
0
0
0
0
0
3
0
6
5
1
1
0
0
0
1
0
2
0
1
0
1
0
0
0
0
0
0
0
10
47
0
0
2
15
26
9
4
5
54
27
1
0
1
0
0
0
2
5
18
4
1
1
0
17
0
1
0
0
0
2
1
0
1
0
0
1
0
0
4
1
1
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
9
0
0
0
0
1
0
0
3
0
0
0
0
0
5
0
0
0
0
1
4
1
0
0
0
1
2
1
3
0
0
8
2
0
0
1
0
0
0
0
9
1
1
0
0
0
0
0
0
0
8
0
1
0
15
1
0
1
3
1
0
8
5
1
0
0
2
0
14
132
0
0
0
1
6
0
1
0
0
0
0
0
0
8
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
1
0
0
0
0
0
1
0
0
2
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
1
0
4
1
0
1
1
0
0
1
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
0
0
0
3
2
2
7
0
0
0
3
1
2
9
0
2
0
2
1
2
1
2
0
0
0
0
0
0
0
0
0
3
6
7
8
12
0
0
8
125
1
1
4
2
0
0
1
0
0
0
0
0
0
0
0
3
1
0
0
1
0
0
0
2
1
1
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
1
0
1
1
0
0
0
0
0
1
1
35
0
13
17
36
37
24
30
22
14
16
31
36
30
28
16
32
34
21
20
53
32
87
23
8
8
4
17
4
8
13
6
10
60
0
1
3
8
27
15
12
0
0
0
0
0
0
0
0
0
0
0
0
47
138
48
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
1
2
0
0
1
0
2
0
2
0
2
0
0
1
0
1
0
625
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
2
2
0
0
0
0
0
0
1
0
1
0
2
3
0
0
0
1
0
0
0
0
1
0
47
2
2
0
46
1
1
250
0
1
2
0
0
92
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
94
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
2
0
0
0
3
0
0
0
0
0
1
6
4
4
22
5
2
0
4
0
0
0
1
0
0
0
2
4
0
3
0
0
0
0
1
0
0
46
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
0
47
1
0
0
0
0
1
143
122
0
2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
2
2
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
0
0
0
3
2
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
2
3
1
0
4
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
2
3
1
1
1
0
0
0
0
0
0
2
0
0
1
2
2
0
0
0
0
2
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
1
0
0
0
0
0
0
4
0
0
0
1
0
0
0
2
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
1
0
0
0
2
0
0
1
5
4
3
0
0
1
0
2
1
0
3
0
0
0
0
0
4
5
0
2
0
0
4
0
2
3
2
0
4
2
4
6
18
1
3
1
0
1
1
1
2
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
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
3
1
2
0
1
2
0
0
2
0
47
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
164
0
0
6
0
0
0
38
2
0
0
3
2
2
1
0
0
1
0
1
2
1
0
3
2
7
3
1
0
0
0
0
0
0
0
0
0
0
0
6
2
2
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
2
2
0
0
0
0
0
0
1
0
0
1
4
0
1
0
0
1
0
0
0
0
3
0
0
0
0
4
0
4
1
3
127
0
1
0
2
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
4
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
1
0
0
2
1
0
0
0
0
0
2
0
3
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
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
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
1
0
0
0
0
0
0
0
0
0
1
0
2
0
2
2
2
1
2
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
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
46
0
0
0
0
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
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
6
0
0
0
0
1
9
1
0
1
2
4
0
0
0
0
0
0
0
35
1
0
1
0
0
1
0
0
0
1
5
1
1
16
7
1
13
6
1
48
1
46
46
0
1
0
0
1
0
0
1
0
2
0
0
0
36
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
2
2
0
0
2
2
3
1
3
2
2
5
4
3
11
2
2
0
0
0
0
0
2
0
0
2
0
0
1
1
0
0
1
2
1
0
35
0
0
0
0
0
1
2
0
0
0
1
0
0
0
0
2
1
8
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
1
0
1
3
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
1
0
0
0
0
0
0
7
0
0
0
2
0
1
7
2
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
1
0
0
0
0
17
9
59
37
1
0
0
0
0
0
4
1
0
1
1
2
0
0
0
2
0
1
0
0
0
0
125
2
0
0
0
125
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
0
0
0
0
0
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
1
0
0
5
0
2
0
0
1
0
0
1
0
0
38
0
3
0
1
2
0
0
2
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
4
0
0
0
1
4
0
125
0
0
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
4
0
0
0
0
0
3
2
1
0
2
3
1
3
0
47
47
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
2
0
35
0
0
1
0
1
1
0
0
2
2
0
0
0
2
0
0
250
0
1
0
3
1
1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
2
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
2
1
0
0
0
4
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
3
1
0
0
0
2
1
0
0
1
0
0
2
1
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
7
13
0
0
0
16
0
0
0
1
0
0
3
2
0
375
0
0
1
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
125
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
4
0
0
0
4
0
0
1
0
1
0
0
0
0
0
0
0
1
3
1
0
0
0
0
0
0
0
0
1
1
2
0
125
3
0
3
6
1
1
0
1
1
0
0
0
0
0
0
0
0
0
35
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
7
0
0
2
1
2
1
6
15
2
2
0
0
2
0
1
0
0
0
0
1
1
2
1
1
0
1
4
3
1
0
0
2
0
0
0
0
1
0
0
0
0
0
1
1
0
125
0
2
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
1
0
0
0
0
0
3
0
1
0
0
3
1
0
0
125
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
35
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
1
0
1
0
1
1
1
0
2
0
4
1
0
0
0
0
1
0
0
5
2
0
0
0
0
0
1
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
0
0
0
0
0
1
0
0
0
0
0
1
1
7
16
5
1
3
4
2
1
3
12
16
1
4
9
1
0
0
0
0
0
0
2
0
0
1
126
0
4
2
0
0
1
1
3
0
0
0
1
1
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
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
3
0
2
0
0
0
4
2
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
2
0
7
0
1
0
0
0
0
0
1
0
0
0
0
2
0
0
3
0
16
0
0
1
1
1
2
0
0
2
2
1
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
1
0
0
0
0
0
0
2
1
0
0
0
4
12
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
14
0
0
2
0
0
1
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
18
30
1
2
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
