8
6
6
6
6
6
6
6
5
6
5
6
5
6
8
8
7
6
7
6
7
6
6
6
5
6
6
9
8
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
8
7
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
8
9
9
8
6
7
9
8
9
9
10
9
7
7
7
8
9
9
9
9
9
7
8
7
8
9
8
9
9
9
7
8
9
9
9
10
9
9
9
8
9
8
7
10
7
6
8
7
6
7
6
6
7
8
8
8
8
10
8
9
10
9
8
9
9
7
8
10
9
8
7
8
8
6
6
6
6
6
6
6
6
8
6
6
6
6
6
40
7
6
6
6
6
6
6
5
6
6
6
6
8
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
9
7
6
6
6
6
6
6
6
7
7
6
6
6
6
8
6
6
7
9
9
9
9
8
9
9
9
9
9
9
7
6
6
6
8
7
8
6
6
7
6
6
8
8
8
9
9
8
6
8
8
7
7
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
6
6
6
6
5
6
5
6
5
6
6
8
8
6
8
8
6
6
7
6
6
6
6
6
6
8
8
9
8
6
7
6
6
7
6
6
7
6
6
7
6
6
8
9
7
7
7
6
8
8
9
6
6
5
6
5
6
5
6
6
6
6
5
6
5
6
9
6
5
6
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
9
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
7
8
9
8
9
7
8
6
6
6
6
6
6
6
6
8
8
6
6
8
8
7
6
6
6
6
6
6
7
8
8
8
9
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
5
6
6
6
7
5
6
6
6
6
6
6
5
6
6
6
7
8
8
6
6
6
6
5
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
8
7
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
8
8
8
8
8
7
7
8
8
8
6
9
9
7
6
6
6
9
6
6
6
6
6
6
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
11
6
6
7
6
6
6
6
6
6
6
6
6
7
8
6
6
10
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
5
6
5
6
5
7
7
9
9
9
9
8
7
9
10
8
9
7
8
7
9
8
9
9
7
7
8
9
9
8
9
8
9
7
8
8
6
6
8
8
7
6
10
9
9
9
8
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
7
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
7
6
6
6
6
6
8
8
8
9
8
8
7
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
5
6
6
6
5
6
6
5
5
7
6
6
6
5
6
6
6
6
5
8
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
5
7
6
6
6
6
5
6
6
5
6
6
8
7
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
7
8
6
6
6
6
6
6
6
5
8
7
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
10
8
6
6
6
6
6
6
5
6
6
9
10
8
8
9
8
8
8
8
9
7
8
9
6
6
6
6
6
6
6
6
8
8
9
8
7
9
7
8
8
7
7
6
6
9
9
7
7
6
6
6
9
8
9
9
8
9
8
8
9
9
9
8
9
8
8
7
9
8
8
6
6
6
6
6
6
6
5
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
8
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
8
9
9
8
6
6
6
6
6
9
8
7
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
9
9
8
8
8
9
8
9
9
9
9
9
9
8
9
9
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
9
8
7
7
6
7
6
7
10
8
8
8
7
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
8
7
7
7
8
7
7
7
7
7
6
6
6
6
7
6
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
8
7
7
7
8
6
6
6
6
6
6
6
7
6
6
6
6
8
8
10
8
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
6
6
7
6
6
7
6
8
8
9
8
8
8
9
8
7
7
8
8
8
9
10
8
9
8
8
9
9
8
9
9
9
9
9
9
9
9
8
8
8
8
8
9
7
7
8
7
7
7
7
8
7
7
7
7
7
7
7
7
8
7
7
7
7
7
7
7
7
7
8
7
7
7
7
7
8
7
7
7
7
7
7
7
7
7
8
7
7
7
7
7
7
8
7
7
7
7
7
7
8
7
7
8
7
7
7
7
8
7
7
7
7
7
7
7
7
7
8
7
7
7
7
7
7
7
7
7
8
7
7
7
7
7
7
7
7
8
7
7
7
7
8
7
7
8
7
7
7
7
7
7
8
7
7
7
7
7
7
7
7
8
7
8
7
7
7
7
7
8
7
6
6
6
6
6
6
6
6
6
6
7
6
7
6
7
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
7
6
6
6
7
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
7
6
7
6
6
6
6
6
6
6
7
6
7
6
6
7
6
6
7
6
8
7
9
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
7
6
7
6
8
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
7
8
9
9
7
6
8
7
7
7
9
9
8
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
10
8
9
8
9
6
6
6
9
8
8
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
8
8
8
9
7
8
9
8
8
7
7
7
8
7
8
8
8
7
9
8
9
8
8
8
9
8
8
8
8
9
7
8
8
8
8
8
7
8
9
9
9
9
9
9
9
9
9
9
9
8
9
9
9
9
8
9
9
8
9
8
9
9
7
8
9
8
5
6
7
8
7
7
7
6
6
6
7
9
8
7
7
8
6
9
8
7
16
6
7
7
8
7
6
6
6
6
6
6
7
6
7
7
6
7
7
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
5
6
5
6
6
5
8
6
5
9
6
7
6
7
6
9
6
8
7
9
9
8
8
7
9
8
8
8
8
6
6
6
9
6
6
6
6
6
5
6
6
6
6
6
5
6
5
6
6
7
8
6
6
5
6
6
6
6
16
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
5
6
6
5
6
5
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
8
6
6
6
5
6
8
8
8
8
8
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
7
8
8
7
8
7
8
7
7
6
6
6
6
6
5
6
6
6
6
6
9
8
6
7
6
6
6
6
6
6
7
6
8
8
8
7
7
7
7
8
8
6
6
6
5
6
7
8
7
7
7
8
8
7
8
7
8
7
8
8
8
9
7
7
8
8
8
8
7
7
7
21
7
7
6
6
6
5
5
6
6
6
6
6
6
6
6
6
10
7
5
5
5
5
5
5
6
6
5
10
6
6
5
7
7
8
6
8
7
7
8
8
7
8
8
8
7
7
6
8
7
7
8
7
7
7
7
6
7
6
7
6
6
5
5
8
8
8
8
7
8
7
7
8
7
8
7
5
7
5
6
5
5
7
8
8
7
7
5
8
8
7
6
8
8
9
8
9
8
9
7
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
8
7
8
9
8
9
10
10
9
8
8
8
8
8
9
9
8
9
9
8
7
7
6
7
7
7
7
6
6
8
9
8
9
9
9
9
8
8
8
8
9
8
10
9
8
9
9
8
8
9
9
9
9
8
9
8
9
9
9
9
9
9
9
8
9
8
9
9
8
9
9
10
9
9
10
8
9
8
9
8
9
8
8
8
9
9
8
8
7
7
8
8
9
8
8
8
8
8
9
7
7
7
7
6
6
7
8
10
9
9
10
11
10
9
9
9
9
9
9
8
9
8
10
8
9
8
10
8
8
9
9
9
9
9
9
8
9
8
9
8
9
9
8
9
9
9
9
8
8
8
8
8
7
8
7
8
8
8
11
8
10
8
8
7
7
6
6
6
6
6
9
8
9
9
9
9
9
9
9
9
8
9
8
8
8
8
8
6
6
6
6
6
8
6
8
6
6
5
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
7
9
8
9
8
8
8
9
8
8
8
9
9
17
8
7
8
8
8
8
7
8
9
8
8
8
8
7
8
7
8
8
9
9
8
8
9
8
9
9
8
9
8
9
9
8
9
9
8
8
8
9
9
8
9
9
8
9
9
9
8
8
9
8
8
8
9
9
9
8
7
6
6
6
6
8
8
7
7
8
8
8
7
8
8
6
6
6
6
8
8
7
6
5
6
6
6
6
6
7
6
6
6
6
6
8
8
9
9
9
20
9
8
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
7
7
6
8
8
6
6
6
6
8
8
9
8
6
6
7
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
9
9
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
9
9
9
9
9
8
6
7
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
10
7
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
5
7
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
8
8
9
8
6
7
6
6
6
6
7
6
6
6
6
6
6
6
5
5
6
6
6
6
6
6
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
8
6
16
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
6
6
6
5
6
6
6
8
8
6
6
6
6
6
6
6
8
6
6
6
6
6
6
7
8
8
7
8
7
8
7
8
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
7
6
6
6
6
6
6
9
8
9
6
6
6
7
7
8
8
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
8
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
5
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
5
6
6
5
7
7
6
6
5
6
5
6
5
7
7
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
8
7
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
7
10
8
7
6
6
6
8
6
6
6
5
7
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
5
7
8
7
6
6
6
6
6
6
6
6
5
6
5
6
6
8
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
5
6
6
6
6
6
6
5
8
20
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
7
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
8
6
6
6
6
6
8
7
8
7
7
7
8
6
6
6
6
8
6
6
6
6
7
6
7
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
9
8
9
8
7
6
6
7
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
9
7
8
8
6
6
6
6
6
6
5
8
7
7
6
8
8
9
8
6
6
6
6
8
6
6
6
6
8
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
8
9
8
7
6
6
6
6
6
6
6
6
5
8
7
6
6
7
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
5
6
5
6
5
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
7
19
7
8
6
8
6
5
6
6
6
6
6
6
7
8
7
5
6
6
7
6
6
6
7
9
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
16
6
8
9
7
8
9
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
8
7
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
7
6
6
5
6
6
6
6
6
6
7
7
7
7
7
7
7
8
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
8
6
7
5
6
6
5
8
9
9
7
8
8
7
8
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
6
8
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
7
8
6
6
8
7
7
8
8
7
7
7
8
8
7
6
6
9
8
8
9
6
7
6
6
6
6
6
8
7
6
6
6
6
7
6
7
9
8
6
6
6
6
6
6
6
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
8
9
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
8
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
8
7
7
8
7
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
7
8
7
8
7
8
7
8
7
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
7
9
9
8
6
6
7
6
6
7
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
7
6
7
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
16
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
9
9
9
8
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
7
8
8
7
7
7
8
7
8
8
6
5
6
6
6
6
5
6
6
6
6
6
6
6
10
6
6
6
6
6
7
9
8
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
8
8
9
7
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
8
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
7
6
5
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
8
7
7
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
16
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
9
6
6
6
7
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
10
11
7
7
8
7
7
7
8
8
6
6
6
7
7
6
6
6
6
6
7
6
6
6
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
10
8
9
8
8
9
7
7
6
6
6
6
6
7
6
6
6
6
6
7
7
6
6
6
6
6
6
6
7
9
8
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
9
9
9
8
9
8
8
9
9
9
9
6
6
6
6
6
6
6
7
6
6
5
6
5
6
5
6
6
6
6
6
6
5
5
5
5
5
6
5
5
5
5
5
5
6
6
7
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
6
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
11
8
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
9
9
9
9
7
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
8
9
7
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
9
8
8
9
8
7
8
8
6
6
7
6
5
6
6
6
5
6
5
7
6
7
8
9
8
9
8
8
8
8
7
8
8
8
7
8
7
8
8
8
8
9
8
8
8
8
7
8
8
8
8
7
8
8
8
8
8
8
8
9
8
8
8
7
9
8
9
9
9
8
8
8
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
7
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
5
5
5
7
7
7
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
9
7
5
5
5
5
5
5
5
4
5
5
5
8
7
5
5
8
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
5
11
8
7
8
7
6
5
5
5
5
5
5
5
5
5
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
7
7
7
5
5
7
6
6
5
5
5
5
5
5
5
5
5
5
5
6
6
5
6
6
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
6
7
7
6
7
7
7
7
6
7
5
5
5
5
5
5
5
5
5
6
7
6
6
6
6
7
5
5
5
5
5
5
5
5
5
5
6
5
5
5
5
6
6
6
6
6
7
5
5
5
5
5
5
5
5
5
8
7
7
7
8
8
7
7
7
7
8
7
7
8
8
7
7
7
7
7
7
7
7
7
7
7
8
7
7
6
7
7
8
7
7
7
7
8
7
7
7
8
6
7
7
7
7
7
7
7
6
5
5
5
5
5
5
6
5
5
5
5
5
5
5
6
6
5
5
5
5
5
5
5
5
6
7
7
7
7
7
5
5
5
5
5
5
5
5
5
5
5
5
5
7
7
6
6
6
5
5
5
5
7
5
9
6
7
7
6
7
7
7
6
7
6
6
8
7
6
7
6
5
7
8
5
6
8
6
5
7
7
8
7
6
5
5
5
5
5
5
5
7
8
7
8
8
6
6
14
9
6
6
6
6
6
6
6
7
7
16
6
5
6
6
6
5
6
6
7
6
6
6
6
5
6
5
6
6
6
6
6
5
6
6
7
7
7
8
6
6
6
5
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
8
10
9
8
9
8
7
6
7
6
6
6
8
10
7
7
6
6
6
6
8
6
6
6
8
8
8
9
9
8
9
9
8
8
8
6
6
6
6
7
6
6
6
6
8
6
7
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
7
7
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
11
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
9
7
6
6
6
7
6
6
7
6
6
7
6
6
7
6
8
6
6
7
6
6
6
6
6
6
6
6
6
9
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
9
7
7
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
7
7
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
8
8
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
7
9
6
6
6
5
6
6
6
6
6
6
6
5
6
5
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
6
6
6
6
6
6
7
8
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
8
8
8
7
8
6
6
6
6
5
8
9
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
8
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
16
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
8
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
7
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
9
9
10
9
8
8
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
9
8
8
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
9
8
8
6
6
6
6
6
6
6
6
8
9
7
7
6
6
6
6
7
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
8
9
8
7
6
6
6
6
7
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
6
6
9
8
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
5
6
6
6
8
8
6
6
6
6
6
6
6
7
6
6
8
7
7
6
6
6
6
6
6
7
6
6
5
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
8
6
6
8
10
9
8
8
9
9
8
8
8
8
8
10
8
8
7
7
7
8
8
8
8
9
8
8
9
8
8
9
8
7
9
9
9
8
8
8
8
8
9
8
8
9
9
8
9
9
9
8
8
10
9
9
8
8
8
8
8
8
8
9
8
9
8
6
7
8
8
9
10
8
8
8
7
6
7
9
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
9
6
6
6
6
6
6
6
7
8
8
6
6
6
5
6
5
6
7
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
8
6
6
6
7
8
9
6
6
6
6
6
6
6
5
6
6
6
6
8
6
6
7
6
6
6
6
6
6
7
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
7
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
5
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
7
7
7
6
6
7
8
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
7
6
6
6
6
6
6
6
6
6
6
7
6
7
9
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
9
8
6
6
6
6
6
6
6
6
6
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
7
6
6
6
7
7
6
6
6
8
6
6
6
6
6
7
6
6
6
6
6
8
8
7
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
7
6
6
6
6
6
6
8
8
8
7
7
7
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
8
9
9
9
7
9
7
6
6
6
6
6
6
6
6
6
6
6
5
8
6
6
5
11
9
9
9
9
6
8
8
7
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
8
7
8
6
8
8
6
6
6
8
8
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
5
6
5
6
6
5
6
6
6
6
5
6
8
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
8
8
7
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
7
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
8
9
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
8
7
6
6
6
6
6
6
9
8
7
6
5
6
5
6
6
6
6
6
6
6
6
5
8
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
7
6
5
6
6
6
6
6
8
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
9
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
7
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
9
8
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
7
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
8
8
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
8
6
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
9
6
6
6
6
5
6
18
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
6
8
6
6
6
6
6
6
6
7
9
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
7
7
8
8
8
8
8
8
8
7
8
7
8
8
8
8
7
7
7
11
8
9
8
7
7
7
7
7
7
7
7
7
7
8
9
8
9
8
8
9
9
8
9
8
8
9
8
10
8
11
8
8
8
19
19
21
9
8
9
8
6
7
7
7
6
7
7
6
6
6
6
6
5
6
6
6
7
6
6
6
7
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
7
7
6
6
6
6
8
7
9
7
6
6
6
5
6
5
6
5
6
5
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
8
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
7
7
6
7
7
6
6
6
6
5
6
5
6
5
6
5
6
6
6
10
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
7
7
6
6
6
6
6
7
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
8
7
8
8
7
7
7
7
7
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
8
7
6
5
6
6
6
7
7
6
5
6
6
5
6
5
6
6
6
6
5
6
6
5
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
8
8
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
5
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
8
6
6
6
6
6
6
5
6
5
6
5
6
5
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
9
6
6
6
7
7
7
6
7
9
7
6
6
6
6
6
8
6
7
6
6
6
9
9
9
9
8
9
7
8
9
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
5
6
6
6
6
6
5
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
5
7
6
6
6
6
6
5
6
7
8
7
8
8
8
8
8
7
8
6
6
6
6
6
6
6
6
6
6
7
8
6
7
7
6
6
6
6
6
6
7
7
6
6
6
6
7
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
7
8
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
7
7
8
7
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
5
6
5
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
9
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
17
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
9
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
9
8
9
7
8
8
7
6
6
9
8
9
9
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
8
8
7
8
7
7
7
8
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
8
8
8
7
8
7
7
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
8
7
8
8
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
9
6
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
9
8
7
8
9
8
7
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
7
7
7
6
6
6
6
5
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
7
6
6
6
6
6
6
6
6
8
8
9
7
8
7
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
9
7
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
8
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
8
8
7
6
5
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
8
7
7
7
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
8
8
7
7
7
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
8
6
7
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
8
7
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
8
6
8
7
7
7
6
7
6
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
9
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
6
7
8
7
6
6
6
6
7
6
6
6
7
6
5
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
7
7
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
8
7
7
7
7
7
7
7
8
6
6
7
6
6
6
6
6
6
5
6
5
8
7
17
7
6
6
6
6
6
6
9
9
9
9
9
9
8
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
7
9
8
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
8
7
6
6
6
6
7
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
7
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
16
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
7
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
8
8
8
7
7
7
7
7
8
6
6
6
7
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
8
8
8
8
8
8
8
8
6
6
5
6
6
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
9
8
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
9
9
8
6
6
6
6
6
7
6
8
8
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
6
7
8
7
8
7
7
8
8
8
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
9
8
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
9
7
6
6
9
8
6
7
6
6
6
7
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
10
8
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
8
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
7
7
7
7
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
8
7
8
7
7
7
8
7
8
6
6
6
7
6
8
8
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
13
8
9
7
9
6
6
7
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
9
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
9
7
6
6
6
6
6
6
6
7
6
6
12
8
7
8
7
7
7
7
7
7
8
8
8
8
8
7
8
8
8
7
8
8
8
7
8
8
7
8
8
8
8
7
8
7
8
8
8
8
8
11
7
8
8
8
8
7
7
8
7
8
8
7
8
8
8
8
7
7
8
7
7
7
8
8
8
8
7
8
7
8
7
8
9
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
7
8
7
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
7
6
9
9
9
8
7
6
8
9
7
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
8
6
6
6
8
9
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
7
8
6
6
5
6
6
9
9
9
8
8
8
8
9
8
8
7
7
7
6
9
6
6
8
8
8
9
8
8
8
9
8
8
7
8
8
8
7
8
8
7
8
8
8
8
8
8
8
8
8
8
9
8
8
9
8
9
8
7
9
8
10
8
8
9
20
8
8
8
12
8
8
8
8
8
8
8
8
8
6
6
5
6
5
6
5
6
6
6
6
5
7
8
8
8
6
6
6
5
6
6
6
6
6
6
6
6
5
5
5
5
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
5
6
5
6
5
5
5
5
5
5
5
5
6
10
5
5
5
5
5
5
5
5
7
10
7
5
5
5
5
8
7
5
6
5
5
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
5
5
6
7
5
5
5
5
5
8
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
8
5
5
5
5
5
5
5
7
9
7
7
6
5
5
5
6
7
7
5
5
5
6
7
5
6
5
7
5
5
5
5
6
5
5
5
5
5
5
5
5
5
5
5
5
11
7
7
5
5
5
5
7
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
6
6
7
5
5
5
5
7
5
5
5
4
5
5
5
5
5
5
5
5
5
5
5
5
8
6
5
7
6
6
6
6
6
6
6
7
7
7
6
5
5
5
5
5
5
5
6
5
5
5
5
6
5
5
5
5
5
5
6
5
5
5
5
6
5
5
5
5
5
5
7
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
7
7
7
7
5
7
7
6
7
8
6
9
8
7
6
6
7
6
6
7
7
7
6
5
7
6
5
8
7
6
7
7
8
8
7
6
6
7
7
8
6
5
6
7
7
7
7
8
7
6
6
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
8
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
10
6
6
6
6
6
6
5
8
6
6
8
8
9
7
7
7
7
6
6
6
9
6
10
8
9
8
9
8
7
6
7
7
6
9
9
7
6
6
7
6
6
7
6
6
7
6
8
7
8
9
8
6
9
7
6
8
7
8
7
9
7
9
8
9
6
8
8
8
8
9
8
6
6
24
7
6
6
6
6
6
6
5
6
6
6
6
6
5
6
5
6
5
6
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
9
7
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
7
7
8
7
7
8
7
7
6
6
6
6
6
5
6
6
6
6
6
6
5
7
6
7
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
6
6
6
6
6
5
6
6
6
6
6
6
7
7
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
8
8
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
7
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
7
9
8
8
8
7
7
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
18
7
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
8
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
8
6
9
6
6
7
8
6
8
8
8
7
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
8
7
7
8
7
8
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
8
7
6
8
7
6
7
8
6
6
8
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
5
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
8
9
9
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
7
9
11
8
8
8
6
6
9
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
7
7
7
7
7
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
8
7
7
8
7
7
8
7
8
8
6
6
6
5
6
6
6
6
6
6
5
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
5
6
6
6
6
6
6
7
7
6
9
7
7
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
21
8
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
7
7
9
7
6
6
9
9
9
9
9
7
7
8
9
9
9
10
9
7
7
8
9
9
9
10
9
7
6
7
8
8
8
9
10
10
8
7
6
8
9
6
7
8
6
6
6
5
7
9
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
7
7
7
7
8
7
8
7
8
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
7
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
5
6
5
6
6
9
7
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
9
8
6
6
6
7
8
8
8
7
8
6
6
6
6
6
6
6
6
6
7
6
6
6
8
6
6
6
6
6
6
6
8
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
10
6
6
6
6
6
6
5
6
6
6
6
8
7
7
6
5
6
6
6
6
5
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
8
10
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
8
6
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
7
8
6
6
6
6
6
7
8
7
7
7
7
7
8
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
7
8
7
7
7
7
8
7
8
7
6
6
5
6
5
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
5
6
5
6
7
6
5
6
6
6
6
5
6
6
7
6
6
8
6
6
6
5
6
7
9
8
6
6
6
5
6
6
6
6
5
6
6
8
8
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
24
8
6
6
6
6
5
6
9
6
6
6
6
6
8
7
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
5
5
7
8
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
10
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
8
10
8
6
6
5
6
6
5
8
8
6
6
6
6
6
6
6
9
8
7
6
6
6
6
5
6
5
8
6
6
6
6
6
5
5
5
5
4
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
8
11
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
8
9
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
7
6
5
5
5
5
5
5
6
8
5
5
5
5
5
5
5
5
5
7
5
5
5
5
5
5
5
5
5
9
7
5
5
5
5
5
5
5
4
5
5
5
5
4
5
5
5
5
5
5
5
5
5
4
5
5
5
10
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
10
7
5
6
5
6
5
5
5
5
5
6
5
5
5
5
5
5
5
5
7
5
5
6
5
5
5
5
5
8
5
5
5
5
5
5
5
5
5
7
5
5
5
6
5
5
5
6
9
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
10
9
9
7
7
5
5
5
5
5
5
5
6
7
6
7
7
6
7
7
7
6
7
7
7
7
7
8
7
7
8
7
8
7
7
7
8
8
8
7
7
7
7
6
7
7
7
7
8
8
8
8
8
7
7
8
7
8
7
7
7
7
7
7
8
7
7
7
6
7
6
7
6
7
7
7
7
6
7
7
6
8
7
7
7
8
7
7
7
8
8
7
7
7
7
7
6
7
8
7
7
7
6
8
7
7
7
8
7
7
7
7
7
6
7
8
7
8
7
8
7
7
7
7
7
7
7
6
7
7
7
8
8
8
8
8
8
8
8
7
8
7
8
7
7
7
7
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
8
6
6
6
6
7
8
6
6
6
6
6
6
6
7
8
9
8
7
6
6
6
6
5
6
6
6
5
6
6
6
5
5
8
8
6
7
6
6
6
6
6
6
6
6
6
6
8
7
6
6
7
6
8
6
6
6
6
10
9
8
10
8
9
8
6
6
6
6
6
6
7
8
7
7
8
8
8
10
7
8
6
6
6
6
6
6
6
6
6
6
6
6
8
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
7
6
6
6
7
8
7
6
6
6
6
6
5
6
6
5
6
7
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
6
5
6
6
5
6
7
6
6
6
6
6
5
6
5
6
6
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
7
9
7
7
7
8
7
8
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
5
6
8
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
8
6
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
8
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
8
6
6
6
6
7
7
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
7
7
7
8
7
8
8
8
6
6
6
6
6
6
7
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
6
6
5
6
6
6
6
6
6
6
6
6
8
8
9
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
8
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
5
8
6
6
6
6
6
6
6
6
6
6
7
8
9
8
9
8
8
8
8
8
8
7
8
8
9
8
8
8
8
8
8
7
8
8
8
9
9
8
8
9
9
8
9
8
9
9
9
8
11
9
9
9
9
8
9
22
18
8
9
8
8
8
8
9
8
9
19
9
7
7
7
8
7
23
7
7
7
7
6
7
8
6
6
15
6
7
6
6
7
6
16
6
6
6
8
6
6
6
6
6
7
6
6
7
15
7
7
6
7
6
7
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
8
9
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
7
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
8
6
6
6
6
5
6
7
7
6
6
6
7
7
6
6
6
6
5
6
6
6
6
6
5
6
6
7
8
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
8
7
8
7
8
8
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
8
9
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
8
9
8
6
6
7
6
7
7
7
7
9
8
7
6
6
7
6
8
7
7
6
6
6
6
10
11
9
8
8
9
8
8
6
8
9
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
9
7
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
7
7
8
8
8
7
8
6
7
8
9
8
6
6
6
6
6
7
6
6
6
6
8
6
6
6
6
6
8
8
8
7
6
5
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
15
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
8
7
7
7
8
8
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
7
7
8
7
8
7
7
7
8
8
6
6
6
6
8
8
9
7
7
6
6
6
6
7
8
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
7
6
6
7
6
6
6
7
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
8
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
8
6
6
6
6
6
6
6
6
8
9
8
7
8
7
8
8
7
8
7
8
7
7
7
6
6
6
6
7
9
9
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
7
7
6
6
7
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
7
7
7
7
7
7
6
6
6
6
8
8
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
8
7
8
7
7
7
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
9
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
5
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
16
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
8
8
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
9
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
5
6
5
7
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
7
7
7
7
8
8
8
6
6
8
6
6
6
6
6
6
6
6
6
6
5
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
6
6
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
8
7
6
6
6
6
6
7
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
5
6
5
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
7
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
7
7
6
6
8
8
10
8
9
8
6
6
8
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
8
8
7
7
7
7
8
7
8
6
6
6
6
8
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
7
8
7
8
7
7
7
7
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
5
6
5
6
5
6
5
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
16
7
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
8
7
7
6
6
5
6
6
6
7
8
7
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
7
8
8
8
8
7
7
7
8
8
6
6
6
5
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
7
6
6
6
6
5
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
15
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
8
7
8
8
8
8
6
6
7
6
6
5
6
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
7
7
7
7
7
8
8
8
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
5
6
5
6
6
7
8
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
8
8
8
8
8
9
9
9
8
9
8
9
8
9
8
8
9
8
9
9
8
9
8
9
8
9
8
9
8
9
9
9
8
8
9
8
8
8
9
9
9
9
8
8
8
9
8
8
8
8
9
8
9
9
9
8
8
9
9
8
8
8
8
9
8
8
9
8
8
9
9
8
9
8
9
9
8
9
8
9
10
8
9
9
8
8
8
9
9
8
9
9
9
8
9
8
9
8
9
8
8
7
7
8
7
8
7
7
7
8
7
7
8
7
7
8
8
7
7
7
8
8
7
8
7
8
7
7
7
8
7
7
7
7
7
7
7
7
7
7
7
8
7
7
7
8
7
7
8
8
7
8
8
10
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
7
7
8
7
7
7
7
7
7
7
7
8
7
7
7
7
8
7
7
8
7
8
8
7
8
8
8
8
7
7
8
7
8
8
7
8
8
7
7
8
8
8
7
7
7
7
7
7
6
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
8
6
6
6
6
6
8
7
6
7
7
6
6
7
7
8
7
6
6
6
7
7
8
6
6
6
6
6
5
6
7
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
8
9
8
7
7
6
6
5
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
9
9
9
9
10
10
9
10
9
9
10
9
9
9
9
8
9
8
8
8
8
8
11
6
5
6
6
6
7
7
6
6
7
6
6
7
6
6
7
6
7
6
6
7
6
6
6
6
6
6
6
7
6
8
9
8
8
8
8
8
9
7
8
8
7
7
7
6
6
6
7
6
7
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
8
6
8
7
8
7
7
7
7
5
6
6
6
5
6
6
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
6
6
5
5
6
5
6
5
5
6
5
6
7
6
5
6
5
5
6
5
5
6
5
6
5
6
5
6
6
6
6
5
6
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
5
5
6
5
6
5
6
6
5
6
7
6
5
6
5
6
5
6
5
5
5
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
5
6
5
5
5
6
5
5
6
6
5
5
6
6
5
6
6
5
6
5
5
6
5
5
6
5
6
5
5
6
6
5
6
6
5
6
5
5
6
6
7
6
6
5
6
6
5
6
5
5
6
5
5
6
5
6
6
7
5
5
6
5
5
5
5
5
5
5
7
6
5
6
5
5
5
5
6
5
6
5
6
6
5
6
5
6
5
6
5
5
5
5
5
5
6
5
5
6
5
6
5
6
5
5
5
5
8
6
7
6
6
6
6
6
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
8
8
7
6
5
5
5
5
5
5
7
7
5
5
5
5
5
5
5
6
7
7
7
5
5
5
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
7
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
8
8
6
7
6
6
6
7
6
6
6
6
6
6
6
6
5
6
7
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
4
5
5
9
7
7
6
7
7
8
8
6
7
7
8
7
6
5
5
5
6
10
7
7
6
7
6
6
7
7
6
8
7
7
7
6
7
6
7
7
7
7
7
7
7
6
7
7
6
6
7
6
6
5
6
7
8
7
11
6
6
22
7
6
5
6
9
8
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
7
6
6
6
6
6
6
6
6
6
6
7
7
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
9
9
7
6
6
6
6
7
6
7
9
8
6
6
6
6
7
9
8
6
7
6
6
6
9
8
8
10
8
8
8
10
9
9
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
7
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
7
6
6
9
8
6
7
7
6
6
7
7
7
7
7
8
8
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
9
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
19
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
9
6
6
6
6
6
6
6
7
6
7
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
8
7
7
7
7
7
7
8
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
7
7
8
7
7
8
7
8
6
7
8
7
6
6
6
6
9
8
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
7
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
5
6
6
6
6
8
7
7
6
8
6
6
6
6
7
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
7
8
7
7
7
8
7
7
7
8
8
7
9
9
7
7
6
6
7
6
6
6
6
6
6
8
6
6
6
6
6
9
8
7
7
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
18
7
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
7
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
7
7
8
8
7
8
7
8
8
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
7
8
7
8
8
7
7
8
7
6
6
6
8
9
8
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
5
6
5
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
8
7
6
6
6
6
7
6
6
6
6
6
6
6
8
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
8
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
7
8
7
7
8
8
7
7
7
7
6
6
6
6
9
8
7
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
9
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
6
7
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
6
7
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
9
6
6
6
6
6
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
7
16
9
8
7
7
7
9
8
9
8
9
8
9
8
9
7
8
8
8
8
8
7
8
8
9
9
8
8
9
9
9
9
9
9
8
8
9
8
8
8
7
8
7
7
6
6
5
6
10
7
8
8
10
9
8
8
7
7
8
8
7
7
9
10
9
9
8
8
7
9
9
8
8
9
9
8
8
7
9
8
8
8
8
9
8
8
8
8
8
7
7
8
9
8
9
9
9
9
9
7
8
9
9
9
10
9
9
9
7
8
9
8
9
9
9
8
10
9
8
8
9
9
9
8
9
9
9
9
9
9
9
9
8
8
9
6
6
8
9
9
10
8
8
9
8
9
9
8
8
8
8
9
9
8
7
8
9
9
9
8
9
7
9
10
9
8
6
9
9
8
9
9
10
8
9
8
9
8
9
8
9
9
8
6
9
7
8
8
9
9
9
8
8
9
9
9
8
6
7
7
9
8
8
9
8
8
8
8
9
8
9
9
8
8
8
8
8
7
6
7
6
6
8
9
8
8
9
9
8
8
8
8
8
9
8
7
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
5
6
5
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
9
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
9
8
6
5
6
6
6
6
6
7
8
7
8
8
7
7
8
7
8
6
6
6
6
6
6
6
6
5
6
6
6
6
7
8
8
9
9
8
6
7
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
7
8
8
6
6
6
6
6
6
6
7
6
6
7
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
28
7
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
8
9
9
9
8
9
8
6
8
8
9
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
7
7
7
8
7
8
8
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
8
7
8
7
8
7
8
6
7
6
6
6
6
6
5
6
6
6
6
6
7
8
8
8
9
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
6
6
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
5
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
7
8
7
8
7
8
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
8
6
6
9
9
9
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
7
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
7
6
6
7
6
6
6
6
7
8
#include <stdlib.h>
#include <stdio.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
#include <string.h>
#include <sys/time.h>
#include <time.h>
int main(int argc, char **argv)
{
struct sockaddr_un address;
int socket_fd, nbytes;
char buffer[256];
int num_samples;
if (argc != 2)
{
printf("Usage:\n");
printf(" unixdomain_client <num_samples_to_send>\n");
return 0;
}
num_samples = atoi(argv[1]);
if (num_samples <= 0)
{
printf("Number of samples to send must be >0\n");
return 1;
}
fprintf(stderr, "Number of samples to send: %d\n", num_samples);
/* We shohuld send N+1 packets to get N diffs */
num_samples = num_samples+1;
socket_fd = socket (PF_UNIX, SOCK_DGRAM, 0);
if (socket_fd < 0)
{
printf ("socket() failed\n");
return 1;
}
/* start with a clean address structure */
memset (&address, 0, sizeof (struct sockaddr_un));
address.sun_family = AF_UNIX;
snprintf (address.sun_path, FILENAME_MAX, "./demo_socket");
if (connect (socket_fd,
(struct sockaddr *) &address,
sizeof (struct sockaddr_un)) != 0)
{
printf ("connect() failed\n");
return 1;
}
for (int i=0; i<num_samples; i++)
{
struct timeval tv;
gettimeofday (&tv, NULL);
write (socket_fd, &tv, sizeof (tv));
usleep (100);
}
return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <sys/time.h>
#include <time.h>
int main (int argc, char **argv)
{
struct sockaddr_un address;
int socket_fd;
socklen_t address_length;
unsigned char buffer[512];
struct timeval now, msg;
int cnt = 0;
long *diffs;
int num_diffs;
if (argc != 2)
{
printf("Usage:\n");
printf(" unixdomain_server <num_samples_to_collect>\n");
return 0;
}
num_diffs = atoi(argv[1]);
if (num_diffs <= 0)
{
printf("Number of samples to collect must be >0\n");
return 1;
}
fprintf(stderr, "Number of samples to collect: %d\n", num_diffs);
diffs = malloc(sizeof(*diffs)*num_diffs);
socket_fd = socket (PF_UNIX, SOCK_DGRAM, 0);
if (socket_fd < 0)
{
printf ("socket() failed\n");
return 1;
}
/* start with a clean address structure */
memset (&address, 0, sizeof (struct sockaddr_un));
address.sun_family = AF_UNIX;
snprintf (address.sun_path, FILENAME_MAX, "./demo_socket");
unlink (address.sun_path);
if (bind (socket_fd,
(struct sockaddr *) &address, sizeof (struct sockaddr_un)) != 0)
{
perror ("bind() failed");
return 1;
}
while (read (socket_fd, &msg, sizeof (msg)) >= sizeof (msg))
{
long long t1, t2;
t1 = msg.tv_sec * 1000000;
t1 += msg.tv_usec;
gettimeofday (&now, NULL);
t2 = now.tv_sec * 1000000;
t2 += now.tv_usec;
diffs[cnt] = t2 - t1;
cnt++;
if (cnt > num_diffs)
{
cnt = 0;
for (int j = 0; j<num_diffs; j++)
printf("%ld\n", diffs[j]);
return 0;
}
}
close (socket_fd);
unlink ("./demo_socket");
free(diffs);
return 0;
}
28
8
6
6
6
7
6
6
6
5
6
6
8
8
7
6
8
6
7
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
7
8
9
8
7
6
6
6
6
6
8
8
9
8
6
6
7
6
6
6
6
6
8
6
6
6
6
6
6
7
7
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
9
8
8
6
6
6
6
7
8
8
8
8
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
8
7
9
8
6
6
6
6
6
9
8
8
9
8
9
9
8
8
9
6
6
6
6
6
5
6
6
6
6
5
9
8
8
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
9
8
8
9
9
9
8
8
8
7
8
8
8
7
8
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
10
8
9
8
6
5
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
8
9
8
8
8
9
8
9
8
8
8
8
8
8
8
8
8
9
7
8
8
8
8
8
9
9
8
8
8
8
8
7
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
9
11
8
9
8
8
7
6
6
6
7
6
6
6
6
6
7
9
7
7
7
8
7
8
9
8
9
9
6
6
6
6
6
7
8
8
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
8
7
6
10
8
9
8
8
9
8
8
9
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
7
9
6
6
6
7
8
6
6
7
8
6
6
6
8
7
7
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
7
6
6
8
7
6
5
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
5
6
6
8
6
5
6
5
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
7
7
6
6
5
6
6
6
6
6
6
6
6
6
8
6
6
6
6
9
7
8
7
7
7
7
7
8
6
5
6
5
6
9
9
8
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
8
8
6
6
8
6
6
5
6
6
6
6
5
6
6
6
6
6
6
7
7
6
5
7
6
6
6
5
6
6
5
6
6
5
6
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
7
7
7
6
6
8
8
8
7
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
9
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
8
8
6
6
6
6
6
7
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
5
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
7
8
8
8
7
8
8
7
6
6
7
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
8
8
8
6
6
6
6
6
6
6
6
7
9
6
7
7
7
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
9
9
8
7
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
7
9
8
9
9
8
6
6
6
7
6
6
6
6
6
6
7
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
7
6
6
6
6
7
9
8
8
6
6
6
6
6
6
6
6
7
6
6
6
9
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
7
5
6
6
6
6
6
5
6
7
6
7
8
6
6
6
5
6
6
6
6
6
6
6
6
6
5
8
8
9
8
7
6
6
6
5
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
5
6
10
7
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
8
9
9
8
6
6
6
6
6
6
6
6
7
8
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
7
6
6
6
6
7
8
7
7
8
8
7
7
9
6
6
6
6
6
7
6
6
6
6
6
5
6
9
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
8
9
9
8
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
8
9
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
9
8
9
8
9
8
6
7
8
8
7
7
8
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
8
7
7
7
7
7
7
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
8
8
6
5
6
6
6
6
6
6
6
6
5
6
8
8
9
8
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
8
8
6
6
7
6
7
8
6
6
6
6
6
6
6
7
6
6
6
7
9
9
8
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
9
6
6
6
6
6
6
6
6
14
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
8
8
8
7
7
8
7
8
8
8
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
7
9
9
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
9
9
9
6
6
6
6
6
6
6
11
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
9
9
8
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
8
8
6
6
6
6
9
9
8
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
9
9
8
7
6
7
7
7
9
8
6
7
7
6
7
6
7
6
6
7
10
9
9
8
8
9
8
9
9
6
6
6
9
8
9
8
8
8
8
9
8
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
6
8
6
6
5
7
8
7
8
8
7
7
7
7
8
8
7
8
8
8
6
6
6
6
7
6
7
6
7
6
6
6
7
6
7
6
7
6
7
6
7
6
7
6
7
6
7
6
7
6
6
7
6
7
6
7
6
6
6
6
7
6
7
6
7
7
7
6
7
6
7
6
7
7
7
7
6
7
6
6
6
6
6
6
7
6
7
6
7
6
7
6
7
6
8
7
6
7
6
7
6
6
6
6
6
7
6
6
6
6
6
7
6
7
6
7
6
7
6
7
6
6
7
6
7
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
7
6
7
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
7
7
8
6
6
6
7
7
6
6
8
7
7
6
6
5
6
5
5
5
6
5
6
5
5
6
5
6
5
5
6
5
6
5
6
5
6
6
5
6
5
6
5
5
5
5
5
7
6
6
5
5
6
5
6
5
6
5
5
6
5
6
5
5
6
5
6
5
5
6
5
6
5
6
5
6
5
5
6
5
6
5
5
6
5
6
5
5
6
5
5
6
5
6
7
7
5
5
5
5
6
5
6
5
5
7
6
5
6
5
5
5
5
6
5
6
5
6
5
5
6
5
6
5
5
6
5
6
5
5
5
5
6
5
6
6
6
5
5
6
5
6
5
5
5
6
5
6
5
5
6
5
6
5
6
5
6
6
5
5
5
5
6
6
6
5
6
5
6
5
6
5
6
5
6
5
5
5
5
6
5
5
5
5
6
5
5
6
5
5
5
6
5
6
5
6
5
6
5
7
6
6
5
5
5
5
5
5
5
5
5
6
5
6
5
6
5
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
5
5
5
6
5
6
7
6
5
5
5
6
5
5
5
5
6
5
5
5
6
5
6
5
6
5
5
5
5
5
6
5
5
6
5
5
5
6
5
6
5
5
5
5
6
5
6
5
6
5
5
5
5
5
5
5
6
5
5
5
5
6
7
6
5
6
5
6
5
6
5
6
5
5
6
5
5
6
5
6
5
5
6
5
5
5
6
5
6
7
8
7
6
6
6
7
6
7
7
6
7
7
5
6
5
5
5
5
9
7
6
6
6
6
8
7
6
6
7
7
7
7
7
6
7
7
7
7
7
7
7
7
8
5
8
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
5
6
7
7
7
8
8
8
8
7
6
7
8
9
7
7
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
7
6
5
6
5
6
5
6
5
6
6
6
6
8
6
6
6
6
5
6
6
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
8
8
8
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
5
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
20
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
7
6
6
6
5
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
9
8
8
8
9
8
7
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
10
6
6
6
6
6
5
6
5
6
5
6
6
7
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
10
9
9
6
6
6
6
5
6
6
6
6
6
6
9
9
6
6
6
6
7
8
6
5
6
6
6
6
6
6
6
5
6
5
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
8
11
8
9
9
9
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
8
6
6
6
8
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
5
6
5
6
9
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
9
9
10
8
7
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
9
8
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
9
6
5
6
5
6
7
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
5
6
6
6
8
8
6
6
6
5
6
6
6
6
6
7
6
6
8
9
8
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
7
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
6
6
6
6
6
8
9
9
9
8
9
9
9
9
10
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
9
8
7
6
6
6
6
6
6
62
7
6
6
6
31
7
6
6
5
6
8
7
7
6
6
6
8
7
7
6
6
8
8
6
5
6
6
6
6
6
6
6
6
6
6
5
8
6
5
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
9
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
9
8
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
9
7
6
6
5
6
6
5
7
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
5
14
9
8
9
9
6
6
5
6
7
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
8
5
6
9
9
8
6
6
6
7
6
5
6
6
6
6
5
6
5
6
7
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
8
9
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
5
6
5
6
5
6
9
6
6
5
10
8
8
7
7
7
7
7
7
8
6
5
5
5
7
6
6
5
6
8
7
8
8
8
8
8
8
8
8
7
8
8
8
7
7
8
8
7
5
6
5
5
6
5
5
6
5
8
8
7
8
8
7
8
7
8
8
7
8
8
8
8
7
8
7
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
6
6
5
6
5
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
5
12
6
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
8
8
6
5
6
5
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
7
8
6
5
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
7
9
9
8
8
8
8
8
9
8
7
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
7
8
6
6
5
6
6
6
6
6
6
6
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
8
7
7
7
8
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
7
8
6
9
7
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
8
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
15
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
8
8
9
8
9
8
9
9
8
8
7
8
8
9
8
8
8
9
9
8
8
9
8
8
8
8
9
19
18
8
8
8
8
8
8
7
8
7
6
6
5
6
6
7
8
8
6
6
7
8
6
6
6
6
6
9
8
7
6
6
6
8
9
7
8
8
9
8
9
9
9
8
9
9
9
9
8
9
9
6
6
6
6
6
6
9
10
9
9
9
8
26
7
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
8
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
8
8
8
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
9
7
8
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
8
7
7
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
8
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
15
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
5
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
9
8
7
8
9
8
8
9
9
8
8
8
8
8
9
9
8
9
8
8
8
8
8
8
7
8
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
8
7
8
7
8
7
8
8
8
8
8
8
8
8
8
8
7
7
8
8
8
8
8
9
8
8
8
8
8
8
9
8
8
9
8
8
9
8
8
9
9
8
9
8
8
8
8
9
8
8
8
8
8
9
9
9
8
9
9
10
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
5
6
6
5
6
6
6
6
6
6
6
5
6
9
8
6
6
6
5
7
8
8
7
6
6
6
6
6
6
5
6
6
6
8
9
8
8
7
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
6
9
7
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
8
6
8
7
24
7
6
7
8
9
9
9
9
8
8
8
8
8
9
8
7
8
6
6
6
6
6
21
8
6
8
8
9
8
6
6
6
6
6
8
8
8
6
8
10
20
7
9
9
9
8
9
9
9
8
9
9
9
9
8
7
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
8
7
6
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
8
8
6
7
9
7
19
6
8
8
9
8
9
10
9
8
8
8
9
9
8
9
9
9
9
9
9
9
9
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
8
8
6
6
6
6
9
6
8
6
8
6
8
8
9
9
9
9
9
10
7
6
6
6
5
6
6
7
7
7
6
6
6
7
8
6
6
6
6
7
6
8
8
9
6
6
7
6
8
8
7
7
6
7
9
9
7
7
7
6
7
9
8
6
6
7
6
8
9
9
6
6
6
8
8
6
6
7
7
9
8
7
6
8
6
7
8
8
8
8
8
7
8
7
7
8
9
7
6
6
6
7
10
6
7
6
9
8
8
7
7
6
7
8
6
6
6
7
6
6
6
6
10
7
8
6
6
6
6
6
9
9
8
7
6
7
8
8
6
7
7
7
8
8
9
9
8
8
9
9
9
9
8
9
9
9
8
9
9
9
8
8
9
9
8
8
9
8
9
8
9
8
9
8
9
9
8
8
9
9
8
8
9
8
7
8
8
8
7
9
9
9
7
7
7
6
7
7
6
10
8
9
8
8
8
9
9
9
7
9
8
6
6
6
6
6
6
9
8
10
9
9
10
9
8
8
9
8
9
8
7
7
7
8
8
6
6
6
6
6
6
6
6
6
10
9
9
9
8
8
9
9
8
9
8
9
8
8
8
9
8
9
8
8
8
9
9
9
8
9
8
8
8
9
8
8
8
9
9
8
9
8
8
7
6
7
6
6
6
6
6
8
9
9
9
8
8
8
7
8
8
8
9
8
9
9
9
8
8
9
8
9
9
9
8
9
8
9
9
8
8
8
8
8
8
9
9
8
9
8
9
8
8
8
8
9
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
8
7
6
6
6
9
6
6
5
9
8
6
6
6
6
6
6
6
6
7
6
7
7
8
9
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
7
7
6
6
6
7
6
6
6
6
6
6
6
10
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
8
8
6
6
5
6
5
6
5
6
5
6
6
8
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
8
8
8
8
8
7
8
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
9
8
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
9
8
8
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
7
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
7
6
6
7
6
6
6
6
9
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
7
8
6
6
5
6
5
6
5
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
7
7
8
8
7
8
7
7
7
8
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
8
6
6
6
7
8
6
5
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
8
9
9
8
7
9
8
8
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
7
9
6
6
6
6
6
8
8
8
6
6
6
6
6
6
6
6
6
6
7
8
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
8
8
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
7
6
8
6
7
8
7
8
7
7
8
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
7
7
8
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
8
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
8
6
6
6
5
6
5
6
6
6
6
6
6
5
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
6
5
6
6
6
6
6
6
5
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
17
6
6
6
5
6
5
6
5
6
5
6
5
6
6
5
6
5
6
5
6
6
5
6
5
6
5
7
6
6
6
6
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
8
8
7
7
8
7
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
7
7
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
9
7
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
8
8
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
10
8
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
8
6
6
6
7
8
7
8
7
7
7
7
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
6
8
6
6
6
6
9
8
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
8
7
7
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
7
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
7
8
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
7
6
6
6
6
8
7
8
7
7
8
7
7
8
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
9
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
8
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
7
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
9
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
7
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
5
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
7
8
7
7
8
8
7
7
8
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
7
7
7
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
8
7
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
9
9
8
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
8
6
6
6
6
6
6
6
6
6
6
6
8
8
8
7
8
8
9
8
8
8
8
8
8
8
6
6
7
6
8
8
8
8
8
8
7
8
8
6
5
6
6
6
6
6
7
6
6
6
7
8
7
7
7
8
7
7
7
8
6
7
6
6
7
7
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
8
7
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
8
7
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
7
6
6
6
6
7
7
8
8
7
7
8
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
8
6
9
7
6
6
6
6
5
6
5
6
6
6
6
8
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
7
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
9
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
5
9
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
15
7
6
5
6
8
8
7
7
8
8
8
8
7
8
7
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
5
6
6
6
8
6
6
8
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
5
11
6
6
6
5
7
6
6
5
8
6
6
6
6
6
6
5
6
6
10
8
8
8
7
8
7
7
8
6
7
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
9
9
8
6
6
6
6
5
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
6
9
10
8
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
5
6
6
5
5
5
6
8
5
6
5
5
5
5
5
5
5
9
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
10
6
5
5
5
5
6
5
6
9
7
5
6
5
7
7
5
5
5
5
5
5
6
5
7
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
5
5
7
5
5
6
7
8
6
6
6
6
6
6
6
7
5
6
5
5
6
6
5
5
5
6
5
5
6
5
6
7
5
6
5
5
6
5
5
5
5
5
5
6
5
5
6
5
5
5
5
5
5
6
5
9
5
5
5
5
5
5
5
5
5
5
5
7
11
7
5
5
6
5
5
5
5
5
6
6
5
5
9
7
7
5
5
6
5
5
5
5
7
8
6
21
6
5
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
6
6
5
5
5
5
5
5
5
5
5
7
5
5
5
6
5
5
5
6
5
5
6
5
5
5
5
5
5
5
5
5
5
5
6
7
9
5
5
5
6
5
5
6
5
5
6
8
8
7
5
6
5
5
5
5
5
5
9
7
6
5
5
6
5
5
6
5
5
5
5
5
8
5
7
19
6
5
5
6
5
5
6
5
5
6
5
5
5
5
6
5
5
6
11
6
5
5
5
5
5
5
5
8
7
7
7
5
6
5
5
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
5
6
5
11
6
6
9
6
9
8
7
6
7
8
6
6
6
6
6
6
6
6
5
6
8
6
5
6
6
5
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
7
6
6
6
6
6
6
5
9
8
9
8
7
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
6
6
6
6
8
6
6
6
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
9
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
9
8
6
6
6
6
6
6
6
7
6
6
5
7
8
7
7
8
8
8
8
9
9
9
8
8
9
8
9
9
8
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
9
8
8
6
6
7
6
6
6
6
6
6
6
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
9
8
7
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
7
9
8
9
8
8
8
8
10
8
8
8
8
8
9
8
8
6
8
8
7
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
9
8
19
7
7
6
6
7
6
6
6
7
8
7
7
7
8
7
7
8
7
7
7
7
8
8
6
6
6
7
7
7
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
7
7
7
6
7
7
10
8
7
8
8
8
7
8
7
7
7
7
7
8
7
7
6
7
7
7
7
8
7
7
7
7
8
7
7
7
7
6
8
7
7
7
6
7
5
5
5
5
5
5
5
5
9
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
5
5
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
5
7
7
5
5
5
5
5
5
5
5
6
5
5
5
5
5
5
7
6
6
6
5
5
5
5
5
5
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
8
7
6
6
6
6
6
5
6
6
6
5
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
9
8
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
8
6
6
5
6
5
6
6
7
6
9
8
6
6
5
6
6
8
7
7
7
8
6
6
6
6
7
7
8
8
7
6
6
6
8
8
8
9
7
9
8
8
8
8
8
8
9
8
10
9
6
8
9
7
7
9
9
6
7
9
8
7
6
8
8
10
9
7
6
6
6
6
7
9
10
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
6
6
6
7
6
10
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
7
8
6
5
6
5
6
5
6
5
6
6
8
8
6
6
6
7
7
6
8
7
8
8
6
6
6
6
8
8
8
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
8
6
6
6
7
6
6
6
6
6
6
6
6
6
8
7
6
6
5
7
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
8
8
6
6
6
7
6
6
6
6
6
6
6
6
9
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
8
8
8
6
6
6
6
6
6
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
8
6
8
8
6
6
6
6
6
6
6
6
5
6
6
6
8
6
6
8
6
5
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
8
6
5
6
5
7
9
9
8
8
9
8
9
8
8
8
9
8
9
9
9
9
9
9
9
9
9
9
9
8
6
6
6
7
7
7
8
7
7
7
7
8
8
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
8
8
6
6
5
6
5
6
6
6
7
7
6
5
7
6
6
6
6
7
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
5
6
6
6
6
6
6
7
6
7
6
6
6
6
6
5
6
8
7
8
8
6
6
6
6
6
6
5
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
8
8
9
7
7
9
9
8
7
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
7
7
7
7
8
8
6
6
6
6
6
6
6
7
7
6
7
6
6
6
6
6
6
10
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
5
6
5
6
5
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
7
7
6
6
7
8
7
8
7
7
8
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
6
6
6
8
6
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
5
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
5
6
6
6
7
8
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
9
7
6
6
7
9
6
6
6
8
8
9
7
7
9
8
6
8
8
8
9
8
8
8
9
8
8
8
8
8
6
6
6
6
6
6
7
8
7
6
6
6
6
5
6
7
6
6
7
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
8
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
5
9
8
6
6
6
7
7
6
8
8
9
7
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
8
8
8
8
9
9
9
9
9
9
9
8
8
8
9
9
9
9
9
9
8
9
8
9
8
8
8
9
9
8
9
9
9
9
8
8
9
8
9
9
8
9
9
9
9
9
20
8
9
8
8
8
9
9
8
8
9
9
8
9
8
9
9
8
8
9
10
9
9
8
8
9
8
9
9
8
8
8
9
9
8
9
8
8
9
9
8
8
8
8
9
9
8
8
8
8
8
8
8
9
9
8
8
8
8
9
8
9
8
8
8
7
7
7
8
8
7
7
7
7
7
7
7
7
7
7
7
7
8
8
7
7
8
7
8
7
7
8
8
7
7
7
8
7
7
8
8
7
7
7
7
7
7
7
7
7
7
7
8
7
8
7
7
7
8
7
7
8
7
7
7
7
7
8
7
7
8
8
7
7
7
8
8
7
8
7
7
7
7
7
7
8
8
7
7
8
7
7
7
7
8
8
7
8
7
7
7
7
7
8
8
8
7
7
8
8
7
7
8
8
8
8
8
7
8
8
6
7
6
7
7
8
7
8
7
7
7
7
7
20
7
6
7
8
7
7
7
6
7
6
7
7
7
7
7
7
6
6
6
6
6
7
7
7
8
7
8
7
8
5
5
6
9
6
6
6
6
6
6
5
6
5
6
6
6
7
6
17
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
9
8
7
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
9
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
6
7
6
9
7
7
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
7
7
6
5
6
5
6
6
7
8
8
6
6
7
8
6
8
9
9
8
9
8
8
9
9
9
8
6
6
6
6
6
6
6
8
9
8
9
8
6
6
7
8
7
8
8
8
9
8
7
7
8
8
9
9
9
8
6
7
8
8
8
9
9
8
7
6
9
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
8
9
8
7
8
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
5
6
6
6
8
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
9
8
9
9
10
8
9
9
8
8
8
8
6
7
6
6
6
6
6
5
6
6
5
6
6
5
6
6
21
6
6
9
8
6
7
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
5
6
5
6
6
6
6
9
7
7
9
9
9
9
8
7
6
7
6
9
31
7
6
7
7
8
6
7
7
45
6
12
9
8
7
7
6
7
7
6
8
16
8
16
6
7
8
7
7
6
7
9
8
8
9
9
9
24
9
16
9
8
8
8
7
8
8
19
8
8
7
6
9
9
7
6
6
7
7
6
7
9
17
9
8
9
8
8
9
9
8
9
8
8
8
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
8
8
6
6
6
9
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
7
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
7
8
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
8
7
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
8
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
5
7
8
8
6
7
6
6
6
6
6
6
6
6
20
7
8
8
8
9
8
8
9
8
8
6
9
9
8
8
9
6
7
9
7
7
7
9
8
8
9
8
8
9
9
8
9
8
9
8
9
8
8
9
8
8
8
10
8
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
5
6
5
6
6
5
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
5
6
5
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
7
7
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
5
6
6
6
6
5
6
6
6
6
6
8
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
7
7
6
6
6
6
6
6
6
6
6
8
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
5
6
6
7
8
7
7
7
8
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
7
8
6
6
6
6
6
5
6
6
7
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
8
6
6
5
6
5
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
8
6
6
6
8
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
7
6
6
6
7
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
9
8
6
6
6
5
8
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
7
7
7
8
7
7
8
8
8
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
6
6
6
5
6
7
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
6
8
7
7
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
7
6
6
6
6
7
7
8
8
7
7
8
7
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
8
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
7
7
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
9
7
6
6
5
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
7
8
7
7
7
7
7
8
8
8
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
7
6
7
8
6
7
6
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
7
7
8
7
8
7
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
8
6
6
6
7
6
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
6
6
6
6
6
6
6
6
5
8
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
7
9
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
6
6
8
7
7
8
8
7
8
8
9
7
7
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
9
6
5
6
6
6
5
6
9
8
6
40
8
7
7
6
5
6
5
6
8
8
6
6
6
8
6
6
6
6
7
8
7
7
6
6
6
6
6
6
6
6
7
6
6
6
7
9
7
8
8
7
7
7
8
9
9
9
8
9
8
8
7
8
8
9
9
8
9
8
8
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
10
8
8
9
7
6
7
6
6
6
8
6
6
6
7
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
6
7
8
6
6
5
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
5
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
8
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
5
8
7
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
7
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
7
8
7
6
6
7
7
8
9
9
9
9
9
9
8
8
9
9
7
9
9
10
8
8
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
8
8
8
9
7
8
7
8
8
8
9
9
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
8
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
8
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
9
7
6
6
6
6
10
9
8
8
8
8
7
8
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
8
9
8
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
7
6
6
6
6
6
7
14
8
8
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
7
8
6
6
6
6
6
8
7
6
6
5
6
5
7
7
7
6
6
6
6
7
9
8
7
9
9
9
9
7
6
6
6
6
6
6
6
8
10
7
9
8
8
9
9
8
8
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
20
9
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
8
8
7
7
6
7
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
9
8
8
8
8
8
9
8
8
9
7
8
9
7
8
8
9
9
9
8
8
8
8
9
9
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
8
7
8
9
9
9
7
8
8
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
8
8
9
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
8
5
6
5
6
6
6
8
7
6
6
6
5
6
6
6
7
7
8
8
8
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
5
6
6
6
6
6
6
6
6
8
7
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
7
8
6
7
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
8
6
6
6
5
6
6
6
7
7
6
6
5
6
5
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
9
7
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
8
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
7
6
7
6
6
6
5
7
8
7
8
8
8
8
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
7
6
6
6
6
18
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
9
9
9
9
8
6
6
6
7
7
8
8
6
6
6
6
6
7
6
6
7
8
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
8
6
7
6
6
7
6
6
6
6
6
6
7
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
9
7
6
6
6
6
6
6
8
8
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
6
5
6
6
6
6
5
8
6
6
6
6
8
7
7
7
8
7
7
7
8
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
9
8
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
10
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
15
7
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
8
9
8
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
8
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
8
7
8
7
7
7
8
7
8
6
6
6
8
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
9
10
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
7
8
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
9
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
8
9
8
7
8
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
8
6
6
8
7
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
7
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
7
8
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
7
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
7
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
7
6
6
6
6
6
6
6
5
6
5
6
9
7
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
7
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
7
6
6
6
6
6
6
5
6
7
8
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
7
7
7
7
7
8
8
8
7
8
8
7
6
6
6
6
6
6
8
9
8
9
8
7
8
9
9
6
7
6
6
6
6
5
6
6
6
6
6
6
6
7
9
8
8
8
9
8
8
6
6
6
6
6
6
6
6
5
6
6
6
6
8
8
6
5
6
6
6
6
5
6
8
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
7
7
6
5
6
5
6
5
6
5
6
6
6
6
7
6
6
6
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
10
11
8
8
8
8
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
8
6
6
6
6
6
6
6
5
5
5
5
5
6
5
6
5
5
5
5
5
5
5
5
5
5
6
5
5
5
5
6
5
6
5
5
5
5
6
5
5
5
5
5
5
5
5
5
9
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
11
6
5
5
5
6
5
6
5
5
5
5
5
5
5
5
5
5
6
6
5
5
5
5
6
6
5
5
5
8
6
6
6
6
5
5
10
6
5
5
5
5
5
5
5
5
5
5
6
5
5
6
5
5
6
5
5
5
5
6
5
5
5
5
5
5
6
5
5
5
5
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
7
7
5
5
5
6
5
5
5
5
5
6
6
5
5
5
5
6
7
7
5
6
6
5
6
7
5
5
6
5
5
6
5
5
6
5
5
6
5
5
5
7
5
6
5
6
5
5
5
5
5
5
5
6
5
5
5
5
6
5
5
6
6
7
6
6
5
5
5
5
5
5
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
7
6
6
5
5
5
5
6
5
5
5
5
6
5
5
5
5
6
8
7
7
7
7
6
7
7
7
7
7
7
7
9
7
7
7
6
7
7
6
8
8
6
5
7
7
8
7
7
7
6
5
5
5
5
8
7
7
8
8
7
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
7
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
8
8
8
7
8
7
7
7
8
8
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
7
8
6
6
6
6
6
6
6
8
6
8
8
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
8
8
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
7
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
7
6
6
6
7
8
7
6
6
6
6
8
7
7
7
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
7
8
8
7
7
8
8
8
8
8
7
7
8
7
6
6
6
6
6
7
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
7
6
6
6
6
6
6
6
6
8
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
7
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
6
5
6
6
5
6
7
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
8
6
6
5
6
5
6
7
8
6
8
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
19
7
8
7
6
7
8
7
8
8
8
7
8
7
8
6
6
7
6
7
6
6
6
6
6
7
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
8
7
6
6
5
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
5
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
7
6
6
5
6
6
6
6
6
6
6
8
8
8
7
8
8
9
8
9
8
8
9
9
8
8
9
8
9
9
8
8
9
9
9
8
9
9
8
8
9
8
8
9
8
9
8
8
8
9
9
8
9
9
8
8
8
8
9
9
8
9
8
8
8
9
8
9
9
9
8
9
8
9
8
9
9
9
9
8
8
8
9
9
8
8
8
9
8
9
8
8
8
9
8
9
8
8
8
8
8
9
8
9
9
8
8
8
7
8
8
8
8
8
8
7
7
7
7
7
6
7
7
7
7
6
8
8
8
8
7
7
7
7
7
7
7
7
8
7
6
6
8
7
7
7
7
6
8
8
7
6
8
7
8
8
7
8
7
6
7
7
7
7
6
6
7
6
7
7
7
8
8
7
8
7
7
7
7
7
7
7
8
7
7
7
7
8
7
7
7
7
7
7
7
8
7
8
7
7
7
7
8
7
8
8
8
7
8
7
7
8
7
7
7
7
7
8
7
7
7
7
7
8
8
7
7
7
7
7
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
7
7
7
7
8
7
7
7
7
7
7
7
8
8
8
7
8
7
7
7
8
7
7
7
8
7
8
8
7
8
8
7
8
8
7
8
7
8
8
8
7
8
8
7
7
8
8
7
8
8
7
7
7
8
7
6
7
6
7
7
6
5
6
5
7
7
8
7
7
8
9
6
8
8
6
6
8
7
6
6
5
5
5
5
5
5
5
5
8
7
8
7
6
5
6
7
9
7
6
6
8
8
7
7
6
8
6
6
6
6
6
7
8
6
5
6
6
6
6
6
6
8
7
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
7
6
5
6
5
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
5
7
7
7
6
5
6
5
6
6
6
6
6
8
6
6
6
6
6
6
7
7
6
6
6
6
6
7
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
7
6
6
5
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
7
6
5
6
8
7
7
6
6
6
6
6
6
7
7
6
5
6
5
6
6
6
6
6
6
6
5
7
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
5
7
8
8
9
8
6
6
6
6
5
6
6
7
6
6
5
6
6
6
5
6
6
6
6
6
5
6
5
6
5
6
5
6
8
9
9
9
7
7
7
8
8
9
10
8
9
9
9
9
9
8
9
8
9
8
8
8
8
7
7
8
9
9
19
19
9
9
9
9
8
8
9
9
9
9
9
10
9
9
8
8
8
9
9
11
8
8
9
8
9
9
8
8
9
8
8
8
8
9
8
9
9
8
9
9
10
9
8
10
8
10
8
9
9
9
9
9
9
9
9
8
8
8
8
8
9
8
8
8
9
9
10
9
9
9
8
7
7
8
10
9
8
9
9
9
8
8
8
9
9
9
8
8
9
8
10
9
9
8
10
8
9
8
8
9
8
8
9
8
9
9
8
9
9
9
9
8
9
9
9
8
8
9
9
8
9
9
8
7
7
8
9
7
7
7
7
9
9
8
7
7
7
7
7
7
7
6
8
7
7
8
6
8
7
7
8
7
7
7
9
7
7
7
5
8
8
7
9
7
8
7
7
7
7
8
7
7
7
5
5
5
4
7
8
6
5
7
8
7
7
5
5
7
7
8
7
8
9
7
6
6
6
6
6
6
6
16
6
6
6
6
6
6
5
6
5
8
7
9
8
8
9
9
8
8
7
6
11
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
8
9
8
8
7
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
8
7
8
6
6
6
5
6
5
6
6
6
8
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
7
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
5
6
6
6
6
5
6
6
5
6
7
6
6
5
6
5
6
6
6
6
5
6
5
6
6
5
6
5
7
8
8
6
6
5
6
6
6
6
6
7
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
10
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
7
6
8
8
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
7
8
7
6
5
6
6
6
6
7
6
6
6
5
6
6
5
6
6
8
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
5
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
5
6
5
6
6
6
7
6
6
6
6
6
6
5
8
6
8
6
6
6
6
5
6
6
5
6
7
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
5
6
6
9
7
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
5
6
6
5
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
8
6
6
5
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
6
6
6
6
6
8
7
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
9
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
8
6
8
8
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
9
9
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
8
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
9
6
5
6
6
6
6
5
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
5
6
6
6
6
7
8
6
6
6
7
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
16
7
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
5
8
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
8
7
8
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
9
7
7
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
7
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
9
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
14
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
8
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
8
8
7
6
6
6
6
6
6
7
8
8
9
8
9
6
6
5
6
5
6
5
6
6
6
6
6
6
7
6
6
5
6
5
6
5
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
9
6
6
6
6
6
6
5
16
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
5
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
8
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
7
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
5
6
5
6
7
6
8
7
7
8
8
6
6
6
6
5
6
5
6
6
6
6
5
8
8
7
6
6
6
6
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
31
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
8
6
8
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
5
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
7
6
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
8
8
8
7
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
8
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
8
6
5
6
5
6
5
6
5
6
8
8
9
8
9
8
9
9
9
9
9
10
9
9
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
11
7
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
8
8
9
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
7
6
6
7
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
5
6
5
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
8
7
6
7
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
8
8
8
8
8
6
6
6
6
7
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
5
6
6
5
6
6
5
6
6
5
6
7
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
8
8
6
7
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
8
6
5
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
7
6
6
6
7
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
8
6
6
6
6
6
6
6
6
6
6
5
8
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
7
6
5
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
8
6
6
6
6
6
5
6
6
6
6
5
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
9
8
6
5
6
5
6
6
6
7
6
6
6
6
8
6
6
9
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
7
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
17
6
6
6
6
6
6
6
8
7
7
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
7
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
7
8
8
8
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
7
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
8
6
8
7
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
8
6
6
6
6
6
6
5
7
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
8
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
7
6
6
6
5
6
6
9
7
6
8
8
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
8
7
6
6
6
8
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
5
7
6
5
6
6
8
6
5
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
5
6
6
5
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
7
8
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
8
8
8
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
5
7
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
8
7
6
6
6
5
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
10
8
6
6
6
6
5
6
6
6
8
8
8
8
8
8
9
8
9
8
8
7
9
8
7
6
6
6
7
8
8
8
8
8
8
7
7
6
6
6
6
6
7
7
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
8
9
7
8
8
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
5
6
6
7
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
7
8
7
6
6
6
6
6
6
6
7
6
6
6
6
6
7
7
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
8
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
7
6
6
6
6
8
8
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
9
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
8
9
9
9
6
8
7
8
8
9
8
8
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
7
6
8
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
8
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
16
7
6
6
6
6
6
6
6
27
8
7
8
7
7
8
7
7
7
7
8
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
8
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
9
9
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
5
6
5
6
6
6
5
8
8
6
7
8
9
7
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
7
7
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
8
6
6
6
6
6
5
6
6
5
6
6
8
6
6
6
5
6
7
5
7
6
6
6
6
5
6
6
5
6
6
8
8
7
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
8
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
7
8
8
6
6
5
6
8
8
7
7
8
8
9
8
9
9
9
9
9
9
9
7
8
6
6
7
7
7
6
6
6
6
7
5
6
10
6
6
6
6
8
7
7
8
8
9
6
7
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
9
6
5
6
5
6
7
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
5
6
6
7
6
6
7
9
6
7
8
8
8
8
6
5
6
5
6
5
6
5
7
7
6
7
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
7
9
8
8
7
6
6
6
8
7
7
8
9
6
6
6
6
5
6
6
6
6
6
5
6
6
6
9
6
5
6
5
6
5
6
5
6
6
9
9
9
9
9
8
6
7
8
10
8
9
9
9
8
9
10
8
7
7
8
8
9
10
10
8
10
9
7
7
6
9
8
6
7
9
9
8
6
7
6
6
6
6
6
6
10
8
7
6
7
7
6
6
7
6
6
6
6
8
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
8
6
5
6
5
6
6
8
9
8
8
8
9
8
6
7
8
6
6
6
6
6
8
7
6
6
6
8
8
8
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
5
6
5
6
6
6
6
5
6
5
6
6
5
6
5
6
6
6
6
5
6
5
6
8
7
6
6
6
6
7
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
8
7
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
5
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
7
10
9
6
6
6
6
6
8
6
6
6
6
8
7
8
8
8
9
8
8
8
8
8
9
8
6
7
8
6
8
8
8
6
7
6
6
7
8
8
8
8
7
6
6
5
6
7
7
6
6
6
7
18
17
8
6
6
8
8
8
9
8
6
7
8
7
6
6
6
7
7
7
5
6
7
7
15
7
7
9
6
7
6
16
7
7
7
6
6
7
16
6
6
7
8
6
6
6
6
6
7
7
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
6
7
8
8
6
6
6
7
9
7
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
6
6
8
8
7
7
7
8
7
7
8
6
6
6
6
6
6
6
6
5
6
6
6
6
8
8
7
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
5
6
7
6
5
6
5
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
7
8
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
7
8
6
6
7
7
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
7
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
7
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
7
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
6
6
6
5
7
5
6
5
6
6
6
6
6
6
6
6
5
8
6
5
6
5
6
8
9
9
7
7
8
7
6
9
8
8
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
8
6
5
6
7
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
19
7
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
11
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
7
6
5
6
8
8
8
8
7
7
8
7
7
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
5
8
7
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
7
7
6
5
6
6
7
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
7
7
6
6
6
6
5
7
6
6
6
5
6
6
6
6
6
6
6
8
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
9
6
6
9
8
8
6
6
6
6
6
6
6
8
8
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
6
5
6
5
6
6
6
6
6
6
5
5
5
5
5
6
5
5
5
5
6
10
7
5
5
5
5
5
5
5
6
5
5
6
5
5
5
5
6
5
5
5
5
6
5
5
5
5
5
10
7
5
5
5
5
5
5
6
5
5
5
5
5
5
6
5
5
5
5
6
5
5
5
5
6
6
5
5
5
6
5
5
5
6
5
6
7
5
5
5
7
5
6
5
5
9
7
6
7
8
6
7
6
7
6
5
6
5
5
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
5
6
6
6
6
5
6
6
6
6
7
9
6
6
6
6
6
6
6
7
6
5
6
6
5
6
6
5
6
5
6
5
6
6
6
6
6
7
8
9
9
7
8
8
8
8
8
8
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
6
5
7
7
6
6
6
6
6
6
6
6
7
6
6
7
6
8
8
6
6
7
7
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
18
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
7
8
7
6
5
6
5
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
7
7
6
6
6
6
6
6
6
8
6
7
8
6
8
8
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
7
7
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
9
7
6
6
6
6
6
6
6
6
6
7
6
6
7
9
7
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
7
7
8
7
7
7
7
8
6
6
6
8
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
7
7
7
7
7
7
7
7
7
6
6
8
8
7
7
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
8
7
6
6
6
7
6
6
6
6
6
6
6
6
6
7
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
17
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
7
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
5
7
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
7
5
6
5
6
8
7
7
7
8
7
8
8
8
8
7
6
7
6
7
6
8
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
5
8
6
5
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
18
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
9
7
7
8
7
7
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
7
8
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
9
7
7
6
6
6
6
6
6
5
6
9
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
7
7
6
6
8
7
8
7
7
8
7
7
8
8
8
7
7
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
8
6
6
6
6
5
6
6
6
6
6
6
6
6
5
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
9
8
7
7
6
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
5
6
5
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
7
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
9
8
9
8
7
7
7
7
6
6
7
9
8
7
6
6
6
7
6
9
7
6
6
6
9
8
10
9
8
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
7
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
7
6
6
6
6
6
7
6
5
6
6
8
8
7
7
7
7
7
7
8
7
7
9
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
7
6
6
6
5
6
6
7
9
7
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
7
8
6
6
6
6
7
6
6
6
6
7
7
7
7
7
7
8
7
7
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
7
8
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
8
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
7
7
7
6
7
7
6
6
6
7
7
8
7
7
7
7
7
7
7
6
6
8
8
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
7
8
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
7
7
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
8
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
8
6
6
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
9
8
8
10
9
12
7
8
8
8
7
8
8
7
8
8
9
8
7
6
6
6
6
6
6
6
6
8
9
8
8
10
9
9
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
7
6
6
6
6
7
7
7
8
7
7
7
8
9
9
8
8
7
8
7
9
8
8
8
6
6
6
6
6
6
6
6
6
9
9
7
6
5
6
7
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
7
6
6
6
5
6
6
5
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
8
6
6
6
6
6
6
7
6
6
6
6
6
6
6
8
8
8
8
6
6
6
5
6
6
6
7
6
5
6
6
6
5
9
9
8
6
6
6
6
6
5
6
5
6
5
7
7
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
8
9
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
8
7
6
6
6
6
6
6
6
7
8
8
8
7
8
7
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
9
7
7
8
7
7
8
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
7
8
8
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
7
7
6
6
6
5
6
5
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
5
6
5
6
6
6
6
7
8
7
6
6
5
6
5
6
8
8
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
8
6
6
6
6
7
7
7
6
6
6
6
6
7
8
8
7
8
8
8
9
8
8
7
12
7
6
8
9
8
9
8
7
8
7
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
8
8
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
7
7
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
7
6
6
5
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
9
9
6
6
6
8
6
6
6
6
7
8
9
8
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
7
9
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
5
7
6
6
6
5
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
5
7
8
7
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
7
7
6
5
6
5
6
5
6
5
6
5
6
5
6
8
7
6
6
6
5
6
5
6
6
6
5
6
5
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
7
7
6
6
5
6
6
6
8
7
7
7
7
8
8
6
6
6
6
6
6
6
6
6
6
7
8
8
9
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
7
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
6
7
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
16
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
7
8
7
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
7
8
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
8
6
6
7
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
5
8
7
7
8
7
7
7
7
8
8
6
6
6
5
6
5
6
5
6
6
6
6
7
7
8
8
6
6
6
6
6
5
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
5
6
8
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
8
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
9
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
7
6
6
6
6
6
6
6
6
6
6
7
8
8
9
8
9
8
9
9
6
7
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
9
6
6
7
6
6
5
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
8
7
8
7
7
7
7
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
8
8
7
8
8
9
8
8
8
6
6
5
7
7
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
7
6
7
6
6
7
6
6
6
6
6
7
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
7
6
6
7
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
7
6
8
7
6
6
6
7
6
6
7
6
7
8
9
9
9
7
7
9
8
7
6
7
6
6
6
7
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
7
6
6
6
6
7
6
7
6
7
7
6
6
6
6
7
6
6
6
6
6
7
7
7
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
8
8
8
5
5
6
7
6
5
5
5
6
5
6
5
6
5
5
5
6
5
6
5
5
6
5
6
6
6
5
6
5
5
5
5
6
5
5
6
5
6
5
5
6
5
5
5
5
6
5
5
6
5
6
5
5
6
5
5
6
5
6
5
6
6
5
6
5
6
5
5
6
5
6
5
5
6
5
6
5
5
6
6
5
6
5
5
6
5
6
5
6
7
7
5
6
6
5
6
6
5
5
5
5
6
5
6
5
6
5
6
5
5
6
5
5
5
5
6
5
5
5
5
6
5
6
5
6
5
5
5
5
6
5
6
6
5
6
6
5
6
5
6
5
5
6
5
6
5
5
5
6
5
5
5
5
6
5
6
5
6
5
5
5
5
5
5
5
5
6
5
6
5
5
6
5
5
6
6
5
6
5
6
5
6
5
5
5
5
20
5
5
6
5
6
5
5
5
5
5
6
5
6
5
5
5
5
5
5
5
5
6
5
6
5
5
5
5
5
5
5
5
5
5
6
5
6
5
5
5
5
5
5
5
5
6
5
6
5
6
5
5
5
5
6
5
6
5
6
5
6
5
5
5
5
6
5
5
5
6
5
6
6
5
5
5
5
6
5
6
5
6
5
6
5
5
5
5
5
5
5
5
6
5
7
5
5
5
5
5
5
5
5
5
5
5
6
5
6
5
6
5
6
5
6
5
5
5
6
5
6
5
5
5
5
6
5
6
7
7
8
7
6
7
6
7
9
7
6
8
8
6
8
10
7
6
8
7
7
5
7
6
5
7
8
7
6
7
8
8
7
7
7
7
7
7
7
8
5
7
7
6
6
6
6
5
6
5
6
5
6
6
6
6
6
7
7
6
5
6
5
6
6
7
9
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
5
6
8
6
6
6
6
6
6
8
8
8
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
8
8
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
8
6
6
6
6
6
6
8
8
9
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
7
6
8
6
6
6
6
6
10
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
7
8
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
10
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
7
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
6
6
7
6
6
6
7
6
6
6
7
6
8
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
8
9
12
7
7
6
5
6
5
6
6
6
5
6
6
6
6
6
6
5
6
5
6
5
6
7
6
8
8
8
8
6
6
6
6
6
6
8
8
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
7
7
7
6
6
6
6
8
6
6
6
5
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
7
6
6
7
6
6
7
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
9
6
6
6
6
6
6
6
6
6
6
8
8
6
6
7
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
9
9
9
9
6
6
7
9
6
6
6
7
8
9
6
6
7
6
6
6
9
8
8
6
6
6
9
9
8
8
9
9
6
7
6
8
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
5
6
5
6
6
6
5
6
5
6
7
7
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
79
9
9
8
7
6
6
6
9
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
9
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
9
8
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
16
7
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
8
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
7
6
6
6
6
5
6
5
6
6
6
6
6
8
6
7
6
8
8
8
7
6
5
6
5
6
5
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
8
10
7
6
6
6
5
6
6
6
6
6
6
6
6
8
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
18
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
8
8
6
6
5
7
7
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
9
8
6
6
6
6
6
6
6
6
5
6
5
6
5
7
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
5
8
8
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
7
7
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
8
8
6
6
6
6
6
6
8
7
8
6
6
6
6
6
6
6
6
5
8
8
8
8
7
8
7
7
7
8
7
8
8
8
8
7
8
7
8
8
7
8
7
7
9
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
8
7
7
8
8
8
8
9
7
7
9
9
7
6
6
6
6
6
6
6
6
6
6
6
8
9
8
8
6
6
6
8
8
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
9
9
7
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
8
8
6
6
6
6
6
6
7
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
7
6
6
6
6
6
5
6
64
7
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
8
8
8
8
6
6
6
6
6
7
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
10
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
5
6
6
5
6
5
6
6
6
6
8
7
6
6
6
5
6
5
6
6
6
6
5
6
6
5
6
6
5
6
6
6
9
7
7
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
8
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
9
8
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
5
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
8
6
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
10
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
7
7
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
8
8
8
9
10
10
9
8
9
8
9
9
8
9
8
9
9
9
9
9
9
9
8
8
9
6
6
6
6
6
9
10
10
8
6
6
9
8
9
9
9
9
10
10
9
9
7
9
8
9
9
9
9
9
9
8
9
8
9
8
9
7
6
6
7
9
8
9
8
6
6
8
10
12
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
8
6
7
6
14
8
6
7
6
6
6
6
6
6
6
6
8
7
6
6
6
7
7
6
6
6
6
6
6
6
8
8
7
6
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
8
6
6
6
5
6
6
6
8
8
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
12
10
9
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
6
5
5
6
5
5
5
5
6
5
5
5
5
5
5
5
5
5
6
5
5
6
5
5
6
5
5
6
5
5
10
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
5
5
6
5
5
6
5
5
5
5
5
6
5
6
5
5
5
6
5
5
5
5
5
5
5
5
5
9
7
10
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
8
8
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
7
6
9
8
8
5
5
7
7
7
8
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
6
6
7
6
6
6
6
6
6
6
6
8
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
7
6
8
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
8
6
8
8
7
6
6
6
6
6
6
6
7
8
7
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
7
8
6
6
6
5
7
6
6
6
6
6
6
6
7
8
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
5
6
5
6
5
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
7
7
6
6
8
9
8
8
6
6
9
7
8
8
8
8
6
6
6
6
6
6
8
8
6
6
6
5
6
6
6
6
6
6
6
6
6
7
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
5
6
7
6
5
6
5
6
5
7
6
6
6
6
6
5
6
5
6
5
6
5
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
7
6
6
6
6
6
6
7
7
6
6
7
6
5
6
7
8
6
6
6
8
8
7
8
8
8
8
9
8
8
9
9
8
8
7
8
7
8
9
8
9
8
8
8
8
7
8
7
8
8
8
8
8
8
8
8
8
7
8
8
8
8
7
8
8
7
8
8
8
9
9
8
8
8
9
9
8
9
9
8
8
8
8
8
8
8
7
7
8
8
8
8
9
8
8
8
8
8
8
9
9
9
8
9
8
8
8
8
9
8
8
8
8
8
9
8
9
8
8
8
9
9
9
8
9
8
9
9
10
6
9
7
7
6
6
6
6
8
7
7
6
5
6
6
6
5
6
5
6
5
6
5
5
6
6
6
6
5
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
5
6
5
7
7
6
5
6
5
6
5
6
5
6
5
6
5
6
7
8
8
6
7
6
7
7
7
15
5
6
7
6
5
9
6
5
6
8
7
7
7
8
7
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
5
6
6
6
6
6
5
6
9
7
7
5
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
6
6
5
6
5
6
6
6
8
8
6
8
6
7
9
6
8
6
9
9
8
8
8
9
9
9
9
7
8
6
5
6
5
6
6
6
6
6
6
8
8
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
5
6
6
6
6
28
7
8
8
8
7
7
8
20
20
7
6
7
6
6
9
7
7
6
6
6
5
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
8
7
6
7
6
6
6
6
6
6
8
8
10
8
8
9
7
9
8
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
8
7
33
7
6
7
7
6
9
9
8
8
8
9
9
8
8
9
9
9
9
9
9
9
9
8
8
8
8
9
8
8
9
9
9
10
9
9
9
9
9
9
9
8
8
7
8
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
9
8
8
6
6
6
6
9
7
9
8
6
6
6
6
5
6
6
6
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
8
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
8
8
8
7
7
6
9
9
9
9
8
8
9
8
9
8
9
8
9
9
9
9
9
9
9
9
9
9
9
8
8
9
8
9
6
6
6
6
6
6
12
6
9
9
9
8
9
8
7
7
7
7
7
6
6
7
7
7
7
9
8
9
9
9
8
9
9
9
9
8
9
9
8
9
9
8
7
7
6
6
6
6
5
6
6
6
6
6
6
12
6
6
9
9
8
6
6
6
6
7
8
7
7
6
6
7
6
9
9
9
6
6
7
6
8
8
7
6
6
7
9
8
9
7
7
6
7
6
8
7
6
6
6
6
6
6
6
6
6
9
8
7
6
6
6
6
10
8
9
6
7
6
7
8
7
6
8
6
8
8
6
7
6
8
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
7
6
6
6
6
6
6
6
5
6
6
8
9
8
9
9
9
8
7
8
6
6
9
8
8
8
6
6
6
5
7
8
7
6
6
6
6
6
6
6
6
7
8
9
8
7
8
6
6
7
6
6
5
6
6
6
6
5
6
8
6
6
6
6
6
6
6
6
6
8
7
8
7
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
6
6
7
6
6
5
6
6
5
6
5
6
6
5
6
6
6
6
5
6
6
7
6
8
7
6
8
9
9
8
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
7
9
6
6
5
6
6
6
6
5
6
6
10
6
5
6
6
5
6
6
5
6
6
6
6
5
6
6
5
6
6
5
6
7
5
6
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
7
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
7
9
8
8
6
7
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
7
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
5
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
8
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
7
6
6
6
6
5
6
5
6
6
8
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
7
6
6
6
6
6
6
6
6
7
7
6
6
5
6
5
6
6
6
7
7
6
6
7
6
6
6
6
6
6
7
7
7
7
8
7
8
6
6
6
6
6
7
6
6
5
6
6
6
6
7
7
8
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
6
6
5
6
6
6
6
5
6
6
6
8
7
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
8
6
6
6
6
6
6
5
6
5
6
6
6
6
7
7
6
5
6
6
5
7
6
6
6
6
6
6
6
5
6
8
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
5
6
6
6
9
7
6
6
7
6
5
6
5
6
5
8
6
6
6
6
6
6
5
6
6
5
6
7
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
7
5
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
7
6
5
6
5
6
6
9
8
6
6
6
6
6
5
6
6
5
6
6
6
6
5
7
8
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
7
6
9
7
6
6
6
6
6
7
6
6
5
6
6
6
6
6
8
8
9
8
8
8
7
7
8
8
8
8
8
8
7
8
8
7
7
7
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
5
6
5
6
9
7
6
6
6
5
6
6
6
6
7
7
6
5
6
8
7
7
7
7
7
7
8
8
9
9
10
6
7
8
6
8
6
6
6
6
6
6
8
9
9
8
7
7
7
8
8
9
8
8
8
8
8
8
8
8
8
8
8
8
7
7
8
9
8
8
8
8
9
9
9
8
8
8
9
9
10
8
8
8
9
9
9
9
8
8
8
9
9
9
9
9
10
8
7
9
9
9
8
8
9
8
9
8
9
9
9
9
8
9
8
8
8
8
9
8
8
10
10
9
10
10
8
9
8
8
8
8
8
9
9
9
9
9
8
8
9
8
9
9
9
9
9
8
8
8
8
9
9
9
8
8
8
8
8
8
8
9
9
7
9
9
9
8
8
10
9
9
8
9
9
8
8
9
9
8
8
10
9
9
8
8
8
8
9
7
9
9
8
8
9
9
7
7
7
7
7
8
8
7
7
7
7
7
7
8
6
8
7
6
8
8
7
8
7
7
7
7
8
7
7
7
6
7
7
7
7
7
7
7
7
8
7
7
7
7
7
7
7
6
7
7
7
6
7
6
7
6
6
7
7
6
6
7
7
8
7
7
7
7
7
6
7
7
6
6
7
6
6
7
7
6
7
7
7
7
8
7
7
7
7
7
7
7
6
6
6
7
7
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
6
7
7
6
7
7
7
7
7
7
7
6
6
6
7
7
6
6
6
6
7
7
6
6
6
7
6
6
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
7
8
7
7
7
7
6
7
6
7
7
7
7
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
7
7
7
7
6
6
6
6
6
6
7
7
7
6
7
7
6
6
6
10
7
6
7
7
6
7
7
7
6
6
6
6
6
6
7
7
7
7
6
6
7
7
7
7
7
6
7
7
7
6
7
7
6
6
6
6
6
7
7
6
7
7
7
6
6
6
7
7
7
8
7
7
7
6
6
6
6
6
6
6
7
6
6
6
6
6
7
7
6
6
6
6
7
7
5
5
6
6
6
6
6
7
6
6
5
6
6
6
7
8
7
6
6
6
6
6
6
6
6
7
7
7
6
6
6
7
7
7
7
6
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
7
8
6
7
7
7
7
7
7
7
7
7
6
6
7
6
6
7
7
7
6
6
6
6
7
7
7
6
6
6
6
7
6
6
6
6
7
7
6
6
7
7
7
7
7
6
6
6
6
6
6
7
7
7
7
6
6
6
7
7
7
7
6
7
7
6
6
6
6
6
7
7
6
6
6
6
6
6
7
6
6
6
7
7
6
6
6
6
7
6
6
6
7
7
6
6
7
7
7
7
7
6
6
6
6
6
7
7
7
7
7
7
6
6
7
7
7
7
7
7
6
6
7
6
6
6
7
7
6
7
6
6
6
6
7
7
7
7
6
6
6
7
6
6
6
6
7
7
7
6
7
7
6
6
7
7
7
6
6
6
6
6
6
7
6
7
7
7
6
7
7
7
7
7
6
7
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
7
7
7
8
8
7
9
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
9
8
6
6
5
6
6
6
5
7
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
9
9
8
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
5
6
6
6
6
5
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
10
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
7
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
7
7
6
6
9
8
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
16
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
5
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
8
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
8
7
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
7
6
6
6
6
6
6
6
6
6
6
6
8
6
5
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
6
8
8
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
7
6
5
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
8
8
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
8
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
10
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
8
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
16
7
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
9
8
8
6
7
6
6
6
6
6
6
8
7
6
6
5
6
6
6
6
6
6
6
6
8
9
8
8
8
8
9
8
8
6
8
8
7
6
7
6
6
8
7
7
7
7
7
7
7
8
6
6
5
6
6
5
8
6
5
6
5
6
6
6
6
7
9
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
9
7
6
6
8
8
8
9
8
6
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
7
8
6
6
6
5
6
5
8
6
6
6
6
8
6
6
6
6
8
6
6
6
6
6
6
6
6
5
5
5
5
6
5
5
5
5
5
9
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
7
7
6
7
7
7
7
7
7
7
7
6
6
7
6
6
7
6
7
7
7
7
9
7
7
7
7
7
7
7
7
7
7
8
7
8
8
7
7
7
7
7
7
7
6
7
7
7
8
7
7
7
8
7
7
8
7
7
8
7
7
8
8
7
7
8
8
8
8
7
8
7
7
7
6
7
8
7
7
8
7
6
7
7
6
7
6
6
6
7
6
6
6
7
6
7
6
7
7
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
7
6
6
6
7
7
7
7
7
7
6
7
6
8
6
6
6
6
7
7
7
6
7
7
7
6
6
6
7
6
7
7
6
6
6
6
7
7
7
7
7
7
6
6
6
6
7
6
7
7
7
7
7
6
6
7
6
6
6
6
6
6
7
7
6
7
7
7
7
6
8
7
6
7
6
6
6
7
6
7
6
6
7
6
6
7
7
6
6
6
7
6
7
6
6
6
6
7
7
7
7
6
41
7
6
7
7
7
6
7
6
7
6
7
6
7
7
6
7
6
7
7
6
7
7
6
6
9
7
8
7
6
6
7
7
6
7
7
7
7
7
7
6
7
7
7
6
7
7
7
7
7
8
7
7
6
6
7
7
6
7
6
7
6
7
7
7
7
7
7
7
7
6
6
6
7
7
7
6
7
6
6
6
6
6
6
7
7
7
7
8
23
7
6
6
7
7
7
6
6
6
6
7
7
7
7
7
8
8
9
7
7
8
8
8
8
7
7
7
7
7
7
8
7
8
7
7
7
8
7
8
7
8
7
7
7
7
7
7
8
8
7
8
7
8
8
8
7
7
8
8
7
7
8
8
7
8
8
7
8
7
7
8
7
7
8
8
8
8
7
7
7
7
8
8
8
8
8
8
7
8
8
7
8
8
7
7
8
7
7
8
8
8
7
8
8
8
7
7
8
7
7
8
8
7
7
8
8
7
7
7
8
8
8
7
7
8
7
7
8
8
8
8
8
8
8
7
7
7
8
7
8
7
8
7
8
7
7
7
8
8
7
7
7
8
7
7
7
8
8
7
8
8
7
7
7
7
7
7
7
7
7
7
7
8
7
8
7
8
7
8
8
8
8
8
7
8
8
7
7
8
7
8
8
8
7
8
7
7
7
7
8
8
8
7
8
8
7
7
7
8
8
8
8
7
7
7
8
7
7
7
8
8
7
7
8
8
7
8
7
7
7
7
8
7
7
7
8
7
8
7
8
7
7
7
8
8
7
8
7
7
8
7
8
8
8
7
8
8
7
8
7
7
8
8
8
9
8
8
7
8
7
7
8
8
7
8
7
7
8
9
7
7
8
8
8
8
7
8
8
8
7
7
7
8
9
9
9
9
8
7
7
7
7
7
8
8
8
8
7
7
7
8
8
8
7
7
8
8
7
7
8
7
7
8
7
8
7
8
8
7
8
8
8
8
7
7
8
8
8
7
8
7
7
8
7
8
8
7
7
8
7
8
7
8
8
8
7
8
8
8
7
8
8
8
9
7
8
8
8
8
8
8
9
8
8
8
8
7
8
8
8
9
8
9
9
8
9
9
8
9
9
8
9
8
9
9
8
8
8
8
8
7
8
8
8
8
8
8
7
8
8
8
9
8
8
8
8
8
9
8
8
8
8
9
8
8
8
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
8
9
9
9
9
8
9
9
9
9
9
9
8
8
9
9
8
9
9
8
8
8
8
9
8
9
9
8
8
8
8
8
8
8
8
9
8
8
9
8
8
8
8
7
7
8
7
7
7
8
8
8
7
7
8
8
7
8
8
7
9
8
7
8
8
8
8
8
7
7
8
8
8
8
8
8
8
8
7
8
8
9
8
9
10
8
7
8
8
8
9
8
9
8
9
9
8
9
9
9
8
9
9
9
8
8
9
9
8
8
9
9
8
8
9
9
9
8
9
9
9
8
8
9
9
8
9
9
9
9
8
9
9
9
8
8
8
8
8
8
7
7
8
8
8
7
7
7
8
8
7
8
8
8
8
8
8
8
9
9
8
9
8
12
8
8
9
9
8
9
8
8
8
9
9
9
8
9
9
8
8
7
8
8
8
8
8
8
8
8
8
7
8
8
8
8
7
8
7
8
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
8
9
8
8
8
8
7
8
9
8
8
8
9
8
8
9
8
8
9
8
8
8
8
8
8
7
8
8
7
8
7
8
7
8
8
8
8
8
8
8
8
7
8
7
8
7
8
9
9
7
9
8
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
8
8
8
7
8
7
8
8
8
8
8
8
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
8
7
8
8
8
8
7
8
8
8
7
8
8
9
8
8
8
8
9
8
7
8
8
9
8
8
8
8
8
8
8
8
8
8
8
9
8
8
8
8
8
8
8
8
8
8
8
8
9
9
8
8
8
7
9
8
8
7
8
8
8
8
7
8
8
8
7
8
7
8
8
8
8
7
9
8
9
8
7
8
9
8
8
8
8
8
9
8
8
8
8
8
8
8
8
8
9
9
8
8
8
8
9
8
8
9
8
8
10
9
9
8
8
9
8
7
9
8
8
8
7
8
8
9
8
9
8
8
8
8
7
8
8
8
9
8
8
9
10
9
8
6
7
6
7
9
9
7
6
6
6
6
6
7
7
6
7
7
9
8
8
8
9
9
9
9
9
8
7
8
8
8
8
8
8
8
8
8
8
7
7
8
8
8
8
8
8
8
7
7
8
8
8
8
8
8
7
8
8
7
8
8
8
8
8
9
9
9
9
9
9
8
9
9
7
9
8
9
8
8
8
9
9
9
9
9
8
8
8
9
8
8
9
9
9
9
8
9
8
8
8
8
8
8
8
9
9
8
9
8
9
9
8
8
8
8
9
8
9
9
8
8
9
9
9
9
8
8
9
9
9
8
9
9
8
8
9
8
7
7
8
7
7
8
8
8
7
8
7
8
7
7
7
8
8
7
7
7
7
7
8
8
7
7
7
7
8
7
8
7
8
8
7
7
7
7
7
8
7
8
7
7
8
7
7
8
8
8
8
8
9
8
8
8
8
8
8
8
9
8
8
8
8
7
7
8
8
8
7
8
7
8
9
8
8
8
8
8
8
9
8
8
8
7
8
8
9
8
8
9
8
9
9
9
8
9
9
8
9
9
9
9
9
9
8
9
9
8
9
9
8
8
9
9
8
9
8
9
8
9
8
10
9
9
8
9
9
9
8
8
9
8
8
8
8
8
9
9
8
8
9
8
9
8
8
8
9
8
10
9
8
9
8
9
8
9
8
8
9
9
9
8
8
9
9
8
8
7
8
8
8
8
8
8
8
8
8
9
9
7
7
7
8
7
8
7
7
8
8
8
7
7
7
7
8
8
8
8
7
8
8
8
8
8
8
8
9
8
8
8
9
9
8
8
8
7
8
8
9
9
8
9
8
9
8
8
8
7
7
8
8
7
8
8
7
7
8
7
7
8
8
7
7
7
7
8
7
7
8
7
8
8
7
7
7
7
8
8
8
8
7
8
8
7
8
23
8
8
8
8
7
7
7
7
8
8
7
7
8
8
8
8
8
8
9
8
8
9
8
8
8
8
8
8
8
9
9
8
7
8
8
8
8
8
8
7
9
9
9
8
8
8
8
9
8
8
7
8
8
8
8
8
8
8
9
8
9
9
8
9
9
9
9
9
9
8
9
8
8
9
9
9
9
9
8
9
8
9
8
9
8
9
9
8
9
9
8
8
8
8
8
8
8
8
8
8
9
9
8
8
8
8
9
8
8
10
8
9
9
9
9
8
9
9
8
8
9
9
9
9
9
9
8
8
8
7
8
9
8
8
8
8
8
8
8
9
9
8
7
8
8
8
8
8
8
9
8
9
8
8
8
8
9
8
8
8
8
9
8
9
8
9
9
9
9
8
10
8
8
8
9
9
9
9
9
9
9
9
9
8
8
8
8
9
9
8
9
10
10
9
9
9
9
8
8
8
8
8
8
8
9
8
9
9
9
9
8
9
9
9
9
9
9
9
8
9
9
9
9
9
8
10
9
8
9
9
7
8
8
9
8
7
8
7
8
9
7
8
8
8
8
8
9
8
9
8
8
8
9
9
9
8
9
8
8
8
8
9
8
8
9
9
9
9
8
9
9
8
9
8
8
8
9
9
9
9
9
8
9
9
9
8
9
8
9
9
9
8
8
8
8
9
8
9
8
8
8
8
8
8
8
9
9
9
9
9
8
9
9
9
9
9
9
8
9
8
9
9
8
9
8
9
8
8
8
8
8
9
8
8
8
8
7
7
8
8
8
8
8
8
8
9
8
7
9
8
9
9
9
6
7
7
9
9
10
9
9
9
9
9
9
7
6
8
8
6
6
7
10
8
8
8
9
10
9
9
8
8
8
9
9
9
8
9
8
8
9
9
8
9
8
9
9
9
10
9
9
9
9
9
9
9
8
9
9
9
8
8
8
8
9
8
9
8
8
8
9
8
9
10
9
8
8
8
8
8
8
8
8
9
8
8
9
9
9
9
9
9
9
9
9
8
10
9
9
9
9
8
8
8
9
8
8
8
9
8
9
8
8
8
8
8
9
9
8
9
9
9
8
9
8
9
8
9
9
9
9
9
9
9
9
9
9
9
9
9
8
10
8
9
9
9
8
9
7
9
9
9
9
9
9
9
10
8
9
8
8
8
7
8
8
8
9
9
8
8
8
8
25
9
8
9
9
9
9
9
10
9
8
9
9
9
9
9
9
8
9
8
8
9
8
7
8
8
8
8
8
8
9
8
9
9
8
8
9
8
9
8
8
8
9
9
9
9
9
9
9
9
9
8
9
9
8
9
35
9
9
9
8
34
8
9
9
8
8
8
9
8
9
8
9
9
9
9
8
10
9
9
9
9
9
9
9
8
8
8
8
8
48
8
9
9
9
9
11
9
9
9
8
9
10
9
9
9
9
9
8
8
9
8
9
9
9
9
8
9
8
9
8
9
8
8
8
8
7
9
9
9
23
9
8
8
8
8
8
9
8
9
8
8
9
9
9
9
9
9
8
9
9
9
8
9
9
9
8
9
9
9
8
8
9
8
8
8
9
9
10
9
9
9
8
9
8
9
8
8
8
7
8
8
8
9
8
9
9
9
9
9
8
9
9
9
8
9
9
8
10
8
8
9
9
9
9
8
8
9
9
8
8
8
8
9
8
9
9
8
8
8
8
8
8
9
8
9
9
8
9
8
8
9
8
8
9
9
9
9
9
8
10
8
8
9
9
9
8
9
9
8
10
8
9
9
9
8
8
9
8
8
8
8
8
8
9
8
8
9
8
8
9
9
9
9
9
9
8
8
8
9
8
8
9
9
9
8
9
8
9
8
7
8
8
8
7
7
8
8
8
9
8
9
9
9
9
9
8
9
8
8
8
8
8
8
8
9
9
9
8
8
9
9
8
9
9
8
8
9
8
8
9
8
8
8
8
9
9
9
9
9
8
9
9
8
8
9
9
8
8
9
9
9
8
9
8
9
9
9
8
8
9
9
9
9
9
9
9
9
8
8
8
8
8
8
7
7
7
7
7
8
8
8
9
9
8
8
7
8
8
8
8
8
8
8
9
9
8
8
9
8
8
8
9
8
7
8
8
8
9
9
8
9
8
9
8
9
10
9
8
9
9
9
8
9
9
9
8
9
9
9
8
9
9
9
8
9
9
9
8
8
8
9
9
8
8
8
7
8
8
8
9
9
8
9
9
8
9
9
9
10
9
9
9
9
9
9
9
9
8
8
8
8
8
9
8
8
8
8
7
7
8
8
8
8
8
7
9
8
8
8
8
8
8
9
8
9
8
8
8
8
8
9
8
8
8
9
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
8
9
9
9
8
9
8
9
9
8
8
9
8
9
10
9
8
8
9
9
8
8
8
8
8
9
8
8
8
8
8
9
9
9
9
8
9
9
9
9
9
9
9
9
9
8
10
8
8
9
9
9
8
9
8
8
9
8
8
7
8
9
8
8
8
8
8
8
8
9
9
8
9
8
9
8
8
8
7
9
9
8
8
8
8
9
9
8
9
9
9
9
9
8
8
9
9
9
8
8
9
8
8
8
8
9
9
9
9
8
9
8
9
9
9
8
9
8
8
8
9
9
8
9
9
9
9
9
8
9
8
8
9
9
9
8
8
9
8
9
9
8
8
9
9
9
8
8
9
8
7
7
8
7
7
7
7
8
8
8
8
8
7
8
8
9
9
8
8
9
9
9
8
8
8
8
8
9
8
9
9
8
8
9
9
9
9
9
9
9
8
9
9
9
9
9
9
9
8
9
9
8
8
8
8
9
9
8
8
8
9
9
9
8
8
8
8
8
9
8
8
9
8
9
9
8
8
9
8
8
9
9
9
9
9
8
10
9
9
8
9
8
9
9
8
8
9
7
8
8
8
7
8
8
8
7
9
9
9
8
8
8
8
8
8
8
9
9
8
8
9
9
9
9
8
9
9
9
9
8
9
8
9
8
8
9
8
9
9
8
8
8
8
8
8
9
8
9
8
8
8
8
8
9
8
9
7
7
8
8
9
8
8
9
8
8
9
9
9
9
9
9
9
8
8
7
7
8
8
9
8
8
9
9
9
9
8
9
9
9
8
9
9
9
8
9
8
8
9
8
8
9
8
9
8
8
8
8
9
8
8
8
8
9
9
9
8
8
8
8
9
8
9
8
8
9
8
9
8
9
8
10
9
10
9
10
8
9
10
9
8
8
8
9
8
8
8
9
10
9
10
9
10
9
10
8
9
9
9
9
9
9
9
10
8
8
8
8
9
9
9
8
8
10
9
9
9
9
9
9
10
10
9
9
10
8
8
8
10
9
8
8
8
9
9
8
10
10
10
9
9
8
8
8
8
9
9
8
9
9
9
10
10
9
11
9
11
10
8
9
8
10
9
11
9
10
10
9
8
9
9
9
9
8
8
8
8
9
8
8
8
9
8
9
9
9
9
8
8
7
7
7
8
8
7
8
8
7
8
8
8
8
8
8
9
9
8
24
8
8
8
9
8
9
8
8
9
8
8
9
8
9
9
9
9
8
9
8
9
8
9
8
8
8
9
8
8
8
8
8
8
8
8
9
8
8
8
8
8
9
9
8
9
8
8
8
8
8
8
7
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
9
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
5
9
8
9
8
8
6
6
7
6
6
6
7
6
6
6
7
6
6
6
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
9
9
7
6
6
6
6
6
7
6
6
6
6
8
8
7
6
6
6
6
7
6
5
6
5
6
6
7
9
7
6
6
6
6
6
6
6
6
9
9
8
6
6
6
6
6
6
6
6
11
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
6
6
6
6
6
6
6
6
8
8
8
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
8
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
9
9
9
6
6
6
7
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
13
9
9
9
8
7
7
6
6
6
6
6
6
6
7
6
6
6
6
8
9
8
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
12
8
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
11
7
7
8
7
5
6
5
5
5
5
5
5
5
5
6
5
5
5
5
5
9
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
8
8
8
9
7
8
8
8
9
9
6
8
6
6
6
6
6
6
6
7
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
7
6
6
7
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
12
9
8
9
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
6
10
7
13
12
8
8
24
8
7
6
6
8
8
6
6
6
6
6
6
6
6
5
6
5
6
8
6
6
6
6
6
9
8
7
10
9
9
8
9
9
8
9
8
6
7
6
7
8
9
6
8
8
8
9
9
7
6
6
8
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
8
7
6
8
7
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
10
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
7
7
6
6
6
6
6
7
6
6
6
6
8
8
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
7
6
7
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
7
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
7
8
7
7
6
6
6
6
6
6
6
9
8
8
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
7
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
7
6
6
6
6
7
8
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
8
6
6
6
5
7
8
7
7
7
8
7
7
8
8
6
6
6
6
7
6
6
5
6
9
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
8
7
8
7
6
7
6
6
6
8
8
6
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
7
7
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
7
7
7
6
6
7
8
7
8
7
8
7
7
8
9
6
7
6
6
6
7
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
8
12
7
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
8
7
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
5
6
5
6
5
6
6
6
8
6
6
6
6
7
7
8
7
7
7
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
10
8
7
7
7
7
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
8
7
7
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
7
6
6
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
8
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
9
8
9
9
9
9
8
7
7
7
7
7
7
7
7
7
8
9
8
8
9
8
9
9
9
7
8
8
9
7
9
9
7
6
8
6
6
7
6
6
6
6
6
6
6
6
6
24
7
7
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
7
7
8
7
7
8
8
8
7
6
6
6
8
7
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
8
8
7
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
7
6
6
6
6
6
6
8
6
8
8
6
6
6
23
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
7
8
8
7
7
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
5
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
19
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
6
6
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
6
6
7
7
6
6
6
6
6
7
8
7
7
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
7
8
8
7
8
7
7
8
7
8
7
7
6
6
7
6
6
7
8
6
6
6
6
6
6
7
6
6
6
6
7
6
6
8
8
8
9
8
8
6
6
6
6
6
6
6
7
6
6
6
7
7
7
7
7
6
7
7
7
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
8
17
9
8
9
8
8
6
7
7
6
6
6
6
6
6
6
6
6
6
6
9
8
7
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
6
8
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
5
7
6
6
6
6
6
6
8
6
6
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
9
8
6
7
6
6
6
6
6
8
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
7
6
6
6
18
6
6
6
6
7
7
6
7
7
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
7
6
6
6
6
6
6
6
6
6
6
8
8
9
7
8
9
8
8
9
9
8
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
8
9
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
6
6
12
7
7
6
6
6
6
6
10
8
10
8
6
6
6
6
8
8
7
6
6
6
8
9
9
8
9
9
8
8
7
9
8
8
6
6
6
6
6
6
7
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
8
8
8
8
7
7
8
8
9
9
9
9
8
6
8
6
8
8
6
6
6
6
6
6
6
6
6
6
6
7
8
8
7
8
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
8
7
8
6
6
6
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
8
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
9
8
6
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
20
8
6
6
6
6
6
7
6
6
6
6
5
6
6
6
6
6
6
6
8
6
6
8
8
7
9
8
7
8
7
8
8
7
8
7
9
8
8
8
8
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
7
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
7
8
6
7
7
7
7
6
7
6
6
6
6
6
6
6
6
6
7
6
6
8
9
8
9
9
8
9
9
9
9
8
9
8
8
9
8
8
7
9
8
8
9
9
9
9
9
8
8
8
9
8
8
8
9
7
8
9
9
9
8
9
8
8
8
8
8
7
9
8
8
8
9
8
9
8
8
7
30
8
8
8
8
9
8
6
6
6
9
6
6
6
5
6
6
6
6
7
6
6
5
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
7
7
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
7
8
7
7
8
8
8
9
9
8
7
7
8
8
8
8
7
6
6
6
6
5
6
6
6
6
5
9
8
7
6
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
8
9
7
8
6
6
6
6
6
6
6
5
8
8
6
5
6
6
6
6
5
6
7
7
7
8
6
6
6
5
7
6
6
6
5
6
6
6
6
6
6
6
6
7
8
6
6
6
7
11
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
8
6
8
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
5
6
7
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
8
6
6
5
6
6
6
7
9
6
6
5
6
5
6
5
6
5
7
7
6
6
6
6
6
6
6
6
5
6
6
6
6
7
8
8
8
8
6
6
6
6
6
7
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
5
6
6
8
7
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
8
8
7
9
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
7
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
7
6
6
6
7
7
6
7
7
7
7
7
7
8
6
6
6
6
7
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
8
7
8
8
7
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
8
8
8
8
7
7
6
5
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
8
7
6
6
5
6
6
6
6
6
6
6
6
8
6
6
6
6
7
7
7
7
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
8
9
9
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
5
8
8
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
8
8
6
6
6
6
7
7
8
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
7
8
6
6
5
6
6
6
6
7
6
6
6
6
6
5
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
7
8
7
7
7
7
7
7
7
8
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
7
6
8
7
9
8
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
8
6
8
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
7
6
9
9
8
9
8
8
7
8
8
9
9
9
8
8
8
7
8
8
8
9
9
8
8
8
8
9
9
9
9
9
8
7
8
8
9
8
9
9
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
5
6
7
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
9
6
6
6
5
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
5
6
6
5
6
7
6
7
6
6
6
5
6
6
6
8
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
8
6
9
7
7
8
7
7
8
7
7
9
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
5
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
7
6
5
6
6
6
6
5
6
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
9
9
7
6
6
8
9
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
7
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
9
8
8
8
8
7
8
8
8
8
6
6
7
7
7
7
6
6
7
7
6
6
6
6
6
6
6
6
7
6
6
7
6
6
7
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
7
6
6
6
6
7
7
6
6
6
7
6
6
9
6
5
6
5
5
6
5
5
6
5
6
5
5
5
5
6
6
5
6
5
6
5
6
5
6
5
6
6
5
6
6
5
6
5
6
5
5
5
6
5
5
6
5
5
6
5
6
5
5
5
5
6
5
6
6
5
6
6
5
5
6
6
5
6
5
6
5
5
5
5
6
5
6
5
5
6
5
6
5
5
5
5
6
5
6
5
5
6
7
6
5
5
6
6
6
5
6
5
5
5
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
5
6
5
6
5
5
5
6
5
5
6
5
6
6
5
6
5
6
5
6
5
5
5
5
6
5
5
5
5
5
6
5
6
5
6
5
5
5
5
5
5
5
5
6
5
6
5
6
5
6
5
6
5
5
5
6
5
6
5
6
5
6
5
6
5
6
5
5
5
6
5
6
5
7
5
5
5
5
6
5
6
5
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
6
5
6
5
6
5
5
5
5
5
5
5
6
5
6
5
6
5
6
5
6
6
5
6
5
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
5
5
5
5
6
6
5
5
5
5
5
5
5
6
5
5
6
5
5
5
5
6
5
6
5
6
5
5
5
5
6
5
5
5
5
6
5
5
5
5
5
5
6
5
6
5
6
5
7
7
7
6
7
6
7
7
7
7
5
5
6
7
8
7
5
5
5
5
5
8
7
6
7
8
7
5
7
7
6
7
8
5
6
8
7
6
6
7
8
9
7
6
7
7
6
7
7
6
5
6
5
5
6
5
8
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
6
6
5
6
6
6
6
6
5
6
6
5
6
5
6
6
6
5
6
6
6
5
6
5
6
6
6
5
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
7
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
7
6
5
7
9
6
6
6
6
7
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
5
6
5
6
5
6
5
6
5
7
6
6
6
5
6
6
6
6
6
6
6
6
8
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
5
6
6
7
9
7
6
6
6
6
5
6
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
7
6
6
5
6
8
8
8
8
8
9
8
9
8
7
8
8
8
8
8
8
8
8
8
8
8
7
7
8
8
8
8
8
8
7
8
8
8
8
8
7
8
8
8
8
8
9
9
9
9
9
10
9
9
9
9
24
9
7
7
6
6
7
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
8
7
8
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
5
7
7
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
5
6
7
7
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
7
7
6
5
6
5
6
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
5
6
8
7
8
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
5
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
8
6
8
8
7
6
6
7
6
7
8
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
6
6
8
7
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
8
7
8
6
7
6
5
8
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
7
8
8
8
7
8
9
8
7
9
9
8
7
8
8
8
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
8
6
8
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
7
7
6
8
8
8
8
8
8
9
8
8
7
6
6
7
7
6
7
7
7
7
8
9
8
9
8
8
9
9
9
6
6
6
9
8
6
6
8
6
6
6
5
6
8
7
5
6
6
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
7
6
6
6
6
5
6
7
8
10
8
8
8
9
8
6
6
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
8
6
6
5
6
7
6
6
6
7
6
5
6
6
6
6
5
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
6
6
6
6
6
6
6
5
6
6
5
7
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
9
9
8
9
9
9
9
9
9
9
9
9
9
9
8
8
9
8
8
9
9
9
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
7
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
8
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
8
7
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
5
6
5
6
5
6
6
6
6
6
6
6
5
6
5
6
5
6
6
6
6
8
8
7
6
11
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
7
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
7
6
7
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
7
8
8
8
6
6
6
6
6
6
6
6
6
7
6
7
6
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
6
6
6
6
6
6
6
6
5
6
6
6
5
8
9
8
8
8
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
8
8
8
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
7
6
6
6
7
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
8
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
20
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
7
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
10
8
8
8
8
8
8
8
8
9
9
7
7
8
8
8
8
8
8
8
8
18
8
7
7
8
6
6
7
16
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
21
7
6
6
6
6
6
6
6
6
6
5
6
10
9
7
6
6
6
7
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
5
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
5
6
6
6
6
7
8
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
9
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
6
7
7
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
6
6
6
6
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
5
6
6
8
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
5
6
6
6
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
7
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
7
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
7
8
9
7
7
6
6
7
6
6
6
6
6
7
6
6
7
6
6
7
6
6
7
6
6
6
7
6
6
6
7
6
6
6
7
6
6
6
7
6
6
6
7
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
7
6
6
7
6
7
6
6
7
6
6
7
6
6
17
7
6
6
6
6
6
6
8
8
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
9
9
8
8
9
9
6
7
8
9
7
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
8
8
6
7
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
9
9
9
9
9
9
9
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
6
6
6
5
6
6
6
6
8
9
7
6
6
6
6
6
6
6
6
6
6
7
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
7
6
7
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
5
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
7
6
6
5
6
7
8
6
6
6
6
6
6
6
6
6
6
6
7
8
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
7
6
6
6
6
6
6
6
6
6
8
8
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
6
6
6
5
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
6
6
8
8
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
7
6
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
9
7
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
8
8
8
7
7
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
6
> I used the following two little programs:
> <skip>
>
> And found no significant difference in peak and average latencies
> between them.
>
> The unixdomain_server takes a single command-line argument which tells
> it how many samples
> to average over before producing a printed result.
>
> So this confirms my earlier assertion that I would be surprised to find
> a significant latency difference
> between Unix-domain sockets and FIFOs, since the interior kernel
> mechanisms are broadly similar.
> Basically--some chunk of memory is copied from one place to another,
> there's some housekeeping, and
> the system-call interface is traversed a couple of times.
Let me contradict. Maximum latency is *much* better - less then 80us
instead of 3ms.
Data attached as usual. Tests were run with 'chrt 80 ./runtest_sh'
PS I test on Core 2 Duo 1.6 GHz with all the GUI stuff running.
--
Regards,
Alexander Chemeris.
No comments:
Post a Comment