Lugovtsov/cosmic-rays/data/17.4_degrees.dat

65547 lines
256 KiB
Plaintext

#PicoHarp 300 Histogram Data 16.12.2023 08:02:17
#channels per curve
65536
#display curve no.
0
#memory block no.
0
#ns/channel
0,0640
#counts
23
23
25
29
25
34
27
37
29
35
28
30
38
27
26
30
24
33
29
25
22
28
34
32
24
32
22
31
31
23
26
22
28
26
29
21
19
26
27
36
26
28
18
21
27
27
22
30
14
20
27
27
18
22
26
25
21
21
21
23
16
13
15
19
19
18
17
10
10
17
11
16
15
8
15
25
17
15
9
12
13
18
12
8
12
17
12
17
15
16
16
13
14
6
13
12
12
15
9
17
12
9
9
15
14
13
15
16
23
13
9
11
9
10
10
5
8
12
9
9
10
12
12
9
11
11
10
10
7
12
7
8
6
10
9
9
4
10
9
11
5
10
6
7
4
6
6
9
7
6
9
5
3
7
8
4
7
8
5
6
8
5
4
3
4
4
5
7
7
4
6
5
3
6
2
3
5
3
3
7
2
7
4
6
4
4
3
4
5
5
5
3
5
2
12
5
4
4
8
4
3
4
4
3
3
3
1
3
2
4
5
1
4
4
3
0
3
2
2
2
4
1
3
3
3
4
0
3
3
2
3
2
3
1
3
5
2
3
4
4
6
1
1
0
0
4
6
2
0
2
1
2
3
2
4
2
5
1
4
3
1
4
3
1
2
2
3
0
1
2
2
4
3
3
1
4
0
2
2
4
0
2
2
3
1
3
3
4
8
2
2
3
3
1
3
1
2
2
0
0
1
1
1
0
2
0
2
4
2
2
5
4
4
4
2
3
0
2
2
1
5
4
2
5
0
1
3
1
2
2
1
2
3
3
1
1
2
1
0
6
2
3
1
1
1
1
2
2
0
0
1
3
4
0
1
0
3
1
3
3
3
3
5
2
3
0
0
2
1
4
2
0
4
0
0
4
1
4
1
2
1
0
2
1
0
0
2
0
0
2
1
2
1
5
0
2
0
0
0
3
3
0
4
1
3
1
1
1
2
1
1
2
2
0
2
0
0
2
1
2
1
2
2
1
1
1
2
1
1
1
1
2
1
3
1
0
3
3
2
3
2
2
1
4
4
5
2
0
1
0
2
1
1
3
2
1
1
2
4
3
4
2
1
2
2
0
0
1
2
1
1
1
1
1
1
1
1
0
1
0
1
3
2
1
1
2
1
0
1
1
1
1
2
0
2
0
0
4
0
5
0
1
2
0
2
0
3
1
3
0
4
1
2
1
1
1
3
0
2
1
1
1
0
2
0
2
3
1
1
1
0
1
1
1
2
1
1
3
1
3
2
1
1
2
1
3
1
0
1
0
3
1
1
1
3
2
1
0
1
0
1
0
0
2
0
1
2
1
2
0
0
3
1
1
0
1
1
3
1
0
0
3
1
1
3
0
2
3
1
1
1
2
0
2
0
1
2
3
2
0
0
0
3
1
3
3
0
1
0
1
0
2
0
3
0
0
1
4
0
0
1
0
2
1
0
0
2
2
0
1
1
6
1
0
1
3
2
0
1
0
0
0
0
2
2
2
2
0
1
2
0
1
0
1
0
0
1
0
0
1
0
2
0
1
0
1
1
3
0
0
1
1
1
2
1
0
0
1
0
1
2
2
2
0
0
0
1
2
0
1
2
0
0
2
1
0
2
0
1
0
0
2
0
1
4
1
1
1
1
1
1
0
1
0
1
0
0
0
1
3
1
1
1
1
0
0
2
0
1
0
2
0
0
3
0
0
2
0
1
2
0
1
1
0
0
3
1
0
0
1
3
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
2
4
0
1
1
1
4
0
3
0
2
1
0
0
0
0
0
1
1
1
2
0
1
2
0
1
1
1
1
0
0
1
1
1
0
1
0
2
1
0
2
2
2
2
1
0
2
1
0
0
1
0
0
1
0
0
0
3
0
1
2
0
2
2
4
0
2
1
0
1
0
0
1
0
0
1
1
0
2
1
2
0
1
2
1
1
2
1
4
0
0
1
0
3
0
0
0
1
1
0
1
0
0
3
1
1
1
1
1
1
0
1
0
0
2
3
0
2
2
0
1
0
1
0
1
0
1
2
1
3
1
1
1
0
0
0
2
2
1
0
0
1
2
0
2
0
2
0
2
1
1
0
0
1
0
4
0
4
1
2
0
2
0
0
2
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
3
0
0
0
0
0
0
2
0
1
5
0
0
1
0
1
3
1
0
0
0
1
1
2
0
1
1
1
3
0
2
1
3
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
2
1
1
1
1
0
1
0
0
2
2
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
2
1
1
1
1
0
1
0
0
0
0
0
0
2
0
1
1
2
0
1
0
0
1
1
2
0
1
1
2
1
2
0
0
1
4
0
0
2
0
0
0
0
2
1
0
0
0
2
0
1
0
0
2
0
0
1
0
0
0
2
0
1
0
1
3
0
0
1
1
0
1
2
2
2
4
0
1
1
1
2
0
1
0
2
1
0
1
0
0
0
2
0
1
1
2
0
1
1
1
2
1
1
0
1
0
0
1
2
0
1
1
1
1
0
0
1
0
1
0
1
0
1
2
1
0
0
2
1
1
1
1
0
1
2
0
1
0
0
0
2
0
2
3
0
2
0
2
0
1
1
1
0
0
1
0
1
0
0
1
1
0
2
0
2
1
2
0
3
0
2
0
1
0
1
0
0
1
2
1
1
1
1
1
1
0
0
1
1
2
0
0
0
0
0
1
0
0
1
2
1
0
1
2
1
2
1
0
6
0
1
0
1
0
1
1
1
2
3
1
1
0
0
1
3
0
3
0
1
0
1
0
2
0
0
2
1
3
2
0
2
3
2
2
2
2
0
2
0
2
0
2
0
1
3
1
3
0
0
1
3
0
1
2
1
1
0
1
0
1
1
2
0
1
2
2
0
2
3
1
2
4
2
2
2
1
2
0
0
2
2
2
2
0
0
0
2
1
1
2
2
0
0
3
4
1
3
1
1
1
1
2
0
3
2
2
5
2
2
2
1
0
3
3
3
3
2
1
4
2
2
3
5
1
3
3
2
2
3
2
3
6
3
4
2
2
2
1
8
2
3
4
0
2
1
3
6
3
2
4
4
4
4
3
1
1
5
0
2
2
2
3
2
2
1
5
2
3
4
6
5
2
7
0
6
3
3
1
5
4
6
4
8
4
3
2
6
1
1
3
4
3
5
3
4
3
1
1
2
8
7
2
1
2
0
3
4
6
1
3
7
3
7
5
2
4
1
4
2
1
7
3
7
3
2
2
5
2
2
3
6
4
4
2
2
3
4
2
3
2
3
2
4
3
3
8
3
5
2
1
0
7
1
5
2
3
4
1
6
3
4
3
3
7
1
0
3
0
2
2
4
3
4
2
2
6
5
5
1
3
2
3
2
2
4
1
0
2
0
5
0
3
1
1
4
4
1
7
1
2
0
4
2
1
1
1
2
2
3
3
2
2
2
1
2
2
4
1
1
1
2
2
1
4
1
0
1
5
3
0
2
3
3
4
1
0
0
1
1
2
2
0
0
3
3
0
2
0
2
6
2
1
1
2
0
2
3
2
2
2
3
1
0
4
5
1
1
1
2
1
1
1
0
1
2
2
0
3
0
2
2
0
2
4
0
0
1
3
1
1
1
2
2
3
0
4
4
1
0
2
2
1
4
1
2
2
1
1
5
0
1
0
4
1
0
2
1
1
1
2
1
1
1
2
1
1
2
0
2
1
2
2
0
1
2
2
4
2
2
3
1
1
0
0
0
2
2
0
1
0
3
3
2
0
3
3
1
3
2
2
3
2
1
2
2
1
4
2
2
5
0
3
1
2
3
2
2
1
2
0
1
3
1
2
2
2
1
3
1
2
0
2
3
2
1
3
1
0
5
0
1
3
1
2
3
6
2
0
3
1
1
0
2
1
3
1
1
2
0
1
2
3
2
3
3
3
1
4
4
1
1
1
1
1
1
3
2
2
2
2
6
1
0
4
2
2
1
1
0
2
4
2
3
1
1
1
0
0
1
3
1
1
2
1
3
1
0
0
1
1
2
2
2
1
1
2
1
2
2
4
3
0
0
0
0
1
0
2
0
3
0
1
3
2
5
1
0
0
1
6
4
2
1
2
2
0
3
2
3
3
4
3
5
1
2
2
1
2
1
1
0
4
0
1
1
1
2
1
2
1
0
2
3
0
5
1
2
1
3
2
0
1
2
2
2
1
0
0
0
1
1
2
1
4
1
2
1
1
1
0
2
1
1
1
0
1
2
2
0
0
2
2
2
1
2
0
0
1
2
0
0
1
1
1
0
3
2
0
2
1
0
0
2
4
0
0
0
0
1
1
1
1
3
0
1
2
1
0
2
2
2
3
2
3
1
4
1
1
1
1
1
1
0
0
2
2
3
0
2
1
0
1
0
0
0
0
2
3
0
1
4
1
2
2
1
2
0
1
0
2
0
0
0
0
0
0
2
0
0
1
0
0
0
1
1
1
1
0
0
1
3
0
0
1
0
1
1
1
2
1
2
0
2
1
0
0
1
2
1
0
1
1
1
1
0
0
1
0
0
1
0
2
1
0
0
1
0
0
0
1
1
2
0
0
1
1
0
2
0
1
0
2
1
1
0
0
0
1
0
0
2
3
3
1
0
0
0
0
2
0
0
0
1
1
0
0
0
0
0
1
0
1
1
2
1
1
1
0
1
2
0
2
1
1
1
1
2
3
1
2
4
1
1
2
0
2
1
3
0
2
1
0
0
0
3
2
0
1
0
2
1
1
1
2
0
1
1
1
1
2
1
1
0
1
2
0
1
0
0
0
2
0
0
0
2
0
1
0
1
1
0
1
2
2
0
1
0
1
1
1
0
0
0
2
2
2
1
2
2
0
0
2
2
1
2
2
3
1
1
1
1
1
0
2
0
0
2
0
2
0
0
2
0
2
2
0
0
1
1
2
0
0
1
0
0
0
0
3
2
1
2
1
2
0
1
1
1
1
1
1
0
1
0
1
0
0
0
4
0
1
0
0
1
0
0
2
0
3
2
1
1
1
1
1
0
1
1
0
1
5
2
0
0
1
1
2
1
2
1
1
0
0
0
1
0
1
0
3
1
2
1
0
0
2
0
1
1
1
0
1
1
3
1
1
0
1
0
0
1
0
0
0
0
1
0
2
1
3
2
1
0
0
1
0
1
1
1
0
3
0
1
2
3
0
0
0
0
1
0
0
0
0
0
1
1
2
1
0
0
0
0
1
2
0
0
0
0
0
0
0
2
2
0
0
0
2
1
0
0
1
1
0
0
2
0
2
0
0
1
0
0
0
1
1
0
0
0
0
2
0
1
0
3
1
0
0
0
1
1
0
1
1
2
0
1
1
1
1
0
1
0
1
0
1
0
0
0
2
1
1
0
1
0
2
0
3
1
1
0
2
1
0
1
0
0
0
1
2
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
2
0
2
1
0
0
1
0
0
0
0
1
1
2
2
4
0
1
2
1
0
1
2
0
0
0
1
0
0
0
1
3
1
0
1
2
1
0
1
1
0
3
0
0
1
0
0
1
2
1
0
1
2
1
0
0
0
0
0
1
0
0
0
0
2
1
2
2
1
1
1
0
1
1
2
2
0
2
0
0
1
1
1
0
1
0
1
0
1
0
2
1
1
0
1
1
1
0
1
0
2
1
1
1
1
1
1
1
2
0
4
0
0
0
2
2
2
0
0
0
1
0
1
3
0
1
0
1
1
0
0
1
0
2
2
2
0
4
1
1
0
0
0
1
2
0
1
0
0
0
0
0
1
0
1
0
2
0
1
0
2
2
0
1
2
1
1
1
1
1
2
4
0
0
0
1
0
1
3
0
0
2
1
1
0
0
0
1
1
1
0
0
1
0
2
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
0
2
2
3
1
0
1
0
0
1
1
0
2
0
0
2
0
1
1
1
2
2
1
0
1
2
3
2
0
1
0
1
2
3
1
0
1
1
2
1
0
0
0
2
0
0
1
0
2
0
1
1
0
1
1
0
1
0
3
2
0
1
0
0
2
0
2
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
2
1
0
2
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
2
0
3
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
3
0
0
3
1
0
0
1
0
1
1
3
1
1
0
0
0
1
2
0
1
0
0
0
3
2
0
1
1
1
0
1
1
1
0
6
1
0
3
0
1
3
1
1
1
2
0
1
1
1
0
0
1
0
1
1
1
2
1
0
1
0
0
1
2
1
0
1
1
0
0
0
0
1
1
1
3
1
0
1
0
0
0
0
1
1
0
2
0
0
1
0
1
1
1
1
1
0
0
0
0
1
2
1
2
1
1
3
0
0
3
0
0
0
2
1
0
1
0
1
1
3
1
1
2
2
0
1
0
0
1
1
0
3
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
3
0
0
0
0
2
0
1
3
0
0
1
0
1
2
0
1
1
0
0
0
3
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
3
0
0
0
1
1
0
1
2
0
0
1
2
0
1
0
1
0
2
1
0
0
0
0
0
1
0
1
1
0
3
0
0
0
0
0
0
2
1
2
0
2
2
0
0
0
1
3
0
1
2
1
1
1
1
3
0
0
0
0
0
0
2
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
2
0
0
0
0
0
1
1
0
1
1
0
0
0
1
2
1
1
0
0
2
2
0
0
1
0
1
0
0
0
2
1
1
0
2
0
0
1
0
1
1
0
4
0
2
1
3
1
0
0
1
0
1
0
1
1
1
2
1
0
1
0
3
0
1
0
3
0
4
1
0
0
1
0
0
0
2
0
0
2
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
2
1
1
2
1
0
0
0
2
3
3
1
0
0
1
0
0
1
1
1
1
2
2
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
2
0
3
0
0
1
0
0
2
1
0
1
1
0
1
2
2
0
0
1
1
3
1
0
1
1
0
1
0
0
1
1
1
0
1
1
2
1
1
0
1
2
1
1
1
3
0
0
1
2
0
2
0
1
1
0
2
0
2
0
0
1
1
0
0
0
0
1
0
1
3
0
0
1
0
0
0
3
0
1
0
0
0
0
0
1
0
1
0
0
0
0
2
0
0
0
1
1
1
1
1
0
1
0
0
2
1
0
1
0
1
1
0
0
2
1
0
0
1
1
0
0
3
1
1
0
1
1
1
0
0
0
2
2
1
0
1
0
1
0
0
2
0
1
2
1
2
1
0
0
0
0
0
1
1
1
1
1
0
2
0
1
0
0
2
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
2
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
4
0
0
1
0
0
2
2
1
1
0
1
1
0
0
0
0
2
1
4
0
1
0
0
0
0
0
0
0
1
0
1
0
3
0
2
0
0
0
1
2
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
2
0
1
0
3
0
1
2
1
1
0
1
0
0
2
0
0
1
0
0
0
0
2
2
0
0
1
2
2
0
1
1
0
0
1
2
2
0
0
1
1
0
1
1
2
2
0
2
3
1
1
1
1
0
1
0
1
1
0
1
1
1
2
0
0
0
2
1
2
0
0
2
1
0
0
1
0
1
2
1
0
0
0
2
0
1
0
0
0
0
0
0
0
1
0
2
0
0
2
1
1
3
3
0
3
2
0
1
0
1
0
0
1
1
0
0
0
0
0
1
2
1
0
1
0
1
1
1
0
1
1
2
0
1
0
1
0
1
0
0
0
0
1
1
2
1
0
0
0
0
1
1
1
0
2
1
1
0
0
0
0
1
1
2
0
1
0
2
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
2
1
2
0
1
1
0
0
1
0
1
2
0
0
3
1
1
1
0
1
0
0
2
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
1
1
0
0
1
4
1
1
1
2
0
1
0
1
2
1
1
2
0
0
1
2
0
0
1
1
1
0
3
0
0
1
3
1
2
0
0
1
1
0
0
3
1
2
1
2
1
0
0
1
1
4
0
1
0
1
1
0
0
2
1
0
0
1
0
1
0
0
0
1
2
0
1
1
2
0
1
1
2
0
0
1
1
0
1
0
1
2
0
1
2
1
0
0
1
1
0
0
2
1
0
2
1
0
1
0
0
1
0
1
2
2
1
1
0
3
1
3
0
2
0
0
0
0
0
0
1
1
0
1
1
2
0
2
0
2
0
0
1
0
1
1
1
1
0
2
0
0
1
2
0
1
1
1
2
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
2
0
2
0
0
1
0
0
0
0
0
2
0
1
0
0
0
1
2
0
1
0
0
1
0
2
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
2
0
0
0
1
2
1
0
0
0
1
0
0
0
2
2
2
1
0
1
1
2
1
0
0
0
0
1
0
0
0
1
0
1
1
1
4
0
0
0
2
1
0
1
1
0
1
1
0
0
1
1
1
0
0
2
4
1
2
3
2
1
0
0
1
1
1
2
1
0
0
1
0
1
0
0
0
1
3
1
0
1
1
1
2
0
0
0
0
2
1
0
1
1
0
1
0
0
0
0
2
0
0
2
2
1
1
1
1
2
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
2
1
2
1
1
1
0
2
2
1
0
2
1
1
1
2
0
0
1
0
1
0
2
1
2
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
2
0
1
0
0
0
0
0
1
1
1
4
2
1
3
1
3
0
0
0
2
0
0
2
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
2
1
1
1
1
0
0
1
0
0
1
0
0
2
2
1
3
1
1
0
1
2
0
0
0
1
3
0
0
0
1
1
0
0
1
0
0
0
0
1
0
3
0
2
0
0
0
0
1
0
1
1
1
0
0
2
2
1
0
1
0
3
0
0
1
1
0
1
0
0
0
1
0
2
1
0
0
0
2
1
1
2
1
1
0
0
1
0
0
1
0
1
0
2
2
0
1
2
1
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
2
0
1
1
0
2
0
1
1
2
2
1
0
1
2
0
2
1
0
1
1
0
1
2
2
1
0
0
0
0
2
1
0
1
1
0
1
0
1
1
0
0
0
0
2
1
1
0
0
0
0
0
1
0
1
1
2
1
0
1
1
0
2
2
2
0
0
2
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
2
1
3
0
0
0
0
0
0
1
0
3
1
1
2
0
0
1
0
2
1
0
0
1
1
0
0
0
1
0
1
0
2
0
1
0
1
0
0
0
0
1
2
1
2
1
0
1
1
0
1
2
0
0
3
2
0
1
0
1
1
1
1
1
1
1
0
3
2
0
0
0
0
0
2
1
2
0
0
0
0
0
0
3
0
0
0
2
0
0
0
2
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
2
0
0
0
0
0
2
0
0
1
2
1
0
0
2
0
0
0
0
1
0
0
1
3
1
1
0
0
1
0
2
0
0
2
1
1
0
2
0
1
2
1
1
3
1
0
1
1
1
2
1
0
1
2
0
1
0
1
1
2
0
0
4
0
1
1
1
1
1
0
1
0
0
2
0
1
0
0
0
1
2
0
1
0
1
0
0
0
3
1
3
3
1
1
1
0
0
0
2
0
1
1
1
0
0
0
1
2
1
1
0
0
0
1
2
1
3
0
1
0
0
0
1
0
1
2
0
0
0
0
0
2
1
4
0
0
0
0
3
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
2
2
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
2
1
1
0
2
1
1
0
1
0
1
0
0
1
0
0
1
0
3
1
2
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
3
0
0
0
2
1
2
2
0
0
0
0
1
0
0
0
0
0
1
0
0
1
2
0
1
0
0
0
0
2
0
0
1
0
0
1
0
0
3
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
2
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
3
3
1
2
0
1
1
0
0
0
1
2
2
1
2
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
2
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
2
0
1
0
0
2
1
0
4
2
1
1
1
0
0
0
0
0
1
1
3
1
2
4
0
1
1
0
0
1
0
3
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
2
1
0
0
0
2
2
1
1
1
0
2
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
2
2
1
2
0
1
2
0
2
1
0
0
2
0
1
0
0
0
0
2
0
2
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
2
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
2
2
1
0
1
0
0
0
0
1
2
1
0
1
0
0
0
1
0
0
2
0
0
3
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
2
0
1
0
0
3
0
0
1
0
0
0
1
1
2
1
0
0
1
1
3
3
0
0
0
0
2
0
0
1
2
0
0
0
2
1
0
1
0
1
1
0
1
1
1
1
2
2
0
0
2
0
1
0
0
2
1
0
0
0
1
0
2
0
0
0
2
1
2
0
1
1
0
2
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
3
0
1
2
0
0
1
0
0
1
1
0
0
1
1
0
2
0
0
0
0
0
1
3
0
0
0
3
0
1
1
1
1
3
0
0
1
1
0
0
2
0
0
1
1
2
0
1
2
0
2
1
0
0
0
3
0
0
1
0
0
0
0
2
1
0
0
1
2
1
1
2
2
0
1
0
0
0
1
1
0
2
0
0
0
1
2
0
1
1
1
0
1
0
1
2
1
0
1
0
2
1
0
0
1
1
0
2
2
1
0
1
2
0
1
1
0
2
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
3
2
0
0
0
0
1
1
0
0
2
0
2
1
3
1
3
1
0
1
1
2
0
0
1
1
0
2
0
1
1
2
1
0
0
0
0
0
0
2
2
0
0
1
1
2
0
0
1
1
0
0
0
1
1
0
2
0
0
0
0
1
1
0
0
2
0
1
0
2
1
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
0
1
1
0
0
0
2
0
2
2
0
3
0
0
0
1
0
0
0
0
1
1
2
1
0
0
0
0
1
0
0
1
0
3
0
1
1
3
1
0
0
0
1
0
1
0
2
0
2
0
0
0
0
0
0
1
0
0
0
1
0
0
0
4
1
0
0
2
0
1
2
1
2
1
1
0
0
1
1
0
2
1
1
3
0
0
0
0
1
2
0
1
1
0
0
2
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
1
2
1
0
2
1
1
0
2
0
0
1
0
1
0
0
1
0
0
0
0
0
2
1
0
0
0
0
0
0
0
2
1
0
0
0
2
1
1
0
0
1
2
1
0
0
0
0
0
0
0
1
1
2
1
0
0
2
0
2
0
2
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
2
0
1
0
1
1
0
2
1
2
1
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
2
2
0
1
0
1
0
0
0
2
0
0
2
3
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
3
2
0
0
1
0
1
0
2
0
0
1
0
2
2
0
0
4
2
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
2
0
2
2
0
0
1
0
1
1
0
2
0
2
0
0
1
2
0
0
0
2
2
0
1
1
0
1
0
0
2
2
1
1
0
0
1
1
2
0
1
1
0
2
2
0
0
2
2
1
0
0
0
0
0
0
0
0
1
0
1
0
2
2
1
1
0
0
0
1
2
1
1
0
0
0
2
1
0
0
1
0
0
0
0
1
1
2
1
2
1
1
2
1
0
3
0
0
1
0
1
2
1
1
0
0
1
0
1
1
2
2
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
2
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
2
2
1
1
0
0
0
2
1
0
1
0
0
0
1
0
2
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
2
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
3
1
1
1
0
1
0
0
0
1
0
0
2
0
1
0
0
0
0
1
3
2
2
0
0
1
1
0
0
0
0
1
3
1
1
1
0
1
0
0
2
2
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
3
0
0
0
0
0
2
0
0
0
2
0
1
0
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
3
0
0
0
0
0
1
1
1
0
0
2
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
2
0
0
1
0
2
0
0
1
0
1
0
0
1
0
0
0
2
0
2
0
0
1
2
0
0
1
0
0
0
0
1
2
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
2
0
0
0
0
1
2
0
0
2
3
1
0
0
0
1
1
3
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
2
1
2
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
2
0
0
1
0
0
1
0
0
1
0
1
0
2
0
0
0
0
0
1
1
0
1
2
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
2
2
1
4
0
1
0
0
1
0
0
0
1
3
1
1
1
1
0
0
1
0
1
2
1
0
1
0
0
0
3
0
1
1
0
0
0
1
1
2
0
0
0
0
2
0
0
0
0
0
0
2
1
0
1
0
0
0
1
0
0
1
1
0
2
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
2
0
2
0
2
0
0
1
2
2
1
2
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
2
2
0
1
1
1
0
1
1
0
2
1
2
1
0
0
1
0
1
1
1
0
1
1
0
0
1
2
1
2
0
2
0
1
2
2
0
2
1
0
0
0
1
2
0
0
1
0
1
0
0
1
1
0
1
0
3
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
2
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
2
3
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
2
2
1
1
1
2
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
2
0
0
0
1
2
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
2
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
2
0
2
2
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
2
0
1
0
1
2
1
1
0
0
0
1
1
0
0
1
0
1
2
2
0
0
0
0
0
2
0
1
2
1
0
0
2
2
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
2
0
4
1
0
2
2
0
1
2
1
0
0
1
0
0
1
1
0
0
0
2
0
2
1
0
0
1
2
2
0
1
2
0
1
2
1
0
0
0
0
1
1
0
1
0
0
1
2
1
1
0
0
0
3
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
2
0
2
0
0
2
1
1
0
0
0
1
3
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
3
0
1
0
0
0
0
0
0
1
0
0
0
1
2
0
1
1
1
0
0
0
0
2
0
0
1
0
1
0
1
0
0
1
0
2
0
0
1
1
1
1
0
0
1
2
1
1
0
1
1
2
0
1
2
0
1
0
0
1
0
1
2
1
0
0
1
1
0
0
0
1
2
1
0
0
1
1
1
2
0
2
1
0
0
0
1
0
0
0
2
0
2
0
2
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
2
2
0
2
0
0
0
0
1
1
1
2
0
2
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
2
0
2
0
2
0
0
1
2
2
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
2
0
1
1
0
1
3
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
2
0
1
2
3
1
2
0
0
0
1
1
0
0
0
0
2
1
3
1
0
0
1
0
0
1
1
1
0
0
3
0
1
0
3
0
0
0
0
0
0
0
0
1
3
0
1
0
0
2
1
2
1
0
1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
2
1
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
1
1
1
1
1
1
0
2
0
1
0
1
0
1
0
0
0
2
1
1
2
1
0
0
0
1
1
0
3
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
1
0
0
1
0
3
0
0
1
1
0
1
0
1
0
1
2
0
0
2
1
0
0
0
2
2
1
1
1
0
0
0
0
0
1
1
1
1
1
2
0
0
0
1
1
0
2
0
1
0
1
0
1
1
0
2
0
0
1
0
1
1
0
0
0
2
0
0
1
0
0
0
3
0
0
0
2
0
1
0
1
0
1
2
0
1
2
1
0
2
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
2
3
2
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
2
1
0
1
0
1
1
0
1
1
0
1
0
1
0
2
1
0
1
0
0
0
1
0
0
0
0
3
0
0
0
0
0
3
0
1
1
0
0
3
1
0
1
0
1
2
0
0
3
0
0
0
1
1
1
0
2
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
2
0
1
0
1
2
1
0
0
0
0
0
1
0
0
2
0
1
0
1
1
2
0
0
1
0
0
0
0
0
0
0
0
1
2
1
1
1
1
0
0
0
0
0
0
1
1
1
1
2
1
0
2
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
2
0
1
0
0
0
1
1
2
0
2
0
0
1
2
1
0
2
0
0
0
0
1
0
0
0
2
1
1
1
0
0
2
2
0
1
0
1
1
1
0
0
2
1
0
0
0
0
0
1
0
1
0
0
2
2
0
0
0
0
0
1
1
1
2
0
0
0
1
0
1
0
0
0
0
0
0
2
1
0
0
1
0
1
0
0
1
1
1
2
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
2
0
1
3
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
3
1
1
1
0
0
0
2
0
1
3
1
0
1
0
0
1
0
2
1
0
0
0
1
1
1
1
4
1
1
0
0
0
0
0
2
0
2
0
0
0
1
0
1
0
2
0
0
1
1
0
0
0
0
0
0
2
0
0
3
0
1
0
0
1
0
0
1
1
1
0
2
0
1
1
3
0
0
1
1
0
1
0
1
1
1
0
0
0
1
3
1
0
0
0
0
2
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
3
1
1
0
0
1
1
1
0
1
0
0
2
0
0
1
0
0
0
2
0
0
0
0
2
0
2
0
0
1
0
0
1
0
0
0
0
0
0
0
0
2
1
0
1
1
1
0
0
2
1
0
1
1
0
1
0
0
2
0
0
0
1
0
0
0
0
2
0
0
3
1
1
0
0
0
0
0
0
3
1
0
0
0
1
0
2
0
1
1
0
0
2
0
1
0
0
1
0
0
0
0
1
1
3
0
0
0
0
0
1
2
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
2
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
2
0
2
0
0
1
1
1
0
0
0
1
0
0
1
0
0
2
3
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
2
0
0
0
1
2
1
0
0
0
0
2
3
1
2
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
2
2
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
1
0
0
1
0
2
0
0
0
2
0
2
1
0
2
0
0
2
0
0
1
0
2
0
2
0
0
2
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
3
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
2
1
1
2
0
1
0
0
0
0
0
2
1
1
0
0
1
0
0
2
0
1
1
0
1
1
1
0
0
1
0
1
1
2
1
0
4
0
0
1
1
1
2
0
1
2
0
1
0
1
0
1
0
1
0
2
0
2
0
0
0
0
1
1
1
0
0
0
0
0
2
0
3
0
2
0
1
0
1
1
0
0
2
2
3
0
0
1
1
3
0
0
1
0
0
1
0
0
1
1
2
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
2
1
0
0
0
1
0
0
0
0
3
0
0
0
0
0
3
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
2
0
1
1
2
1
0
1
1
0
1
0
0
1
2
1
0
1
1
0
1
2
0
1
1
2
2
0
0
1
0
1
1
1
0
1
0
1
2
0
0
0
0
0
0
1
0
0
0
1
2
0
1
0
0
0
1
0
0
0
1
0
2
1
1
1
0
0
2
0
0
1
1
0
0
2
1
0
0
2
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
2
0
1
0
2
1
1
1
1
0
0
1
0
0
0
2
0
0
0
0
0
0
2
0
1
2
1
1
0
0
1
0
0
0
1
0
0
2
0
0
1
0
1
1
1
0
2
0
0
0
0
1
0
1
1
0
0
1
0
1
2
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
2
0
0
1
0
0
1
0
1
2
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
3
0
1
0
1
3
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
2
0
1
0
0
1
0
1
2
1
1
1
0
2
0
1
0
1
2
0
0
0
0
2
1
3
2
0
2
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
2
0
0
0
2
1
0
1
1
0
0
1
0
1
1
0
0
2
0
1
0
0
0
1
0
1
0
1
2
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
2
1
1
2
1
0
0
0
1
2
0
1
0
0
0
2
1
0
0
0
2
1
0
1
0
0
1
0
1
0
1
2
2
0
0
0
1
1
0
1
0
0
2
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
2
0
1
0
3
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
2
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
3
4
1
0
1
1
0
4
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
2
2
1
1
0
2
0
1
0
2
2
0
0
0
1
0
0
0
1
0
2
0
0
0
2
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
2
0
1
0
3
0
0
0
0
0
1
0
1
1
0
0
0
1
2
2
0
0
0
0
0
0
0
1
2
1
2
1
1
0
0
0
1
1
0
2
1
1
3
0
2
0
2
1
1
1
0
1
1
2
2
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
3
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
0
0
1
2
0
0
2
1
2
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
2
0
2
0
1
0
0
0
1
2
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
3
0
0
0
0
4
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
2
0
1
0
0
1
2
2
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
2
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
2
0
0
2
1
0
1
0
0
0
0
1
0
0
1
2
2
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
2
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
2
0
0
0
0
1
1
1
0
1
2
0
0
1
0
0
1
1
0
0
2
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
2
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
2
1
0
1
2
0
2
0
3
1
0
0
0
0
0
0
1
1
0
2
0
3
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
2
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
2
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
3
0
1
0
0
0
0
2
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
2
0
0
1
1
1
1
2
2
1
0
0
0
2
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
2
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
3
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
2
2
0
1
0
0
1
0
0
1
0
2
0
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
2
0
0
2
1
1
0
0
1
0
0
2
0
1
0
1
1
0
1
1
2
1
2
1
0
1
0
1
0
1
0
0
0
0
0
0
1
2
0
2
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
2
1
2
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
2
0
2
0
1
0
1
0
2
1
2
0
0
0
0
1
1
1
0
2
1
2
0
2
0
2
2
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
1
0
2
0
1
1
1
0
1
1
0
1
0
0
0
2
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
1
0
0
2
0
1
0
1
0
0
3
1
1
2
1
1
0
0
1
2
1
1
2
2
1
1
0
1
1
1
1
0
0
0
1
2
0
0
1
1
0
1
0
1
0
2
0
1
1
0
0
1
1
1
2
0
1
0
1
0
2
0
2
0
1
0
0
0
0
2
2
0
0
0
1
0
0
1
1
0
1
0
0
0
2
1
0
0
0
1
0
1
0
1
2
0
0
0
0
2
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
2
0
0
1
2
2
2
0
0
0
0
0
1
0
1
1
2
2
1
0
0
1
0
1
0
1
0
0
1
2
1
0
0
1
1
0
1
1
1
0
0
2
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
2
0
0
1
1
0
0
0
0
1
2
0
2
2
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
2
2
1
0
0
0
0
3
1
0
1
0
0
0
0
0
3
1
0
1
0
0
1
1
0
0
1
1
1
0
0
2
0
3
1
0
1
2
0
1
0
0
1
2
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
2
1
2
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
2
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
2
0
3
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
2
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
1
1
1
0
2
0
2
2
0
0
2
0
0
0
2
0
1
2
0
1
0
0
0
0
2
2
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
3
1
2
0
0
0
0
1
0
0
0
3
2
0
0
0
0
0
0
0
1
1
0
0
0
0
2
1
0
0
0
0
1
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
0
2
0
1
0
1
0
1
2
1
2
0
1
0
0
0
0
1
0
0
0
1
0
0
2
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
2
0
0
1
1
0
0
0
1
0
0
0
2
0
0
0
0
0
2
0
1
2
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
3
2
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
3
0
0
0
1
0
0
2
2
0
0
1
1
3
0
1
0
0
2
0
0
0
0
0
0
2
0
0
1
1
0
0
0
2
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
3
3
1
2
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
3
1
0
1
1
1
0
0
0
0
1
0
1
0
2
2
1
0
0
1
1
2
1
1
1
0
0
2
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
2
0
0
0
0
0
1
0
1
1
0
2
0
0
1
1
2
0
0
1
0
1
2
1
0
0
1
0
2
2
2
1
1
1
2
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
2
0
1
0
2
1
1
0
0
0
0
1
0
0
0
1
1
1
0
3
0
3
1
2
1
0
1
0
1
0
2
1
0
0
1
2
0
0
0
0
2
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
2
0
2
1
0
2
2
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
2
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
2
0
0
0
2
0
0
1
0
1
0
1
1
1
0
1
1
2
0
0
1
1
1
2
0
3
0
0
0
0
1
0
0
2
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
2
2
0
0
1
2
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
2
3
0
1
0
1
0
0
1
0
0
1
3
0
0
0
2
4
1
0
0
0
0
0
2
4
0
0
0
0
1
0
1
3
2
0
0
0
2
0
0
0
1
0
0
1
0
0
1
0
0
0
4
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
2
0
1
1
0
2
0
2
0
1
2
0
1
1
0
0
0
1
1
0
1
1
1
2
0
1
1
0
1
0
1
0
3
0
0
0
1
0
0
1
1
1
0
0
2
0
0
2
1
1
1
1
1
3
0
0
0
2
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
2
1
0
2
0
0
0
0
1
0
0
0
0
4
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
2
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
2
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
2
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
2
1
1
1
0
1
2
3
0
1
2
0
1
0
0
1
1
0
0
0
1
2
2
0
0
1
1
0
1
0
1
1
0
0
1
1
2
4
0
1
0
0
1
0
0
1
1
1
0
1
2
1
1
0
0
0
0
0
1
0
0
0
0
1
2
1
2
0
1
0
0
0
1
0
1
1
1
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
2
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
2
0
0
2
0
0
0
0
0
1
1
0
1
0
0
0
3
0
0
1
1
1
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
1
0
1
0
1
0
0
4
0
0
1
1
2
0
1
1
1
2
2
1
0
1
1
0
2
0
0
1
0
2
0
0
0
1
1
0
0
0
1
0
1
0
2
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
2
2
1
1
0
0
0
0
1
0
2
3
0
1
2
0
0
0
1
1
0
0
0
1
2
3
2
0
1
1
1
2
2
0
0
0
1
2
1
1
0
0
0
0
2
0
0
0
1
1
2
1
0
0
1
0
1
2
2
1
1
0
0
2
0
0
1
1
1
0
2
1
0
0
2
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
1
0
0
0
0
0
3
1
1
1
2
1
0
0
3
1
2
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
2
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
2
1
1
0
0
2
0
1
0
1
0
0
0
1
1
2
0
0
1
2
1
2
1
0
0
0
0
2
1
1
2
0
2
0
0
1
1
2
0
0
1
3
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
2
0
0
1
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
2
0
1
0
1
0
0
0
0
0
0
2
0
3
1
0
0
1
0
0
1
0
0
1
1
1
2
0
0
1
1
1
0
0
3
1
0
0
1
0
0
0
0
0
2
1
0
0
2
1
0
2
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
3
2
0
0
1
0
1
2
1
0
1
0
0
0
0
0
0
0
1
1
1
0
2
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
2
0
1
1
2
0
1
0
1
0
1
1
0
1
2
0
1
1
0
0
0
1
2
0
1
0
1
0
2
0
2
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
2
0
0
0
0
1
1
0
1
1
1
0
1
0
0
3
1
0
0
1
0
0
0
0
0
0
2
1
0
0
0
1
2
0
0
2
0
0
1
0
0
0
1
0
0
1
3
1
1
0
0
1
0
2
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
2
0
1
0
0
0
0
1
1
1
2
0
0
1
0
0
0
0
0
2
0
0
1
2
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
2
1
1
0
2
1
1
0
0
0
0
2
1
0
2
1
2
0
1
0
0
0
0
0
1
1
2
2
1
0
1
2
0
0
0
0
0
0
0
1
1
1
0
1
2
0
3
0
0
2
2
0
1
1
0
0
0
0
1
0
1
1
0
0
1
2
1
1
1
0
1
0
0
2
0
2
1
1
0
0
1
0
0
2
1
1
0
1
3
0
0
0
0
0
0
1
1
1
0
0
2
1
2
2
1
1
0
0
2
1
0
3
1
0
0
1
1
0
1
1
1
0
2
0
1
1
0
1
0
0
0
0
0
1
0
1
2
1
0
2
1
0
3
0
1
1
0
1
3
1
0
1
0
0
1
0
0
0
2
0
1
0
0
0
0
0
2
2
0
0
1
3
0
2
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
3
1
0
0
0
1
1
2
0
0
1
0
0
0
0
2
0
1
0
0
0
0
2
1
0
1
0
2
0
2
1
2
0
2
1
1
1
1
0
0
1
0
3
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
2
0
4
2
1
0
0
0
2
0
1
1
0
0
1
2
0
1
0
1
0
1
0
0
2
0
0
0
0
0
0
1
0
0
1
0
3
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
2
0
1
1
2
1
1
0
2
0
0
0
1
3
2
1
0
0
2
2
0
0
0
0
0
0
1
0
1
1
0
1
2
0
0
1
0
0
1
0
0
1
0
2
0
0
1
1
0
2
0
2
1
1
1
1
0
0
0
0
0
0
0
2
0
3
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
2
0
0
0
1
2
0
2
2
0
2
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
2
0
0
0
0
0
1
1
0
1
1
3
1
2
1
0
2
0
2
0
0
0
1
0
0
0
0
1
2
0
1
1
0
0
2
0
1
1
0
0
1
2
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
2
0
0
0
0
1
5
1
0
1
2
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
2
1
2
0
0
0
0
2
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
2
1
0
0
1
1
0
1
1
0
0
1
0
1
2
0
0
0
0
1
0
0
0
1
0
1
1
0
3
0
1
1
0
0
1
0
2
0
3
1
0
1
0
2
1
1
1
0
1
0
0
2
0
0
1
1
2
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
2
1
0
1
1
0
0
3
0
1
3
0
1
2
0
0
1
1
0
1
0
0
1
1
2
0
1
1
2
0
3
0
0
1
1
1
1
0
1
2
3
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
2
1
0
1
1
1
1
0
0
1
2
0
2
0
2
0
0
1
2
0
0
0
0
1
0
0
0
3
1
0
2
0
0
0
1
0
1
3
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
2
0
0
1
0
0
2
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
2
0
2
2
0
1
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
2
2
0
0
0
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
1
2
0
1
1
2
1
1
0
1
0
0
1
0
3
1
0
1
0
0
0
2
1
1
0
1
1
2
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
2
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
3
0
0
0
0
0
0
2
3
2
2
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
2
0
1
0
0
0
0
0
0
1
2
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
3
0
1
0
0
3
1
1
0
0
0
0
1
0
0
2
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
2
1
1
1
0
0
2
1
1
2
1
0
0
0
0
1
0
0
1
0
0
2
0
0
0
0
0
2
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
2
0
0
0
0
2
0
1
2
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
2
1
1
0
1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
1
0
1
1
0
1
0
0
2
0
1
1
0
1
1
0
0
0
1
0
0
2
2
0
1
0
1
1
1
0
0
0
0
1
0
2
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
2
0
1
0
1
0
0
0
1
0
2
0
1
1
2
1
0
0
1
1
1
0
1
0
1
1
0
3
0
2
0
0
1
2
2
1
0
0
0
2
2
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
2
0
2
1
0
0
1
0
2
1
0
2
1
2
0
2
0
2
1
0
0
1
1
0
2
0
1
1
1
3
0
0
1
0
0
0
0
0
2
2
0
0
0
2
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
2
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
2
0
1
0
1
0
0
1
2
1
0
0
1
0
0
0
1
0
0
0
1
1
2
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
2
0
0
1
0
1
0
1
2
0
0
1
0
0
0
0
4
0
1
1
0
0
1
0
1
0
2
0
1
0
1
2
0
2
1
0
0
2
0
0
0
0
0
3
0
0
1
2
1
1
1
0
0
1
0
0
1
1
2
1
0
0
0
0
0
1
0
0
0
0
0
2
0
0
2
0
2
0
0
0
1
1
2
0
1
2
0
0
0
1
0
1
0
1
0
1
0
1
0
3
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
2
0
0
0
1
0
1
1
1
0
2
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
1
0
1
0
2
1
0
0
0
0
2
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
0
0
2
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
2
1
0
0
1
1
2
1
1
0
0
1
2
0
0
0
2
0
1
0
2
1
0
2
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
2
0
0
0
0
0
1
1
1
1
0
0
0
2
0
0
0
0
1
1
0
0
2
1
0
1
1
0
0
0
1
0
0
0
0
1
2
1
0
0
0
0
1
1
1
2
1
0
0
1
0
0
0
0
2
0
1
1
0
0
1
1
1
0
2
2
2
0
1
4
0
1
0
2
0
0
2
0
0
2
0
1
1
0
1
1
0
0
0
3
1
1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
0
0
0
2
0
2
1
1
4
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
3
1
3
0
1
0
0
2
0
1
0
1
1
0
0
0
0
0
0
0
1
2
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
2
0
0
2
1
0
0
3
0
1
1
1
2
1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
2
1
0
0
1
0
0
1
2
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
3
2
0
0
0
1
1
0
0
1
1
2
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
2
0
1
2
1
1
1
1
0
0
0
0
0
0
2
1
1
0
1
1
2
0
1
1
0
0
2
0
1
1
0
0
1
0
0
3
0
0
0
0
0
0
1
1
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
2
1
0
0
1
2
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
2
3
2
0
2
2
1
0
1
2
0
0
0
0
2
0
0
0
0
2
0
0
1
1
1
1
1
0
1
0
0
2
0
1
0
1
0
0
1
2
1
0
1
0
2
0
1
1
1
1
0
0
1
0
0
0
1
0
2
1
0
1
1
2
1
2
1
0
0
0
0
0
0
1
0
1
0
2
0
0
1
1
1
0
0
0
1
1
1
2
1
0
1
2
1
0
0
0
1
0
2
1
1
0
2
2
0
0
0
0
0
2
1
1
2
0
0
2
0
1
2
0
0
0
0
0
1
1
0
0
3
2
1
0
0
0
1
1
1
1
1
1
0
2
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
2
0
1
2
0
0
0
2
3
0
1
0
0
0
1
1
1
0
0
1
0
0
0
2
0
0
0
1
2
0
0
1
0
1
1
0
1
0
0
2
0
0
0
0
0
0
1
0
0
0
0
3
2
0
3
0
1
2
0
1
0
1
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
2
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
2
0
0
0
1
2
1
1
0
0
0
0
0
1
1
0
1
0
1
2
1
0
0
0
2
0
1
4
1
0
0
4
1
2
0
1
1
0
0
0
2
0
1
0
1
0
0
0
1
0
1
1
0
2
1
1
0
1
0
0
1
0
0
0
2
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
2
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
2
0
0
0
0
1
0
0
0
1
1
2
1
0
1
0
0
0
1
0
0
0
0
0
1
2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
2
0
1
0
0
0
0
1
2
0
0
1
0
1
0
2
0
0
0
2
1
1
3
0
0
0
3
3
2
1
0
1
0
1
1
2
1
1
3
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
2
1
1
0
0
1
0
1
0
1
1
0
2
1
0
0
1
0
1
1
0
1
1
0
3
0
0
0
3
1
1
1
0
0
0
1
0
0
0
1
1
1
1
2
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
2
0
0
0
0
1
0
0
0
1
0
0
1
0
0
2
2
0
2
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
2
0
0
1
0
0
0
3
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
1
1
1
1
2
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
2
1
1
0
0
0
0
2
0
3
2
0
0
0
0
1
1
0
2
2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
2
1
1
0
0
1
0
0
1
0
1
0
1
0
1
2
0
0
0
0
0
0
0
1
0
1
1
1
2
1
0
1
0
0
3
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
2
0
1
0
0
2
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
2
0
0
1
0
2
1
1
2
0
0
1
0
0
1
0
1
0
2
1
0
0
1
0
0
1
0
1
2
0
2
0
0
2
1
1
0
0
0
0
0
2
0
0
1
0
0
0
0
1
0
2
1
0
1
1
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
2
0
0
1
0
1
2
0
2
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
2
0
1
0
0
1
0
2
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
0
1
1
0
1
1
0
0
0
0
2
0
0
0
1
1
0
0
0
0
0
2
0
0
1
1
0
2
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
2
2
0
0
1
0
0
1
1
0
0
0
0
2
0
0
2
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
2
0
0
1
1
2
1
0
1
0
2
1
0
0
1
0
0
1
2
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
3
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
2
1
1
0
0
1
0
1
0
3
0
0
0
1
0
1
3
0
0
2
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
2
2
0
2
1
1
0
1
0
0
0
0
1
0
1
1
0
0
2
0
0
1
1
0
0
0
1
0
1
2
1
0
0
0
0
1
2
2
0
0
0
0
3
0
1
0
1
2
0
0
0
0
1
0
0
2
0
1
0
0
1
0
1
1
1
0
0
2
0
0
3
0
2
2
0
0
0
2
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
2
0
1
0
0
1
2
1
0
2
0
0
0
0
1
1
2
1
0
0
0
0
1
0
1
0
1
0
0
0
1
3
2
0
0
0
0
1
1
2
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
2
1
0
0
1
0
2
1
0
0
1
0
0
1
0
0
0
1
2
2
1
0
1
0
1
0
0
1
0
0
0
0
2
0
0
2
0
0
4
2
2
2
1
0
2
1
0
0
0
1
0
0
0
0
2
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
2
2
1
0
0
5
0
1
0
1
0
1
0
1
2
0
3
3
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
2
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
2
0
1
2
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
2
0
1
1
0
0
0
1
0
2
2
1
0
3
0
0
1
0
0
2
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
2
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
4
1
0
0
0
0
2
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
2
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
2
2
2
1
1
1
0
0
0
0
2
1
3
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
0
1
1
0
1
0
0
0
0
1
0
0
2
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
2
0
0
0
0
0
1
0
0
2
0
1
1
0
1
0
1
0
3
1
0
0
0
1
0
0
1
2
1
0
0
1
0
0
0
2
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
2
0
0
0
1
1
0
0
1
0
1
1
2
0
2
1
0
0
0
0
2
1
0
3
2
0
1
2
0
2
0
0
0
0
0
1
2
0
0
0
0
0
1
1
2
0
0
0
0
0
0
2
2
1
0
0
0
3
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
2
1
1
1
3
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
4
0
1
0
2
1
0
2
0
1
0
2
0
0
1
0
0
0
1
1
0
0
0
0
2
0
0
1
1
1
2
2
0
0
0
0
1
1
1
1
0
2
0
0
0
0
1
1
0
0
2
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
2
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
2
0
0
0
0
1
1
0
2
0
0
1
0
0
0
2
0
0
0
1
1
0
0
0
1
0
1
0
1
2
0
2
0
0
2
1
1
3
0
0
0
0
2
0
0
0
1
0
2
2
0
1
1
0
3
0
0
2
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
2
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
3
0
0
1
1
0
2
2
1
0
0
0
0
1
1
2
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
4
0
2
0
1
1
0
1
2
0
2
1
0
2
0
1
1
0
0
0
0
0
0
2
1
0
1
1
1
0
0
0
1
0
2
1
2
0
1
0
0
0
0
0
2
0
1
0
2
0
0
1
0
1
1
0
0
1
0
0
0
0
0
2
1
0
1
0
0
0
0
0
0
0
1
2
2
0
1
0
1
0
0
1
0
2
0
3
1
1
3
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
2
1
1
1
1
0
1
0
0
1
1
0
0
0
2
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
1
0
3
0
0
2
0
2
0
0
1
1
1
0
0
1
2
0
1
0
1
1
0
0
0
2
0
0
1
1
0
0
1
0
1
2
1
0
1
0
0
0
2
1
2
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
1
2
0
1
1
0
0
1
0
2
2
1
1
1
1
2
0
3
0
0
1
0
1
1
2
0
1
1
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
2
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
3
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
2
2
0
1
1
0
1
1
0
3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
1
0
0
0
0
1
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
2
0
0
2
0
0
2
0
0
2
0
1
3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
2
0
1
0
0
0
0
1
1
2
1
1
0
0
0
0
2
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
2
1
0
0
1
1
0
0
2
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
3
1
2
0
1
0
1
1
0
0
0
1
0
1
0
1
1
2
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
2
0
1
0
0
0
1
0
1
0
0
1
2
0
2
0
0
1
1
1
0
0
2
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
2
0
1
1
1
0
1
1
1
2
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
2
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
2
0
1
1
1
0
0
0
2
2
2
0
0
0
0
0
2
2
0
1
0
0
1
2
1
0
2
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
2
0
0
0
2
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
2
0
0
0
0
0
0
1
0
0
0
2
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
2
1
1
0
0
2
2
1
0
0
0
0
1
0
0
0
0
0
1
0
2
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
2
2
2
3
0
0
2
1
2
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
2
0
1
1
1
0
2
1
0
1
1
0
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
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
2
0
0
0
1
0
1
1
0
0
1
0
0
1
0
2
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
2
1
1
0
0
0
1
0
1
2
0
0
1
0
1
1
0
2
1
0
1
0
2
2
0
0
1
0
1
1
1
2
0
0
1
0
0
0
1
0
1
0
0
2
2
1
0
0
2
1
2
1
0
0
0
0
1
2
0
1
0
0
0
4
0
0
0
0
2
0
1
0
2
1
1
0
1
0
1
1
0
3
0
0
1
1
0
0
0
0
1
2
0
1
0
1
0
2
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
2
0
1
1
0
0
1
1
0
2
2
1
1
2
0
1
0
1
1
1
1
0
2
0
1
0
0
0
1
0
2
0
1
0
1
1
2
0
0
0
0
2
0
1
1
1
1
1
3
0
0
1
0
1
1
0
0
0
0
0
2
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
2
0
1
0
0
0
0
0
0
1
0
0
2
0
0
0
0
1
2
1
0
0
1
1
1
0
1
0
2
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
1
0
1
0
0
1
2
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
3
0
1
0
2
0
0
1
1
0
0
1
1
2
2
0
0
0
1
2
1
0
0
0
1
0
1
0
1
2
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
2
0
0
0
1
0
0
2
0
2
0
0
0
0
2
1
0
0
1
1
2
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
2
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
2
1
0
0
1
0
0
0
0
1
1
4
0
0
0
0
0
1
1
1
0
3
0
1
1
0
0
0
2
1
0
0
0
0
2
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
2
0
0
1
2
0
2
0
1
3
1
0
1
0
2
0
0
2
0
1
0
0
1
0
1
0
2
1
1
2
3
1
0
0
0
2
0
2
1
0
0
2
0
0
1
0
2
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
2
0
0
0
0
1
0
0
1
1
3
0
0
1
1
1
1
0
0
1
0
2
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
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
1
0
0
1
0
1
0
0
0
0
2
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
2
0
0
3
0
0
2
0
1
2
0
0
0
0
1
0
2
0
0
0
0
0
1
1
1
1
0
0
2
0
2
1
3
1
1
0
1
0
0
0
1
1
2
0
1
0
2
1
1
1
2
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
2
1
0
1
1
0
0
0
2
0
1
0
2
1
1
1
1
0
2
1
0
0
0
1
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
1
0
0
0
0
1
1
0
2
0
1
0
0
0
0
0
0
1
0
0
1
0
0
2
2
0
0
0
2
1
0
0
0
1
0
0
1
1
2
0
0
0
2
0
0
0
0
0
0
1
0
1
0
2
0
0
3
0
1
0
0
0
0
2
2
0
0
0
1
0
2
2
1
0
0
0
0
1
2
0
1
2
1
0
1
1
2
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
2
0
1
0
0
0
2
1
0
2
3
0
0
2
0
1
0
1
0
3
0
0
0
0
1
0
0
0
0
2
0
0
1
0
1
1
0
0
0
0
2
2
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
2
0
1
2
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
2
0
0
1
1
0
0
0
0
1
0
0
1
1
2
1
2
2
0
0
0
0
2
0
0
0
1
0
1
1
1
0
0
1
0
0
0
2
0
0
0
0
1
1
1
2
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
2
0
0
1
0
0
0
0
0
0
2
1
3
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
1
1
0
1
0
1
3
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
2
0
0
0
0
0
0
0
0
3
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
2
1
0
1
1
0
0
2
1
2
0
0
0
0
0
0
1
1
1
0
0
1
0
2
1
0
1
0
2
0
0
0
1
0
1
0
3
0
1
0
0
0
3
2
2
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
2
0
0
2
0
0
0
0
1
0
2
1
1
0
0
2
1
1
1
1
0
0
0
0
2
1
0
0
1
0
1
0
0
2
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
2
0
1
1
0
0
1
0
2
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
2
0
0
0
0
1
0
0
2
0
2
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
4
0
0
1
0
0
0
1
3
0
1
0
1
0
0
0
0
0
1
2
1
2
1
0
0
1
1
1
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
1
0
1
0
1
0
2
0
1
0
0
3
0
2
0
0
0
2
1
1
0
0
0
0
1
0
2
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
2
0
1
0
2
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
2
0
0
2
2
1
0
0
2
0
0
1
0
0
1
0
1
0
2
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
2
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
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
1
2
0
0
0
0
1
0
0
0
2
0
0
1
0
0
0
1
0
0
0
0
0
0
2
2
1
2
0
1
3
0
3
3
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
2
1
0
0
1
0
1
1
0
0
3
1
0
0
0
2
0
3
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
3
1
0
0
0
0
1
1
1
0
0
1
0
2
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
2
1
1
1
2
0
0
1
2
0
0
0
1
0
1
0
1
1
0
0
1
3
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
2
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
2
0
0
1
3
4
0
2
2
0
0
0
0
0
1
1
0
0
2
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
3
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
2
0
2
1
5
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
1
0
1
0
1
0
1
0
0
2
0
0
3
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
2
0
1
0
2
0
0
0
0
1
0
1
0
0
0
4
2
0
1
1
1
0
2
0
0
1
2
0
0
0
0
1
0
1
1
0
0
0
2
2
1
1
0
3
2
0
2
2
0
2
0
0
2
0
0
0
0
0
0
2
0
0
2
0
0
1
0
1
1
2
1
0
1
1
1
0
0
1
0
2
0
0
1
2
2
1
0
0
1
0
0
0
0
2
0
1
1
0
0
0
1
1
0
0
0
0
2
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
2
0
0
2
1
1
0
1
0
0
0
1
1
0
0
2
2
0
0
0
3
1
3
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
2
1
0
1
0
0
1
0
0
1
1
0
3
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
3
1
0
1
0
0
1
0
0
0
0
1
0
3
0
1
0
1
0
0
0
0
2
0
0
0
0
0
1
1
1
0
0
1
2
0
0
1
0
0
1
0
0
3
0
2
0
1
0
2
0
0
0
1
1
1
0
0
1
0
0
0
2
0
1
0
0
0
1
0
1
1
0
0
0
2
1
1
1
0
0
0
2
1
1
2
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
3
0
1
1
1
0
0
0
0
2
1
0
1
0
0
1
0
1
2
0
0
0
0
0
0
3
0
0
0
1
0
0
2
0
1
0
2
1
0
0
0
0
0
1
1
0
1
1
2
0
0
0
1
1
0
1
0
0
0
0
2
0
0
0
1
0
0
0
2
2
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
2
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
2
2
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
2
0
2
1
1
0
0
1
0
2
0
0
0
0
1
1
0
0
3
0
2
0
0
1
0
0
2
0
0
1
1
0
0
2
1
0
2
0
2
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
2
1
1
0
0
0
2
0
0
0
0
0
0
1
2
0
0
0
0
1
0
0
1
0
0
0
3
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
2
0
0
0
0
1
1
1
0
0
0
2
1
1
0
1
1
0
1
0
2
0
0
1
2
0
0
1
2
2
1
0
1
0
0
0
2
0
0
0
2
2
0
1
0
0
0
1
0
1
0
2
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
2
1
2
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
2
0
0
0
2
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
2
0
0
0
2
0
0
2
0
2
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
3
0
0
3
1
0
0
1
0
0
2
0
1
2
0
0
2
0
0
0
0
0
0
0
0
2
0
1
0
0
2
0
1
1
1
0
1
0
2
1
1
0
1
1
0
0
0
0
1
0
2
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
2
0
2
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
3
0
1
1
2
1
1
0
0
0
0
0
1
1
0
0
0
0
2
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
3
0
0
0
0
0
2
0
2
0
0
3
1
1
1
0
0
0
0
1
0
2
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
2
0
1
0
0
1
1
1
0
0
1
0
0
0
0
2
0
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
4
2
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
2
1
0
2
1
1
0
2
1
1
1
2
2
2
0
0
0
0
1
3
1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
2
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
2
0
2
0
0
0
0
1
1
0
4
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
2
1
0
1
0
3
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
2
1
0
1
0
0
1
2
1
0
2
2
1
0
0
0
1
2
1
0
0
0
0
0
0
0
0
1
0
3
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
2
1
0
2
1
0
2
0
1
1
3
0
0
0
1
1
1
1
0
0
2
0
1
2
0
1
0
0
0
1
2
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
2
0
2
0
0
0
2
0
1
1
0
1
0
0
0
1
0
0
1
2
0
0
2
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
1
0
0
0
0
2
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
2
1
0
0
3
0
0
1
0
0
0
2
1
1
0
2
0
2
1
1
1
1
0
1
0
0
0
0
1
0
0
3
1
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
1
0
0
0
1
1
0
0
0
0
0
0
3
2
2
1
1
0
1
0
0
1
3
1
0
1
2
2
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
2
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
2
0
0
0
2
0
0
1
0
1
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
1
0
1
2
1
1
0
0
1
3
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
2
1
0
1
1
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
1
1
1
0
1
0
2
0
1
0
1
0
1
1
1
2
1
0
0
2
0
0
3
0
0
0
0
2
2
2
0
2
1
0
1
1
0
0
0
0
0
0
0
0
0
2
1
1
2
1
0
1
2
1
0
0
0
0
1
0
0
0
1
0
3
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
2
2
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
2
0
0
0
1
1
1
1
1
0
1
2
1
0
0
1
0
0
0
0
2
0
1
0
0
1
0
1
2
0
0
1
1
0
1
0
0
0
2
0
2
1
1
0
1
1
0
1
1
2
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
2
0
1
1
1
1
1
1
0
1
0
1
1
0
2
1
0
0
0
0
0
1
0
0
0
1
1
0
2
0
0
1
2
1
0
0
1
0
0
1
0
2
1
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
1
1
0
0
1
0
1
2
1
0
2
1
0
3
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
2
2
0
0
1
0
1
0
1
0
1
0
0
0
0
3
1
0
2
0
0
0
1
0
2
1
0
0
1
0
0
1
0
3
0
0
1
1
0
1
1
1
1
0
1
0
2
1
0
1
0
0
1
0
1
0
0
1
2
0
2
3
0
2
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
2
1
0
0
0
0
0
2
0
1
2
0
0
1
1
2
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
2
0
1
0
1
1
0
1
2
0
0
0
0
1
1
0
2
0
1
1
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
2
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
3
0
1
0
2
0
0
2
0
1
1
1
1
0
1
1
2
2
3
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
2
0
2
0
0
2
0
0
0
0
0
0
1
0
1
0
1
1
1
2
0
0
0
0
0
1
0
2
1
1
1
0
1
0
0
0
1
1
1
2
0
0
2
2
0
0
2
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
2
0
0
1
0
1
0
0
1
0
0
2
1
0
0
0
0
3
0
0
0
2
0
2
0
0
1
0
1
0
0
0
1
0
0
0
1
0
2
0
0
1
1
0
1
2
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
2
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
2
1
0
0
2
2
1
1
1
0
1
1
0
0
0
0
2
0
0
1
0
1
0
0
3
0
0
1
0
1
0
1
0
0
0
1
1
2
1
1
1
0
1
1
0
0
0
0
1
0
3
0
0
0
2
0
0
2
1
1
0
2
0
2
1
1
1
0
0
0
0
0
1
0
3
0
0
0
0
0
1
0
2
1
0
0
0
1
0
1
0
0
0
0
0
2
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
2
0
1
1
0
0
0
2
0
1
0
2
0
0
1
2
0
1
2
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
2
1
2
1
1
2
0
0
0
1
3
0
1
1
0
3
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
2
1
1
1
0
1
2
1
0
1
2
1
0
0
1
0
2
0
0
0
1
1
1
0
0
2
0
0
1
2
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
2
1
0
1
2
2
1
0
0
0
1
0
0
0
0
1
1
0
0
0
2
0
0
0
0
1
0
0
1
0
0
2
4
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
0
0
3
1
0
1
0
1
0
1
0
2
1
0
2
0
0
0
0
1
1
2
1
0
0
0
0
0
1
1
1
2
1
0
0
1
0
0
1
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
0
1
0
1
0
0
1
2
0
0
1
0
0
0
0
1
0
0
0
1
0
0
2
0
0
2
1
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
2
0
1
0
1
0
1
1
1
0
1
0
1
0
1
2
0
0
0
1
0
1
0
0
2
0
0
1
1
0
1
0
0
0
0
0
1
0
0
2
1
0
0
0
0
1
1
0
0
0
2
0
1
0
0
0
1
2
1
0
3
0
0
0
1
0
1
0
0
1
0
0
0
2
0
0
0
1
0
1
1
1
2
0
0
0
1
0
0
0
1
0
2
0
0
1
0
1
0
0
0
0
0
0
2
0
2
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
3
0
0
0
1
1
1
1
2
1
0
0
0
0
1
1
1
1
3
0
1
0
1
0
0
1
0
0
1
0
2
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
3
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
2
1
0
0
0
1
0
0
0
1
1
0
2
1
0
0
2
2
0
1
1
1
1
0
2
1
1
0
1
1
1
0
0
0
0
2
1
1
0
0
0
2
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
3
0
0
0
0
2
1
0
0
2
0
0
1
0
0
0
1
0
1
0
0
2
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
2
0
1
0
0
0
2
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
2
1
0
1
0
0
0
1
1
2
0
0
0
1
0
0
0
0
2
0
0
0
0
1
1
2
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
2
1
0
0
0
0
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
2
1
0
0
2
1
0
0
0
0
2
1
1
0
0
0
0
0
1
0
2
2
1
1
2
2
0
1
0
0
2
2
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
3
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
2
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
2
0
0
2
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
2
0
0
1
1
1
0
0
0
0
0
0
1
2
0
1
0
1
0
0
0
0
1
0
1
2
0
0
0
2
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
3
0
2
0
0
0
1
0
1
2
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
4
0
1
0
1
0
0
0
0
1
0
0
0
2
0
0
1
0
1
0
1
0
0
0
0
1
0
0
2
0
0
0
0
0
0
1
2
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
1
0
0
1
1
1
2
0
0
0
0
0
0
2
2
1
1
1
0
0
2
1
0
1
0
0
0
0
0
1
2
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
2
0
1
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
2
0
2
2
1
0
0
0
0
1
0
0
1
2
0
1
1
0
0
1
0
1
2
0
2
0
2
0
0
1
0
0
1
2
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
2
0
0
1
1
0
1
0
0
1
0
0
1
1
2
0
0
1
1
2
1
0
1
0
0
2
3
0
1
1
0
0
2
0
3
0
0
0
0
3
1
0
1
0
0
2
1
0
1
1
0
0
1
0
1
0
0
0
0
0
2
1
0
1
0
3
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
2
1
0
1
0
0
1
0
2
0
1
1
1
0
1
0
0
0
1
1
2
0
1
0
1
0
2
0
0
2
1
1
1
1
0
0
1
1
0
0
2
1
2
0
0
0
1
2
1
0
0
2
1
0
0
0
2
1
0
2
0
1
0
0
0
0
0
1
0
2
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
1
0
1
0
1
2
0
1
0
0
2
0
0
0
0
2
1
0
0
0
3
1
0
0
0
0
0
1
0
2
0
0
1
0
1
1
1
0
0
0
0
1
2
0
0
0
1
1
0
0
0
0
0
0
0
2
0
2
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
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
1
0
1
0
1
0
4
0
0
1
0
1
2
1
0
1
0
0
1
0
2
1
2
0
1
1
0
1
0
0
0
2
0
0
1
0
0
0
1
0
1
1
0
0
2
2
0
2
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
3
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
2
3
0
2
0
0
1
1
1
0
0
0
0
0
0
0
1
2
3
2
1
0
2
0
0
0
1
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
2
0
1
0
1
0
1
0
1
0
0
2
0
0
1
3
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
2
2
0
0
1
0
1
0
0
0
1
0
2
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
2
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
2
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
2
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
2
0
0
2
0
2
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
2
0
0
0
2
1
2
0
2
1
1
0
0
2
0
0
0
0
2
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
2
0
1
0
0
0
0
1
0
0
1
0
0
2
0
1
0
1
1
1
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
3
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
2
0
1
0
1
0
2
1
0
0
0
0
0
0
1
0
2
0
0
0
1
0
0
1
0
0
3
1
2
0
1
1
0
2
0
0
0
2
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
3
0
2
0
0
1
0
0
1
1
2
0
0
0
1
0
1
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
0
2
0
1
0
2
0
1
0
0
0
2
0
0
0
0
1
0
0
0
3
0
1
0
0
1
0
0
0
2
0
0
1
0
0
0
0
2
2
2
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
2
0
0
0
2
0
2
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
2
0
0
0
0
0
1
1
1
2
0
1
1
0
1
1
1
0
2
1
1
0
0
0
1
0
1
0
0
1
0
1
3
2
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
2
0
0
0
0
0
0
1
3
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
2
0
0
0
0
0
1
0
0
2
1
0
1
0
0
0
0
1
2
0
1
0
0
0
0
2
0
0
0
2
0
2
1
0
0
1
0
1
0
0
1
0
2
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
2
0
1
0
2
0
0
3
0
0
2
1
1
1
0
0
2
0
0
0
0
1
1
0
1
0
0
1
2
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
2
2
0
1
0
1
0
0
0
2
0
0
0
3
0
1
2
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
2
1
0
1
0
1
0
0
0
0
0
1
0
3
1
0
0
0
0
0
1
0
1
0
3
0
0
0
0
1
0
0
0
1
0
1
2
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
2
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
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
2
0
0
0
0
2
0
0
1
1
0
0
1
1
1
0
1
2
0
0
1
1
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
3
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
2
1
0
0
1
1
0
1
0
2
0
0
0
0
0
0
0
2
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
2
0
2
0
1
3
1
1
0
0
0
0
0
0
2
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
2
0
1
1
1
1
0
2
1
0
0
1
1
3
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
2
1
2
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
2
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
2
0
2
1
0
0
0
0
1
0
0
0
2
1
1
0
0
2
0
0
2
1
0
1
3
2
0
0
0
1
0
1
1
0
1
0
2
0
1
0
0
2
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
2
1
1
0
0
0
1
0
0
0
2
1
0
1
0
4
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
2
0
2
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
3
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
1
0
1
2
0
2
1
2
0
0
0
1
0
0
0
0
1
1
2
0
2
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
2
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
2
0
0
2
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
2
1
0
0
1
0
0
1
0
0
1
0
2
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
1
2
0
0
0
0
1
3
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
2
1
0
0
0
2
0
2
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
2
2
1
0
0
0
0
2
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
2
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
1
1
1
0
0
1
0
1
1
0
0
2
1
1
0
0
2
0
1
1
1
0
2
1
0
2
1
2
0
0
0
0
1
0
2
2
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
2
1
0
2
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
2
0
0
0
2
0
0
0
0
1
0
1
2
3
0
1
0
0
0
2
2
0
1
0
0
2
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
2
0
2
0
1
0
1
1
1
2
0
0
0
0
0
1
0
1
0
0
2
0
3
0
0
3
0
1
2
1
0
1
2
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
3
1
2
0
1
0
1
0
0
0
0
0
1
0
1
1
2
1
0
0
0
0
1
0
0
1
1
2
0
3
2
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
2
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
2
1
0
0
1
0
0
2
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
2
0
1
1
1
1
1
1
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
1
0
0
0
2
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
2
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
2
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
2
0
0
1
0
0
0
1
1
0
0
0
2
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
2
1
1
3
0
1
0
0
0
0
0
0
1
2
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
2
1
0
0
1
0
1
0
2
0
2
0
0
2
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
2
2
1
1
1
0
2
0
0
0
1
0
0
2
1
0
0
0
0
2
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
4
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
2
0
1
3
0
0
0
0
2
1
2
0
0
0
1
0
0
1
0
0
0
2
0
1
0
2
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
2
0
1
1
1
0
1
2
0
1
1
0
0
1
1
1
2
2
0
0
0
0
0
0
0
0
0
0
1
1
2
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
1
2
0
0
0
0
3
0
4
0
1
1
1
0
0
0
0
0
2
0
0
0
1
0
0
1
3
1
1
0
2
2
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
2
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
2
0
2
0
1
3
0
0
0
1
0
2
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
2
0
1
0
0
1
3
0
1
1
1
0
0
1
0
2
0
1
0
0
1
1
1
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
1
2
0
1
1
0
0
1
1
0
2
2
0
1
0
0
1
1
0
1
1
2
2
1
0
0
1
2
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
2
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
2
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
2
0
0
1
1
2
0
0
0
0
0
0
0
1
0
0
2
0
2
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
1
1
2
1
0
0
1
0
1
1
1
1
0
0
2
1
1
0
0
1
1
0
3
1
0
1
3
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
2
0
0
1
0
2
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
3
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
2
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
2
0
1
1
0
0
2
3
1
0
0
1
1
0
1
0
0
1
0
1
0
2
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
3
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
2
1
1
0
0
0
0
0
2
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
2
0
2
0
2
2
1
0
0
0
0
0
2
0
0
0
0
0
1
0
1
1
0
2
0
0
0
0
1
0
0
0
0
0
0
2
1
0
1
2
2
2
0
1
1
0
0
0
2
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
2
0
1
0
0
0
2
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
2
0
2
0
0
1
0
1
2
1
0
0
0
1
2
2
0
0
0
2
0
1
0
1
1
0
0
1
4
1
0
1
1
0
0
3
1
1
0
0
0
0
0
1
0
0
2
0
3
0
0
1
0
0
0
0
0
1
2
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
3
0
0
0
0
0
3
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
2
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
2
1
0
0
0
1
0
1
0
0
0
1
0
0
2
0
0
0
0
2
1
0
1
0
1
1
0
0
0
0
1
1
0
2
0
0
1
0
1
0
0
0
1
0
0
0
0
0
2
0
1
1
0
0
0
0
1
0
0
0
0
2
1
1
0
1
0
0
0
0
0
1
2
1
1
0
0
0
0
0
0
0
1
0
2
2
0
0
0
0
0
1
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
3
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
2
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
2
0
1
1
0
0
0
0
3
0
1
0
1
2
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
2
0
0
1
1
1
3
2
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
2
0
1
1
0
1
1
1
1
1
0
3
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
2
0
2
1
0
0
0
2
0
1
0
0
0
0
1
0
0
0
2
0
0
0
2
1
0
2
0
1
0
0
0
0
0
0
1
0
2
0
0
0
0
1
0
0
1
0
0
2
0
0
0
0
0
1
0
1
1
0
0
0
2
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
2
2
1
0
0
2
0
2
0
0
1
0
0
0
0
0
1
2
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
2
3
0
1
2
0
1
0
0
1
0
2
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
2
2
0
0
0
1
1
1
1
0
1
0
1
0
2
1
1
1
0
1
2
0
0
0
1
0
0
1
0
0
0
1
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
0
1
1
0
1
0
2
0
1
0
0
0
0
0
1
0
0
0
1
0
2
0
0
0
0
0
1
0
0
0
2
0
0
1
0
0
0
1
0
1
0
0
2
1
1
0
3
0
1
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
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
3
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
2
0
2
0
0
0
0
0
0
1
0
1
3
2
2
0
0
0
1
0
1
2
0
0
1
0
1
1
0
0
0
0
0
2
0
0
0
1
0
1
1
0
2
0
0
0
1
1
1
0
0
0
2
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
2
0
2
0
0
0
0
3
0
1
1
1
0
0
1
1
1
0
0
0
0
2
0
0
2
1
1
1
0
0
1
0
0
1
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
2
0
1
0
0
0
1
1
0
3
1
0
3
0
0
1
0
1
1
3
0
0
0
1
1
0
2
1
0
2
0
0
2
1
1
2
0
1
0
0
0
2
1
0
0
1
2
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
2
1
0
0
1
2
0
1
0
0
0
0
0
0
0
1
0
1
2
0
1
0
0
0
1
0
1
1
1
2
0
1
0
0
0
0
0
0
0
1
0
3
0
1
0
0
0
0
0
0
4
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
2
0
0
1
1
1
3
0
0
1
3
2
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
2
1
0
1
0
1
1
1
0
0
2
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
2
1
1
2
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
2
1
0
0
0
2
0
0
1
1
0
0
0
1
0
1
0
1
2
0
1
0
0
0
0
2
0
0
1
3
0
0
0
2
0
0
2
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
2
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
2
0
1
0
0
0
0
0
0
1
0
1
0
1
2
2
1
1
0
0
3
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
2
0
1
0
0
0
0
0
1
1
0
1
1
0
2
0
2
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
2
1
0
0
0
1
0
0
3
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
2
2
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
2
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
2
0
1
2
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
2
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
2
2
0
1
0
1
1
1
0
0
0
2
0
0
0
2
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
2
0
0
1
0
1
2
0
1
0
0
0
1
2
0
2
1
0
1
0
3
0
1
0
2
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
2
1
0
0
0
0
0
1
0
0
2
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
2
0
1
1
1
2
2
2
0
0
0
1
3
0
1
2
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
2
1
0
1
1
1
0
1
2
0
2
1
2
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
2
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
2
0
0
1
1
1
1
2
2
1
0
0
1
2
0
1
0
1
1
0
0
1
0
0
0
1
0
0
2
0
1
0
0
1
0
1
0
0
0
0
2
0
1
3
1
1
2
2
0
1
0
1
0
1
0
1
1
1
2
1
0
0
1
0
0
2
0
0
1
0
0
1
1
1
1
2
1
0
0
0
0
1
1
0
0
0
0
0
2
1
0
2
0
0
2
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
2
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
2
0
0
1
2
1
0
0
1
0
0
1
1
0
0
0
0
1
3
0
1
1
0
0
0
1
0
0
2
0
0
0
3
1
0
0
1
2
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
3
0
2
1
0
1
0
0
2
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
2
1
0
1
1
1
1
0
0
1
2
1
2
0
1
0
1
0
0
0
2
0
0
0
3
0
0
0
1
0
2
0
0
2
0
0
0
0
1
2
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
2
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
2
0
0
2
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
2
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
2
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
2
2
0
1
2
0
0
0
0
0
4
0
0
0
1
0
0
1
1
1
0
2
0
0
1
0
1
3
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
2
0
0
3
1
1
0
1
1
1
1
2
0
0
1
1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
1
1
0
2
0
2
0
2
0
0
1
0
0
0
0
1
0
2
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
2
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
3
0
2
0
0
1
1
0
1
0
0
0
0
0
3
2
0
0
1
1
1
2
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
3
0
1
0
1
0
0
0
0
2
1
2
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
2
0
0
0
0
0
0
1
0
0
0
2
1
0
2
0
3
1
0
0
0
0
0
1
0
0
0
2
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
1
1
0
0
2
3
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
3
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
2
1
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
2
0
0
2
0
2
0
2
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
2
2
0
0
0
1
0
0
0
0
1
3
0
0
0
1
0
1
0
0
3
0
0
0
0
0
0
3
1
0
2
0
0
1
2
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
3
0
0
0
2
1
1
0
0
0
0
0
1
0
0
0
1
2
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
2
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
2
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
2
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
2
2
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
2
0
1
1
0
0
2
0
2
1
1
1
0
2
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
2
0
1
0
1
1
1
0
0
2
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
2
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
0
0
3
1
2
0
1
2
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
2
0
0
0
0
2
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
3
0
0
2
1
0
1
3
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
2
0
0
0
1
1
0
0
2
0
1
2
0
0
0
2
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
2
0
0
0
1
0
1
0
0
0
1
0
2
2
0
0
2
0
0
1
1
0
2
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
2
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
2
0
0
0
1
2
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
2
1
1
0
2
0
0
1
1
0
0
0
0
0
2
0
1
0
0
0
0
0
1
0
0
1
1
1
1
2
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
2
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
2
1
1
0
0
0
0
2
2
1
0
0
0
0
0
2
0
0
0
2
1
1
0
0
0
0
2
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
2
0
0
2
0
0
1
0
1
0
0
1
0
1
2
0
1
1
0
0
0
0
0
0
1
0
3
1
0
1
0
0
1
2
0
1
0
1
0
0
0
1
1
0
2
0
0
3
0
0
3
0
1
1
0
0
1
0
0
2
0
0
0
0
1
0
0
0
1
2
1
1
0
0
0
0
0
1
0
0
1
0
1
0
2
0
0
2
0
1
0
0
0
0
0
3
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
2
1
0
0
2
1
0
0
0
0
1
2
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
2
0
0
0
0
0
0
1
2
1
0
0
1
0
0
0
1
1
1
0
1
1
1
2
2
0
0
1
1
0
0
2
1
1
0
0
0
0
1
0
0
0
0
0
1
2
1
1
0
0
0
3
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
2
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
2
0
0
0
1
1
0
1
0
3
0
1
0
1
2
0
1
1
0
0
1
0
1
0
1
1
0
2
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
2
1
2
1
0
1
1
0
0
0
0
0
1
2
1
0
0
2
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
2
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
2
1
1
0
0
0
1
0
0
0
0
2
0
1
1
1
0
1
1
0
1
0
2
1
2
0
0
3
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
0
2
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
2
1
0
0
0
2
0
0
0
0
1
1
0
1
1
0
2
0
1
1
2
2
1
2
2
0
0
0
0
1
1
1
0
2
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
2
0
3
0
1
0
2
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
3
0
0
1
0
0
1
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
1
0
2
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
2
0
0
0
2
2
1
0
0
0
0
1
0
3
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
2
0
1
1
1
0
0
0
0
0
1
0
0
0
3
0
0
0
0
2
1
1
1
1
1
0
0
2
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
2
3
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
2
1
1
1
0
1
1
0
0
0
1
0
1
0
1
2
0
0
1
0
1
0
1
0
0
0
0
0
2
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
1
2
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
2
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
2
0
1
0
0
0
1
0
3
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
2
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
0
0
2
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
2
0
0
2
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
2
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
2
0
1
0
0
1
0
0
0
1
1
2
1
1
0
0
2
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
2
2
0
2
0
2
0
1
0
1
0
0
1
2
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
2
1
1
2
0
0
0
1
0
0
0
0
0
1
0
1
2
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
2
0
1
0
0
0
0
0
0
0
0
1
2
0
2
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
4
1
0
0
1
1
1
0
1
0
2
1
0
1
0
1
0
0
1
0
1
0
2
0
0
1
1
1
1
0
0
2
0
0
0
2
1
0
1
0
1
0
0
2
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
2
1
1
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
2
0
0
0
3
0
0
0
0
1
1
1
0
0
0
3
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
1
0
0
0
0
0
0
1
1
1
0
0
0
1
2
0
0
0
0
0
0
0
2
0
1
1
0
0
1
2
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
2
0
0
1
0
0
0
1
3
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
2
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
0
0
0
0
2
1
0
1
0
0
1
0
0
0
1
0
0
2
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
2
0
0
0
0
0
2
1
0
1
0
1
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
2
1
0
0
2
0
0
1
1
0
0
1
2
0
1
1
2
0
1
0
0
0
0
1
0
1
1
1
3
0
0
0
0
0
0
1
0
1
0
1
0
0
0
2
1
0
0
0
0
2
0
1
2
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
2
0
0
1
0
0
0
0
1
1
3
0
1
0
3
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
2
2
0
1
2
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
2
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
2
1
0
0
0
1
1
0
1
0
0
2
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
2
3
1
0
0
0
1
2
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
2
0
1
0
0
0
1
0
2
2
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
2
1
0
0
0
2
2
0
0
1
1
0
2
0
1
0
0
0
0
0
1
0
0
2
2
1
1
1
0
0
0
1
0
3
0
0
0
0
0
1
0
0
0
0
1
0
2
0
0
1
0
0
0
0
0
1
2
1
0
0
0
0
1
2
0
0
2
2
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
2
1
1
2
2
0
0
1
0
1
1
1
0
1
2
0
1
1
2
0
1
3
0
0
0
1
0
0
1
1
0
0
0
0
0
2
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
3
1
0
1
0
0
0
0
0
1
0
0
2
0
1
2
1
2
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
2
2
1
1
1
0
1
1
1
2
0
0
1
0
0
0
0
0
1
0
1
0
1
0
2
1
0
2
0
0
0
0
0
0
0
1
0
0
2
1
1
0
0
0
0
2
2
3
0
0
0
0
0
3
2
0
0
0
0
2
1
0
0
0
0
0
0
0
1
0
1
0
0
3
0
0
0
1
1
1
1
1
0
0
2
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
0
0
2
0
2
3
0
0
0
1
2
0
0
0
0
0
0
0
1
0
1
0
1
2
0
0
0
1
1
0
0
0
1
0
0
0
0
2
0
0
2
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
2
1
0
0
1
0
2
0
1
2
0
1
1
2
0
1
1
2
0
1
0
2
0
0
2
0
0
0
1
0
1
0
2
0
0
0
0
1
0
1
0
1
2
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
2
0
0
2
0
0
0
1
1
0
2
1
0
0
1
0
2
0
1
1
1
0
0
0
0
0
1
2
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
3
0
0
0
1
0
1
1
3
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
3
0
0
1
0
0
0
0
2
0
1
1
1
1
1
0
0
0
1
1
0
1
1
3
1
0
0
2
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
2
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
2
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
3
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
2
3
2
2
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
2
0
0
1
0
1
0
0
0
1
1
0
0
0
1
2
0
2
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
0
2
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
2
0
0
2
1
1
1
0
0
0
2
1
1
0
2
2
1
0
0
0
0
0
0
2
1
1
0
0
0
0
1
0
1
1
1
0
2
0
3
0
3
3
0
0
0
0
1
1
0
0
0
0
0
2
1
0
0
0
1
1
0
2
2
0
0
0
0
0
0
0
1
1
0
0
2
0
0
1
0
3
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
2
0
0
0
0
1
2
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
3
0
1
1
0
1
0
0
1
0
3
1
1
0
0
0
0
0
3
2
1
2
0
1
1
0
0
0
1
0
0
2
0
2
1
0
0
1
0
1
1
0
3
1
0
1
0
2
0
1
0
0
2
1
1
0
0
2
0
1
0
1
1
0
0
1
2
0
1
0
1
0
2
0
0
0
0
0
0
1
2
0
0
0
0
0
2
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
2
1
0
0
0
2
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
2
0
1
0
1
0
1
1
0
1
0
1
2
0
0
0
1
1
1
0
1
1
1
0
3
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
2
1
1
1
0
0
1
0
0
1
0
0
1
1
2
0
0
1
0
0
0
0
1
0
2
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
3
0
0
1
0
2
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
2
1
1
2
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
2
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
2
0
0
2
1
0
2
0
0
0
0
1
0
1
2
0
0
0
2
0
1
0
1
1
1
0
0
0
2
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
2
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
2
0
0
0
0
1
1
0
1
0
1
0
2
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
2
0
0
1
1
1
0
0
3
0
1
0
0
0
1
1
1
2
0
0
1
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
2
0
0
0
1
2
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
2
0
0
0
0
0
2
0
0
0
0
1
0
0
2
1
1
0
2
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
2
1
0
0
1
0
0
1
0
0
1
1
0
2
1
1
1
1
1
0
0
2
0
0
1
0
2
0
0
0
0
1
0
1
2
0
1
1
0
2
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
2
1
0
0
2
0
1
0
1
0
0
0
0
0
1
1
0
1
0
2
0
1
2
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
2
1
2
0
2
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
3
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
2
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
1
1
2
0
0
1
1
1
0
1
0
2
0
0
0
0
2
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
2
0
0
1
1
2
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
3
1
3
0
1
0
0
0
0
0
0
2
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
3
0
1
0
2
1
1
1
0
0
3
0
0
2
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
2
0
1
2
0
2
0
0
1
0
0
0
0
4
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
2
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
2
0
0
2
0
0
1
0
0
0
1
2
2
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
2
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
2
0
1
1
0
0
0
2
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
2
0
0
1
2
0
0
0
0
0
1
0
1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
1
3
0
0
0
1
0
0
0
2
0
0
1
0
1
2
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
3
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
2
1
0
0
1
1
0
1
0
2
2
0
1
1
0
0
1
0
0
0
3
0
0
1
0
2
1
1
1
2
0
1
0
0
0
0
0
0
2
0
0
0
0
4
1
0
2
0
1
0
0
1
1
0
1
0
2
1
0
2
0
2
1
0
0
0
0
0
1
0
0
2
0
1
0
0
0
0
1
0
1
0
0
2
1
1
0
0
1
1
2
0
1
1
1
0
0
0
1
2
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
2
1
0
1
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
1
0
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
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
2
0
1
0
0
0
1
0
1
1
0
0
5
1
0
1
1
1
2
3
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
2
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
2
0
0
1
0
1
1
0
0
0
1
0
0
2
1
2
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
2
0
1
1
1
0
1
0
1
0
0
0
0
1
3
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
2
1
0
0
0
1
1
0
1
2
0
1
0
0
1
0
0
1
0
2
0
0
0
0
0
0
0
0
1
1
0
2
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
1
2
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
3
0
0
0
0
0
1
2
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
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
2
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
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
2
0
0
1
0
0
3
0
0
0
1
0
1
2
3
2
0
0
0
0
0
3
1
1
0
0
0
1
1
0
0
0
0
2
1
0
0
2
2
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
2
0
1
0
0
1
2
1
0
0
1
0
0
0
0
0
2
0
0
0
0
1
0
0
1
0
2
0
1
0
0
0
0
2
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
3
1
0
0
0
0
0
2
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
3
1
1
1
0
1
0
2
0
0
0
0
0
0
1
1
0
3
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
3
1
1
1
0
0
3
1
1
0
1
1
1
2
0
0
1
1
0
2
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
2
0
2
0
2
0
0
0
1
1
1
2
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
1
0
0
1
1
2
0
0
3
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
2
2
0
0
0
0
1
1
2
0
1
1
1
0
0
1
2
1
0
1
1
0
0
0
1
0
0
0
0
0
2
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
2
0
1
0
2
0
0
0
2
0
0
0
0
3
2
0
0
0
2
0
2
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
2
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
2
2
1
0
0
2
0
1
1
0
1
0
1
2
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
1
0
2
0
0
0
2
1
2
1
0
0
0
1
2
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
2
0
1
0
1
0
1
0
2
0
0
2
0
1
2
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
1
0
1
1
1
2
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
2
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
2
0
1
0
0
0
1
1
0
0
0
2
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
1
2
1
2
0
0
0
2
0
1
0
0
2
0
0
0
1
0
0
0
1
0
0
2
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
2
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
2
3
1
0
0
0
1
0
0
1
0
1
1
1
1
0
2
0
0
2
1
1
0
0
0
4
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
2
0
0
1
0
0
0
2
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
2
0
2
0
0
1
0
1
0
0
1
1
2
0
0
0
1
0
1
2
0
1
0
1
3
2
0
1
0
2
0
0
0
0
2
0
0
0
0
0
1
0
2
0
0
0
2
0
0
1
2
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
2
0
1
2
3
0
0
2
0
1
0
0
0
1
0
0
0
0
0
2
0
0
2
0
1
1
0
0
2
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
3
0
0
2
0
1
1
1
0
0
1
0
0
0
2
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
2
2
2
0
0
0
0
0
0
1
0
3
0
0
0
2
0
0
3
0
1
1
0
0
1
0
2
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
3
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
2
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
3
0
1
0
0
0
2
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
2
1
1
0
1
2
3
1
0
0
1
0
1
1
0
1
0
1
2
2
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
2
0
2
0
0
0
0
1
0
0
1
0
1
2
0
0
2
1
0
1
1
2
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
2
1
1
1
0
0
0
0
1
0
1
1
1
0
2
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
2
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
2
0
0
0
0
1
1
0
1
1
0
0
0
2
0
0
0
0
1
1
0
0
0
1
0
0
1
0
2
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
2
0
1
1
0
0
2
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
2
1
0
1
0
1
2
0
0
0
1
2
0
0
1
0
0
1
0
1
0
0
3
0
0
0
0
0
0
2
1
0
0
2
0
0
0
1
0
0
3
0
1
0
1
0
0
0
0
0
0
0
0
2
1
0
0
0
2
1
0
2
0
2
0
2
0
0
0
0
0
0
1
1
0
0
0
1
1
0
2
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
2
0
1
0
0
0
1
0
1
2
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
2
1
1
1
1
0
0
0
2
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
2
1
1
1
0
0
0
1
0
0
2
1
1
0
2
0
1
2
0
2
0
0
2
0
0
1
0
0
1
0
3
0
0
0
1
1
0
0
0
2
1
1
0
1
2
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
2
0
2
0
0
0
0
2
0
1
3
2
0
0
2
1
0
0
1
0
0
0
0
2
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
3
0
1
1
0
2
0
0
0
1
0
0
0
2
2
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
2
0
0
0
0
1
0
0
0
0
2
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
2
0
0
1
0
0
1
0
2
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
2
0
0
2
0
0
0
2
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
2
0
1
0
2
1
0
2
0
1
1
1
0
0
0
0
0
1
1
0
2
0
0
0
2
0
0
0
0
0
0
0
0
1
2
0
0
1
1
1
2
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
2
0
0
1
0
0
1
1
0
0
1
1
1
2
0
0
0
2
0
0
0
0
0
2
1
0
0
1
1
1
0
1
0
0
1
0
0
0
3
1
0
1
1
2
0
0
0
1
2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
2
0
0
3
0
1
0
1
1
1
0
0
1
1
2
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
2
0
0
1
0
2
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
2
0
0
1
1
0
0
2
1
0
0
0
0
0
0
0
2
0
1
2
0
0
1
2
0
0
1
0
0
1
0
0
1
0
1
1
1
2
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
2
2
0
0
1
1
0
0
1
2
0
0
3
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
3
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
2
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
2
1
0
2
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
0
1
1
0
2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
2
0
0
0
1
0
1
0
0
0
2
1
0
1
0
0
0
0
0
1
1
0
1
2
1
0
0
0
0
0
0
0
0
1
1
1
0
2
0
0
0
1
2
1
0
0
1
1
1
0
0
1
2
2
2
1
0
0
0
0
0
0
0
1
0
3
0
0
0
0
1
0
2
1
2
0
1
0
0
1
1
1
0
0
1
0
1
0
2
0
0
0
1
1
0
1
0
0
1
1
1
0
1
2
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
3
2
0
0
2
0
0
1
0
0
0
0
1
1
0
0
1
0
1
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
1
0
0
1
2
0
0
2
1
1
1
2
1
0
1
2
2
1
0
0
2
0
0
1
0
1
1
1
0
0
1
0
2
0
1
0
0
1
1
4
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
3
0
0
2
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
2
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
2
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
2
0
1
1
0
0
0
1
0
0
1
0
0
0
2
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
3
2
0
0
0
0
3
0
1
2
1
1
0
1
1
0
1
1
1
2
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
2
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
2
1
1
0
1
0
0
1
0
1
0
0
3
0
1
0
0
1
0
0
0
0
1
0
0
1
1
3
0
0
0
1
0
0
0
0
1
1
0
0
2
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
3
0
1
1
1
1
0
1
2
1
0
0
0
0
0
1
0
0
2
0
0
2
0
0
0
2
0
1
0
1
0
0
0
0
0
0
0
0
2
3
0
0
1
1
0
0
2
0
0
1
0
0
0
0
0
0
0
1
2
2
0
0
1
2
1
2
0
0
0
2
1
0
0
0
0
1
0
1
1
2
0
0
0
1
0
1
1
1
0
0
2
0
0
2
1
1
0
0
2
1
1
1
1
0
1
0
0
1
0
2
0
0
1
1
1
1
0
0
1
0
2
3
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
4
0
0
1
1
2
0
0
1
1
0
0
0
1
2
2
0
1
0
2
0
0
0
0
0
0
0
0
1
0
2
1
0
1
2
0
2
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
2
0
0
0
0
0
1
0
2
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
2
0
0
0
0
1
0
1
1
1
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
2
1
2
2
1
0
0
1
0
0
0
0
1
0
0
0
2
0
1
0
0
1
0
1
1
3
0
0
0
0
0
1
2
0
0
0
0
0
2
1
1
2
0
2
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
2
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
3
1
0
1
1
0
2
0
0
1
0
1
0
0
0
0
0
3
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
2
1
0
0
0
0
1
0
0
1
0
0
0
2
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
3
1
0
0
0
1
0
1
0
0
1
1
0
2
0
0
0
1
0
0
2
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
2
0
0
2
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
2
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
3
0
1
0
1
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
2
0
0
0
0
2
1
1
0
0
0
0
1
0
0
2
0
0
1
1
0
1
0
0
0
0
2
0
1
2
1
0
1
0
1
1
0
0
0
0
0
1
0
2
1
0
1
0
0
0
0
1
0
0
1
3
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
3
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
2
3
1
1
0
0
1
0
0
0
0
0
0
1
0
1
2
0
2
2
1
1
0
0
1
0
0
2
1
2
1
1
3
0
0
0
1
1
0
0
1
0
0
0
2
0
0
2
0
0
0
0
0
0
2
0
0
1
1
0
2
0
1
0
0
0
1
0
0
1
0
0
1
0
1
3
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
2
0
0
0
1
0
0
0
2
1
2
1
0
1
0
2
1
0
0
1
1
1
0
0
2
0
0
0
1
1
1
0
1
0
0
0
0
1
2
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
2
1
0
1
1
1
0
0
0
0
1
0
1
1
2
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
2
0
0
3
0
2
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
1
1
0
0
0
0
0
0
0
1
0
0
2
0
0
0
1
0
2
0
1
0
2
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
2
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
3
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
2
0
1
2
0
1
0
0
2
1
2
2
0
0
0
0
0
1
0
1
3
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
2
0
0
0
1
2
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
3
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
2
0
0
1
0
1
2
0
0
2
1
0
0
0
0
1
1
0
0
1
2
1
0
0
0
0
2
1
0
1
0
0
1
1
0
0
0
0
0
2
2
0
0
2
1
2
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
2
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
4
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
2
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
1
2
0
0
0
1
0
0
0
1
2
1
0
2
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
2
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
2
0
0
2
0
1
1
0
2
2
0
0
1
0
1
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
1
1
0
0
0
2
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
2
0
0
1
0
1
2
0
2
1
0
0
2
2
0
0
1
4
0
1
0
1
0
0
0
1
0
0
0
0
1
4
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
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
2
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
2
1
1
0
0
1
1
0
0
1
0
1
2
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
2
1
0
0
1
2
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
2
2
1
1
1
0
0
0
0
1
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
1
0
2
0
2
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
1
0
0
1
2
0
0
0
0
0
1
0
0
0
1
0
1
2
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
2
0
0
1
0
0
0
0
0
0
0
1
1
2
1
0
1
1
1
0
0
0
0
0
0
0
2
1
2
2
1
0
1
1
1
0
0
0
1
2
1
0
0
1
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
2
0
0
1
0
0
1
0
0
2
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
1
0
0
0
1
0
0
1
0
0
1
2
0
0
0
0
0
0
1
2
1
2
0
1
0
0
0
0
1
2
3
2
0
0
0
0
0
0
0
0
2
0
0
0
3
2
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
3
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
2
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
1
0
1
0
1
0
0
0
0
0
1
0
0
1
2
0
1
1
0
1
0
0
0
1
0
0
0
2
1
1
0
1
1
2
0
0
2
1
0
0
0
0
0
0
0
3
1
0
0
2
0
0
0
1
0
0
1
3
0
1
0
0
0
2
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
2
1
0
0
3
0
2
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
2
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
2
3
0
0
0
0
0
3
1
0
1
0
0
0
0
1
1
1
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
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
2
0
0
2
1
0
0
0
0
1
0
1
1
0
2
0
1
2
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
2
0
1
1
1
0
2
1
1
0
0
0
0
1
3
0
2
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
2
0
1
1
2
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
2
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
2
3
0
1
1
0
0
0
1
2
0
0
0
1
0
1
1
0
1
0
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
2
0
1
0
0
0
1
0
0
0
0
0
0
3
0
1
0
1
0
0
0
0
0
1
0
0
1
2
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
3
1
0
0
1
0
0
1
0
0
0
2
0
0
0
0
0
2
0
0
0
0
3
2
1
0
0
1
0
1
0
0
1
0
0
0
2
0
0
1
1
1
0
1
0
0
1
0
0
2
0
2
0
0
2
0
0
0
0
0
1
0
2
0
2
1
0
1
2
0
2
0
0
0
1
0
1
1
0
0
3
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
3
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
2
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
3
2
0
0
0
0
1
0
0
0
0
1
2
0
2
0
0
0
1
0
1
0
2
0
2
3
0
2
0
0
1
2
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
1
0
0
1
0
0
1
2
0
0
0
0
0
0
0
1
2
1
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
0
0
0
0
0
0
0
0
1
0
1
0
1
2
1
0
0
0
1
0
0
1
1
2
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
2
1
0
0
0
0
1
2
0
0
1
0
0
0
0
0
2
1
1
1
0
0
0
0
3
0
1
0
0
0
0
0
1
1
0
2
1
0
1
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
2
0
1
1
0
0
2
0
0
0
1
1
0
0
0
0
0
0
1
2
0
2
0
3
2
0
2
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
2
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
3
0
0
1
1
1
1
0
0
2
0
2
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
2
0
1
0
0
1
0
0
0
0
0
0
0
1
3
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
2
0
1
0
0
0
0
0
0
0
1
1
2
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
2
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
3
2
1
0
1
0
0
0
0
1
1
0
1
1
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
2
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
2
0
1
0
0
2
0
2
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
1
1
0
1
2
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
2
0
0
0
2
2
3
1
2
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
2
1
1
0
3
0
0
0
0
0
0
0
0
1
0
1
1
0
2
1
1
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
1
2
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
3
1
0
0
1
0
0
0
0
0
1
1
2
0
0
1
1
0
0
1
0
1
1
0
3
1
0
0
0
0
0
0
0
2
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
2
0
1
0
0
1
0
1
0
0
1
1
0
2
1
0
0
1
2
1
2
0
0
1
1
1
0
0
0
0
1
1
0
1
1
2
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
2
1
0
2
0
0
0
1
0
1
1
0
2
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
3
1
0
0
0
0
0
0
0
0
3
0
2
0
1
0
1
0
2
1
0
0
0
1
0
1
1
2
0
0
0
1
0
2
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
2
0
2
0
0
0
0
1
0
0
0
0
1
0
1
0
4
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
2
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
2
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
2
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
2
0
0
1
1
1
0
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
3
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
2
1
1
0
0
1
2
0
0
0
0
0
0
2
0
0
1
1
2
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
2
2
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
2
1
2
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
2
0
1
0
0
1
0
0
0
0
0
1
2
0
1
0
1
2
2
0
1
0
1
0
0
2
0
2
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
3
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
2
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
3
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
2
0
2
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
2
0
1
0
1
0
0
0
0
2
0
1
0
1
0
0
0
0
0
1
2
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
2
1
0
0
0
0
0
1
2
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
2
0
2
0
0
0
0
2
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
3
2
0
0
0
0
0
0
0
0
1
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
1
0
0
1
1
0
1
0
2
1
0
0
0
0
0
2
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
2
0
0
0
0
2
0
1
0
2
0
0
2
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
3
1
1
0
0
2
2
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
2
0
1
0
1
3
1
0
0
2
0
0
1
0
0
0
0
2
0
1
0
1
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
2
0
0
0
0
0
2
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
2
0
1
0
0
1
1
1
1
2
0
0
1
1
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
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
2
0
0
0
1
0
2
2
0
0
0
2
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
2
0
1
1
1
0
0
0
0
2
0
0
1
0
1
0
0
0
0
0
0
0
1
2
0
1
1
1
0
0
1
1
0
0
0
1
3
0
0
0
2
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
3
0
0
0
0
1
3
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
3
0
1
3
1
1
2
0
1
0
0
2
0
1
0
1
0
2
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
2
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
2
1
1
1
0
0
1
0
0
1
2
1
0
1
1
2
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
2
2
0
1
0
0
0
0
0
1
0
0
0
0
2
0
0
1
0
2
2
1
1
0
0
1
0
1
1
0
0
1
0
1
0
2
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
2
1
0
0
0
1
0
0
0
0
2
1
2
0
0
1
2
0
0
1
0
0
1
0
0
0
0
0
2
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
2
2
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
2
0
0
1
0
1
2
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
2
1
0
0
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
0
0
2
0
1
0
0
0
0
2
0
2
0
0
1
2
0
2
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
3
1
0
0
0
1
1
0
0
0
0
0
0
0
0
3
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
2
1
1
1
0
1
1
2
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
3
0
0
0
0
1
0
0
2
0
1
0
1
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
2
2
0
0
0
0
1
1
0
1
0
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
2
2
0
0
0
0
0
0
0
2
2
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
2
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
2
2
0
0
0
0
0
0
2
1
0
0
0
1
2
2
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
2
0
0
1
0
0
0
2
0
0
0
1
0
1
4
0
0
2
0
1
0
0
0
0
1
0
3
0
0
1
0
0
0
2
0
2
2
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
2
1
0
0
0
0
0
0
0
0
1
0
0
3
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
2
0
1
0
0
1
2
0
0
3
0
0
2
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
2
0
0
0
0
0
1
0
1
1
0
3
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
2
0
2
0
0
2
0
2
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
2
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
4
2
0
0
0
0
2
1
0
0
0
0
0
1
2
0
0
0
0
0
0
1
1
1
1
1
0
1
3
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
2
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
2
1
0
0
0
0
0
1
0
0
1
0
2
0
2
0
1
0
1
0
1
1
3
0
2
0
1
2
0
2
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
2
0
2
0
0
0
3
0
0
0
1
1
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
3
0
1
3
0
0
2
1
2
0
1
1
0
0
0
1
2
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
2
0
1
0
1
2
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
2
0
0
1
0
0
0
0
3
0
0
0
1
1
2
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
2
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
2
3
1
1
2
0
1
0
0
1
0
0
0
2
0
0
0
2
1
0
0
1
0
3
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
2
1
0
0
2
0
0
0
0
0
0
1
1
0
2
0
0
1
0
1
0
0
0
2
1
1
0
1
0
2
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
2
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
3
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
2
2
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
2
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
2
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
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
2
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
2
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
2
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
2
0
0
0
1
0
1
1
0
1
3
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
2
2
3
0
1
1
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
1
0
0
1
0
2
0
2
0
1
0
0
0
0
0
2
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
2
1
2
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
2
0
0
2
0
0
1
2
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
0
1
1
0
1
0
0
0
1
0
0
2
1
0
1
0
1
0
1
0
2
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
3
0
2
0
1
0
0
0
1
0
1
0
0
0
1
0
0
2
0
1
1
0
2
0
0
2
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
2
0
1
0
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
1
0
0
2
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
1
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
1
1
0
0
0
1
0
1
0
2
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
2
0
0
0
1
0
2
0
0
1
0
0
2
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
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
2
1
0
0
0
2
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
2
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
2
0
1
1
0
1
2
0
0
2
0
0
1
0
0
1
0
0
0
0
2
0
0
0
1
1
1
0
0
2
0
1
1
1
0
3
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
2
0
0
0
0
0
1
0
1
0
2
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
3
1
1
2
2
0
2
1
1
3
0
0
1
0
0
0
1
2
0
0
0
0
1
0
1
2
1
1
0
0
1
1
0
0
0
1
2
0
0
0
1
1
1
1
1
0
0
1
1
1
0
2
0
1
0
1
1
1
3
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
3
1
0
0
0
0
1
2
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
1
0
1
0
1
0
2
0
3
0
0
2
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
2
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
3
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
2
1
0
1
2
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
2
1
0
0
0
0
1
1
2
1
0
0
2
1
1
0
0
0
0
0
0
0
0
1
2
0
0
0
0
2
1
0
0
1
0
0
2
1
0
0
0
1
1
2
0
0
0
0
0
2
1
3
0
3
0
2
1
2
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
2
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
2
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
2
1
1
0
0
1
3
0
0
0
0
1
0
2
0
1
0
0
0
2
0
0
1
0
0
0
1
1
2
1
1
1
1
2
0
2
1
2
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
2
0
0
0
0
0
0
1
1
1
0
2
0
2
1
0
0
1
0
3
0
0
0
0
0
0
1
1
0
0
2
2
1
0
0
1
0
0
2
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
2
0
0
1
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
1
0
1
0
1
0
1
2
0
1
0
3
1
1
0
0
0
0
1
0
0
0
2
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
2
2
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
2
2
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
1
0
1
2
1
1
0
0
1
2
3
0
0
0
1
0
3
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
2
2
0
0
0
0
2
0
0
1
1
1
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
2
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
1
2
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
2
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
3
1
0
0
0
2
1
1
0
1
0
3
0
0
0
0
1
0
0
0
1
1
0
0
3
0
0
0
0
1
1
0
0
2
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
2
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
2
0
1
1
0
0
0
1
0
2
1
0
0
0
0
2
0
0
1
1
1
2
0
0
1
1
0
0
0
0
1
0
0
0
0
1
3
0
0
1
0
0
2
0
0
0
0
2
1
0
2
0
1
1
1
0
0
1
1
0
0
0
2
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
2
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
2
0
0
0
0
1
0
0
1
0
0
0
1
0
1
3
0
0
0
1
0
0
0
3
0
0
2
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
2
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
2
2
0
0
0
0
0
2
1
0
1
1
0
0
4
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
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
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
2
0
0
0
1
1
0
3
0
0
4
0
2
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
2
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
2
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
2
0
1
0
1
1
1
1
0
2
0
1
2
0
0
1
2
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
3
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
3
0
0
0
0
1
0
0
1
0
0
3
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
2
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
2
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
2
1
0
0
3
1
0
1
2
0
2
1
0
0
0
0
0
1
0
0
2
0
1
0
2
0
0
0
0
0
0
1
1
2
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
2
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
2
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
2
0
1
0
0
0
1
1
0
0
1
0
1
3
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
2
0
1
0
0
0
1
0
0
0
1
2
1
0
0
0
1
0
0
3
0
0
0
1
0
0
2
0
0
0
0
1
0
0
0
0
0
0
1
0
1
2
2
0
0
2
0
1
1
1
0
0
0
0
2
2
2
0
0
1
0
0
0
0
1
0
0
3
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
2
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
2
0
0
0
1
0
0
0
0
2
0
0
1
0
0
0
2
1
0
2
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
2
1
0
0
2
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
3
2
0
0
1
0
1
0
0
2
1
0
2
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
2
0
1
0
0
2
1
0
1
1
1
1
2
0
0
1
0
0
0
0
1
0
0
2
0
1
0
2
0
1
0
0
0
1
1
2
1
0
0
0
1
1
1
0
0
2
2
0
0
1
0
0
0
2
1
0
2
0
2
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
2
0
1
2
1
0
0
1
2
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
2
1
0
2
0
0
0
2
2
0
0
2
0
0
0
0
0
0
0
0
1
2
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
2
0
0
0
1
0
0
3
0
0
0
1
0
1
1
2
1
2
0
1
2
0
0
0
0
1
1
0
0
0
0
0
0
3
1
1
0
0
0
1
2
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
2
1
0
0
0
0
0
0
0
0
2
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
2
1
0
0
1
1
0
2
1
1
1
0
0
0
2
0
0
0
1
0
2
0
1
0
0
1
0
0
0
0
3
3
0
1
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
3
0
1
1
1
0
1
1
0
0
0
0
2
1
1
1
0
0
0
2
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
2
0
1
0
1
0
0
0
2
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
2
0
1
1
0
1
1
0
0
1
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
2
3
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
2
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
2
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
2
2
0
0
2
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
0
0
0
1
0
1
0
0
0
2
0
1
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
2
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
2
1
0
0
0
0
1
1
0
0
2
0
0
1
1
0
0
0
0
3
2
0
2
0
0
1
0
0
0
1
2
0
0
1
1
1
1
2
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
1
1
1
1
1
0
0
2
0
0
0
0
0
1
1
0
2
1
0
0
1
0
1
0
0
2
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
2
0
1
0
1
2
0
0
1
0
0
1
2
0
3
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
2
1
0
0
0
0
0
0
2
0
1
0
1
0
0
3
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
1
3
2
0
2
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
2
0
0
0
1
0
0
0
2
0
1
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
0
1
0
2
1
1
1
0
0
0
2
0
0
1
0
1
2
0
1
0
1
2
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
2
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
2
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
2
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
2
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
2
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
2
0
2
1
0
1
2
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
2
1
0
1
0
1
0
0
1
0
0
2
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
2
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
3
1
1
0
0
2
0
1
0
0
2
0
0
0
0
1
0
0
0
2
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
2
1
0
0
0
1
2
0
0
1
0
0
0
0
2
0
1
1
1
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
2
1
1
1
2
0
1
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
1
0
0
2
0
0
1
0
1
0
0
0
0
1
2
1
0
0
0
2
0
1
2
0
2
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
2
0
0
1
0
1
2
1
0
2
1
0
0
1
0
0
0
1
0
0
0
1
0
0
3
0
0
1
1
0
3
1
1
1
0
0
1
0
0
0
2
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
2
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
2
1
0
0
0
1
0
2
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
2
0
0
0
0
1
0
1
1
1
1
0
0
3
1
1
2
0
1
2
0
2
0
2
1
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
3
0
0
0
0
0
1
0
1
0
3
0
0
0
0
0
0
1
0
2
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
0
0
0
2
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
2
0
0
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
2
1
0
0
0
0
1
0
1
2
2
0
3
1
2
1
0
0
0
1
0
0
2
0
0
0
1
2
0
0
0
0
1
1
0
2
0
2
0
0
0
1
0
0
0
0
0
1
1
1
3
0
0
0
1
1
0
1
1
1
0
2
1
2
0
0
1
1
1
1
0
1
0
0
2
1
0
1
0
0
1
0
0
2
0
0
1
0
0
1
1
1
0
0
1
2
0
0
0
0
0
0
0
1
0
2
1
1
0
1
0
0
0
2
0
0
1
1
0
1
0
2
0
3
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
3
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
1
0
0
0
0
2
0
1
0
0
1
0
1
0
0
2
1
0
0
0
0
0
0
1
1
2
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
2
2
0
3
0
0
2
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
3
0
0
3
1
2
0
1
0
1
2
0
0
2
0
2
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
2
2
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
2
0
1
0
1
0
0
0
0
0
0
0
2
1
0
0
0
0
2
2
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
2
2
0
0
0
2
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
3
0
0
2
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
2
0
0
0
1
1
0
0
0
0
0
0
1
0
2
1
0
1
2
1
0
1
1
1
2
0
0
0
0
1
1
0
0
0
2
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
2
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
2
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
2
1
1
0
0
0
0
0
0
0
1
0
0
2
1
0
1
0
1
0
0
1
3
2
2
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
3
0
1
1
0
1
0
0
0
1
1
0
2
1
0
2
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
2
1
0
0
0
1
0
2
0
0
0
1
0
0
1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
2
1
0
1
0
0
1
0
1
1
1
2
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
2
0
0
0
0
1
2
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
2
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
2
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
2
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
2
0
0
0
0
0
0
2
0
0
1
1
1
0
0
2
0
1
1
1
2
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
2
0
0
1
1
0
0
2
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
2
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
2
0
0
1
1
0
0
0
0
0
0
2
0
2
0
1
1
2
2
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
2
2
0
1
1
1
1
1
2
2
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
2
0
1
1
1
0
0
3
1
1
2
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
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
1
0
1
0
1
1
0
0
1
0
0
2
2
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
2
0
1
0
0
2
0
0
1
0
0
2
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
2
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
2
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
2
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
3
0
1
0
0
0
2
0
0
0
0
0
0
1
2
0
0
0
1
1
1
0
0
0
0
0
0
1
3
1
1
0
0
0
0
1
0
0
0
3
0
2
1
1
1
0
0
0
0
0
0
0
0
1
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
0
1
1
0
0
0
2
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
2
2
0
0
0
0
0
2
0
0
0
1
0
3
0
0
1
1
0
0
0
0
0
0
2
1
2
0
2
0
0
0
1
0
1
2
2
0
1
2
1
1
0
2
1
1
1
0
1
0
0
0
0
0
0
1
3
0
0
0
0
0
0
2
0
1
1
1
0
1
0
0
0
1
0
1
0
2
2
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
2
1
0
2
0
1
0
0
0
1
0
0
1
0
0
0
0
1
2
1
1
0
1
0
0
1
1
0
0
0
1
2
0
0
0
2
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
2
0
0
0
0
0
1
1
0
2
0
1
2
1
0
0
0
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
2
0
1
0
0
0
3
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
2
0
0
0
1
1
0
1
0
0
1
1
0
0
1
2
1
2
0
1
0
2
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
3
0
1
0
0
0
0
0
1
1
0
0
0
1
0
2
1
0
3
2
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
2
0
1
0
0
1
1
0
0
0
0
2
0
1
2
0
0
1
0
0
0
1
0
0
2
0
0
2
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
2
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
2
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
2
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
3
0
3
2
0
0
2
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
2
0
0
0
0
0
0
1
1
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
1
1
0
0
0
0
1
1
0
0
2
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
2
1
1
0
0
2
2
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
3
1
1
1
0
1
2
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
2
1
0
1
0
0
0
0
0
0
0
2
1
2
0
0
0
1
0
1
0
1
0
0
3
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
2
0
1
0
1
0
1
0
0
2
0
0
0
0
0
0
0
1
0
1
1
0
0
1
2
0
0
0
0
0
3
0
1
0
0
1
0
2
1
0
1
0
1
1
0
3
0
2
0
1
1
0
2
0
0
0
0
1
0
1
0
1
1
0
2
0
0
2
1
0
0
0
0
0
1
1
3
1
1
2
1
0
2
0
0
0
2
1
0
0
0
0
1
0
0
1
0
1
0
0
0
2
2
1
1
0
0
1
0
2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
2
0
1
0
1
1
1
1
0
2
2
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
3
2
0
1
0
0
0
0
0
2
1
2
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
2
0
3
1
0
1
0
0
0
1
1
1
1
2
0
1
0
0
1
0
1
2
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
3
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
3
1
0
1
0
1
0
0
0
2
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
3
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
2
0
0
0
0
0
1
0
1
2
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
2
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
2
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
2
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
2
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
2
0
1
0
0
0
0
1
0
0
0
1
0
2
0
0
2
0
1
1
0
1
0
0
2
3
0
0
0
0
2
1
1
0
2
0
0
1
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
2
0
0
0
0
0
0
1
0
1
0
1
0
0
2
0
0
1
1
0
2
0
0
0
0
0
0
2
0
0
0
0
2
0
1
0
0
0
2
0
0
0
0
3
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
1
0
2
2
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
2
0
0
0
0
1
0
1
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
2
1
1
2
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
2
0
1
0
3
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
2
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
2
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
1
0
0
1
0
1
0
3
0
1
0
1
1
1
2
0
0
0
1
0
0
2
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
3
0
1
0
2
0
0
1
0
0
1
2
0
0
1
1
0
0
0
1
0
1
1
0
1
1
2
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
3
1
2
0
2
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
2
1
0
2
2
2
2
0
0
1
0
2
0
0
0
1
2
0
2
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
2
0
0
2
0
0
1
0
0
0
0
0
0
0
0
2
1
0
0
0
1
0
0
0
2
0
0
0
1
0
1
0
0
0
0
0
1
2
1
2
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
2
0
1
0
1
1
0
1
1
0
1
0
0
0
2
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
2
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
0
0
1
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
1
0
1
2
1
0
0
0
0
0
0
0
1
0
1
0
2
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
2
0
0
1
0
1
2
0
0
0
1
0
0
1
2
0
1
0
0
0
0
0
0
2
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
2
2
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
2
0
1
0
1
1
1
2
0
0
0
1
1
0
2
0
0
0
0
2
0
0
0
2
0
2
0
1
1
0
1
0
1
1
0
1
0
2
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
2
0
0
1
1
0
2
0
0
1
0
0
1
0
0
0
0
1
0
0
0
2
2
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
2
1
0
1
0
0
0
0
2
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
2
0
0
2
2
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
2
1
0
1
1
2
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
3
2
0
0
1
0
1
0
0
0
3
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
3
0
1
0
0
1
1
0
0
0
0
2
1
0
1
0
0
0
1
0
2
2
1
2
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
2
0
1
1
1
1
0
0
1
0
0
1
0
2
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
2
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
2
0
0
1
0
0
1
1
0
1
0
0
0
2
1
1
2
0
0
0
0
2
0
0
1
0
0
1
0
0
0
0
1
2
0
0
0
0
1
1
0
1
0
0
0
0
2
1
0
0
1
1
0
2
2
1
0
0
0
0
1
0
0
1
2
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
2
0
0
0
1
2
0
0
1
0
0
1
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
1
0
0
0
1
0
0
0
1
0
0
7
0
1
1
0
0
0
0
0
1
1
1
0
2
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
1
0
1
1
0
1
0
2
0
0
1
3
0
0
0
0
1
2
2
0
0
0
1
0
0
0
0
0
1
0
0
0
1
2
2
2
3
0
0
0
0
0
2
2
1
0
0
1
1
0
0
0
0
2
0
0
0
1
0
1
1
2
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
2
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
2
0
2
1
0
1
0
2
0
0
1
0
1
0
0
1
1
1
1
0
2
1
1
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
1
0
0
0
0
1
1
1
1
0
1
0
2
1
0
2
0
1
1
1
0
0
0
0
0
2
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
2
0
1
0
0
0
1
0
2
0
0
2
1
0
0
0
1
2
2
0
0
0
0
0
0
1
0
1
0
0
2
0
1
1
1
0
1
1
0
0
0
1
0
3
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
2
0
1
0
1
1
0
0
0
2
0
0
0
0
0
1
0
0
0
3
0
3
1
0
2
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
1
0
0
1
1
1
1
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
2
0
1
1
1
0
2
0
0
1
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
2
0
0
2
2
1
1
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
2
0
0
0
1
0
0
2
2
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
2
0
0
1
1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
1
2
0
1
1
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
3
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
2
1
0
3
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
2
0
0
0
2
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
3
0
2
0
1
0
0
0
0
0
1
1
2
0
1
3
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
3
0
3
0
0
0
2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
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
1
0
1
2
0
0
0
0
0
0
0
0
3
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
2
0
0
0
0
2
0
0
2
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
2
0
0
0
1
1
0
0
0
1
1
2
0
1
0
0
0
0
0
1
2
1
1
0
1
0
1
0
0
0
2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
2
0
0
1
1
0
2
0
1
2
0
0
0
1
0
0
0
1
0
2
1
2
1
0
0
0
0
0
0
2
1
0
1
1
0
0
1
0
0
0
2
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
2
1
0
1
0
0
1
0
0
0
2
0
0
0
0
0
0
0
1
0
0
1
0
0
0
3
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
2
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
2
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
2
1
0
2
1
0
0
2
1
1
0
1
2
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
2
0
0
1
1
0
1
0
1
0
0
2
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
2
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
2
1
1
0
0
1
0
0
1
0
2
0
0
1
1
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
1
0
0
2
0
0
0
1
0
2
0
0
0
1
1
0
0
0
0
0
0
3
0
2
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
2
0
0
0
2
0
2
0
0
2
0
1
0
0
0
0
1
1
0
1
0
2
1
0
0
1
0
2
2
0
0
0
0
0
0
0
0
0
4
1
0
1
1
2
1
1
2
0
1
0
0
0
0
0
0
1
1
1
2
0
0
1
0
0
2
0
1
0
2
0
1
1
0
2
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
2
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
2
2
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
3
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
3
2
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
2
0
0
0
2
1
1
2
0
0
1
0
0
0
0
2
0
0
0
1
0
0
1
0
1
2
1
0
1
0
0
0
0
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
1
2
0
1
1
1
0
1
0
0
0
1
0
2
2
3
1
3
1
0
0
0
1
2
0
2
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
2
2
1
1
0
0
0
0
0
1
2
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
3
0
2
0
0
1
0
1
0
0
1
0
2
3
1
1
1
0
0
0
0
2
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
2
1
0
0
1
2
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
3
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
2
0
1
0
0
0
0
0
0
0
2
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
2
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
2
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
3
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
2
1
0
0
0
1
0
2
0
0
1
1
1
0
0
1
0
1
3
0
0
0
0
0
2
3
1
0
0
2
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
3
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
2
1
0
1
1
0
0
1
0
0
1
0
2
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
2
0
0
1
0
0
0
0
0
2
0
0
0
1
1
0
3
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
3
3
1
1
2
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
2
1
0
0
0
1
1
0
0
1
1
0
0
0
3
1
1
1
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
2
0
1
1
2
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
2
0
0
0
0
1
1
0
2
0
0
0
0
0
1
1
1
0
0
1
0
0
2
0
0
0
1
1
0
0
0
2
0
3
0
1
0
0
0
1
2
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
2
1
1
0
0
0
0
2
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
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
1
0
1
0
0
0
0
0
0
0
0
2
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
3
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
2
0
0
1
0
0
1
0
0
1
1
0
0
0
0
3
1
1
1
1
1
2
0
0
1
0
0
1
1
2
0
0
2
2
2
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
2
1
0
0
2
0
1
2
1
4
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
2
2
1
2
1
0
0
0
0
0
2
2
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
2
0
0
0
2
0
1
0
0
0
0
0
1
0
0
0
1
0
1
2
0
1
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
2
0
0
0
0
0
1
0
0
1
0
0
2
1
1
0
1
0
1
0
0
0
1
1
1
0
2
1
0
0
3
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
2
0
1
0
0
0
0
0
1
3
0
0
0
1
0
2
2
2
0
0
0
1
2
2
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
3
0
1
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
1
0
0
1
2
0
2
1
1
1
0
3
0
2
0
1
0
0
0
0
0
2
0
0
0
1
1
0
1
0
1
1
1
0
0
2
0
0
2
3
2
2
2
3
0
0
0
1
2
1
0
1
4
0
1
0
1
0
0
0
0
1
0
0
0
1
2
2
0
0
0
0
0
0
0
0
2
0
0
0
1
1
0
0
1
1
0
0
0
2
0
0
2
0
2
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
2
0
2
0
0
1
0
0
1
2
0
1
0
0
0
0
1
0
2
1
1
0
0
1
1
2
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
2
1
1
0
0
1
1
1
0
0
0
0
0
1
2
1
0
0
0
2
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
2
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
2
1
3
0
0
1
0
0
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
2
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
2
0
1
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
1
0
0
1
2
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
2
0
1
0
1
0
0
0
1
1
0
0
2
0
0
0
0
2
0
0
0
1
2
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
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
2
1
2
0
1
1
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
1
1
1
2
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
2
0
0
0
0
1
0
1
1
1
0
2
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
2
2
0
0
1
0
0
2
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
2
0
0
0
0
0
0
0
0
0
2
0
0
1
2
1
0
0
2
0
1
0
0
3
0
1
1
0
0
1
2
0
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
1
0
2
1
0
0
0
1
0
2
0
0
2
0
0
1
1
0
0
1
0
0
1
1
1
1
2
1
0
0
0
1
0
0
0
0
0
2
0
0
0
1
1
0
0
2
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
3
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
2
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
2
1
0
1
1
0
1
0
1
0
0
0
1
2
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
2
0
1
1
0
0
0
2
0
0
2
0
0
0
1
0
1
0
0
0
1
2
0
0
2
0
0
0
2
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
2
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
3
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
2
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
2
0
1
1
0
0
0
2
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
2
0
0
0
0
1
1
0
1
0
0
0
0
0
0
2
0
1
0
1
0
0
1
1
2
0
0
0
2
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
2
0
0
0
1
1
2
0
0
1
1
0
0
1
0
0
0
0
0
3
0
1
1
1
0
0
0
0
0
1
0
0
0
1
3
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
2
1
0
0
0
2
1
0
2
0
1
1
1
0
0
0
1
2
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
2
1
0
1
1
1
2
0
0
0
2
1
0
0
0
3
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
4
0
1
0
0
0
0
2
0
1
1
2
0
0
0
0
1
0
0
0
1
1
0
0
1
1
3
1
2
1
1
0
0
1
1
1
0
2
0
2
0
0
1
0
1
0
0
0
1
0
0
1
0
2
1
0
0
0
0
0
0
1
0
0
0
2
0
1
0
2
1
1
1
1
0
0
0
0
0
0
1
3
0
0
2
0
2
0
0
0
1
0
0
1
2
1
1
0
2
2
0
0
0
0
2
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
2
0
2
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
2
1
1
1
1
0
0
0
0
0
0
0
2
0
0
0
0
1
1
1
2
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
2
1
0
3
0
1
0
2
0
0
0
0
0
0
1
3
0
0
1
0
0
1
1
2
0
0
0
0
0
2
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
2
0
2
0
0
0
1
1
1
0
1
0
0
2
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
1
0
0
2
0
0
0
0
0
1
0
1
1
1
2
1
0
2
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
2
0
0
3
1
0
2
2
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
2
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
2
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
2
0
0
1
0
0
1
1
1
0
0
1
2
1
1
0
2
1
2
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
2
0
1
2
0
0
0
0
0
0
1
0
0
0
1
1
2
0
0
1
0
0
0
0
0
0
0
0
1
0
2
0
1
0
1
0
0
0
0
1
1
0
2
1
2
2
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
2
1
1
0
1
0
0
0
1
0
0
0
2
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
1
0
2
1
1
0
0
1
0
1
0
0
2
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
1
0
1
2
1
0
0
3
0
1
0
2
0
0
0
2
0
0
0
2
0
0
1
2
0
0
1
1
0
0
0
0
2
1
1
1
0
2
1
1
0
0
1
0
2
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
2
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
1
1
0
2
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
2
1
0
1
0
0
0
1
2
0
0
2
0
0
0
0
0
0
1
1
0
0
2
1
2
0
0
0
1
0
0
1
0
1
0
0
2
0
1
2
0
0
1
1
1
0
1
2
1
0
1
0
2
0
1
1
0
0
0
0
0
0
1
0
0
1
0
2
1
1
0
0
0
1
2
0
0
1
0
0
1
0
0
0
1
0
0
1
2
0
1
0
0
0
0
2
1
1
0
3
3
2
2
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
2
2
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
1
0
1
2
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
2
0
2
0
0
1
0
1
1
0
2
2
0
0
0
0
1
0
0
1
0
0
0
0
1
2
1
4
1
0
1
0
1
0
0
1
0
1
1
1
1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
1
0
0
0
2
0
1
1
1
0
1
0
0
2
0
2
0
0
0
0
1
0
0
2
1
0
2
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
1
1
0
0
0
2
2
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
2
0
1
0
2
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
2
0
2
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
2
0
0
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
2
2
0
0
2
0
1
1
0
1
1
2
0
0
1
1
0
1
1
0
0
0
0
2
0
0
0
0
2
0
0
0
0
2
2
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
3
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
1
0
0
0
0
0
0
2
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
2
0
0
1
0
2
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
2
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
2
0
0
0
0
0
0
1
0
0
2
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
2
0
2
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
2
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
2
2
2
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
2
1
0
3
0
1
0
1
1
1
0
1
0
0
2
2
0
0
0
0
2
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
1
1
0
0
2
1
0
1
2
3
1
0
1
0
0
3
0
4
0
0
0
1
0
1
1
0
0
0
0
1
0
0
2
0
1
0
0
2
1
1
1
0
0
0
3
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
3
1
0
1
1
2
0
0
1
0
0
2
2
0
0
0
1
0
1
0
2
1
1
1
0
2
0
0
2
2
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
2
0
0
0
1
0
0
2
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
2
2
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
2
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
2
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
2
2
0
0
1
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
2
0
1
0
1
0
0
0
2
0
0
1
0
1
1
0
0
0
2
0
0
0
1
0
2
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
2
1
2
0
0
1
1
1
1
3
2
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
2
0
0
0
0
1
0
1
0
0
0
1
1
0
0
2
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
2
0
0
1
0
1
1
0
2
0
0
1
0
0
0
0
0
0
0
1
1
1
0
2
1
1
1
0
0
1
0
0
0
1
0
0
0
0
4
0
0
1
0
1
0
3
0
1
1
0
1
2
0
0
0
0
0
0
1
0
0
0
1
1
1
0
2
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
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
1
0
2
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
2
0
0
0
0
2
0
2
1
0
0
0
1
1
2
0
0
0
0
0
2
0
1
1
1
0
2
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
2
0
1
0
0
0
0
0
0
0
1
0
1
2
0
0
1
1
0
1
1
0
3
0
0
1
1
1
1
0
0
1
0
1
0
3
0
1
0
0
0
2
0
1
2
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
2
2
0
0
0
1
3
0
0
0
0
0
0
1
1
0
0
2
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
3
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
2
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
2
1
0
1
0
0
1
0
0
3
2
2
0
0
0
2
1
0
0
1
0
0
0
1
1
2
1
3
1
0
0
0
1
2
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
2
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
2
0
0
1
0
1
1
0
0
2
2
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
2
0
1
1
0
0
0
1
1
0
2
1
1
0
0
0
1
0
2
0
1
1
1
0
2
3
1
0
1
0
1
2
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
5
0
0
0
2
0
0
1
0
1
0
0
0
2
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
2
0
0
0
1
0
1
1
1
1
2
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
2
0
0
1
0
0
0
0
0
1
2
0
2
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
2
0
1
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
2
0
0
0
0
1
0
0
1
0
0
2
2
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
2
1
1
0
1
1
1
0
0
0
1
0
0
1
1
2
1
2
2
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
2
0
0
2
0
1
0
0
1
3
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
2
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
2
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
2
1
0
1
0
0
0
0
0
3
0
0
0
1
1
0
0
0
0
0
2
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
2
0
1
1
0
2
0
0
0
1
1
0
0
0
0
0
3
1
1
0
0
2
0
0
1
1
0
1
0
1
0
0
2
2
0
2
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
2
0
1
0
2
1
0
0
0
0
1
0
0
0
0
2
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
2
0
1
0
2
0
1
0
0
0
0
0
1
0
0
0
0
1
2
1
0
1
0
1
1
2
1
1
1
0
3
0
0
1
0
0
1
0
3
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
2
0
1
1
1
0
0
2
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
2
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
2
0
0
0
0
3
0
0
0
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
1
0
0
0
1
0
4
1
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
1
1
1
2
1
0
1
0
1
1
1
3
0
0
0
0
3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
2
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
2
2
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
2
1
1
1
2
0
0
0
0
0
0
0
2
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
2
0
1
1
0
0
0
1
2
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
3
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
2
0
0
1
0
1
1
1
2
0
1
0
0
0
1
1
1
0
1
0
1
0
0
2
0
0
0
0
0
0
2
0
0
2
0
1
1
2
0
0
2
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
2
0
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
2
1
0
0
0
2
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
2
0
0
0
0
0
3
0
1
0
0
1
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
1
0
1
0
0
0
0
0
0
1
0
0
2
0
0
2
1
0
0
0
0
0
0
1
1
2
0
1
0
1
0
0
0
0
0
1
3
0
1
1
0
0
0
1
0
1
1
2
1
0
0
1
0
0
0
0
0
1
0
2
0
0
1
0
0
0
2
1
0
0
0
0
0
3
1
1
0
1
0
2
0
1
2
0
3
1
0
0
0
1
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
0
0
0
0
0
1
1
2
1
2
0
0
3
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
2
0
1
0
1
2
1
0
1
0
0
1
0
0
0
1
0
3
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
2
1
3
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
2
0
0
1
1
0
0
0
0
0
2
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
2
0
0
2
0
0
0
1
0
1
0
0
2
0
0
1
0
0
0
2
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
2
3
1
0
0
0
3
0
1
2
0
0
1
1
0
2
1
1
1
0
2
1
2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
3
0
1
1
1
2
0
1
0
0
1
2
1
1
1
0
2
0
0
0
0
0
0
1
0
1
0
0
0
1
2
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
1
0
0
0
0
0
0
0
0
2
1
1
0
0
1
0
0
1
0
2
1
2
0
1
0
0
1
1
0
0
1
1
0
0
2
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
3
0
1
1
0
0
0
0
0
1
2
0
2
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
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
2
0
1
0
0
0
1
0
1
0
0
0
0
2
0
2
0
1
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
2
0
0
0
1
1
0
1
1
1
1
0
0
0
1
2
0
1
1
0
2
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
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
0
1
0
0
1
0
0
0
1
4
1
0
0
1
0
2
1
2
0
0
0
3
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
2
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
2
1
0
0
0
3
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
2
0
0
0
2
0
1
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
2
1
0
0
1
1
0
0
1
1
0
1
0
2
1
1
1
0
1
0
1
0
0
0
0
1
0
2
0
1
0
2
1
1
0
0
0
1
1
0
1
0
0
0
0
0
2
0
0
1
0
2
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
2
1
0
1
0
0
0
0
3
0
0
2
2
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
2
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
2
2
1
1
2
0
0
0
1
0
0
1
0
2
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
2
0
1
0
2
0
1
0
1
0
0
0
1
1
1
0
0
0
0
2
1
0
1
0
0
0
0
0
2
0
0
0
0
1
0
1
2
2
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
2
0
0
1
1
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
2
0
1
0
1
0
2
1
0
0
1
0
0
0
1
3
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
2
0
0
0
0
0
2
2
0
1
0
2
1
0
1
0
0
0
0
0
0
0
2
0
1
1
0
0
0
1
0
0
0
1
2
0
1
0
2
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
2
2
3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
2
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
2
0
1
1
0
1
0
0
0
0
0
1
1
0
0
2
0
0
1
2
0
1
0
0
0
0
0
1
0
0
1
0
0
2
0
1
0
2
1
0
1
0
2
0
0
1
0
0
0
0
0
0
0
1
0
1
2
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
3
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
2
2
0
0
0
1
0
0
0
3
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
2
0
1
0
0
1
0
1
2
1
2
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
2
0
0
0
1
0
0
0
1
2
0
2
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
2
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
2
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
3
1
0
0
0
2
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
2
2
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
2
2
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
3
0
0
0
0
2
1
1
0
0
0
1
1
0
2
0
0
0
0
0
0
0
1
1
0
2
0
0
2
0
2
0
2
1
1
1
1
0
0
2
2
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
2
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
2
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
2
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
3
0
0
0
1
0
1
2
0
1
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
1
2
2
0
3
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
3
0
0
1
0
2
0
2
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
2
1
2
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
2
0
0
1
0
1
0
0
1
1
1
0
3
1
0
0
1
0
0
0
0
0
0
2
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
2
0
0
2
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
3
2
0
1
0
0
0
1
0
2
0
1
0
0
0
1
2
0
1
1
1
2
1
0
1
1
0
1
0
0
0
0
0
2
0
1
1
0
0
0
0
2
0
2
2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
3
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
3
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
2
0
0
0
0
0
0
0
2
0
0
0
1
1
1
0
1
0
2
0
0
1
1
0
0
0
0
0
1
2
0
0
1
1
1
2
0
0
1
1
0
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
3
0
1
0
0
2
0
0
0
0
0
0
1
3
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
2
0
0
0
1
1
0
0
1
0
1
0
2
0
0
0
0
1
0
0
1
0
3
2
1
0
2
0
0
0
0
1
0
1
0
0
1
2
0
0
0
1
3
0
0
1
1
0
2
0
0
1
1
0
1
0
0
2
0
0
0
1
0
0
0
1
2
0
1
0
0
3
2
0
1
1
0
0
2
0
0
0
2
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
4
0
1
0
1
0
1
0
1
1
0
0
0
0
3
0
0
1
1
0
1
0
0
0
1
1
0
0
2
0
0
0
1
0
0
0
0
0
0
2
0
0
0
1
1
0
1
0
1
0
1
1
0
0
2
2
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
4
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
2
1
0
1
0
1
0
1
3
0
1
1
1
0
1
0
1
0
0
1
0
2
1
0
0
0
0
1
1
0
1
0
1
0
0
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
2
1
0
1
0
0
1
0
1
1
0
0
0
2
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
3
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
2
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
2
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
1
1
2
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
3
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
2
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
2
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
2
0
0
0
0
2
0
0
1
1
0
1
0
2
0
0
1
0
0
0
1
1
0
0
1
2
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
2
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
2
1
0
0
2
0
0
0
0
0
0
0
1
0
0
0
2
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
2
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
2
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
2
0
1
2
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
2
1
0
0
0
0
0
0
1
0
0
2
0
1
0
1
0
0
1
1
0
0
1
0
0
0
2
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
2
2
0
0
1
0
1
1
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
2
0
0
0
0
0
1
2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
2
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
2
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
2
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
2
1
0
2
0
0
1
3
1
0
1
0
0
0
0
1
2
0
1
0
0
0
3
0
0
1
0
0
0
1
0
0
1
3
0
0
0
0
0
0
2
0
1
1
1
0
0
0
3
0
0
1
0
1
0
0
1
0
0
0
0
0
1
3
0
0
2
0
0
0
1
0
0
0
0
0
0
1
0
2
1
2
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
3
0
1
1
1
0
2
2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
1
0
0
0
3
1
1
1
0
0
0
0
0
1
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
1
0
0
0
1
0
0
0
0
0
0
0
1
0
2
0
0
3
0
1
0
0
3
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
2
1
1
1
1
0
2
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
2
2
1
1
0
1
1
3
0
0
0
1
0
1
0
0
0
1
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
3
0
0
0
1
0
0
0
1
0
1
2
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
2
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
2
0
0
2
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
2
1
1
1
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
2
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
2
1
0
0
0
0
2
0
1
1
0
0
0
1
0
2
0
0
1
0
0
0
0
0
1
0
3
2
0
0
1
0
2
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
2
2
2
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
2
0
0
0
0
0
0
1
0
0
0
1
1
2
1
0
0
1
2
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
2
0
0
0
1
0
1
2
1
0
0
1
1
0
0
1
1
0
2
2
1
0
2
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
2
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
2
1
0
1
1
0
0
0
0
0
0
0
3
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
2
1
0
1
1
0
3
0
1
0
1
1
0
1
0
2
0
2
0
0
1
1
2
0
0
0
0
0
0
1
0
1
1
1
2
1
0
2
1
1
0
0
0
0
2
1
0
1
0
1
0
1
0
0
2
0
0
1
2
0
1
1
0
0
0
1
0
0
2
2
0
0
2
2
1
0
0
0
2
4
1
0
0
0
1
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
3
0
1
0
2
1
1
0
0
1
1
1
3
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
2
1
0
0
3
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
2
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
2
0
0
0
0
0
2
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
2
1
0
2
0
0
0
0
1
0
0
0
1
0
1
2
1
0
1
0
0
0
2
2
0
0
0
2
0
0
0
0
1
1
0
1
0
1
0
0
0
0
3
1
3
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
2
1
1
1
0
1
2
1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
3
0
3
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
2
0
1
0
0
0
1
0
2
1
0
0
0
0
0
0
1
0
2
1
0
0
2
1
2
2
1
0
0
1
1
1
2
0
0
3
0
1
0
1
0
0
1
1
1
0
0
0
1
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
1
3
0
0
2
1
0
0
2
0
0
2
0
0
0
1
1
2
1
0
0
0
0
1
3
0
1
1
0
0
1
0
0
1
0
2
0
1
0
0
0
2
3
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
2
1
0
0
1
2
1
1
0
0
0
0
0
1
2
1
1
1
0
0
0
1
0
0
0
1
2
1
0
0
0
0
1
0
0
3
2
0
0
0
2
1
1
0
0
0
0
0
2
0
0
0
1
1
0
0
0
0
0
0
2
0
0
0
2
2
0
0
1
0
0
0
0
0
1
1
0
0
1
2
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
2
0
0
1
0
1
0
1
1
0
2
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
3
0
2
2
0
0
0
1
0
1
2
1
2
1
1
0
1
0
0
0
1
1
0
1
0
0
0
3
1
1
2
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
2
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
2
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
2
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
2
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
2
2
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
2
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
2
0
0
0
1
0
0
0
0
1
0
0
0
1
0
4
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
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
0
1
1
0
0
1
3
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
2
0
0
0
0
0
0
1
0
2
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
2
2
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
2
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
2
0
0
1
2
0
0
0
0
0
0
1
1
1
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
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
2