00
01
02
03
04
05
06
07
08
10
11
12
13
15
16
17
18
19
20
22
23
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
84
85
86
87
88
89
90
92
93
94
95
96
97
98
99
00
01
02
03
04
06
07
08
09
10
11
13
14
15
16
18
19
20
21
22
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
48
49
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
91
92
93
94
96
98
99
00
01
02
03
04
05
06
07
08
10
11
12
13
14
15
16
17
18
19
20
21
23
24
26
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
90
91
92
93
94
95
96
97
98
01
02
03
04
06
07
09
10
11
12
13
14
16
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
99
00
02
03
05
06
07
08
09
10
11
12
13
14
15
18
19
20
21
22
23
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
68
69
70
71
72
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
00
02
03
04
05
06
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
50
51
53
55
56
57
58
59
60
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
84
85
86
87
89
90
91
92
93
94
95
96
97
98
01
02
03
04
05
06
07
09
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
82
84
85
86
88
89
90
91
92
93
94
95
96
97
98
00
01
02
04
05
06
07
08
09
10
11
12
13
14
15
16
18
19
20
21
22
23
24
25
26
27
28
29
30
31
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
72
73
74
75
77
78
79
80
81
82
83
84
85
86
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
57
58
59
60
61
62
63
64
65
66
67
68
69
70
72
73
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
01
02
03
04
06
07
08
09
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
17
19
20
21
23
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
51
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
47
49
50
51
52
53
55
56
57
58
59
60
61
62
64
65
66
67
68
69
71
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
79
80
81
82
83
84
86
87
88
89
92
93
94
96
98
99
00
02
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
48
49
50
51
52
53
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
74
75
76
77
78
79
80
81
82
83
84
85
86
88
89
90
91
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
61
62
63
64
65
66
68
69
71
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
62
63
64
65
66
67
68
70
71
72
73
74
76
77
79
80
81
82
84
86
87
88
89
90
91
92
93
94
95
96
97
98
00
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
32
33
35
36
37
38
39
42
43
44
45
46
47
48
49
50
51
52
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
99
00
01
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
27
28
29
30
31
32
33
34
35
36
37
39
40
42
43
44
45
46
47
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
75
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
57
58
59
61
62
63
64
65
66
67
68
69
70
72
73
74
75
76
77
79
80
81
82
83
84
85
87
88
89
90
92
93
94
95
96
97
98
01
02
03
04
05
06
08
09
10
11
12
13
14
16
17
18
19
20
21
22
23
25
26
27
28
29
30
31
32
33
34
35
36
37
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
99
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
61
63
64
65
66
67
68
69
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
96
97
98
99
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
51
52
53
55
57
58
59
60
62
63
64
65
66
67
68
69
70
72
73
74
75
76
77
78
79
80
81
82
83
84
85
87
88
90
91
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
18
19
20
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
45
46
47
48
49
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
85
87
88
89
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
74
76
77
79
80
82
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
67
68
69
70
72
73
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
92
93
95
96
97
98
99
01
02
03
05
06
08
09
10
11
12
13
14
15
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
53
55
56
57
58
59
60
61
62
64
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
21
22
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
72
73
74
75
76
78
79
80
81
82
84
85
86
87
88
89
90
91
92
93
94
95
96
98
99
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
26
27
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
99
00
01
03
04
05
06
07
08
09
10
11
12
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
66
67
68
69
70
71
72
73
74
75
76
78
79
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
03
04
05
06
07
08
09
10
11
13
14
16
17
18
19
20
21
22
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
61
62
63
64
66
67
68
70
71
72
74
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
57
58
59
60
61
62
63
64
65
66
68
69
71
72
73
74
75
76
77
78
79
80
81
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
99
00
01
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
65
66
67
68
69
71
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
99
00
01
02
03
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
50
51
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
00
01
02
03
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
85
87
88
89
90
91
94
95
96
97
98
99
00
01
02
03
04
05
06
07
09
10
11
12
13
14
15
16
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
39
41
42
43
44
45
46
47
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
79
80
81
82
84
86
87
88
89
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
38
39
40
41
42
43
44
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
77
78
79
80
81
82
83
84
85
86
87
88
89
91
92
93
94
96
97
98
99
00
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
64
65
66
67
68
69
70
71
73
74
75
77
79
80
81
82
83
84
85
86
87
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
27
29
30
31
32
35
36
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
18
19
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
47
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
29
30
31
32
33
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
52
53
55
56
58
59
60
61
62
63
64
65
66
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
87
88
89
90
91
92
93
95
96
97
98
99
00
01
02
03
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
22
23
24
25
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
50
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
87
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
07
08
09
10
11
13
14
15
17
18
19
20
21
22
23
24
25
26
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
01
02
03
05
06
07
08
09
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
02
03
04
06
07
08
09
11
12
13
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
91
92
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
45
46
47
48
49
50
51
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
72
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
98
99
00
01
02
03
04
05
06
07
08
09
10
11
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
32
33
34
35
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
60
62
63
64
65
66
67
68
69
70
72
73
74
75
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
98
99
01
02
04
05
06
07
08
09
10
11
12
13
14
16
17
18
20
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
18
19
20
21
23
24
25
26
27
29
30
32
33
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
42
43
44
45
46
47
48
49
50
51
52
56
57
58
59
60
62
63
64
65
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
99
00
01
02
03
04
05
06
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
38
39
40
41
42
43
44
45
46
47
48
50
51
52
53
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
88
89
90
92
93
94
95
96
97
98
99
00
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
91
93
94
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
19
20
21
22
23
24
26
27
28
29
30
32
33
34
35
36
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
70
71
72
73
75
76
77
78
81
82
83
84
85
86
87
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
18
19
20
21
22
23
25
26
27
28
29
30
31
32
34
35
36
37
38
39
40
41
42
43
44
45
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
66
67
68
69
70
71
72
73
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
40
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
85
86
87
88
89
90
91
92
93
95
96
97
98
99
00
01
02
03
05
07
08
09
10
11
12
13
14
15
16
19
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
32
33
34
35
36
37
39
40
41
42
43
44
45
47
48
49
50
51
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
46
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
92
93
94
95
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
49
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
93
95
96
97
98
01
02
03
05
06
07
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
41
42
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
91
92
93
94
95
96
98
99
02
03
04
05
06
08
09
10
11
12
13
14
15
16
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
81
82
83
84
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
32
33
34
35
36
37
38
39
41
42
43
45
46
47
48
49
51
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
02
04
05
06
07
08
11
12
13
14
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
90
91
92
93
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
14
15
17
18
19
20
21
22
23
24
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
45
46
48
49
50
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
06
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
33
34
35
37
38
39
40
41
42
43
44
45
47
48
49
50
51
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
97
98
99
00
01
02
03
04
05
07
08
09
10
11
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
66
67
68
69
70
72
73
74
75
76
77
78
79
80
81
83
84
86
87
88
89
91
92
93
94
95
96
97
98
99
00
01
02
04
06
07
08
10
11
12
13
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
01
02
03
04
05
06
07
08
09
10
11
12
14
15
16
18
19
20
21
22
23
24
25
26
27
28
29
30
32
33
34
35
36
37
38
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
64
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
86
87
88
89
90
91
92
93
94
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
19
20
21
22
25
26
27
28
29
30
31
32
33
34
35
36
38
39
40
41
42
43
44
46
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
42
44
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
85
86
87
88
89
90
91
92
93
94
95
96
98
00
01
02
03
04
05
06
07
08
10
11
12
13
15
16
17
18
19
20
21
22
23
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
60
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
85
86
87
88
89
90
91
92
93
94
96
97
98
99
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
57
58
59
60
61
62
63
65
66
67
68
69
70
71
72
74
75
77
78
79
80
81
82
83
84
85
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
46
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
81
84
85
86
87
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
67
68
69
70
71
72
74
75
76
77
78
79
81
82
83
84
85
86
87
88
89
90
91
93
96
97
98
99
00
01
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
32
33
34
35
36
37
38
39
40
41
42
43
44
46
47
48
49
50
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
90
91
94
96
97
98
99
00
01
02
03
04
05
07
08
09
11
12
13
14
16
17
18
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
91
93
95
96
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
19
20
21
22
24
25
26
27
28
29
31
32
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
87
88
89
90
91
92
93
94
96
97
98
02
03
04
05
07
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
07
08
09
10
11
12
13
14
16
18
19
20
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
83
84
85
87
88
89
90
91
92
93
94
95
96
97
98
00
01
03
04
05
06
07
08
09
10
11
14
15
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
64
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
87
91
92
93
94
95
96
97
98
99
00
01
02
04
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
84
85
86
87
88
89
90
91
92
94
95
97
98
99
01
02
03
04
06
07
08
09
11
12
13
14
15
16
18
19
20
21
22
23
24
25
26
27
28
29
30
32
33
34
35
36
37
38
40
41
42
43
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
99
00
01
02
03
04
05
06
07
08
09
11
12
13
15
16
17
18
19
20
21
22
24
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
67
68
69
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
21
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
57
58
59
60
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
90
93
94
95
96
97
98
99
00
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
98
99
00
01
02
03
04
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
66
67
68
69
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
87
90
91
92
93
94
95
96
98
99
01
02
03
04
05
06
07
08
10
11
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
18
19
20
21
22
23
24
25
26
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
50
51
52
53
55
57
59
60
61
62
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
17
20
21
22
23
24
25
26
27
29
31
32
33
34
35
36
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
08
09
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
83
84
86
88
89
91
92
93
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
85
86
87
90
91
92
93
94
95
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
19
20
21
22
23
24
25
26
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
70
71
73
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
20
21
23
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
06
07
08
09
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
32
34
36
37
38
39
40
41
42
43
45
46
47
48
49
50
51
52
53
56
57
58
59
60
61
62
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
62
63
64
65
66
67
68
69
70
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
93
94
96
97
98
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
45
46
49
51
52
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
91
92
94
95
96
97
98
99
00
01
02
03
04
05
06
08
09
10
11
12
13
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
81
82
83
84
85
87
88
89
90
91
92
93
94
96
98
00
01
02
03
04
06
07
08
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
97
98
00
02
03
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
20
21
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
65
66
67
68
70
71
72
73
74
76
77
78
79
80
81
83
84
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
57
58
59
60
61
62
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
45
46
47
48
49
50
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
00
01
02
03
05
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
37
38
39
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
84
85
86
87
88
89
90
91
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
32
33
34
35
36
38
39
40
41
42
43
44
45
46
47
48
49
51
52
53
55
56
57
58
59
60
62
63
64
65
67
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48
50
51
52
53
55
56
57
58
59
60
61
62
63
66
67
68
70
71
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
35
36
37
38
39
40
41
42
43
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
07
08
09
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
37
38
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
75
76
77
78
79
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
99
01
02
03
04
05
06
07
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
87
88
89
90
91
92
93
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
17
18
19
20
21
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
81
82
85
86
87
88
89
91
92
95
96
97
98
99
00
01
02
03
05
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
27
28
29
31
32
33
34
35
36
38
41
42
43
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
02
03
04
05
06
07
08
09
10
11
12
15
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
50
51
52
55
56
57
58
59
60
61
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
84
85
87
88
89
90
91
92
94
95
96
97
98
99
00
01
02
04
05
06
07
08
09
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
90
91
93
94
95
97
98
99
00
01
02
03
04
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
61
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
09
10
11
12
13
14
15
16
17
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
44
46
47
48
49
50
51
52
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
50
52
53
55
56
57
58
59
60
61
62
63
64
66
67
68
69
70
71
72
73
74
75
76
77
79
81
82
83
86
87
88
89
90
91
94
95
96
97
98
99
00
01
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
19
20
21
22
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
82
83
85
86
87
88
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
37
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
84
85
86
87
88
89
90
91
92
93
94
95
96
98
01
03
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
40
41
42
43
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
96
97
98
99
00
02
03
05
06
07
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
44
45
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
81
82
83
84
85
86
87
88
90
91
92
93
94
95
97
98
00
01
02
03
04
05
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
38
40
41
42
43
44
45
46
47
48
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
81
82
84
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
18
19
21
22
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
98
99
00
02
03
04
05
07
08
09
10
11
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
10
11
12
14
15
16
17
18
19
20
21
22
23
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
55
57
58
59
60
61
62
63
64
65
67
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
78
79
80
81
82
83
84
85
87
88
89
90
91
92
93
95
96
97
98
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
63
64
66
67
68
69
70
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
99
00
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
40
41
42
43
44
45
47
48
49
50
52
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
94
95
96
98
99
00
01
02
03
04
05
06
07
08
09
10
11
13
14
15
16
17
18
20
21
22
24
26
27
28
29
30
31
32
33
34
35
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
61
62
64
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
42
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
61
62
63
64
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
84
85
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
45
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
96
97
98
99
02
03
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
37
38
39
40
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
41
42
44
45
46
47
48
49
51
52
53
55
56
57
58
59
60
61
62
63
65
66
67
68
70
71
72
73
74
75
76
78
79
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
84
85
86
88
91
92
93
94
95
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
17
18
19
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
40
41
42
43
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
66
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
99
01
02
03
04
06
07
08
09
10
11
12
13
14
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35
36
37
40
41
42
43
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
10
11
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
50
51
52
53
55
56
57
58
59
60
61
62
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
75
76
77
79
80
81
82
84
86
87
88
90
91
92
93
94
95
96
97
98
99
01
03
04
05
06
07
09
10
11
12
13
14
15
16
17
18
19
20
21
22
24
26
27
28
29
30
31
32
33
34
35
36
37
39
40
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
51
52
55
56
57
58
59
60
61
62
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
81
82
83
84
85
86
89
90
91
92
93
94
95
96
97
98
99
00
01
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
43
44
45
47
48
49
50
51
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
80
81
82
83
84
85
86
87
89
90
91
92
93
94
96
97
98
99
00
01
03
04
05
06
07
08
09
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
31
33
34
35
36
37
38
39
41
42
43
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
09
10
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
97
01
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
98
99
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
41
42
43
44
45
46
47
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
83
84
85
86
87
88
89
90
91
93
94
95
96
97
98
99
00
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
37
38
39
40
41
42
43
44
46
47
49
51
52
53
55
56
57
58
59
60
61
62
63
64
65
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
03
04
05
06
07
08
09
10
11
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
42
43
44
45
47
48
49
50
51
52
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
64
65
66
67
68
69
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
91
92
93
94
96
97
98
99
00
01
02
03
04
05
06
07
08
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
46
47
48
49
51
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
97
98
99
01
02
03
04
06
07
08
09
10
11
12
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
38
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
66
67
68
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
99
00
01
02
03
05
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
70
71
72
73
74
75
76
78
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
97
98
00
01
02
04
05
06
07
08
09
10
11
13
14
15
16
17
18
19
20
21
22
23
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
46
47
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
86
87
88
89
90
91
92
93
94
96
97
98
99
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
86
87
88
89
91
93
95
97
98
01
02
03
04
05
06
07
09
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
51
52
53
55
56
57
58
59
60
61
62
63
64
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
96
97
98
01
02
03
04
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
56
57
58
59
61
62
63
65
66
67
68
69
70
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
35
36
37
39
40
41
42
43
44
45
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
66
67
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
86
87
88
89
90
91
92
93
94
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
42
43
44
45
46
48
49
50
52
55
56
57
58
59
60
61
62
63
65
66
67
68
69
71
72
73
74
75
76
77
78
79
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
05
06
07
08
10
11
12
13
14
15
16
18
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
90
91
92
93
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
38
39
41
42
44
46
47
48
49
50
51
52
55
56
58
59
60
61
62
63
64
65
67
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
60
62
63
66
67
68
69
70
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
15
16
17
18
19
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
50
51
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
89
90
91
92
93
94
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
48
49
50
51
53
55
56
57
58
59
60
61
62
65
66
67
68
69
70
71
72
73
74
75
76
77
79
80
81
82
83
84
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
61
62
64
65
66
67
68
70
71
72
73
75
76
77
78
79
80
81
82
83
85
86
87
88
89
90
91
92
93
94
95
96
98
99
00
01
03
04
05
06
07
08
09
10
11
12
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
79
80
81
82
83
84
85
86
87
88
90
91
92
94
95
96
97
98
99
00
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
56
57
58
59
60
62
64
65
66
67
68
69
70
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
88
89
90
93
94
95
96
97
98
99
00
01
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
40
41
42
43
44
45
46
47
48
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
75
76
77
78
79
80
81
82
84
85
86
87
88
90
91
92
93
94
95
96
97
98
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
49
50
51
52
53
55
57
58
59
60
61
62
63
65
66
67
68
69
70
71
72
73
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
87
88
89
90
91
92
94
95
96
97
98
00
01
02
03
04
05
06
07
09
10
11
12
13
15
16
17
18
19
20
21
23
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
00
01
03
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
40
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
84
85
86
87
88
89
90
91
92
93
94
95
97
98
00
01
02
03
04
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
37
38
39
40
41
42
43
44
45
46
48
49
50
52
53
55
56
57
58
59
60
62
63
64
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
86
87
88
89
90
91
92
93
94
95
96
97
98
01
02
03
06
07
08
09
10
11
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
90
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
61
62
63
64
65
67
68
69
71
72
73
75
76
77
78
79
80
81
82
83
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
07
08
09
13
14
15
16
17
18
20
21
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
13
14
15
16
18
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
85
87
88
89
90
91
92
93
94
95
97
98
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
67
68
69
70
71
72
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
15
18
19
20
21
22
23
24
26
27
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
53
55
56
57
58
59
60
61
62
63
65
66
68
69
70
71
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
00
01
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
52
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
81
82
83
85
86
87
88
89
90
91
92
93
94
96
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
40
41
42
45
46
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
67
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
96
97
98
01
02
03
04
05
07
08
09
10
11
12
13
14
16
17
18
19
20
21
22
23
25
26
28
29
30
31
32
33
35
36
37
38
39
40
41
42
43
44
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
45
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
64
65
66
67
68
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
88
89
90
91
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
10
11
12
15
16
17
19
20
21
23
25
26
27
28
29
30
31
32
33
34
35
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
98
99
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
37
39
40
42
43
44
45
46
47
48
49
50
51
52
55
56
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
09
10
11
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
74
75
77
78
79
80
81
82
83
84
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
06
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
46
47
48
49
50
51
52
53
55
56
57
59
60
61
62
63
64
65
67
68
69
70
71
72
73
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
07
08
09
11
12
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
33
34
35
36
37
38
39
40
42
43
44
45
46
47
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
19
20
21
22
23
25
26
27
28
29
30
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
00
01
02
03
04
05
06
08
09
10
11
12
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
31
32
33
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
22
23
25
26
29
30
31
32
33
34
35
37
38
39
40
41
42
44
45
46
47
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
93
94
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
33
34
35
36
38
39
40
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
83
84
85
86
87
88
90
91
92
94
95
96
97
98
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
38
39
41
42
43
44
45
46
47
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
29
30
32
33
34
35
36
37
38
39
40
42
43
44
45
46
47
48
49
50
51
52
53
57
58
59
60
61
63
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
94
95
96
97
98
99
01
02
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
23
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
79
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
99
00
01
02
03
04
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
37
38
39
40
41
42
43
44
45
46
47
48
49
50
52
53
55
56
57
58
59
60
61
62
63
64
65
67
68
69
70
71
72
74
75
76
77
79
80
81
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
47
48
49
50
51
53
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
79
80
82
83
85
86
87
88
89
90
91
92
93
94
95
96
97
98
00
02
03
04
05
06
07
09
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
50
51
53
55
56
57
58
59
60
61
62
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
98
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
37
38
39
40
41
43
44
45
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
81
82
83
84
85
86
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
06
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
39
40
41
42
43
44
45
46
47
48
50
51
52
53
55
56
57
58
59
60
61
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
98
99
00
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
51
52
55
56
57
58
59
61
62
64
65
66
67
68
69
70
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
88
89
90
91
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
32
33
35
36
37
39
40
41
42
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
62
63
64
66
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
50
51
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
74
75
76
77
78
79
80
81
82
84
85
86
87
88
89
91
92
93
94
95
97
98
00
01
02
03
04
05
06
08
09
11
12
13
14
15
16
17
18
19
21
22
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
53
55
56
57
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
85
86
88
89
90
91
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
23
24
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
95
96
97
98
99
00
01
02
03
04
05
06
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34
35
36
37
39
40
41
42
44
45
46
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
81
83
84
85
86
87
89
90
92
93
94
95
96
97
98
99
00
01
02
03
04
05
06
07
08
09
10
11
12
15
16
17
18
19
20
21
22
23
25
26
27
28
29
30
31
32
33
35
36
37
38
40
41
42
43
44
45
46
47
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
92
93
94
96
97
98
99
01
02
03
04
06
07
08
09
10
11
12
13
14
15
16
18
19
20
21
22
23
25
26
27
28
29
30
31
32
33
34
35
36
38
39
40
42
43
44
45
46
47
48
49
50
51
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
82
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
01
02
03
04
05
07
08
09
10
11
12
13
14
15
16
17
18
20
22
23
24
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
89
91
92
93
94
97
98
99
01
03
04
05
06
08
09
10
11
12
13
14
15
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
87
88
89
90
91
92
93
94
96
97
98
99
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
25
26
27
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50
51
52
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
76
77
78
79
81
82
83
84
85
87
88
89
90
91
92
93
94
95
96
97
98
99
00
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
58
59
60
61
62
63
64
65
67
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
91
92
94
95
97
98
01
02
03
04
05
06
07
08
09
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
67
68
69
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
91
92
93
94
95
96
97
98
