"First" segment of the route Paris -> Lisboa
]]>
"First" segment of the route Paris -> Lisboa
]]>
45
44
44
44
44
44
44
44
44
44
44
44
44
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
41
41
41
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
37
36
35
35
34
33
32
32
31
31
31
31
31
31
30
30
31
31
32
33
33
36
37
38
39
39
39
40
40
41
42
43
43
43
43
42
42
42
42
42
42
41
40
39
39
39
39
39
39
39
39
39
39
38
38
37
37
37
36
36
36
36
35
31
31
31
31
31
31
31
31
31
31
31
31
31
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
32
34
34
34
35
35
36
36
36
36
36
36
36
36
36
35
34
33
33
32
32
32
32
31
31
31
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
39
39
47
47
47
48
50
52
54
54
54
57
58
60
63
64
65
65
66
67
67
68
69
69
70
71
72
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
74
74
74
74
75
75
75
75
75
75
76
76
76
77
77
77
77
78
78
78
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
81
81
81
81
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
84
84
84
84
85
85
85
85
85
85
85
85
85
85
85
85
85
86
86
86
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
88
88
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
86
86
86
85
85
85
85
85
85
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
88
88
87
87
87
87
87
87
87
87
87
87
87
86
86
86
86
86
86
86
86
85
85
85
85
84
84
84
84
84
84
84
84
83
83
84
84
85
85
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
88
88
88
86
86
85
85
85
85
85
85
84
84
84
84
83
83
82
81
81
80
80
79
79
79
78
78
78
78
78
78
78
78
78
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
75
75
75
75
75
75
75
75
75
75
74
74
74
74
74
74
74
74
74
74
74
74
73
73
72
71
71
70
69
68
68
67
67
66
66
65
64
63
63
62
62
60
59
58
56
56
56
55
55
54
53
53
52
52
52
51
51
51
51
51
50
50
50
50
50
50
50
49
49
49
48
48
48
47
47
47
47
46
46
46
45
45
45
44
44
43
43
42
42
42
42
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
43
44
46
50
52
53
54
54
56
57
57
57
58
60
61
61
62
62
63
64
64
63
63
62
61
61
60
59
58
57
56
55
54
53
52
53
54
55
65
67
68
72
75
75
75
75
75
76
76
76
77
77
78
79
79
80
80
84
85
86
87
87
87
87
87
87
87
87
88
88
88
88
88
89
89
89
89
89
90
90
90
91
91
91
91
92
92
92
93
93
94
95
96
96
97
97
97
97
97
97
97
97
97
99
99
100
100
103
111
128
133
140
141
141
142
142
141
141
140
140
137
133
131
131
129
126
124
119
118
114
111
109
105
103
101
100
100
99
96
96
94
94
93
92
89
88
87
87
85
84
84
83
83
83
82
82
81
81
81
81
81
81
81
81
81
81
81
82
82
82
82
82
82
82
82
82
83
83
83
83
83
84
84
84
84
84
84
84
84
84
84
84
84
84
85
85
85
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
89
89
91
92
94
97
99
102
104
105
108
109
113
116
118
124
126
130
130
130
131
131
131
132
132
132
132
132
132
132
132
132
132
132
131
131
130
130
130
129
129
128
127
127
127
126
126
126
126
126
125
125
125
125
125
124
124
124
124
124
124
124
123
123
123
123
123
123
123
123
123
122
122
122
122
121
121
121
120
120
120
119
119
119
119
119
119
119
119
119
120
120
120
121
121
122
123
124
124
124
125
125
125
125
125
125
125
125
125
124
124
124
123
123
123
123
123
123
123
122
122
122
122
121
121
120
118
117
115
114
113
112
111
110
109
109
108
105
104
103
103
102
101
101
95
95
92
90
90
88
86
85
84
81
80
78
77
74
72
72
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
76
77
77
79
79
80
81
83
85
90
91
94
95
97
98
99
101
103
103
107
115
119
119
118
118
117
116
115
115
115
114
114
114
114
114
114
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
116
117
118
120
121
122
122
123
123
124
124
125
126
126
125
125
125
124
123
123
123
122
121
121
119
119
118
118
118
117
117
117
117
116
116
116
115
114
113
113
112
112
111
110
110
109
107
105
104
104
103
103
103
103
102
102
101
101
101
101
101
101
101
101
98
96
95
95
95
95
94
93
93
93
93
93
93
93
93
93
92
92
92
92
92
92
92
91
91
91
91
91
91
91
91
91
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
91
91
92
92
93
93
94
94
94
95
95
96
96
97
98
98
99
100
107
108
108
109
109
110
110
110
111
111
112
112
114
114
114
116
116
117
119
119
119
119
119
119
119
119
120
121
121
121
121
121
122
123
123
123
124
124
124
124
124
123
123
122
121
121
121
121
119
117
116
115
114
114
114
113
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
115
115
115
115
115
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
116
116
116
115
115
115
115
114
113
113
113
113
113
112
112
112
112
112
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
111
111
111
111
111
111
111
111
111
111
111
111
111
111
110
110
110
110
109
109
109
109
108
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
106
106
106
106
106
106
106
106
106
106
106
106
105
105
105
105
105
105
105
105
105
105
105
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
105
105
105
105
106
106
106
106
106
106
106
106
106
107
107
107
107
108
109
110
110
110
111
112
113
114
114
114
114
114
115
115
115
116
116
116
117
117
120
120
121
123
123
124
124
124
124
125
126
127
128
128
128
129
130
130
130
130
131
133
134
134
134
134
135
137
137
137
138
138
138
139
139
140
142
142
142
144
144
145
146
148
150
151
151
150
150
149
149
149
149
147
146
146
146
142
129
128
126
129
132
140
141
143
141
139
135
133
133
133
133
133
133
133
132
132
131
131
130
130
130
131
131
131
132
132
133
133
133
133
133
133
133
133
133
133
133
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
133
133
133
132
132
131
131
131
130
130
130
129
126
121
120
119
116
115
114
113
113
113
113
112
112
112
112
112
112
112
111
111
111
111
111
110
110
110
110
109
109
109
108
108
108
108
107
107
107
107
106
106
106
105
105
105
105
105
105
105
105
105
105
105
105
105
104
104
104
104
104
104
104
103
103
103
103
103
103
103
103
103
103
103
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
103
103
103
103
103
103
103
103
103
103
103
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
108
108
108
108
109
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
109
109
109
109
109
109
109
109
108
108
108
108
108
108
108
107
107
107
107
107
107
107
107
106
106
106
106
106
106
106
106
106
105
105
105
105
104
104
104
104
104
104
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
104
104
104
105
105
105
106
106
106
106
106
106
107
107
107
107
107
108
108
108
108
108
108
109
109
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
111
111
111
111
111
111
111
111
112
112
112
112
112
112
112
112
112
111
111
111
111
111
111
111
111
111
111
111
111
111
110
110
110
110
110
110
110
110
110
110
110
110
110
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
108
108
108
107
107
106
106
106
106
106
106
105
105
105
105
105
104
104
104
104
104
103
103
103
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
103
103
103
100
99
99
99
99
99
99
97
95
95
95
94
94
94
94
93
93
92
92
91
91
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
93
93
93
93
93
93
93
93
93
94
94
94
94
94
94
94
95
95
95
95
95
95
96
96
96
96
96
96
96
96
96
96
96
97
97
97
97
97
97
97
97
97
97
96
96
96
95
95
95
95
95
95
95
94
94
94
94
94
94
93
93
93
93
93
93
93
92
92
92
91
91
90
90
90
90
90
90
90
90
90
90
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
91
91
91
91
91
91
91
91
91
91
90
90
90
90
90
89
89
88
88
88
87
86
86
86
86
86
86
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
87
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
89
89
89
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
90
91
91
91
91
91
91
91
91
91
90
90
90
90
89
89
88
88
88
88
87
87
86
85
85
85
84
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
81
81
81
81
81
81
81
81
81
81
80
80
80
80
80
80
80
80
80
80
80
80
80
80
81
82
82
83
83
85
85
85
85
85
85
85
85
86
86
86
86
86
86
87
87
87
87
88
88
88
89
89
89
90
90
90
90
91
91
91
91
91
91
91
91
91
91
91
91
91
90
90
87
87
87
87
87
86
86
86
85
84
83
83
83
83
83
83
82
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
80
80
80
80
80
80
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
80
80
79
79
78
78
76
76
76
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
74
74
74
74
73
73
73
73
73
73
73
75
75
75
75
75
75
76
76
76
74
76
77
77
78
79
81
81
82
82
83
83
83
84
84
84
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
85
85
85
85
85
85
85
85
85
85
85
85
86
86
87
87
87
87
88
88
89
89
89
88
85
85
85
84
83
81
80
79
78
77
76
76
76
76
75
75
74
74
73
73
73
73
72
72
72
71
71
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
72
72
72
72
72
72
73
73
73
74
74
74
74
75
75
76
76
76
76
76
77
77
77
77
77
77
77
77
77
77
78
78
78
78
78
78
78
78
77
77
77
77
76
76
76
76
76
75
75
75
75
75
75
75
75
75
75
75
75
74
74
74
74
73
73
73
73
73
72
72
72
72
71
71
71
70
70
70
69
68
68
68
68
68
68
68
68
68
68
68
67
67
67
67
67
67
67
67
67
67
67
67
67
67
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
67
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
67
67
67
67
67
67
67
67
67
67
66
66
66
66
66
66
69
71
73
74
75
77
77
77
76
76
75
74
74
73
72
72
71
71
70
70
70
70
69
69
69
68
68
68
68
67
67
67
67
67
67
66
66
66
65
64
64
63
63
63
63
63
63
63
63
63
63
63
63
63
64
64
64
64
64
64
64
64
65
65
65
66
66
66
67
67
67
67
66
65
65
64
64
64
65
65
66
66
66
66
67
67
67
68
68
69
69
69
70
70
70
71
72
72
72
73
75
76
77
77
77
77
78
78
78
79
79
79
80
81
86
88
89
89
89
89
89
90
90
90
90
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
91
91
91
90
90
90
90
90
90
90
90
90
90
89
89
88
87
86
85
83
83
82
81
81
80
79
79
78
77
77
76
75
75
74
73
73
72
71
71
71
71
70
69
68
66
64
64
63
63
62
62
71
74
75
75
76
78
80
83
86
88
88
88
89
90
90
91
91
91
93
93
95
96
97
98
99
99
99
99
99
99
99
99
100
100
100
101
101
102
102
103
103
104
104
105
105
105
105
105
104
104
104
104
104
104
103
103
103
103
103
103
102
102
102
101
101
100
100
100
100
100
100
99
99
99
99
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
99
100
100
100
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
100
100
100
100
100
100
100
100
99
99
99
99
99
99
99
98
98
98
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
91
89
87
85
81
80
80
79
79
77
76
75
75
75
74
74
73
73
72
69
66
65
65
64
63
63
62
58
55
55
55
55
55
55
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
57
57
57
57
57
57
57
56
56
56
56
56
56
56
56
56
56
56
56
55
55
55
55
55
55
55
55
55
55
55
55
54
54
54
54
54
54
55
56
56
56
56
56
56
57
57
57
58
58
58
59
60
61
61
61
62
62
62
62
62
62
63
64
64
65
66
66
66
66
66
66
66
67
68
69
69
70
70
71
73
74
74
75
76
76
76
76
77
78
78
78
79
81
81
82
82
82
82
82
83
84
85
85
85
86
86
86
86
86
86
86
86
86
87
87
87
87
88
89
89
89
88
88
88
88
88
88
87
87
87
86
86
86
86
85
85
85
85
85
84
84
84
83
83
83
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
81
80
79
78
77
76
76
73
73
70
69
69
67
66
64
63
62
62
62
61
61
61
60
60
59
59
58
56
55
55
55
55
54
53
50
50
49
49
49
49
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
51
51
51
51
51
51
51
51
51
51
51
50
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
48
48
48
48
48
48
48
48
48
48
48
48
48
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
49
49
49
49
50
50
50
51
51
51
51
51
52
52
52
52
52
52
53
53
53
54
54
55
55
55
55
55
55
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
56
56
56
56
56
56
56
56
56
56
56
56
55
55
55
55
55
55
55
55
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
53
53
53
53
53
53
53
53
53
53
53
53
53
53
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
51
50
50
50
50
50
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
49
49
48
48
48
48
48
48
48
48
48
48
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
52
52
52
54
54
55
56
57
58
59
59
59
61
61
61
62
63
63
63
63
64
64
65
65
65
65
65
66
66
67
67
67
68
68
69
69
69
71
71
72
73
75
75
78
80
81
81
82
82
82
82
83
83
83
83
84
84
84
84
84
84
85
85
86
86
86
86
87
87
88
88
88
88
90
90
90
91
91
92
92
92
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
92
92
92
92
92
91
91
91
91
91
91
91
91
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
89
88
86
80
80
80
78
76
75
74
73
71
71
70
69
71
73
73
75
75
75
75
76
76
76
76
76
76
76
76
76
76
77
78
79
79
80
81
82
82
82
83
83
85
85
85
85
86
86
86
86
85
85
85
85
84
84
83
83
82
82
81
81
80
80
80
79
79
79
79
79
79
79
78
78
78
78
78
78
78
78
78
78
78
79
79
79
79
79
80
80
80
80
80
80
80
81
81
81
82
83
83
83
83
84
84
84
84
84
85
85
86
86
87
88
88
88
89
90
90
90
90
92
93
93
94
94
95
96
96
96
96
96
96
96
96
96
96
96
96
96
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
96
96
96
96
96
96
97
97
97
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
99
100
100
101
101
101
101
101
102
102
102
102
102
102
103
103
103
103
103
103
103
103
104
104
104
104
104
104
104
104
104
105
106
107
107
107
107
107
107
108
108
108
108
108
108
109
109
110
110
111
111
111
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
113
114
114
114
114
114
114
115
116
117
119
119
120
120
121
122
122
122
122
121
121
121
121
121
120
120
119
119
118
118
116
116
115
115
115
115
113
113
112
112
112
112
111
111
111
111
111
110
110
110
110
110
109
109
109
109
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
109
104
103
102
99
95
93
90
86
86
85
85
85
83
80
80
79
79
78
78
78
78
77
76
74
74
74
75
76
78
79
80
81
82
82
84
85
85
85
85
85
85
85
86
86
87
87
87
88
88
88
88
89
89
89
90
90
91
92
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
92
89
88
84
84
83
83
83
82
82
79
78
76
75
75
74
73
72
70
69
68
68
66
63
62
61
61
60
60
58
58
56
55
55
54
52
51
51
51
51
51
50
50
50
50
50
49
49
48
48
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
46
46
46
46
46
45
45
45
44
44
44
44
44
44
43
43
43
43
43
42
42
42
42
42
41
41
41
41
41
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
44
44
44
44
44
44
44
44
44
45
45
46
46
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
47
47
47
47
47
47
47
46
46
46
46
46
45
45
45
45
45
45
46
46
46
48
49
49
49
50
52
53
53
53
53
54
54
54
54
54
55
55
55
55
54
54
54
54
54
53
53
52
51
50
50
50
49
49
49
49
48
48
47
46
46
45
45
44
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
49
49
50
51
51
52
52
52
53
54
56
56
56
58
58
59
59
60
60
60
61
61
61
64
65
65
64
64
61
59
59
59
56
55
54
53
51
50
47
47
47
47
47
47
47
47
47
47
47
47
47
49
49
49
49
50
50
51
52
52
52
52
52
53
53
53
53
53
54
55
55
55
55
55
54
54
54
54
54
54
54
54
54
54
53
53
52
52
52
52
51
51
50
50
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
49
50
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
54
54
54
54
55
55
55
55
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
59
59
59
59
59
59
59
59
59
59
59
59
59
58
58
58
58
58
58
57
57
57
57
57
57
57
57
57
56
56
56
56
56
56
55
55
55
55
54
54
54
54
54
53
53
53
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
55
55
55
55
55
55
56
56
56
56
58
59
59
60
61
62
62
62
64
64
65
67
71
71
71
71
72
72
72
72
72
72
72
73
73
73
77
77
78
78
78
78
78
77
77
76
76
76
76
76
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
76
77
77
78
78
78
79
80
80
80
82
82
82
84
84
84
86
86
87
87
89
90
90
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
91
88
87
84
84
82
81
79
78
76
74
73
73
71
70
69
68
67
67
67
66
66
66
65
65
65
65
65
65
65
65
64
64
64
64
64
63
63
63
63
63
62
62
61
61
60
60
60
60
60
59
59
59
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
61
61
61
61
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
63
64
64
65
66
66
66
67
67
68
68
68
69
69
69
70
70
70
74
74
74
76
76
76
76
76
76
76
76
76
76
76
75
75
75
75
75
75
78
78
85
86
87
88
90
91
92
95
95
95
97
98
99
100
100
100
101
102
103
103
103
103
102
102
102
102
102
101
101
100
100
100
99
99
98
98
97
96
95
92
89
87
86
85
85
85
84
79
78
77
74
73
73
72
72
72
71
70
69
68
68
67
67
67
66
66
66
66
67
67
67
67
67
67
68
68
68
68
69
69
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
73
73
73
71
71
71
71
71
71
71
70
69
68
68
66
66
66
66
66
67
67
68
70
71
72
75
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
77
77
81
82
82
82
82
83
83
84
84
84
86
86
87
89
90
91
93
96
97
100
101
102
102
104
104
104
105
105
106
106
107
107
108
109
109
110
110
110
111
111
112
112
112
112
113
113
113
114
114
114
115
115
115
115
116
116
116
116
117
117
118
118
118
118
118
119
120
120
120
120
121
121
121
122
122
122
123
123
124
124
125
125
126
126
127
127
127
128
128
130
130
131
131
131
131
131
131
131
132
132
132
132
132
132
132
132
132
132
133
133
133
133
133
133
133
134
134
134
134
134
134
134
134
134
134
134
134
135
135
135
136
136
136
136
136
136
136
136
136
137
137
137
137
138
139
139
139
139
140
140
141
141
141
142
142
142
142
142
142
142
142
142
142
142
140
140
140
140
139
139
138
137
136
136
136
136
136
136
136
136
136
136
136
136
136
135
135
135
135
135
135
135
134
134
134
134
133
132
131
131
131
131
131
131
131
132
132
132
132
132
132
132
132
132
132
132
132
133
133
133
133
133
133
133
133
134
134
134
134
135
135
135
136
136
136
136
136
136
137
137
137
137
137
137
138
138
138
138
138
138
138
139
139
140
140
140
140
140
140
140
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
140
140
139
139
139
139
139
138
138
138
138
138
138
138
138
137
137
137
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
137
138
138
138
138
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
141
141
142
142
142
141
141
141
140
140
139
139
139
138
138
138
137
137
136
135
135
135
134
134
133
133
133
132
132
132
131
131
130
130
129
129
129
129
129
128
128
128
127
126
126
125
125
124
124
124
123
123
123
123
123
122
122
122
121
121
121
120
120
119
118
117
118
118
119
120
120
121
121
121
122
122
125
125
128
129
130
130
135
135
139
135
133
132
132
131
130
129
128
128
127
125
123
122
121
118
117
117
116
114
114
113
113
113
112
111
109
108
108
108
108
107
106
104
104
103
103
103
103
103
102
102
102
101
101
101
100
99
99
99
98
98
97
97
97
98
99
103
104
105
107
108
110
111
111
113
114
115
116
116
118
118
118
119
120
120
121
123
123
124
125
125
126
127
127
130
131
132
132
134
135
137
137
136
136
134
133
130
129
128
128
124
123
122
119
119
118
117
117
114
114
114
114
114
115
115
115
117
117
118
120
121
122
122
124
124
124
124
124
124
124
124
124
124
123
123
123
123
123
122
122
122
122
122
122
122
122
122
122
122
122
122
123
124
124
124
125
125
125
126
126
126
126
126
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
125
125
125
125
125
125
125
125
125
125
125
124
124
124
124
124
124
124
124
124
123
123
123
122
122
121
121
120
119
119
119
119
118
118
118
118
117
117
117
116
116
116
115
115
114
114
114
114
113
111
111
110
110
109
108
108
109
110
110
112
113
115
115
115
116
116
118
118
118
119
120
120
120
120
120
121
121
121
122
123
125
125
125
126
128
130
131
131
132
133
133
134
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
138
140
140
140
140
140
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
141
142
142
142
142
142
143
143
143
143
143
143
144
144
144
145
146
147
147
149
150
151
151
151
151
151
151
151
151
151
151
151
150
150
150
150
150
150
150
149
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
146
146
146
146
145
144
143
142
141
140
140
139
139
138
137
137
136
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
137
137
137
137
137
137
137
136
136
136
134
134
133
133
133
132
132
131
131
130
130
129
128
127
127
126
127
128
129
130
130
131
132
132
132
132
133
133
133
134
135
135
136
136
137
137
137
137
137
137
137
137
137
137
137
137
137
136
136
136
135
135
135
134
134
134
133
131
131
130
130
130
129
128
127
127
126
125
125
125
124
124
124
123
122
122
122
121
121
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
120
121
121
123
123
123
123
124
124
124
124
124
124
124
124
124
124
124
124
125
125
125
125
126
126
126
126
126
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
130
131
131
131
131
131
136
138
140
143
144
146
148
149
150
151
152
152
153
153
153
154
154
156
156
157
158
159
160
161
162
162
162
162
162
161
161
161
160
160
160
160
160
159
159
158
157
157
156
156
155
154
154
154
153
151
148
144
142
142
141
138
138
138
136
136
136
135
134
134
134
133
133
133
133
133
133
133
133
133
132
132
131
130
126
123
122
122
121
121
120
120
119
118
118
117
117
117
117
115
113
111
111
111
111
112
112
113
114
115
115
115
115
117
117
118
118
119
119
120
120
120
121
122
122
123
124
124
124
124
124
124
125
125
125
126
126
127
127
128
128
129
129
129
131
131
131
132
132
133
133
133
134
134
135
135
135
135
135
135
136
136
137
137
137
136
136
135
133
132
130
129
126
125
122
120
117
117
117
117
117
116
116
116
116
116
116
115
115
115
115
115
115
115
115
115
114
114
113
113
113
112
112
111
110
110
109
109
108
108
108
108
108
108
107
107
107
106
106
105
105
105
103
103
103
104
109
109
109
103
102
101
95
93
93
89
88
86
86
86
86
85
82
81
80
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
78
78
77
76
75
74
73
72
72
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
72
72
72
72
73
73
73
74
74
74
74
74
75
75
75
76
77
78
78
78
78
79
80
80
80
80
81
81
81
81
80
79
76
76
75
74
74
74
74
72
71
68
65
63
63
62
61
61
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
61
61
61
62
62
62
62
63
63
63
63
63
63
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
67
69
69
70
72
72
73
74
75
75
75
76
76
77
77
77
78
78
79
79
79
80
81
82
85
86
87
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
89
89
90
90
91
91
93
93
94
95
95
96
97
97
98
101
102
102
103
103
104
104
105
105
106
106
107
107
107
107
107
106
105
105
105
104
102
101
101
100
99
98
98
98
97
97
97
97
96
95
94
94
92
91
87
86
85
83
82
81
80
79
78
78
77
76
76
76
75
75
74
73
72
72
72
71
71
70
70
70
69
69
68
67
67
67
66
66
66
66
65
65
64
63
63
63
62
62
59
59
58
58
57
54
54
53
52
52
50
48
48
46
46
43
44
44
45
47
48
48
50
51
52
53
53
54
54
55
65
65
66
66
67
68
70
71
71
71
71
71
71
71
71
70
70
70
69
69
69
69
68
67
67
67
68
79
79
79
80
80
80
80
81
81
81
81
82
82
82
83
84
84
91
91
92
93
95
97
99
105
106
106
105
102
102
101
94
93
88
88
88
88
88
89
89
89
89
92
92
83
82
67
61
52
49
48
48
47
39
38
38
38
38
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
36
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
38
38
38
39
39
39
39
39
39
39
39
39
40
40
40
41
42
43
43
44
44
44
46
46
47
49
50
51
51
51
50
49
49
48
48
47
47
46
46
46
45
45
44
44
43
43
42
42
42
42
41
41
41
41
41
40
40
40
39
38
38
37
36
36
35
35
34
34
33
33
32
32
35
37
38
38
39
41
42
43
43
44
44
45
45
48
54
56
57
57
58
60
61
64
65
80
81
82
84
85
88
89
90
91
92
93
93
94
95
95
96
98
100
100
101
101
101
103
104
104
103
103
102
100
99
98
96
96
94
93
90
89
88
87
86
85
85
83
83
82
81
80
80
77
74
74
72
71
70
70
70
70
69
69
69
68
67
67
66
66
66
65
65
61
61
60
59
55
54
52
48
45
44
43
37
36
36
34
33
33
33
34
34
36
37
38
39
40
40
40
40
41
42
42
43
44
44
45
45
46
48
48
50
51
52
53
54
59
60
61
63
63
63
61
60
59
59
58
57
54
54
52
51
51
50
49
49
49
48
48
48
48
48
48
48
47
44
44
40
39
39
37
36
36
34
34
34
33
33
33
29
29
26
26
26
27
27
28
28
30
31
31
32
33
37
38
38
38
38
38
38
38
39
39
41
41
43
45
46
49
50
51
52
52
52
53
53
53
53
53
53
53
54
55
55
55
56
56
56
57
58
58
58
58
59
59
60
60
61
61
61
61
61
61
61
61
61
61
61
61
62
62
62
62
62
62
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
64
64
64
64
65
65
66
67
67
67
68
68
68
68
69
70
70
71
71
71
71
72
72
72
72
73
73
73
73
73
73
72
72
72
71
71
71
70
70
70
70
70
68
68
67
67
67
66
66
66
64
63
60
60
59
58
58
58
57
56
56
55
55
52
52
50
48
47
45
44
44
43
43
43
43
44
45
45
46
46
47
48
48
48
48
48
49
49
49
49
49
49
49
50
50
51
52
53
54
52
47
46
45
41
40
37
36
35
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
22
22
22
22
21
21
21
21
21
20
20
20
20
19
19
19
19
19
19
19
19
19
19
19
20
20
22
22
24
26
26
26
26
27
27
27
27
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
30
31
31
32
32
32
33
33
35
35
36
36
36
37
37
37
37
38
38
38
39
39
40
41
41
42
44
45
47
48
49
50
51
52
54
58
58
60
65
67
70
82
85
85
85
85
85
85
85
84
84
84
84
84
84
84
84
84
85
85
86
88
88
89
89
90
90
91
92
94
95
95
97
99
102
104
104
105
105
105
106
107
108
108
108
108
109
109
109
110
110
111
113
115
117
119
120
122
125
123
122
121
119
117
114
112
109
106
102
101
100
99
98
96
94
92
90
87
85
82
79
77
76
74
73
71
69
68
67
67
66
65
65
64
62
62
60
59
59
58
57
56
55
54
53
53
52
52
52
52
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
53
53
54
54
54
54
54
54
54
54
54
55
55
55
55
55
56
56
57
57
58
58
58
59
58
57
56
54
53
52
52
52
51
50
49
47
46
46
47
48
49
50
52
52
55
58
60
61
62
64
66
68
68
69
70
70
71
71
73
74
74
74
75
75
76
76
76
76
78
78
78
78
79
79
79
80
80
80
80
80
81
81
81
81
81
82
82
82
82
82
82
83
83
83
83
83
83
83
83
83
83
83
84
84
84
84
84
84
85
86
87
88
89
90
91
91
92
92
92
93
93
93
93
93
93
92
92
91
91
90
90
89
89
89
89
88
88
88
88
87
87
87
86
86
86
86
86
86
86
87
87
87
87
87
87
88
89
90
91
91
91
92
92
93
94
95
95
95
95
95
95
95
95
95
95
96
98
98
98
101
103
105
106
106
107
109
114
116
117
118
120
120
118
117
116
113
112
111
110
109
108
107
106
105
105
104
103
103
103
103
103
103
101
100
99
98
96
94
93
93
93
91
90
89
88
86
86
85
84
82
81
80
79
78
76
76
76
76
76
77
77
77
77
77
77
77
78
78
79
80
80
80
80
80
80
80
82
82
82
83
83
84
84
84
85
86
88
88
89
89
89
90
90
90
91
91
91
92
92
92
92
92
91
91
91
90
90
90
91
92
93
94
96
97
99
104
104
105
106
107
109
109
110
110
110
110
110
111
111
111
111
112
112
112
112
111
110
110
109
105
104
103
101
100
98
97
96
94
92
90
89
89
93
94
97
98
99
101
104
108
109
111
111
111
112
113
113
114
115
117
119
119
120
121
120
119
119
119
119
118
118
117
117
117
116
116
115
115
115
114
114
113
113
112
112
112
112
111
110
110
110
109
109
109
108
108
107
107
107
107
107
106
106
106
105
105
104
103
102
102
102
102
102
102
101
100
96
96
96
95
95
95
94
94
94
93
93
93
92
91
91
90
90
90
88
87
85
84
84
84
83
83
83
82
82
82
82
82
81
81
81
80
80
79
77
77
76
76
75
74
74
73
72
71
71
70
69
68
68
67
66
65
62
61
61
60
60
60
59
59
58
58
58
57
57
56
56
56
56
57
58
59
59
59
60
60
62
62
64
64
66
67
68
69
72
72
73
74
75
76
77
79
79
79
80
80
80
81
81
80
79
79
78
78
78
78
77
77
76
75
75
75
75
73
73
73
72
71
71
71
71
72
72
72
73
73
73
74
75
75
75
75
76
76
77
78
79
79
80
83
84
86
87
90
90
90
90
90
90
91
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
92
92
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
92
92
91
91
90
89
89
88
88
87
86
83
83
82
82
81
80
80
78
78
77
76
76
75
75
74
74
74
74
74
74
74
74
73
72
71
70
70
70
69
69
69
69
68
68
68
67
67
67
67
67
66
66
66
65
65
65
65
64
64
64
63
63
63
63
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
61
61
61
61
61
61
61
61
61
60
60
60
59
59
59
58
58
58
58
57
57
56
56
56
56
55
55
54
53
52
52
49
49
48
47
45
45
44
44
44
43
46
49
51
53
58
61
71
70
69
69
68
67
67
67
66
66
65
65
64
64
63
62
62
60
60
56
56
55
55
55
54
52
51
51
50
44
43
42
41
39
38
38
37
35
31
31
31
32
34
34
37
37
37
38
38
39
39
40
40
40
40
41
41
41
42
44
45
46
46
47
47
47
47
48
51
51
52
53
53
54
54
55
55
57
57
58
59
59
59
60
61
62
63
63
63
64
64
64
64
64
63
63
63
61
61
61
61
59
59
59
59
59
59
58
57
57
57
57
55
55
55
55
54
54
53
53
52
52
52
52
51
51
51
51
51
51
51
51
50
50
48
48
47
45
45
45
43
43
42
42
42
41
41
41
41
40
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
37
37
37
37
36
36
36
35
35
34
34
34
34
34
33
32
32
31
30
30
29
29
29
29
29
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
30
31
31
31
32
33
33
33
34
34
34
34
35
35
36
36
36
37
37
37
37
37
38
38
39
39
40
40
40
41
41
41
41
42
42
42
42
43
43
43
44
44
44
44
44
44
45
45
45
45
45
45
46
46
46
46
47
47
47
48
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
48
48
48
48
48
48
48
48
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
47
46
42
42
41
40
39
37
34
34
33
32
31
30
29
29
26
25
24
24
22
22
21
15
11
10
10
10
10
10
10
10
10
10
11
12
13
14
20
21
21
21
23
24
24
24
20
18
17
17
16
15
14
13
13
11
10
9
9
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
8
8
8
8
8
9
9
9
9
9
9
9
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
14
14
14
15
15
15
16
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
19
20
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
24
25
25
25
25
25
24
23
22
22
22
21
20
19
18
18
18
18
18
18
18
18
18
18
17
15
15
14
13
13
13
10
10
10
10
10
10
10
10
9
9
8
7
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
1
2
2
2
2
3
3
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
8
8
8
8
9
9
9
9
10
10
10
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
17
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
16
16
16
16
16
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
27
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
27
27
27
27
27
27
27
26
26
26
26
26
25
25
25
25
25
25
25
24
24
24
24
24
24
24
24
24
24
24
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
26
26
27
27
28
28
28
29
29
29
29
29
29
29
29
29
29
31
33
33
35
36
37
37
37
38
38
38
39
40
40
41
41
42
42
42
42
43
43
43
44
45
45
47
48
50
51
52
53
53
53
53
53
54
54
54
54
54
54
54
55
55
55
55
54
54
54
54
54
54
53
53
53
52
52
52
52
52
52
52
52
51
51
51
51
50
50
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
50
50
51
51
51
51
51
52
52
52
53
53
54
54
54
55
55
56
56
56
57
59
59
60
60
60
60
61
61
61
61
61
58
56
56
56
56
56
56
56
56
56
57
57
57
58
58
58
58
58
58
59
59
59
59
59
59
60
60
60
60
60
61
62
62
63
63
64
64
65
65
65
65
65
65
65
65
65
65
69
69
69
68
67
66
65
65
65
65
65
65
65
65
65
65
65
68
69
69
69
69
69
69
70
71
71
71
72
72
72
72
72
72
72
72
72
72
72
72
72
72
69
68
66
65
65
65
65
70
71
71
72
72
73
73
73
73
73
73
72
72
71
70
70
69
69
69
68
67
67
65
65
64
63
61
57
57
56
56
54
54
54
54
53
53
53
53
52
52
52
52
52
52
52
53
53
54
54
55
56
57
57
59
56
56
47
47
46
46
46
46
45
45
45
45
45
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
45
45
46
46
46
46
46
46
46
46
46
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
50
51
51
52
52
52
52
53
54
54
55
55
55
56
59
59
60
60
60
60
60
60
60
60
60
60
59
59
59
59
59
59
59
59
58
58
61
61
61
61
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
62
62
62
62
62
62
62
62
62
62
62
62
65
67
67
67
67
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
67
67
67
67
67
68
69
69
69
70
70
73
74
74
74
73
73
73
73
73
73
72
71
71
71
71
70
70
70
69
69
69
69
69
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
69
69
69
70
70
70
70
70
71
71
71
71
71
71
71
71
71
72
72
72
73
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
75
75
75
75
75
77
77
77
77
77
77
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
76
76
76
76
76
76
76
78
78
78
78
78
78
78
78
79
79
79
79
79
77
77
77
76
76
76
76
76
76
76
75
75
75
75
74
74
74
74
74
71
71
70
70
70
70
70
70
70
70
70
70
70
70
69
69
69
69
69
69
68
68
68
68
68
68
68
68
69
70
70
71
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
74
74
74
75
75
77
77
77
78
78
78
78
78
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
81
81
81
81
81
81
82
82
82
82
82
83
83
84
84
85
85
89
89
89
89
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
86
80
78
76
75
71
71
71
68
63
63
63
63
63
63
63
63
64
64
64
64
65
65
65
65
66
66
66
66
66
66
67
67
67
67
67
68
69
69
69
69
70
71
71
71
71
71
71
71
71
71
72
73
73
74
74
73
73
73
72
72
71
71
68
67
66
65
64
63
61
60
59
58
58
57
57
55
55
55
54
53
53
53
52
52
51
51
50
49
49
48
47
46
45
43
43
43
43
43
43
43
42
41
40
39
39
38
36
36
36
36
35
35
35
35
34
34
34
34
34
33
29
29
28
26
25
23
23
22
21
21
20
20
19
19
19
18
18
18
17
17
17
17
17
17
17
17
17
16
16
16
16
16
16
15
15
15
15
15
14
13
13
13
13
12
12
12
12
12
11
11
11
10
10
9
9
9
9
9
9
9
10
10
11
11
11
12
12
13
14
15
15
15
15
15
15
16
17
17
18
18
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
23
25
27
28
30
31
32
33
38
39
40
51
52
51
42
41
39
38
35
33
32
31
30
28
27
25
25
25
24
23
23
23
23
23
23
23
23
23
23
23
23
22
22
21
20
19
18
18
12
12
13
13
13
14
14
14
14
14
14
14
14
10
8
7
7
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
10
10
10
11
11
11
12
13
13
13
13
14
14
14
14
14
14
14
14
14
12
9
8
6
6
7
7
9
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
12
12
12
11
11
11
11
10
10
10
10
10
9
9
9
9
9
8
8
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
11
11
11
11
11
11
10
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
4
2
2
2
2
2
2
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
4
4
4
4
5
5
5
6
6
6
6
6
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
11
11
11
11
12
13
13
13
14
14
14
17
18
20
21
21
22
24
25
25
26
27
27
28
28
30
30
30
31
33
33
34
35
36
37
37
39
39
40
41
41
41
43
43
45
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
44
44
43
43
43
43
43
43
43
42
42
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
44
44
44
45
45
45
46
46
46
47
47
48
49
50
50
51
52
53
53
53
53
53
53
54
54
54
54
56
56
56
57
58
59
59
59
60
60
61
61
61
62
62
62
61
61
61
60
60
60
60
59
59
59
59
58
58
58
58
58
58
57
57
57
57
57
56
56
56
56
56
56
56
55
55
55
54
54
54
53
53
53
53
53
53
52
52
52
52
51
51
51
51
50
49
48
47
47
46
45
44
44
44
42
42
42
42
42
42
41
41
41
41
41
40
40
37
37
37
36
36
36
33
31
29
27
27
26
26
26
25
25
25
24
24
23
23
23
23
23
23
24
24
25
27
28
29
29
29
31
34
34
35
35
36
36
36
37
37
37
38
38
38
39
39
40
40
50
52
53
53
54
54
54
54
55
56
59
60
61
63
64
65
66
67
71
74
74
73
73
72
72
71
71
71
70
69
68
67
67
66
65
64
64
62
61
60
60
59
58
57
57
56
55
55
55
54
53
53
52
51
51
50
50
49
49
49
49
48
48
47
46
45
43
39
39
38
36
34
34
33
32
32
28
28
28
26
26
25
25
25
24
24
23
23
23
22
16
16
12
11
12
12
12
13
14
15
16
17
17
17
17
17
17
17
17
17
17
18
19
20
21
21
23
25
25
25
26
26
26
26
26
26
26
27
27
27
27
28
28
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
29
29
29
26
22
19
17
17
16
15
15
14
13
12
11
11
11
11
10
9
9
8
8
8
9
10
10
10
10
11
13
13
13
14
14
14
15
15
16
16
16
16
17
17
17
18
18
18
19
19
19
19
20
20
20
21
21
22
22
23
23
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
23
20
20
20
20
20
19
19
19
19
18
17
16
16
16
15
15
15
15
14
13
12
12
12
11
11
10
9
9
9
9
8
7
7
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
8
8
8
9
9
10
10
10
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
11
11
11
11
11
11
11
11
10
9
9
9
9
11
12
12
12
13
13
15
16
16
17
18
18
19
19
21
24
25
26
28
29
29
30
30
32
33
33
34
34
34
35
35
36
36
38
39
41
41
42
43
43
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
44
44
43
43
43
43
43
43
43
43
42
42
41
41
41
40
39
39
39
39
39
39
38
38
38
38
38
37
37
37
37
37
37
37
37
37
36
36
36
35
35
34
34
33
33
33
33
32
32
31
31
30
30
30
29
29
29
28
28
27
27
27
27
26
26
25
25
25
25
24
24
24
24
24
23
23
22
20
20
20
20
19
18
18
18
18
17
17
17
17
17
17
17
17
17
16
16
15
14
14
13
13
12
12
11
11
11
10
10
9
9
9
9
8
7
5
5
5
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
4
5
5
7
9
9
9
9
9
10
10
10
10
10
10
11
11
11
12
13
13
13
13
13
13
14
14
14
15
16
16
16
16
16
17
17
17
17
18
18
18
18
19
21
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
22
22
22
22
21
21
21
21
20
20
20
20
20
20
20
20
20
20
20
20
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
18
18
17
17
17
17
16
16
16
16
16
16
16
16
15
15
15
15
15
15
14
14
14
14
15
17
18
20
20
21
22
22
23
24
24
24
24
24
25
25
25
26
26
27
27
28
29
30
31
31
32
32
33
33
34
34
34
35
35
36
36
37
37
38
38
38
39
39
39
40
41
42
42
43
43
43
43
44
45
45
45
46
47
47
47
48
48
48
49
49
49
50
50
50
50
50
51
51
52
52
53
54
54
54
55
58
58
59
59
60
60
61
62
63
63
63
63
63
62
62
62
61
61
61
61
61
61
60
60
60
60
60
59
59
58
58
57
57
57
56
56
55
54
54
54
53
53
52
51
51
50
50
49
49
48
48
47
46
46
45
44
42
41
39
39
38
38
38
38
37
34
31
31
30
30
29
29
29
29
29
28
25
22
20
19
19
18
18
15
14
14
14
14
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
21
21
21
22
22
23
25
25
26
26
26
26
26
27
28
29
30
31
33
34
34
34
33
33
31
31
30
30
30
29
29
29
29
29
29
29
29
28
28
28
28
27
26
26
26
25
25
25
25
25
25
25
25
25
25
24
24
24
23
23
22
22
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
20
20
19
19
19
19
19
19
19
18
17
17
17
17
17
17
16
16
16
16
16
16
16
13
13
12
12
11
11
10
10
10
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
17
17
18
18
18
18
18
18
19
19
19
19
19
20
20
21
22
22
23
23
23
23
24
24
24
24
25
25
26
26
26
27
27
28
28
28
29
29
29
30
30
30
31
32
32
32
33
34
34
34
35
35
35
36
36
36
36
37
37
37
38
39
41
43
44
44
45
48
49
50
52
54
56
58
63
64
65
68
72
75
76
79
80
81
83
87
89
90
92
93
94
102
104
105
107
109
111
113
115
117
117
119
121
122
125
126
127
128
134
136
136
138
143
145
146
147
149
150
151
151
152
152
153
153
155
156
156
160
160
161
163
164
164
164
166
167
167
168
169
170
171
171
172
173
174
174
175
176
176
177
178
178
179
180
180
181
182
185
188
189
190
192
193
194
195
195
196
193
191
189
186
182
181
177
175
172
170
169
166
165
160
159
154
151
148
144
143
141
139
137
136
135
133
132
131
129
128
125
123
121
119
117
115
114
113
112
111
110
110
110
107
106
105
104
104
103
103
103
102
102
101
101
99
99
98
97
96
94
94
93
93
91
91
89
89
88
87
86
86
86
85
84
83
82
81
80
77
74
72
70
68
68
67
65
64
63
61
59
57
55
54
54
53
53
52
52
52
51
50
49
48
47
47
47
46
46
45
45
44
43
42
41
40
40
39
39
39
39
38
37
36
35
35
33
32
32
31
29
28
27
27
25
25
24
23
22
20
20
19
18
15
14
14
14
13
13
12
11
9
7
6
6
5
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
5
8
12
17
20
22
25
28
30
37
39
44
47
49
50
51
53
54
57
59
61
62
64
66
69
73
75
78
79
81
83
91
96
98
100
101
99
94
91
89
88
85
83
79
78
76
73
73
72
71
69
68
66
65
64
63
62
61
60
58
56
55
51
50
47
43
42
41
38
36
35
33
33
32
31
30
29
28
27
26
24
23
22
19
17
14
11
10
10
9
8
6
6
6
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
13
13
14
14
14
16
16
16
17
17
18
18
19
19
19
19
20
20
21
21
23
23
23
24
24
27
29
30
32
34
35
35
36
37
37
38
39
41
43
43
43
43
44
44
44
44
44
45
45
45
45
46
47
48
49
50
51
53
54
55
57
57
57
58
58
59
59
60
61
62
63
64
64
66
69
71
72
73
74
74
75
75
76
77
78
80
84
86
87
88
89
89
90
91
92
92
93
94
95
95
95
96
98
98
98
99
99
101
101
103
103
103
103
104
104
104
105
107
109
110
110
110
111
111
111
111
113
114
114
114
114
114
115
115
115
116
118
118
118
118
119
119
120
120
120
121
121
121
121
121
122
122
123
123
124
124
124
124
125
125
125
126
126
126
126
126
126
127
127
127
127
127
128
128
129
131
132
132
130
130
127
124
123
123
122
122
121
121
117
116
112
111
109
107
105
101
100
99
99
98
97
96
96
95
94
93
91
90
89
88
86
84
82
81
80
80
79
78
76
76
75
74
74
69
68
61
60
60
58
57
54
53
52
51
50
48
48
48
48
47
47
46
46
46
46
46
45
45
45
45
45
44
44
44
44
44
43
43
43
42
42
41
41
40
40
40
40
40
40
39
39
39
39
39
39
38
38
38
38
38
37
37
37
36
35
33
32
32
32
31
31
30
30
29
28
27
26
25
25
23
23
22
21
20
20
20
21
22
22
22
23
24
24
24
25
25
26
27
28
30
30
31
31
32
33
33
34
34
35
36
36
37
38
41
41
41
41
42
42
42
42
43
44
45
45
45
46
46
47
48
48
49
49
50
50
50
52
52
53
54
54
54
54
53
53
52
52
51
51
49
48
48
47
47
47
47
46
45
44
44
43
43
42
42
41
41
42
43
43
44
44
45
45
45
46
46
47
47
47
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
50
51
51
51
51
52
52
52
52
52
52
52
52
53
53
53
53
54
54
54
54
55
55
55
55
55
55
55
55
55
56
56
56
56
56
57
57
57
57
57
58
58
58
58
58
58
58
59
59
59
60
60
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
60
60
60
60
60
60
60
60
60
61
61
62
62
62
62
63
64
64
64
64
65
65
66
66
67
68
68
68
68
69
69
69
69
69
69
70
70
70
70
70
70
71
71
71
72
72
72
73
74
74
74
74
75
76
76
76
77
77
77
77
77
78
79
79
79
79
78
78
78
78
77
77
77
77
76
76
76
76
76
75
75
75
75
74
74
74
74
74
74
73
73
73
73
73
73
73
72
72
72
72
72
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
73
73
74
74
74
74
74
75
75
75
75
75
76
76
77
77
77
78
78
78
78
79
79
79
80
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
81
81
81
82
82
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
84
84
85
85
85
85
85
85
85
85
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
89
89
89
89
90
90
90
90
90
91
91
91
91
91
92
92
92
92
92
92
93
93
93
94
94
94
94
94
94
94
94
94
94
94
94
95
95
95
95
95
96
96
96
96
96
96
96
96
96
97
97
97
98
99
99
99
100
100
101
103
103
107
107
108
108
109
109
110
111
111
111
113
113
113
113
113
114
114
114
115
116
117
119
119
120
120
120
120
120
120
120
120
121
121
124
124
125
127
127
127
127
127
128
128
128
128
129
129
129
129
130
133
133
133
133
134
134
134
135
135
135
136
136
136
137
137
137
137
137
138
138
139
139
141
142
144
144
145
145
145
145
146
147
147
148
148
148
149
150
150
151
151
153
154
154
155
156
161
162
163
164
164
168
168
172
173
174
175
175
179
180
181
182
188
189
190
195
199
202
204
206
210
228
233
263
267
292
297
300
304
308
315
317
319
330
334
337
340
343
348
352
353
356
361
366
369
372
374
375
376
379
380
382
384
385
385
387
388
389
390
397
398
398
399
402
404
405
406
407
409
411
411
409
409
408
405
404
403
401
398
397
394
388
387
386
386
385
384
384
383
382
381
381
381
380
380
377
376
375
375
374
373
371
371
369
368
365
363
363
361
360
359
358
357
353
351
350
349
348
348
345
344
344
342
340
338
338
336
335
334
334
330
329
328
327
326
321
315
314
310
307
305
304
301
294
291
288
285
278
274
269
264
262
260
252
250
249
247
245
242
240
235
233
232
228
226
222
218
216
214
212
209
205
199
193
187
184
181
177
169
161
150
146
143
139
137
135
135
134
134
133
133
132
132
131
131
130
130
130
129
129
128
128
127
126
126
125
125
124
124
123
122
121
120
120
119
118
118
118
117
115
112
111
110
109
109
108
107
106
105
105
104
102
100
100
98
98
97
97
96
96
95
95
95
94
92
92
91
90
90
90
88
87
86
84
84
83
83
82
82
82
81
77
76
76
75
75
74
74
73
73
71
71
71
70
69
69
68
68
67
66
66
65
64
63
63
63
63
63
63
63
63
64
64
64
64
64
64
65
65
65
65
65
65
66
66
66
67
67
67
67
68
68
68
68
68
68
68
69
69
69
69
69
70
70
70
70
70
70
71
71
71
72
72
72
72
72
72
73
73
73
73
73
73
73
74
74
76
76
77
77
77
77
77
78
78
79
79
79
79
80
81
82
84
85
85
85
85
85
85
86
86
86
87
87
88
88
88
89
89
89
90
92
92
93
93
93
95
96
97
98
99
100
100
100
101
101
101
102
103
104
104
104
105
105
106
106
108
109
110
110
111
111
113
113
114
114
114
114
114
115
115
116
116
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
120
120
120
121
122
122
123
123
123
124
124
124
124
125
125
126
126
126
127
127
127
128
128
129
129
129
129
130
130
130
130
131
131
131
132
132
133
133
133
133
133
134
134
134
134
134
134
135
136
136
137
137
137
137
138
138
138
138
138
138
139
139
140
140
140
141
141
141
144
144
144
145
145
145
146
147
148
148
149
150
151
153
154
155
155
157
157
159
160
161
162
162
163
165
167
169
171
173
174
175
175
175
175
175
176
176
176
177
177
178
179
180
181
181
182
182
183
184
185
186
186
186
187
187
188
189
189
192
193
194
194
196
197
197
199
199
201
205
206
209
210
211
211
213
214
215
218
219
221
223
224
225
226
227
228
230
231
233
235
236
238
239
239
240
240
243
245
245
246
247
248
249
255
257
259
260
261
261
262
264
265
266
267
272
273
274
275
275
275
274
274
273
273
272
271
271
271
270
269
268
267
266
266
264
263
259
258
257
257
256
256
255
254
253
253
252
251
251
250
248
248
247
247
246
246
245
244
243
242
242
241
240
240
239
239
238
238
237
236
236
235
234
232
232
231
231
229
229
229
229
228
228
228
228
228
228
228
227
227
227
227
227
227
226
226
226
226
226
225
225
225
225
225
225
224
224
224
224
223
223
223
223
222
222
222
221
221
220
220
219
219
219
215
214
214
212
210
210
208
207
207
206
205
203
203
203
203
203
201
201
200
200
200
199
199
199
198
197
195
195
194
193
192
191
190
189
188
187
186
185
183
182
182
181
181
180
177
177
176
175
175
174
173
172
172
171
170
169
167
165
164
161
161
161
160
160
159
158
158
157
156
156
153
150
149
148
148
148
148
147
147
146
145
145
144
143
143
142
141
141
141
141
141
140
140
140
140
140
139
139
139
139
138
138
138
138
138
138
138
137
137
136
136
136
136
136
136
135
135
135
135
135
135
135
134
133
133
133
132
132
132
132
132
131
131
130
130
130
130
130
129
129
129
129
129
128
128
128
128
128
127
126
126
126
126
126
126
125
125
124
123
122
122
122
122
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
120
120
119
119
119
119
119
118
118
118
118
118
118
118
118
118
118
117
116
114
113
113
113
113
113
113
113
112
111
111
110
110
110
109
109
109
109
108
108
108
108
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
105
105
105
104
103
103
103
103
103
103
102
102
101
100
100
99
99
98
97
96
96
95
95
95
95
94
94
94
94
94
94
93
92
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
88
88
88
87
86
85
85
84
84
83
83
83
83
83
83
83
83
83
83
83
83
82
82
82
82
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
80
80
80
80
80
80
80
79
77
76
76
76
76
76
76
76
76
75
75
74
73
73
72
72
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
72
73
74
74
74
75
75
75
76
77
78
79
80
80
80
80
80
80
80
81
82
83
84
84
84
84
85
85
85
86
86
88
89
89
89
91
91
91
92
92
92
92
94
95
95
98
99
102
102
102
102
102
102
102
101
101
101
101
101
101
101
100
100
100
100
100
100
100
99
99
98
98
98
98
98
98
98
98
98
97
97
97
97
97
97
97
96
96
96
96
96
96
96
95
95
95
95
94
94
94
94
94
94
94
93
93
93
93
93
92
92
92
91
86
84
84
84
82
81
81
80
78
76
76
75
75
75
75
75
75
73
72
72
71
70
70
62
61
61
60
60
57
57
55
54
54
54
54
54
54
53
53
53
53
53
52
52
51
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
48
48
48
47
47
47
46
46
46
50
50
52
53
55
55
55
55
56
57
57
57
58
59
59
59
60
60
60
61
61
61
62
63
63
64
64
65
66
66
68
68
69
71
71
70
70
69
68
64
63
62
62
62
61
60
60
59
59
58
58
57
57
57
56
56
54
54
54
54
53
53
53
53
53
53
53
52
52
52
51
50
49
49
48
47
47
47
47
47
46
46
46
46
44
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
41
40
40
40
40
39
39
38
38
38
37
37
37
36
37
38
39
41
42
42
45
47
49
51
51
52
53
53
54
60
60
61
61
61
61
61
62
62
62
62
63
63
63
64
65
65
66
67
68
69
68
61
60
60
59
59
58
58
57
57
57
56
54
53
51
51
50
50
49
48
47
46
45
45
44
42
41
40
38
38
37
37
36
36
36
36
35
35
34
34
34
34
34
33
33
33
33
33
31
31
31
30
30
30
30
30
30
29
29
28
28
28
28
27
27
27
27
27
27
27
27
27
26
26
26
25
25
25
25
24
24
24
24
24
24
23
23
22
21
21
21
20
20
20
20
20
20
20
20
20
21
21
21
21
22
22
22
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
27
27
27
26
26
26
26
26
26
25
25
25
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
28
29
30
31
31
31
32
32
32
32
33
33
34
35
35
35
36
36
36
36
36
37
37
37
37
37
37
37
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
35
32
31
30
24
23
22
17
16
15
13
12
11
11
11
10
10
10
10
9
9
9
9
9
9
8
7
5
5
5
5
6
6
7
7
9
9
9
10
10
11
11
11
12
12
13
13
14
15
17
17
18
19
19
19
20
20
21
21
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
25
25
26
26
26
27
27
27
27
27
27
27
27
27
27
28
29
29
30
30
31
31
32
32
32
33
33
33
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
37
38
38
39
39
39
39
39
39
40
40
40
41
41
41
42
42
43
43
43
43
43
43
44
44
44
44
45
45
45
45
45
45
46
46
47
47
47
47
47
50
53
54
54
55
56
57
59
59
60
60
61
66
67
70
70
71
72
72
73
73
74
74
77
78
78
79
80
78
77
77
76
76
76
73
73
72
72
72
71
70
70
70
69
68
67
66
65
64
61
60
59
58
58
58
56
56
56
56
56
57
57
57
58
58
58
58
58
58
58
58
58
59
59
59
59
59
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
62
63
64
64
64
65
65
66
66
66
66
66
67
67
67
68
71
73
74
74
77
78
84
86
89
89
94
95
97
98
99
100
100
101
101
101
102
102
102
104
104
106
107
108
109
109
114
117
118
119
119
119
119
119
119
119
119
119
119
119
118
118
118
118
118
118
118
117
117
117
117
117
117
117
117
117
117
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
115
115
115
115
115
115
116
117
117
117
118
118
119
121
122
122
122
124
124
125
125
125
126
127
127
128
129
129
129
129
130
131
131
132
132
132
133
133
134
134
134
134
134
135
135
136
136
136
136
136
137
139
139
140
140
141
144
144
147
149
150
151
155
156
157
157
160
163
163
164
164
173
174
174
177
177
178
179
180
181
182
182
183
184
185
186
186
187
190
190
191
192
193
193
194
196
197
199
199
200
200
200
201
202
203
204
205
206
206
207
208
211
212
212
213
214
216
216
218
219
220
221
221
222
222
223
225
225
226
227
228
229
229
230
230
231
235
235
238
239
244
244
245
247
248
249
251
252
253
255
257
259
268
270
272
274
280
285
289
292
294
299
301
304
306
309
308
299
298
294
292
286
284
282
275
274
271
270
268
266
264
263
261
259
255
254
252
250
246
240
241
243
245
247
249
251
259
262
265
265
268
272
265
263
259
255
251
247
246
246
246
243
242
240
240
239
238
237
237
237
236
236
235
235
235
234
234
234
234
234
234
233
233
233
232
232
232
231
231
227
227
227
227
227
227
226
226
226
230
230
231
232
232
233
237
237
239
240
241
241
242
243
245
246
246
249
252
253
254
256
257
259
260
260
269
269
269
270
270
271
271
272
272
273
277
277
279
282
283
284
284
284
290
292
293
294
295
296
296
296
297
298
300
300
300
301
301
301
302
302
304
304
304
305
306
306
309
310
311
313
313
314
316
317
319
319
320
320
320
321
321
321
322
322
322
322
322
323
323
323
323
324
324
324
324
324
325
325
326
327
327
328
328
332
336
337
339
340
344
345
345
346
348
353
354
355
355
356
364
365
366
370
370
371
372
373
374
374
375
376
392
394
395
396
397
399
401
406
410
414
416
420
422
426
438
443
452
457
464
470
473
478
486
489
494
496
499
502
504
509
511
513
518
521
524
527
529
530
533
537
540
542
543
543
546
552
554
556
559
564
570
575
582
587
592
595
603
607
608
610
611
612
616
617
618
619
621
623
628
631
636
638
640
641
643
646
649
651
656
658
660
660
660
660
660
660
661
661
661
661
662
662
662
662
663
663
663
663
664
664
665
665
666
666
666
667
667
668
668
667
667
665
664
663
662
659
659
658
658
658
657
657
656
655
655
655
654
653
653
652
652
652
651
651
650
649
649
649
648
648
647
646
644
644
644
643
643
643
641
637
636
636
635
634
634
633
632
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
631
631
631
632
633
633
633
634
635
636
636
637
637
637
637
638
638
639
640
640
641
642
643
643
643
642
642
641
640
639
638
637
637
636
632
632
628
627
627
627
626
624
624
623
622
618
615
615
614
614
614
613
612
612
611
611
611
610
610
610
610
610
610
610
609
609
609
609
609
609
609
608
608
608
608
607
606
606
606
606
606
605
605
605
605
605
605
605
605
604
604
604
603
603
603
602
602
602
602
602
602
602
601
601
601
601
601
601
601
601
601
601
601
601
601
601
600
600
600
600
600
599
599
599
598
598
597
597
597
597
597
597
596
596
595
595
595
595
594
593
593
593
593
593
593
592
592
592
592
592
592
592
591
591
591
591
591
591
591
591
590
590
590
590
590
590
590
590
590
590
589
589
589
588
588
588
588
588
588
587
587
587
587
587
587
586
586
586
585
585
585
585
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
585
585
585
585
584
581
580
579
578
578
575
572
572
571
570
569
568
567
567
566
565
562
562
559
558
558
557
556
554
553
552
551
550
549
549
549
550
550
551
552
552
553
553
553
554
554
554
554
554
555
556
556
557
557
557
557
558
558
558
558
559
559
559
560
560
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
560
559
558
558
558
557
557
556
555
554
553
553
552
551
550
550
549
547
545
544
542
541
539
534
533
530
529
528
525
525
524
524
523
522
522
522
521
521
520
520
519
519
518
518
518
517
517
517
517
517
517
516
516
515
515
515
515
515
515
515
514
514
514
514
514
514
513
512
512
512
512
512
512
511
511
511
511
511
510
510
510
510
510
509
509
509
508
508
508
508
508
508
507
507
507
507
506
506
505
505
505
505
505
504
504
504
503
503
502
502
502
501
501
501
501
500
500
500
500
499
499
499
499
499
499
500
501
501
501
501
502
502
502
503
503
505
505
505
505
505
505
505
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
505
505
505
505
505
504
504
504
504
503
503
503
503
502
501
501
501
501
501
501
502
502
502
502
503
504
505
505
505
506
506
507
507
508
508
508
509
509
509
507
505
504
503
502
502
502
500
500
499
497
497
497
496
496
496
496
495
495
495
495
494
494
494
494
493
493
492
491
489
489
489
489
489
488
488
488
488
488
488
488
488
487
487
487
487
487
487
487
486
486
486
486
486
486
486
486
486
485
485
485
485
485
485
485
485
485
485
484
484
484
484
484
484
484
484
484
484
484
484
483
483
483
483
483
483
483
482
482
482
482
482
482
482
482
482
481
481
481
481
481
481
481
480
480
480
480
480
479
479
479
479
479
478
478
478
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
476
476
476
476
475
475
475
474
474
473
473
473
472
472
471
470
469
469
469
469
467
467
466
466
466
465
464
463
462
462
462
462
461
461
461
461
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
461
461
461
461
461
461
461
461
461
461
461
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
463
463
463
463
463
463
463
463
464
465
465
465
465
466
466
467
467
467
467
468
468
468
468
468
468
469
469
469
470
470
470
471
471
471
471
471
471
471
471
472
472
472
472
472
472
472
472
472
472
472
472
472
472
473
473
473
473
474
474
474
475
475
475
477
478
478
479
480
481
484
486
486
487
487
487
487
490
490
490
493
493
494
495
495
495
497
498
499
499
501
501
501
502
503
505
505
509
511
512
512
513
516
518
518
519
519
521
522
523
523
523
523
524
525
527
529
532
533
533
535
543
545
545
546
554
555
556
557
557
558
559
563
565
567
568
568
570
576
576
576
577
584
585
586
586
596
597
597
598
599
613
613
614
615
616
628
629
630
631
631
634
634
639
640
641
644
645
646
649
658
661
662
664
664
667
668
669
669
671
672
673
674
676
677
684
684
682
680
679
676
670
667
665
663
660
657
654
653
650
647
646
643
638
637
637
634
632
630
629
628
627
626
615
596
593
592
591
590
590
589
589
588
587
586
585
581
580
578
575
575
572
564
562
561
558
551
544
543
542
541
541
537
537
536
536
535
535
534
534
533
527
525
524
523
522
521
521
521
520
520
519
519
518
518
518
517
517
516
513
512
508
508
508
506
503
503
503
503
503
503
503
504
505
505
505
506
506
506
506
507
507
507
512
512
513
513
514
514
514
514
515
515
515
516
518
518
518
518
518
519
519
519
519
519
519
519
519
519
519
519
519
520
520
520
520
520
520
520
520
520
520
521
521
521
521
521
521
522
523
523
523
523
524
524
524
524
524
525
525
525
525
525
525
526
526
526
526
526
526
526
527
527
528
528
528
529
529
530
530
530
531
531
533
533
533
534
536
537
537
537
537
538
539
539
540
540
541
542
542
542
543
543
543
544
545
547
548
551
552
553
554
555
556
557
558
559
561
562
563
564
565
573
573
574
574
574
574
574
574
574
574
574
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
573
573
573
575
575
575
575
575
575
575
575
576
576
576
576
576
576
576
576
577
577
577
577
577
577
577
577
577
578
578
578
578
578
578
578
579
579
579
579
579
581
581
582
582
583
583
584
584
584
585
585
585
587
587
588
589
589
589
589
590
591
591
591
593
594
595
595
596
596
596
597
597
597
597
597
598
598
599
599
599
600
601
601
601
602
602
603
603
603
603
604
605
605
606
607
608
608
609
609
610
611
612
612
613
613
614
614
614
615
615
616
616
617
617
617
617
617
618
619
619
619
619
619
620
620
624
627
628
629
633
634
634
636
636
636
639
640
641
641
646
647
648
648
650
650
651
651
652
654
655
659
660
668
669
673
674
674
675
675
676
677
684
698
701
702
710
729
734
734
735
735
738
739
744
746
747
747
747
749
757
758
767
768
768
768
769
769
770
770
770
770
770
770
770
770
771
771
771
771
771
771
772
772
772
772
772
772
772
772
772
772
773
773
773
773
773
773
773
774
774
774
774
774
774
774
774
775
776
776
777
777
777
777
778
778
779
779
780
780
780
780
780
781
782
782
783
783
783
784
785
785
785
785
786
786
786
787
787
788
789
790
790
791
791
791
791
791
792
792
792
793
793
794
795
795
796
796
797
798
798
799
802
802
803
804
805
807
808
809
809
810
810
811
813
814
815
815
816
817
818
818
819
819
819
820
821
822
824
825
825
825
826
826
827
828
832
833
833
834
834
834
835
835
835
836
837
837
837
837
838
838
838
838
838
838
839
840
840
840
840
841
841
841
841
857
859
861
862
871
872
872
873
874
887
888
889
889
890
894
894
904
905
916
920
928
929
930
933
934
938
939
939
940
941
941
942
942
946
946
947
947
947
947
948
951
953
954
954
954
955
955
956
956
956
959
959
960
961
961
962
970
970
971
972
974
975
975
975
974
974
974
974
973
973
973
972
972
972
970
970
970
969
969
969
969
967
967
966
966
965
965
965
965
964
964
964
964
964
963
962
962
960
955
953
952
949
947
947
946
946
945
942
941
940
940
939
935
933
931
922
922
921
920
919
919
914
914
913
910
910
909
908
907
906
904
904
903
903
902
901
900
898
892
892
892
892
892
891
891
891
890
890
889
889
889
889
888
888
888
885
885
884
884
884
884
883
882
882
882
881
881
881
880
879
878
877
877
877
876
876
876
876
875
874
874
873
873
873
872
871
871
871
870
869
868
868
867
867
867
867
867
866
866
866
866
866
865
865
865
865
864
862
862
861
861
859
859
858
858
858
856
856
856
855
855
855
855
855
855
855
855
855
854
854
854
854
854
854
854
854
854
854
854
850
850
847
847
847
847
847
847
847
846
846
846
846
845
843
844
846
848
848
849
851
852
857
859
861
864
865
870
870
871
879
882
888
889
890
903
928
929
929
931
932
935
935
937
938
938
939
941
943
943
944
944
944
945
945
945
945
946
946
946
946
946
947
947
947
947
947
948
948
948
948
948
949
949
949
949
949
948
948
947
945
945
942
942
941
941
940
938
937
936
935
934
934
934
933
933
932
932
932
932
931
929
928
928
927
926
914
914
912
907
902
901
901
901
900
897
897
897
897
897
897
901
901
902
902
903
904
904
904
904
904
907
907
907
908
908
908
909
910
911
913
913
914
915
915
916
916
917
919
921
922
923
929
930
932
936
937
939
940
946
949
950
951
952
953
955
956
958
958
959
960
960
961
961
962
962
962
963
964
964
964
966
966
968
969
969
969
970
975
976
977
977
978
978
978
979
980
981
981
981
983
983
984
984
985
985
986
986
987
987
987
989
989
989
989
990
991
991
995
996
996
997
1003
1009
1010
1011
1014
1016
1016
1025
1026
1026
1020
1019
1019
1019
1018
1013
1012
1011
1008
1006
1006
1005
1001
1000
998
995
994
993
989
988
988
988
985
984
984
985
985
986
986
988
989
990
991
992
993
994
994
994
996
997
999
1000
1000
1001
1001
1001
1002
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1002
1002
1002
1002
1002
1002
1001
1001
1000
1000
1000
1000
1000
1000
1000
1000
999
999
999
999
999
998
998
996
996
994
994
993
992
991
989
987
985
985
983
983
982
981
980
980
980
979
979
979
978
978
978
977
977
977
976
976
975
974
973
972
971
968
967
964
964
963
962
962
962
960
959
955
955
954
954
953
953
953
953
948
948
947
947
947
947
946
945
943
943
943
943
943
942
942
941
941
939
939
938
938
935
933
930
929
928
928
926
926
926
925
924
924
923
923
923
922
922
922
922
921
921
920
920
920
920
919
919
919
919
918
918
918
915
915
914
914
913
910
910
908
908
907
907
906
905
904
904
903
903
902
902
901
901
901
901
901
901
901
901
901
901
900
900
900
900
898
898
897
897
897
896
896
896
896
895
895
894
894
892
891
891
891
891
891
891
891
891
891
891
891
891
891
890
890
890
890
889
889
886
885
884
883
882
881
880
880
879
879
879
878
878
878
878
878
878
877
877
877
877
877
877
877
876
875
875
875
875
875
874
874
874
873
873
873
873
873
873
873
873
873
872
872
872
872
872
872
872
872
872
872
870
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
868
868
868
868
868
868
868
868
868
868
868
868
868
868
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
866
866
866
866
866
866
866
866
866
866
866
865
865
865
865
865
865
865
865
865
865
865
865
865
865
865
865
865
864
864
864
864
864
864
864
864
864
864
864
864
863
863
863
863
863
863
863
863
862
862
862
862
862
862
862
861
861
861
861
861
861
861
861
861
861
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
859
859
859
859
859
859
858
858
858
858
857
857
857
857
857
857
857
857
857
857
857
858
859
859
859
859
860
865
865
866
866
867
867
867
867
867
868
868
868
869
870
871
871
871
873
873
875
875
876
876
877
877
877
878
878
883
883
884
884
884
886
886
886
887
887
887
887
887
888
888
888
888
889
889
889
890
891
893
893
894
894
894
895
895
896
898
898
900
900
901
902
904
904
905
905
905
905
906
906
906
907
907
907
908
908
909
909
910
910
911
911
911
911
912
912
913
913
913
914
914
914
914
915
915
916
916
917
917
917
918
919
920
921
921
925
925
926
927
928
929
929
929
929
929
929
930
930
930
930
930
931
933
934
934
936
936
937
937
937
937
938
938
938
938
938
939
939
939
940
940
940
940
941
941
941
941
942
942
942
942
942
942
942
943
943
943
944
944
944
944
944
944
944
943
943
943
943
943
943
943
943
943
942
942
942
942
942
942
942
942
942
941
941
941
941
941
941
941
941
941
940
940
940
939
939
939
939
938
938
938
937
937
937
937
936
936
936
936
937
937
938
938
939
939
940
941
942
942
945
948
951
952
953
953
955
955
955
959
962
962
964
965
967
969
969
970
971
971
973
975
976
977
979
981
981
981
983
983
983
984
985
985
986
986
986
986
986
986
986
985
985
984
984
984
983
982
982
982
981
980
980
979
979
978
978
976
975
974
973
971
972
973
973
974
976
979
979
979
979
980
981
984
984
985
985
986
988
989
989
991
991
992
995
995
995
995
996
996
997
998
999
999
999
1000
1000
1004
1005
1005
1006
1008
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1009
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1008
1009
1010
1011
1012
1013
1014
1014
1014
1015
1015
1015
1015
1016
1016
1018
1018
1019
1020
1021
1022
1022
1022
1020
1019
1018
1017
1015
1013
1012
1009
1009
1008
1007
1007
1006
1006
1005
1005
1005
1005
1004
1003
1003
1003
1002
1002
1001
1001
1000
1000
999
999
997
996
995
993
992
991
989
987
986
985
984
983
982
982
981
980
979
979
977
976
975
974
973
972
971
968
967
966
965
964
963
960
959
957
956
955
954
953
952
950
948
948
947
945
944
942
942
941
940
939
938
938
937
935
934
934
935
937
939
940
941
944
947
948
949
950
950
950
951
952
953
957
957
962
964
965
972
974
975
976
977
978
978
979
979
981
982
983
983
983
983
982
981
979
968
967
966
963
942
940
940
939
937
934
933
932
931
930
928
928
928
932
932
933
933
934
934
935
937
937
938
939
939
939
940
941
941
941
942
943
946
947
947
950
950
951
952
952
952
955
955
956
957
957
957
957
957
957
958
958
958
958
958
958
958
959
959
959
959
959
960
960
960
961
961
961
961
962
962
962
962
963
963
963
964
964
964
964
965
965
966
966
966
967
967
967
967
967
967
967
967
967
967
967
966
966
966
966
966
965
965
965
964
964
963
963
963
962
962
962
962
962
962
961
961
961
961
961
961
961
961
962
963
964
964
965
965
966
968
969
970
970
971
972
972
972
977
977
977
977
977
978
982
982
982
982
984
984
987
988
993
998
998
998
998
997
997
997
997
997
997
996
996
996
996
996
996
996
996
996
996
996
996
995
995
995
995
995
995
994
994
994
994
994
994
994
994
994
994
994
994
994
995
995
995
995
995
995
995
996
996
996
996
996
996
996
996
996
996
997
997
997
997
997
998
999
1000
1001
1001
1002
1002
1003
1004
1004
1005
1005
1007
1008
1008
1008
1009
1009
1009
1009
1010
1010
1010
1011
1011
1011
1011
1011
1011
1011
1012
1012
1012
1013
1013
1014
1014
1014
1014
1015
1016
1017
1019
1019
1020
1020
1020
1024
1025
1027
1029
1029
1029
1028
1026
1023
1022
1022
1020
1020
1020
1019
1018
1017
1017
1016
1015
1015
1014
1014
1011
1010
1010
1009
1007
1006
1005
1005
1004
1004
1004
1003
1003
1002
1001
1001
1000
1000
999
999
999
998
998
997
996
996
994
993
993
991
990
990
989
989
987
987
986
986
986
986
986
986
986
986
986
986
986
986
987
987
987
987
987
987
987
987
988
988
988
989
989
989
989
990
990
990
990
990
991
991
991
991
991
991
992
992
993
993
994
995
995
995
996
996
997
997
997
997
998
998
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
998
998
998
998
998
998
998
998
997
997
997
997
997
997
997
997
997
997
997
997
997
997
997
997
997
998
998
998
998
998
999
999
1000
1001
1002
1002
1004
1004
1005
1005
1005
1005
1006
1007
1007
1007
1007
1007
1006
1004
1003
1003
1001
999
999
997
996
991
991
990
988
988
985
983
980
977
977
976
974
974
970
970
966
963
963
963
963
962
962
961
961
961
961
960
960
959
959
959
959
958
958
958
957
957
957
957
956
956
955
955
955
954
953
951
950
950
950
950
949
949
948
948
948
947
947
947
946
945
944
943
943
941
941
941
940
939
939
939
939
938
938
938
938
938
937
937
934
934
933
929
928
926
926
923
923
922
917
916
913
911
911
905
902
901
901
900
900
895
893
892
888
887
883
878
875
867
865
862
862
862
862
862
862
862
861
861
861
861
861
861
861
861
861
861
861
861
861
861
861
861
861
861
861
861
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
860
861
861
861
861
861
861
861
861
861
861
861
861
861
862
862
862
862
862
862
862
862
862
863
863
865
865
865
865
865
886
889
892
897
900
904
906
916
917
921
922
923
928
930
931
932
942
949
951
954
955
956
958
959
959
959
959
959
959
959
959
959
959
959
959
959
959
959
959
959
959
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
960
959
959
959
959
959
959
959
959
959
959
958
958
958
958
958
958
958
958
957
957
956
956
956
955
955
959
959
960
960
963
963
964
964
964
964
964
966
966
967
968
969
969
969
970
970
970
970
970
970
971
971
971
971
971
971
971
972
972
972
972
972
972
973
973
973
973
974
974
974
975
975
978
978
979
979
979
981
982
982
982
982
983
983
983
983
984
984
985
985
985
986
986
988
988
988
990
990
990
990
992
993
994
994
995
995
995
995
996
997
997
997
997
997
998
998
998
998
999
1003
1003
1004
1004
1004
1004
1004
1004
1004
1005
1006
1006
1006
1006
1006
1007
1009
1009
1010
1010
1014
1014
1014
1015
1017
1018
1023
1045
1048
1049
1065
1072
1075
1077
1078
1080
1081
1085
1086
1087
1093
1094
1095
1097
1098
1099
1102
1102
1103
1103
1104
1105
1105
1106
1106
1108
1109
1109
1110
1110
1111
1111
1111
1112
1113
1114
1115
1115
1116
1117
1117
1118
1119
1121
1122
1123
1123
1124
1126
1126
1127
1127
1128
1130
1132
1134
1135
1136
1146
1147
1148
1148
1149
1150
1146
1145
1144
1144
1144
1143
1142
1136
1135
1134
1133
1131
1131
1130
1129
1128
1128
1127
1127
1126
1124
1122
1121
1119
1118
1117
1115
1108
1104
1103
1103
1103
1103
1103
1104
1104
1104
1104
1104
1104
1104
1104
1104
1105
1105
1106
1106
1106
1106
1106
1106
1106
1106
1106
1106
1106
1087
1085
1085
1084
1083
1081
1079
1078
1077
1074
1073
1071
1068
1066
1065
1064
1059
1058
1056
1028
1027
1026
1025
1024
1023
1022
1016
1007
1006
1006
1006
1006
1006
1006
1006
1007
1007
1007
1009
1010
1010
1010
1010
1011
1011
1012
1012
1012
1013
1013
1013
1013
1013
1014
1014
1014
1014
1014
1014
1015
1016
1018
1018
1018
1018
1019
1019
1019
1021
1022
1022
995
993
991
987
981
975
973
970
970
969
969
967
966
964
961
957
957
955
955
952
951
951
950
949
949
949
948
948
947
947
947
953
953
953
953
953
954
954
955
956
956
956
957
957
957
957
958
958
959
959
959
959
960
960
962
962
962
963
964
964
965
965
968
969
969
972
972
973
976
976
977
977
977
978
978
978
978
978
978
978
978
978
979
979
979
979
980
967
955
953
952
949
948
947
944
943
942
942
940
939
939
938
936
936
935
934
932
931
923
915
914
913
912
912
912
913
913
913
909
909
908
908
907
907
906
906
906
905
904
903
903
902
898
897
897
896
894
891
890
890
890
889
889
889
890
891
891
891
891
892
892
892
892
892
893
893
893
894
894
894
895
895
895
895
895
895
895
896
896
896
897
897
897
897
897
897
898
898
898
898
900
900
900
900
901
902
903
903
903
904
905
909
910
910
910
911
909
907
903
902
902
901
892
891
887
887
884
884
883
883
883
881
881
881
880
879
878
877
877
876
876
876
874
873
873
873
872
872
872
871
870
869
869
869
868
868
868
867
867
867
865
864
864
862
861
859
858
858
857
856
855
855
852
851
850
850
845
845
845
844
843
843
842
842
842
840
840
840
839
839
839
837
837
836
835
834
832
832
831
830
830
830
827
827
826
826
825
825
825
824
824
824
824
824
823
823
823
822
822
822
821
821
819
819
819
818
818
818
816
816
815
815
815
815
815
815
815
814
814
814
814
813
813
813
813
812
812
811
811
811
811
810
810
810
810
809
808
807
806
806
806
806
806
806
806
806
806
806
805
805
805
805
805
805
805
803
803
803
803
802
801
801
801
801
800
800
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
800
800
802
802
802
802
802
802
802
802
802
802
802
802
803
804
805
805
805
805
810
810
811
811
811
812
813
813
814
814
814
814
815
816
817
818
818
818
818
818
818
819
819
819
820
820
820
820
821
821
821
822
825
826
826
826
828
828
828
828
828
828
828
827
827
827
827
827
827
827
827
827
827
827
827
827
827
826
826
826
826
826
826
826
826
826
826
826
826
826
825
825
824
824
824
824
824
824
825
825
827
828
832
833
833
833
833
834
835
835
836
836
837
838
838
841
842
848
848
849
851
852
852
852
855
859
861
861
862
863
865
866
866
868
868
871
880
881
883
884
891
894
896
900
901
901
901
902
902
902
902
903
903
903
904
904
904
904
904
904
905
905
905
905
905
905
905
906
906
906
906
906
906
907
907
907
907
907
907
907
907
908
908
908
908
908
908
909
909
909
910
910
910
911
911
911
911
911
911
911
910
909
909
908
908
907
907
906
906
904
904
904
903
903
903
902
897
897
895
895
894
893
892
891
891
888
887
886
886
883
882
880
879
879
876
876
875
874
874
872
871
871
866
865
862
866
867
869
870
872
876
881
883
885
888
893
894
897
899
903
905
911
915
916
922
922
922
924
926
926
929
932
935
935
936
940
941
942
942
943
943
944
947
948
948
950
950
951
951
954
955
956
957
959
960
962
964
964
965
966
966
966
967
967
969
970
970
974
975
976
976
978
978
979
980
980
983
986
988
990
991
991
995
995
996
997
999
1002
1006
1007
1009
1010
1011
1013
1015
1017
1019
1020
1021
1021
1022
1023
1026
1026
1026
1028
1028
1028
1030
1031
1032
1035
1036
1039
1040
1041
1041
1043
1045
1046
1047
1048
1049
1052
1055
1059
1059
1059
1061
1062
1070
1073
1080
1086
1089
1094
1098
1100
1103
1109
1113
1114
1114
1114
1114
1115
1115
1115
1115
1115
1115
1117
1117
1117
1118
1118
1118
1119
1119
1120
1120
1120
1120
1121
1121
1121
1121
1121
1121
1122
1122
1122
1123
1123
1123
1124
1124
1125
1125
1125
1126
1127
1127
1127
1127
1128
1129
1129
1132
1132
1132
1133
1133
1135
1137
1138
1140
1141
1141
1142
1142
1142
1144
1145
1146
1146
1146
1145
1145
1144
1144
1142
1142
1142
1141
1141
1140
1140
1140
1139
1138
1137
1137
1136
1135
1133
1130
1130
1129
1128
1127
1126
1126
1125
1125
1122
1119
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1115
1115
1115
1115
1115
1114
1114
1114
1114
1114
1114
1114
1114
1114
1114
1114
1113
1109
1108
1106
1105
1104
1103
1103
1103
1103
1103
1102
1102
1102
1101
1100
1100
1099
1099
1099
1098
1098
1097
1096
1096
1096
1095
1094
1093
1091
1088
1082
1081
1080
1079
1077
1076
1071
1071
1070
1069
1062
1061
1060
1056
1056
1053
1052
1052
1049
1047
1042
1041
1039
1038
1038
1038
1037
1037
1037
1036
1036
1036
1035
1034
1034
1033
1033
1032
1031
1027
1023
1023
1022
1020
1020
1019
1018
1018
1016
1014
1014
1014
1014
1013
1013
1012
1012
1012
1012
1011
1011
1011
1011
1010
1009
1009
1009
1008
1008
1007
1006
1006
1006
1006
1005
1005
1005
1005
1004
1004
1004
1004
1004
1004
1004
1004
1004
1003
1002
1002
1002
1001
1001
1001
998
998
998
997
996
996
996
994
991
991
990
990
989
989
990
990
990
990
990
990
990
990
991
991
991
991
991
991
991
991
991
991
991
991
990
989
988
987
985
984
984
983
982
981
980
979
978
978
978
977
976
975
973
973
972
971
971
970
969
968
968
968
966
964
964
964
964
964
964
963
963
963
962
962
961
961
961
958
958
958
958
957
957
957
956
956
955
955
955
954
954
954
954
954
954
953
953
953
952
952
952
952
952
951
951
951
951
951
951
951
951
951
951
951
951
950
950
950
950
950
950
951
955
956
956
957
957
958
958
958
959
959
960
960
959
959
959
959
958
958
957
956
955
955
955
955
954
954
953
953
953
952
951
951
950
950
950
951
951
952
953
953
954
955
955
958
959
959
960
960
961
963
963
964
965
965
965
966
967
967
969
981
985
985
983
981
980
978
977
974
966
966
962
959
959
961
964
965
966
967
968
969
969
970
972
973
974
976
977
977
978
980
981
982
983
984
985
986
990
991
992
992
993
993
994
996
997
998
998
1000
1000
1003
1004
1005
1005
1006
1006
1010
1011
1011
1012
1013
1013
1013
1014
1014
1015
1015
1015
1015
1015
1015
1015
1015
1015
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1017
1017
1017
1017
1017
1017
1018
1018
1018
1019
1019
1019
1019
1019
1020
1020
1020
1020
1020
1021
1022
1024
1025
1026
1026
1029
1029
1030
1031
1033
1034
1035
1038
1044
1045
1046
1046
1047
1050
1051
1052
1053
1054
1055
1056
1056
1059
1060
1061
1062
1062
1063
1064
1066
1067
1068
1070
1071
1072
1072
1072
1073
1074
1076
1076
1076
1077
1077
1083
1090
1092
1096
1097
1101
1104
1107
1118
1123
1127
1129
1131
1133
1134
1134
1135
1136
1137
1138
1140
1141
1142
1142
1142
1142
1142
1142
1142
1143
1143
1143
1143
1143
1143
1144
1144
1144
1144
1144
1144
1145
1145
1146
1146
1146
1146
1147
1147
1147
1147
1147
1147
1147
1147
1147
1147
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1148
1145
1143
1137
1133
1131
1130
1127
1126
1125
1118
1116
1112
1108
1108
1114
1114
1114
1114
1114
1115
1115
1115
1117
1118
1118
1119
1119
1120
1120
1121
1121
1122
1122
1122
1122
1122
1123
1123
1124
1124
1127
1127
1127
1128
1128
1128
1134
1135
1136
1137
1138
1139
1139
1140
1140
1141
1142
1143
1144
1145
1146
1147
1148
1151
1153
1161
1164
1169
1171
1172
1172
1173
1174
1174
1174
1175
1177
1181
1184
1188
1191
1199
1202
1209
1214
1217
1219
1224
1229
1235
1241
1247
1258
1262
1272
1278
1283
1289
1293
1295
1299
1301
1304
1311
1314
1316
1319
1323
1329
1334
1353
1359
1362
1369
1370
1372
1375
1380
1382
1385
1391
1409
1416
1421
1424
1431
1434
1439
1443
1449
1454
1460
1466
1471
1478
1485
1493
1500
1509
1513
1520
1524
1526
1532
1536
1543
1548
1552
1556
1560
1563
1570
1571
1572
1572
1575
1577
1583
1584
1589
1597
1597
1598
1605
1617
1624
1625
1630
1632
1639
1638
1636
1632
1630
1628
1626
1626
1626
1625
1624
1622
1622
1621
1620
1619
1616
1615
1614
1612
1606
1604
1601
1599
1598
1595
1594
1593
1591
1591
1589
1588
1579
1575
1573
1572
1571
1564
1549
1537
1535
1533
1532
1529
1526
1522
1519
1515
1514
1506
1486
1465
1452
1436
1430
1427
1418
1413
1411
1404
1376
1371
1365
1354
1344
1326
1320
1318
1312
1309
1307
1305
1302
1298
1287
1279
1275
1272
1270
1268
1265
1263
1259
1258
1258
1255
1253
1251
1249
1246
1243
1242
1240
1239
1238
1235
1232
1225
1223
1222
1220
1219
1218
1217
1216
1215
1214
1211
1210
1209
1209
1208
1207
1203
1201
1198
1197
1196
1196
1193
1192
1191
1191
1191
1190
1190
1189
1189
1188
1188
1187
1186
1185
1184
1181
1181
1181
1180
1180
1178
1177
1175
1174
1174
1174
1174
1174
1171
1171
1170
1169
1167
1167
1167
1167
1166
1166
1166
1165
1164
1164
1162
1162
1160
1160
1160
1159
1157
1157
1156
1152
1151
1151
1149
1146
1144
1144
1144
1143
1142
1141
1141
1139
1138
1138
1138
1138
1137
1137
1137
1136
1136
1136
1136
1135
1135
1134
1133
1133
1133
1133
1133
1133
1133
1132
1132
1132
1132
1132
1132
1132
1131
1131
1131
1131
1130
1130
1129
1129
1128
1128
1127
1125
1124
1123
1121
1118
1117
1115
1111
1110
1106
1106
1105
1105
1099
1098
1094
1092
1090
1086
1085
1084
1083
1082
1082
1082
1081
1079
1075
1073
1071
1070
1069
1068
1067
1065
1064
1064
1064
1064
1063
1063
1062
1062
1061
1061
1060
1060
1059
1059
1058
1058
1057
1057
1057
1057
1057
1056
1056
1056
1055
1053
1052
1050
1050
1049
1048
1047
1047
1047
1046
1045
1044
1042
1041
1040
1040
1040
1040
1038
1038
1036
1036
1036
1034
1033
1032
1031
1031
1030
1029
1028
1028
1028
1027
1027
1027
1027
1026
1026
1026
1025
1025
1025
1026
1026
1027
1027
1028
1028
1029
1030
1030
1032
1032
1032
1033
1034
1034
1035
1035
1035
1035
1036
1036
1036
1036
1037
1037
1038
1038
1038
1038
1039
1039
1039
1039
1039
1039
1039
1039
1039
1039
1040
1040
1040
1040
1040
1040
1040
1040
1040
1040
1041
1041
1041
1041
1042
1042
1043
1043
1043
1044
1044
1044
1044
1044
1045
1045
1045
1045
1046
1046
1046
1047
1047
1048
1048
1049
1049
1051
1051
1051
1052
1053
1054
1054
1054
1055
1055
1055
1055
1055
1057
1057
1058
1058
1059
1059
1059
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1060
1059
1059
1059
1059
1059
1059
1059
1059
1059
1059
1059
1059
1059
1059
1058
1058
1058
1058
1058
1058
1058
1058
1058
1058
1058
1058
1058
1058
1058
1058
1057
1057
1057
1057
1057
1057
1057
1057
1057
1057
1057
1057
1057
1058
1059
1062
1062
1063
1063
1065
1065
1068
1069
1069
1070
1071
1072
1073
1074
1075
1076
1076
1077
1077
1078
1078
1078
1079
1079
1080
1080
1081
1081
1082
1082
1083
1083
1083
1084
1085
1086
1086
1086
1087
1092
1093
1096
1097
1097
1097
1098
1101
1103
1103
1104
1105
1106
1107
1107
1107
1108
1108
1109
1109
1110
1111
1111
1113
1114
1112
1102
1101
1097
1096
1094
1092
1092
1091
1090
1089
1089
1088
1088
1085
1084
1084
1083
1083
1082
1082
1081
1079
1078
1078
1078
1078
1069
1060
1055
1053
1051
1048
1046
1045
1044
1034
1033
1033
1037
1038
1039
1044
1047
1053
1057
1059
1060
1060
1061
1062
1064
1067
1068
1069
1070
1071
1072
1074
1077
1079
1081
1084
1085
1092
1093
1096
1097
1099
1100
1100
1101
1101
1101
1102
1102
1102
1102
1102
1103
1104
1104
1105
1110
1110
1111
1111
1113
1115
1115
1117
1118
1121
1122
1123
1124
1125
1125
1126
1127
1128
1128
1129
1130
1131
1132
1132
1132
1136
1136
1137
1137
1138
1139
1140
1140
1141
1141
1141
1142
1143
1144
1144
1145
1145
1145
1146
1146
1146
1146
1147
1147
1147
1147
1147
1148
1149
1149
1149
1149
1150
1150
1150
1150
1150
1151
1151
1151
1152
1152
1153
1155
1156
1158
1161
1164
1167
1174
1177
1178
1179
1181
1187
1188
1190
1192
1194
1197
1199
1201
1203
1204
1204
1205
1206
1206
1208
1208
1209
1210
1211
1212
1215
1217
1217
1219
1220
1221
1224
1224
1225
1225
1226
1226
1227
1227
1228
1228
1228
1229
1229
1230
1230
1230
1232
1234
1235
1235
1236
1236
1238
1239
1239
1239
1241
1242
1243
1243
1243
1244
1244
1245
1245
1246
1248
1250
1250
1250
1251
1251
1252
1252
1252
1253
1253
1255
1261
1262
1263
1264
1266
1269
1272
1277
1282
1282
1283
1290
1292
1293
1303
1305
1308
1310
1313
1314
1317
1320
1321
1321
1322
1323
1324
1325
1327
1332
1334
1337
1340
1343
1344
1346
1348
1354
1356
1360
1362
1363
1367
1371
1373
1381
1390
1395
1396
1400
1405
1407
1409
1411
1412
1413
1415
1419
1422
1423
1424
1425
1425
1428
1431
1437
1444
1447
1447
1448
1449
1450
1451
1452
1452
1453
1453
1453
1454
1454
1454
1454
1455
1455
1456
1457
1458
1459
1460
1460
1461
1462
1463
1463
1464
1464
1465
1465
1466
1466
1467
1468
1469
1468
1460
1455
1452
1449
1446
1444
1441
1435
1430
1424
1423
1417
1416
1415
1413
1411
1409
1406
1402
1398
1398
1397
1395
1394
1393
1391
1385
1384
1379
1373
1367
1366
1362
1362
1361
1354
1353
1350
1349
1343
1335
1330
1329
1328
1327
1325
1321
1319
1316
1314
1307
1305
1303
1299
1298
1297
1295
1294
1292
1289
1287
1284
1283
1282
1281
1278
1277
1275
1271
1269
1267
1265
1263
1261
1257
1256
1251
1249
1248
1249
1249
1249
1249
1250
1250
1250
1250
1250
1250
1250
1251
1251
1251
1251
1252
1252
1252
1252
1252
1252
1253
1253
1253
1253
1253
1253
1253
1253
1254
1254
1254
1254
1249
1248
1246
1242
1239
1237
1236
1235
1233
1231
1229
1228
1227
1227
1226
1223
1221
1216
1215
1210
1205
1193
1186
1182
1174
1161
1147
1132
1131
1130
1129
1126
1125
1123
1121
1119
1118
1112
1108
1106
1106
1103
1101
1092
1091
1091
1090
1088
1088
1087
1087
1086
1085
1085
1085
1084
1084
1083
1083
1083
1082
1082
1082
1082
1081
1081
1081
1080
1080
1080
1080
1079
1079
1078
1078
1078
1076
1076
1076
1075
1075
1075
1074
1074
1074
1073
1073
1073
1072
1072
1071
1071
1070
1070
1069
1069
1069
1068
1067
1065
1064
1063
1063
1063
1062
1062
1062
1061
1061
1061
1060
1060
1060
1060
1059
1059
1059
1058
1058
1058
1057
1057
1056
1056
1054
1054
1053
1052
1051
1050
1049
1049
1048
1047
1047
1046
1046
1045
1045
1044
1043
1043
1042
1037
1035
1034
1033
1031
1031
1031
1031
1031
1030
1029
1029
1029
1028
1028
1028
1028
1027
1027
1026
1026
1025
1024
1024
1024
1024
1024
1023
1016
1012
1010
1009
1008
995
994
993
980
979
978
972
971
969
968
967
964
961
961
960
957
956
955
955
954
953
952
951
949
948
948
947
946
942
939
939
939
938
938
937
936
933
931
931
931
930
930
930
929
929
929
927
927
924
924
920
920
919
919
918
916
914
913
912
911
910
909
908
908
908
908
907
907
907
907
907
906
905
905
904
904
904
904
904
904
902
902
901
901
901
901
901
903
903
903
903
904
904
904
904
904
904
905
905
907
907
907
907
908
910
910
911
911
913
914
914
914
917
917
916
915
914
913
913
913
913
913
913
913
913
913
912
912
912
912
911
910
910
910
910
910
911
911
912
912
912
912
913
913
913
913
914
914
914
915
915
915
915
916
917
918
919
920
920
920
921
921
921
921
922
922
923
923
923
923
923
924
925
926
927
927
927
927
927
927
927
928
929
930
931
936
936
936
936
936
936
936
936
937
939
940
941
944
940
940
939
938
938
937
936
936
934
934
934
933
932
932
932
931
931
930
930
929
928
927
927
927
927
926
926
923
922
921
904
903
902
900
896
891
890
889
888
887
886
885
885
884
883
883
882
882
882
880
880
879
878
878
875
873
870
866
864
860
856
852
850
838
834
832
831
829
826
824
823
823
822
822
821
821
821
820
819
818
818
817
817
815
813
812
810
809
809
808
808
807
807
807
806
805
805
805
804
804
803
803
803
802
802
801
799
798
794
792
789
787
782
781
780
780
779
777
772
771
771
770
768
767
766
764
763
762
762
761
759
758
757
754
754
754
754
754
753
753
753
752
752
752
752
752
752
752
752
751
751
751
751
751
750
750
750
750
750
749
749
749
749
749
748
748
748
748
748
747
747
747
747
747
747
747
747
748
748
748
748
748
748
748
748
748
748
748
748
748
748
748
748
748
748
747
747
747
747
746
746
746
746
746
746
746
746
746
745
745
744
744
744
744
744
744
744
743
743
743
743
743
743
742
742
742
742
742
742
742
742
742
741
741
741
741
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
741
741
741
741
742
742
742
742
742
743
743
744
744
745
746
746
746
747
747
748
748
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
749
750
751
752
752
754
755
755
755
755
756
756
756
756
757
757
757
758
759
759
759
759
759
759
758
758
758
757
757
757
756
756
754
753
752
752
752
752
752
751
751
751
751
750
749
748
747
747
746
746
744
744
743
743
743
742
742
741
741
741
741
741
740
740
740
739
737
737
736
736
735
735
733
733
733
733
733
732
732
732
731
731
730
730
729
729
728
728
728
727
726
726
725
725
725
724
724
724
724
724
723
723
723
722
722
722
721
720
720
720
721
721
722
722
723
723
723
724
724
724
724
724
724
724
725
725
725
725
726
726
726
726
727
727
727
727
727
729
729
729
729
729
729
729
729
729
729
729
729
729
729
728
728
728
728
728
728
728
728
728
728
728
728
727
727
727
727
727
727
727
727
726
726
726
726
726
726
726
726
726
726
726
726
726
726
726
726
726
726
727
727
727
727
727
727
727
727
727
728
728
728
728
728
728
728
728
728
728
728
728
729
729
729
729
729
729
729
729
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
730
727
727
726
726
723
723
722
720
720
717
716
716
713
713
713
712
711
710
709
708
707
707
706
706
706
705
705
702
702
702
701
701
700
700
700
700
699
699
698
697
697
697
696
695
694
694
692
691
690
690
690
690
690
690
689
689
689
689
689
688
687
687
687
685
685
685
685
685
685
685
683
682
682
680
680
680
679
679
679
679
679
679
678
676
676
676
675
675
674
674
673
673
672
672
672
672
672
672
672
672
671
671
671
671
671
670
670
670
669
669
668
668
668
667
667
667
667
667
666
666
666
666
666
666
665
664
664
663
663
663
663
662
662
661
661
661
660
660
660
660
660
659
659
659
659
659
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
657