0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
2
2
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
3
3
3
1
2
2
2
2
2
2
2
1
0
0
0
0
1
1
0
0
1
1
1
1
1
2
1
1
0
0
0
1
0
0
0
2
2
2
2
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
4
4
5
5
5
5
5
3
3
4
5
5
6
6
6
6
9
12
12
13
13
17
17
17
17
18
18
19
19
21
22
31
37
34
35
35
35
35
35
35
35
35
37
36
36
36
37
37
37
37
35
34
34
33
33
32
32
32
32
32
32
32
32
32
32
32
32
31
33
33
33
34
34
34
34
34
34
34
33
32
31
31
30
30
29
29
29
29
29
28
23
22
31
40
43
43
43
43
43
43
44
45
45
45
46
43
40
40
40
39
38
38
38
38
37
37
36
35
35
35
35
35
35
35
33
32
30
29
20
20
20
19
19
19
19
17
16
16
16
17
17
17
16
16
16
16
15
15
15
15
15
15
15
15
15
16
15
15
14
14
15
16
17
17
17
17
18
18
16
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
16
16
16
16
16
16
16
16
16
16
15
14
14
14
14
13
14
14
14
14
14
13
13
13
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
10
10
10
10
10
10
10
10
9
9
8
8
8
8
7
7
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
7
7
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
5
5
4
3
3
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
1
1
1
1
1
1
1
1
1
2
2
2
2
2
6
5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0