0
0
0
0
0
0
0
0
0
1
2
2
2
1
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
2
3
4
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
7
7
7
7
7
7
7
7
7
7
6
5
4
4
3
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
5
4
1
0
0
1
4
3
1
1
0
0
0
0
0
0
1
1
3
3
4
4
4
4
4
5
5
4
2
2
0
3
4
9
8
5
4
4
4
4
5
5
6
6
8
8
8
8
9
10
11
12
13
13
17
17
20
23
28
28
28
28
27
27
25
23
23
21
21
21
22
23
23
24
25
26
26
27
27
30
33
33
37
40
44
49
59
67
70
73
82
92
92
99
102
103
103
95
95
86
85
84
83
82
80
78
78
76
76
75
73
71
72
73
73
74
73
66
61
61
61
58
55
55
48
38
34
33
31
30
30
29
29
27
25
24
24
24
24
24
24
24
24
24
23
23
21
21
19
19
19
19
19
21
23
24
24
24
27
27
31
31
32
33
33
33
33
33
34
34
34
34
35
36
37
37
38
39
39
39
39
39
39
39
41
42
42
44
46
52
52
52
50
49
49
47
47
46
46
46
46
47
47
47
47
47
47
47
47
47
48
50
50
52
52
52
54
55
57
60
60
60
60
59
59
58
58
59
60
61
63
63
63
63
63
64
64
62
62
64
65
66
67
68
68
69
69
71
71
70
70
68
68
68
70
70
72
72
74
75
75
75
75
75
75
75
75
76
76
77
78
80
80
83
83
86
86
86
86
86
86
85
85
85
85
85
85
85
86
86
87
87
87
87
85
85
85
85
88
88
90
92
93
93
93
93
93
93
92
91
90
92
93
94
94
94
97
99
102
104
106
107
108
110
111
110
110
110
109
108
108
108
108
108
108
108
107
107
107
107
107
106
105
105
104
101
98
98
97
96
96
95
94
94
94
94
94
94
94
94
91
88
88
88
88
89
90
90
91
91
91
94
97
97
99
101
101
103
105
105
109
109
109
110
111
113
114
114
116
116
116
117
117
117
117
118
119
120
120
120
120
121
122
123
125
127
130
131
132
134
136
137
139
139
139
139
140
143
144
146
146
147
147
146
146
145
144
144
143
141
138
138
139
140
145
146
147
147
147
147
147
146
145
145
143
143
145
146
147
144
142
141
139
133
129
130
130
130
129
125
121
120
120
115
114
114
113
112
112
112
112
112
113
113
111
110
109
105
100
99
93
93
89
89
86
84
84
84
86
89
93
93
90
87
83
80
73
74
74
78
78
77
74
72
68
67
61
61
61
63
63
65
65
65
65
67
68
69
69
69
68
68
68
67
67
67
67
67
66
64
62
59
48
45
45
45
45
45
43
43
39
39
39
40
41
41
41
40
40
37
38
37
34
37
35
35
34
34
34
33
30
29
28
31
35
35
37
37
38
38
37
37
37
37
37
38
38
39
40
40
40
40
40
40
41
38
38
38
38
38
35
31
31
31
31
31
32
31
30
28
27
29
29
29
29
27
27
29
28
27
27
22
21
20
20
19
18
18
18
18
18
19
22
22
29
31
33
32
31
25
19
19
16
16
15
15
15
15
14
13
13
14
13
13
13
14
14
12
14
14
14
12
11
9
9
12
12
12
11
11
10
10
11
11
12
12
13
13
14
14
13
9
8
8
11
11
10
8
12
20
15
16
16
13
13
13
17
20
23
23
22
24
24
22
20
20
25
29
29
36
35
33
32
30
31
31
33
30
30
30
30
30
32
32
28
29
27
24
23
21
21
21
21
20
20
20
20
20
20
20
20
20
20
20
20
20
19
19
19
22
24
24
24
32
32
30
29
31
29
29
25
20
16
14
14
14
14
15
18
20
20
21
21
21
19
17
15
10
8
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
8
9
13
13
10
9
9
7
7
7
4
4
2
1
1
0
0
0
0
0
0