25
21
20
27
24
22
22
25
24
22
21
24
20
18
25
19
26
23
19
22
26
22
19
22
26
26
23
24
19
23
22
23
23
23
23
23
23
22
23
23
21
22
26
25
22
26
24
23
21
25
23
23
23
24
24
20
21
20
21
24
21
26
21
21
22
22
26
23
19
22
24
24
23
21
26
20
21
22
25
20
21
22
22
24
21
20
24
21
22
23
21
23
25
23
21
18
24
23
25
21
21
25
23
27
23
18
27
23
26
24
23
21
24
20
21
23
25
20
22
21
19
24
24
20
23
20
20
17
22
25
20
22
24
17
26
21
21
22
24
23
24
22
20
27
23
20
19
25
22
24
22
26
23
21
23
25
25
23
23
23
20
21
23
23
21
24
19
24
27
20
22
21
23
19
23
19
22
24
23
23
22
25
24
20
21
23
22
28
27
23
24
22
24
20
24
23
25
26
28
25
21
20
24
17
25
26
27
24
21
22
23
24
28
21
26
23
24
24
24
24
22
25
25
25
23
21
23
23
22
20
22
16
21
23
23
26
25
23
23
20
22
25
25
23
23
25
22
21
23
22
22
23
22
22
23
22
21
25
26
25
19
23
20
20
24
23
23
23
22
22
23
23
22
24
19
24
22
25
25
26
23
26
21
23
25
25
22
22
25
24
19
27
22
21
19
19
24
23
23
19
24
22
25
20
22
21
26
25
23
23
24
25
17
25
20
22
24
20
22
24
23
21
24
23
22
25
21
22
25
21
27
22
25
23
23
22
20
21
21
24
20
26
21
25
20
21
22
24
26
24
21
20
19
24
24
25
18
22
22
22
22
23
23
24
27
23
22
24
26
27
27
22
22
24
25
22
23
21
26
20
20
23
25
23
27
23
20
23
24
21
23
22
27
24
24
25
25
21
24
23
26
21
21
22
24
21
21
22
21
25
26
24
23
25
21
21
24
22
25
21
24
24
23
27
24
23
26
25
20
20
28
22
26
25
27
23
23
27
24
20
20
26
20
21
23
19
21
22
21
29
23
20
22
24
24
24
24
25
20
21
18
25
22
22
22
20
23
24
23
20
22
23
22
24
22
23
23
25
23
25
20
25
23
27
23
18
21
24
26
21
27
24
23
26
23
24
27
22
25
23
27
19
23
25
23
23
23
21
24
21
23
27
21
22
22
23
23
24
26
26
25
23
22
22
23
18
21
22
23
23
23
25
22
23
23
20
19
21
24
19
25
23
21
26
24
21
23
24
23
24
23
22
26
21
22
22
24
26
23
24
25
22
20
24
22
22
23
22
22
24
21
21
17
23
24
25
25
26
24
24
23
23
23
23
23
22
19
24
21
23
23
24
24
26
24
23
21
23
22
18
27
22
24
19
20
21
21
21
22
23
21
21
27
25
26
23
21
26
24
24
23
21
20
22
28
22
22
26
27
24
22
25
20
23
23
23
24
21
25
21
22
23
21
23
24
22
23
22
26
21
25
21
20
19
24
25
23
27
21
26
22
24
23
20
25
24
25
24
23
21
22
22
23
22
22
22
22
25
25
23
27
20
21
21
22
22
27
26
21
21
26
25
23
24
23
23
25
22
24
21
22
28
23
23
27
24
20
27
23
23
24
19
24
24
22
18
23
22
24
24
19
22
23
21
26
26
24
20
23
23
23
19
23
23
21
24
21
23
22
27
23
24
22
23
21
24
20
22
19
22
21
24
25
20
22
22
19
20
25
22
24
21
22
24
18
22
21
21
25
23
20
20
24
28
23
24
24
21
23
25
25
21
19
23
21
25
20
22
23
23
22
22
23
22
22
21
21
27
17
24
21
22
21
26
21
25
20
23
23
22
23
25
21
23
21
20
23
22
22
21
23
23
23
22
23
23
25
23
22
21
22
24
25
24
24
25
23
23
22
21
29
18
21
20
23
22
24
24
28
24
27
21
20
23
21
23
25
24
21
27
22
20
21
24
23
23
25
20
22
23
23
24
29
24
21
18
21
21
22
23
22
22
25
24
24
24
26
21
21
25
22
21
26
24
24
21
22
23
28
19
20
22
22
22
23
25
23
22
24
20
24
20
22
22
22
22
24
23
22
20
22
20
22
23
22
21
21
25
22
23
24
20
22
22
25
22
24
23
22
21
21
26
20
24
22
24
22
21
22
23
28
23
24
27
24
24
25
21
25
21
23
22
23
24
26
19
22
27
20
24
23
24
23
25
21
19
23
24
26
23
25
21
22
20
23
25
24
23
24
26
23
26
22
23
21
25
21
24
22
20
43
42
40
48
44
42
43
38
47
43
48
44
45
49
42
48
43
43
42
41
43
44
38
45
45
38
43
43
41
43
44
46
32
46
39
40
41
43
45
41
43
41
42
47
45
42
35
43
46
40
38
49
41
29
43
45
46
41
44
38
41
44
46
42
45
41
39
39
44
44
45
43
45
39
45
38
40
44
35
45
45
41
41
41
41
48
42
42
40
40
40
45
47
37
49
46
43
24
46
41
39
40
45
44
44
48
45
41
41
42
43
49
42
44
37
41
41
43
46
40
43
40
41
50
42
44
42
45
42
42
45
46
47
35
42
47
42
44
42
47
43
47
45
44
44
46
40
43
43
48
41
48
40
41
42
46
41
40
43
42
43
44
42
42
39
41
39
43
42
45
43
45
44
41
40
46
44
45
44
41
40
48
43
41
44
41
44
47
39
43
39
43
43
41
45
43
44
43
48
45
44
40
43
43
42
47
44
43
46
40
42
41
43
42
41
44
47
43
42
45
45
38
40
45
39
45
46
44
48
44
29
44
43
43
49
43
44
46
41
42
44
43
40
44
49
45
39
38
30
44
36
42
38
43
38
38
45
42
47
29
44
38
39
38
40
41
42
44
41
44
43
42
43
44
46
38
43
42
42
42
47
47
48
44
45
47
41
44
41
46
43
39
37
42
45
40
41
46
45
45
41
42
42
40
46
41
41
45
47
35
44
40
47
43
43
48
38
41
42
43
45
46
47
44
44
43
43
43
25
44
43
45
43
43
46
45
41
46
42
45
41
44
42
42
47
44
25
43
45
41
41
43
47
47
45
44
42
44
45
43
42
44
42
32
42
47
43
45
42
40
42
45
46
37
39
48
42
42
45
45
42
44
31
45
39
45
45
45
46
44
44
43
40
38
40
43
45
23
41
43
41
41
43
47
38
43
43
45
44
45
48
46
42
42
46
44
43
40
43
40
43
42
47
43
39
45
43
42
42
42
44
44
43
40
45
38
44
40
44
38
41
45
41
44
40
42
37
41
36
43
42
44
42
40
32
46
50
41
46
30
41
44
42
45
43
44
45
42
43
42
45
47
42
48
43
33
44
43
41
45
42
40
48
47
43
44
47
27
48
44
45
43
41
44
31
44
45
45
48
39
45
44
47
43
35
44
43
46
39
43
47
38
39
46
44
40
43
45
42
40
43
23
43
43
44
41
42
44
44
40
43
43
43
44
39
44
46
42
42
41
34
44
42
44
44
43
41
46
44
42
43
44
43
46
42
43
44
37
43
40
41
44
44
46
44
38
43
46
46
44
43
44
40
44
39
44
43
44
41
44
42
31
40
45
40
44
49
44
26
46
39
42
45
43
40
43
40
46
40
46
42
43
44
44
44
41
43
42
41
44
42
39
40
43
46
45
49
45
45
48
47
44
48
47
43
38
38
21
44
41
45
42
43
40
47
43
43
45
47
41
41
46
42
45
40
46
46
41
40
39
42
46
46
42
44
40
41
46
43
42
36
43
45
39
45
33
41
39
41
43
43
47
45
47
38
46
42
45
46
45
44
39
45
27
42
43
43
41
40
41
43
40
47
44
41
42
47
49
39
41
44
39
45
46
48
39
43
47
44
41
44
44
38
45
46
44
42
41
44
33
38
44
41
49
43
44
42
42
44
46
42
41
44
42
43
44
42
44
45
42
46
41
39
42
43
44
40
44
40
46
47
39
43
42
42
38
48
39
47
48
39
38
44
40
43
44
44
38
41
40
46
37
40
43
49
43
43
45
44
45
40
40
42
44
39
46
40
49
45
44
47
46
45
44
46
45
46
44
41
47
44
42
48
38
45
44
44
40
48
43
38
46
40
44
46
45
41
47
45
41
45
41
46
41
47
42
43
42
43
41
46
45
43
40
48
42
44
29
28
44
42
45
40
42
48
41
40
44
41
42
46
47
45
46
43
45
47
30
40
43
44
44
41
42
41
45
40
46
46
39
43
46
40
42
43
41
41
44
38
41
43
45
43
38
46
46
45
50
39
41
34
45
41
42
44
41
43
46
43
42
40
44
43
41
46
47
44
45
40
43
43
39
40
43
41
44
44
39
42
43
42
40
43
43
42
41
39
42
46
39
43
41
42
40
42
38
43
45
40
43
44
41
48
39
40
43
31
44
41
40
43
42
43
41
40
39
44
44
42
41
44
44
43
49
44
44
36
42
43
43
46
46
40
44
27
39
29
46
42
44
42
31
41
46
42
42
41
42
48
43
42
46
44
40
44
45
42
40
42
47
62
65
63
64
62
63
55
64
66
58
63
60
64
63
65
63
56
71
63
64
59
65
58
58
64
65
66
63
64
59
63
65
62
62
62
60
57
63
63
61
61
64
62
64
64
62
67
65
68
66
56
69
63
46
67
57
61
48
63
63
55
63
66
66
66
62
66
63
48
54
63
66
62
45
65
57
63
62
63
61
65
64
64
67
64
61
62
65
64
65
68
68
64
62
70
66
63
66
65
61
63
64
64
62
66
62
65
43
67
44
64
61
68
65
62
60
64
67
61
65
59
58
64
64
68
63
60
66
62
67
63
64
65
63
55
63
54
60
69
63
69
64
67
65
65
60
65
67
62
63
59
67
63
65
61
64
64
67
60
47
64
65
67
69
64
65
69
68
63
65
69
62
65
60
65
63
44
66
68
62
62
65
64
60
69
64
60
63
65
65
57
61
59
67
60
64
61
63
61
65
64
70
61
65
60
66
62
66
62
62
67
62
62
60
63
61
61
64
65
61
56
63
67
66
64
67
62
63
61
43
66
62
65
61
67
59
43
64
64
62
62
66
67
65
63
59
58
61
62
61
65
64
61
64
62
55
56
63
58
60
60
67
67
28
58
67
59
60
49
66
62
62
65
46
55
65
64
59
60
70
69
64
67
62
63
67
62
64
63
59
43
60
61
67
61
64
64
65
67
61
59
58
68
63
64
66
63
57
57
64
63
56
68
67
61
67
63
57
64
68
64
65
60
62
60
60
67
64
67
67
61
63
63
70
47
62
64
61
65
61
62
66
65
62
65
64
65
64
63
60
64
63
61
64
65
67
65
64
59
60
60
61
52
60
63
63
64
61
64
40
63
65
64
64
64
66
62
64
59
63
64
60
59
68
65
53
61
60
60
63
63
60
53
65
61
63
67
65
68
64
65
65
62
64
61
53
66
63
62
48
68
62
62
61
62
59
61
64
62
64
48
62
62
62
59
65
67
54
63
68
63
63
62
47
60
64
61
43
64
62
67
71
58
63
61
67
62
64
62
65
63
66
64
63
60
65
62
66
64
66
63
63
62
71
63
66
61
66
48
61
64
64
62
60
64
64
63
67
62
63
61
48
56
72
66
66
68
62
61
64
60
63
58
67
49
63
64
68
67
63
62
62
57
68
60
61
67
61
63
65
61
57
44
63
60
59
28
68
53
63
63
51
68
65
67
63
46
63
64
60
66
60
60
62
63
67
61
62
66
62
67
61
62
58
67
65
67
67
59
61
66
55
66
67
63
62
65
62
63
67
60
64
62
62
65
60
65
59
67
45
64
64
66
67
66
43
59
63
60
65
68
65
63
61
64
60
67
63
66
67
55
62
66
66
68
67
58
64
63
64
67
66
64
64
70
63
57
62
66
64
64
59
59
67
66
62
61
66
66
53
65
65
62
65
56
63
57
67
66
68
59
62
56
64
61
68
58
64
65
61
66
59
62
65
63
67
58
62
55
63
63
66
62
65
62
68
68
67
62
56
61
64
65
67
63
61
51
63
63
63
69
61
61
66
63
58
58
61
66
61
46
61
55
63
66
59
69
63
58
63
65
63
71
64
64
60
67
60
57
64
61
61
58
65
64
63
53
60
69
63
59
67
54
67
63
66
56
66
63
49
62
59
65
61
64
62
59
64
66
64
61
66
65
63
65
64
62
61
69
54
61
60
60
63
66
65
63
63
63
46
55
64
46
70
67
66
65
50
68
64
66
59
55
66
60
62
69
66
62
63
66
65
67
66
61
65
69
67
61
62
65
67
65
67
63
66
64
61
69
59
64
65
72
64
62
56
62
63
68
60
60
68
64
51
65
60
66
66
63
60
65
67
65
59
65
62
61
48
60
58
66
66
62
60
60
66
67
49
66
60
63
51
62
65
68
62
63
63
62
61
55
66
63
60
69
49
64
56
69
62
63
53
57
55
67
64
53
57
62
59
61
62
66
56
66
65
58
65
65
64
67
59
67
62
61
66
62
64
66
67
64
64
63
63
63
55
70
60
62
61
49
64
62
66
62
65
67
59
60
65
61
64
48
64
53
66
63
62
61
64
66
61
59
57
58
63
55
64
62
65
57
45
64
62
59
56
55
57
47
65
60
66
62
64
57
57
64
53
64
58
60
70
59
65
63
59
65
51
59
62
66
59
66
63
67
65
62
67
63
62
64
62
63
63
42
69
55
64
64
65
52
61
65
63
66
66
65
64
61
60
61
63
66
65
63
60
64
73
64
62
49
63
64
56
63
68
64
65
61
63
84
83
73
80
86
83
76
69
85
75
62
85
76
79
83
88
72
85
72
79
82
62
83
78
85
87
84
85
74
81
74
79
88
82
74
77
85
85
83
80
60
83
80
89
77
84
81
76
84
82
84
86
65
90
77
74
87
79
81
89
90
66
85
84
82
76
85
84
64
81
69
84
89
83
75
79
83
77
80
80
83
86
84
85
81
87
90
86
81
82
83
88
69
83
87
90
83
86
83
81
85
80
81
87
87
81
86
75
84
81
89
87
87
86
87
85
60
89
85
79
82
74
78
86
86
83
90
83
79
81
83
68
83
67
72
62
86
86
81
64
87
91
68
80
84
82
88
88
84
72
81
86
80
79
81
84
85
84
74
90
83
84
70
72
80
84
86
74
83
83
76
86
78
84
81
85
80
81
88
82
84
85
85
86
84
85
85
62
85
82
84
87
83
72
72
83
83
85
83
84
83
82
83
67
80
80
78
82
86
88
86
74
82
90
85
88
89
82
64
81
83
84
81
85
86
87
86
72
65
82
86
86
78
74
83
84
82
85
82
85
80
81
86
82
69
83
85
84
85
82
82
80
87
81
82
78
82
84
84
87
86
75
66
83
85
80
58
69
85
75
88
88
76
84
81
81
85
86
87
80
85
82
87
88
82
77
89
88
88
64
82
82
85
82
80
80
84
81
79
84
85
84
83
85
89
85
80
85
88
93
87
84
81
89
83
74
78
85
71
82
86
88
86
87
67
87
81
83
80
87
89
86
79
60
89
69
81
89
79
87
80
84
82
70
77
65
82
83
71
81
85
82
84
86
87
85
84
80
75
86
82
81
79
87
76
83
87
84
82
84
82
88
88
80
85
63
87
85
75
85
85
88
84
75
87
78
69
81
86
82
82
83
70
73
86
84
86
70
89
79
65
74
85
82
83
90
89
72
83
89
85
80
83
87
66
83
80
79
87
87
84
90
92
78
84
67
68
83
75
80
69
86
81
76
74
88
84
81
83
85
83
87
77
64
82
84
86
84
89
84
89
87
64
85
78
86
86
85
87
86
87
85
80
83
88
85
89
84
87
84
85
84
83
84
78
87
81
83
85
83
71
79
81
66
84
86
87
84
68
84
82
80
77
72
79
82
76
89
81
64
84
84
82
82
71
74
85
86
85
83
70
80
89
84
88
81
88
83
87
84
81
85
87
87
77
86
89
78
80
83
61
78
83
58
90
82
85
81
87
85
83
85
84
83
85
80
79
87
81
79
82
88
80
86
86
82
84
87
85
78
83
89
85
80
65
80
84
87
80
85
77
74
83
70
70
84
79
86
87
84
84
55
77
81
85
80
89
83
85
85
82
89
87
86
69
89
85
83
78
92
85
82
81
84
77
81
89
82
63
83
82
78
89
81
63
86
91
80
78
85
83
86
75
82
83
82
78
80
86
83
80
85
91
84
89
75
84
82
75
81
85
87
83
84
84
80
79
79
84
73
82
85
85
92
86
83
84
60
90
82
75
84
80
84
83
79
67
82
84
81
84
79
66
83
83
83
84
88
87
88
85
88
86
83
82
84
82
87
65
84
61
85
81
88
87
83
81
81
77
91
73
86
85
91
85
89
81
85
82
85
86
66
83
71
80
89
69
85
78
70
83
82
84
85
80
81
69
84
82
82
67
81
68
85
85
83
86
83
86
85
92
85
88
78
82
87
79
85
85
82
76
88
85
91
64
85
83
82
64
81
80
85
82
84
75
81
82
88
84
68
88
87
83
89
69
82
81
84
85
85
50
76
85
87
83
69
85
87
81
80
48
82
84
87
83
82
72
82
76
88
85
46
85
78
79
83
84
79
68
88
88
83
87
87
84
83
84
61
76
78
86
90
84
80
62
68
84
56
69
81
71
87
86
80
82
86
84
86
83
82
86
87
85
81
84
78
82
89
83
85
84
87
81
74
85
80
88
69
86
86
85
86
78
73
82
82
81
89
80
85
86
89
87
89
83
86
83
67
87
82
82
86
82
88
78
83
83
86
87
80
83
81
84
86
74
88
84
84
83
83
84
86
74
83
89
87
87
83
64
88
83
92
82
84
82
72
89
74
84
82
85
85
85
84
74
84
87
82
86
79
86
75
82
80
87
84
80
69
84
83
86
85
64
87
80
86
77
76
66
91
80
85
82
87
71
87
84
79
84
87
87
82
78
82
84
86
73
85
70
82
76
81
82
88
84
88
87
81
82
81
86
88
81
85
83
57
80
79
82
70
82
87
72
82
82
83
77
87
84
83
103
109
96
103
105
104
109
103
104
103
91
96
97
105
103
92
105
85
103
105
101
107
98
87
95
98
105
94
103
105
101
103
106
105
103
101
103
83
103
104
89
90
109
105
104
84
92
104
100
89
91
101
102
106
107
103
80
95
107
107
85
108
98
105
105
95
81
91
93
100
104
84
108
108
106
82
104
105
102
103
107
103
96
103
98
83
106
105
107
103
101
103
104
99
104
107
108
95
90
102
108
101
108
106
107
103
105
85
107
101
104
108
107
105
88
105
102
93
99
102
103
105
91
108
108
99
106
100
101
90
109
103
108
109
105
85
102
106
90
104
110
105
102
105
108
110
105
106
104
108
108
102
105
94
104
105
98
100
102
108
109
80
88
103
100
107
85
100
95
90
106
104
93
103
107
98
103
104
102
100
106
108
89
106
96
105
110
90
104
111
102
108
87
107
103
107
102
104
88
110
102
100
104
105
102
96
100
101
105
103
98
105
107
101
110
106
101
98
87
102
102
105
100
87
106
105
98
95
109
107
95
107
100
107
102
89
105
96
96
106
106
70
107
96
107
103
87
100
102
102
82
100
96
102
106
102
94
92
91
101
87
93
105
104
106
106
87
107
103
92
109
102
103
104
92
101
102
100
105
102
101
102
100
98
102
107
96
68
101
92
102
106
100
99
100
103
90
89
91
88
102
96
110
108
101
79
105
106
103
88
106
97
107
99
104
90
98
106
110
98
102
106
95
104
104
95
105
97
107
106
104
107
103
86
103
101
83
104
103
105
69
85
105
109
105
106
108
95
102
90
102
85
98
92
99
104
92
97
102
89
103
106
105
80
100
93
110
105
103
103
104
104
86
109
111
104
99
109
101
86
108
102
110
107
104
99
106
95
96
104
92
102
104
98
102
108
101
115
105
109
108
93
106
88
98
104
86
100
108
82
105
88
99
104
105
105
107
96
104
106
106
104
94
102
105
104
100
91
101
90
109
102
79
101
108
100
103
105
101
86
100
99
106
106
98
98
94
107
109
91
109
105
108
91
91
94
106
109
103
100
105
95
105
86
101
99
97
100
104
102
110
103
103
104
81
103
109
99
104
103
93
103
93
67
103
90
105
111
100
105
95
94
106
105
107
105
98
100
83
109
101
102
88
92
100
104
86
106
101
106
96
101
96
105
96
99
91
107
103
103
109
103
86
101
103
100
101
95
103
104
106
94
103
98
90
102
98
106
101
87
93
103
87
103
84
112
104
102
91
88
107
110
103
86
108
105
100
84
101
103
81
106
92
102
102
80
72
100
103
85
102
103
103
105
101
106
105
107
109
92
91
87
99
106
88
88
108
102
94
100
104
83
115
97
103
105
104
99
105
103
84
100
87
109
103
85
101
99
107
107
108
108
102
107
94
99
107
95
101
105
102
104
106
99
103
104
102
109
107
103
92
110
87
97
106
105
107
112
108
100
90
111
106
95
104
104
105
105
97
102
107
99
105
108
102
102
104
104
93
93
109
102
90
97
86
97
101
94
102
85
110
105
93
88
110
96
105
102
99
100
97
107
109
103
83
105
88
96
94
107
85
96
111
89
102
107
101
75
106
92
106
106
100
111
104
104
95
99
102
100
107
111
103
97
100
108
107
102
101
93
85
102
89
102
91
96
104
107
79
104
103
108
97
102
95
107
104
95
103
102
111
102
106
98
91
111
101
95
102
106
110
104
102
100
105
93
107
107
101
106
109
109
100
99
104
103
105
110
90
98
91
104
103
107
105
103
105
89
85
94
92
93
107
103
96
105
103
83
100
84
102
107
101
98
92
71
95
111
104
107
107
100
98
95
110
87
95
97
104
102
100
90
107
98
87
113
102
91
105
107
94
92
104
102
91
107
90
107
104
95
91
107
94
97
101
100
102
106
111
103
104
96
99
101
100
93
108
93
109
110
85
107
104
99
104
105
88
88
109
102
94
104
93
98
109
84
106
102
103
102
97
101
105
109
103
106
102
108
90
103
102
102
85
101
100
106
105
107
100
106
88
113
100
101
100
103
105
103
98
100
98
107
90
101
106
107
108
78
103
103
108
105
107
100
96
102
103
101
103
104
103
108
108
98
110
96
92
99
106
110
95
93
106
100
86
87
98
103
110
103
98
110
96
109
89
103
102
86
99
108
105
100
96
85
104
106
100
92
88
87
110
100
98
92
103
105
107
95
105
98
102
88
100
94
89
109
104
111
107
102
103
100
83
107
104
105
105
102
101
103
95
107
102
95
104
104
99
96
101
74
114
121
123
125
126
122
125
128
122
116
116
102
134
124
112
126
123
125
129
130
109
119
130
116
127
126
128
126
102
129
100
120
128
109
118
119
109
102
126
127
103
96
128
129
114
123
126
99
118
120
108
101
114
122
120
125
123
118
126
129
122
120
116
124
113
87
125
126
113
100
103
126
126
126
126
115
130
111
119
128
126
116
122
111
114
130
121
120
109
109
120
120
116
110
119
87
130
119
129
109
128
117
125
109
118
108
127
104
127
125
110
130
116
126
96
121
122
125
108
128
120
127
110
122
115
125
108
106
93
109
121
123
126
123
127
118
125
115
130
128
119
115
109
123
129
121
119
110
121
128
116
128
101
105
118
107
122
110
129
92
113
126
125
113
120
126
95
127
108
112
125
108
105
110
115
123
125
104
123
123
122
113
122
129
122
111
101
127
126
111
128
124
129
115
121
125
108
123
123
121
121
111
107
116
117
116
126
112
109
119
106
118
125
120
126
95
121
122
79
123
97
128
121
120
125
113
98
107
127
127
124
122
118
129
124
128
117
122
115
124
125
126
106
123
115
113
116
123
120
104
118
127
120
130
117
123
124
125
126
129
108
115
118
107
120
108
128
124
126
121
106
126
126
123
122
109
116
103
120
126
134
107
117
128
121
130
127
118
121
100
111
119
102
127
111
114
105
120
125
106
123
123
99
85
113
119
120
129
99
91
119
101
123
127
110
130
122
108
125
117
105
97
106
110
103
106
118
123
108
110
109
107
130
112
121
129
91
124
125
97
108
123
121
123
113
127
121
120
121
112
102
125
122
127
112
122
115
128
111
121
129
103
97
100
132
125
114
122
114
126
119
91
103
122
129
121
117
112
116
133
118
119
123
126
107
118
122
113
113
124
116
108
122
104
122
105
111
92
132
83
119
120
127
117
125
127
125
114
125
120
116
130
109
112
123
122
130
126
122
121
127
110
111
134
102
110
110
126
116
122
107
130
122
113
116
129
83
123
123
131
91
122
114
125
123
120
130
105
124
124
95
128
108
104
116
103
109
129
125
111
124
123
113
125
128
91
106
122
130
124
106
122
126
126
127
126
119
127
125
116
121
126
125
127
119
115
104
125
130
128
124
118
118
111
120
127
123
121
122
118
122
108
117
109
124
109
129
104
111
117
108
110
127
118
123
127
126
126
130
108
130
90
113
123
132
125
124
124
128
91
113
123
123
110
117
125
126
128
123
120
121
129
102
110
131
122
126
125
116
118
122
105
122
126
124
121
112
126
121
129
124
112
106
110
117
130
109
102
124
103
116
120
107
129
122
122
86
122
121
123
99
106
102
118
125
106
126
110
117
130
125
125
124
122
117
128
129
118
110
98
122
101
124
102
85
123
116
130
130
120
124
119
114
127
121
109
116
123
128
127
109
125
126
113
127
120
105
134
124
129
107
126
127
131
110
123
124
116
127
101
123
111
123
124
126
113
111
128
123
124
122
111
124
130
117
121
127
100
123
121
121
123
121
114
125
129
125
115
127
124
126
112
118
130
114
119
130
128
127
94
129
126
110
126
113
103
128
127
125
110
107
107
129
128
104
119
122
117
126
112
125
125
115
128
112
108
116
113
119
120
109
99
109
126
126
112
123
131
127
92
106
122
121
125
128
120
118
127
133
109
115
123
106
121
117
125
119
112
101
110
128
122
122
129
122
108
126
125
111
125
129
109
104
131
122
131
107
122
119
126
120
126
128
123
97
111
124
115
119
119
132
107
107
128
118
117
123
126
119
111
125
119
129
124
114
125
128
126
126
128
122
117
127
125
121
122
129
122
121
100
109
106
126
121
122
127
89
110
130
110
120
126
119
129
119
121
101
123
114
117
110
128
128
123
127
116
125
112
121
128
122
125
120
128
125
118
124
119
124
113
131
125
123
119
117
126
104
118
122
124
106
103
129
127
121
105
127
120
124
110
110
103
110
108
125
125
113
121
108
115
121
104
120
113
115
109
125
123
102
111
109
122
116
128
126
121
124
103
99
125
106
126
111
123
110
117
109
108
127
106
121
108
102
126
132
122
124
123
129
115
125
129
124
117
122
106
126
125
110
110
121
129
101
123
124
113
127
117
118
112
122
124
102
122
109
95
120
118
122
114
97
115
117
120
109
130
98
133
112
120
113
127
128
107
105
107
126
106
118
127
119
113
110
120
109
130
124
117
132
129
112
126
108
104
107
127
119
104
131
121
127
128
123
115
121
123
127
112
121
121
125
111
124
114
127
103
127
123
98
116
144
135
133
134
150
148
143
145
140
136
146
127
147
133
142
139
145
146
129
117
131
142
111
140
131
137
132
127
136
135
125
124
119
141
134
143
143
138
148
114
148
144
147
136
139
143
147
145
136
143
137
143
142
144
136
147
141
141
126
129
126
125
130
126
139
139
140
129
136
143
152
117
127
131
140
143
151
111
105
113
151
151
144
116
126
139
124
110
150
121
132
132
118
149
136
136
148
126
105
130
120
124
151
143
128
141
151
115
129
144
111
147
137
142
149
122
141
149
137
135
139
149
144
130
133
141
144
110
147
149
145
148
144
147
139
138
146
148
152
138
143
129
147
146
149
134
150
138
131
142
147
138
138
129
105
154
147
123
138
130
141
147
148
125
148
131
148
143
107
139
128
147
146
141
143
135
143
120
140
134
130
127
128
138
147
138
146
144
131
124
127
112
143
144
144
152
151
126
119
139
121
141
153
137
137
140
137
135
128
118
144
145
132
133
119
135
148
142
133
132
108
142
139
122
144
136
137
144
148
139
116
149
121
137
115
117
113
122
144
145
145
139
144
123
140
118
124
120
140
126
145
150
142
150
141
145
131
126
130
139
137
137
133
139
149
129
129
131
152
137
136
121
135
139
142
143
149
137
154
136
129
137
140
149
133
130
127
150
141
125
148
140
138
127
148
127
140
134
147
135
131
128
107
146
145
144
131
150
134
127
132
129
127
140
150
127
132
144
126
152
141
142
129
142
138
127
145
141
147
145
145
120
129
123
150
149
128
150
142
125
145
138
140
141
150
117
150
129
119
135
98
142
148
127
126
144
135
149
131
131
135
144
105
145
121
123
126
137
133
143
117
131
132
131
102
150
142
130
124
124
154
145
129
149
136
116
126
147
142
129
143
144
144
135
137
128
131
143
147
132
141
152
141
138
144
147
120
138
136
132
124
144
133
118
149
131
132
149
119
133
130
123
142
123
146
148
122
141
132
155
137
132
138
143
143
134
141
127
155
138
135
144
137
130
143
119
143
144
141
114
143
129
124
139
141
139
124
131
142
150
141
128
136
149
121
134
143
134
125
137
124
105
140
153
135
135
142
113
124
129
149
137
112
122
129
129
139
141
146
128
115
133
139
149
144
125
148
141
150
140
144
145
129
145
135
142
140
123
147
146
116
125
149
145
120
133
117
144
140
133
151
129
153
141
147
137
137
143
148
142
153
127
129
144
131
136
137
150
143
125
119
127
142
145
150
133
150
117
134
144
148
134
120
126
117
121
140
149
136
142
144
133
126
132
140
142
133
135
135
125
132
134
137
148
150
132
131
139
131
113
140
145
144
126
140
137
139
138
133
150
138
140
141
149
143
139
143
144
136
141
138
139
138
145
118
152
145
127
138
146
144
119
136
134
129
137
136
126
127
144
112
145
138
133
147
127
145
137
142
123
141
147
148
116
126
141
140
141
144
121
142
142
148
138
113
149
143
117
127
147
146
145
145
152
150
113
137
145
141
135
148
145
127
145
150
143
141
154
130
138
147
141
141
148
117
131
141
134
145
146
125
145
129
124
121
140
127
123
135
154
151
125
143
143
141
144
146
150
147
145
132
125
138
149
144
141
130
140
142
137
129
141
144
147
130
147
127
123
144
142
146
141
127
142
127
143
140
151
129
147
146
138
135
128
134
128
146
129
134
142
141
119
148
148
139
133
143
130
149
144
142
140
139
129
141
118
128
146
141
146
141
129
140
144
115
131
132
129
122
150
129
133
129
101
146
150
134
139
147
140
129
140
138
144
145
135
128
145
140
141
135
147
124
147
133
126
127
118
149
137
122
145
146
139
140
112
124
120
143
105
131
111
132
127
141
126
142
130
142
127
101
139
141
149
149
150
142
143
147
143
123
138
128
151
122
120
129
127
108
122
138
149
146
149
154
143
150
130
143
126
122
146
133
136
129
144
142
134
121
145
144
135
124
130
139
128
132
145
140
141
130
113
149
145
118
143
142
145
126
148
136
127
141
135
133
138
136
135
143
144
150
121
137
135
139
151
134
134
132
136
146
112
125
153
122
147
145
150
140
144
134
134
145
135
146
135
132
145
121
144
146
133
152
128
129
135
134
131
126
153
128
130
144
134
136
119
148
125
144
140
151
129
136
148
116
136
147
133
143
134
136
142
147
148
147
139
135
141
144
135
126
151
121
145
136
140
141
146
132
137
140
134
137
133
140
143
133
144
143
134
145
119
139
148
109
135
146
129
124
132
129
125
142
128
134
137
138
131
127
132
148
145
165
156
164
116
145
159
156
157
167
136
150
150
165
155
144
124
168
142
143
117
149
142
156
152
140
153
161
160
120
145
141
148
161
146
142
157
148
162
134
131
150
147
145
156
149
151
143
164
157
140
150
166
152
160
134
150
135
150
164
147
145
169
160
146
158
151
160
165
167
153
162
133
168
166
154
141
147
153
147
152
162
135
160
170
168
150
150
156
106
158
137
165
161
132
168
134
164
157
118
158
143
151
166
156
143
158
172
148
146
166
155
136
154
144
172
158
170
149
165
151
154
144
144
141
161
160
154
167
134
166
147
154
163
149
145
159
158
163
149
156
154
155
159
169
137
147
131
161
136
162
142
153
151
164
139
170
135
141
153
161
162
158
130
165
146
153
153
163
139
156
150
155
161
156
168
122
148
146
167
140
150
144
158
148
158
147
172
161
121
155
149
156
166
163
152
168
152
144
160
129
150
153
163
146
161
150
145
134
121
166
166
167
160
150
152
140
147
159
107
157
117
135
170
152
148
157
149
166
139
141
139
165
160
157
135
163
163
163
152
167
167
161
154
161
142
143
156
172
151
142
152
144
145
152
169
147
167
165
155
165
159
158
165
157
164
156
166
162
160
147
144
141
159
161
151
148
152
139
150
148
161
153
150
154
155
167
171
171
162
165
158
143
151
156
165
128
156
149
135
132
142
161
171
145
167
160
158
147
154
138
164
144
168
154
154
158
168
149
150
145
163
166
161
163
146
140
146
168
162
153
172
166
164
147
170
158
154
144
153
167
150
159
164
148
140
156
152
144
132
161
141
148
169
148
152
147
157
126
155
170
153
159
154
154
151
131
153
161
170
178
150
168
165
127
150
165
154
160
149
149
167
163
146
113
158
162
159
140
150
169
168
166
113
158
160
167
170
164
147
145
150
165
133
152
161
154
171
150
132
162
131
136
172
169
161
150
149
169
166
142
138
162
132
152
148
167
152
171
140
157
153
133
149
150
155
162
155
164
163
159
162
142
166
149
158
160
160
155
144
150
153
166
142
158
165
166
150
159
163
153
153
162
165
168
141
156
149
158
165
166
139
160
132
130
152
138
165
134
163
160
161
163
146
148
155
167
159
153
149
172
149
146
144
148
138
149
166
136
146
151
140
152
147
151
159
151
156
166
154
119
159
167
139
169
163
139
161
164
145
165
169
157
141
133
150
143
163
162
150
152
145
166
141
160
157
157
134
164
130
158
145
174
138
170
145
163
145
151
154
169
146
152
157
129
169
155
145
158
165
156
164
171
158
161
159
163
162
147
156
148
162
140
118
146
143
161
147
153
141
134
130
149
155
135
159
155
162
146
157
163
144
166
134
160
164
163
152
166
137
166
165
163
155
133
167
159
146
165
163
146
157
165
166
142
162
159
168
166
149
170
151
133
168
153
133
160
160
150
168
165
159
168
171
154
162
168
146
163
155
151
163
167
129
147
144
128
166
164
149
167
148
153
152
169
153
156
146
139
170
159
162
163
168
142
167
160
145
155
147
148
151
151
165
152
161
160
152
160
165
165
168
154
172
143
129
136
164
166
150
171
165
120
159
174
155
170
137
139
169
113
149
163
160
152
147
148
156
165
153
164
163
172
122
166
168
156
155
165
149
154
162
128
154
167
139
168
155
157
164
151
151
160
159
155
147
162
166
135
141
161
155
143
150
128
163
150
124
134
166
150
160
160
160
163
149
165
137
150
166
149
139
173
160
144
127
160
155
165
150
159
145
173
165
168
162
135
117
148
156
167
157
159
163
160
118
165
163
152
166
169
153
136
165
150
132
139
174
147
164
161
162
161
136
163
157
168
169
148
167
157
149
144
153
160
162
155
165
158
143
159
130
166
167
157
146
144
146
168
123
168
155
128
151
145
147
146
126
148
169
152
162
141
168
157
154
154
150
171
122
157
149
166
154
152
140
171
148
165
144
164
155
159
146
146
164
168
164
164
151
140
161
143
149
142
157
143
144
167
156
132
155
150
151
148
132
160
155
147
124
153
139
148
149
143
143
134
157
165
159
164
168
153
146
168
162
136
152
138
143
169
169
157
158
142
161
140
160
148
143
149
162
163
160
159
151
141
165
170
166
145
159
155
167
125
172
149
156
160
162
165
142
162
143
151
167
134
143
133
156
152
163
149
147
155
145
150
165
170
167
124
166
150
159
149
158
161
161
169
162
149
135
149
148
154
161
141
158
158
153
144
149
141
155
152
160
138
147
150
152
147
140
161
163
154
164
158
169
165
179
148
172
171
158
180
153
166
183
155
165
174
175
133
172
162
163
147
180
166
177
133
185
185
169
171
168
168
185
172
122
181
161
183
196
162
174
180
162
175
139
128
182
146
195
189
183
183
167
181
179
165
179
161
191
196
182
144
145
172
164
152
174
169
166
172
143
159
161
177
173
165
173
184
177
174
180
161
167
177
175
169
157
137
179
168
187
167
181
142
164
186
162
179
184
170
144
168
172
162
192
162
188
166
184
190
179
153
177
180
176
166
187
183
174
162
188
157
185
171
150
178
160
187
175
173
161
166
177
155
171
172
164
177
160
191
176
151
161
170
193
186
181
175
170
177
147
172
185
161
179
151
182
185
157
169
173
170
145
166
151
175
186
133
177
167
180
160
172
173
171
186
162
174
160
188
182
177
167
161
176
153
169
186
169
163
153
169
183
158
193
176
189
184
168
181
182
181
179
174
190
175
151
145
141
185
150
170
190
165
150
162
185
165
182
187
174
147
178
161
179
190
186
179
171
164
170
158
170
172
176
149
179
158
171
171
177
149
168
172
171
176
161
179
171
140
180
179
179
148
164
184
164
161
173
164
184
144
166
151
156
176
158
175
175
178
182
162
135
190
175
162
179
176
189
190
164
175
187
165
178
173
173
180
167
175
190
182
181
173
165
174
181
190
182
177
186
166
171
185
155
155
158
186
176
173
148
154
145
157
178
152
174
177
187
126
155
198
146
173
164
185
188
162
156
184
183
194
175
143
171
164
186
157
173
166
166
182
186
154
159
163
169
183
174
167
177
188
161
167
168
170
155
163
166
169
184
178
178
131
167
183
142
181
172
156
165
165
171
150
179
169
157
188
173
177
170
168
161
164
159
179
174
176
165
160
177
175
165
161
152
181
176
182
183
161
154
151
169
155
168
173
152
175
154
169
163
154
170
190
189
181
153
189
167
182
171
164
146
168
152
177
155
157
170
141
176
168
184
175
176
151
174
184
186
173
167
179
155
152
183
179
149
163
178
168
188
176
174
145
177
166
169
186
152
157
158
150
189
153
169
168
175
188
185
181
161
183
186
184
192
162
172
146
184
166
173
186
188
170
179
188
188
185
185
168
162
182
176
181
181
183
173
150
161
185
162
162
174
174
150
185
137
176
153
187
170
163
179
191
175
181
179
180
167
164
177
163
147
153
182
158
184
171
188
162
159
159
182
159
196
165
187
173
145
173
134
180
177
183
163
169
169
170
179
171
183
191
191
188
181
171
175
165
166
168
168
176
190
139
188
161
189
159
185
178
183
156
162
164
170
146
161
174
180
180
184
168
190
185
188
152
167
191
178
177
184
177
187
179
188
162
167
182
174
158
175
166
142
178
168
183
181
159
150
152
169
187
171
184
166
150
193
164
184
175
173
173
173
165
188
177
173
180
164
178
182
180
169
127
173
166
155
188
166
153
128
170
170
178
199
167
134
160
170
147
183
165
194
182
170
152
181
182
164
169
182
181
176
186
177
173
168
156
165
168
177
186
173
162
130
155
175
176
165
175
170
165
183
148
178
191
156
179
186
149
139
184
161
177
150
167
172
182
165
162
183
155
184
146
185
156
177
167
157
175
185
177
178
172
152
182
167
182
164
171
190
141
185
165
139
152
187
180
172
165
181
172
150
168
163
138
168
156
183
187
166
171
175
164
177
187
148
163
188
159
137
188
179
177
186
167
163
173
168
184
194
167
181
182
181
155
189
188
168
159
184
166
180
181
180
155
187
127
174
159
182
156
162
155
170
173
187
182
174
195
180
168
187
184
154
178
175
188
178
183
152
179
156
158
172
165
146
176
177
142
179
172
176
166
177
188
185
169
151
169
182
185
168
170
167
176
162
183
163
169
181
182
170
175
193
182
137
156
193
171
176
168
177
164
176
174
176
178
164
173
177
188
179
160
139
168
187
154
182
182
179
152
163
178
160
181
165
179
175
168
188
170
186
150
187
177
158
185
155
142
182
171
159
160
168
165
168
187
181
188
189
182
183
182
156
176
174
150
175
161
172
190
169
188
148
156
175
159
158
168
137
185
147
166
155
180
166
188
183
187
180
173
165
177
177
156
184
167
171
161
155
181
162
149
183
174
155
164
164
175
154
185
161
171
113
184
138
154
186
185
179
191
153
166
154
173
170
179
165
175
164
188
176
179
188
180
153
167
175
175
182
185
183
157
189
192
169
183
178
160
184
159
158
141
124
168
183
175
186
161
181
161
185
165
183
148
167
150
156
158
186
169
177
187
185
171
179
209
184
190
162
212
194
195
199
203
201
176
199
196
189
166
193
188
172
189
203
186
178
191
162
180
195
212
176
187
168
185
182
177
187
181
195
205
166
163
196
182
176
151
182
203
176
177
204
185
184
201
183
194
172
172
213
187
216
207
175
207
192
186
183
174
199
185
167
183
198
190
187
167
165
186
189
177
195
192
210
194
194
185
209
158
169
174
203
191
197
192
205
157
195
208
198
193
191
193
190
204
180
206
160
186
206
212
191
189
195
195
203
193
178
188
184
185
200
188
205
162
195
165
163
203
206
146
194
181
172
163
178
184
198
195
202
194
181
169
156
197
173
200
203
179
166
203
183
168
201
190
210
182
200
164
209
203
143
149
186
183
199
173
179
192
211
191
181
164
184
200
176
192
183
184
171
193
192
204
184
168
211
208
188
196
195
190
201
164
201
191
185
192
181
182
212
208
195
172
182
174
167
207
195
178
190
201
206
196
195
187
189
200
197
181
174
171
185
173
187
180
164
204
196
166
195
191
183
196
186
198
189
191
167
187
202
193
185
183
173
163
216
196
178
175
209
179
212
201
171
175
195
200
197
164
193
194
202
181
188
188
187
203
150
218
196
192
178
193
195
177
171
213
146
175
160
181
165
214
160
179
156
191
210
183
173
202
191
206
198
213
185
187
198
191
172
193
193
205
162
205
158
169
207
203
195
158
201
209
181
177
157
165
155
190
168
203
180
182
200
213
206
206
184
190
179
184
209
193
169
186
199
177
172
190
189
181
169
186
187
186
163
173
204
191
160
182
196
186
202
212
191
177
209
174
205
175
194
192
189
199
197
192
188
178
198
180
166
212
179
211
187
193
185
182
186
178
188
210
181
189
182
204
158
197
197
195
175
191
191
208
201
164
169
174
182
210
186
192
144
194
178
152
195
165
213
186
170
163
164
203
181
207
175
179
185
204
187
199
168
173
156
183
171
186
182
174
207
178
188
179
195
191
171
179
168
156
201
194
170
199
192
155
210
200
205
181
201
204
181
185
204
187
173
208
183
201
190
178
205
193
180
181
212
192
194
170
176
187
172
191
196
200
176
176
189
198
181
183
208
203
201
191
190
212
176
189
212
165
197
204
188
178
200
145
206
190
202
171
181
200
188
204
205
173
179
199
201
194
203
181
193
168
180
196
180
201
208
176
188
145
198
212
185
192
178
168
198
189
205
203
207
182
185
185
173
189
146
190
159
165
170
175
182
180
191
170
177
198
177
208
188
205
206
168
207
188
206
194
187
195
201
199
207
215
211
194
191
183
194
182
190
188
181
176
174
167
159
194
180
167
208
203
196
188
198
199
156
152
199
184
194
173
192
180
191
202
191
200
196
205
181
198
172
208
192
187
195
191
187
182
200
140
192
178
189
207
207
210
194
177
162
200
204
190
165
156
208
197
191
200
176
193
179
169
204
204
187
181
191
182
208
171
181
185
184
202
199
191
205
193
189
157
205
203
184
160
179
168
204
202
180
172
185
192
181
201
203
164
193
180
179
168
196
163
195
182
188
163
176
202
178
159
189
202
201
189
165
194
184
202
166
188
208
178
204
191
202
197
194
202
205
211
200
178
193
173
203
187
173
163
193
160
207
144
201
187
204
198
181
181
180
191
195
168
209
210
187
176
211
192
184
196
179
158
192
198
193
169
175
180
189
209
191
178
178
207
210
158
167
194
199
170
187
162
190
200
201
202
197
189
194
199
176
184
189
193
191
207
190
186
186
173
193
199
205
210
196
213
186
180
195
177
183
196
203
187
184
185
183
180
216
188
184
180
203
210
186
184
212
164
182
194
192
152
162
191
209
172
162
178
201
206
201
205
190
177
180
187
173
194
196
190
178
197
191
187
208
183
190
191
206
203
200
186
188
191
186
204
208
206
198
206
177
168
166
178
198
195
168
193
187
182
200
198
167
162
189
174
172
194
184
205
187
166
188
163
178
209
210
177
182
205
202
184
176
190
182
196
181
172
193
179
208
195
207
196
196
190
176
193
189
168
173
188
161
201
202
196
182
179
191
207
205
184
177
182
182
177
172
201
191
196
183
197
188
185
196
173
203
187
194
204
189
164
196
167
205
190
201
186
189
172
169
198
180
208
178
189
193
192
194
191
189
210
194
184
177
184
197
198
188
185
175
174
174
194
181
207
187
202
189
195
205
172
175
196
198
209
186
164
182
185
191
171
179
165
169
186
173
212
199
185
180
159
184
195
198
181
173
188
197
192
165
200
190
193
211
210
200
196
204
180
209
182
208
202
166
185
232
195
196
211
202
219
218
201
229
203
201
215
219
213
207
184
207
186
218
200
218
229
208
206
201
216
211
199
226
194
199
211
213
184
184
231
182
218
166
200
177
198
209
199
220
229
212
192
201
206
233
214
177
172
205
225
203
204
216
226
201
208
223
207
184
182
193
198
215
190
217
217
225
174
221
188
212
174
210
192
192
194
187
214
224
185
213
179
218
211
204
209
203
185
204
163
213
189
219
221
199
182
181
199
207
217
227
207
172
202
219
198
228
190
221
239
190
218
195
207
194
197
206
184
175
215
216
211
222
223
204
189
194
193
203
212
165
201
208
207
205
203
190
166
205
222
183
194
215
189
176
188
215
194
213
206
194
207
230
218
192
202
194
204
195
219
205
193
188
197
200
223
224
182
201
179
216
212
200
170
205
193
225
190
190
197
175
207
186
222
221
205
223
230
217
215
192
204
184
208
195
211
216
172
215
220
231
220
207
197
204
213
184
217
198
174
167
214
194
178
206
205
217
190
174
191
197
207
224
200
199
223
216
196
201
200
192
201
232
209
213
201
212
212
210
186
162
193
209
186
227
188
209
190
207
213
203
169
173
211
211
195
210
196
204
202
178
177
194
221
208
196
191
200
214
225
219
184
211
201
212
203
210
216
189
200
206
190
224
222
208
225
213
222
211
207
219
189
224
204
184
223
217
199
210
208
227
214
197
190
207
199
207
220
211
200
218
217
208
207
211
172
185
229
213
217
197
187
208
229
215
211
236
215
177
179
229
214
223
216
220
222
229
223
193
191
189
210
206
199
210
210
218
209
210
207
196
193
203
197
186
168
200
192
225
217
193
179
226
214
211
189
205
224
198
211
205
209
222
182
224
226
203
201
224
215
227
201
184
187
234
218
207
209
193
209
178
195
159
195
206
212
209
206
222
222
210
172
192
177
226
192
225
208
192
203
208
173
221
200
211
202
216
219
213
216
188
183
194
202
223
193
215
218
218
233
204
199
177
221
195
200
199
211
209
195
205
195
210
220
195
196
201
197
231
226
226
197
202
203
222
182
202
210
191
217
193
197
193
192
217
212
197
180
202
217
220
188
213
216
208
212
213
173
194
203
201
231
224
202
221
211
206
219
179
193
199
204
211
217
216
158
208
188
176
236
195
223
200
214
200
193
198
233
177
167
196
208
213
204
214
178
207
197
227
177
225
190
205
222
188
210
199
193
189
219
198
174
199
179
191
172
214
213
207
191
216
208
184
192
220
215
200
224
199
179
217
210
210
211
227
219
187
225
169
202
190
178
229
199
203
190
178
220
191
190
224
219
214
178
209
174
227
200
196
179
205
200
210
207
184
191
216
227
178
204
195
204
199
200
197
214
207
198
228
183
214
204
212
225
183
214
219
178
218
204
217
187
203
192
204
168
193
208
196
194
211
207
167
188
230
206
228
226
215
212
203
231
209
215
213
198
221
188
222
202
214
167
207
189
222
179
200
236
189
211
202
199
188
209
183
192
183
183
195
177
194
198
195
226
188
154
215
190
227
210
202
206
215
230
170
173
209
195
207
186
221
209
209
202
216
212
222
216
183
219
205
182
211
226
226
213
230
211
207
206
189
198
220
202
224
197
177
206
192
205
200
201
225
225
211
171
199
205
165
210
181
211
168
220
201
223
213
202
208
211
199
200
181
203
194
235
218
202
206
178
184
204
195
191
187
227
216
176
202
209
188
212
184
217
200
214
217
211
190
223
194
234
207
181
218
221
203
233
224
205
194
186
204
208
210
220
218
231
235
218
211
201
218
192
219
196
207
190
208
208
225
182
203
198
165
216
218
183
210
217
215
210
181
218
190
191
214
216
191
190
206
200
224
200
191
202
203
173
202
210
207
177
196
162
193
204
170
193
210
187
200
214
210
225
209
205
198
216
200
159
213
180
194
198
217
222
207
202
212
202
202
221
175
183
204
178
213
204
237
192
174
209
190
232
191
157
191
191
232
201
204
228
220
196
206
215
214
225
199
193
194
219
207
202
201
227
204
219
179
220
189
167
203
207
190
189
206
159
194
203
187
207
201
226
199
210
192
224
224
203
199
213
207
222
182
200
187
203
190
173
207
198
220
210
194
189
231
203
192
217
222
199
217
202
195
196
230
219
204
204
194
203
204
214
184
202
189
195
199
209
196
206
196
226
222
196
209
200
219
223
193
198
206
227
206
197
169
222
179
218
215
202
187
181
215
231
209
210
227
207
196
202
226
198
225
208
252
238
228
249
190
222
257
215
215
202
222
216
250
225
170
198
189
220
228
190
200
205
229
213
240
241
243
214
226
249
205
232
209
180
216
234
222
242
232
234
199
226
226
225
244
204
209
233
226
231
218
211
207
198
215
215
218
215
212
199
225
239
225
241
198
217
227
242
224
182
243
219
200
225
209
210
231
204
238
217
223
202
228
207
230
193
228
228
231
231
225
207
194
215
216
245
222
198
237
228
202
222
222
216
229
242
236
237
230
242
208
223
239
219
200
220
224
213
232
182
205
217
217
204
232
212
209
229
204
230
222
200
228
245
206
249
237
205
222
190
229
219
231
218
212
250
228
224
239
210
218
218
228
228
221
220
202
217
246
219
231
225
180
249
224
236
227
200
251
240
183
204
237
237
226
214
220
234
213
204
220
227
215
211
203
238
233
217
189
200
210
223
249
230
202
202
243
229
219
240
206
221
217
219
208
259
228
210
200
204
202
193
232
222
234
219
215
218
203
239
225
222
220
208
236
205
216
240
223
223
229
215
221
228
241
186
245
223
242
197
207
204
228
206
231
189
197
220
209
171
194
230
213
238
231
224
227
236
244
245
234
212
248
228
194
241
238
207
198
238
214
224
232
228
243
220
233
220
220
224
238
172
195
190
217
225
206
203
244
207
213
243
196
237
240
229
203
222
247
209
226
195
222
220
211
215
211
236
220
236
231
226
227
228
234
221
226
216
193
206
215
215
206
201
231
203
232
227
199
224
229
218
240
223
223
239
219
191
211
236
222
223
209
208
231
241
225
237
231
240
245
225
222
216
255
239
226
239
229
229
198
226
208
209
222
213
233
234
243
233
198
195
239
219
204
234
190
206
229
230
242
217
206
226
208
229
218
225
224
178
225
205
217
198
214
208
239
254
221
205
208
203
226
229
231
231
217
221
244
197
223
209
194
202
218
231
216
208
223
203
240
219
212
228
230
221
225
239
224
234
203
207
239
230
195
252
194
250
203
227
224
219
209
198
196
221
224
216
235
254
246
237
195
220
228
241
222
241
173
225
187
242
231
227
210
252
226
235
199
252
232
238
228
219
213
251
191
222
217
242
242
243
202
236
250
228
220
230
219
233
206
225
207
248
245
229
211
197
247
239
199
230
186
219
230
192
198
240
218
207
239
231
208
218
188
201
193
234
235
244
177
228
237
244
199
231
235
211
247
200
207
228
228
216
230
197
233
193
232
202
215
186
208
212
240
234
175
187
233
225
222
232
227
237
242
221
214
223
225
236
184
247
220
210
219
220
234
208
227
242
223
222
215
176
222
230
233
213
238
212
234
244
211
236
202
181
231
218
207
208
216
211
226
245
253
241
218
196
217
223
208
227
230
225
202
235
224
243
210
203
224
218
204
232
211
215
224
222
216
198
212
197
233
239
217
205
226
227
216
218
223
235
236
205
221
214
224
224
237
231
236
219
201
249
238
229
236
226
226
222
241
207
193
214
216
227
215
213
215
180
241
239
229
229
232
223
225
229
201
217
204
214
229
232
212
194
198
204
193
211
227
176
224
240
229
246
243
227
229
220
197
217
222
228
214
243
228
180
182
213
221
244
233
226
216
244
211
218
211
232
232
209
229
207
190
220
234
221
218
205
217
243
224
213
237
228
217
224
202
219
238
229
210
187
220
204
218
244
213
230
222
198
227
216
195
193
222
191
230
214
231
244
204
211
208
231
202
225
221
235
187
196
198
205
233
209
218
220
222
212
230
231
231
222
215
236
214
228
242
237
239
205
234
254
236
217
247
176
202
221
192
243
232
233
242
218
225
209
230
206
215
209
241
216
213
261
231
243
226
250
212
220
225
214
251
237
235
240
254
236
220
240
230
183
227
231
208
238
223
222
241
238
206
224
212
246
209
224
199
230
203
218
205
221
238
226
186
246
201
240
240
224
227
192
206
206
242
221
216
239
222
234
196
215
239
219
213
203
213
214
206
202
196
214
189
238
197
242
215
248
226
205
223
214
190
239
234
220
210
230
191
224
224
226
205
241
198
209
242
211
247
193
233
232
205
239
222
210
199
197
221
208
238
232
219
252
202
215
206
242
239
193
203
202
204
232
232
210
221
224
195
207
205
209
238
200
210
218
231
201
230
245
233
231
242
238
203
233
247
232
209
216
228
189
237
241
226
213
235
221
224
237
213
245
234
201
183
223
233
215
240
236
229
200
220
212
235
226
242
250
176
213
228
201
221
202
227
214
203
200
233
235
189
208
228
224
245
215
241
233
257
217
226
218
237
236
236
209
247
252
220
265
253
212
235
236
228
255
211
243
230
239
246
239
251
262
243
255
235
246
217
232
231
225
227
236
235
225
210
236
214
240
226
234
252
239
204
243
215
236
215
230
235
241
216
242
238
269
251
219
238
242
226
186
223
232
241
243
246
246
269
264
235
254
215
223
261
206
248
232
251
227
267
199
247
208
252
252
250
213
233
231
269
250
215
261
219
204
254
255
241
234
202
227
257
228
232
245
232
228
213
256
260
243
236
231
249
217
243
212
233
222
240
227
209
221
231
240
257
245
227
231
251
231
242
230
249
254
225
233
259
258
203
244
223
226
251
228
226
241
226
248
221
220
235
234
235
213
213
213
234
245
229
264
242
230
227
212
233
259
235
235
231
224
236
251
243
263
241
265
231
247
218
222
222
230
219
221
247
246
255
248
224
237
224
236
238
213
240
235
262
233
243
249
221
264
256
243
250
223
237
242
217
203
259
217
254
240
242
260
249
249
256
239
257
249
222
226
263
229
237
263
193
245
247
220
243
235
238
222
273
238
241
212
246
199
222
233
254
229
257
259
213
228
238
239
264
239
228
230
234
186
233
249
196
208
219
231
262
251
233
220
196
223
232
229
219
233
240
253
238
258
245
256
252
251
248
241
218
237
238
242
239
236
262
236
264
221
246
247
254
245
249
193
216
239
248
236
230
230
225
235
235
201
243
230
224
258
220
252
271
228
226
255
243
240
233
218
220
255
199
226
223
205
239
249
225
242
240
245
233
233
215
259
207
262
216
194
239
220
212
244
246
233
210
207
219
213
251
221
229
241
227
230
220
250
257
235
256
273
215
225
239
248
215
261
219
250
233
222
240
257
255
263
248
224
277
226
216
250
206
233
195
244
213
239
231
239
204
215
212
227
235
253
244
231
249
225
246
243
235
250
226
250
254
244
238
213
233
227
215
262
248
220
218
253
266
243
193
220
220
249
258
268
250
226
275
263
252
227
241
264
198
238
220
218
226
239
214
222
265
269
225
243
217
228
234
255
234
210
261
220
230
219
217
243
232
265
268
227
210
253
207
230
222
228
228
236
248
211
249
232
235
249
228
215
279
235
223
207
246
246
250
251
248
216
257
250
234
231
254
227
197
244
262
246
218
209
263
252
235
216
225
238
257
265
221
228
230
226
245
249
252
254
228
224
246
198
239
243
226
243
244
250
271
221
222
256
233
249
245
257
240
226
215
206
227
186
256
240
244
248
209
260
208
215
220
252
232
239
230
212
236
191
242
226
194
271
214
238
237
263
246
237
238
250
247
250
214
237
243
249
237
205
222
230
251
203
215
248
244
250
269
229
207
210
238
261
253
249
244
237
212
271
233
225
208
244
236
238
254
246
206
254
225
244
227
231
200
224
270
220
229
203
259
241
260
252
224
249
223
244
245
217
243
223
257
253
247
251
234
239
206
253
234
220
224
259
226
235
218
249
231
255
227
204
229
240
224
230
236
230
207
238
250
248
255
239
251
221
256
237
234
241
229
272
242
229
226
221
229
251
224
246
266
228
218
220
239
268
241
249
219
220
237
208
221
256
244
241
236
240
232
269
239
251
257
234
241
255
204
217
216
246
214
212
237
255
216
256
239
243
238
261
235
255
256
238
263
244
261
258
249
248
251
212
244
215
221
257
241
215
243
261
209
251
246
223
233
230
242
219
257
260
205
253
233
230
227
264
242
238
273
209
211
232
246
262
235
231
247
227
248
230
236
247
254
243
249
243
225
250
236
198
251
214
251
198
244
250
216
239
265
227
246
225
242
260
251
206
242
228
244
236
236
253
260
202
265
194
248
244
242
218
219
238
230
234
234
230
214
255
228
196
237
230
205
256
209
251
215
224
225
247
235
211
245
240
208
259
241
237
240
205
219
220
269
234
270
237
229
234
236
195
253
250
232
261
260
265
232
262
218
223
244
207
237
219
243
257
254
242
235
224
256
224
246
228
245
266
256
227
246
222
271
263
257
269
267
214
213
220
234
241
225
215
256
220
232
231
244
212
238
276
256
219
231
264
254
240
237
243
269
222
196
243
253
263
250
216
238
218
206
236
244
229
250
235
234
233
240
257
210
231
273
198
236
244
219
228
219
219
205
224
247
205
234
224
231
187
222
214
243
247
219
219
219
221
258
261
217
228
234
224
225
261
228
208
263
248
240
239
257
245
234
260
272
230
225
244
203
230
235
244
258
246
268
241
220
225
229
220
211
243
254
248
226
257
241
279
262
256
239
213
256
278
220
261
228
262
255
242
222
263
269
263
289
256
272
269
264
246
226
281
259
238
281
252
274
263
276
244
213
239
255
260
237
242
255
266
254
242
235
252
262
254
216
247
263
268
266
259
268
257
268
265
254
268
242
258
230
254
269
255
206
242
229
258
242
260
255
257
265
206
266
258
262
262
264
240
216
256
239
263
273
249
252
233
264
251
238
262
244
247
243
294
268
222
258
253
241
256
273
210
255
248
270
265
234
249
240
273
270
223
243
245
211
219
244
263
223
252
238
253
245
243
259
275
233
213
270
247
263
250
252
218
251
257
272
261
236
250
212
272
226
259
230
270
251
238
235
211
242
218
230
258
228
276
222
242
242
239
218
251
247
234
259
263
280
253
286
220
234
285
219
249
253
233
238
241
291
242
214
253
261
243
275
235
280
242
253
271
207
255
226
259
232
225
253
263
257
248
224
276
258
267
256
249
243
272
219
239
256
246
246
253
261
254
247
223
227
271
256
229
276
239
240
237
207
246
281
261
267
238
264
260
254
246
258
235
255
252
242
236
256
232
259
233
229
227
213
278
242
268
235
214
273
263
263
273
271
249
283
255
249
234
277
236
216
272
273
254
242
251
238
229
241
260
226
212
253
248
248
263
237
268
285
262
277
260
245
237
239
255
252
248
249
270
255
267
241
255
243
233
258
267
241
268
239
257
252
243
260
275
251
247
252
257
251
258
242
278
206
271
244
258
230
262
261
263
254
240
228
257
262
277
270
264
230
240
275
278
266
284
243
251
250
232
244
239
173
234
223
266
241
269
229
255
251
243
232
227
250
261
244
252
264
240
230
240
274
264
252
249
247
244
264
233
229
238
250
241
267
240
273
271
293
237
250
197
235
253
257
222
251
249
272
222
269
263
248
231
265
245
263
228
297
262
225
249
281
256
273
253
256
279
248
267
259
237
258
261
250
268
213
261
254
239
258
247
251
251
260
280
251
247
256
217
240
258
253
230
276
244
257
268
261
228
245
268
255
237
276
236
252
249
223
268
251
277
256
266
226
280
240
245
209
236
241
261
246
259
246
266
222
222
260
241
262
254
257
274
252
248
268
257
252
282
238
219
245
263
236
268
250
257
202
279
246
208
267
256
247
233
268
268
257
236
258
231
238
250
254
236
259
240
208
260
225
248
241
279
246
252
267
258
251
261
282
277
228
250
258
239
274
257
252
276
234
255
280
259
243
264
258
248
250
246
241
251
243
234
269
260
254
262
277
239
262
246
260
245
233
218
244
257
237
235
263
255
242
236
258
252
212
260
268
242
257
268
277
240
251
263
239
277
237
240
221
237
262
261
217
255
265
242
256
253
248
261
252
248
210
237
225
284
265
230
237
249
228
258
239
238
252
238
229
220
244
273
259
243
282
245
229
266
215
277
234
259
254
243
251
224
271
259
255
216
255
208
270
247
250
237
215
276
212
272
238
255
260
271
246
254
239
265
271
233
252
207
263
267
241
234
277
272
273
252
265
272
282
236
239
234
239
254
243
225
242
235
239
216
278
226
251
221
263
256
255
226
233
260
235
223
250
276
211
232
267
249
219
250
236
224
262
263
256
265
274
280
269
238
243
248
251
264
254
212
285
272
243
267
276
213
271
244
247
266
270
224
215
241
276
244
238
256
272
258
241
262
231
260
236
232
263
256
271
277
251
255
235
264
262
232
239
216
263
291
216
245
219
284
258
278
200
267
271
263
230
243
239
246
249
209
274
264
259
252
252
206
227
231
256
243
204
262
210
227
248
226
278
286
241
275
266
266
239
256
264
248
250
235
262
256
236
226
231
277
223
270
205
259
246
246
273
271
275
285
248
263
252
222
220
262
231
271
254
241
266
215
230
235
239
249
237
260
256
219
250
222
268
231
262
249
231
199
267
242
249
232
267
240
259
271
248
266
259
267
243
221
273
253
261
260
264
278
259
272
277
228
270
213
237
237
268
249
269
274
235
260
255
263
281
219
249
252
215
258
274
223
283
216
234
248
262
268
230
269
223
244
236
274
236
226
235
238
260
214
214
278
245
258
252
278
277
261
266
279
258
254
236
223
248
237
244
223
256
233
223
262
269
269
234
230
265
277
250
246
274
245
226
258
244
278
266
257
235
219
273
250
272
213
262
239
239
253
247
228
249
256
224
248
264
279
288
258
255
262
239
223
244
228
209
239
269
235
263
247
234
258
241
233
222
267
231
245
263
263
252
253
278
228
251
236
227
246
296
285
255
271
267
287
255
245
246
254
243
257
286
291
268
270
307
234
278
228
253
258
267
263
267
267
260
248
282
267
253
267
281
266
269
252
257
288
293
264
273
276
260
299
278
251
232
303
276
256
244
273
282
251
269
276
292
280
239
229
259
283
268
298
267
271
258
270
219
285
286
255
233
291
252
254
268
249
274
272
231
256
303
272
285
265
263
286
272
258
278
251
258
232
275
242
217
239
289
263
228
267
260
272
273
224
279
272
273
261
258
248
270
240
272
298
212
269
247
271
288
259
276
235
277
290
259
240
273
267
282
267
259
270
254
255
284
248
263
278
262
265
240
262
215
237
253
290
281
212
266
262
242
264
279
242
243
256
287
302
275
242
287
274
281
272
233
228
260
297
297
276
269
220
271
263
238
260
250
276
258
295
301
285
266
282
273
262
265
275
223
238
279
271
258
261
289
284
242
281
264
244
276
282
262
242
244
240
230
276
289
255
239
236
264
291
242
263
280
263
246
280
262
258
222
284
250
288
307
256
260
263
275
282
252
239
265
284
243
303
241
284
270
259
285
276
268
260
247
283
289
275
239
244
250
246
275
265
292
285
254
261
248
288
274
272
264
271
254
252
275
273
260
256
233
276
259
252
273
266
251
260
273
252
279
267
267
236
228
281
272
281
263
266
277
254
257
274
253
272
276
280
261
275
279
239
235
249
246
264
280
260
234
252
237
255
261
217
286
251
286
277
272
265
261
284
266
247
260
261
255
265
245
268
242
252
298
273
256
265
272
303
257
262
252
246
229
283
280
252
270
270
258
231
268
285
293
293
264
272
263
244
267
283
302
254
243
258
269
278
248
296
286
292
275
250
237
304
248
254
280
295
254
269
279
233
283
299
269
271
275
285
230
234
267
265
279
245
258
285
231
249
260
288
269
289
293
250
230
290
276
264
259
246
241
272
261
285
289
299
265
256
252
265
230
271
252
301
273
282
277
238
264
262
276
260
272
271
308
281
253
279
283
252
250
252
270
255
233
203
231
260
247
300
282
250
261
275
290
271
255
285
272
239
254
277
300
293
278
255
261
252
261
266
271
302
285
253
249
246
273
308
276
271
256
277
246
262
260
254
266
244
253
238
259
251
280
262
236
287
279
292
248
265
306
252
267
264
269
261
293
234
251
264
278
277
220
257
258
278
255
271
236
290
227
254
234
298
243
279
269
259
262
277
216
250
245
269
280
288
256
270
271
264
252
274
297
278
261
251
246
289
291
285
287
289
231
262
304
293
261
283
295
291
257
263
254
273
264
283
244
285
296
258
283
268
223
245
268
271
262
227
245
275
309
285
270
291
290
258
260
261
226
272
274
278
246
264
257
249
272
294
286
259
271
305
273
259
245
308
281
258
289
254
220
259
270
270
242
266
279
286
275
254
257
261
281
258
234
288
243
263
261
225
297
312
255
277
273
275
258
278
249
267
252
309
261
264
247
267
272
280
304
271
266
280
280
255
216
274
247
290
232
269
284
243
284
286
248
237
267
268
267
288
297
282
250
250
273
251
279
295
246
278
282
261
258
285
271
249
234
256
226
256
240
259
287
284
268
243
246
289
271
281
241
268
288
278
280
287
278
275
264
251
275
275
279
279
278
296
309
299
276
299
251
257
254
277
275
292
278
288
274
293
289
232
228
279
279
239
261
254
270
288
260
281
253
273
245
279
279
294
256
283
224
288
275
300
235
276
284
260
273
292
239
276
243
285
280
270
244
280
277
260
300
276
261
291
273
220
257
272
250
201
274
283
252
277
267
264
269
242
281
248
281
229
257
260
255
243
225
269
291
260
313
257
295
283
254
262
229
253
276
270
282
260
247
275
273
276
251
259
229
259
272
292
220
274
292
266
272
289
280
284
299
224
263
254
264
262
234
281
276
280
292
288
251
268
290
198
242
295
266
267
295
261
248
272
291
276
286
270
277
256
280
241
254
232
301
239
253
238
253
252
263
243
312
242
243
243
290
292
253
259
261
238
272
287
291
272
267
243
257
298
271
262
263
249
269
233
249
276
299
260
251
268
259
238
210
263
281
277
275
256
279
275
236
280
259
254
274
299
278
244
250
284
282
266
292
258
211
274
265
280
230
232
259
278
245
235
240
264
281
265
257
230
280
275
283
281
266
257
265
255
294
250
278
295
248
272
243
272
247
297
242
280
221
297
259
282
284
247
237
283
268
235
259
271
257
302
268
271
242
254
225
281
274
291
274
273
259
262
264
269
257
221
252
286
265
258
308
225
309
266
306
288
263
249
274
277
246
295
273
289
282
241
258
275
278
297
260
271
266
276
304
291
279
289
301
257
289
267
267
286
283
285
246
272
320
268
271
277
290
283
293
289
261
286
264
268
281
304
300
284
329
289
315
302
295
271
284
294
313
285
292
285
299
282
330
254
265
263
291
280
294
282
278
286
283
275
275
256
301
266
230
248
299
267
269
266
296
268
249
274
284
264
287
248
311
294
254
266
268
294
232
272
245
275
316
300
273
287
279
301
289
303
275
283
249
288
255
260
297
284
323
312
252
300
243
282
303
283
283
265
262
285
280
311
256
264
308
291
264
245
265
297
292
289
252
264
284
243
269
275
267
261
259
303
256
304
249
304
241
307
306
305
330
266
261
252
262
264
286
304
282
240
265
308
296
270
280
280
292
317
270
283
258
230
310
281
288
288
282
246
247
286
225
293
299
240
260
270
292
272
299
302
247
268
307
268
254
289
265
302
260
257
290
311
289
292
291
272
290
284
274
295
265
316
274
288
286
291
272
316
265
277
308
260
292
269
259
259
288
300
267
254
310
249
297
316
293
276
293
314
254
295
293
274
273
299
280
308
301
272
276
256
287
296
320
303
308
298
313
222
310
293
308
302
271
276
311
305
258
245
311
277
280
302
296
283
285
265
266
277
264
298
327
263
319
232
291
303
265
257
251
274
261
234
295
258
282
277
274
276
273
289
262
291
262
244
268
276
309
281
303
248
287
274
277
262
325
279
283
266
273
277
287
283
291
284
301
309
284
261
264
258
293
287
285
293
271
301
272
282
284
283
316
287
278
320
273
288
243
269
286
265
266
224
290
297
275
263
285
276
289
282
288
323
276
260
291
306
267
287
255
263
264
297
287
287
305
310
285
319
298
289
270
305
298
232
270
291
234
300
297
297
292
270
280
290
214
276
273
288
283
288
278
302
291
243
249
308
279
276
298
275
274
272
270
264
301
314
248
272
265
291
298
268
266
246
289
305
303
259
313
276
275
256
243
242
281
291
311
275
302
281
313
300
266
294
274
316
258
297
280
278
277
283
244
287
280
293
310
283
263
292
305
267
278
305
289
313
285
226
250
281
278
255
237
295
264
287
306
274
294
305
265
279
262
269
288
300
278
295
313
256
287
245
231
290
308
287
296
282
268
279
279
290
254
304
254
271
267
250
289
275
293
272
272
263
285
261
270
275
307
262
279
289
301
276
290
266
325
296
289
290
284
260
266
273
262
262
262
316
278
274
259
296
293
250
292
250
331
266
286
299
271
266
274
284
317
329
264
267
289
257
314
263
308
281
280
255
253
297
238
261
274
277
288
310
294
301
270
282
313
267
277
293
297
290
244
283
286
282
299
261
282
291
297
235
320
285
272
257
283
284
289
301
294
297
244
281
296
271
270
274
285
301
250
303
306
277
283
267
283
235
320
301
281
239
273
247
299
314
298
271
310
281
250
246
295
286
298
264
288
320
307
300
288
297
218
249
221
317
308
269
285
250
292
291
304
252
299
268
293
294
293
268
277
292
323
271
308
321
258
278
228
238
307
312
306
286
260
305
305
273
281
272
272
303
294
246
304
250
279
275
311
258
281
308
284
284
245
261
257
289
269
289
289
264
306
301
251
275
264
242
262
260
275
284
299
273
283
282
268
286
266
281
247
285
297
278
303
297
261
322
292
278
269
268
309
266
257
256
283
283
302
282
313
256
284
305
256
284
311
253
237
310
261
258
301
240
281
315
299
304
292
268
274
283
272
232
269
247
271
272
275
287
269
308
295
305
302
285
273
297
290
227
254
277
268
275
269
312
290
264
296
275
265
270
262
268
311
303
288
281
270
279
282
277
233
298
323
311
279
298
307
251
279
256
264
306
293
301
314
272
277
295
274
277
289
310
303
257
256
296
285
262
266
277
277
233
268
269
306
295
289
277
302
290
291
274
272
289
254
312
277
309
256
283
272
279
296
254
250
299
268
271
235
293
271
271
266
276
261
297
313
295
241
306
252
297
272
296
280
309
290
284
275
261
283
294
300
288
307
269
303
244
281
284
274
320
281
258
296
267
269
231
313
254
271
254
281
266
295
288
275
286
283
311
293
261
296
294
285
244
259
261
322
249
281
263
228
293
275
255
285
272
286
257
298
283
290
325
277
275
286
273
251
256
296
252
266
200
284
279
304
267
289
287
253
292
255
274
276
256
324
251
265
289
298
265
266
277
255
273
275
273
249
273
276
294
286
296
288
264
278
292
307
276
310
266
258
318
292
309
267
296
310
305
233
283
312
322
320
336
280
290
288
300
298
288
291
289
308
315
322
281
294
259
304
312
307
313
263
271
299
283
304
296
307
282
283
282
265
303
328
290
322
277
277
298
317
305
316
316
322
306
244
303
349
299
296
290
302
269
295
281
294
343
313
311
299
306
288
290
249
286
274
291
270
277
327
314
294
308
261
308
302
309
290
288
254
311
331
320
295
293
264
321
292
289
294
231
318
285
262
297
287
316
312
281
312
254
265
303
285
265
334
299
279
256
313
307
255
293
259
272
330
259
289
292
292
294
278
305
309
310
325
279
299
302
295
317
313
303
312
257
297
296
299
304
291
269
251
306
340
252
319
252
302
278
282
314
326
291
281
325
252
282
269
292
279
261
287
310
300
298
323
262
282
296
299
278
262
306
266
278
298
323
287
261
257
319
298
292
286
317
307
273
304
283
284
287
288
295
314
280
317
310
326
279
271
289
302
315
275
326
263
290
281
280
289
324
303
302
290
273
263
316
284
275
298
327
289
344
300
272
303
314
321
294
286
276
306
273
301
318
287
300
321
276
337
293
316
325
246
300
325
306
323
309
289
293
275
338
324
313
295
296
288
286
298
269
286
314
278
302
282
328
233
298
295
315
273
308
287
315
316
294
240
316
276
294
235
268
301
312
248
327
292
312
285
265
328
328
311
293
294
299
272
303
262
297
272
292
313
315
291
290
290
314
306
297
263
290
285
244
302
311
300
259
268
339
292
270
299
290
327
277
304
273
322
272
289
263
327
283
293
277
278
304
291
295
334
291
293
272
308
284
298
304
314
319
307
290
311
302
271
293
303
273
268
284
305
320
330
330
299
268
330
301
292
297
313
234
292
322
284
287
291
328
272
276
326
323
290
297
266
260
293
304
296
293
277
291
295
287
267
270
290
276
295
217
308
287
312
286
294
268
266
317
299
331
313
300
302
303
265
331
296
297
292
304
283
306
279
287
344
304
278
281
312
313
293
308
332
310
313
325
290
329
271
274
301
300
257
267
310
305
288
315
292
309
305
289
294
297
271
288
271
280
272
264
305
243
318
266
292
336
264
306
287
304
300
339
298
304
277
327
299
298
326
300
286
301
314
283
284
267
309
304
320
287
289
288
305
305
298
301
332
319
302
289
306
292
271
313
286
284
313
300
303
307
291
330
299
309
296
248
344
234
300
323
298
303
289
246
310
286
256
279
289
313
314
311
321
268
255
215
290
280
277
298
278
302
282
311
344
267
268
266
299
286
294
319
286
293
305
253
270
294
299
307
302
298
264
318
291
265
296
288
332
322
319
325
306
282
325
303
291
298
304
322
285
318
292
297
293
318
271
301
279
266
305
290
311
310
304
300
285
316
302
314
301
297
232
243
288
298
287
327
329
274
339
291
282
264
276
296
281
278
276
299
289
284
285
329
285
319
298
260
317
259
280
275
296
270
315
258
281
321
304
315
293
301
319
308
298
310
304
287
310
296
332
319
277
301
284
314
297
288
272
332
308
320
300
286
264
276
308
318
308
275
308
311
328
315
319
294
326
323
301
332
300
285
294
290
270
296
329
320
277
323
304
300
286
319
305
282
289
323
309
305
317
337
309
323
301
327
249
292
321
316
322
318
321
278
281
280
262
332
261
295
304
308
310
309
295
329
301
283
247
304
313
280
316
319
294
252
317
260
262
311
283
323
298
285
310
305
286
276
315
296
283
301
268
328
286
272
324
304
268
293
311
260
258
333
309
292
303
295
321
329
319
293
297
311
280
280
283
283
268
271
261
293
299
292
234
284
316
297
280
279
316
273
291
266
296
236
331
299
331
307
311
331
284
280
287
284
304
312
288
290
309
298
262
287
269
307
285
292
287
287
289
286
261
276
261
290
298
307
333
306
254
306
322
288
287
305
284
272
295
289
293
303
254
291
298
283
280
265
269
303
301
309
287
312
299
306
265
322
307
302
295
336
253
261
303
331
285
284
286
289
301
296
296
268
309
323
293
256
315
284
317
280
315
306
247
291
264
265
298
267
317
291
308
241
302
276
320
300
323
309
312
310
309
279
299
291
295
256
281
278
295
271
306
271
312
282
278
301
312
285
308
279
318
264
274
277
316
297
271
258
296
288
327
267
300
294
298
316
283
300
319
302
276
282
282
308
303
314
294
273
330
261
236
283
304
304
287
312
292
294
309
272
334
282
274
277
336
279
309
297
303
303
290
292
296
347
294
279
313
320
250
300
272
300
338
284
308
300
335
323
338
306
319
321
326
315
327
326
312
328
299
335
308
299
309
301
254
313
306
353
296
320
336
330
321
322
326
285
300
305
278
290
274
293
317
335
348
301
271
304
289
306
295
314
279
346
319
319
268
317
261
312
318
328
316
318
305
347
247
291
325
321
301
297
325
305
273
324
334
342
258
263
293
282
291
277
298
317
268
292
327
346
315
283
272
327
301
288
304
341
270
291
329
341
266
290
319
336
276
339
302
297
333
306
304
296
346
279
296
271
300
286
316
326
308
331
312
326
308
312
335
322
313
317
350
304
314
349
336
311
273
317
315
319
380
319
297
320
279
293
289
280
310
292
329
332
327
281
339
336
309
288
297
324
291
268
297
313
274
325
286
308
272
309
293
299
272
278
286
326
322
294
284
317
358
285
287
275
268
283
299
329
316
289
279
325
299
314
265
308
292
316
277
273
312
323
308
301
292
305
314
346
333
347
280
284
310
336
310
324
309
308
304
312
359
306
325
259
312
356
303
295
324
298
274
263
257
290
270
334
344
309
360
307
319
318
290
314
296
290
319
316
337
302
329
303
311
348
312
263
310
344
330
305
280
333
293
303
326
324
340
310
323
308
303
258
325
318
319
321
307
294
299
318
297
289
340
367
269
318
347
325
351
272
282
305
333
319
306
306
317
299
300
316
311
314
311
289
315
335
310
314
312
344
279
338
290
323
283
334
289
310
278
293
252
263
313
338
319
276
291
325
289
316
341
313
315
286
260
295
300
336
309
298
320
280
331
315
347
326
327
326
310
266
306
338
256
315
317
300
305
298
276
304
282
303
310
314
335
320
288
271
320
274
341
314
305
333
359
301
301
369
292
300
284
306
283
326
293
294
313
316
284
305
322
283
277
304
355
317
303
334
314
298
335
292
302
311
280
314
343
291
288
325
295
338
317
312
301
351
326
287
319
318
296
317
293
308
319
301
329
304
309
306
284
316
322
341
317
334
291
316
349
302
289
305
348
291
294
269
323
296
290
305
288
313
268
295
318
276
278
318
296
324
309
316
316
306
281
303
330
286
335
326
315
327
334
290
289
306
328
327
298
331
313
335
264
356
337
341
315
349
329
327
287
349
283
287
314
342
341
274
302
300
271
322
315
339
283
314
314
290
297
326
291
305
319
287
327
319
339
243
319
326
288
277
324
281
280
323
345
335
265
264
305
303
308
330
281
306
295
276
229
306
332
273
338
293
307
329
305
301
311
248
319
284
329
298
324
290
315
307
307
318
332
352
313
302
306
280
299
293
305
313
331
332
321
329
347
291
302
290
316
314
321
285
310
278
285
296
290
322
275
288
293
299
327
333
318
310
318
323
348
302
328
320
349
331
298
357
293
330
278
322
339
316
315
350
326
300
317
295
281
315
328
265
303
326
285
318
306
337
309
327
300
308
300
277
324
325
335
337
322
283
311
288
351
290
284
338
302
331
301
315
263
303
345
328
359
295
293
305
342
341
300
334
277
238
304
304
327
342
327
326
313
330
317
330
287
267
304
333
321
359
344
283
337
288
327
299
337
316
304
313
313
296
289
302
292
293
319
322
294
341
313
290
329
318
321
295
268
297
272
319
316
291
348
290
251
322
314
315
305
302
321
320
303
270
308
299
336
330
332
279
280
285
277
356
320
332
248
307
327
330
305
305
342
307
304
315
272
318
362
318
350
287
320
324
309
281
335
303
313
285
279
319
315
354
301
274
325
304
322
307
353
286
316
326
309
300
336
325
316
291
267
319
323
294
293
273
326
288
324
294
317
278
297
303
281
365
307
342
291
295
283
265
361
333
300
268
315
352
320
301
277
315
291
331
355
337
296
295
320
308
324
326
309
273
295
356
319
304
297
318
288
331
277
317
301
332
329
268
327
300
271
302
312
296
303
355
327
312
319
316
292
292
280
294
317
295
319
362
310
263
312
310
280
290
299
354
291
275
324
318
336
325
306
241
285
303
276
295
310
275
317
324
300
250
300
272
338
316
326
305
288
308
315
323
312
274
284
343
313
300
301
310
332
307
333
308
285
305
328
311
313
319
336
312
340
318
269
351
327
314
305
281
279
359
315
306
281
309
314
288
320
279
311
349
336
291
330
314
336
345
252
343
323
340
323
307
331
302
292
289
364
332
294
327
280
314
349
311
284
290
308
312
309
314
303
331
292
314
322
325
293
300
329
294
327
316
328
294
311
276
290
295
280
283
267
347
309
337
318
351
298
290
343
313
269
293
332
294
317
306
278
298
340
366
280
324
278
307
306
323
351
355
312
359
320
304
325
281
308
330
304
320
336
353
332
313
319
330
334
316
322
296
271
336
358
294
354
336
291
309
331
333
339
325
354
323
285
339
321
312
377
336
344
325
338
307
318
309
307
346
339
351
336
348
342
350
367
352
320
311
310
302
310
326
329
296
293
327
328
297
350
335
335
334
359
314
337
289
325
307
373
318
321
338
304
284
310
290
315
335
335
297
318
304
354
310
313
291
335
367
292
315
270
325
289
332
328
315
294
332
330
310
351
307
316
324
316
320
309
281
318
318
355
360
325
359
333
339
320
305
285
310
285
314
352
312
307
317
303
344
348
311
323
348
327
350
271
327
295
308
373
345
318
332
342
303
342
326
283
324
316
354
347
311
355
313
282
353
330
325
328
314
314
338
339
310
352
350
294
317
349
233
323
348
295
326
381
367
350
333
361
323
361
291
303
310
346
349
326
333
306
281
343
321
284
338
314
292
320
289
304
371
318
332
360
313
355
312
345
328
279
296
326
313
346
354
297
357
335
333
380
320
273
287
323
348
292
293
309
341
292
348
342
298
299
384
360
373
291
371
367
317
339
345
351
333
308
358
323
315
324
313
337
333
352
295
315
292
322
295
331
343
331
319
309
295
326
326
342
303
319
311
363
323
329
345
357
325
327
373
315
320
322
330
362
325
294
331
312
337
289
282
305
347
323
327
332
331
332
326
339
291
324
328
346
337
326
271
327
288
295
287
281
306
334
338
288
338
321
330
325
346
313
336
305
322
344
314
308
312
330
323
318
313
349
322
322
335
313
332
354
317
337
316
322
339
316
330
301
327
326
350
311
334
299
310
330
285
354
316
346
339
291
323
328
332
298
311
328
319
329
294
258
310
312
333
315
328
309
307
315
273
304
326
310
299
336
336
307
300
353
324
331
309
314
329
300
330
309
359
367
340
331
315
287
322
316
355
339
345
283
307
331
341
316
307
342
320
353
340
280
281
345
318
300
300
302
304
337
353
303
319
318
255
314
337
296
308
298
322
352
340
300
280
336
300
301
308
417
336
314
330
308
301
319
347
287
264
326
319
323
308
295
332
312
303
348
323
354
343
288
365
298
331
346
305
311
332
341
341
299
326
288
356
349
280
339
350
359
329
321
268
330
308
287
315
318
320
318
297
305
318
359
291
319
289
310
333
292
344
355
307
298
323
339
336
316
334
344
307
336
305
311
332
328
337
295
344
319
324
272
349
313
378
314
347
312
347
327
363
320
344
297
342
367
279
326
310
316
334
303
333
321
318
276
323
318
347
348
339
286
333
316
340
330
319
337
331
298
270
337
348
304
316
307
275
336
302
308
318
356
333
348
353
330
279
322
312
346
315
334
342
350
340
322
338
316
311
284
259
274
326
305
292
335
296
277
330
304
328
292
304
293
324
336
328
320
309
323
342
327
360
279
309
352
326
329
341
315
347
280
321
319
336
333
336
312
376
296
297
354
342
313
322
327
336
285
270
346
368
325
311
279
328
337
316
322
358
302
292
344
333
329
315
327
325
320
359
353
283
321
322
358
341
283
285
327
344
292
253
330
373
316
284
343
306
284
334
346
350
335
310
336
356
264
343
323
295
323
319
341
335
299
333
295
297
293
287
296
348
339
335
290
308
344
361
342
306
321
313
366
340
301
326
324
349
291
263
359
317
319
332
293
296
302
345
331
354
347
310
317
325
314
309
339
325
298
337
335
316
262
318
338
354
317
318
300
298
314
336
340
334
333
307
315
331
306
353
305
328
359
299
316
338
320
278
308
308
323
332
327
328
283
299
325
332
351
320
319
288
356
322
237
326
314
280
313
302
295
344
320
317
331
307
304
331
332
320
309
353
339
328
296
295
327
350
328
327
326
289
322
301
328
296
285
298
314
309
338
307
350
326
309
311
290
332
299
310
332
373
301
316
265
317
336
284
332
315
330
368
343
343
352
295
324
321
337
267
290
328
301
337
292
327
327
316
282
330
334
322
339
292
366
328
310
276
323
333
344
317
315
344
336
306
272
328
320
322
316
312
332
344
326
325
303
333
359
348
356
319
327
322
302
365
329
259
336
296
307
308
357
313
323
375
316
289
349
275
337
343
288
319
307
302
320
314
325
390
328
349
329
323
345
354
316
313
316
338
340
329
272
365
292
297
294
288
338
294
338
337
334
310
346
309
352
330
366
329
313
326
330
310
324
302
315
313
330
324
284
321
324
334
294
309
303
324
299
329
343
336
328
331
318
368
333
325
289
339
340
359
350
356
300
283
359
342
339
312
321
361
310
322
336
284
318
273
278
339
355
343
310
296
343
332
375
329
362
362
329
322
332
339
353
276
263
346
326
376
374
341
325
350
369
323
363
346
349
322
368
337
363
311
305
348
327
321
331
311
319
363
331
338
305
349
309
373
313
307
318
327
356
347
357
349
304
350
367
293
375
315
322
357
350
345
328
353
340
368
310
355
324
355
358
338
353
357
348
320
306
356
373
338
320
344
323
289
397
358
297
324
333
308
354
313
392
319
322
357
326
374
379
354
336
371
370
344
331
353
345
370
307
324
315
313
350
377
298
324
325
363
331
341
351
334
337
327
293
364
315
335
332
295
315
299
304
322
373
316
347
346
354
335
314
323
319
342
346
356
314
346
285
357
307
330
362
303
319
294
321
347
344
313
355
356
324
326
310
304
315
269
309
319
397
318
352
363
309
358
350
373
323
342
334
352
343
329
359
342
344
326
326
317
305
335
314
336
333
276
375
307
315
318
306
304
298
318
339
333
360
365
334
321
334
315
309
330
311
366
372
285
359
341
371
327
319
356
321
310
339
319
350
326
340
305
337
360
361
333
383
334
318
380
328
307
357
301
290
303
352
328
334
325
372
346
333
304
321
344
295
298
374
364
348
363
355
347
351
289
335
325
324
327
353
334
298
299
344
345
355
295
338
370
339
341
333
373
386
359
326
338
305
320
383
335
378
338
307
339
315
351
345
299
354
306
381
320
343
284
332
316
315
357
341
345
323
334
331
316
377
352
307
385
354
366
308
313
368
331
350
305
354
354
360
351
356
366
334
327
335
364
281
357
312
361
355
345
349
334
301
361
304
344
358
348
322
340
311
350
318
332
323
338
371
326
318
310
360
328
309
336
355
355
315
355
297
362
374
378
339
346
359
357
312
366
281
327
349
371
301
314
336
329
286
345
321
363
366
322
318
381
393
334
376
344
372
334
350
333
348
349
351
363
352
295
332
353
357
325
330
345
340
361
381
323
315
340
295
366
298
343
346
336
271
311
340
342
363
381
334
308
327
350
318
334
331
316
340
371
359
365
313
319
328
332
374
329
345
334
299
284
348
308
351
336
298
333
311
331
336
347
375
305
356
320
351
314
301
381
320
395
355
336
297
362
366
369
323
336
328
319
359
355
335
335
331
342
329
333
353
360
368
329
335
319
333
357
330
355
323
355
349
376
316
370
305
374
336
366
338
289
273
330
351
292
356
345
341
326
333
341
275
322
305
349
317
360
354
337
337
295
341
383
348
306
332
302
383
333
367
325
340
318
317
324
337
346
345
306
349
353
327
354
353
356
261
360
354
327
338
297
342
345
350
364
320
363
319
351
322
307
300
359
325
364
310
355
357
327
307
326
378
352
330
374
313
330
306
352
352
286
304
341
333
333
311
326
335
316
313
400
358
352
294
318
359
358
346
328
326
327
348
306
359
337
336
334
345
361
336
362
339
352
316
344
319
338
330
337
276
354
331
346
376
371
336
350
341
351
344
353
357
313
324
332
334
364
323
335
360
342
299
362
356
297
284
348
330
364
370
358
362
322
318
324
340
320
342
334
319
353
303
325
378
336
293
323
322
289
369
356
346
350
321
360
354
322
282
327
353
369
345
344
346
313
351
327
290
313
297
354
335
342
335
337
361
327
319
326
331
347
350
323
333
356
330
308
314
351
371
316
359
348
366
300
309
328
368
320
351
376
388
359
346
292
366
336
329
293
349
363
365
365
376
350
357
364
374
350
334
323
330
365
331
320
362
377
337
336
336
347
333
316
358
371
357
347
344
352
378
372
330
319
356
355
354
332
351
327
341
359
361
349
321
341
320
334
337
282
363
325
312
368
357
295
355
366
296
370
306
345
318
349
343
350
338
342
350
273
345
299
312
373
331
336
310
331
314
317
311
339
371
316
320
287
332
332
322
337
328
340
366
302
368
293
312
365
338
349
347
347
354
311
355
338
328
333
325
335
334
347
343
358
352
283
292
334
339
329
311
343
375
308
294
335
321
366
321
317
338
299
346
379
355
361
259
317
343
361
339
337
315
343
352
325
346
333
338
311
300
329
327
392
317
348
315
322
356
319
312
311
305
337
319
271
337
335
342
353
299
345
308
368
338
354
327
330
362
310
294
385
329
322
358
343
367
345
344
314
319
336
331
326
318
296
348
330
351
348
285
334
308
366
304
345
314
359
348
333
325
311
342
363
329
304
358
371
287
307
329
292
329
319
