0
0
0
0
1
1
1
2
2
2
3
3
4
4
4
4
4
3
3
3
2
2
1
0
0
0
0
0
0
0
1
1
1
1
1
2
2
3
3
3
3
4
4
4
4
5
5
5
6
7
7
8
8
8
9
10
10
10
11
11
11
10
9
9
8
7
7
6
6
6
5
5
4
4
4
4
4
5
6
6
7
7
8
9
9
10
10
10
10
8
8
7
7
6
5
5
4
4
4
3
3
3
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
3
3
3
3
4
4
4
4
4
3
3
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
3
3
3
4
4
4
4
4
4
4
4
3
3
3
2
2
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
3
3
4
5
5
6
6
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
5
5
4
4
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
3
3
4
5
5
6
6
7
8
8
9
9
10
10
11
11
12
12
13
13
14
15
15
16
17
17
18
19
19
20
20
21
21
21
22
22
23
24
24
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
24
24
24
24
24
24
23
23
23
23
23
22
22
22
22
22
21
21
21
21
20
19
18
17
16
15
15
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
15
15
15
15
16
16
16
16
17
17
17
17
17
16
15
15
13
13
12
11
10
10
9
9
9
9
9
9
9
9
9
8
8
8
7
7
6
6
6
7
7
8
8
9
9
10
10
10
9
8
7
5
4
3
2
1
0
0
0
1
1
2
2
3
4
4
5
6
7
7
7
7
8
8
9
9
10
10
10
9
8
7
6
5
4
3
2
0
0
1
3
4
5
6
7
8
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
13
13
13
14
15
15
16
17
17
18
19
20
20
19
19
18
17
17
16
15
14
14
13
13
13
12
12
12
12
12
11
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
11
12
12
13
14
15
15
16
16
16
16
16
16
16
16
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
16
16
16
16
15
15
15
14
14
14
14
13
13
12
12
11
11
10
10
10
9
9
9
9
9
8
8
8
8
8
7
7
6
6
6
6
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
5
5
4
4
4
4
4
4
5
5
5
5
5
6
7
8
9
9
10
11
12
12
12
13
13
13
13
13
13
13
13
12
12
12
12
11
11
11
11
11
11
11
11
11
11
11
12
12
13
13
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
14
14
14
14
14
14
14
14
13
13
13
12
12
12
12
11
11
11
11
11
10
10
10
9
9
9
8
8
7
7
7
7
7
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
13
13
14
15
15
16
17
17
18
18
19
20
20
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
32
32
33
33
34
35
35
36
37
37
38
39
40
41
41
43
44
45
46
48
49
49
48
48
47
46
45
44
42
42
41
41
40
39
38
38
37
37
37
36
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
35
34
33
33
32
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
31
30
29
28
28
27
26
25
24
22
22
21
20
19
18
18
19
20
20
21
22
23
23
24
25
25
24
22
21
20
19
17
15
13
13
12
11
10
9
8
8
9
9
11
12
14
14
16
16
18
18
18
17
17
17
16
16
16
15
15
14
14
14
14
14
15
15
15
16
16
16
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
20
20
20
21
21
21
22
22
22
23
23
23
24
24
24
25
25
25
26
26
26
27
27
27
28
28
28
28
29
29
29
29
30
30
30
30
31
31
31
31
31
31
30
30
30
30
29
29
29
28
28
28
28
28
28
29
29
29
30
30
31
31
32
32
32
33
33
33
34
35
36
36
37
38
39
40
40
41
42
43
43
44
44
43
42
42
41
41
40
40
39
39
38
37
36
33
32
30
28
26
25
23
22
21
21
22
22
23
23
25
25
26
27
27
28
30
30
32
33
35
36
37
39
40
41
42
43
45
46
48
49
51
52
53
55
57
56
53
51
48
44
40
36
34
31
31
32
32
33
34
35
35
36
36
37
38
39
40
42
42
44
45
46
48
49
49
50
52
53
54
53
51
50
47
45
44
42
40
37
35
32
30
28
27
28
28
29
30
31
31
32
33
33
34
34
35
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
39
39
39
39
39
41
44
47
49
52
54
56
59
61
63
63
63
62
62
62
61
61
60
60
59
59
59
59
59
59
59
59
58
58
58
57
57
57
56
56
56
54
52
50
49
48
46
45
44
44
45
47
48
49
51
52
53
54
55
56
57
57
57
57
57
57
57
57
56
56
56
56
56
56
56
56
56
57
58
58
59
60
60
61
62
62
63
63
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
66
66
67
68
69
69
71
71
72
73
74
75
75
76
77
77
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
81
81
81
82
82
83
83
83
84
85
85
86
86
87
88
88
89
90
90
91
91
93
95
97
99
100
102
103
104
105
105
104
103
100
99
96
94
91
90
87
83
80
77
75
74
74
74
75
75
75
75
74
74
73
72
71
71
69
69
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
69
69
70
70
71
71
72
72
73
73
74
74
74
75
75
75
76
76
76
76
77
77
77
78
78
78
78
79
79
79
79
79
79
79
79
79
79
79
78
78
78
78
78
77
77
77
77
76
76
75
75
74
74
73
73
72
72
72
72
73
73
73
74
74
74
73
73
73
72
72
72
72
74
76
78
80
81
82
83
85
86
87
88
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
90
90
90
91
91
91
92
92
93
93
93
93
94
95
95
96
96
97
97
98
98
99
99
100
100
101
101
102
103
103
104
105
105
106
107
107
108
109
110
110
110
110
110
109
109
109
108
108
108
108
107
107
106
106
106
106
106
106
107
107
107
107
107
107
106
105
104
102
101
101
99
99
99
99
99
100
100
101
101
101
101
101
101
100
100
100
99
99
99
99
98
97
96
95
93
92
91
90
88
87
85
84
82
80
79
78
76
75
74
74
74
74
75
75
75
76
76
76
76
76
76
76
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
75
74
73
73
72
71
71
71
72
72
73
74
75
75
76
77
78
79
82
83
85
87
88
90
93
94
95
96
97
99
100
101
101
99
96
95
92
90
87
86
83
81
81
81
81
82
82
82
83
83
83
83
84
85
86
86
87
88
89
89
89
85
80
78
75
73
68
63
59
57
56
55
53
53
52
50
50
51
55
56
58
60
63
66
69
72
73
70
66
65
61
58
54
50
48
47
47
48
48
49
49
50
50
51
52
54
56
59
60
61
62
64
67
67
65
61
59
55
50
46
42
40
39
38
37
36
36
35
34
33
33
34
35
36
37
38
39
39
40
40
40
38
37
34
33
32
30
29
27
26
26
24
24
22
22
21
19
19
18
19
20
21
23
24
26
27
29
30
32
33
33
35
36
36
38
39
40
41
41
39
38
37
35
33
32
31
29
29
31
33
35
37
38
40
43
44
46
48
48
48
48
48
48
48
48
48
48
48
48
46
44
40
38
34
30
26
23
19
19
18
18
17
16
15
14
14
14
12
11
10
9
8
7
6
6
6
7
7
8
9
9
10
10
10
9
9
8
7
6
6
5
4
4
4
5
5
5
6
6
7
7
8
8
9
10
10
11
12
13
14
14
15
15
16
17
17
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
15
14
13
13
12
11
10
9
8
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
3
3
3
3
3
3
4
5
5
6
7
8
9
9
10
10
11
11
11
11
11
11
11
11
11
11
11
10
10
9
9
9
8
8
7
7
7
6
6
6
6
6
6
7
7
7
7
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
9
7
6
5
4
3
3
2
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
12
13
13
13
13
13
13
13
13
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
13
13
14
15
16
16
17
17
18
18
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
19
19
18
18
17
17
16
16
16
15
15
14
14
14
13
13
12
12
11
11
10
10
10
10
10
11
11
12
12
13
13
14
14
15
15
14
14
13
13
12
11
10
9
8
8
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
14
15
15
15
15
16
16
16
17
17
17
17