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