Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1of 3843

Clase

Frecuencia
0.455
2
0.45796774
3
0.46093548
1
0.46390323
1
0.46687097
7
0.46983871
3
0.47280645
9
0.47577419
24
0.47874194
27
0.48170968
33
0.48467742
37
0.48764516
52
0.4906129
58
0.49358065
66
0.49654839
69
0.49951613
75
0.50248387
84
0.50545161
77
0.50841935
87
0.5113871
65
0.51435484
41
0.51732258
40
0.52029032
34
0.52325806
25
0.52622581
24
0.52919355
20
0.53216129
12
0.53512903
7
0.53809677
7
0.54106452
5
0.54403226
1
y mayor...
3

Histogra
100
90
80
70
60
50
40
Frecuencia

30
20
10
0

Clase

Histograma

Frecuencia

Clase

1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0

2
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1

3
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0

4
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1

5
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1

6
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1

0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1

0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0

0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1

1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0

0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1

1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0

1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1

0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0

0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0

0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1

1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0

1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1

1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1

1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0

0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0

1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1

1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0

0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1

0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0

0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0

0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1

0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1

1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0

0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1

0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0

1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0

0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0

1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1

1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1

0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0

1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1

0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1

1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0

1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1

1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0

1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1

1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0

1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0

1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1

0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1

0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1

0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1

0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1

1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1

0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0

0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1

0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0

1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0

0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1

1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1

1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0

1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1

0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1

1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0

1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1

1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1

1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1

0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0

0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0

1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1

1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0

1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0

1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1

1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0

0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1

1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1

1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0

1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0

1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1

0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0

1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0

0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1

1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1

0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0

1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0

1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1

1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1

0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0

1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0

0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1

1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1

1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0

1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1

0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1

0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0

0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0

0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1

1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1

0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1

0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1

1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0

1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1

1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0

0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0

1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1

0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0

0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1

0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0

1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0

1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1

1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1

1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1

1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1

1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0

1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1

0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0

0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0

0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0

0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0

0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1

0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0

0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1

0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1

0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1

0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0

0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1

0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0

1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1

0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1

1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1

0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1

0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0

0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0

0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0

1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1

1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0

0
1
1
0
1
1
0
1
0
1

1
0
1
1
1
1
1
0
0
0

1
1
1
0
0
1
0
0
1
0

0
0
1
0
1
1
0
1
1
1

1
0
1
0
1
0
1
0
0
0

0
0
1
0
0
1
0
1
1
0

7
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0

8
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0

9
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0

10
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0

11
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0

12
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1

0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1

1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0

0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0

0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1

1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1

1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1

0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1

0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0

0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0

1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1

1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0

0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1

0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1

1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0

1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0

0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0

0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1

0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0

0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1

0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0

0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0

1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0

0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1

0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1

1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0

1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1

0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0

1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1

0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0

0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0

0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1

0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1

0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1

0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1

0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1

0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1

1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1

1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1

0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1

1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0

1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1

1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1

1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0

0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1

0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1

0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1

1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0

0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0

0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0

1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1

1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0

1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1

1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1

1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1

1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1

0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1

1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1

1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0

1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0

1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0

1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0

0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1

1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1

1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1

0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0

1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1

0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1

0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0

1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0

0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1

1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0

1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0

1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1

1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1

0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1

0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0

0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0

1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0

0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0

0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0

1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1

0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1

0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1

1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1

0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1

1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0

0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1

0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1

1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1

0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1

1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1

0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1

1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1

0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0

1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0

0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0

1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0

1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1

0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1

0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0

0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0

0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0

1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0

0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1

0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0

0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1

1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0

0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1

1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1

0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1

1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0

1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1

1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1

1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1

0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0

0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0

1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1

0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0

0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1

0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1

1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0

0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1

0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1

1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0

0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1

1
1
0
1
1
1
0
1
0
1

0
1
1
1
1
1
1
1
0
1

0
0
1
1
0
1
1
1
1
1

1
0
0
1
0
1
0
0
1
1

1
0
0
0
0
1
1
1
0
1

0
1
0
0
1
0
0
0
1
1

13
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0

14
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1

15
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1

16
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1

17
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0

18
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0

0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1

0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1

1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0

1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1

0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1

1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1

0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1

1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0

1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1

0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1

0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0

0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1

1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1

0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0

0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1

1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0

0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0

0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0

0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1

1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0

1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0

0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0

0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1

1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0

1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1

1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1

1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1

0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0

0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1

1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0

1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1

0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0

0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0

1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0

0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0

1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0

0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0

0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0

1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0

0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1

0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0

0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0

0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1

1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0

1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1

0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1

1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1

1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1

0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0

1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0

0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0

1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0

0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1

1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1

0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1

0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1

0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1

0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0

1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0

0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0

0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0

1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0

0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0

0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0

0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0

1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0

1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1

0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1

0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1

1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1

0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1

1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1

0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0

1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1

0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0

1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1

0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0

1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0

0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0

0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1

1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1

1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0

1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1

1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0

1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0

1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1

1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0

0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1

0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1

1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1

1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0

1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0

0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0

0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0

0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0

1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1

0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1

1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0

0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1

0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0

0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1

0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0

0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0

1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0

0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1

0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1

0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0

1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1

1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1

0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1

1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1

0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1

0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1

1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0

1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0

0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1

0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0

1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1

0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0

1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1

1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1

0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1

0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1

0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0

1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1

0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1

1
0
1
0
0
0
0
1
1
1

0
1
0
0
1
1
0
0
0
0

0
1
0
1
1
0
0
1
1
1

1
0
1
1
0
1
0
1
1
1

0
0
0
0
0
1
1
0
1
1

1
1
1
1
0
1
0
1
1
1

19
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0

20
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0

21
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0

22
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0

23
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1

24
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1

1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0

0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0

1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1

1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0

0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1

1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0

1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0

0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1

1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0

1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0

0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1

0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0

1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1

0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1

1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1

1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1

0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1

1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1

0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1

0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1

1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1

1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0

0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1

0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0

0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0

0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1

1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0

0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0

1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1

0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1

0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0

1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1

1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0

1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0

1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0

1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1

1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1

0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0

0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0

1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0

0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1

0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0

0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0

0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1

1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0

0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0

1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1

0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1

1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1

1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0

1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1

1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1

0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1

0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0

0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0

1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0

1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1

1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1

1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1

1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0

0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0

1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0

1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1

1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1

1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0

0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0

0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1

1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1

1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1

1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1

1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1

0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1

1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0

1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0

0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1

0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0

1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1

1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0

1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1

0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1

1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1

1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1

0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0

1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1

1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0

0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1

1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1

1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1

1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1

0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1

1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1

1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0

0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0

0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1

0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1

1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1

1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1

1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0

0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0

0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1

0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0

0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0

0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1

0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1

1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0

0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1

0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0

0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0

0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1

1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0

0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0

1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0

1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1

0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1

0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1

0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0

1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0

0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1

0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1

1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0

1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1

0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0

1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1

1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0

0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1

1
1
1
0
1
0
1
1
0
1

0
0
1
1
1
0
0
1
1
0

0
1
1
1
0
1
1
0
0
1

1
1
1
1
0
1
1
1
0
1

0
1
0
0
0
0
1
0
1
0

0
0
1
1
0
1
1
0
1
1

25
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1

26
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0

27
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0

28
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1

29
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0

30
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1

1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1

0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1

1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0

1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1

0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1

1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0

0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1

0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0

0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0

1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0

1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0

0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1

1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1

0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0

0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1

0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1

0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1

0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0

0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1

0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1

1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0

0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0

1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1

0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1

1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0

0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0

1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0

0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0

0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1

1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0

1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1

1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0

1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1

1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1

0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0

1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0

0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0

1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0

0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1

0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0

1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0

0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0

0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1

1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1

1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1

0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1

1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1

1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1

0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1

1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1

1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0

1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0

0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0

0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1

0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1

1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0

1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0

0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0

1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1

0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0

1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1

0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1

0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1

1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1

0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1

1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1

0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0

1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1

0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0

1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0

0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0

0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0

1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0

1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1

0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1

1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1

1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0

1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1

0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0

0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0

1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0

0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0

1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1

0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0

1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1

1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1

0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0

0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0

1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1

1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1

0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0

1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1

0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1

1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0

0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0

1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0

0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0

0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1

1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0

0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0

0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1

1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0

1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1

0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1

0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0

0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0

0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1

0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1

1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0

0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0

1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1

1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0

1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0

1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0

0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1

1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1

1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0

1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1

0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1

1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0

1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0

0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0

1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1

0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1

0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0

0
1
1
0
1
0
0
1
0
0

0
0
0
1
0
0
0
0
0
1

0
1
1
1
1
0
0
1
1
1

1
1
0
0
0
0
1
1
0
1

0
0
1
1
1
0
1
1
0
1

0
0
0
1
0
0
1
1
0
1

31
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1

32
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1

33
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1

34
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1

35
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0

36
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0

1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1

0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1

1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1

1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1

0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0

0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1

0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0

1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0

0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1

1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0

1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1

0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0

0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0

0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0

0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0

1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1

1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1

0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0

0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0

0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1

0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0

0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0

0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0

0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1

1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1

1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0

0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1

0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1

1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1

1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0

1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1

0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1

1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1

1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0

0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1

1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0

0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0

0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1

0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0

1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1

0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0

1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1

0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0

1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1

0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1

1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0

0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0

0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1

0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1

1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0

1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1

1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1

0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0

0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0

1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0

1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1

1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0

1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1

1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0

1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0

0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1

0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0

0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1

0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1

0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1

0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1

1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0

0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1

0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0

0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0

0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0

1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0

1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0

1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1

0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1

1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1

0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0

0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0

1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1

0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1

0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1

1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1

0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0

0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0

0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0

1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0

0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1

0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0

1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0

0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0

0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1

1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1

1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0

1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0

1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1

0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1

0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1

0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1

1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1

0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1

0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1

0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1

1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0

0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1

0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0

0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1

0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1

1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0

1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0

0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0

0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0

0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1

0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0

0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0

1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0

1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1

1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0

1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0

0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0

1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1

0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0

0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1

0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1

1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0

1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0

0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0

1
0
1
0
0
0
0
1
1
0

1
0
0
0
1
1
1
0
1
1

1
0
1
0
1
1
0
1
1
0

0
0
0
0
0
0
1
1
0
0

1
0
0
1
0
0
0
1
0
0

0
1
0
0
0
0
0
0
0
0

37
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1

38
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1

39
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0

40
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0

41
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0

42
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0

1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1

0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1

1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1

1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0

1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1

1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0

1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1

1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1

1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1

0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0

1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0

1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1

1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1

0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0

0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1

0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1

0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1

0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1

0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1

1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1

1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0

1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0

1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0

1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1

1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1

0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0

0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1

1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0

0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1

0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0

1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0

1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0

1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0

1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1

0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1

0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1

1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0

0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1

1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1

1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0

0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1

0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0

1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0

0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0

1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0

0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0

0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0

1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0

1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1

1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0

1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0

1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1

1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1

0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0

1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1

1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1

0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0

0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1

1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0

1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0

0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1

1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1

1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0

1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1

0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1

1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0

0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0

1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1

0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0

1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1

0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0

0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0

1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0

0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1

0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1

0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0

1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0

0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0

1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0

0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0

1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1

1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0

0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1

1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0

0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0

1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1

1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1

1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1

1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0

1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1

1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1

1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0

1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0

0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1

1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1

1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1

0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1

1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0

0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0

0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0

1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0

0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1

0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0

1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1

1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1

0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0

1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0

1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0

0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0

0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0

0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1

1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0

0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1

1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0

0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1

0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1

0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1

1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0

1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1

0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1

0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0

1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1

0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0

1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0

1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0

1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0

0
1
1
0
0
0
1
1
1
1

1
0
0
1
1
1
1
1
0
0

1
0
1
0
1
0
0
1
0
0

1
0
0
0
1
0
0
0
0
0

1
1
0
1
1
1
0
1
1
0

0
0
1
1
1
0
0
0
0
0

43
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1

44
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1

45
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0

46
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1

47
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1

48
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1

1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1

0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0

1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0

0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0

0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0

0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0

1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1

1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1

1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0

1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0

0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1

0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1

1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0

1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1

1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0

1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0

1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1

1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1

0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0

0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0

0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1

1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0

1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1

0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1

1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0

0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0

0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1

1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0

1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1

1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1

0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0

1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0

0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0

0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0

1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1

1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1

1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0

0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0

0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1

1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1

0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1

1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1

1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1

0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1

0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1

1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0

1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0

1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1

0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0

1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1

1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1

1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0

1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1

0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1

0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1

1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1

0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1

0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1

1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0

0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0

0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0

1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0

0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0

1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0

1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1

0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0

1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1

0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1

1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0

1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1

0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0

0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1

0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1

1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0

0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1

1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0

0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0

0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0

1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0

0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1

0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1

1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1

0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1

1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0

1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0

1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1

1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1

0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0

0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1

1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0

0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0

0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1

0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1

1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0

0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0

0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0

1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1

1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1

1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0

0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1

0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0

0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0

0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0

1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1

0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0

0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1

0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1

0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0

1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0

0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1

0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1

1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0

0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1

1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0

0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1

1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0

0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0

0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1

1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1

0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1

1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0

0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0

1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0

1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1

1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1

0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0

1
1
1
0
1
0
0
1
1
1

1
1
1
0
1
1
1
0
1
1

0
0
1
1
1
1
1
0
0
1

0
1
1
0
0
0
1
0
1
1

1
1
1
1
1
1
1
0
1
1

0
1
1
0
1
0
0
0
0
1

49
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1

50
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0

51
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1

52
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1

53
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1

54
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0

0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0

0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1

0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0

1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1

0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0

1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0

1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1

1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1

1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1

0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1

0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0

1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0

1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1

1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1

1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1

1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1

1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0

1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0

1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0

0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0

1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1

0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1

1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1

0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1

0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1

1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1

1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1

0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1

0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0

1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1

1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0

0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0

0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1

0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0

1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1

1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1

0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1

1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0

0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1

1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1

0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0

1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1

1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1

0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0

1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1

1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1

0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0

0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1

0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0

1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1

1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0

0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0

1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1

1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0

0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0

1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0

1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0

0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0

1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0

0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0

0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0

1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0

1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1

0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0

1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1

0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0

1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0

1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0

1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0

1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1

1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1

0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1

1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0

1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1

1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0

1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0

1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0

1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1

0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0

1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0

0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0

1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0

0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0

0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0

1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1

0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1

0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0

0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1

1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1

0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1

0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1

0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1

1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0

1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0

0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0

1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1

0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0

0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0

1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0

1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0

0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1

1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0

1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0

1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1

1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0

1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1

1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0

0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1

0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0

1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1

1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0

0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1

0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1

1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1

0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0

1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0

0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0

0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0

0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0

1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0

0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0

0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1

0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0

1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0

1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1

0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0

0
1
0
1
0
1
0
1
0
0

1
1
0
0
1
0
0
1
1
1

0
1
0
1
1
0
1
1
1
0

0
1
1
0
0
1
1
0
1
1

0
0
1
0
1
0
1
0
1
1

1
0
0
0
1
1
1
1
1
0

55
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0

56
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0

57
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1

58
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0

59
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0

60
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1

1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1

1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1

1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1

0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1

0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0

0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1

0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1

0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1

1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0

0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0

0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1

1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1

1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1

0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0

0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0

0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0

0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1

1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0

0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0

1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1

1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0

0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0

1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0

1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1

1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1

1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0

0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0

0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0

0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1

1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0

0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1

1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0

0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0

0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0

0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0

1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1

1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1

0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1

0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0

1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1

0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0

1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0

0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1

1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0

1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1

1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1

1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0

1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0

0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1

0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1

0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0

1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0

1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1

0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1

0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0

1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1

1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0

1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1

0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0

0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0

1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0

0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0

0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0

1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0

0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0

1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0

0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1

1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1

0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1

1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1

1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0

0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1

0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1

0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1

0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0

1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1

1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1

0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1

1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1

0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0

1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1

0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0

1
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0

1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1

0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1

1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0

1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0

0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0

1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1

1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1

0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0

1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0

0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1

0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1

0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1

0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0

1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0

1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0

0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0

1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1

1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0

0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1

0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1

0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1

0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0

0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0

0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0

1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1

0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1

0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1

1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0

1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1

0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1

0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0

1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1

0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0

0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0

0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0

1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0

1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0

0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1

1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1

1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1

0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0

1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0

0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1

0
0
1
1
1
0
1
0
0
0

0
0
1
1
1
0
0
1
0
1

0
1
1
1
0
0
1
0
0
1

0
0
0
0
1
1
0
0
0
0

1
0
0
1
0
0
0
0
0
1

1
1
1
1
1
1
0
1
1
0

61
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1

62
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0

63
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1

64
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1

65
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1

66
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0

0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0

0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0

1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0

1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0

0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0

0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0

0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1

0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1

1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0

0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1

0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0

0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0

0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1

1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1

0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0

0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0

0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0

1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1

0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1

1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0

1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1

0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0

0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1

0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1

1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1

1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1

1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0

1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0

1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1

1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0

1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1

1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0

1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0

0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1

0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1

1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0

1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0

1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1

1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1

0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0

1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1

0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1

1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1

1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0

1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1

0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0

0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0

0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1

0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0

1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0

1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1

1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1

0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1

1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0

0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1

1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0

1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1

1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0

1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1

1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0

0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0

1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0

0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1

0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0

1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0

1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1

1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0

0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1

0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1

0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1

1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1

1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1

0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0

1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1

1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0

0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1

1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1

1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1

0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1

1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1

0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0

1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0

1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0

1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0

1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1

0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0

0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0

1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1

0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0

1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0

1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0

0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0

0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1

0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0

1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0

0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1

0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1

0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0

1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1

0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0

1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1

0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1

1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1

1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0

1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1

1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1

1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0

0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1

0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0

0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1

1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1

0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1

0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0

0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0

1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1

0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0

1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0

1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0

1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1

0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1

1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1

1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1

1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0

1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1

1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0

1
0
1
1
0
1
1
0
1
1

1
0
1
1
1
0
1
0
1
0

1
0
0
1
1
1
0
0
0
0

0
0
0
1
1
0
0
1
0
1

0
0
1
0
1
0
1
1
0
0

0
1
0
0
0
1
1
1
0
0

67
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1

68
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0

69
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0

70
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0

71
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0

72
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1

1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0

0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0

0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1

0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1

1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1

1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0

1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0

1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0

0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0

1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1

1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1

0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1

1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0

1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1

0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0

0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0

1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0

1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0

1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1

0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1

1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0

0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0

1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1

0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1

0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0

1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0

1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1

1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0

0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1

0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0

0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1

0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0

0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0

1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1

1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1

0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1

0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1

0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0

0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1

0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1

0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0

1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1

1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0

0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1

1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0

0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1

1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1

0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1

1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0

0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1

1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0

0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0

1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1

0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0

0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1

1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1

1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1

0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1

0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1

0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1

1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0

0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0

0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1

1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0

0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0

1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0

1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1

0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0

1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1

1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0

0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0

1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1

0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0

1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1

0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0

1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0

1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0

1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1

1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1

1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0

1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1

0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1

0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1

0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1

1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0

1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0

1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0

1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0

1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0

1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0

0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1

0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1

1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0

0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0

1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0

0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1

1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0

1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1

0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1

1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0

0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0

1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1

1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1

1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0

0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0

0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0

0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1

1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0

0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0

1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0

0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0

1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0

1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0

1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0

0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0

1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0

0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0

0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0

1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1

1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1

0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1

0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0

1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1

1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1

0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1

1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1

0
0
1
1
1
1
1
0
0
0

1
1
0
0
1
1
1
1
1
0

0
1
1
0
1
0
0
0
1
1

0
1
1
0
0
0
0
0
1
1

1
1
1
0
1
1
1
0
1
0

1
1
1
1
0
1
1
1
0
1

73
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0

74
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1

75
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0

76
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1

77
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0

78
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0

0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0

1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1

0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1

0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1

1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1

1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1

0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0

0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1

0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1

1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1

0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0

0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1

1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1

1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1

0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0

1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1

1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1

0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0

0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1

1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0

0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0

0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0

1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0

0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0

0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0

0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1

1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0

1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1

0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0

1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1

1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0

1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1

0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1

0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0

0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1

1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1

0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0

1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0

1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0

0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0

0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1

0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0

0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1

1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0

1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1

1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1

1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0

0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1

0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0

1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1

1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0

1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0

0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0

1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0

0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0

0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1

0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1

1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0

0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1

1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1

1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1

1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1

1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0

0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0

0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0

1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1

0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1

0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0

1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1

0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1

0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1

0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0

1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0

1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0

1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1

1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1

1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1

1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1

0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1

0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0

1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0

0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0

1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1

1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0

0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0

0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1

1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1

0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1

0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1

0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1

0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1

1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1

1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0

0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0

0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1

0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1

0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0

1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1

0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0

1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0

1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1

0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1

1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1

1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0

0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0

0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0

0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1

1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1

1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0

0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0

0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0

1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0

0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0

0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1

0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0

1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0

1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0

0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0

0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0

0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0

1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1

1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0

0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1

1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1

1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0

0
0
1
1
0
1
0
1
1
0

0
0
1
1
1
1
0
0
1
0

1
0
0
0
0
0
0
1
0
1

0
1
0
0
1
0
1
0
0
1

1
1
0
0
0
1
1
0
1
0

0
0
1
0
0
1
1
0
0
1

79
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1

80
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1

81
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1

82
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0

83
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1

84
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1

0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0

1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1

0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0

0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1

1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1

1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1

0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0

0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1

1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1

0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0

1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0

0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1

1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0

0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0

1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0

0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1

0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1

0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0

1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0

1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0

0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0

1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1

0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0

0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0

1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1

1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1

1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0

0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1

1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0

1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1

1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1

1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0

1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0

0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0

1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0

1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1

0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1

1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1

0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0

0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1

1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0

1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0

1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0

0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0

0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1

1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1

0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0

1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1

1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0

1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0

0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0

1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1

0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1

0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1

1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0

1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1

0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1

0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1

1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0

1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1

1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1

1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0

1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1

0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1

0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1

1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0

1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1

1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1

1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1

0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1

1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0

0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0

0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1

0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0

0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1

0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0

1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0

1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0

1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1

1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1

1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1

1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0

0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1

1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0

1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1

0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0

0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0

1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1

1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1

1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1

1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1

1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0

0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1

0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1

1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0

0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0

1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1

0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0

0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0

0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1

0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0

1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1

1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0

0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0

0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0

1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1

0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1

1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1

0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0

1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1

1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0

1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0

0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0

0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1

1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1

1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1

1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1

0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0

0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1

1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1

1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1

1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0

1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1

1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1

1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0

0
1
1
1
0
0
0
0
0
1

0
1
0
0
1
0
0
1
0
0

0
1
1
0
0
1
1
1
0
1

1
0
0
0
1
0
1
1
1
1

0
1
0
0
1
1
0
1
1
1

1
0
0
0
0
1
1
0
0
1

85
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0

86
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1

87
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1

88
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1

89
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1

90
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0

1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0

1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1

1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0

0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1

0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1

0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0

1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1

1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0

0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1

1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1

1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0

0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1

1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0

1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0

1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1

1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1

0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0

1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0

0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0

1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0

0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1

0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0

0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1

0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1

0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1

1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0

0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1

0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0

0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0

1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0

1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1

1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0

1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1

1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1

1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0

0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1

0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0

1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1

1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1

1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0

0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1

0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0

0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0

0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1

1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1

0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1

1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0

0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1

1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1

0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1

1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0

1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1

0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1

1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1

0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1

0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0

1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
1

0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1

0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1

0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1

1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1

1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1

1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0

0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0

0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0

0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1

0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1

0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1

0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0

0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0

1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1

0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0

0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0

1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1

0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1

1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1

1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1

1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1

0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1

1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0

0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0

1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1

0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1

0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0

0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1

0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0

0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0

0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1

1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1

1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1

1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0

0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0

1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0

1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1

0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0

1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1

0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1

1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0

0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0

0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1

1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1

1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1

0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1

0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1

1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0

0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1

0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0

0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1

1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1

0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1

0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1

0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0

0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0

1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0

0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0

1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1

1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1

0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1

1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0

1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1

1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0

0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1

0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0

0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0

0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1

0
1
1
0
1
0
1
1
1
1

0
0
0
1
1
1
0
0
0
1

1
1
0
0
1
1
1
0
0
1

1
0
1
1
0
0
1
1
0
0

0
0
1
1
0
1
1
1
0
1

1
0
1
0
0
1
0
1
0
0

91
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0

92
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0

93
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0

94
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0

95
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1

96
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0

1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1

0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0

0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0

0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1

1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0

0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0

1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1

1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1

1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1

0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0

1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0

1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1

0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0

0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1

1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1

1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0

0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1

1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0

1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1

1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0

0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0

0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1

0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0

1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1

0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0

1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1

1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1

1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1

1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1

0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0

0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0

1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1

1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0

0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0

0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1

1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0

1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0

1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0

0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0

1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1

0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1

0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1

0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1

1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0

1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1

0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1

1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1

1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0

1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0

1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1

1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0

1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0

1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0

1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1

1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1

0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0

0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0

0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0

1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1

1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1

1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0

1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0

1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0

1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0

1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1

1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0

1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1

1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1

1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1

0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1

1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0

1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1

1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0

1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0

1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1

1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1

0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1

0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0

0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1

0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0

0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1

0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0

0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0

1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0

1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1

1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1

1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0

1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0

1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1

0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1

0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0

0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1

0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0

0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0

1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0

1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1

1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0

1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0

0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0

1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1

0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1

0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0

0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1

0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1

0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1

1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0

0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0

0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1

0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1

1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0

0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1

0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0

1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0

0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0

1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0

1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0

1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1

0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1

1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1

1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1

0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0

1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0

0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1

0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0

0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1

0
1
0
1
0
0
0
1
1
0

1
0
0
0
0
1
1
0
1
1

0
1
1
0
0
0
0
0
1
0

0
1
1
0
1
1
1
0
0
1

1
0
0
1
1
1
0
0
1
0

0
0
1
0
1
1
0
0
0
1

97
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1

98
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0

99
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0

100
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1

101
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1

102
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1

0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1

1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0

1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1

1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0

1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1

1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0

1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1

1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1

1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0

1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1

1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1

0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0

1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0

1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1

1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1

0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0

0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0

1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1

1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0

0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0

0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1

0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0

1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0

1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0

0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0

0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1

0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1

0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0

1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0

1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1

0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0

1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1

0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0

1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0

1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1

0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1

1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1

1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1

0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0

1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0

0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1

0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0

1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0

0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0

0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0

0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1

1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0

1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1

0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0

0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1

0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0

0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1

0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1

0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1

1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1

0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0

1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1

1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1

1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1

0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1

0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0

0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1

0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1

0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0

1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1

1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0

1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0

1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0

0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1

1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1

0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0

0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1

0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1

1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1

0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0

1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1

0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0

1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1

1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1

0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1

1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1

1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1

0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1

0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0

1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0

1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0

1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0

1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1

1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1

0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0

0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0

1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1

0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0

1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0

0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1

0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1

1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0

0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0

0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0

1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1

0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1

1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0

0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1

0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1

1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1

1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0

1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0

1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0

0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0

1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0

0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1

0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1

1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1

1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1

0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1

0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1

1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1

1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1

0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0

1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0

1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1

1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0

1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1

1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0

0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1

0
0
1
1
1
1
1
1
0
1

1
0
0
1
1
0
1
1
0
0

1
1
1
0
1
1
0
0
1
0

1
1
1
0
0
0
1
0
1
0

1
1
0
0
0
1
0
0
0
1

1
0
1
0
0
0
1
1
0
1

103
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1

104
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1

105
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1

106
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0

107
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0

108
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0

0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0

0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1

0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1

0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1

1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1

0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0

1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1

0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0

1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1

1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1

0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0

0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1

1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1

0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1

0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1

0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1

1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0

1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0

1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0

1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1

0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0

1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0

1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0

1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1

0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0

0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0

1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1

1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1

1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0

1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0

1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1

1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0

1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1

0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1

1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1

1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0

1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0

1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0

1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1

1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0

0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1

0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1

0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0

1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0

1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1

0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0

1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0

0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0

0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1

1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1

1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1

0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0

0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1

0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0

1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0

0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0

1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0

0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0

1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0

0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1

1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0

0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0

1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0

0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0

1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0

1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0

0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1

1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0

0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1

0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0

1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0

1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0

0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1

0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0

0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0

0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1

1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1

1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1

1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0

0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1

0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1

0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1

0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1

0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0

1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0

1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1

0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1

0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1

1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1

0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1

1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0

0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1

0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1

1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1

0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1

0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1

0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1

1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1

1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1

1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0

0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1

1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0

1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1

0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0

0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1

0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1

0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1

0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1

0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0

0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1

0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0

0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0

0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0

1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0

1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0

1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0

0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0

1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0

1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0

0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1

0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0

0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0

0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0

1
1
1
1
1
0
1
0
0
1

0
1
1
1
1
1
1
1
1
1

1
1
0
0
0
1
1
1
1
0

1
0
1
1
1
0
0
1
1
0

1
0
1
0
1
1
0
1
0
1

1
0
0
0
0
1
0
0
0
0

109
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0

110
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1

111
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1

112
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0

113
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0

114
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0

1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0

1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0

1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1

1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0

0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1

1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1

1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0

1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0

1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0

0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0

1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0

0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1

0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1

1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0

1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0

0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1

0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1

0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1

1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1

0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1

1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0

0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0

0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0

1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0

0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1

0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0

1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0

1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0

1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0

0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1

1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1

1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0

0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1

1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1

1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0

1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0

0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1

0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0

1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1

0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0

1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1

1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1

0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0

0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0

1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0

1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1

0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0

1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0

1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1

0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1

0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1

0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1

1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0

1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1

0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0

0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0

0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1

1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1

0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0

1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1

1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1

1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0

1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1

1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1

0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1

1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1

0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0

1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1

0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1

0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0

0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0

1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1

1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0

1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0

1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0

1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0

1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0

0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1

0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0

0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1

1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0

1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0

0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0

0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1

1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0

1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0

1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0

0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0

0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0

0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1

0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0

1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0

0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0

0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0

0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0

1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1

0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0

0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0

0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0

1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1

0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1

1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1

0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1

0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1

1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1

0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1

1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1

0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0

0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1

0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0

1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0

0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1

1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0

0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0

1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1

0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0

0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0

1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0

1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0

1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0

0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1

1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1

0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1

0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0

0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0

0
1
0
1
0
1
1
0
1
0

1
1
1
1
0
0
0
0
0
0

1
1
0
0
1
0
0
0
1
1

0
1
0
1
0
0
1
1
1
1

0
1
1
0
0
0
0
1
1
0

0
0
1
1
1
0
1
0
1
1

115
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1

116
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0

117
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0

118
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1

119
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1

120
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1

1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1

0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1

0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1

1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0

1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1

1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0

1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1

1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0

0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0

0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1

1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1

0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0

0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1

1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0

1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1

0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1

0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1

0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0

0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1

0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1

0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0

1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1

0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1

1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0

0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0

1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1

1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0

1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0

1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1

1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0

0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0

1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0

1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1

0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1

1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0

0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1

0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0

1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0

0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0

0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0

1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1

0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1

1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1

1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1

1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1

0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0

0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0

1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0

0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0

0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0

1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1

0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0

1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1

1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0

0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1

0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1

0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0

0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0

0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1

0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0

1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0

0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1

0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1

1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1

1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1

1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0

1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0

1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1

0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0

0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1

1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0

1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1

0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1

0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1

0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0

0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1

0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1

1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0

1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1

1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1

0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0

1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1

1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1

0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1

1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0

1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1

1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1

0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0

1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1

0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0

0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1

1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0

0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1

0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0

0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0

1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0

0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0

1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0

0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0

0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0

0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1

1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0

0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1

1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0

0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1

0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0

1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0

0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0

0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1

0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0

1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0

0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0

1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1

0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0

0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1

0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1

0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0

0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0

1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0

0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0

0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1

1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0

0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1

1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1

0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0

0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1

1
0
0
0
0
0
0
1
0
1

1
1
0
0
1
1
1
0
0
1

1
0
1
0
0
0
0
0
1
1

1
0
1
0
1
1
0
1
0
0

0
1
0
0
1
1
1
1
1
0

0
1
1
0
1
1
0
1
1
1

121
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1

122
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0

123
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0

124
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1

125
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1

126
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0

0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1

1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0

1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1

0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1

1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0

1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1

0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0

1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0

0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0

1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0

1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1

0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0

1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0

1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0

1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1

0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0

1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1

0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1

1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0

0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1

0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1

0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1

1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1

1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1

0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1

0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0

1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0

1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0

1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1

0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1

1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0

1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1

1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1

0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1

0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0

0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0

1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0

1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1

1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0

0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1

0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0

1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1

0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0

1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1

0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1

0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0

0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0

1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1

1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0

1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1

1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0

1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0

1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0

0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1

1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1

0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1

1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0

0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0

0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0

1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1

0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0

1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1

1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0

1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1

1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1

0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1

0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1

0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0

1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0

1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0

0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1

0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1

0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0

1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1

1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1

1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0

0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1

0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0

0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0

0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0

0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1

1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1

0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0

0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0

1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1

1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1

0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1

1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1

1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1

1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0

1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1

1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0

1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0

0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0

0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1

1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1

1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0

1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1

0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0

1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1

0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0

0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0

0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0

1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0

0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0

1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1

1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0

0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1

0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0

1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1

1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1

0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1

1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1

1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0

0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1

0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0

1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1

0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1

0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0

0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0

1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1

0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0

1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1

1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1

1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0

1
1
0
0
0
0
0
1
1
1

1
1
1
0
0
0
1
0
0
0

1
0
1
0
1
1
1
0
0
1

0
1
1
0
1
1
0
1
1
0

1
0
1
1
0
1
1
0
1
1

0
1
1
1
1
1
0
0
1
0

127
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0

128
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0

129
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1

130
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1

131
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0

132
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1

1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0

1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1

1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0

1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1

1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0

1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1

0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1

0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1

1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0

1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1

0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1

0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0

0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0

1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0

1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1

1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0

1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0

1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0

1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1

1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0

0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0

1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1

0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1

0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1

1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1

0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0

0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1

1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0

0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1

0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0

0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1

0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0

0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1

1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0

0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0

1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0

1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1

1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0

1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0

1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0

0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0

0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1

0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0

1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1

1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1

0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0

0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1

1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0

1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1

0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1

1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0

1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0

0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1

0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0

1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1

0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1

0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0

0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0

1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1

1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0

0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1

1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0

0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0

0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1

1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1

0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1

1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0

0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1

0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0

1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0

0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1

1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1

1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1

1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1

1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1

1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0

1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1

1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1

1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1

1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0

0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0

0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1

1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1

1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0

0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1

0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1

1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1

0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0

0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1

1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1

1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0

1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1

1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0

0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0

0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1

1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1

0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0

1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0

1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1

0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0

0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1

0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1

1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1

1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0

1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0

1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0

0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0

1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1

0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0

1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0

1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0

1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0

0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0

0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1

0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0

1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1

1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0

0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0

1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1

1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0

0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1

1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0

0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1

0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0

1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0

0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0

1
0
1
1
1
1
1
1
1
0

0
1
1
1
0
0
1
0
1
1

0
0
1
1
1
1
1
0
1
1

0
0
0
1
1
0
1
0
1
0

0
0
1
1
0
1
1
0
1
1

0
1
0
1
1
0
0
1
1
0

133
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0

134
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0

135
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1

136
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1

137
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0

138
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0

1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0

0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0

1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0

1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1

1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0

1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0

1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1

0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0

0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0

1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0

1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0

1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1

1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1

0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0

0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0

0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0

0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0

0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0

0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1

0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1

1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0

0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0

1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1

0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1

1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1

0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0

1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1

0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0

0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1

0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0

1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1

0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0

1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1

0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1

0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1

1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1

1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1

1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1

1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1

1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0

1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0

0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1

1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1

0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0

0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0

0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0

1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0

1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1

0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0

1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0

1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0

1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0

0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1

1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0

1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1

0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0

0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0

0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1

0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1

0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0

1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1

0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1

1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0

0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0

0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1

1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1

1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0

1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1

1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1

0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1

0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0

1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0

0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0

1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1

0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1

1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0

1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1

0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0

0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0

0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1

1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1

0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1

1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0

0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1

1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0

1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0

1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1

1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1

0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1

0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1

0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0

0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0

1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0

0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0

0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1

1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1

0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1

0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1

1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0

1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1

1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0

0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0

1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1

0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1

0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1

0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0

0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1

0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1

1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1

0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0

1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1

0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1

0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1

0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1

1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1

1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1

0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0

0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1

1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0

0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0

1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1

1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1

1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1

1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1

1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0

0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0

1
1
0
1
1
0
0
0
0
1

1
1
1
0
1
0
0
1
0
1

1
1
0
0
1
1
1
1
0
1

0
1
1
0
1
0
0
0
1
1

1
1
0
1
1
0
0
0
1
0

1
1
1
1
1
1
0
0
1
1

139
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1

140
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1

141
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1

142
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1

143
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0

144
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1

1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1

0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0

1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1

1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1

0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1

0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1

0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0

1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1

0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1

1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1

1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0

0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1

1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1

1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1

0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1

1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0

0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1

0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1

0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1

1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1

1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1

0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1

1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1

1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0

0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0

0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0

0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1

0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0

0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1

0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1

1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0

1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0

1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1

1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1

1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0

0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0

0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0

0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0

0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0

1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1

0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0

1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1

1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1

0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1

0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1

1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0

1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1

1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1

1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0

0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0

0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1

0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1

1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1

0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0

1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1

0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0

1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0

1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0

0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1

0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0

0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1

1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0

1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1

1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1

0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0

1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1

1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0

0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1

0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1

0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1

0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1

0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1

1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1

1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1

0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1

0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1

0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0

0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0

0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0

0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1

1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1

0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1

1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1

1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0

1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0

0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0

0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1

1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0

1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1

1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1

0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1

0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1

0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0

0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0

0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1

1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0

0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1

0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1

1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0

1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1

1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1

1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1

1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0

1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1

0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1

1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1

1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1

1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1

1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1

1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1

0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1

0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0

1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1

1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0

1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0

1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0

0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0

1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0

1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1

1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1

0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1

1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0

1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0

1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1

0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1

1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1

1
1
1
0
1
0
1
1
0
1

0
1
0
0
1
0
0
1
0
1

1
1
1
1
0
0
1
1
1
0

0
0
1
1
1
1
1
0
0
0

1
0
0
1
0
0
0
0
1
1

0
1
1
1
1
1
0
0
0
0

145
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1

146
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1

147
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1

148
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0

149
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1

150
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0

0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0

0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0

1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1

0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1

1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1

0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1

1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0

0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1

1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0

1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1

0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1

0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0

1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1

0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1

0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0

1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0

1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0

1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0

1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1

1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0

0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0

1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0

0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1

0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1

1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0

1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0

0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0

0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1

0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1

0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1

0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1

1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1

0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1

1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1

0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1

0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1

0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0

1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0

0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1

1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1

0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1

1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0

0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0

0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1

0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1

1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0

0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1

0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0

0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0

1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1

0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1

1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0

1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1

0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1

1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1

1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1

1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1

1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0

0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1

1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0

1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1

0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0

1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1

1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1

0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0

1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1

1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1

0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1

1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1

0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0

1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0

1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1

0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0

0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1

0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1

0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0

1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1

0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1

0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0

0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0

1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1

1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0

0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0

0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1

0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1

1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1

1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1

1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1

1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0

0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0

1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1

0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0

0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0

1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0

0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1

1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1

1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0

1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0

1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0

0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1

0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1

1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1

0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1

0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1

1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1

0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0

1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1

0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0

1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1

0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0

0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0

0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0

0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1

1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0

0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1

0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0

1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1

0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1

0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0

1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0

1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0

1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1

0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0

1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0

0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0

0
0
0
1
0
0
1
0
0
0

1
1
0
1
1
0
0
1
0
1

1
1
0
0
1
1
1
0
1
1

0
1
0
0
1
0
0
0
0
1

1
0
0
1
0
0
0
1
0
1

0
0
0
1
0
0
0
1
1
0

151
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0

152
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1

153
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1

154
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0

155
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0

156
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0

1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1

1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1

0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0

1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0

1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1

0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1

1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0

0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0

0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1

1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1

0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1

1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1

0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1

0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1

1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0

0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0

0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1

1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0

1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0

0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1

1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1

1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0

1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1

1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1

1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0

1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1

0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1

0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0

0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1

1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1

1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0

0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0

0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0

1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0

0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0

0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0

1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1

0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1

1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1

0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1

0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0

0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1

0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0

1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1

0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1

1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1

1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0

1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0

0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0

1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1

0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1

1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1

1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0

0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1

0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1

0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1

0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0

1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1

1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0

1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0

0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1

0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0

0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1

1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1

0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1

1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0

0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0

0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1

1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1

1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0

1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1

0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0

1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1

1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0

0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0

0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1

0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1

0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0

1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0

0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0

1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1

0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0

0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0

0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0

0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1

0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1

1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1

0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1

1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1

1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0

1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0

0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1

1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0

0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0

0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0

1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1

0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1

1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0

0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1

0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1

0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1

0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1

1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0

0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1

0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1

0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1

1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0

1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0

1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0

1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0

0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0

0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0

1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0

0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1

0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1

0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0

1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1

0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1

1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1

1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0

1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1

1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0

0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0

0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0

0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0

1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0

0
0
1
0
1
0
0
1
0
1

1
0
0
1
1
1
1
0
1
1

1
1
1
1
0
1
0
0
0
1

1
1
1
1
0
1
1
1
1
0

1
1
0
0
1
0
0
1
0
0

1
0
0
0
0
0
0
1
0
1

157
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1

158
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0

159
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0

160
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1

161
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0

162
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0

1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1

0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0

1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0

1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1

0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1

0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1

0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0

1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1

1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0

1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0

0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1

0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1

0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0

1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0

1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1

1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0

1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0

1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0

1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1

0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0

0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0

0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1

1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0

1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1

1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0

0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1

0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0

0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1

1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1

0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0

0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1

0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1

0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1

0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1

0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0

0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0

1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0

1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1

0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1

0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0

0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0

0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1

1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0

0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1

0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0

1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0

1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1

1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0

1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1

1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0

1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0

1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0

0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0

0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1

0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1

0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1

0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0

1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1

1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1

0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1

0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1

0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1

1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1

1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0

0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1

0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1

0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1

1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0

1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1

0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0

0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0

0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0

1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0

1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0

1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1

0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0

0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1

1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0

1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1

0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0

0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1

0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0

1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1

0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0

1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1

0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1

0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1

0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0

1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0

0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0

0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0

1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1

1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0

0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1

1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0

1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1

0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0

0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1

0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1

0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1

0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1

0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1

1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0

0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1

0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0

1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1

0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0

1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1

0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0

0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0

1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0

1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1

0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0

0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0

0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0

1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0

1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1

0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1

0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0

0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0

0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0

0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1

1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1

1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0

1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1

1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1

0
1
0
0
0
0
0
0
1
0

0
0
0
0
0
1
1
0
0
0

0
0
1
0
0
1
0
0
1
1

0
0
1
1
0
0
1
1
1
0

0
1
1
0
1
1
0
0
0
1

0
1
0
0
0
1
0
1
1
1

163
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0

164
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0

165
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0

166
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0

167
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0

168
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0

0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1

1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1

0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0

0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0

0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1

1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0

0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1

1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1

0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1

1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0

1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0

1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1

1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1

0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1

1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0

1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0

0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1

1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0

1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1

0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0

1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0

1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0

0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0

1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0

1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0

1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0

1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1

0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0

0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0

0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1

1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0

0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0

1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0

1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1

0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1

1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1

0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0

0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1

0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1

0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1

0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1

1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1

0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1

1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0

0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0

0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1

0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1

0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0

0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1

1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1

0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1

1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0

1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0

0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1

0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0

0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0

0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0

0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1

1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0

0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0

0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1

1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1

1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0

0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1

0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1

1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0

1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1

1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1

0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1

1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1

1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0

1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1

0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1

0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0

0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0

0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1

0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0

0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0

1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1

1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0

0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1

0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0

0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1

1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1

0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0

0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1

0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1

0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0

1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0

1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1

1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1

0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1

1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1

0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0

1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0

0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1

1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1

0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1

0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1

0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0

0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1

1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0

0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0

1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1

1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0

1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1

0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0

1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1

1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0

0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0

0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1

1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0

0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1

1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0

0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0

1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0

1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0

0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1

1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0

1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0

0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0

0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1

1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1

0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0

1
1
1
1
1
0
1
0
0
1

1
1
1
1
0
0
1
1
0
0

1
1
1
0
1
1
0
0
1
0

0
1
0
0
1
1
0
0
1
0

0
0
0
0
0
1
1
1
0
0

0
0
1
1
0
0
1
0
1
1

169
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1

170
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0

171
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1

172
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1

173
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1

174
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0

1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1

0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0

1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0

1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1

1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1

0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0

1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1

1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1

0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0

1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0

1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0

0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1

0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1

1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1

1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1

0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0

0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0

1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1

1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0

0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0

1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1

0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1

1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0

0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1

0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0

1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0

0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0

0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0

1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0

0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1

1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0

0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0

1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1

1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0

0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1

1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0

1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1

1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1

0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1

0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0

0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1

0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1

1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1

1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0

0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1

1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1

1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0

1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0

0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1

0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0

0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0

1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1

1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1

0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0

1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1

1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0

0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0

1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1

1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0

1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1

0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0

0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0

1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1

0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0

1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0

0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1

0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1

0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1

0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1

1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1

1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1

0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0

1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0

1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0

0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0

1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1

1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0

0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0

0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0

1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0

0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1

1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0

1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1

1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0

1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1

1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1

1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0

0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0

0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0

0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0

1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0

1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1

1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0

1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0

1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0

0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0

1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1

1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0

0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1

0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0

1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0

0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1

0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0

0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0

0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1

0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0

0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0

0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1

1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1

1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0

0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1

1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1

0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1

1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1

0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1

1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1

0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0

0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1

0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0

0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0

0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0

1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1

1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0

1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1

0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0

1
0
1
0
1
1
0
1
1
1

1
1
0
1
1
0
1
1
1
0

1
0
0
0
1
1
0
1
1
1

0
1
0
0
0
0
1
0
0
0

1
0
0
0
0
0
0
1
1
1

1
1
0
0
1
0
1
0
0
0

175
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0

176
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1

177
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1

178
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0

179
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1

180
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1

0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1

1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1

0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0

0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0

1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0

0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1

1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0

0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1

1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1

0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1

1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0

1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1

1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0

1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0

0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1

0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0

0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1

0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0

0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0

1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1

1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0

0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1

0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0

1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0

1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0

1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0

1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1

1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1

1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1

0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1

0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1

1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1

0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1

0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1

1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1

1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1

0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0

1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1

1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1

1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1

1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1

1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1

1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1

0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0

0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1

1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1

1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0

1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1

1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0

1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1

0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1

0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0

0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1

0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1

0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0

0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1

0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0

1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0

1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0

1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1

0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0

1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1

0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1

1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0

1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0

1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0

1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0

1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1

0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0

0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1

0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1

0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0

1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1

0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0

1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0

0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0

1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0

0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1

1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0

1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1

1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0

1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1

1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1

0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0

1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0

0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1

1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1

1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1

0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0

1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0

1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0

0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1

0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1

1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0

1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0

1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1

1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0

0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1

0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1

0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1

0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0

0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0

0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0

1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0

0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1

0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0

0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0

0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1

1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0

0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1

0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1

0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0

1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0

1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0

1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1

1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1

0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0

1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0

0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1

0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0

0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1

0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1

1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1

1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0

1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1

0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0

0
1
0
1
0
0
0
1
1
0

0
1
0
1
0
1
0
0
0
0

1
0
1
0
1
1
0
0
1
0

0
1
0
1
0
1
0
0
0
0

0
0
0
0
1
0
0
1
1
1

0
0
1
0
0
0
0
1
1
1

181
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0

182
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1

183
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1

184
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0

185
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1

186
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0

1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0

1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0

1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0

1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1

1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0

0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1

1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0

1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1

0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1

0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0

0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0

1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0

1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0

1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1

0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1

1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0

1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1

0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1

0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1

1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0

1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0

0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0

0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0

1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0

0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1

0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1

1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1

1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1

1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1

1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0

0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1

1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0

0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1

1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0

1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1

0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0

1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1

0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0

1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0

1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0

0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1

1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1

0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0

1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1

0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0

1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1

1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0

1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1

0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0

1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0

0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1

0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1

0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1

0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0

0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0

1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1

0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0

1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0

0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1

0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0

1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0

1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0

1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1

0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0

0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0

0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0

1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0

1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1

0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1

0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1

1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1

0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0

1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1

0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0

0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1

0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1

1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1

0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0

1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1

0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0

0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1

1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1

1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1

0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1

1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1

0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1

1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0

0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0

0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1

1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1

0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1

0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1

1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0

1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0

1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1

0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1

1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0

1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0

0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0

0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1

0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1

0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1

1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0

0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0

0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1

1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0

1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1

1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1

0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0

1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0

0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0

0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1

1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1

0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0

0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1

1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1

0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1

0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0

1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0

0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1

0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1

1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1

0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1

1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0

0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1

1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1

0
0
1
0
1
0
1
1
1
1

0
1
1
0
1
0
1
0
1
0

0
1
1
0
0
1
0
0
1
0

0
0
0
0
0
1
0
1
0
1

1
1
1
1
1
1
0
1
0
0

1
1
0
1
0
0
0
1
1
1

187
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1

188
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1

189
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0

190
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1

191
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0

192
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1

0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0

0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1

1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0

1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0

0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0

0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1

1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0

0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0

0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1

1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1

1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0

0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0

0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1

0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1

1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1

1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0

1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1

1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0

1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1

1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0

0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0

1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1

1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0

0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1

1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1

0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1

1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0

0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0

1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0

0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1

1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0

0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0

1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1

1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1

1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1

1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0

0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0

1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0

1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1

1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1

1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1

0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0

0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0

0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1

0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1

0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0

0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0

0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0

1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0

1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1

0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0

0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0

1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1

1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1

0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0

0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1

0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0

0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1

1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1

1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1

0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0

1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0

0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0

0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0

0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0

1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0

0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0

0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1

0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0

0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0

0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0

1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0

1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0

1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0

0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1

1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1

0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1

0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1

1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0

0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1

0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0

0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1

0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1

0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1

0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0

1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0

1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1

1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1

1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0

0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0

1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0

1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0

1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0

0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1

0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0

1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1

1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1

0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0

1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1

1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1

1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1

0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1

1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1

1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0

1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1

1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0

1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0

1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0

0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0

0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0

1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1

1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1

0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1

1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1

1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0

0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1

0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1

0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1

0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1

0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0

1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1

1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1

1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1

0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1

1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0

1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0

0
1
1
1
1
1
0
1
0
1

0
0
0
1
1
1
1
1
1
1

0
0
0
0
1
1
1
0
0
0

0
1
0
1
1
1
1
1
1
1

1
1
0
1
1
1
1
1
1
0

1
1
1
0
1
0
0
0
1
0

193
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1

194
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1

195
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0

196
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1

197
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1

198
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1

1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1

1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1

0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1

1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1

0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0

0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1

0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1

1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0

1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0

1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0

1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0

1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1

1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1

0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0

0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0

1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0

0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0

0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0

0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0

0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1

0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0

0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1

0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0

0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1

1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0

1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1

1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1

1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1

0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0

0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1

1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1

1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0

0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0

0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0

1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1

1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1

1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0

0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0

1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0

1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1

0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0

1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1

1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1

0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0

1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1

0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1

0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0

0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1

1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1

1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0

0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0

1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1

0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0

1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0

0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1

1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0

0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1

0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0

1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1

0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0

0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0

1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1

0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0

1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0

0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1

1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0

1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1

1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1

1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0

1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1

0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1

1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0

1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1

1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1

1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0

1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1

1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1

1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1

1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1

1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0

1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0

0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1

0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1

1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1

0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1

0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1

0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1

1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1

1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0

1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1

1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0

1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0

1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1

0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1

1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0

1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0

0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1

1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1

1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1

1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0

1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0

0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1

0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1

1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1

0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0

0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1

1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1

0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0

0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0

1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0

0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0

0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1

0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0

0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1

1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0

0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0

0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0

0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0

1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0

0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0

1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0

1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0

0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0

1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1

0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0

1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0

0
1
0
0
0
1
1
1
0
1

0
1
0
0
1
0
1
0
0
1

0
0
1
0
0
1
0
1
1
0

0
1
0
1
0
0
1
1
1
0

0
0
0
0
0
1
1
1
1
0

1
0
1
0
1
0
1
1
0
1

199
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0

200
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1

201
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0

202
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1

203
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1

204
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1

1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1

1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0

0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1

0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1

0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1

1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1

0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1

0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1

0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0

0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1

0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1

1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0

0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0

0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0

0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1

1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0

0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0

1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1

0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0

0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0

1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1

0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0

1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0

0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1

1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0

1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1

1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1

1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1

1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1

0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1

0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1

1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0

0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0

0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1

0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0

0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0

1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0

1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1

1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1

1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0

0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1

0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0

0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0

1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0

0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1

1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0

0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0

1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1

1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0

0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1

1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1

1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1

0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0

0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0

1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1

1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0

0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0

1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0

0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1

0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0

0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0

1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0

0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1

0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1

1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1

1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1

0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0

1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1

0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0

1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0

0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0

0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0

0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1

1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0

1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1

0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0

1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0

1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1

1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1

0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1

0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0

0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1

1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1

0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1

0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1

0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0

1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0

1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1

0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1

0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0

1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1

0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1

0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0

1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0

1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1

1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1

0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0

0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1

1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0

0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0

0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0

0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1

0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0

0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0

1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1

1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0

0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0

1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0

1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1

1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1

1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1

0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1

1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1

1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1

1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0

0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0

1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0

1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1

0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1

1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0

0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0

0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1

1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0

0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1

1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1

0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1

0
1
1
0
0
0
1
0
1
0

1
0
0
0
1
0
1
1
0
1

0
1
0
0
1
1
1
1
1
1

1
0
1
1
1
0
0
1
1
1

1
1
0
0
1
0
1
1
0
1

1
1
1
0
1
1
0
0
0
0

205
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1

206
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1

207
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0

208
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1

209
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0

210
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1

0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0

0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0

0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0

1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1

1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0

1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0

0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1

0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1

1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1

0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0

1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1

1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1

1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1

1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0

0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0

1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1

0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0

1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0

0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0

1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1

1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0

1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1

0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1

1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1

0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0

0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0

0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0

0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1

1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1

0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1

1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0

0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0

0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0

1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1

1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1

0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1

1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0

1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0

1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1

0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0

1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1

0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0

1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0

0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0

1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0

0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0

1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1

0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1

1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1

0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1

0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1

1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0

0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1

0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0

1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0

0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1

0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0

1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1

1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0

1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0

0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1

1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0

0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1

0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0

1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0

0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0

0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0

1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1

1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0

1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0

1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1

1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1

1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0

0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1

1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0

1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1

1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1

0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0

0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0

0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0

0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1

0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0

1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0

1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0

0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1

1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0

0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1

0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1

0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1

1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1

0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1

0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0

0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0

0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0

0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1

1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0

1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0

0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1

1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1

0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1

1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0

1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1

1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0

0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0

0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0

0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0

1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0

1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1

1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0

1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0

1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1

1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0

0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1

1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0

0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1

0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1

0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1

1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1

1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0

1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0

0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1

1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1

0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0

1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1

0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0

1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1

0
1
0
1
0
0
0
1
0
1

0
1
0
0
0
1
0
0
0
0

1
1
0
0
0
0
1
0
0
0

1
0
0
0
0
1
1
0
1
1

1
1
0
0
1
1
1
1
1
1

1
0
1
1
0
1
0
1
0
1

211
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0

212
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0

213
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1

214
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0

215
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1

216
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1

1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1

0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1

1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1

1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1

1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1

0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0

0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0

1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0

1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0

0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0

0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0

1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1

1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0

0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1

0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1

1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0

1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1

0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0

0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1

0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1

0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0

1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1

1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1

1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1

1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1

0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0

0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1

0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0

0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1

1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1

0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1

1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1

0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0

0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0

1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0

0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0

0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0

1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0

0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1

1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1

1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1

0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0

1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1

1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1

0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1

1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1

1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1

0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1

1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0

1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1

1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0

1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0

0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0

1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1

0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0

1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0

1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1

0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1

0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1

0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1

0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1

1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1

0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0

1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0

1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1

0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1

1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0

1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0

1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0

1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1

1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0

0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0

0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0

0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0

0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1

1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0

0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0

0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0

0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1

1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0

1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0

1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0

0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1

0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0

1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0

0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1

1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0

0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1

0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1

1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1

1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1

1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0

0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0

1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1

0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1

0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1

0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1

0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1

1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1

0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0

0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1

1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1

0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1

1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0

0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1

0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0

1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1

0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1

0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0

1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1

1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1

1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0

1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1

0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1

0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0

1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1

1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1

0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1

0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1

0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0

0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0

1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1

1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1

0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1

1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1

0
1
1
0
0
1
1
1
1
1

1
1
0
0
1
1
0
0
0
0

1
1
1
0
1
1
0
1
1
1

1
0
0
0
0
0
1
1
1
1

0
1
0
0
1
1
0
1
0
1

0
0
1
0
0
0
1
0
1
0

217
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0

218
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0

219
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1

220
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0

221
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0

222
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1

1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1

0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1

0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1

0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1

1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0

0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0

0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1

0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0

0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0

0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0

0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1

1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0

1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1

0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1

1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1

0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1

1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0

1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0

0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0

1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0

1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0

1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1

1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1

0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0

1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1

0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0

1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1

0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1

1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0

1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0

0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1

0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1

0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1

1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1

1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1

0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0

0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1

0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0

0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0

1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0

1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1

0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1

1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0

0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0

0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1

0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0

0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0

1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0

1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1

0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1

1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1

0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0

1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0

0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1

1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0

1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1

1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1

1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1

1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0

0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0

0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0

0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0

1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1

0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1

0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1

1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0

1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0

1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0

1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0

0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1

0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1

1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0

0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1

1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1

0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1

1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1

1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0

0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0

1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0

1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0

0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1

1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1

0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1

0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1

0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0

1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0

0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1

0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1

1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0

0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1

1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0

0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0

1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0

0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0

1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0

1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0

0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1

0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1

1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0

0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0

1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0

0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1

1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0

1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1

0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1

1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0

1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1

1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0

0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1

0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1

0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0

1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1

0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0

1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1

1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1

0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1

1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0

0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1

1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1

0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1

0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1

0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0

1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0

0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1

1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1

0
0
1
0
0
0
1
0
1
0

1
1
0
0
0
0
0
0
1
0

0
1
0
0
1
0
1
1
1
0

1
1
0
0
0
0
0
1
1
1

1
1
1
1
1
1
0
1
0
1

1
0
0
1
1
0
0
1
1
0

223
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1

224
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1

225
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1

226
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0

227
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1

228
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1

1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1

0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1

1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1

0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0

1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0

1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1

0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1

1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0

1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1

0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1

0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1

1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0

1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1

0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0

1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0

0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0

1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1

1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0

0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1

1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1

1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1

0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1

0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1

0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1

0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0

0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1

0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0

0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1

0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0

0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0

1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0

1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0

0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1

0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0

0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1

1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1

1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1

1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1

0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1

0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0

1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0

1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0

0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1

1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0

1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0

1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1

0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0

0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1

1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1

1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0

0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1

1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0

1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0

0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0

1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1

1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1

0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0

0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0

1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0

1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1

0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0

1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0

1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1

1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1

0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1

0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0

0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1

0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1

0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0

0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0

0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0

1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0

1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1

0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0

0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1

1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1

1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1

1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0

1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1

1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1

0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0

1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0

0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1

1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1

1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0

1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1

1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0

1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1

0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0

1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0

0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1

1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0

0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1

1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0

0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1

0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0

1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1

0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0

1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1

0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1

1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0

0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0

0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0

0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0

1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0

0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0

0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1

1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1

1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1

0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0

0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0

0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1

1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0

1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0

1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1

1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1

0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1

0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0

0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1

0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1

0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0

0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1

1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0

0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1

1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1

1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0

0
0
1
1
1
0
1
0
0
1

1
1
1
1
0
1
1
0
0
1

0
1
1
0
0
1
0
0
1
1

0
1
1
0
1
0
0
0
1
0

1
0
1
1
1
1
1
1
1
1

1
1
1
1
0
1
1
1
1
1

229
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0

230
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0

231
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0

232
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1

233
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1

234
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0

0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1

0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1

0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1

0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0

0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0

1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0

1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1

1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1

0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0

1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0

0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0

1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0

0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0

1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0

1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0

0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0

1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0

1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1

0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1

1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0

1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1

1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1

1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0

1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0

0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0

1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1

0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1

0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1

1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1

1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0

1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1

1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0

1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1

1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1

1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0

0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1

0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1

1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0

1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0

0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0

1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0

1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0

1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1

1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0

0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0

1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1

1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1

1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0

0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0

1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1

0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0

0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1

0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1

1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0

1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0

0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1

0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0

0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0

0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1

0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1

1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1

1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1

1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0

1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0

0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0

1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1

0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1

0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1

0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0

0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0

1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1

1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1

0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1

1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1

1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0

1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1

0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1

0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0

1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0

1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0

0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1

1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0

1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0

1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0

0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1

0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0

0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0

0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0

0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0

0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0

0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1

1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1

0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0

1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0

1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0

1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1

0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0

1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1

0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0

0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0

0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0

0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1

1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0

1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1

1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1

0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0

1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1

1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1

0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0

0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1

1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1

0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1

0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1

0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1

0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0

1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1

1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0

0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0

0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0

1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1

1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1

0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1

1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0

1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0

1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0

0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0

1
1
0
1
0
1
1
1
0
0

0
1
1
0
1
0
0
1
0
0

1
1
0
1
0
1
1
1
1
1

0
1
1
1
0
1
0
1
1
0

0
0
0
1
0
0
1
0
0
0

1
1
0
0
0
0
1
1
1
0

235
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0

236
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1

237
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1

238
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0

239
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0

240
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0

1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1

1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0

0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0

1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1

1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0

0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0

1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1

0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0

0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1

0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1

1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0

0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0

0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1

0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0

0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1

0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0

0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0

0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0

0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0

0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1

1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0

1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0

0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1

1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0

1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0

0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1

0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1

0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1

0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1

0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0

1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1

1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1

1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0

0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0

0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1

1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0

0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1

1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1

1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1

1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1

0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0

0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0

1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1

1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1

1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1

0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1

1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1

0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1

1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0

1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1

0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0

0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0

1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1

0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0

0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1

0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1

1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0

0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1

1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0

0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0

1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1

0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0

1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0

1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0

0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0

0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0

1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1

0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0

0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0

0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0

1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1

1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0

1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0

0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1

1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0

0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0

1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1

1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0

1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0

1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0

0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0

1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0

1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1

0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1

0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0

0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1

0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0

1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0

1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1

0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0

1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1

0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1

1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1

0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0

1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0

0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1

0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1

0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0

0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1

0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1

0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0

1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1

1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0

1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1

1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0

0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0

0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1

1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1

0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0

0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0

0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1

1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0

0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0

0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1

0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0

0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1

0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1

1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0

1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0

0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1

0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0

0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0

0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1

0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1

1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1

0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1

1
0
1
1
0
0
1
1
1
1

1
0
1
1
1
1
0
1
0
1

0
1
1
0
0
0
0
1
0
1

0
0
0
1
0
0
0
1
0
0

0
0
1
0
1
0
0
0
0
1

0
1
1
1
0
0
1
0
1
1

241
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1

242
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0

243
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0

244
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0

245
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1

246
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0

0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1

0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1

1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0

0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1

0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1

0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0

1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1

1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1

0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1

0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0

0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1

1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1

1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1

0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0

1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0

1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1

1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1

0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1

1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1

1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1

0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0

1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0

0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1

0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1

1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0

0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0

0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0

0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0

1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0

1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0

1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0

1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0

1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0

1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1

1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1

1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1

1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0

0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1

0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0

0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0

1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1

0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1

0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0

0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1

0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0

1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0

1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0

1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0

0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1

0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0

0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1

1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1

1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0

1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0

1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0

1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0

0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1

0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1

1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1

1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0

1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1

1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0

0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1

1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1

0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0

1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1

0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0

0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0

0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0

1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0

1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0

1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1

0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1

0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0

1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1

0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1

0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1

1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1

1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0

0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0

0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1

1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1

0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0

1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1

0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1

0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0

1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0

0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1

1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1

0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0

1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1

0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0

1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0

0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0

1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0

0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0

1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1

0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0

1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0

1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1

1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0

1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1

0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1

1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0

0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1

0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0

0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1

1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1

0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1

1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1

0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0

1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0

0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1

0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1

0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1

0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1

0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0

0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0

0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0

1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1

0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0

1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1

1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0

0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0

0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0

0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1

1
1
0
1
1
1
0
0
0
0

0
1
1
1
1
0
1
0
0
1

1
1
1
1
0
0
1
1
1
1

0
0
0
0
0
1
1
1
1
0

0
1
0
0
0
0
1
0
1
1

0
0
1
1
1
1
0
1
0
1

247
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0

248
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1

249
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1

250
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1

251
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1

252
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0

1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0

1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1

0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1

0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0

0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0

1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0

1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0

1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1

1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1

0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0

1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0

1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1

0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1

0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1

0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1

1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0

1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0

0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1

0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0

0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1

1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0

1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1

1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1

0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0

0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1

1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0

0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0

0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0

0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0

1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0

0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1

1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0

1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0

0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1

0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0

0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1

0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1

0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0

1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0

0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1

0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0

0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0

1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0

0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1

1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0

1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0

1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0

1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0

0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1

1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0

1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0

1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1

0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1

0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0

1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1

0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1

1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0

1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0

0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0

0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0

0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1

1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0

0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0

0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1

0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1

0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1

1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0

0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1

1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0

1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0

1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0

0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1

0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0

0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1

0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0

1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1

0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0

0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0

0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1

1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1

1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0

1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0

0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0

0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0

0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0

1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1

1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1

0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0

0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1

1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1

0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1

1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0

1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0

0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1

1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1

0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0

1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0

0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0

0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1

1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0

0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0

0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1

0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0

0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0

0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0

1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0

1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1

0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0

1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1

0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1

1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0

0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1

1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1

0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1

1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1

1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1

1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1

1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1

1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0

1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0

1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1

0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1

1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1

0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0

0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0

1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0

1
0
0
1
0
1
1
0
0
1

0
1
0
1
0
0
1
0
1
0

0
1
0
1
0
0
1
1
0
0

0
0
1
1
1
1
0
1
1
0

0
1
1
1
1
1
0
0
1
0

0
0
0
1
1
0
1
1
0
0

253
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0

254
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1

255
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0

256
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0

257
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1

258
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0

1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0

1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1

0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1

1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1

1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1

0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1

0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0

0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0

0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1

1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1

0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0

0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1

1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0

1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1

0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1

1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1

1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1

1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1

0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0

1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1

0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1

0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0

0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1

1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1

1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0

1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1

0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0

1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1

1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1

0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1

1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1

1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0

1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1

0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1

1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1

1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0

0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0

1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1

0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1

0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1

1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1

0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1

1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1

1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1

1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0

1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1

1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1

0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0

0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1

1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1

1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0

0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1

1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1

1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1

1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1

0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1

0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1

1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0

0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1

1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0

0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1

1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0

0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0

1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0

0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1

1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0

1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1

1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0

0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1

0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0

0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0

1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1

0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1

0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1

1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1

1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0

0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0

1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1

0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0

1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1

0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1

1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0

0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1

1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1

0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1

1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1

1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1

1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1

1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0

1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0

0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1

1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1

0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1

1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0

1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0

0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0

0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1

1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0

0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0

1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1

1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0

1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1

1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1

1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1

1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0

0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0

1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0

0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0

1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1

0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0

1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1

0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0

1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0

1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0

1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0

1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1

1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0

1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0

0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1

1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0

1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1

0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1

0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0

0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0

1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0

1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0

1
0
0
0
1
0
1
0
1
0

1
0
0
1
1
1
1
1
1
1

1
0
1
0
0
1
0
0
1
0

1
1
0
0
0
0
1
1
1
0

1
1
0
0
1
0
0
0
0
0

1
1
1
0
1
1
1
1
1
0

259
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1

260
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0

261
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1

262
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1

263
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0

264
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1

1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0

1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0

0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1

0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0

1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0

1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1

0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0

1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0

1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1

1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1

0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1

1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1

1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1

0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1

1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0

0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1

0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1

0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1

0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1

1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0

1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0

1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0

0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1

0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0

1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1

1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0

1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1

1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1

0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1

1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1

0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1

1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1

1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1

1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0

1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1

0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1

0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1

1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0

1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1

1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0

0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1

0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1

0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1

1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1

1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0

1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0

1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1

1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0

1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1

1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1

1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1

0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0

0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1

1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0

0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1

0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0

0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0

1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0

1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1

1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1

1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1

0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0

0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1

0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1

1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0

0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0

1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1

1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0

1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0

1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1

0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1

0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0

1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0

0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1

0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0

1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0

1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1

0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0

0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0

1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1

0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0

1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0

1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0

0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0

0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1

1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0

0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0

1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1

0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0

1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1

0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1

0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1

1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1

1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0

1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0

0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1

0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0

1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0

0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0

0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1

1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0

0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1

1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0

1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0

0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0

1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0

1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1

0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1

1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0

1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0

1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1

1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1

1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0

1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0

1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0

0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0

0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0

0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1

1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1

1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1

1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0

1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0

1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1

0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0

1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0

1
0
1
1
0
1
1
1
0
1

1
1
1
0
0
0
1
1
1
1

1
0
1
1
1
1
0
0
1
0

0
1
0
0
0
1
1
1
1
0

0
0
0
1
0
1
0
1
1
1

0
1
1
1
0
0
0
1
1
1

265
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1

266
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1

267
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0

268
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0

269
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0

270
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1

0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0

1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1

1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0

1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1

0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1

1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0

1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1

0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0

0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1

1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0

0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0

1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1

1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0

0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1

1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1

0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1

1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1

1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0

0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1

1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0

0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1

1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1

0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1

0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0

1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0

0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1

0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1

1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0

0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0

0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1

0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0

0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1

1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0

1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1

0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0

0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0

0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1

0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0

1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0

0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0

1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1

0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0

1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1

1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1

1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1

0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0

1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1

1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1

0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0

0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0

0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0

1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0

0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1

0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1

1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0

0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1

0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1

1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1

1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1

1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0

1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0

0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1

0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0

1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0

0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1

1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0

0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1

1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1

1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1

1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1

0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1

0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1

0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0

1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0

1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0

1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1

0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0

0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0

0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1

0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0

1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0

1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1

0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0

1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1

1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1

1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1

0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1

1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0

1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1

1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1

1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0

0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1

0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1

0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1

1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0

1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0

0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0

0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0

0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0

1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0

0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1

0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1

1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0

1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0

0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1

0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1

1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1

1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0

0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1

0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0

1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0

1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1

0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0

1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1

0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0

1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1

0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0

1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1

1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1

0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0

1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0

0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0

1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0

1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0

0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1

0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1

0
1
0
1
1
0
0
0
0
0

0
1
0
1
1
1
1
1
0
0

1
1
0
0
1
0
0
0
1
0

0
0
0
0
0
1
1
0
1
0

1
1
0
0
0
0
1
1
0
0

1
1
0
0
1
0
1
1
1
1

271
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1

272
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0

273
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0

274
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0

275
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0

276
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1

0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0

1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0

1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1

1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0

1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0

0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0

0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1

1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1

1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1

1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1

1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0

1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0

0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0

1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1

0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1

0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0

1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1

0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0

0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1

0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1

1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0

1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1

0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1

1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1

0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1

0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0

1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0

0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1

1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0

1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1

1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0

0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1

1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0

1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0

0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0

0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0

1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1

0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1

1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1

0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0

0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0

0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1

1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0

1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0

1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1

1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1

1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0

1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1

1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1

0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0

0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0

1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1

0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0

0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1

1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1

0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0

1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1

0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1

0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0

1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0

0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1

0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0

0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1

0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0

0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1

0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1

1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0

0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1

1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1

0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0

0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1

0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0

1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0

1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0

1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0

1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0

0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0

0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1

1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1

0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0

0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0

1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0

0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1

1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0

1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1

0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1

0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0

1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1

0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1

1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0

0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1

0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1

1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0

1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0

0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0

1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1

0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0

0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1

0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0

1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1

0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1

0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1

0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1

0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0

1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0

1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0

1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0

1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0

1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1

0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0

0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0

0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1

1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1

0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1

0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1

1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0

1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1

0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0

1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1

0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1

0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1

0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0

0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0

1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0

1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1

1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1

1
0
0
0
0
1
0
0
1
0

0
0
1
1
1
0
0
1
1
1

1
1
0
1
1
1
0
0
1
1

1
0
0
1
0
1
0
0
1
0

0
1
1
1
1
1
1
0
0
1

0
0
0
1
1
1
0
0
1
0

277
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1

278
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1

279
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1

280
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1

281
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1

282
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1

1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0

0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1

0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0

0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1

0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1

1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0

0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0

1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1

0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0

1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1

1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0

0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1

0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0

0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1

1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0

1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0

1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1

1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1

1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1

0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1

1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0

1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0

1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0

0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1

1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1

1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1

0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0

1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0

0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1

0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0

0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1

1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0

0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1

1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0

0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0

1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1

1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0

0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0

1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0

0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1

0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1

0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1

1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0

0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0

1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0

0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1

1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1

1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0

1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0

1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0

0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0

0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1

1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0

0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0

1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0

1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1

1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1

0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1

1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0

1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1

0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0

0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0

1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0

0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0

1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1

0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0

1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1

1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1

0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1

0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0

1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0

0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1

0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1

1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1

1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0

0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0

1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1

0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1

1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1

0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0

1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1

0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0

0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1

0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0

1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0

1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0

0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1

0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0

0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1

0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1

0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0

0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0

0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1

1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1

1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1

0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0

1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1

0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1

1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1

1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1

1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0

0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1

0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0

0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0

1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0

1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0

1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1

1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1

1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0

1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0

0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1

1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1

1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1

1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0

0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1

1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0

1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1

1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1

0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0

0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0

1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1

0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1

0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0

0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0

1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0

0
0
1
0
0
1
1
1
0
1

0
0
0
1
1
0
1
0
1
1

0
1
0
0
0
0
0
1
0
0

1
0
0
0
0
0
0
1
0
1

0
0
1
1
0
0
1
1
1
0

1
1
1
1
1
0
0
0
0
1

283
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1

284
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1

285
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0

286
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0

287
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1

288
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1

0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1

0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0

1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1

0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1

1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0

0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0

1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1

1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0

1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0

0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1

1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0

1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1

0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1

0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1

0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1

1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0

1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1

1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0

1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1

0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1

0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0

0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1

1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1

1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1

0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0

1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0

0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0

1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0

0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0

1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0

1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1

1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1

0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0

0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1

1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1

0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1

1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1

0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0

1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0

1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0

1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0

1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0

0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0

0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1

0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0

0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0

1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1

0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0

1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0

1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0

1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1

0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0

0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1

1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1

0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0

1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0

0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0

1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0

1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0

1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0

0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0

0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0

0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1

1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1

0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0

1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0

1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0

0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1

0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1

0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0

0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1

0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0

0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0

0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1

0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0

1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1

1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1

0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0

0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0

0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0

0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1

1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1

1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1

1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1

1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1

0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1

0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1

1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1

1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0

1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0

1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0

0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0

0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1

1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0

0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1

0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1

0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1

1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0

1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1

0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0

1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1

1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0

1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1

1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1

0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0

0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0

0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1

1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1

0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1

0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1

0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0

0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1

0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1

0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0

1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0

0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1

1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1

0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0

1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1

0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1

1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1

1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0

0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1

1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0

0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0

1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1

0
0
1
1
1
0
0
0
1
1

0
1
0
1
1
1
1
1
1
1

0
1
1
1
1
1
1
1
0
0

0
0
1
1
0
1
0
1
0
1

1
0
1
0
1
1
1
0
0
1

1
1
0
1
1
1
0
0
1
0

289
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0

290
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0

291
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1

292
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1

293
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1

294
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0

0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0

1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0

1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0

0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0

1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1

0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0

0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0

0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0

1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1

1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0

0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1

0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0

0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1

1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0

0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1

1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1

1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1

0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1

1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0

0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1

1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1

1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0

0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0

1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0

1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0

0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1

0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1

1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1

0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0

0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0

0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0

1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0

1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1

0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1

1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0

0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1

1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0

0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1

1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1

1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0

0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1

0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0

0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1

0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0

0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0

0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1

1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0

1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1

1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1

0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0

1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1

1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0

1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1

0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1

1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1

1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0

0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1

0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1

1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0

1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0

0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0

1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1

1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1

0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0

0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1

1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0

0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0

1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0

1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1

1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1

0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0

1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0

1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1

1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0

1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0

0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1

0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0

1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1

1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0

1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0

0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0

0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1

1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0

0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1

0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0

1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0

1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0

1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1

0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1

0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0

0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0

1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1

0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0

0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1

1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0

1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0

1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1

1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0

1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0

0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1

0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1

1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1

0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1

0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1

0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0

0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1

1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0

0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1

0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0

0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1

0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0

1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1

1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1

0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0

0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0

1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1

0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0

1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1

0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0

1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1

1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0

1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1

1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0

1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0

1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1

0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0

0
0
1
1
1
0
1
1
0
0

0
1
1
0
0
0
0
0
1
0

0
0
1
1
1
0
0
0
1
1

1
1
1
1
1
1
1
1
0
1

0
0
0
0
1
1
0
0
0
0

0
0
1
1
1
0
1
0
1
0

295
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0

296
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0

297
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1

298
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0

299
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0

300
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1

0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1

1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0

0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0

1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0

0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1

1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0

0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0

0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0

1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1

0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1

0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0

1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1

1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1

0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1

1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0

1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0

1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0

1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0

0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1

0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1

1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0

1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0

0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1

1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0

0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1

0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1

1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1

0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1

1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0

0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0

1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0

0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0

1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0

1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1

1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1

0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1

0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1

0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0

0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0

0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0

0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1

1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0

0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1

0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1

1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0

0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1

0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1

1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1

1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1

0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1

0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1

1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1

1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1

0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1

0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0

1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0

0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0

1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1

1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1

1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1

1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0

0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0

0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0

1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1

1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1

0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0

1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1

1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0

0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0

0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0

0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0

0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0

0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1

1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1

0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1

1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1

1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0

1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1

1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1

1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1

1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0

0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0

0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0

1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1

1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1

0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0

0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1

0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1

1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1

0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0

1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0

0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1

1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1

1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0

1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0

1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1

0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0

0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1

0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1

1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1

0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0

1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1

1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0

0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1

1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0

1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0

1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0

1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1

1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1

1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0

1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0

1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0

0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0

0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1

1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1

1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1

0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0

0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0

1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1

1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0

1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1

1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0

0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0

1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1

1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1

0
1
1
0
1
1
1
0
1
0

0
0
0
1
1
0
0
1
0
0

1
0
0
1
1
0
0
0
1
1

1
0
0
0
0
1
1
1
0
0

0
1
1
1
1
0
0
1
0
0

0
1
0
1
0
0
1
1
0
1

301
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0

302
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0

303
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1

304
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1

305
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1

306
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0

1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1

0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1

1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0

0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1

0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0

0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1

0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1

0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0

0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0

0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1

1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0

0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0

0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1

0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0

0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0

1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0

1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1

0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1

1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0

0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1

0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0

0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1

1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1

1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1

0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1

0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0

0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0

0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1

0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0

0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1

1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1

1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0

1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0

1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1

1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1

1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0

0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1

0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0

0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0

1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1

1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1

0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1

1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1

0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1

1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1

1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0

0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0

1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0

0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1

0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0

0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0

0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1

0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1

1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1

0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1

1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1

1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0

1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0

0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1

1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1

1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0

0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0

1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0

1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1

0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0

1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0

1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1

1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1

0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0

0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1

1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0

0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0

1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1

0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1

0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0

1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0

1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1

1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0

1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0

1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1

1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0

0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0

0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1

0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0

1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0

0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1

0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1

0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0

1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0

1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1

0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0

1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1

0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0

1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0

1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1

0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0

1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1

1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1

0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0

0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1

1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0

1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1

0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1

1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1

0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1

0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0

1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1

1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1

0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1

0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0

1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0

1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1

0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0

1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1

1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1

1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1

0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1

0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1

0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1

1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0

1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1

0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0

0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0

0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1

1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0

0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0

1
1
0
1
1
0
1
1
1
1

1
0
1
0
1
1
1
1
0
0

1
1
1
0
1
0
0
0
0
0

0
0
0
1
1
1
0
0
0
1

0
1
0
1
1
1
1
0
0
0

0
0
0
0
1
0
1
0
1
0

307
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1

308
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1

309
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1

310
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0

311
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1

312
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1

0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1

1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0

1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0

1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0

0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1

0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1

1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1

0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1

1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0

1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0

0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0

0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1

1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1

1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1

1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0

1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0

1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1

0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0

1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1

0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1

0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1

0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1

0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0

1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0

1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0

0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1

0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0

1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0

1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1

1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1

0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1

0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0

0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1

1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1

0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1

0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1

1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1

0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1

0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1

1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1

1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1

1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0

0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0

1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0

0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1

1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0

1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1

0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0

0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1

0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0

0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0

1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0

1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0

0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0

1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0

0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0

0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1

1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0

0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0

0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0

1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0

0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1

0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1

0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1

1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0

0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0

0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1

0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1

1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0

1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1

1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0

1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1

1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1

1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0

0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0

1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1

0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1

1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1

1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0

0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0

0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0

1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1

0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0

1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1

0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0

0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0

0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1

0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1

1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1

0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1

1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1

0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1

0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1

1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1

0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0

1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1

1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1

1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0

0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0

0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0

1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0

0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1

0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0

0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1

0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0

1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0

0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0

0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0

1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0

0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1

0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0

0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0

0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1

1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0

1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0

0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0

1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0

1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1

0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0

0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0

1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0

0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1

1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1

1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0

1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0

1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0

1
0
1
0
1
1
0
0
1
1

1
1
1
1
1
0
0
1
0
1

1
0
1
0
0
1
0
1
0
1

1
1
0
0
0
0
1
0
0
0

1
1
0
0
1
1
0
1
1
0

1
1
1
1
0
1
1
0
1
1

313
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0

314
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1

315
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0

316
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1

317
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1

318
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1

0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1

0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1

0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0

1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0

1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0

0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0

0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0

1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0

1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1

0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1

1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0

0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0

1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0

0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0

0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1

0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0

1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0

0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0

0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1

1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0

0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1

1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0

0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0

0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1

1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0

0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1

0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0

0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1

1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0

1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0

1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0

1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0

0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0

0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1

1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0

0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1

0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0

1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0

0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0

1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1

0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0

0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0

0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0

1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1

1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0

1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1

1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0

1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1

0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0

0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1

0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0

0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1

0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1

0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1

0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1

0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1

0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0

1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1

0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0

1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0

1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1

1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1

0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1

1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0

1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0

0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1

0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1

1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1

0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1

0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1

0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0

1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0

0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0

0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1

0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1

0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0

1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1

0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0

1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1

1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1

1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0

0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0

0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0

1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1

0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1

0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1

1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1

1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1

0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1

1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0

1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1

0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1

1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0

0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1

1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0

0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1

1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1

0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1

0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1

0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1

0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0

0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0

1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0

1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0

1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1

1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1

1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1

1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1

0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1

0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1

0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0

0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1

0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0

0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0

1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1

1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0

0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0

0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0

1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1

0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1

1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0

1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1

1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0

1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0

0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0

0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1

0
0
1
1
1
0
0
1
0
0

1
0
1
1
1
1
0
1
0
0

0
0
1
1
1
1
0
1
1
0

1
1
1
0
1
0
0
0
1
0

0
0
1
0
0
1
0
0
0
1

0
1
1
1
1
1
1
0
0
1

319
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1

320
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1

321
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0

322
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0

323
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1

324
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0

1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1

0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1

0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0

0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0

0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1

0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0

0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1

0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0

0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1

1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1

0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1

0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0

0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0

0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1

1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1

1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0

1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0

0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0

1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0

1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0

1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1

1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1

0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1

1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1

0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1

0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0

1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1

1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1

0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1

1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1

0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0

1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0

0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1

1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0

0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0

0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0

0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1

0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0

1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1

0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0

1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0

1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0

0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1

1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1

0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1

1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1

0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1

0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1

0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0

0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0

0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1

0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1

0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1

0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0

0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0

1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0

1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1

0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1

1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1

1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0

1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0

1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1

0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0

1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1

1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0

0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0

0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1

0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1

1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0

1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1

1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0

1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0

0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0

0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1

0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0

0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0

0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1

1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0

0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1

0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1

1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0

0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1

0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1

0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1

0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1

0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1

0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1

0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1

0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1

1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1

1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0

0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1

1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1

1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0

0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1

1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0

1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0

1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0

1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0

1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1

0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1

0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1

0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1

0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1

0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1

0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1

0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0

1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0

0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1

1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0

0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1

0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1

0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1

0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0

1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1

0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1

0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0

1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0

1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1

1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1

0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1

1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0

1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1

1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0

0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1

0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1

0
1
0
1
0
0
0
0
0
0

0
0
1
0
1
0
1
0
1
1

1
0
0
0
0
1
1
1
0
1

0
0
1
0
1
1
1
0
0
0

0
1
1
0
1
1
1
0
0
0

0
0
1
1
0
1
1
1
0
0

325
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0

326
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1

327
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0

328
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0

329
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0

330
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0

1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1

0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1

0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0

1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0

0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1

0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0

0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0

1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1

0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1

1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0

1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0

0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1

0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0

1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1

1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1

1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0

0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0

0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1

1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0

1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1

1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1

0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1

0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1

0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1

0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0

1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1

1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1

0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0

1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0

1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0

0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1

0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1

1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1

1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1

0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1

1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1

0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1

0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1

1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0

1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0

0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1

1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0

0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0

1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1

0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1

0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1

0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1

0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0

0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1

1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1

1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0

1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1

1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0

1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1

0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1

0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1

0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0

1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1

1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1

0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1

1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0

0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1

1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1

1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0

0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0

0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0

1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0

0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1

1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0

1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0

0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0

1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1

0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1

0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1

1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1

1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0

1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0

0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0

0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0

1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1

0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1

0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1

0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1

1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0

0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1

1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0

1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1

1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0

1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0

0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0

0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0

0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0

0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0

0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1

0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0

1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1

0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1

0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0

1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0

1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0

0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1

0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0

1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1

1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0

1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0

1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1

1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0

1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0

0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0

1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0

0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1

0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1

0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0

0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1

1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0

1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1

0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0

0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1

0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0

0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1

1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1

0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0

0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0

0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0

0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1

0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0

0
1
1
0
1
1
0
0
1
1

0
0
0
1
0
1
0
0
1
1

0
1
1
0
1
0
1
0
1
0

0
0
1
1
0
0
1
1
1
1

1
0
0
0
1
1
0
0
1
0

1
1
1
1
1
1
1
0
1
0

331
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1

332
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0

333
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1

334
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1

335
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0

336
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0

0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0

0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0

1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1

0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1

0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1

0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0

1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1

0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1

1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1

1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0

1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0

1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0

0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1

0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0

1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0

1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0

1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1

0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0

0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0

0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1

0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0

1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1

1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0

0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0

0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1

0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1

1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1

0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1

1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0

0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1

0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0

0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1

0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0

1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0

1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1

1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1

0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0

1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0

0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1

1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0

1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0

0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0

0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1

1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1

0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1

1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1

0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1

1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0

0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0

1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0

1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1

1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1

1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1

1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0

0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1

0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0

0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0

0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0

0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0

0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0

0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1

0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1

0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1

0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0

0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0

1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1

1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0

1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0

1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1

1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1

0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1

1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1

0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1

0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0

1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1

1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0

0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1

0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0

1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0

0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0

1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0

1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0

0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1

1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0

0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1

1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1

1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1

1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0

1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0

0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1

1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1

0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0

1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1

1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0

1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1

1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1

0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0

1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1

1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0

0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0

0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1

1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1

1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0

1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1

0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0

0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0

0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1

1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0

1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1

1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0

1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1

1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1

1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0

1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1

1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1

0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0

0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1

1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1

0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0

1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0

1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0

0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1

0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1

0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0

1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1

0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0

1
1
1
1
1
1
0
0
0
1

0
0
1
1
0
1
0
0
0
0

0
1
0
1
1
1
1
1
0
1

0
0
1
1
0
1
0
1
0
0

0
0
0
0
1
0
0
0
0
1

1
1
0
1
1
0
0
1
0
1

337
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1

338
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1

339
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0

340
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1

341
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0

342
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0

0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0

0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0

1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1

0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1

1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1

1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1

0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1

0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0

1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0

0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0

1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1

1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1

0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1

1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1

1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1

0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0

1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1

0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0

1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1

1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0

0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1

0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1

1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0

0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0

1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1

1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1

1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1

1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1

0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1

1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1

1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1

0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0

0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1

1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1

1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1

1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1

0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0

1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1

0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0

1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1

1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0

0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1

0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0

1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0

0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1

1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1

1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0

1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1

0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0

0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1

0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0

0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1

1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1

0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1

1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1

0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1

1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0

0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0

1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0

0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0

1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1

0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1

1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1

0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0

1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0

0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0

1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1

1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0

0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0

1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0

0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1

0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0

1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0

0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0

0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0

1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1

1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0

0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0

0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0

0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1

1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1

0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1

1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1

1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0

0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0

0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1

1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1

0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1

1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0

0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1

1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1

0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1

0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1

0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0

0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0

1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0

0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1

1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0

1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1

1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0

1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0

0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1

0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0

1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1

1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1

1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0

1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1

0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1

0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0

1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1

1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1

1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1

0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1

0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0

0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1

1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0

1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1

0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1

0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1

1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0

1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0

0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1

1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1

1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0

1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1

1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1

0
1
1
0
0
0
0
1
0
1

0
1
1
1
0
1
0
1
1
1

0
0
0
1
0
0
0
0
1
1

1
1
0
0
1
1
1
0
0
0

1
1
1
1
1
0
0
0
0
0

1
1
1
1
0
0
0
0
1
1

343
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0

344
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0

345
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0

346
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1

347
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0

348
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1

1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0

0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0

0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0

0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0

1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0

0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0

1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0

1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0

0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0

0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1

1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0

0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0

1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1

0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0

0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0

1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0

0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0

0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1

0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1

1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1

1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0

1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0

1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1

1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0

0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0

1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0

0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1

1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0

1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0

1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0

0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0

1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0

1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0

1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1

0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0

1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0

0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1

0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1

1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0

0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0

1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0

1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0

1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1

1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1

0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1

1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1

1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1

0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1

0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0

1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1

0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1

0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0

0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0

0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1

0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0

0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0

1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1

1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1

0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1

0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1

0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0

0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0

1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0

1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1

0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0

0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0

1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0

1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0

0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1

1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1

1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1

0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1

0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0

0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1

1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1

1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1

0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1

1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0

0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0

1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0

0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0

1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1

1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0

0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0

0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0

1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1

0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1

0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1

1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1

0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0

0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0

0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0

0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1

1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1

1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0

0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0

1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0

0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1

1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1

1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0

1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1

0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0

1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0

1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1

0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1

0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0

1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0

0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1

0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1

1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0

0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0

1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1

1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1

0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0

1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0

1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1

1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1

0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1

0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0

1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0

1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1

1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0

0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1

1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1

0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1

1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1

1
0
0
0
1
1
1
1
1
1

0
1
0
0
1
0
1
0
0
0

1
1
0
1
1
0
1
1
1
0

0
0
1
1
0
0
1
0
1
1

0
0
0
0
1
1
1
0
1
0

1
1
0
1
1
1
1
1
0
0

349
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0

350
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0

351
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1

352
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1

353
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1

354
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1

1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1

1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0

0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0

0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0

0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1

1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1

1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1

1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0

1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1

0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1

1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0

0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1

1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0

0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0

0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0

0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1

1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0

0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1

1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0

0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1

0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1

1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0

1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1

0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1

0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0

0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0

1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1

1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0

0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0

1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0

0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1

1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0

1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1

0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1

1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0

1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0

1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1

1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1

1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1

0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1

0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0

0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0

0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0

1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1

1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0

1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0

0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0

1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1

0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0

1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1

1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1

1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1

0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1

1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1

0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1

0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0

0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0

0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0

0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1

0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1

0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1

1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1

0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1

1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0

0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1

1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1

1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1

0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0

0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1

1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0

1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1

1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0

1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1

1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1

1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1

1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0

0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0

1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0

1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1

0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0

1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0

0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0

1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0

1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1

0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0

0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1

1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1

0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0

0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0

1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1

1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1

1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0

0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1

1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1

0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1

0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1

0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1

0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1

1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1

1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0

0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0

0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1

1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0

0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0

1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0

1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0

1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0

1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1

1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1

0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0

0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1

1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1

1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0

1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1

0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0

1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1

0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1

0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0

0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1

1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0

1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0

1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1

1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0

1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0

1
0
0
0
0
1
1
1
1
1

0
1
1
1
1
1
0
0
0
0

1
0
1
0
1
1
0
1
0
0

1
0
0
1
0
1
1
1
1
0

0
0
0
0
0
1
1
0
0
0

0
1
1
1
0
1
1
0
1
1

355
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0

356
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0

357
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1

358
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0

359
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1

360
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0

1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0

0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0

1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0

0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1

0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0

1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0

0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0

0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1

1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1

1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0

1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1

0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0

0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1

1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1

1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0

0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0

0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0

1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1

0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0

0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0

1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0

0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1

1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0

0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1

1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0

0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1

1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1

0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1

1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1

0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1

1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0

0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1

0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1

1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1

1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0

0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0

1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0

0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0

0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1

0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0

1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0

0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1

0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0

0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1

1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1

0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0

0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0

0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1

1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0

1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0

1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1

0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1

0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0

1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0

0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0

0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0

0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1

1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0

1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0

0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1

1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1

1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0

0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0

0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1

0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0

1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0

0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1

1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0

0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0

1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0

1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0

0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1

0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1

0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1

1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0

0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1

1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0

1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0

1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1

1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1

1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1

0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1

1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1

1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1

0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1

1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0

0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0

0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1

1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1

0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1

1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0

1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0

0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0

0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0

0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0

0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1

0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1

0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1

0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1

0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0

0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1

1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1

1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1

1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1

1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1

0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1

1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1

1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0

1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0

0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0

1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0

0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1

0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1

1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1

1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1

0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1

0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0

1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1

1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0

1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0

1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0

1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0

1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0

1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0

1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0

1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1

1
1
1
1
0
1
1
1
1
1

0
1
1
0
0
0
0
1
0
0

0
0
1
0
0
0
0
0
0
1

1
0
1
1
0
1
1
1
1
0

0
1
0
0
1
0
0
1
0
0

0
0
1
1
0
1
1
1
1
0

361
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0

362
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0

363
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1

364
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1

365
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1

366
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1

1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1

0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0

0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1

0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1

0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1

1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0

1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1

1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1

0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0

1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0

1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0

0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0

1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0

1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0

1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0

1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1

1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1

0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1

1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1

0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0

0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1

0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0

0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1

0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1

1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1

1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0

0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1

1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1

1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0

1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0

1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1

0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0

0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0

0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1

1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1

0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0

0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1

0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0

1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0

0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0

1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1

0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1

1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1

0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0

0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1

1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1

1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1

0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0

0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0

1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1

0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1

1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1

0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1

1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1

0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1

0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1

0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1

0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0

1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1

1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1

0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0

1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0

0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1

0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0

1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0

1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1

1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1

0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0

1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0

0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0

0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1

0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0

0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0

0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0

1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1

0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0

1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1

1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1

0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0

0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0

0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1

0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0

0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0

1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0

1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1

0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1

1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0

1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1

0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1

0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0

0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1

1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0

1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0

0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1

1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1

0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1

1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1

0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0

1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0

1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0

1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1

0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0

1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0

0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0

0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0

1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0

0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0

0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1

0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0

0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0

1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1

0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1

0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1

1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1

1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0

0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0

0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1

0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1

0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1

1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0

0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0

0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0

1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0

0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1

1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0

0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1

1
1
1
1
1
1
0
1
0
1

1
1
1
1
1
0
0
0
0
0

1
1
0
0
1
1
0
0
0
1

1
0
0
1
0
0
1
0
1
0

0
1
0
1
1
0
1
0
1
1

1
1
1
0
1
0
1
0
0
0

367
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1

368
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1

369
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1

370
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1

371
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1

372
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1

0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0

1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0

0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1

1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1

0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0

1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1

1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0

0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1

0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0

1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0

1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0

1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1

0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1

0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1

1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0

0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0

0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0

1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1

1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0

1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1

0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1

1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0

0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0

0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0

0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1

0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0

1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1

0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0

1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0

1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0

1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1

0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1

1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0

1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0

1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1

1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0

0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1

0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1

1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1

1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1

0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1

1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0

1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1

0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0

0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0

1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0

1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0

0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0

1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0

1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0

0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1

1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0

1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1

0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1

1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1

0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1

0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0

0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0

1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1

0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0

0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0

1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1

1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0

1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1

1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0

0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1

1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1

0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0

1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0

1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0

1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1

1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0

1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1

0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1

1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1

0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0

1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0

1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0

0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0

0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0

0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0

1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0

1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0

1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1

1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0

0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0

0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0

0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0

0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0

1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1

1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1

1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0

0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0

0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1

0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1

1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1

1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0

0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0

0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1

1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0

0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0

0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1

0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0

0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1

0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0

1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0

0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1

1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0

1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0

0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1

1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0

1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1

0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1

0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1

1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1

0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1

0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1

1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0

1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0

0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1

1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0

1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0

0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0

1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1

1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0

1
0
1
0
0
0
1
1
1
0

0
1
1
1
1
0
1
0
0
0

0
1
1
0
0
1
0
0
0
0

0
1
1
1
1
1
0
1
0
0

1
0
0
1
1
1
0
1
0
0

1
1
1
1
0
0
1
0
0
0

373
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0

374
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0

375
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0

376
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0

377
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1

378
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1

1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1

1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1

0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0

1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1

1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1

0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1

0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0

0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0

0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1

1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1

1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1

1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1

1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1

1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0

0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0

0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1

0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1

1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1

0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0

1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1

1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1

0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0

0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1

0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1

0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1

0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1

1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1

0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0

1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1

1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0

0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0

1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1

1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0

1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0

0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0

0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1

0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1

1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1

1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0

1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0

1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0

0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0

0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1

1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0

1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0

0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0

1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1

1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1

1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1

0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1

0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1

0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1

1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0

1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1

1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0

1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1

0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1

1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0

0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0

0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1

0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1

1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1

1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1

1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1

0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1

0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1

0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0

0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1

1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1

1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1

1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0

0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0

1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0

0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1

0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1

1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0

1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0

0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0

1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0

0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0

0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0

1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0

1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0

0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1

1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0

0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1

1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1

0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0

1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1

1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1

0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1

0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0

1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0

1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0

0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1

0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0

0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0

1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0

0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0

0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0

1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1

0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1

0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0

0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0

1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0

0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1

1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1

1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1

1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1

1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1

0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1

0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0

1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1

1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0

0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0

1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0

1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0

0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1

0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0

0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0

1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0

1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1

1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0

0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0

1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0

1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1

0
1
1
0
1
1
0
1
1
0

0
0
0
1
1
0
1
0
0
1

0
0
0
1
1
1
1
1
1
1

0
1
0
0
1
0
0
0
1
1

0
0
1
1
0
1
1
1
0
0

0
0
1
0
1
1
1
1
0
1

379
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0

380
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0

381
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0

382
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1

383
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0

384
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1

1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1

1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0

0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0

1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0

1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1

1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0

1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0

1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1

0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0

0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0

0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1

0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1

0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0

0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1

0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1

1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1

1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1

0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0

1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0

0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1

1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0

0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0

1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0

0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0

1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0

0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1

0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0

0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0

1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0

1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1

1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0

1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0

0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1

0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1

1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0

0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0

0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1

0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0

0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0

0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0

1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0

1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0

1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0

1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1

1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0

1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0

1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1

1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1

1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1

0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1

0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1

0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0

1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0

1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1

0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0

1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0

1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0

0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0

1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1

0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0

1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0

0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1

0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0

0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0

0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1

1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0

1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1

0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1

0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0

0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1

1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1

0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0

1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1

1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0

1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1

0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1

0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1

1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0

0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1

0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0

0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1

0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0

0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1

0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1

1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1

1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0

1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1

0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1

1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0

1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1

1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0

1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0

0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0

0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0

1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1

1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1

1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1

1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0

0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1

0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0

0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0

0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0

0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0

0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1

0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1

0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0

1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0

0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1

0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1

1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0

1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1

1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0

1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1

0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0

0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0

0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0

0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1

0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1

1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1

1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1

1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1

1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1

1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1

1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1

1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1

0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1

1
1
1
0
0
0
1
1
0
1

0
1
1
1
1
1
1
1
1
1

0
1
0
0
1
0
0
1
0
0

0
0
1
1
0
1
0
0
1
0

0
0
0
0
1
1
0
1
0
0

1
1
1
1
1
0
0
0
1
0

385
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0

386
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0

387
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1

388
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0

389
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1

390
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0

0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1

0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1

0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1

0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0

0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1

1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0

0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1

0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1

1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0

0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0

1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1

0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1

0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1

0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1

0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0

1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0

1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0

0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0

1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1

0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0

1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0

0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1

1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0

1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1

0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1

0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0

0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1

0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0

0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1

1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1

1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0

1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0

0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1

0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0

0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1

1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0

1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1

1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1

0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1

0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0

1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0

0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0

1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1

0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1

1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0

0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1

0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0

1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1

0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0

0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0

0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1

1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1

0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0

0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1

0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1

0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0

1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0

1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1

1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0

1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1

0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0

1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0

1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1

0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0

0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0

1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1

1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0

0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0

0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1

0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1

0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1

1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0

0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0

1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1

0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1

0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1

0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1

1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0

0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0

1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0

1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1

0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1

0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1

1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0

1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1

0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0

1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0

0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0

0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0

1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0

0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0

0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0

0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1

0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1

1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0

0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1

1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0

0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0

1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0

0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0

0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0

0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1

1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1

0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1

1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0

0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0

0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1

1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0

0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1

1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1

1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0

0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0

0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0

0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1

0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1

0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1

1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0

0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0

1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0

1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0

1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1

0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0

1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0

0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1

1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1

0
0
1
0
0
1
0
1
0
1

0
1
0
0
0
0
1
1
0
0

0
1
0
0
1
1
1
1
1
1

0
1
0
1
0
1
0
0
0
1

1
1
1
1
0
1
1
1
1
1

0
0
0
1
0
0
0
0
0
0

391
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0

392
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1

393
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1

394
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1

395
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0

396
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1

0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0

1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0

0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0

0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0

0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0

0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0

1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1

1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1

1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0

1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0

1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1

1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0

0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1

1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0

0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1

1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1

1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0

0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0

0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1

0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0

1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1

1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1

1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0

0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0

1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1

1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0

1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0

1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1

1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0

0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0

1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1

1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0

1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1

0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0

0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1

0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0

0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0

1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0

1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0

0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0

0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0

0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1

1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1

0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1

1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1

0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0

1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1

0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0

0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0

1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0

1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1

0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1

0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0

0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0

1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0

1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1

0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0

0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0

0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0

1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0

0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1

1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0

1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1

1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1

0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0

0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1

1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0

1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1

1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1

1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0

0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0

0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0

1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1

0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1

0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0

1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1

0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0

0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1

0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1

1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0

0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1

0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0

1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1

1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0

1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1

0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1

1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0

1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1

1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1

0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1

1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0

1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0

0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1

1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1

1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0

1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1

1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1

0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0

1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0

0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0

1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0

1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1

0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0

1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0

1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1

0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1

1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1

1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1

0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0

0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0

1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1

1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1

1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0

0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0

1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1

0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0

1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0

1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0

1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0

1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0

0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0

1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1

0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1

0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0

0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0

0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0

1
0
1
0
0
1
0
1
0
0

1
1
1
1
1
0
1
1
1
1

1
0
0
0
0
1
0
0
0
1

0
0
0
1
1
0
0
1
1
0

0
0
0
0
0
0
1
0
0
1

1
0
0
0
1
0
1
1
1
1

397
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1

398
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1

399
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1

400
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0

401
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0

402
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1

1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0

1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1

1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0

0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1

0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0

1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0

1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1

0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0

1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0

1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1

1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1

1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0

0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0

0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0

0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1

1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1

1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0

0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0

0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0

1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1

1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1

0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0

0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0

1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0

1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0

0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1

1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0

1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0

0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0

1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1

0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0

1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0

0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0

1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0

1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1

0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1

1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0

0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1

1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0

1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1

1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0

1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1

1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0

1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1

1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1

1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1

0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0

0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0

0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1

1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1

0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1

1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0

0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0

1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0

0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1

0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1

0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0

0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0

0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1

1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1

1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0

1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1

1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0

0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1

0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1

1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1

0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0

0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0

0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1

1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1

1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0

0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1

1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0

1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0

1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0

1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0

1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0

1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0

0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0

1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1

0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1

1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1

0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0

1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0

0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1

0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0

1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0

0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1

1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1

1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1

1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1

1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1

0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0

1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1

1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0

0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0

1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0

1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0

1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0

0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1

0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1

1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1

0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1

1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1

1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0

1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1

0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0

1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1

0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0

1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1

1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1

1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1

1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1

0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1

0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0

1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0

1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1

0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1

1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1

1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0

1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0

0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0

0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1

0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1

1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1

0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1

0
0
0
1
0
1
1
1
1
1

0
1
0
1
1
0
1
1
0
1

0
0
1
0
0
1
0
1
1
0

1
0
1
0
1
0
1
1
1
0

1
1
0
1
1
1
1
1
1
0

0
0
1
0
0
1
0
1
1
0

403
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1

404
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0

405
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1

406
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1

407
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1

408
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0

0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0

0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1

1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0

0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0

1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0

0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0

1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0

0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0

0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1

1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0

0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1

1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1

0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1

0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1

1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1

0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0

0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1

1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0

1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1

1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1

1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0

1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1

1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1

0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1

1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1

0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0

1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1

1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0

0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1

0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1

1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0

0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0

0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0

1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0

1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0

1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1

1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1

0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1

0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1

1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0

1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1

0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0

0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1

0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0

1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0

1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1

0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0

1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1

0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0

1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0

0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0

1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0

1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0

1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1

0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1

0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1

0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1

1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1

1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1

0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1

0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1

1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1

1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1

1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1

1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0

1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1

0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1

0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1

1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0

0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1

0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1

1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0

0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0

0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0

1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0

1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1

1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1

1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1

0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0

0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0

0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0

1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1

1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0

0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1

0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0

1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1

0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0

1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1

1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1

1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0

0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1

0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0

1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0

1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0

1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0

1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1

1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0

0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0

0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1

0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1

1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1

1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1

1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0

1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0

1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0

0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0

1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1

1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0

0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0

0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0

0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0

0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0

1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1

1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0

1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1

1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0

1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1

0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1

1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1

1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0

0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0

0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0

1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0

0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1

1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0

0
1
1
1
1
0
0
1
0
1

1
1
0
1
0
0
0
0
1
1

0
1
0
0
0
0
0
1
0
1

0
0
1
0
0
1
1
1
1
1

1
1
0
0
0
1
0
0
1
0

1
0
0
1
0
0
1
0
0
1

409
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1

410
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1

411
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0

412
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0

413
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1

414
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1

1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0

1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0

1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1

0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0

0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0

0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1

0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1

0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1

1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1

1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1

0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1

0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1

0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1

1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0

0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1

1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1

0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0

0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1

0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0

0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1

1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1

0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0

0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1

0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0

1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0

0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0

1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1

1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0

1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0

1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0

1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1

0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0

1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0

1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0

1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0

1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1

1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0

0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0

0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0

1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1

1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0

1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1

1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1

1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1

1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0

0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1

0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1

0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0

0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1

1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1

0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1

1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1

0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0

1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0

1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0

1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0

1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0

0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1

1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1

0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1

0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0

1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1

0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0

0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1

1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0

1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0

0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0

1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0

1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1

1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0

1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0

1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1

0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0

0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1

1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0

1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0

1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0

1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1

1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0

0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0

1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0

1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0

0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0

1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0

1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1

1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1

1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1

1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0

1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1

1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0

0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0

0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0

1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0

0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0

0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1

1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0

0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1

0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1

0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1

0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1

1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1

1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0

0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0

1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1

0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1

0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0

1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1

0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0

1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0

0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1

0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1

1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0

1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1

0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1

1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0

0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0

0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1

1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1

0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0

0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0

1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0

1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0

0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1

1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1

0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0

1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1

1
0
1
0
1
0
0
1
1
0

1
1
0
1
0
0
0
1
0
1

1
0
1
0
1
0
0
0
0
1

1
1
0
1
0
0
1
1
0
1

1
0
1
1
0
0
0
1
1
1

1
0
1
1
0
0
0
0
1
0

415
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1

416
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0

417
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0

418
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0

419
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0

420
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0

0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0

1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0

0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0

1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0

0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1

0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1

1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1

0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1

0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1

0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1

0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0

0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0

0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1

1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1

0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0

1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0

0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0

0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1

1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0

1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0

0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0

1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0

0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0

0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1

1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1

1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1

0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0

0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0

0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0

0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1

0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0

0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1

1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1

0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1

1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0

1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0

0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1

0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1

1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1

1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1

0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0

0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0

1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1

0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1

1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0

0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1

1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0

0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0

1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0

1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1

0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0

0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0

0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0

1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1

0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0

0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1

0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1

1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1

1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1

0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1

1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0

1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0

1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1

0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0

0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0

1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0

0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1

0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1

1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1

0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1

0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1

0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0

1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0

0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0

1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1

0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1

0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0

0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0

1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0

0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1

0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1

0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0

1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0

1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0

0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0

0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0

0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1

0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0

0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1

0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0

1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1

0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1

0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1

0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0

0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0

1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1

1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0

0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0

0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1

0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0

0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0

1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1

0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0

0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1

1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1

1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0

1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1

0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0

1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0

0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1

1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1

1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1

0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0

1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1

0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1

1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0

0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0

1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1

0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1

1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1

0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1

1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1

0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1

1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1

0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0

1
1
0
0
0
1
1
1
0
1

1
1
0
1
0
0
0
0
0
0

1
1
0
1
0
1
1
1
1
0

0
0
1
1
1
1
1
1
1
0

1
0
1
0
0
1
1
1
0
1

0
0
0
1
1
0
0
1
1
0

421
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0

422
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1

423
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1

424
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0

425
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1

426
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1

1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1

0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0

1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0

0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1

1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0

1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1

0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1

1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1

1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0

1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1

0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0

0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0

0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1

1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0

1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1

1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1

1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0

1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1

1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1

1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1

0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1

1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1

0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1

1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0

0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1

1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1

0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0

0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0

1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1

0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0

0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0

1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1

1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0

1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1

0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0

1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1

0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0

0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1

1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1

0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0

1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0

1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0

0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0

0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1

0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1

0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1

1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1

1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0

0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0

0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0

1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0

1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0

0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0

1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1

0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1

0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0

1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0

0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0

1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1

1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1

0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1

1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1

0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1

1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0

0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0

1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1

1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0

0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1

1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0

0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0

1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0

1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0

0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0

1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1

1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1

1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0

0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0

1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1

0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0

1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1

0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0

0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1

1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0

1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0

0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1

0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0

0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1

1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1

0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1

1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0

0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1

1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1

0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0

1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0

1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1

0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0

1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0

0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0

0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0

1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0

1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1

0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1

0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0

0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1

1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0

1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0

0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1

0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1

0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0

0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0

0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0

0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0

1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0

1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0

0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1

1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1

1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1

0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1

0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0

0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1

1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1

1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0

1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0

0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1

1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1

1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0

1
1
1
0
1
1
1
0
1
0

1
0
0
1
0
1
0
1
1
1

1
1
0
0
1
1
0
1
1
0

0
0
0
0
0
0
1
0
0
1

1
1
1
1
0
1
1
1
0
0

1
0
0
0
1
0
1
0
1
0

427
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1

428
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0

429
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0

430
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0

431
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1

432
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0

0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1

0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1

1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1

0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0

1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0

0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1

1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0

1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1

1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1

1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1

0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0

0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0

1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0

1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1

0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0

1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0

0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0

0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0

0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1

0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0

1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0

1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0

0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0

1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1

1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0

0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1

0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0

0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1

1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1

0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0

0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1

0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0

0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0

1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0

1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1

1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1

1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0

0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0

0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1

0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0

0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1

1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1

1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1

0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0

0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0

1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0

1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1

0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1

1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0

0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1

1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0

0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0

1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0

0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0

1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0

0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0

1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0

1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1

1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1

1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1

0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0

1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0

1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0

1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0

1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1

0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1

0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0

0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1

0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0

1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1

1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1

0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0

1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0

0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1

0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0

1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1

1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0

1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1

1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1

1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1

1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1

1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1

0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0

1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0

1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0

0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0

0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0

1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0

1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1

0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0

0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1

1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1

1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0

1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0

0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0

1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0

0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0

0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0

0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0

1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1

1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0

0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0

1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1

0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1

0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0

1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0

0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1

1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1

1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1

0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1

0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0

0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0

0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1

1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1

0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0

0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1

0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0

1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0

1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0

1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1

0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0

1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0

1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1

0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0

0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0

1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1

0
1
0
1
0
1
1
0
1
0

0
1
1
0
0
1
1
0
0
1

0
1
0
0
1
0
0
0
1
0

0
1
1
0
0
0
0
0
1
0

0
0
1
1
1
1
0
1
1
0

1
0
0
0
0
1
0
0
1
1

433
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1

434
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0

435
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0

436
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0

437
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1

438
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0

0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1

0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0

0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1

0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0

1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0

0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0

1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1

1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1

1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1

0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0

0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1

0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0

0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0

0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0

1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0

0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1

1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0

0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1

0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1

1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0

0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0

1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1

1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0

1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0

1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0

0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0

0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1

0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0

0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0

1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1

1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1

1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0

0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0

0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0

0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0

1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0

1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0

0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1

0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0

1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1

1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0

1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1

0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0

0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0

0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0

1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0

0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0

1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1

0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1

1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1

0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1

1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1

1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1

0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0

1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1

1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1

0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1

1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0

0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1

1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0

1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1

1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1

0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1

0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1

0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0

0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1

0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0

0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1

1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1

1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0

0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1

1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1

0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1

0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0

1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1

1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0

1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1

1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1

1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0

0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1

1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0

1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1

1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1

0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1

0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0

1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1

0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1

1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1

0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0

0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0

0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1

0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0

1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1

0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1

1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0

1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0

1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0

0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1

1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1

0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0

0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1

1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0

1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0

0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0

0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0

1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1

1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1

1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1

1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0

1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0

1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1

1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1

1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1

0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1

1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0

0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1

1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0

1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0

0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0

1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1

0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1

0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0

0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0

1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0

0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0

1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0

1
0
0
1
0
1
0
0
1
1

1
0
0
0
0
1
0
0
1
1

0
1
0
0
1
1
1
1
1
1

1
1
0
1
1
0
1
1
0
1

0
0
0
1
0
0
1
0
0
0

0
0
1
1
0
1
1
1
0
0

439
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0

440
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1

441
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1

442
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0

443
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1

444
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1

0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1

1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0

1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1

1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0

0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1

0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0

1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0

1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0

1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1

0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0

1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0

0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1

0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0

1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0

0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0

0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1

0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1

0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0

1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0

1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1

1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0

1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0

1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1

0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0

1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0

1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1

1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1

0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0

1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0

0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1

0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1

1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1

0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0

1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1

1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1

1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0

1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1

0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0

1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0

1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0

0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0

1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0

1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0

0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1

1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0

1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1

1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1

0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1

0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0

0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1

0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0

0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1

1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1

1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0

1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0

0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0

1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1

0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0

0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1

0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0

1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0

0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0

0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1

0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1

0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1

0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1

1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1

1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1

0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0

1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0

1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1

0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1

1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0

0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1

0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1

1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0

0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0

1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0

1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0

0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1

1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1

0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0

1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0

1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1

1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0

1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1

1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1

1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0

0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1

0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0

1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1

0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0

1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0

1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0

1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1

1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1

0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1

1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1

0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0

0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1

0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1

1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1

1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0

0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0

0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1

1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1

1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0

1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0

1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1

1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0

1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0

0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1

0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1

0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1

1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0

1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0

0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1

1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1

1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1

0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1

0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1

1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1

1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1

1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0

0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0

0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0

1
0
1
1
1
0
1
0
0
1

0
0
1
0
0
1
0
0
0
1

0
1
1
1
0
1
1
0
1
1

1
1
1
1
0
1
0
1
1
0

1
0
0
1
0
0
0
1
1
1

0
0
1
0
0
1
0
0
1
1

445
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0

446
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1

447
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1

448
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0

449
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0

450
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1

1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1

0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1

0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1

0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0

1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0

0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0

1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0

0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1

0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1

0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1

0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0

0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1

0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0

1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1

1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0

1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1

0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1

1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1

1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1

0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1

0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1

0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0

1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0

0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1

1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1

0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1

0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0

1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1

0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0

1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1

0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1

0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1

0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0

0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1

0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0

1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0

0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1

0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1

1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0

0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1

1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1

1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0

0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0

1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1

0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0

1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1

0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1

0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0

1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1

0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1

0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0

1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1

0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0

0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0

1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1

0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1

0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0

1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0

0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1

1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0

1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1

0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0

1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0

0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0

0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0

1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0

1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0

1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1

0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1

0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0

1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1

1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0

0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0

1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0

0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1

0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1

0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1

1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1

1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0

1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1

1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0

1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0

1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1

0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1

1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0

1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1

0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0

0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0

1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0

0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0

0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1

0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0

0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0

1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1

0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1

1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0

1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0

1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0

1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1

0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0

1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0

0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1

0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1

1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0

1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0

1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1

1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1

1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0

0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0

1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0

0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1

1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0

1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0

0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1

0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0

0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1

1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0

0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1

1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0

1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1

0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0

0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1

0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1

0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1

0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0

0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0

1
1
0
0
0
0
0
0
1
0

0
0
1
0
1
1
0
0
1
0

1
0
1
1
0
0
1
1
1
0

1
1
1
0
1
0
1
0
1
0

1
0
1
0
1
1
0
1
1
1

0
0
0
1
1
1
1
0
1
1

451
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1

452
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1

453
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0

454
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0

455
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1

456
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0

1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1

1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1

0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0

0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0

0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1

0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1

1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1

0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1

1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1

1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1

0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1

1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1

0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0

0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1

1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1

0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1

0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0

1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1

0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1

1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1

0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1

0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1

0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0

1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1

1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0

0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1

1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1

1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1

0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1

1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0

1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1

1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0

0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1

0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1

1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1

0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0

1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1

1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1

1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0

0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1

1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0

1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0

1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1

0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1

0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0

0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1

0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1

0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1

0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1

1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1

0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0

0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0

0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0

1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1

1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0

0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1

1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1

0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0

0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1

1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0

1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0

0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0

0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1

1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1

1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1

1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0

0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1

1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1

0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0

0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0

0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1

0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0

0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1

0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1

1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0

1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0

0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1

1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0

1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1

0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0

1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1

1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0

0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1

0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0

0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0

1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1

1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0

0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0

1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0

1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1

1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1

1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1

0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0

1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0

0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1

1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0

0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1

1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0

0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1

1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1

0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0

1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1

0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0

0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1

1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0

0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0

1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1

1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1

0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1

0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1

1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0

1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0

0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0

0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1

0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0

1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1

0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0

0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1

1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1

0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0

0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0

1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0

0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1

1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0

1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0

1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1

1
0
0
1
1
0
0
0
1
1

0
0
0
1
0
1
0
1
0
0

1
0
1
0
1
1
0
1
0
0

0
1
1
0
1
1
0
1
1
1

0
1
0
1
0
1
0
0
1
0

1
1
0
1
1
0
0
1
0
1

457
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1

458
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1

459
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0

460
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0

461
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0

462
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1

1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1

0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1

1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1

0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0

1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0

1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0

1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1

1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0

1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0

1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0

0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1

1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1

0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0

0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1

1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0

1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0

1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1

1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0

1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0

0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1

0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1

1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0

1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1

1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1

0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0

0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1

1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0

1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1

0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0

1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0

0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0

0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1

1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1

0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1

1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0

0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0

1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0

1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0

0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0

1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1

1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1

0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1

0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1

1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1

0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1

0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1

1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0

1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1

1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0

1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1

1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1

0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0

0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0

0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0

0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0

1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0

0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1

0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0

0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1

1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0

0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0

0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1

1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0

0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1

1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1

0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1

1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0

1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1

1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1

0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0

1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1

1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1

1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1

1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0

1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1

1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1

0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0

1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0

1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1

1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0

0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0

0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1

0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1

0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0

0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0

1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1

0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1

0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1

0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1

1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1

1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1

1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0

0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0

1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1

1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1

0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1

1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1

0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0

1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0

1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1

0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1

0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1

1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1

1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0

1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1

0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1

1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0

0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0

1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1

1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1

0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1

0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1

1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1

1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0

1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1

0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1

1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1

1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1

1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0

1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1

0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1

1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1

1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1

0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1

0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1

1
1
0
0
1
1
0
1
1
1

1
1
0
1
0
0
0
0
0
1

0
0
1
0
1
0
0
1
1
1

1
0
1
0
1
1
0
1
1
1

0
0
1
0
0
1
0
1
0
1

1
0
0
0
0
1
0
0
1
0

463
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0

464
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0

465
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1

466
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1

467
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1

468
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1

1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1

1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0

0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0

0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1

0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1

0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0

1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0

0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1

0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0

1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1

1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0

1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1

1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0

0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1

0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1

0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0

0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1

0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1

1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1

1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0

0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1

1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1

0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1

0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0

0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0

1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1

1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0

0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1

0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1

0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0

1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1

0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0

0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0

0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1

1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0

1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0

0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1

1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0

0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1

0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1

1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0

0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1

1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0

0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1

1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1

1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0

0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0

1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0

1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1

1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1

1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1

0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1

1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1

0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1

1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1

1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1

1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1

1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1

1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1

1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0

0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1

1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1

1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1

0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1

1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0

0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0

0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0

1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0

0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1

1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1

0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1

1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0

1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0

1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1

0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1

0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1

1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0

1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0

0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0

1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1

0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0

0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0

0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0

1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0

1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1

1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0

0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0

1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0

0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0

0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0

0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0

1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0

0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1

0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1

0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1

1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0

1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0

0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0

1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0

0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0

0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0

1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1

1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1

1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1

1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1

0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1

0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1

1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1

0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1

1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0

0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0

1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0

0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1

1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1

0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0

0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1

1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1

0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0

1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1

0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0

0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1

1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1

0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1

0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1

0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1

0
0
1
1
1
0
0
1
0
1

0
0
0
1
0
0
0
0
0
0

1
0
0
0
1
0
1
1
1
0

0
1
1
0
1
0
1
1
0
0

0
0
1
0
0
1
0
1
0
1

0
0
0
0
1
0
0
1
0
1

469
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0

470
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1

471
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0

472
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0

473
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0

474
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1

1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1

0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1

1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0

1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1

0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1

0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1

1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0

1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1

1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1

1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1

1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0

0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1

0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0

1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1

1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1

0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1

0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0

0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1

1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1

0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1

0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0

0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1

1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1

0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1

1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0

1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1

1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0

0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1

0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0

1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1

0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0

1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0

0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1

0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0

0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1

0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0

0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0

1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0

1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1

1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0

1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0

0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0

0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1

0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1

1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1

1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0

0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0

1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0

1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0

1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0

1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0

0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1

1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1

0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0

1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1

0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1

1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1

0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1

1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0

0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0

0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1

1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0

1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1

0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1

0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0

1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0

1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1

1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0

0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1

0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1

1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1

0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0

0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0

1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1

1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0

0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0

1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1

1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1

0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0

1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0

0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1

1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1

0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0

1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0

0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0

0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0

1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0

1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1

1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1

0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1

1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0

0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1

1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1

1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0

0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1

0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1

1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0

0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0

1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1

0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1

1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0

1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1

0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1

0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1

0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1

0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1

1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0

1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1

1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0

1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0

0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1

0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0

0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1

1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0

1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0

1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1

1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1

0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1

0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1

0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1

0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0

0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0

0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0

1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0

1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1

1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0

1
1
1
1
1
1
1
1
0
0

1
1
0
0
1
1
1
0
0
0

1
1
0
1
1
0
0
1
0
1

0
1
1
1
0
0
0
0
1
1

1
0
1
0
0
0
0
1
0
1

0
0
0
0
1
1
0
0
0
1

475
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0

476
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0

477
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0

478
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0

479
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0

480
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1

1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1

1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1

1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0

0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1

1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1

0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0

1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0

1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0

0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0

0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1

1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0

1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0

0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0

0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0

1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0

1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1

0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1

1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0

1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1

1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1

1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1

0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1

1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0

0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1

1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0

0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0

1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0

0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1

0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0

0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0

1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1

1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0

0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1

0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1

1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0

0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1

1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0

1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1

0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1

1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1

1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1

1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0

1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1

0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0

0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1

1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0

1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1

1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0

1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0

0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1

0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1

0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1

1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1

0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0

0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1

1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0

1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1

1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1

1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0

1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1

1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1

1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1

1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0

0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1

0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0

0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0

1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1

0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1

0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0

1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1

0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0

0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1

1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1

1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0

0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0

1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1

1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1

0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1

1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1

1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1

0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0

1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1

0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1

1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0

0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0

1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1

1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1

1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0

0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0

0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1

1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1

0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1

0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1

0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1

0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0

0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0

1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1

0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0

1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0

0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0

0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1

1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0

1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0

1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0

0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0

1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1

1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0

1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1

1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1

0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0

1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1

0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1

1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1

1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0

1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0

1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0

0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0

0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0

1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0

1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0

0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1

1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0

1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1

0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0

0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1

1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0

1
0
1
1
1
0
0
0
0
1

0
1
0
0
0
1
1
0
1
0

1
1
1
1
1
0
1
0
0
1

0
0
1
1
1
0
1
1
1
0

0
1
0
0
1
0
0
0
0
0

1
0
0
1
0
1
1
0
1
0

481
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1

482
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1

483
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1

484
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1

485
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1

486
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0

0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1

0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1

0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1

0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0

0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1

1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0

0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0

0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0

0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0

1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0

0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0

0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0

1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0

0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0

0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0

0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1

0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0

1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0

1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0

1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1

0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0

1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1

0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0

0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1

0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0

1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1

0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0

0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0

0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1

1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1

0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0

1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0

0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1

1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0

0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0

1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1

0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1

1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1

0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0

1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0

1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1

0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0

0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1

0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0

1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1

1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0

0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1

1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0

1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1

1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1

0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1

1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0

0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1

0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1

0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1

0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0

0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1

1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0

1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1

0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0

1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1

1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1

1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0

0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1

0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1

1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0

1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1

0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0

1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0

1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0

1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0

1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0

0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0

1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1

1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1

1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0

0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1

0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1

0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1

1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0

0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1

0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0

0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0

0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0

0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0

1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0

1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0

1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1

1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1

1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1

1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1

1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0

0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1

1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0

0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1

0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0

1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0

0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1

0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1

1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1

0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0

1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0

0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1

1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0

1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0

0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1

0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0

0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1

0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0

1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1

1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0

0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0

0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1

1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0

1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1

1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1

1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1

1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1

0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1

0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1

1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1

0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1

1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0

0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0

0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1

0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1

0
0
0
0
1
1
1
1
0
1

1
0
0
0
0
0
0
0
0
1

1
0
0
1
1
1
0
1
1
0

1
0
1
0
1
0
1
0
0
1

0
0
0
1
0
1
1
1
0
0

0
0
1
1
0
1
0
0
0
0

487
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0

488
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1

489
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0

490
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1

491
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0

492
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0

1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0

0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1

1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1

0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1

0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1

0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0

1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0

0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1

0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1

0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0

1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1

0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1

0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0

1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1

0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0

0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1

1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1

0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1

1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0

0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1

0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0

1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0

1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1

0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0

1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1

1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1

0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1

1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0

1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1

1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1

0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1

0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0

1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0

0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0

1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1

1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0

0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1

1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0

0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1

0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0

0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1

1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1

0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0

0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0

1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0

0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0

1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0

1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1

0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0

1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0

1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1

1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0

0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1

0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1

0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1

0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1

1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1

0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1

1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1

0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0

0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0

0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0

1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0

0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0

0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1

1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1

0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1

0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1

1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1

0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1

1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0

0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1

1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0

0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0

1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1

0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1

1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0

1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0

1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0

1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1

1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1

0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1

0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1

0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1

1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1

0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1

1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0

0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1

0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1

0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0

1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0

0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0

0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0

1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0

1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1

0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1

1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1

0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0

1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0

1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1

0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1

1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1

0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0

1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0

0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1

0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0

1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0

1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1

1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0

1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0

0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1

0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0

1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1

0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0

1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0

1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1

1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1

1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1

0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0

0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0

1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1

0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1

1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1

0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1

0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0

1
0
0
0
1
1
1
1
1
1

0
1
1
1
1
1
1
0
1
1

1
1
0
0
1
0
1
1
1
1

1
0
0
0
0
1
0
0
0
0

0
1
1
0
0
1
1
0
0
0

1
1
1
1
0
0
0
0
1
1

493
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1

494
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1

495
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1

496
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1

497
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0

498
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0

0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0

0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1

0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0

0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1

0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0

1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1

0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0

1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1

0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0

1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1

0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0

0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0

0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1

0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0

0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1

0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0

0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0

1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1

1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0

0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0

0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0

1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1

0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1

1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1

1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0

0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1

0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1

0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1

0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1

1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0

1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1

0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1

0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1

0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0

0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0

1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1

0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0

0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1

0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0

1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1

1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1

1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0

0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0

0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1

0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0

0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0

0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1

1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0

1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1

1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1

1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0

1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1

1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1

1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1

1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0

1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0

1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0

0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1

0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1

0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0

0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1

0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0

0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1

0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0

0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1

1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1

0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1

0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1

1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1

1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0

0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1

1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0

0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1

1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1

1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1

0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0

1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0

0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1

0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0

0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1

1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0

1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0

0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1

1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1

1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1

0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1

0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1

0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1

0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1

1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1

1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0

1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1

1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1

0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0

1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1

1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0

0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1

1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0

0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1

0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0

1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0

0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0

1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0

0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1

1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0

1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1

0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1

1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1

0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1

0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0

1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0

0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1

0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1

1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1

0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0

0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1

1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1

0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1

1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1

1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1

0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0

0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0

1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1

0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0

1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0

1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0

0
0
0
1
1
0
0
1
0
1

1
0
1
0
1
0
1
1
0
1

1
0
0
0
0
1
1
0
0
1

1
1
0
0
1
1
0
0
1
1

0
0
1
1
0
1
0
0
0
1

1
1
0
0
0
0
0
0
0
1

499
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1

500
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0

501
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0

502
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1

503
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1

504
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0

1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0

1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0

1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0

1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0

0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0

1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0

0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0

0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1

1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1

0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0

1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0

1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0

0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0

1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1

1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1

0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0

0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1

1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1

0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0

1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1

1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1

1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1

1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0

0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0

1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1

1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1

0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1

1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0

1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0

0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0

1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1

1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0

0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1

1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1

1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0

1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1

1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0

1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0

1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0

0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0

0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0

1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0

0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0

0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0

0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0

1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1

1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1

0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1

1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0

0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1

0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1

1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0

1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1

0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1

1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1

1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1

0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0

0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1

1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1

0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1

0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0

0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1

0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1

0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0

0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1

0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0

0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1

0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0

0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1

1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1

1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1

0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0

0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1

1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0

1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1

1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1

1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0

1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1

0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0

1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1

0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0

0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0

0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0

0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1

1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1

1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0

0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0

1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1

1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0

1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0

1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1

0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1

0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1

0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1

1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0

0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1

1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1

1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0

1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0

0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0

1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1

0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1

0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1

0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0

1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0

0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0

1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1

1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0

0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0

1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1

1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1

1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0

1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1

1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1

1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0

0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1

0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0

0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0

1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1

1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0

0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1

1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0

0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0

0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1

0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0

1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0

1
1
1
1
1
0
1
0
1
1

0
0
0
1
0
0
1
1
1
0

0
0
0
1
0
1
0
0
1
1

1
1
0
1
1
0
0
1
0
0

0
0
1
0
0
0
1
0
1
1

1
0
0
0
1
1
1
0
1
1

505
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1

506
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1

507
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0

508
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0

509
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0

510
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1

1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0

0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0

0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1

1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0

1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1

1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1

0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0

0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1

0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1

0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1

0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1

1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0

1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1

0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0

1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1

1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0

0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0

0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1

0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1

0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1

1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0

1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1

0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0

1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0

0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1

1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0

0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0

1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1

1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0

0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1

1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1

1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1

1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0

0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1

0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1

0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0

1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0

1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0

1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0

0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1

1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1

0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1

0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0

0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1

1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1

0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1

0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0

1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0

1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0

0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1

1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1

1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1

0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1

0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1

1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0

1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0

1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1

0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0

1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1

0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0

1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0

0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1

1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1

1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0

1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1

1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0

0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1

0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0

1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0

0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0

1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1

0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1

1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0

1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0

1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0

0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1

0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1

1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0

0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0

0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1

1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1

0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1

0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0

0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1

0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1

0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1

1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1

0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0

0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0

0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0

0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0

1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0

0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0

1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0

1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0

1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1

0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0

1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1

0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0

1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1

1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0

1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1

1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1

1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1

0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0

1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0

0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1

0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1

1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1

1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1

1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1

1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1

1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0

0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1

1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1

0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0

1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0

0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0

1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1

1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1

1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0

0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0

0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1

0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1

0
0
0
1
1
1
0
0
0
1

0
0
0
1
0
0
1
0
0
0

0
0
1
0
0
1
0
0
1
1

1
1
1
0
1
1
1
1
1
1

0
0
0
0
1
1
1
1
1
0

0
0
0
0
0
0
1
0
1
0

511
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1

512
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1

513
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0

514
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0

515
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1

516
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0

0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1

0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0

1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0

1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0

1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0

0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0

0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1

0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1

1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1

1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1

1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1

1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0

0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1

0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0

1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1

1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1

0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1

1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1

0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1

1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1

1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1

1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1

0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0

0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1

0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0

1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1

0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0

1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0

1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0

0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0

0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0

1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0

1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0

0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1

1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0

1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0

0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0

1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0

0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0

1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0

1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0

0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0

0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0

1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1

0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0

0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0

0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0

0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0

0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0

1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0

1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1

0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0

1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1

0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0

0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1

0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0

1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0

0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0

0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0

0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1

1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0

0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0

1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1

1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0

1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1

0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1

0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1

0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0

0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0

1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1

1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0

0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1

1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0

0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0

1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1

0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0

1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1

1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0

0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0

0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0

1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0

1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0

1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0

0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0

1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0

0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1

0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1

1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1

0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1

1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1

0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0

1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1

0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0

1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0

0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1

1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1

1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1

1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0

0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1

1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1

1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0

0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0

0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0

0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1

1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1

1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1

0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0

1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1

0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1

1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1

1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1

1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0

0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0

1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1

1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0

0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0

1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1

0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0

0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0

1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0

0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0

0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0

0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1

0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0

1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0

0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1

0
0
0
1
1
0
1
0
0
0

1
1
1
0
1
1
1
1
0
0

1
1
0
1
1
1
1
1
1
0

0
1
0
1
0
0
1
1
0
1

1
0
1
1
1
1
0
0
1
1

0
1
1
1
0
0
0
1
0
0

517
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0

518
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1

519
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1

520
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1

521
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1

522
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0

1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0

1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0

0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1

0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0

1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1

0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0

1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0

0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1

0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0

1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0

0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1

0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1

1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0

0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0

1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0

0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0

0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1

1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1

0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0

0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0

0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1

0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1

1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0

1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0

0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0

1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1

1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1

1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0

0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0

0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0

0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0

0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0

1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0

1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0

0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1

1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1

0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0

0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0

0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0

0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1

0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0

0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1

0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1

1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1

0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1

1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1

0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0

0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0

1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0

0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1

0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0

0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1

1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0

0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1

1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1

0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0

1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0

1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0

1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1

0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1

1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0

0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0

0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1

0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1

1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1

0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1

1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0

0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0

0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1

1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0

0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1

1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1

0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0

1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1

0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0

1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0

1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0

1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0

1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0

0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0

0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1

1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0

0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0

1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0

1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1

0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1

0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0

1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0

1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1

1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1

1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0

0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0

0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1

1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0

0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1

0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0

1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1

0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1

1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0

1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1

1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1

1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1

1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1

0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0

0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0

1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1

1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1

0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0

0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1

0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1

0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1

0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1

1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1

1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0

1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0

1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0

1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0

0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1

1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0

1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1

0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0

0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1

0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0

0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0

0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0

1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1

0
1
1
0
0
1
0
0
0
0

0
0
1
0
1
1
0
0
1
0

1
1
0
0
1
0
1
1
0
0

0
0
0
1
1
1
1
1
0
0

0
0
1
1
1
0
1
1
0
1

0
0
0
0
0
0
1
1
0
0

523
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1

524
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1

525
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0

526
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1

527
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1

528
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0

1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1

1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0

0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1

1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1

1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1

1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1

1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1

0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0

0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1

1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1

1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1

0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1

0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1

0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1

1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0

1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1

0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0

0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0

1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1

0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0

0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1

0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1

1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0

1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1

0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0

0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0

0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0

0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0

0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1

1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1

1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0

0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1

0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1

0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1

0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1

0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1

1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0

0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1

1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0

0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1

0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1

1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0

1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0

0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1

0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0

1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0

1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1

0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0

0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1

0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1

1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1

1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1

0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0

0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0

1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1

1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0

0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0

0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1

1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0

0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0

1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0

1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1

0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0

1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1

0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0

1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0

1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0

0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0

1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1

1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1

0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1

0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0

1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0

1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1

0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0

0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0

0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0

1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0

1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0

0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0

0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0

0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1

0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1

1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1

0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0

1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1

1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1

0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1

1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0

1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0

0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0

1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1

1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1

0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1

1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1

1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0

0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1

0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1

1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1

1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0

0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0

0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0

1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0

1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0

1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0

1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1

0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1

1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0

0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1

0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1

0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0

0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0

0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1

1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0

0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0

1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1

0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0

0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0

1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0

1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1

1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0

1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1

1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1

0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0

0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0

0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0

1
1
1
1
0
0
0
0
0
1

1
1
1
0
1
1
1
1
1
1

0
0
1
1
1
0
1
0
1
0

1
0
1
0
0
1
1
0
1
0

0
0
1
1
1
0
1
0
1
0

1
1
0
1
1
0
1
1
0
1

529
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1

530
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1

531
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0

532
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0

533
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1

534
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1

0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0

1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0

0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1

1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0

1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0

1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0

1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0

1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0

0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0

1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0

0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1

0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1

1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0

0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1

1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1

1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0

1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1

1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1

1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0

1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0

0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0

0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1

0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1

0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0

1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0

0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1

1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0

0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0

0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0

0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1

0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1

0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0

0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1

1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0

0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0

0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0

1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0

1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0

0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0

1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1

1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1

1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1

1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0

1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0

1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1

1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1

1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0

1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1

0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0

0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1

1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0

1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1

0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0

0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1

0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1

0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0

1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1

0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0

1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0

1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1

0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0

1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1

1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0

1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0

1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0

1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0

1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0

0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1

1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1

0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0

1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1

0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0

1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1

0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1

1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0

1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1

0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0

0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0

1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1

1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0

1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0

1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0

0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1

1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0

1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1

0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0

0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1

0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0

1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1

0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0

1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0

0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1

1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1

1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0

1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0

1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1

0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0

0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0

1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1

1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0

1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1

1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1

0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0

0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1

0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0

1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1

1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0

0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0

1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0

0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1

0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1

0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0

0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1

0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0

0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1

0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0

0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1

1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1

1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0

0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1

1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1

0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1

1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1

0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1

1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0

0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0

0
0
1
0
0
0
0
0
0
0

0
1
1
1
0
0
0
0
1
1

1
0
1
0
0
0
1
0
1
0

0
1
0
0
1
1
1
0
0
0

0
1
1
0
1
0
1
0
1
1

1
0
1
0
1
1
0
0
1
0

535
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1

536
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0

537
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0

538
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0

539
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0

540
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1

1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1

1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1

0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1

1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0

1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1

1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0

1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1

0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0

1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1

0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0

1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1

0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0

0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0

0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0

1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0

0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0

0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1

0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0

0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1

1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0

1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0

1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1

1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0

1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0

0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1

1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1

1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0

0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0

1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0

1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1

1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1

1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1

1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0

0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0

0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0

0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1

1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1

0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0

0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0

0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0

1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1

1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0

0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1

0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1

1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1

0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0

1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1

0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0

1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0

0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1

1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0

0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1

1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1

1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0

1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1

1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1

0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0

1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1

1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0

0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1

0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1

1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0

0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0

1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1

0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0

1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0

1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0

1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1

0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1

0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0

1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1

1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1

0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1

0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0

1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0

0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1

1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0

1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1

0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1

1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1

1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1

1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0

1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0

1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1

0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0

1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0

0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0

1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0

1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1

0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1

1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0

1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0

1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1

1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0

1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0

0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1

1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0

0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1

0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1

1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0

0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0

1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1

0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1

0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0

1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1

1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1

1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0

1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1

1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0

1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1

0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1

0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1

1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1

0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1

1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0

1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1

1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1

0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0

1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0

0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0

0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1

1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0

0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1

1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1

0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0

0
0
0
1
0
0
0
0
1
0

1
0
1
1
1
1
1
1
1
0

0
1
0
1
1
1
1
1
1
1

0
1
1
1
1
0
0
1
1
0

1
0
1
0
0
1
0
0
0
1

1
0
0
1
1
1
1
0
1
0

541
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0

542
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0

543
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1

544
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0

545
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0

546
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1

1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1

1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0

0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0

1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0

1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0

0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0

1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0

1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1

1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0

0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1

0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0

1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1

0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0

0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0

0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1

1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0

1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1

1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1

0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1

0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1

1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1

1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0

1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0

1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1

1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0

1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0

1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0

1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1

1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1

1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1

0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1

0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1

0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0

1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1

0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1

0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0

0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0

0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1

0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1

1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1

1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0

1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1

0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1

0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1

1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0

0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1

1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1

1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1

1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1

1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0

1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0

1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1

0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0

1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0

1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1

0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0

0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1

0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0

1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0

0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0

1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1

0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0

1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0

1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0

0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0

0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0

1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1

1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0

0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1

1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1

1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1

0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0

1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1

1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0

0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0

1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0

0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1

1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0

1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0

0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0

0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1

0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0

0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1

1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1

0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1

0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0

0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0

0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1

0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1

1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0

1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1

0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1

0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0

0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0

1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1

1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1

1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0

1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0

0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0

0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1

0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1

1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0

1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0

1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1

1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1

0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1

1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1

0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1

0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0

1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1

0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1

0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0

0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0

1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0

0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1

1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0

1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0

1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1

1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0

0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1

0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1

1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1

1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0

1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0

1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1

0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1

0
0
0
1
1
1
1
1
1
1

0
1
0
1
1
0
0
1
1
1

0
0
0
0
0
0
0
0
1
0

1
1
1
0
1
1
1
0
1
0

0
1
1
1
0
0
0
1
1
0

0
1
1
1
0
0
1
1
0
1

547
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0

548
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1

549
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1

550
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1

551
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0

552
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1

0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0

0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0

1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0

1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0

0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1

1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0

0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0

0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1

0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1

0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1

1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0

1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0

0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1

1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0

1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1

0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1

1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1

0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0

0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0

1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1

1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0

0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0

0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0

1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1

0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1

0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0

0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0

1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0

0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0

0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0

1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1

0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0

1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1

1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1

1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1

1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1

0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1

1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0

0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1

1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0

0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0

1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1

0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0

1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0

0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0

0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1

0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1

1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0

1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1

0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0

0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1

1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0

0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0

1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1

1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0

0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0

1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0

0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1

1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1

1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1

1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0

1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0

0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0

0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1

0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1

1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0

0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1

1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1

1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0

1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0

1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0

1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1

0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0

1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1

1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1

1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0

0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1

0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1

1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0

0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0

0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1

1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1

0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0

1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1

1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0

0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0

1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0

0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0

0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1

1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0

0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0

0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1

1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1

0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1

0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0

1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1

1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0

0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0

0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0

0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1

1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0

1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1

1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0

0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1

0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1

1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1

0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0

0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0

0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1

1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0

0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1

1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0

0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1

1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1

1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1

0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1

0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1

1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1

0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1

1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0

0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1

0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0

1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0

1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1

1
1
0
1
1
1
0
1
0
1

1
0
1
0
1
0
0
0
0
1

1
1
0
0
1
1
1
1
1
0

0
0
1
0
1
1
0
1
1
1

1
0
0
0
1
1
0
1
0
0

1
0
1
0
0
1
0
0
1
0

553
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1

554
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0

555
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0

556
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0

557
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1

558
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1

1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1

1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1

1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1

1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1

0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1

1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1

1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1

1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0

1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1

0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0

0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0

1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1

0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0

0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1

0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1

0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1

0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1

0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1

0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0

0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0

1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1

1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1

0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1

1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1

1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1

0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0

0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1

1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0

0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0

0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0

1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0

0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1

1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1

0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1

1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1

1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1

1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0

1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1

1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0

0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0

0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0

1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0

1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1

0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0

0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1

1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0

0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0

1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0

0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0

0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1

0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0

1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1

0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1

1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1

1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1

1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1

0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0

1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0

0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0

1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0

1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0

0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0

1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0

0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0

0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0

1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0

0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1

0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0

1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1

1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1

0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1

1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1

1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0

1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0

1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1

0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1

1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1

0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1

0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1

1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1

1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0

0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1

0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0

0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1

1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1

0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0

0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1

0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0

1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1

1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0

0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0

1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0

1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0

0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1

1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1

1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0

0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1

1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1

1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1

1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0

1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0

0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0

0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1

1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0

0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0

0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1

0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0

0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0

0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1

1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0

0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1

1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0

0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1

0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0

1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0

1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0

1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1

0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1

1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0

1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0

0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1

1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1

0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1

0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0

1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1

0
1
0
0
0
0
0
1
0
1

1
1
0
1
1
0
0
0
1
1

1
1
1
0
0
0
1
0
0
1

1
0
0
1
0
0
1
1
1
0

0
1
0
0
1
1
1
1
1
1

0
1
1
0
1
1
0
1
0
0

559
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1

560
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1

561
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0

562
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0

563
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0

564
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1

0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1

0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1

0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0

1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0

0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0

0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0

0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1

0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1

1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0

0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1

1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0

1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0

1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1

0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0

1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1

1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0

0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0

0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0

1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1

0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0

0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0

0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1

0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0

1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1

1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1

0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0

0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0

0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0

0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0

0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1

1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1

1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1

1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1

1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0

1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1

0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0

0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0

0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1

1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0

1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1

1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1

1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1

1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0

1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0

1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0

0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1

1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0

1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0

0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1

0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0

0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0

0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0

0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0

1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0

0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1

1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1

1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0

0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0

1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0

1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1

1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0

1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0

1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1

0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1

1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0

0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0

0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1

1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1

1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0

0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0

0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0

0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0

0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1

1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0

1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0

1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1

0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0

0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0

0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1

1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1

1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0

0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0

0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1

1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0

0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1

0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1

0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0

0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1

0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0

0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1

1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0

0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0

1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0

1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1

1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1

1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0

1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0

1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1

0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0

0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0

0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0

0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1

1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1

1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1

0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1

0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0

1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1

0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0

1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0

1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0

1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0

1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1

1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0

0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1

0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0

1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0

0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0

0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1

1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1

1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0

0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1

0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1

0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0

0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0

0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1

1
0
1
1
1
0
1
0
1
1

1
1
1
1
1
1
0
0
0
1

1
0
1
0
1
0
0
0
0
0

1
1
1
1
1
1
1
0
1
0

0
0
1
0
0
0
0
0
1
1

0
1
0
1
0
1
1
1
1
0

565
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0

566
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0

567
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0

568
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1

569
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0

570
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1

0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0

1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0

0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0

1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1

1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1

0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0

0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1

1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0

0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1

1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1

1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1

1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1

1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1

1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0

0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0

0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1

0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1

1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1

0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1

0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0

0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0

1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0

1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0

1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0

0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1

0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0

0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0

1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1

0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1

0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1

1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1

0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0

0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0

0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0

1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1

1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0

0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0

0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0

0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0

0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0

1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0

1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1

1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1

0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0

1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1

0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1

0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0

1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1

0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0

0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0

0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1

0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1

0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1

1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1

1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1

1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0

1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1

1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1

1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0

1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1

0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0

1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1

1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1

0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0

1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0

0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0

1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0

0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0

1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0

1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1

1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1

0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1

0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0

0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1

0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1

1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1

1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1

0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0

0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1

1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0

0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1

0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0

1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0

1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0

1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0

0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1

1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0

0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1

1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1

1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0

0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0

0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0

0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0

0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1

1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1

0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0

1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0

0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0

0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1

0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1

1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0

0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1

1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1

0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1

1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1

0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0

0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1

1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0

0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1

1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0

1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1

0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0

0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1

1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0

1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1

0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0

0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0

1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0

0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0

0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0

0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0

0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0

1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0

1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0

0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1

1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1

0
1
1
0
0
0
0
0
1
0

0
1
0
0
1
1
0
0
1
1

1
1
1
0
1
0
0
1
1
1

0
0
0
0
1
1
0
0
0
1

1
0
1
0
1
1
1
0
1
0

0
0
1
1
1
0
0
1
0
0

571
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1

572
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1

573
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1

574
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0

575
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0

576
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0

0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1

1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1

1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0

0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1

0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0

0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1

1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0

0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1

1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0

0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1

1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0

0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0

1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1

0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1

1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0

0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0

1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1

1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0

1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1

0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1

0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0

1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1

0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1

0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1

1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0

0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1

1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0

1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1

0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1

0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1

1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0

0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0

0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0

1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0

1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1

1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1

1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1

0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0

0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0

1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1

0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0

0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0

1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1

0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0

0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1

1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1

0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0

0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1

1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0

0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0

0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1

1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0

1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1

1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0

0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0

1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0

1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1

1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1

1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0

1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1

0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1

0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0

0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1

1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1

1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0

0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0

1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0

1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1

1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1

0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1

1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0

1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0

1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0

0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0

0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1

1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1

0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0

1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0

1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1

1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0

0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0

0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0

1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1

1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0

0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1

0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0

0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1

0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1

0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0

1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1

1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0

1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1

1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1

1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0

1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0

0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1

1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1

1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0

1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0

1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1

0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0

0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0

1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0

1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0

0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1

1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0

0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0

0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0

1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1

0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1

0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0

0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0

0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0

1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1

0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0

1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0

1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1

0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0

0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0

0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1

0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0

0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1

1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0

1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1

0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0

0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1

1
0
0
0
1
1
0
1
1
0

0
1
1
1
0
0
0
1
0
0

1
0
0
0
1
1
0
1
1
1

1
0
1
0
0
1
0
0
0
0

0
0
0
1
1
1
0
0
1
0

0
0
1
0
1
1
1
1
0
0

577
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0

578
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1

579
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1

580
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0

581
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1

582
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0

0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1

0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1

1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0

1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0

0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1

0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1

1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0

1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1

0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1

1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1

0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1

1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0

1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1

1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0

1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1

0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1

1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1

0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1

1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0

1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0

0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1

1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1

0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1

1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0

0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0

1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0

1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0

0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1

0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0

1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1

0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0

1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0

0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1

0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1

0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1

1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0

1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1

1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1

1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0

0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0

0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0

0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1

1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0

0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1

1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0

1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1

1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1

0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0

1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1

1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1

0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1

1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0

1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0

0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1

1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0

1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0

1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0

1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1

1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1

1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0

1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1

0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0

0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1

0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1

1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1

1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0

0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0

1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0

0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1

1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0

1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0

0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1

0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0

0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1

0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1

0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1

1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0

0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0

1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1

0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1

1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1

0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1

0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1

0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0

1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0

0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1

0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1

0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0

1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0

0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0

1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1

0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1

0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0

1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1

0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0

1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0

1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1

1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0

1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1

0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1

0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0

0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0

1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1

1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1

0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1

1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1

1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1

0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1

0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1

0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0

1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0

0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1

0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1

0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0

1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0

1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1

1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1

0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1

0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1

1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0

0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1

0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1

1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1

1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0

0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1

1
0
1
1
0
1
1
1
0
1

0
1
1
0
0
1
0
0
1
1

1
1
1
0
0
0
0
0
0
0

0
0
0
1
1
1
0
0
1
1

1
0
1
1
0
1
1
0
1
0

1
1
1
1
0
0
0
0
0
1

583
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0

584
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1

585
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1

586
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1

587
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1

588
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0

1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1

1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0

1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0

1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1

1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0

1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1

0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1

1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1

0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1

1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0

0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0

1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1

1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1

0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1

1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0

0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0

1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0

1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1

1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1

1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0

1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0

0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1

1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0

0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1

0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0

1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0

0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1

0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1

0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0

1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1

0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0

1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1

1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0

1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0

1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1

1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0

0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1

0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1

1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1

0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0

0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1

0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1

1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1

0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1

0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0

1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1

1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1

0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0

1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1

0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0

0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0

0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1

1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1

0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1

1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1

1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1

0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0

0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1

1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1

0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0

0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1

0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0

1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1

1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0

0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0

0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1

1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1

1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1

0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0

1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0

1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1

0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1

0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0

0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1

1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0

1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0

0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0

0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1

0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1

0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0

1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1

1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1

1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0

1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1

0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1

1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0

1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0

0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0

0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0

1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0

0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0

1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0

1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1

1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1

1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0

0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0

1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1

1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0

0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1

1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0

0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0

0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1

1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1

1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1

1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0

0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0

1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1

1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1

1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1

1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1

0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0

1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0

1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0

1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0

0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0

0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1

1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0

1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0

0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0

1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0

1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0

1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0

0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0

1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1

0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1

0
1
1
1
1
0
0
1
0
1

0
1
1
0
1
1
0
1
0
0

0
1
1
1
0
0
0
0
1
1

1
1
0
0
0
1
1
1
1
1

0
0
0
0
1
0
1
0
1
0

1
1
0
0
1
0
0
1
0
0

589
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1

590
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1

591
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0

592
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0

593
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0

594
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1

1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0

0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1

0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0

1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1

0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0

1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1

0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1

1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0

1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0

1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0

1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1

0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1

0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1

1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1

0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1

0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1

0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0

1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1

1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0

0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0

0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1

1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1

1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1

0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1

0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1

0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1

1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1

0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0

1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0

0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1

1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0

1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0

1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0

1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0

0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0

0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0

1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1

1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0

1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0

0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1

1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1

0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1

0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1

1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0

0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1

0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0

1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0

1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1

1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1

0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0

1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0

0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0

1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1

0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1

0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1

0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0

0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0

1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1

0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0

1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0

1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1

0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1

0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0

1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0

0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0

0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0

1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0

0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1

0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1

1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0

1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0

0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1

1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0

0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1

0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0

1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0

0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1

1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0

1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1

0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1

1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1

1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1

1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1

0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0

1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0

1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1

1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1

1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0

0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1

1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0

1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0

0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1

1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0

0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0

1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0

0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1

1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0

1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0

1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0

0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1

1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1

1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1

0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1

1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0

1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1

0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0

0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1

0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1

1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0

0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1

0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0

0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1

1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0

1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1

0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1

0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1

1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1

0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1

0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0

1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1

0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0

0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0

0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0

1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1

1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1

1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0

1
0
1
0
0
1
1
1
1
0

0
1
0
0
0
0
0
1
1
1

1
0
1
0
1
1
1
1
0
0

1
0
0
0
0
0
1
1
0
0

0
0
0
1
0
0
0
0
0
0

1
0
0
0
0
1
1
1
0
1

595
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0

596
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1

597
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0

598
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0

599
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0

600
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0

1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0

0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0

1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1

1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1

1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0

1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0

1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0

0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0

0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0

0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0

0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1

1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1

1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1

0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1

1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1

1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0

0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1

1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1

1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1

1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1

1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0

0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1

1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0

0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1

0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1

1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0

0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1

0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1

0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0

0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0

0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0

1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1

1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0

1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0

1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0

1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0

0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0

0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0

1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0

0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0

0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0

0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0

0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1

1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1

1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0

1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1

0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0

1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1

0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1

1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0

0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0

1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0

0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1

1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1

0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1

0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1

1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1

0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1

0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1

1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0

1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0

0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1

1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0

0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1

0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0

0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1

1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1

0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0

0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1

1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1

0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1

0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0

0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0

0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1

1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1

0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1

1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1

0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1

0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1

1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1

0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0

0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1

1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1

1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1

0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1

1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1

1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0

0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1

1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0

0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1

1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0

0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0

0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1

0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0

1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1

1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1

1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0

0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1

0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0

0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0

1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0

0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0

1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1

1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0

0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1

1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0

1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1

0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1

0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0

0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0

1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1

0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0

0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1

1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1

1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0

1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1

1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1

1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0

0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0

1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0

1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1

1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0

0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0

1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0

0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0

1
1
1
1
1
0
0
0
0
1

1
1
0
0
1
1
1
0
0
0

1
1
1
1
1
1
0
1
0
1

1
0
1
1
1
0
0
1
0
0

1
1
0
0
0
0
1
0
1
0

1
1
1
0
1
1
1
0
1
0

601
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1

602
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1

603
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1

604
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0

605
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0

606
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1

0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1

0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1

1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1

1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0

1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0

1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0

1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0

1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1

1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0

0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1

1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1

1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1

1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0

1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1

1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1

0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1

1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1

0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1

1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0

0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1

1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0

0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1

0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1

0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0

0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0

0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1

0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1

1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1

1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0

1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0

1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1

1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1

0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1

0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0

1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0

1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0

0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0

0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1

1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1

0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0

0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0

1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0

0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1

1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1

1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0

0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1

1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0

1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1

1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1

1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0

0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1

0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1

1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0

0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0

1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1

1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0

1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0

0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0

0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0

1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1

0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0

1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0

1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1

0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0

0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1

0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0

0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0

0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1

1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0

0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0

1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1

1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1

1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0

1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1

0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0

1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1

0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0

1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0

1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0

1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1

0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1

1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1

1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0

0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1

0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0

0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0

1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1

0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1

1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0

0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0

1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0

0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1

1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0

0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0

0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0

1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0

0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0

1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0

1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0

0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1

0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1

1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1

0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0

1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1

1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1

0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1

1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1

0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1

1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0

1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0

0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0

1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0

0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1

1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0

0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1

0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1

0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0

0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0

1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0

1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1

1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1

1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0

1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0

0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0

0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1

1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0

1
1
0
1
1
0
1
0
0
0

0
1
1
0
1
0
0
1
1
1

1
0
0
0
1
0
1
1
0
0

0
0
1
1
0
1
1
1
1
0

1
1
1
1
0
0
0
1
1
1

1
0
1
0
0
1
1
0
1
1

607
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0

608
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1

609
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1

610
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1

611
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0

612
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0

0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1

0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0

0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0

1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0

1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1

1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0

0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0

0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1

1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1

0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1

0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0

1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1

0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0

0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1

0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1

0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0

1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0

1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1

1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1

1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1

0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1

0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0

0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1

0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1

0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1

0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0

0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1

1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0

1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0

1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1

0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0

1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0

0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1

1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0

1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1

1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0

1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1

0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1

1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0

0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0

0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0

1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1

1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1

0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1

0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0

1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1

1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0

0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0

0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0

1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0

0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0

1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0

1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0

1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1

0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0

1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0

1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0

0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0

0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0

1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0

0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0

1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1

1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0

1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0

0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0

0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1

0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1

1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0

0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0

0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1

1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0

1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0

1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0

1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0

1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1

0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0

1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0

1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1

1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1

0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1

0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1

0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1

1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0

0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0

0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1

0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1

0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0

0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0

0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0

1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0

0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0

1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1

0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1

0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0

0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1

0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0

0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0

0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0

1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0

0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0

1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0

0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1

1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1

0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1

0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0

1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0

0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0

1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1

1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0

0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0

0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0

0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1

0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1

1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0

1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0

1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1

1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0

1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0

1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0

0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0

0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0

0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1

1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1

0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0

0
0
0
1
0
1
0
0
1
0

0
0
0
1
0
1
0
0
1
0

0
0
1
1
1
1
1
0
1
0

0
0
1
0
0
0
1
1
0
0

1
0
0
1
1
0
1
0
1
1

0
0
1
1
1
0
1
0
1
0

613
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1

614
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1

615
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0

616
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0

617
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1

618
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0

1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1

1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0

0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0

1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0

0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0

0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0

1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1

1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1

0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1

0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1

1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1

1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1

1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1

1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0

1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0

0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1

1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0

1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1

1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1

0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0

1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0

0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0

0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1

1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1

1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0

0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0

1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0

0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1

1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1

1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1

0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1

1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0

0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1

0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1

1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0

0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1

0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1

0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1

0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0

0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1

1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1

0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0

0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0

0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0

1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1

1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0

0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0

1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0

0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1

1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0

0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1

0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0

1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0

1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0

0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1

1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0

0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1

0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1

0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0

1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0

1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0

1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1

0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1

1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0

0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0

1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0

1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1

0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0

0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0

0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1

1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0

1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1

0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0

0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1

1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0

0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1

1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0

0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1

0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0

0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0

1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1

0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1

0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0

1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0

1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0

1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0

0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0

1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0

1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1

0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1

0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0

0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1

0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0

1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0

0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1

1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0

0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1

1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1

1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0

0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0

1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1

0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0

1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1

0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0

1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0

0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1

0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0

0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1

1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0

0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0

1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1

1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0

1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0

0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0

1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1

0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1

0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1

0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0

1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0

1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1

1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1

1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0

0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1

0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0

1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1

0
1
0
1
0
1
1
1
0
1

1
0
1
0
1
0
0
0
0
0

0
1
0
0
0
1
1
1
0
1

1
0
1
0
0
0
0
1
0
0

0
0
0
0
1
0
0
0
0
1

0
1
0
1
1
0
1
0
1
1

619
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0

620
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0

621
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1

622
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0

623
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0

624
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0

1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1

0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1

0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0

1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1

1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0

1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0

1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0

1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0

1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0

1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1

1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1

0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0

0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1

1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1

0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1

1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0

1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1

0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1

1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1

1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0

0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0

0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1

1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0

0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1

1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0

1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1

0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0

0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1

1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0

1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0

1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1

1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0

1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1

0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0

0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0

0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1

1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1

0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0

0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0

1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1

0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0

0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1

0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1

0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1

0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1

0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1

1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1

1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1

1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1

1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0

1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1

0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0

0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1

1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0

0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0

1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1

0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0

0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1

1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0

0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1

0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1

0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1

1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1

0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1

1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0

0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1

0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1

1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1

1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0

0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1

1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0

0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1

1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1

1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0

0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0

0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1

1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0

1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1

0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1

0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0

0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1

0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0

1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0

0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0

1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1

0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1

0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0

0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1

1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0

0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0

1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1

0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0

1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0

1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1

0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1

0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0

1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0

1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0

0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1

1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0

0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0

0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1

1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1

1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1

1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0

1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0

1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0

1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0

0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1

0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1

0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0

0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1

0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1

1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1

0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0

1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0

1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0

0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0

0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1

0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1

1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1

1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0

0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0

0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1

1
1
1
1
1
0
0
0
0
1

0
0
1
0
0
0
0
1
0
1

0
0
0
0
0
0
0
1
0
0

0
1
1
1
1
0
0
1
1
0

1
1
0
1
0
1
1
0
0
0

1
1
1
1
1
0
1
1
0
1

625
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0

626
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1

627
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1

628
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0

629
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1

630
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0

1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1

1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1

1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1

0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1

0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1

0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0

0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1

1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0

1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0

0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1

0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1

0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1

0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0

0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0

0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1

0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0

0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1

0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1

0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0

1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0

1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1

1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0

1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0

0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1

1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1

0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0

1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0

1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0

0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0

1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0

1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1

1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0

1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0

1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0

0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0

1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0

1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0

1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1

1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1

1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1

0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1

0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1

0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0

1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1

0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1

0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0

0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1

1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0

0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0

1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1

0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1

1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1

0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1

0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0

0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0

0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1

1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0

1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0

1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0

0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0

0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1

0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1

0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0

0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1

0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1

0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1

1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0

1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0

0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0

0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0

0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0

0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0

0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0

0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0

1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1

1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1

1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0

0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1

0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1

1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0

0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1

0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1

1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1

0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0

0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1

1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0

1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0

0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1

0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0

1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1

0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0

0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0

0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1

0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1

1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0

0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1

0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1

0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0

0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0

1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1

1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0

1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1

0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0

1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0

0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1

1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0

1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1

1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1

1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0

0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0

0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0

0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1

1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1

0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0

0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1

1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1

1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1

1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0

0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0

1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0

1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0

1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1

1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0

1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1

1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0

1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0

1
0
0
1
0
0
0
0
0
0

1
1
0
0
0
1
1
0
0
1

0
0
1
1
0
0
0
1
1
0

1
0
0
1
0
0
1
0
0
0

1
0
1
0
0
0
1
0
0
1

0
1
0
1
0
1
0
1
0
0

631
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0

632
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1

633
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1

634
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0

635
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0

636
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0

1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1

1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0

0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1

0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1

1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1

1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0

1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1

0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1

1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1

0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0

1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0

1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1

0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1

1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0

0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1

1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0

1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1

0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0

1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0

1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1

0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1

1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0

1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0

1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0

0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1

0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0

0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1

1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1

0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1

1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1

0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0

1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0

1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1

1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1

1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0

1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0

1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0

0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0

1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1

0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0

1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0

0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0

1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0

1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0

1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0

1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1

1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0

1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1

1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1

0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1

0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1

1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1

0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0

0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0

1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1

1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1

1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0

0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0

0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1

0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0

0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0

1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0

1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0

1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1

1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1

0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0

1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1

1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0

0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1

1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0

1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1

0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0

0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1

0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1

1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0

1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1

0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0

0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0

1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1

0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0

0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0

0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0

1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1

1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1

0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1

0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1

1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0

0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1

0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0

0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1

0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0

1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1

1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0

0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0

1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1

1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0

1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1

1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0

1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0

1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1

0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1

1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1

0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0

1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0

0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0

0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0

0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0

0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0

0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0

1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0

0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0

0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1

1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1

0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0

1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1

0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1

1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0

1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1

0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1

1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0

1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1

1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1

1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0

1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1

1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0

0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1

1
0
1
0
0
1
0
1
1
1

1
0
1
0
0
1
0
0
0
0

1
0
0
1
1
0
1
1
1
1

1
1
1
1
0
1
0
0
0
1

0
0
0
1
0
0
1
0
1
1

0
0
1
1
1
1
0
0
1
1

637
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0

638
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0

639
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1

640
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0

641
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0

642
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0

1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1

1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1

0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0

1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0

0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1

0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0

0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0

1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0

1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0

1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1

1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0

0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0

0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1

1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1

0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1

1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1

0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1

0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1

1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0

0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1

1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0

1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1

0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1

0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0

0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0

0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1

1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1

1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0

1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0

0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0

1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0

1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0

0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1

0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0

1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1

0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1

0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1

1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0

0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1

1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0

0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1

0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1

0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0

0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1

1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0

0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1

0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1

1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0

0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1

1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0

0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0

0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0

1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0

1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1

1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0

0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1

0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1

0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0

0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1

0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0

0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0

1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1

0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1

0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1

0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1

1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1

0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0

1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0

0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0

0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1

0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1

1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0

0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1

1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0

0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1

1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0

1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0

0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0

0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1

1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0

1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1

1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1

0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1

0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0

1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0

1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1

1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0

0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0

1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1

0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0

1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1

0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1

1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0

1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1

1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0

0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0

1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1

1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0

0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0

0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0

0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0

0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1

1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0

1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1

1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1

1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0

1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0

1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0

1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0

0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1

1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1

0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1

0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0

1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0

0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1

1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1

1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1

0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1

1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0

0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1

1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0

1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1

0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0

1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0

0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1

0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1

0
0
0
1
1
1
1
0
1
1

1
1
0
1
0
1
0
0
1
1

0
0
1
0
0
1
0
0
1
0

0
0
0
1
0
0
0
1
1
0

0
1
1
0
0
1
1
0
0
0

1
0
0
1
1
1
0
1
1
1

643
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0

644
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1

645
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0

646
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0

647
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0

648
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1

1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0

0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1

0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1

0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1

1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0

1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0

0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1

1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1

1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1

1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0

1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0

0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1

1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1

0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1

0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1

0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0

0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1

1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1

0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1

0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1

0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0

1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0

1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0

0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0

1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0

1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0

0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1

0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1

1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0

1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1

0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0

1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0

1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0

1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1

0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1

0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1

1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0

1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0

1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1

0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1

1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1

0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1

0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1

1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0

0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0

1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0

0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0

0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0

0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1

1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0

0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1

0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1

0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1

0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0

0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0

0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0

1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0

1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0

1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0

0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1

0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0

1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0

0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0

1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1

1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0

1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0

0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1

1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1

1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1

1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1

0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1

0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1

0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0

0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0

0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1

0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1

0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0

1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1

1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0

0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1

1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0

0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1

1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1

1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1

0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1

1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0

0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1

0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1

1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1

0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1

1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0

1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1

1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1

1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0

1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1

1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1

1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1

0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0

1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0

1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0

0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0

1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1

0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1

1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0

0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1

1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1

1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0

1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1

1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1

0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1

0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1

1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1

1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1

1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1

1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1

0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1

1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1

0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1

1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0

1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1

1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1

0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0

1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1

1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0

1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0

1
1
1
0
0
1
0
1
1
0

1
0
0
0
1
0
0
1
1
1

1
1
0
0
0
1
1
1
0
0

1
1
0
0
1
1
1
1
0
1

0
1
1
0
0
0
1
0
1
1

0
1
0
0
1
1
0
0
1
1

649
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0

650
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1

651
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0

652
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1

653
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1

654
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0

0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0

0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1

0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0

0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1

1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1

1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0

0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1

1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1

1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0

1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1

0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1

0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1

1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1

1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1

0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1

1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0

1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0

1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0

0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0

0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1

0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0

1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1

1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1

0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0

0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0

1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1

0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0

1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1

0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1

0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1

0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0

1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1

0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0

0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1

1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1

1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0

0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1

1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1

1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0

0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0

0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1

0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1

0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0

0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0

0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1

1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1

0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0

1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1

1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1

0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0

1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0

1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0

0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0

1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0

1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1

1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0

0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0

0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0

0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0

1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1

0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1

1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0

0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1

0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0

1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0

1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1

0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0

0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0

1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1

1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1

1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1

1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0

0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0

0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1

1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0

1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0

1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1

1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0

1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1

1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1

1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0

1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0

1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0

1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0

1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0

1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0

1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0

1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0

1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1

0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0

1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0

0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0

0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1

1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1

1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1

1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0

1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0

0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1

1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0

1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1

1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0

1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1

1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0

1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0

0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0

1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0

0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0

1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0

1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1

1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1

1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0

1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0

0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0

1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0

0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0

0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1

0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0

1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1

0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0

1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0

0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1

0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1

0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1

0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1

0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0

1
0
1
0
1
1
1
0
1
0

0
1
1
1
1
1
0
1
0
1

1
1
0
1
0
1
0
0
0
1

0
0
1
0
0
0
0
0
1
1

1
0
1
0
1
0
0
0
1
0

0
0
0
1
1
0
0
0
1
1

655
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1

656
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1

657
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0

658
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0

659
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1

660
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0

1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0

1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0

0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0

0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0

0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0

0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0

1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1

0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1

0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0

1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0

0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1

1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1

0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0

0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0

0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1

0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1

0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1

0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1

1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0

0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1

0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1

1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1

0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0

1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1

1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0

0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1

1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1

0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1

1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0

0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1

1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1

0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1

0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1

1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1

0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1

1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1

0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0

0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1

1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1

1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0

0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1

0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1

1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1

1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0

1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0

1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1

0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0

1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1

1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1

1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1

1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0

0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0

1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0

0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1

1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1

1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1

0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1

0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1

1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1

1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0

0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0

1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1

1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1

1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1

0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0

0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0

1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0

0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0

0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0

0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1

1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0

1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0

0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1

1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1

1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1

1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1

0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0

0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1

0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1

1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1

0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0

0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1

0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1

1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0

0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0

1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1

1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1

1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1

0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0

1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1

0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0

0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1

1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1

0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1

0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1

0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1

1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0

0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0

0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0

1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0

1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0

0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1

0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1

1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1

1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1

1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1

1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1

1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0

1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1

0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1

0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0

0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0

0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1

1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0

1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0

1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0

1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0

1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1

0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0

0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0

1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0

0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0

0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1

0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0

0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1

1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0

0
0
1
1
0
1
1
1
0
1

1
0
1
1
0
1
1
1
1
0

1
1
0
0
1
1
0
1
0
0

0
0
1
0
0
1
0
0
0
0

1
0
1
0
0
0
0
0
1
0

1
0
1
0
1
1
0
0
1
1

661
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1

662
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0

663
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0

664
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0

665
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0

666
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1

1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0

0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1

1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0

1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1

1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0

0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1

1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0

0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1

1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1

1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1

1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0

1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1

0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0

1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1

1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1

1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0

0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0

1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0

0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0

1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1

1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1

1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1

1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1

1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0

0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1

0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1

0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1

0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0

0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0

0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0

1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0

0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1

1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0

1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0

0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1

1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0

0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0

0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1

0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1

1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0

0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0

1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1

1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1

0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0

0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1

1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1

0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1

0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1

0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1

1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1

1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1

0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1

1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1

1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0

0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0

1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0

0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0

0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0

0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0

0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1

0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0

0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0

0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1

0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1

0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0

1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1

0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0

0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0

0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0

1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0

0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0

1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1

1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0

1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0

0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1

1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1

0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1

0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1

0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1

1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0

0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0

0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0

0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1

0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1

0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1

0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0

1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1

1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0

1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0

0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0

0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1

1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1

0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0

1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1

0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1

1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1

1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0

1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1

0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0

0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1

0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0

0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0

1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0

0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1

1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1

1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0

0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1

0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0

1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0

1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1

0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1

1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1

1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1

0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0

1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0

1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0

1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1

1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1

0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0

0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0

0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0

0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1

0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0

0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1

0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1

0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0

0
0
0
0
1
1
1
1
1
0

1
0
0
1
0
1
1
0
1
1

1
0
1
0
1
1
0
0
0
0

1
0
1
0
1
1
1
1
1
1

1
0
0
1
1
0
0
1
1
1

0
1
1
1
0
1
1
0
1
1

667
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0

668
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0

669
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0

670
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1

671
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0

672
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0

1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1

1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1

0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0

1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1

1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0

1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1

1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0

0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0

0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0

1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1

0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0

1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0

1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0

1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0

0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0

1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1

1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0

1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0

0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0

1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1

1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0

1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0

1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0

1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1

1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1

0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1

1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1

0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0

0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0

0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1

0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1

1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0

0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0

1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1

0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1

0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0

1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0

1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1

0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1

0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0

1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0

1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0

0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0

1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0

0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1

0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1

0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0

1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1

0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1

1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1

1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1

1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0

0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0

0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0

1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1

0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1

0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1

1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1

0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1

0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1

0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1

0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0

1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1

1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0

0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0

1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1

1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0

1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1

1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1

1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1

0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0

0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0

1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1

1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0

0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0

0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1

1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0

0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0

0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1

0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0

0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1

1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1

1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1

0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1

0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0

0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1

0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1

1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0

1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0

0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0

1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0

0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0

1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0

0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1

1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1

0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1

1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1

1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0

0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0

1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1

1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0

1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1

1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0

1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1

1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1

0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1

0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1

0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1

1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1

1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0

0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0

0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0

0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0

1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1

0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0

0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0

1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0

0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1

1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1

0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0

1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1

0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1

0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1

0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0

0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0

0
1
0
1
0
0
1
1
1
0

1
0
1
0
0
1
0
0
0
0

1
1
0
0
1
0
0
1
1
0

0
0
0
1
0
0
1
1
0
0

1
1
0
0
1
0
0
0
0
1

1
1
0
0
0
0
1
1
0
0

673
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0

674
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1

675
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1

676
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1

677
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1

678
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1

0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1

0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0

0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1

0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0

1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0

1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1

1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1

1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1

1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1

1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0

1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0

1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1

1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1

0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0

1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1

1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0

0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0

0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1

1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0

1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0

0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0

1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0

0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1

1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1

0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1

0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1

0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0

0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0

1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1

0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1

0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0

1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0

0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1

1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0

0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1

1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1

0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0

1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0

0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0

0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0

1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1

0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0

0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0

1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1

1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0

0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1

0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0

0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0

0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0

0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0

0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1

0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0

0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1

0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1

0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1

1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0

1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0

0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0

0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1

1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1

1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1

1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1

1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0

1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0

0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0

0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0

0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0

0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1

1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0

1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1

1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0

0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0

0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1

0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1

0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0

0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1

1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0

0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1

0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1

1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0

0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0

1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1

1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0

0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0

0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0

1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1

0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1

0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1

0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1

0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1

0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1

1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0

0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1

1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1

0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1

0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1

1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0

1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1

1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1

1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1

0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1

1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0

1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1

0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1

1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1

1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1

1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0

0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1

1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1

1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1

0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1

0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1

0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0

1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0

0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1

0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1

1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0

0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1

1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0

1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0

0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0

0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0

1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0

0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0

0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1

0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0

0
0
0
1
1
1
0
0
0
1

1
1
0
1
0
1
1
0
0
1

0
0
0
0
1
1
1
1
0
0

1
0
1
0
1
0
0
0
0
1

1
0
0
1
0
0
0
0
1
1

1
1
0
0
0
0
1
1
1
1

679
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1

680
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0

681
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0

682
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1

683
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1

684
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0

1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1

0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0

1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1

0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0

1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0

1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0

1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0

0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0

1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0

1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1

1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0

1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1

0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1

0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1

0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1

0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1

0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0

1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1

1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0

0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1

0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0

0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0

0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0

0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1

1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1

0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1

0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0

1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1

1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1

1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0

0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0

1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0

1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1

0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0

0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1

0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0

1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1

0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1

0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0

1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1

1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0

0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1

1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0

0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0

1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1

0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0

1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1

1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0

1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1

0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0

0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1

0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0

1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0

1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1

1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1

1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0

1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0

0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1

1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1

0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1

1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1

1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0

1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1

1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0

0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0

0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0

0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0

1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0

0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1

1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1

1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1

0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1

1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0

1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1

1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0

0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1

0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0

0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1

0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1

0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1

0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1

0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1

1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1

1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1

0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0

0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0

0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1

1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1

0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1

1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0

0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0

1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1

1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0

1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1

1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0

0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1

1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0

1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0

1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1

0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0

1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0

0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0

0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1

1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0

0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1

0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1

0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1

1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1

1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0

1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0

0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1

1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1

1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1

0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0

0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0

1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0

0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1

0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0

1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1

1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1

0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1

1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0

1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1

0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1

0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0

0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1

1
0
1
0
0
1
1
1
0
1

0
0
0
1
1
1
1
0
0
1

1
0
1
1
0
1
1
0
1
1

1
1
1
1
1
1
0
0
0
1

1
0
0
0
0
0
0
0
0
1

0
0
1
0
1
0
0
1
1
1

685
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0

686
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1

687
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1

688
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1

689
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1

690
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1

0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1

1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0

0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0

1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0

1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0

1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1

0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0

0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1

0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0

0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1

1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0

1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0

1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0

1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0

0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1

1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0

1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1

1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0

0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1

1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1

0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1

0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1

1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0

1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1

0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0

0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0

0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0

0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0

1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1

0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1

0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1

0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1

1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1

1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1

0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0

0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1

0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0

1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1

1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0

1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0

1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0

0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0

1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0

1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0

0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1

0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0

0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0

1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1

0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1

0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1

0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0

1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1

1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1

1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0

0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0

0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0

0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0

1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1

0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1

0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0

1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1

0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1

0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1

1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1

0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0

0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1

0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1

1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0

1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0

1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0

1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1

0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1

1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0

1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0

1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1

1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0

0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1

1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1

0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0

1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1

0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0

0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1

0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0

1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1

0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0

0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0

0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0

0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1

1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0

1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0

0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1

1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0

1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0

0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0

0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0

1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0

0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1

0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1

0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1

1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1

0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1

0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0

1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1

0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0

1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0

0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1

1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0

1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0

0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1

1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1

0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1

1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1

0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1

1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1

1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0

1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0

1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0

0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1

0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1

1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0

0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1

0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0

1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0

0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1

0
1
1
0
0
1
0
0
0
0

0
0
0
0
0
0
1
0
0
1

0
1
0
0
1
1
0
0
0
0

1
0
0
0
0
0
0
0
1
0

1
1
1
0
0
1
1
1
1
1

1
1
1
1
0
0
0
0
1
0

691
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0

692
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0

693
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1

694
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0

695
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1

696
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1

0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1

0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0

1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1

1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1

1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1

1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0

1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0

0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0

0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0

0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1

0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0

0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1

0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1

0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1

0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1

0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0

1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1

1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0

1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1

0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0

0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1

1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0

1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1

1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1

1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0

1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0

0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0

1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1

0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1

1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1

1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0

0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1

1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0

1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1

1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0

0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1

1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0

1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0

1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0

1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0

1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0

0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1

0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0

1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0

1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0

1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0

0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1

1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0

0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1

0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1

0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1

0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0

0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1

0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0

1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0

1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0

0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0

0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0

1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0

1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0

0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1

1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1

0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1

1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0

0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0

1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0

0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0

0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1

1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1

1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1

1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1

1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1

1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0

0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0

0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1

1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0

1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1

0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0

0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1

1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0

0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1

0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1

0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1

1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1

1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1

1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0

0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1

1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0

0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1

1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0

1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0

0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1

1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1

0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0

0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1

0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0

1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0

1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0

0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0

1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0

0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0

0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1

1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1

0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0

1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1

0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1

0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0

0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1

1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1

1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0

1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0

0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0

1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1

1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1

0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1

1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1

1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0

1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1

0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1

0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0

0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0

0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0

1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1

1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1

0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1

1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0

0
0
0
0
0
0
0
0
0
0

0
1
1
1
0
1
1
1
0
0

1
1
1
1
1
0
0
1
1
0

0
1
0
0
1
1
0
0
0
0

1
1
1
0
1
0
0
0
0
0

0
1
1
1
0
0
1
0
0
0

697
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1

698
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1

699
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1

700
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1

701
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1

702
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0

0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0

0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0

0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0

0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1

1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0

1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1

1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1

1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0

1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1

1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1

1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0

0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1

0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0

1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1

1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1

1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1

0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0

1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0

0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0

0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0

1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1

1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0

1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1

1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1

1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0

0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0

0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1

0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0

1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1

1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0

1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1

1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1

0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1

0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0

0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0

0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0

0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0

0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1

0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1

1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0

1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1

1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1

0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0

0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0

0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1

1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1

0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1

1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1

0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1

1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0

0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1

0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0

0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1

1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1

1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0

0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1

1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0

0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0

1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1

0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0

1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1

0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1

0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1

0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1

1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1

0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0

0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1

1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0

1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1

0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1

1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1

0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0

1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1

0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1

1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0

0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0

1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0

1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1

0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1

0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1

0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1

1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1

1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0

0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1

1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0

1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1

0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1

0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0

1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0

1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1

1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1

0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0

1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0

1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0

1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1

1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1

0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0

0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1

1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0

1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0

1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1

1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1

1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0

1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0

1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1

1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1

0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0

1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0

1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0

0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0

0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0

0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1

0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1

1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0

0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1

1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1

0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0

0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1

0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0

0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0

0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0

0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1

0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0

0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1

0
1
1
1
0
1
1
0
1
0

1
0
0
0
0
1
1
1
0
1

1
0
0
0
1
1
0
0
1
0

1
0
0
0
0
0
0
1
1
0

1
0
1
0
1
0
1
0
1
0

1
0
1
1
0
0
0
0
1
0

703
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1

704
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1

705
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1

706
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0

707
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0

708
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0

1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0

0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1

1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1

1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1

1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1

1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1

0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1

0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1

1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0

1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0

1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1

1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1

0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0

0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1

1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1

0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0

0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0

1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1

1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1

1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0

1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0

1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0

0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1

1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1

0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0

0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0

0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0

1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1

1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1

1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1

0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1

1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0

1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0

1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0

0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1

1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1

1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1

1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1

1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0

1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0

1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0

0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0

1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1

0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0

1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1

1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1

0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0

0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1

0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0

1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1

1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1

0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1

1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1

1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0

1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1

0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0

0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1

1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0

0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0

1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0

1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1

1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1

1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0

1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1

1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0

1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0

1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1

1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0

1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1

0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0

1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0

1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0

0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1

1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1

0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1

0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1

1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1

0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1

1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0

0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0

1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1

1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1

0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0

0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1

1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1

1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0

0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0

1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1

1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1

1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0

0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1

0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0

0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0

0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0

1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0

1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0

1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0

1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0

0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1

1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0

0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1

0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1

1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0

0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0

0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0

0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1

0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0

1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1

1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1

1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0

1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1

1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0

0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0

1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0

1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1

0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0

1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0

0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0

1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0

0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0

0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0

0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1

0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1

0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0

1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0

0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1

0
1
1
1
0
1
1
0
1
1

0
0
0
0
1
0
1
1
1
0

0
1
1
1
1
1
0
0
1
1

1
0
0
1
1
0
1
1
0
0

1
1
0
0
1
0
0
0
1
1

0
1
1
1
1
1
1
0
0
0

709
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0

710
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1

711
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1

712
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1

713
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1

714
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1

0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1

1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1

1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0

0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1

1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0

0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0

0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0

0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1

1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0

1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1

1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1

1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0

1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0

1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1

1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0

0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0

0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0

0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1

1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0

0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0

0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0

0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1

0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0

0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1

0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1

0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0

1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0

0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1

0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0

1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1

1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1

1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1

1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1

0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1

0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0

1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1

1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1

1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0

0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1

0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0

0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0

1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0

1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0

0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1

0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1

1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0

1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1

1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1

0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1

0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1

1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0

0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1

1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1

0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0

1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0

1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1

1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0

0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1

0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1

0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0

0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1

1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0

1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0

0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0

1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0

1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1

0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0

1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0

1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1

0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0

1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1

0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1

0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1

0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0

1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0

1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0

0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1

1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1

0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1

0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1

0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1

1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1

1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0

0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0

1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1

0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0

1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1

1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0

1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1

1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0

1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0

0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0

0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1

1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0

1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0

0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0

0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1

1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0

0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1

0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1

0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1

0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1

1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1

1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1

1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0

0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0

0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0

0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1

1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0

0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1

0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0

1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0

1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1

1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0

0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0

1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1

0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1

0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0

0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0

0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0

1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1

0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1

0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1

1
0
0
0
0
1
0
1
0
1

1
0
0
0
0
1
1
0
0
1

1
1
1
1
1
1
1
1
0
0

0
1
1
1
1
0
1
1
0
1

1
1
0
0
1
0
0
0
1
0

1
1
0
0
0
1
1
0
1
1

715
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0

716
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0

717
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0

718
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0

719
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0

720
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0

1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0

0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0

1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1

1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1

1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0

1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0

1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0

0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0

0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0

0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0

0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0

0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1

0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1

1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0

0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1

0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0

0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0

0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0

0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1

1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1

0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1

1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1

0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0

0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0

0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0

1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0

0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1

0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0

1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0

1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0

1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0

0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1

0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0

1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0

1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0

1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1

0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1

0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0

1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1

0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0

1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0

1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1

1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0

1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1

0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1

0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0

1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1

0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1

0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0

0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0

1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1

1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0

0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0

0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0

0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0

1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1

1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1

0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1

0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0

1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0

0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1

0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0

1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0

1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0

0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1

0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0

0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1

1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1

0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0

0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0

0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0

0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1

0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0

0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0

0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0

0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0

1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1

0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1

0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1

1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1

0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0

0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1

1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0

1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0

0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0

1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0

0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1

1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0

1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0

1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1

1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1

0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0

0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0

1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0

1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1

1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1

1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0

0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1

0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0

0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0

1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0

0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1

0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1

0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0

0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1

0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0

0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1

1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1

0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1

0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0

1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1

1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0

1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0

0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1

1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0

0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1

1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1

1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1

0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0

0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0

0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0

1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0

0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0

1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1

0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0

1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0

0
1
0
0
1
1
1
1
0
1

1
1
1
0
0
0
1
0
0
1

1
0
1
0
1
0
0
1
1
1

1
1
1
1
0
1
1
1
1
1

0
1
0
1
0
0
0
0
1
1

1
1
1
1
1
1
1
0
1
1

721
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1

722
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1

723
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1

724
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0

725
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1

726
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1

1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1

0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0

0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1

1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0

0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0

1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1

1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0

1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0

1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1

1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1

0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1

0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1

0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1

1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0

1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1

1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1

1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1

0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0

0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1

1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1

0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1

1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0

0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0

0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0

0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0

0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1

0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1

0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1

1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1

1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1

1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1

1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0

1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0

1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0

1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0

1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1

0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0

0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0

1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0

0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0

1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1

1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1

1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0

0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1

1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1

1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0

0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1

0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0

1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0

0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1

0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0

1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0

1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0

0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0

0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0

1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0

1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0

1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0

0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0

0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0

1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
0

0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0

1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0

0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1

1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1

1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0

1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1

0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0

1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0

1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1

1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1

0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0

1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1

1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0

1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0

0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1

0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0

0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1

1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0

1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0

1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0

1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0

1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0

0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1

0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1

1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1

1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1

1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
1

0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0

0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1

0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1

1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1

0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0

0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1

1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1

1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0

0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1

1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0

0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0

1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1

1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0

0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1

1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0

0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1

0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0

0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0

0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0

0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0

0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0

1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1

1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1

0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0

1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1

0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0

0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1

1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0

0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1

1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1

0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0

1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0

0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0

1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1

1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0

0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1

1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0

1
0
0
1
1
0
1
0
1
1

0
0
0
1
0
0
1
0
0
1

1
1
1
1
0
1
1
0
1
1

0
0
1
1
0
1
1
0
0
1

0
1
0
1
0
0
1
0
1
0

0
0
0
1
1
0
0
1
0
1

727
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0

728
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0

729
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1

730
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0

731
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1

732
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1

1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0

1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1

0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1

1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0

0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1

0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1

0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1

1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0

1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0

1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1

1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0

1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0

0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1

0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1

1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
1
1

0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0

1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1

0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1

0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0

1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1

1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1

0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0

0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1

0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1

1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1

0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1

0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0

1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0

1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0

0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0

0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1

0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1

0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1

1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0

1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1

1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0

1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1

1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1

1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1

0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1

1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0

1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1

1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0

1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0

0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1

0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0

1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0

0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1

1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0

0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0

1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0

0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0

1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0

0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1

0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0

1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1

1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1

0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1

0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1

1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0

0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0

0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1

0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1

0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1

1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0

0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1

0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1

0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1

1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1

0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0

0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0

0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0

0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0

0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0

1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0

1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0

1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1

0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0

1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1

0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1

0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1

0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1

0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1

0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1

0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0

1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0

1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1

1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0

1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1

0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1

1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1

1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1

1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1

0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0

1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0

1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0

0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0

1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1

0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1

0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0

0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1

1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0

0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0

1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1

1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0

1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0

0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1

1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0

1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0

0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0

0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1

0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0

0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1

0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1

1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1

1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1

0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1

0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1

1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0

0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0

1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0

0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1

1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1

0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1

0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1

1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1

0
1
0
0
0
0
1
1
1
1

1
1
0
1
0
0
0
1
0
0

0
0
0
1
1
1
1
1
0
0

1
1
1
1
0
0
0
0
1
1

1
1
0
1
1
1
1
0
1
1

1
0
1
1
0
1
0
1
1
1

733
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1

734
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0

735
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0

736
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1

737
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1

738
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0

1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0

0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1

0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0

0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1

0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0

1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0

0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1

1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1

0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1

0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1

0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1

1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0

0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0

1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1

0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1

0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0

0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0

1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0

0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0

0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0

0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1

0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1

0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1

1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0

1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0

0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1

0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0

1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1

0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1

1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1

1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0

0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0

1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1

0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0

0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1

1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0

0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1

1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1

1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0

1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0

1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1

0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0

1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0

1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1

0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0

0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1

1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0

0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0

0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1

0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1

0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0

0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1

1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0

1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0

0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1

0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1

1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0

1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1

0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1

1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0

1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1

0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1

0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0

0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1

1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1

0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0

0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0

1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0

1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0

0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0

0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0

1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0

0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0

1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1

1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1

0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0

1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1

0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1

0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1

0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1

1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1

0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0

0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0

0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1

1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1

0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0

0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0

0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0

1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1

0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1

0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0

0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0

0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0

1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1

1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1

1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1

1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0

0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1

1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0

1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1

0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1

0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1

0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1

1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1

0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1

1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1

1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0

1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0

1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1

0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1

0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1

0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0

1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1

1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1

1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0

1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1

1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1

0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0

1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0

0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0

1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0

1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0

1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0

1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0

0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0

1
1
0
0
1
1
0
1
0
1

1
0
1
0
1
0
1
1
0
0

1
0
0
0
0
0
0
1
1
1

1
1
1
1
1
0
0
1
1
0

1
0
1
1
1
1
1
0
0
1

0
1
0
1
1
0
0
1
1
1

739
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0

740
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1

741
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0

742
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0

743
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1

744
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0

0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0

1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0

1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1

1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0

1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0

0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0

0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1

1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0

0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1

0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0

0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1

0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0

1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1

0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1

1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1

0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0

1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0

0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0

1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1

0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0

0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1

1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0

1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1

1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0

1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0

0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1

0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1

1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1

1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1

0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1

1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0

1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1

0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1

0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1

1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1

0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0

0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0

0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0

0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0

0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0

1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0

0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0

0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0

1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1

1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0

1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1

0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1

1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1

1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1

0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0

1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0

1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1

0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0

1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0

0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1

1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1

1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0

0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0

0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0

0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0

1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1

1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0

0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0

1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1

1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1

0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1

0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1

1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1

1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0

0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0

0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0

1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1

1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0

0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1

1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0

0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1

1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1

0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0

0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1

0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0

1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1

0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0

0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1

1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1

0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0

1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0

1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1

0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0

1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0

0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0

0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0

0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1

1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1

1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1

1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0

0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0

1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0

0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1

1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1

0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0

0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1

1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1

1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1

1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0

0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0

1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0

0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0

1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1

0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1

1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0

0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1

1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1

1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1

0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0

0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0

1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1

1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1

0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1

1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1

1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0

0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0

1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1

1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0

0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1

0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1

1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1

0
0
0
0
0
0
0
1
1
1

1
1
0
0
0
1
1
0
1
0

0
1
0
0
0
1
0
1
1
0

1
0
1
1
1
1
1
0
1
0

0
1
0
0
1
1
0
0
1
0

1
0
1
1
0
0
1
0
1
1

745
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1

746
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0

747
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1

748
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1

749
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1

750
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1

1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1

0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0

1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0

1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0

1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0

0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1

0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1

1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0

1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0

1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1

0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0

1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1

1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0

1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1

0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0

1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1

0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0

0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0

0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1

0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0

0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0

1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0

0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1

1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0

0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0

0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0

0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1

0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1

1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1

0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0

0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1

0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0

1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0

1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1

1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0

0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1

0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0

0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0

1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0

0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0

1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0

0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1

0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0

1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0

1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1

0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0

0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0

0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1

0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0

0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1

0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0

0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0

0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0

0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1

0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0

1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0

0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0

1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1

1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0

1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0

0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0

0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0

1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1

0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0

0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1

0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0

1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1

0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0

0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0

0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1

1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1

0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1

0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1

1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0

1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0

1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1

0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0

0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1

1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0

0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0

0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1

1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0

0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1

1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0

1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1

1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1

1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1

1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1

0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0

0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0

1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0

1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1

0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1

1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1

1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0

1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0

0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1

0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0

0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0

0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1

1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1

1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0

1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0

1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0

0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1

0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0

1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1

0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0

0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0

1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1

1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1

0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0

0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1

0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0

1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1

1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0

0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1

0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1

1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1

0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0

0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0

1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0

1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1

1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1

1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1

1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1

1
1
1
1
1
1
0
0
1
0

0
1
1
0
0
0
0
1
1
0

0
1
1
1
1
0
0
1
1
0

0
0
0
1
1
1
0
1
1
1

1
1
0
0
1
1
0
0
0
0

0
0
1
0
1
0
1
0
1
0

751
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1

752
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0

753
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1

754
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0

755
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0

756
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1

1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0

0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0

1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1

0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0

0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0

0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1

0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0

1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1

1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1

1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1

1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0

1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1

1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0

0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0

0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0

1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1

1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0

1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0

1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0

1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1

0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1

0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0

1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1

1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0

0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0

1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0

0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1

1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1

1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0

1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0

1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0

0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0

0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1

0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1

1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1

1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0

0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1

1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0

1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0

0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0

1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0

0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0

1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0

1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0

0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1

0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0

1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0

0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1

0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1

1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1

1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1

0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1

1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0

0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0

1
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1

1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0

0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1

1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1

1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1

0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0

1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0

0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0

0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0

1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1

0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1

1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0

1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0

1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1

0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0

0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0

0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1

0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1

1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1

0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0

0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0

1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1

0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0

1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0

1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0

1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0

1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0

0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1

0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1

1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0

1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0

0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0

1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1

1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0

0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1

1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1

1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0

1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0

0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0

1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0

0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0

1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1

0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1

0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0

0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1

1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0

0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1

1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0

1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1

0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1

1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0

0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0

0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1

0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0

1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1

0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1

0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1

1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1

0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0

1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1

0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0

1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1

0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0

0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1

1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1

1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0

0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0

0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1

0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1

1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1

1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0

1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1

1
0
0
0
1
0
0
0
1
1

0
1
0
0
1
1
1
1
0
1

1
1
1
0
1
0
0
1
1
0

1
0
1
1
1
1
0
1
1
1

1
0
0
1
0
0
0
0
1
0

0
1
0
0
0
0
0
1
0
1

757
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0

758
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0

759
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1

760
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0

761
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1

762
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0

0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1

1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1

1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0

0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1

0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1

1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0

1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1

1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0

0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1

0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0

0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1

1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0

1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1

0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1

1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1

0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1

1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0

1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0

1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0

0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0

0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1

0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0

0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1

1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0

1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1

1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0

0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0

0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1

0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1

1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0

1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0

1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0

0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0

1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1

1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0

0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0

1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0

0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1

1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0

0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0

1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1

1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1

0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0

0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1

1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0

0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0

0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1

0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0

0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1

1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1

1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0

0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0

0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0

1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0

1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0

1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1

0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1

1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0

1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0

1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0

1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0

0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1

0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1

0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1

0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1

1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0

1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1

0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0

1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1

1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1

1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1

0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1

1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0

0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0

1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0

1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1

1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0

1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0

1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0

1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0

0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1

1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1

0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0

1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1

0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0

1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1

0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1

0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0

0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0

1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1

0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1

1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0

0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0

0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1

0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1

0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1

1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1

1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1

1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1

0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0

0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0

0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1

0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1

0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1

0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0

0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1

1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
1

1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0

1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0

1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0

1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1

1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0

0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1

1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0

0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1

0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1

0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0

0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1

0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1

1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0

0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1

1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0

0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0

0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0

1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0

0
1
1
1
0
1
1
1
0
0

0
1
0
1
0
1
0
0
0
1

0
0
0
0
0
0
1
0
1
1

1
1
0
0
1
0
1
1
0
1

0
0
0
0
1
0
0
1
0
0

0
0
0
0
0
0
1
1
0
1

763
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1

764
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1

765
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1

766
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1

767
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1

768
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1

1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1

0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0

0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0

1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0

0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0

1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0

1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0

0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1

1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0

1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0

0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0

0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1

1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1

0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1

1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1

0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1

1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0

1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1

1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0

0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0

0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1

1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0

1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0

1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1

0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0

1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1

1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0

0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1

0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1

0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1

1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1

0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0

1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0

1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1

1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1

1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0

0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1

0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1

1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1

0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1

0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0

1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1

1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0

0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1

1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0

0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0

0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1

1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1

1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1

1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0

0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0

0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1

0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1

0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0

1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0

0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1

0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1

0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1

0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0

0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1

0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0

0
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0

0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1

1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1

1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0

0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1

0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1

1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0

1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0

1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1

1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1

1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0

1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1

1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1

0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0

1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1

0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1

1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1

1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0

0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1

1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0

0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0

1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1

0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1

1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1

1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1

1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1

1
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0

1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1

0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0

0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1

1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0

1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1

1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1

0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0

0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0

0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1

1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0

0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1

0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1

0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1

0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1

0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1

0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0

1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0

0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1

1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1

1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1

1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1

1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1

1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0

1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1

1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1

0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1

0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0

1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1

0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1

1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0

0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1

0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0

1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0

0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0

1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0

0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0

0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1

0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1

0
0
1
1
1
0
0
1
0
1

1
0
1
1
0
0
1
0
1
0

0
0
0
1
1
1
0
1
1
0

0
0
1
1
1
1
1
1
1
1

0
1
0
0
1
1
1
1
1
0

1
1
1
1
1
1
1
1
1
1

769
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0

770
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0

771
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1

772
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0

773
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1

774
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0

0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1

1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0

0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1

0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1

0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1

1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1

0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1

1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1

1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0

0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1

0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1

0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1

0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1

0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1

0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0

0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1

1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0

0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0

0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0

0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1

1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1

0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1

0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1

1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1

0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0

1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0

1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0

0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0

1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1

0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0

1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0

1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0

1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0

1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1

1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0

0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0

0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1

1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1

0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1

0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1

1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0

0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1

0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0

0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0

1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1

0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0

0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0

1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0

0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1

0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0

1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1

1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0

1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0

0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0

1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1

0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0

0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0

1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1

0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1

0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0

1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0

1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0

1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1

1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0

1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1

1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0

0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1

0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1

1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0

0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0

0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0

0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0

1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1

1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1

1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1

0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1

0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1

1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0

1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1

1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0

1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0

1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1

0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1

0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0

1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1

0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1

1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0

0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1

0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1

1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1

0
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1

0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1

0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0

1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0

0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0

1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1

1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1

0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1

1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0

1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1

0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0

0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1

0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1

1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1

0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1

1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1

1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1

0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1

1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1

0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1

0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1

0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1

0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1

1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1

1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1

1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0

0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0

1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0

0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0

1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1

0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1

0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0

1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1

1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0

1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1

1
1
0
0
1
1
1
0
0
1

1
0
1
1
0
1
1
0
1
0

0
1
0
0
0
1
0
0
0
1

1
0
1
0
1
1
0
1
0
0

1
0
0
1
0
1
0
0
0
1

1
0
1
1
0
0
0
0
0
1

775
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0

776
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1

777
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1

778
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0

779
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1

780
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
1

1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0

0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1

0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0

1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0

0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1

0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1

1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1

0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1

0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1

0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0

0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0

0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0

0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0

1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1

0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0

1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1

1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1

0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1

0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0

1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1

1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1

1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1

1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1

0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1

0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0

0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1

1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0

1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1

1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0

0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1

1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0

1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1

1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0

1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1

1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0

0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1

0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1

1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1

1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1

1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1

0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0

0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0

0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1

1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1

0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0

0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1

0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0

0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0

1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0

1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0

0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0

0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1

0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0

0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1

0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0

1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1

1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1

1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1

0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1

0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
1

1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0

0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0

0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1

0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1

0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1

0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0

0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0

1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0

0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1

0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1

0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0

0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1

0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0

0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0

0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0

0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1

1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0

1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1

1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0

0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0

1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1

1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1

1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1

0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0

1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0

0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0

1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1

0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0

1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1

0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0

1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1

0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1

0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0

0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0

1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0

1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0

1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1

1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1

0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1

1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1

0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0

0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0

0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1

0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0

1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1

0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1

0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1

0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1

1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1

1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1

0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1

1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1

0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1

0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1

1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0

1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0

0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0

1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1

1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0

0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1

1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0

0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0

1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0

1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0

0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0

1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0

0
1
0
0
0
0
0
1
1
0

1
1
1
1
1
0
0
0
0
0

0
0
0
1
1
0
1
0
1
0

0
1
1
1
1
1
1
1
0
0

0
1
0
1
1
1
0
0
0
1

1
0
1
0
0
1
1
0
1
0

781
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1

782
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0

783
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0

784
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0

785
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1

786
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0

0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0

1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0

1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0

0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1

1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1

1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0

0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1

0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0

1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1

0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1

1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0

1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0

1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1

0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0

0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0

0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1

1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1

1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1

0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0

1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0

0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1

1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0

1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0

1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1

1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1

1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1

1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1

1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0

0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0

1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1

0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0

1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0

0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1

0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0

0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0

0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1

1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0

0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0

0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0

1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1

0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1

1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0

0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1

0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0

1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0

0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0

1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0

0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0

1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0

1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1

0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0

1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1

0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1

0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1

0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0

0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0

0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1

0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1

0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0

0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0

0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0

0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0

1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0

0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1

1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1

0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1

1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0

0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0

1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1

1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0

0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1

0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1

1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1

1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0

1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1

1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1

0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1

1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1

1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1

1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0

1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0

1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1

1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1

1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1

1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0

0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0

0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0

0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0

1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1

1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0

0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1

0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1

0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1

1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1

0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0

1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1

0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0

0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0

0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1

1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1

0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0

0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1

1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1

1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0

0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0

0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1

0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0

1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0

0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1

1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1

1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0

1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0

1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0

1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1

1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1

0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1

1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1

0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0

1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0

0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0

1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0

1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1

0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1

1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1

1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0

1
1
1
0
1
0
0
1
1
0

1
1
0
0
1
0
1
1
1
1

1
0
1
0
1
0
1
0
1
1

0
0
1
0
1
1
1
1
1
1

0
1
0
0
1
1
0
1
0
1

1
1
1
1
1
1
1
0
0
0

787
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0

788
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1

789
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1

790
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1

791
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1

792
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0

1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0

1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0

1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1

0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1

0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1

0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0

0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0

0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0

0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1

0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1

0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0

0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0

1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0

0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1

0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0

1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0

1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1

1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1

0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0

1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0

0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0

1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0

0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1

1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1

0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1

1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0

0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1

1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1

1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0

0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0

1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0

0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1

0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0

1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0

1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0

1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1

1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0

1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1

1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0

0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0

0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0

0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1

1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1

1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0

0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0

0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1

0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1

1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1

1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0

0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1

1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0

0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1

0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0

1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1

0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0

1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0

1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1

1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0

1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1

0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0

1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1

0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1

0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0

1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0

0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1

0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0

0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0

1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1

0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0

0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0

1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1

1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1

1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1

0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0

0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0

0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1

1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1

0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1

0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0

0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0

0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1

0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1

1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0

1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0

1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0

1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0

1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1

1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0

0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1

1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0

0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1

1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0

0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0

0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1

1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1

0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0

0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0

0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1

1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1

0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0

0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1

0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0

0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0

1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0

0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0

0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1

1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1

0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1

1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1

0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0

0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1

1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0

1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0

0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0

1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1

0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0

0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0

1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0

1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0

1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1

0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0

1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0

1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1

1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1

0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0

1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0

1
1
1
0
1
1
0
0
1
0

1
1
1
0
1
0
1
1
1
1

0
0
1
1
0
0
0
1
0
1

1
0
0
0
0
0
0
1
0
1

1
1
0
0
1
0
1
1
1
0

0
1
1
0
1
1
0
0
1
0

793
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0

794
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0

795
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1

796
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1

797
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0

798
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1

0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1

0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1

0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0

0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0

0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1

1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1

1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1

1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0

0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0

1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0

1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0

0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1

0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1

0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1

0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1

1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0

0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1

1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1

1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1

0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0

1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0

1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0

0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0

1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1

0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0

0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1

1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0

0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0

0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1

0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0

0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1

1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0

1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1

0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1

1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0

0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0

1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1

1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1

1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0

0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0

0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1

1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1

0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1

0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1

0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1

1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0

0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0

0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1

1
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0

0
0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0

0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1

1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1

0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1

1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1

0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1

1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1

1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0

1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1

0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0

0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0

1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1

1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0

0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0

0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1

0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1

1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0

0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0

0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0

1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1

1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1

1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1

0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0

1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
0

0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1

1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1

1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1

0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1

0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1

1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0

1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0

1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1

1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0

0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0

1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0

1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1

0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0

1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0

0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1

1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1

0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0

0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0

0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0

0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0

1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1

0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0

0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0

1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0

1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1

0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0

0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0

1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0

1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0

1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0

1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0

0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1

1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1

1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0

1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1

1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1

0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0

0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0

0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1

1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1

0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1

0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0

1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1

0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0

1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0

0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0

0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1

0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1

0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0

0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1

1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0

1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0

1
1
1
1
1
1
0
1
1
0

1
0
1
0
0
1
1
0
1
0

1
1
1
1
0
0
0
0
0
1

1
0
1
0
1
0
0
0
1
0

0
0
1
0
1
0
1
1
1
0

0
0
1
1
1
1
1
0
0
1

799
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0

800
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0

801
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1

802
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0

803
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1

804
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1

0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0

1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1

0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0

1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0

0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0

1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
0

1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0

1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0

0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1

0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1

1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0

1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0

1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1

0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1

0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1

0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0

1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0

1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0

1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0

1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0

1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1

0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1

1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1

1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0

0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1

1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1

0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1

0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1

0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1

1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0

0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0

0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1

1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0

0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0

0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0

0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0

0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0

0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0

0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1

0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1

0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1

1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1

0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0

0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0

0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0

1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0

1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0

1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0

1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0

0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0

1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0

0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1

0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1

0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1

0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0

0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0

1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0

0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0

0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0

1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0

0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0

1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1

1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0

0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0

0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0

0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0

1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0

0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0

0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0

0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0

1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1

0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0

0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1

0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1

0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1

1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1

1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1

0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0

0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1

1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0

1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0

1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1

1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0

1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1

1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0

0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1

1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0

0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1

1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1

1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1

1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0

0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0

1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1

0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0

1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1

1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0

1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1

0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0

0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0

1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1

1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1

1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1

0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1

0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0

0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1

0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1

1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1

0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1

1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0

1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1

1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0

0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0

0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1

1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1

0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0

1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0

1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1

1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1

0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1

1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0

1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0

0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1

1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1

1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0

1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0

1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1

1
1
0
0
1
1
1
0
0
0

0
0
0
1
1
1
1
1
0
0

1
0
1
0
0
0
1
0
1
1

0
1
1
0
1
1
0
1
1
1

1
0
1
1
0
0
0
0
0
1

1
1
0
0
0
0
0
1
1
1

805
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0

806
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1

807
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0

808
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1

809
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0

810
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1

1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0

1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0

1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1

1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0

0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1

1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1

1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0

1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1

1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1

1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0

1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1

1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0

0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1

0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1

1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1

0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0

1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0

1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0

0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0

1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1

1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0

0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1

0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1

0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1

1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1

0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1

0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1

1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0

1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0

1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0

1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0

0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0

1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0

1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1

0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0

0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0

0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0

1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1

0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1

0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0

0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1

1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0

1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1

0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1

0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0

1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1

0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0

1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1

1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1

1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0

0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1

0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0

0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0

1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1

0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0

0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0

0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0

1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1

0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1

1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0

1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0

1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1

1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1

0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0

0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1

1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1

1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1

0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1

1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1

1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0

1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0

1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0

0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0

1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1

0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0

1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0

0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0

1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1

0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1

1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1

1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0

1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1

1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0

0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0

0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0

1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1

0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1

1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0

1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1

1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0

1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1

1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1

0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1

0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0

1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0

1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0

0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1

0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0

0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1

0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0

0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1

1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0

0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1

1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0

1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1

0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1

0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1

0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1

0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1

0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1

1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0

0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1

0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0

1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1

0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1

0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0

0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0

0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1

1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1

0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1

1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1

0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1

1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1

0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1

1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0

0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1

0
0
1
1
1
0
1
1
0
0

1
1
1
0
0
0
1
0
0
1

1
0
0
1
1
1
1
1
0
0

1
1
0
1
0
0
0
1
1
1

1
0
1
1
0
0
0
0
0
0

1
0
1
1
0
0
0
0
0
1

811
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1

812
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0

813
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1

814
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0

815
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0

816
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0

1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0

1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1

1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1

1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0

0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1

1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0

1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0

1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0

1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0

0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0

1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
0

0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1

0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1

0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0

1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1

1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1

0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0

0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0

0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0

0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1

1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0

0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1

1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1

1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0

0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1

1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0

0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0

0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0

1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0

0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1

0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0

0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1

1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0

1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0

0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1

0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0

0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1

0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0

1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1

1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1

1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0

1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1

1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0

0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1

0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0

1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0

0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1

1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0

0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0

1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0

0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1

0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1

1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1

0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0

0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1

0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0

1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1

0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1

0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0

0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1

0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1

0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0

1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1

0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0

1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0

1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0

1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0

1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0

1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0

0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1

1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0

0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1

0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1

1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1

1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0

1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1

0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0

0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0

1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1

0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1

1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1

1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0

0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1

0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0

0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1

1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0

0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1

1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0

1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1

1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1

1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0

1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0

1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1

0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1

1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1

1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1

0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0

0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0

0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0

0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1

1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1

0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0

0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0

1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1

1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
0

1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0

0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1

1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1

1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0

0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0

1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
1

1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1

0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0

1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1

1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1

1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1

1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0

1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1

1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0

0
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1

1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0

0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0

1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0

0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1

0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1

1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1

0
1
1
1
1
1
1
1
1
0

0
0
0
0
0
0
0
1
0
1

0
1
1
1
0
1
0
1
0
1

1
0
1
1
1
0
1
0
0
0

1
1
0
0
0
1
0
1
1
0

0
1
0
0
1
0
1
1
0
0

817
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1

818
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0

819
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0

820
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1

821
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0

822
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1

0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1

1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0

0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1

1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0

1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1

1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0

0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1

1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0

1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0

1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0

0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0

1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1

1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1

1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0

0
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0

0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1

0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0

1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0

0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0

0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0

1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1

0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1

0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1

0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1

1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0

0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0

0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0

1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1

0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1

1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1

0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1

1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1

1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0

1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0

0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0

1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0

1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1

0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1

1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1

0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1

1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0

1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0

0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1

0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0

1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0

1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1

0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0

1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1

0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1

0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0

1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1

0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1

0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1

1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0

1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0

0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0

0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1

1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0

1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1

0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1

1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0

1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1

0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1

1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0

1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1

0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0

1
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0

1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0

1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0

0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0

0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0

0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1

1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1

0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1

1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0

0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1

0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1

0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0

1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0

1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0

0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0

1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1

1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1

0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1

0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0

1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1

0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0

1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0

1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1

0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0

0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0

0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1

0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1

0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0

0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1

0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0

0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0

1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1

0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1

1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1

0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
1

0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0

0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0

0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0

1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1

0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0

0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0

0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0

1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1

0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0

0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0

0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1

0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1

0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0

1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1

1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1

0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0

1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1

1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0

1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0

0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0

0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1

1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1

1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0

0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1

0
0
1
1
1
1
0
1
0
0

1
0
0
0
0
0
1
0
1
0

0
1
0
0
0
1
1
1
1
0

0
1
0
0
1
1
0
0
0
0

1
0
0
1
0
1
1
1
1
1

0
1
1
1
0
1
0
1
0
1

823
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0

824
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1

825
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0

826
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1

827
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1

828
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1

1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1

1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1

1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0

0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0

1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1

0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0

0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1

1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0

1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0

0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0

0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1

1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1

0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0

1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1

1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0

0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0

0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1

0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1

0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1

1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1

1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0

0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1

0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0

1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0

0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1

0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0

1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1

1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0

0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1

0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1

0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0

1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0

1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1

1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0

0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1

0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1

1
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0

0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1

1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0

1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0

0
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1

0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1

1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1

0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0

1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0

1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1

0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1

0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1

1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
0

0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0

0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1

1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0

0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0

1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0

1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1

0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0

1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0

1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0

1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1

1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1

0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0

1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0

0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1

1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0

0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1

0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1

1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1

1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0

1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1

1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0

0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0

1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1

1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1

1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1

0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1

0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0

0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0

0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0

0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1

0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0

1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1

1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1

0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1

1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0

1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1

1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1

0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1

1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0

0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1

1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0

1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0

1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1

0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0

1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0

0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0

0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1

0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0

1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0

0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0

0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1

1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0

0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0

1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0

0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1

0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1

1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0

0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0

1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1

0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0

0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0

0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0

1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0

1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1

0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0

0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1

0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0

1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1

1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0

1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1

0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1

1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0

0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
0

1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1

0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1

1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0

1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0

1
1
0
0
0
0
0
1
0
0

1
1
0
0
1
1
0
0
1
1

1
0
1
1
1
1
1
0
0
0

0
0
0
1
0
1
0
0
1
1

0
1
1
1
1
0
0
1
0
0

1
0
1
0
1
0
1
1
1
1

829
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0

830
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1

831
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1

832
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1

833
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1

834
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0

1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0

0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0

0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0

1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0

1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0

0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1

0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0

1
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1

1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0

1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0

0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1

1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0

0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1

1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1

0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0

1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1

1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1

1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1

0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1

1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1

1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0

0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1

0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1

0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1

1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1

0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1

0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1

0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1

1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0

1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0

0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1

1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1

1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1

0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1

0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1

1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0

1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0

1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1

0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1

0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0

1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1

0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0

1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1

0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0

0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1

0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0

0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1

0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1

0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0

1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1

1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1

0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0

1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0

0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1

1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1

0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0

0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1

0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0

1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1

0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1

0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1

0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1

1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0

1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1

1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0

1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0

0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1

1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0

1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0

1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0

1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1

0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1

1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0

0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1

1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1

0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0

1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1

1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1

0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1

1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0

0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1

1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0

1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0

1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0

0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1

0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0

0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1

1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0

0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0

0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1

1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0

0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1

1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1

1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0

1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0

0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1

1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1

1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1

1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1

1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0

1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1

0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0

1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0

0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0

0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1

1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0

0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0

0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1

0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1

1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1

0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1

1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1

1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
1

1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1

0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1

1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0

0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0

1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1

1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1

0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0

0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0

1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0

1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1

0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1

1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1

1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1

0
1
1
0
1
1
1
0
0
1

1
0
1
0
0
1
0
0
1
0

1
0
0
0
0
1
0
1
0
0

0
0
0
1
1
1
0
0
0
0

0
0
1
0
0
0
1
1
0
0

1
0
1
0
0
1
0
1
1
0

835
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1

836
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0

837
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1

838
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0

839
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1

840
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0

0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1

0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1

1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1

0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0

0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1

1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0

1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1

1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0

0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0

1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1

0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1

0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1

1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1

0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0

0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1

0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0

1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1

0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0

0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0

1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0

0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0

0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1

0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1

1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1

1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0

1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0

0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1

0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1

0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0

0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1

0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0

1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1

1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1

1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0

1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0

1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0

0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0

1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1

0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1

1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1

0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1

1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0

1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0

1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1

0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0

0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0

1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0

1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1

1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0

0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0

1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1

1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0

0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1

1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1

1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0

1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0

0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1

1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1

1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1

1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1

0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0

0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0

1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1

1
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0

1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0

0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1

1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0

0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0

0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0

0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0

1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1

1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1

1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1

0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0

1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1

1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0

1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1

0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1

0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1

0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0

0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0

1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0

1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1

1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1

1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1

0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1

1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1

0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0

1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1

0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0

0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1

1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1

1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1

1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0

0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0

0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1

1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0

1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1

1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1

1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0

1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1

1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1

1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1

1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1

0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1

1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0

1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0

0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1

1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1

0
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0

0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1

0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0

0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0

1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1

1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1

1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0

1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1

1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1

0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1

1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1

1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1

0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0

1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0

0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0

0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0

0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0

0
0
1
1
1
1
0
0
1
0

0
1
1
1
0
0
0
0
0
0

0
0
0
0
1
1
0
0
1
0

0
0
0
0
0
1
0
0
1
1

1
0
1
1
0
1
1
1
0
0

1
0
0
0
0
0
1
1
1
1

841
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1

842
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1

843
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0

844
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0

845
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1

846
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1

0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0

0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1

1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1

1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0

0
1
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0

1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0

1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1

0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1

1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0

1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0

1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0

1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0

1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0

1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1

0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0

0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0

0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1

1
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0

0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0

0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0

1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0

0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0

1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0

0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0

1
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1

0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0

1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0

1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1

1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0

0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1

0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1

0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0

1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0

0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0

1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0

1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1

1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0

0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0

1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0

0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1

0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1

0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1

1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0

0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1

0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1

1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1

1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1

0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0

1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
0

0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0

1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1

0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0

0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1

0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1

0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0

1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1

1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0

0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1

0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0

1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1

1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0

0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0

0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1

1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1

0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0

1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1

0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0

0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0

1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0

1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0

1
1
1
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1

1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0

1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0

0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0

1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1

0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0

1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0

1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0

0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1

0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1

1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1

1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0

1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0

0
0
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1

1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0

0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1

0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0

1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0

1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1

1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1

0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1

0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0

1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0

1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0

1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1

1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1

0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0

1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1

1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0

0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1

0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0

1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1

1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1

0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1

0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1

1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1

1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1

0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0

1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0

0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1

1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0

0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0

1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0

0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0

1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0

1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1

1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1

1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0

0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1

0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1

1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1

1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1

0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1

0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1

0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0

1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1

1
1
1
1
0
1
1
1
1
0

0
1
1
1
0
0
0
0
1
1

1
1
1
1
1
1
0
0
1
0

0
0
1
1
1
1
1
1
0
1

0
0
1
0
0
0
1
0
1
1

0
1
0
1
0
0
0
0
0
1

847
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0

848
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0

849
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1

850
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0

851
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0

852
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0

1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1

1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1

0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1

1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0

0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1

1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0

1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0

0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0

1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1

1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1

1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1

1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1

1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1

1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1

1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0

0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0

1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1

1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1

1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0

0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0

0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1

1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0

1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0

0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0

0
1
0
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
1

1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1

1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1

1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0

0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1

1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0

1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0

1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0

1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0

1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1

0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1

1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1

0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
0

0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0

1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0

0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0

1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1

1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0

1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1

1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0

1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0

0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1

0
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
0
0

1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0

0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0

0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0

0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0

1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1

1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0

1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0

0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1

1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0

0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1

0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1

1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0

1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0

0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1

0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0

0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1

0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1

1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1

1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1

1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0

1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1

0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0

0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0

0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1

1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0

0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1

1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0

0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1

1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0

1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1

0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0

1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0

1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1

1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1

1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0

0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1

0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0

0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1

0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1

1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1

0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1

0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0

0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0

0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0

0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1

0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0

1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0

0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1

1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1

0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1

1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1

0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0

1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1

1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0

0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1

0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1

1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1

0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1

1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1

1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0

1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0

0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1

0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1

1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1

0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1

1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0

1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1

0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0

0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0

1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0

0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1

1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0

1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1

0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0

0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0

0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1

0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1

0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
0

0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1

1
1
0
0
0
1
1
0
0
1

0
0
1
0
1
0
1
1
1
0

1
1
0
0
0
1
1
1
1
0

0
0
1
0
0
0
0
1
0
1

0
0
1
0
0
0
1
0
0
1

0
0
0
0
0
1
1
1
0
0

853
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0

854
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0

855
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1

856
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0

857
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1

858
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1

1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0

1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0

1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1

1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1

0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0

1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0

1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0

1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1

1
0
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1

0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1

0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1

1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1

1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1

1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0

0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0

0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1

0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0

1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1

1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0

0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1

0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0

0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1

1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0

0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0

0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1

0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0

0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0

1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0

0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0

0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0

0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0

1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0

0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1

0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1

1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0

0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0

1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1

1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0

0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0

1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0

0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0

1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0

0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0

1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1

1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0

0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0

1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0

0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1

0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1

0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0

0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1

0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0

0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0

0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1

0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1

1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0

1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0

1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0

0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0

1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1

0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0

1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1

1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1

0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1

0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1

0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0

1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0

0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0

0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1

1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0

1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1

1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0

0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0

1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1

0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0

1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1

1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0

0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0

1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0

0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1

0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0

1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1

0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1

0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0

0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0

0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0

0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1

1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0

0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0

1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1

1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0

0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0

1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1

0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1

1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1

0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0

0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1

1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1

0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1

1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0

0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1

0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0

0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0

1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1

0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1

0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1

0
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1

1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1

1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0

1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1

0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1

0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0

0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1

0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0

1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1

0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1

1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1

0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0

0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0

0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1

1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0

1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0

0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0

0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1

1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0

1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1

0
0
0
0
1
0
1
0
1
1

0
1
1
0
1
1
1
0
0
0

1
0
1
1
0
1
1
1
1
0

0
0
1
0
0
0
1
0
1
1

0
1
1
0
1
1
1
0
0
1

0
1
1
0
1
1
0
1
0
1

859
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1

860
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0

861
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1

862
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0

863
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1

864
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1

1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1

1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1

0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1

0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1

1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1

1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1

0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0

0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0

0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0

1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0

1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1

1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1

0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0

1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0

0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
0

0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1

0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0

0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0

0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1

1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1

1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0

0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0

1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0

1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0

0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0

0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0

1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0

1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0

1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0

1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0

1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1

0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0

1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0

1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0

0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1

0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0

1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1

1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1

1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1

1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0

1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1

1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1

0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1

1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0

1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
0
1

1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1

0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1

1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1

1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0

0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1

0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1

1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
0

0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0

1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0

0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0

0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1

1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0

1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0

1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1

1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0

0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0

1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1

1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1

0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1

0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1

0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0

1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0

1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1

0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0

1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1

0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1

1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0

1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1

1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1

1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1

1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1

0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1

1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0

0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1

0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0

1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1

0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0

1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1

1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1

0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0

1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1

1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0

0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1

0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0

1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0

0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0

1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1

0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1

0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0

0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0

1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0

0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1

1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0

0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1

1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1

0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0

1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1

0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1

0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0

0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1

0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0

0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0

0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1

1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1

0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1

1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0

1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1

1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1

0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0

0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0

0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1

0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0

0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0

0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0

1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1

0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1

0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0

1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1

1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0

1
0
1
0
0
1
0
1
0
1

1
1
0
0
1
1
0
1
1
0

0
1
1
1
0
1
1
0
1
0

1
1
1
0
1
1
1
1
0
0

1
0
1
0
0
0
1
1
1
0

1
0
0
0
0
1
0
0
0
0

865
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0

866
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1

867
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1

868
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1

869
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0

870
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1

0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0

0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0

1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1

0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0

1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0

1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
0

1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0

1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1

1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0

0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0

0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
0

0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0

1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
0

0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1

0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1

0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1

0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1

1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1

0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0

1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0

0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1

1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0

1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0

0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1

0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0

1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1

0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1

1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0

0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0

1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0

0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0

0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0

0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0

0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0

0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1

0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0

0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1

1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1

0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0

1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1

1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0

0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0

1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1

1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1

0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1

1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1

1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0

1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1

1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1

1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1

1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1

1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0

0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0

1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0

0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0

0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1

0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1

0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0

0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1

0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1

0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1

0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0

1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0

1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0

0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0

1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0

1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0

1
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0

1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0

1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1

0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1

1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1

0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1

1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1

1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0

1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0

1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1

1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1

0
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1

0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0

1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0

1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0

1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1

1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1

1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0

0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0

0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1

0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0

1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0

1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1

1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0

0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1

0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1

1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1

1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0

0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1

1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0

0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0

0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1

0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0

1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0

1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0

0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1

1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1

0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1

1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1

1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1

0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0

1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1

0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0

0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0

0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1

1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1

1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1

0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1

0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1

1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1

0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0

0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0

0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0

0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0

1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1

0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0

1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1

0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0

1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0

0
1
0
1
0
1
1
1
0
1

1
0
0
1
1
0
1
0
1
0

1
1
1
1
1
1
0
0
0
1

0
1
0
1
0
1
1
0
0
0

0
1
1
0
1
1
1
1
1
0

0
0
1
0
1
0
1
1
0
0

871
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1

872
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1

873
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1

874
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1

875
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1

876
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0

0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0

1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0

0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1

1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0

1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1

0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1

1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0

0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0

0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0

0
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0

1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0

1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0

0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0

0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0

1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0

0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1

0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0

0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1

1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1

1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1

0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1

0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0

1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1

1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0

0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1

1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1

0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0

0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1

1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
1

1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1

0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1

0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1

0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1

0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0

1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0

0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0

1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0

1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1

1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0

1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0

1
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0

1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1

0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1

1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1

1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0

1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0

1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0

0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0

0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1

0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0

1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1

1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0

0
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0

1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0

0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0

1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0

1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1

0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1

1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1

0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0

0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0

1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1

0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1

1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0

1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0

1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1

1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0

1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0

0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0

1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0

1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1

1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1

1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1

0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0

1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0

1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0

0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0

0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0

1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0

1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1

1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1

0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1

1
1
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0

1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0

0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0

0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1

0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0

1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0

1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1

1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1

1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1

0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0

1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1

0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1

0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1

0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0

0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0

1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1

0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1

1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0

0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1

1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0

0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0

1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1

0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0

1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0

0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1

0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0

1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1

0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0

0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0

0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1

1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0

0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1

1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0

1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0

1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0

1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1

1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0

1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0

1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1

1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1

0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1

1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0

1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1

0
1
1
1
0
0
0
1
0
0

1
0
0
1
1
1
1
1
0
0
0

1
0
0
0
0
0
1
1
1
1
1

1
1
1
1
0
0
1
1
1
0
0

0
0
0
0
1
1
1
0
0
0
0

0
0
1
0
0
0
1
1
0
0
0

877
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0

878
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0

879
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0

880
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0

881
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0

882
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1

1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0

1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0

0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0

0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0

0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1

0
1
0
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0

0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1

1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0

0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0

0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0

1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1

0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0

1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
1

0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1

1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1

1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0

1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1

1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1

0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1

1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0

1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
1

0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1

0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1

0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1

0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1

0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1

0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1

1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
1

1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1

0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1

0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0

0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0

0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0

1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1

1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1

1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0

0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1

0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0

1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0

0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1

1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0

0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0

0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1

0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
0

0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0

0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0

1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0

0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0

0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0

1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1

0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0

1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1

0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1

1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0

0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0

1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1

0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1

1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0

0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1

1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0

0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1

1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1

1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0

1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0

0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1

1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0

0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0

0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0

0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
0

0
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1

0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0

0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0

0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0

0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1

1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0

1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1

1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
1

1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1

0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1

0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1

0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0

0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0

0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1

1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0

1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1

1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1

1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1

1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0

1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1

1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1

0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1

1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0

0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1

1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0

1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1

0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0

1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1

0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1

0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1

0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0

0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1

0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0

1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1

1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0

0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1

0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0

1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0

0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0

1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0

0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0

1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0

0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1

0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0

0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0

1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0

1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0

1
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
1

1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1

0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1

1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0

0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0

0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0

0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1

1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0

1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0

1
1
0
0
1
1
0
0
0
0
0

0
0
1
0
0
1
0
1
0
1
0

1
0
1
0
0
0
0
1
1
0
0

0
1
0
1
0
1
1
0
0
0
0

0
1
1
0
1
1
0
0
1
0
1

0
0
0
1
1
1
0
1
0
1
1

883
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0

884
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0

885
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1

886
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1

887
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
0
0

888
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0

0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0

0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1

1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1

0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0

0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
0

0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0

1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1

0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1

0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0

1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0

0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0

1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0

1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0

0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1

0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0

0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1

1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1

0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1

1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
1

1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0

0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0

0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1

0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1

1
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1

0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1

1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1

0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0

0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1

1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1

0
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0

0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1

1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1

1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0

0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1

1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1

0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1

0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0

1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1

1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1

1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1

1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0

1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1

1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0

0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0

1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0

1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1

0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1

0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1

0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0

1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0

1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
0

0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1

0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0

0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1

0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1

0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1

1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0

1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0

1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0

0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0

0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0

0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1

0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0

1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0

1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0

0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1

0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1

0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1

0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1

1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1

1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1

1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0

0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0

1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0

1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0

1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0

0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1

0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1

0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
1

0
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1

0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0

0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1

0
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1

0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1

0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1

0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0

1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0

1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1

0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0

1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1

0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1

0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1

1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1

1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0

1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1

1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1

0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0

0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1

1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1

0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1

1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1

0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0

1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1

1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1

1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0

0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0

0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1

0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1

1
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1

0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1

1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1

1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1

1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1

0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0

1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1

1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0

0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1

0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0

1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0

0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0

0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0

1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0

0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1

0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1

0
0
0
1
0
0
0
1
1
1
1

0
0
0
0
1
1
1
0
0
1
0

0
1
0
0
0
0
1
1
1
1
0

1
1
0
0
1
1
0
1
1
0
0

0
1
0
1
1
0
1
0
0
0
0

0
0
0
1
1
1
1
0
1
1
0

889
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0

890
0
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1

891
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1

892
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0

893
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0

894
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1

1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0

0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0

1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0

0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1

0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1
0

1
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1

0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0

0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1

0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0

1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0

1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0

1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1

1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1

0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1

1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0

0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1

1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1

0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1

1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0

1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1

0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0

1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0

1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0

1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1

1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0

0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0

1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0

0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1

1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0

1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1

0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0

0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0

0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0

0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1

0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0

1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0

1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0

1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1

0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1

1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0

1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0

1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0

1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0

0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1

1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1

1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0

0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1

1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1

1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0

0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1

0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1

0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0

0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
0

0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0

0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1

0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1

1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1

1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0

1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0

1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0

1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0

0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1

0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1

1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1

1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1

0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0

1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1

1
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1

1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0

1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
1

0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1

1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1

1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1

0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1

1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1

1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0

1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1

0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0

1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1

0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
0

0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0

1
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0

0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0

1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1

1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0

0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0

0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1

0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0

0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1

0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1

1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0

0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1

0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0

1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0

0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1

0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0

0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0

1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0

1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1

0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0

1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1

1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1

1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1

0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1

0
1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
1
0

0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1

1
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1

0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0

0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0

0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1

1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0

0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0

0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0

0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1

0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1

1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0

0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1

1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0

0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0

1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1

1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1

0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
1

0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0

1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1

0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1

0
0
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0

0
1
1
0
1
1
1
0
1
1
0

0
1
0
0
1
1
1
1
0
0
1

1
0
1
1
1
0
0
1
1
0
1

1
1
1
0
1
1
0
0
1
0
0

1
1
0
0
1
0
1
0
0
0
0

1
1
1
0
0
1
0
0
1
1
0

895
1
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1

896
1
1
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1

897
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0

898
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1

899
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0

900
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1

0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1

0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1

0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1

1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0

0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0

0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
1

1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0

1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0

0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1

1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1

0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1

1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1

1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1

0
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0

1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1

0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1

0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1

0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1

1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0

0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1

0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1

0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0

0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1

0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0

1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0

1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0

1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0

1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0

1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0

1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1

1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0

1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0

0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0

1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0

1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1

1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1

1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1

0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1

0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0

0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0

1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1

1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0

0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0

1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1

1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0

1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1

1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1

0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0

1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0

0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0

0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1

0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0

0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0

0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1

0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1

0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1

0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0

0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0

1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1

0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1

1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1

1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0

1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0

0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
1

1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1

1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1

1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0

0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0

1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1

1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0

1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0

0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1

1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0

1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1

1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0

0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1

1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0

0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0

1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1

0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0

0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0

0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0

0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0

0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1

0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0

1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1

0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0

0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0

1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1

0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0

1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0

0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0

1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0

0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1

0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
1

1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0

1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1

0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0

1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0

1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0

1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0

1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1

1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1

1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0

0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1

1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0

0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0

0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1

0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1

0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1

1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1

0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0

1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0

0
1
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1

0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1

0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1

1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1

0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1

1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1

1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0

0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0

0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0

1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0

1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1

1
0
1
1
1
1
0
0
0
1
0

1
0
1
0
0
0
1
0
1
0
1

1
0
1
0
1
0
0
0
0
1
0

0
0
1
1
1
0
0
0
0
0
1

1
1
0
1
0
0
1
0
1
1
0

1
0
1
1
0
1
1
0
0
0
1

901
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0

902
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1

903
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1

904
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1

905
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1

906
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1

1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0

0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0

0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1

0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0

1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1

0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0

0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0

0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1

0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1

1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0

1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0

0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0

0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0

0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0

1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1

0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1

1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0

1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0

1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1

0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1

1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1

1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
0

1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0

1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0

0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
0
1

0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0

1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1

1
1
0
0
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0

0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0

1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0

1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0

0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0

1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0

1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1

1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0

1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0

1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1

1
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0

0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0

0
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1

1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1

1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0

0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0

0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1

1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1

0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1

1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0

1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0

0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0

1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1

0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1

1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1

0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1

1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0

1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0

1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1

0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0

0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1

0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1

1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1

0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0

0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1

0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1

0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0

1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1

0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1

0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0

0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1

0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1

0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0

0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1

1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1

0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0
1
0

0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0

0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0

0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0

1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0

1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0

0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0

0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0

0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1

0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1

0
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1

0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0

0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1

0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1

0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0

0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0

0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0

1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0

1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1

0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1

1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1

0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0

0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0

0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0

1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0

0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0

1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1

0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1

1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0

0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0

1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0

0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0

0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0

1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1

1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1

0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1

0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0

0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0

1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0

1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0

1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1

0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1

1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0

0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0

1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0

1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1

0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0

0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0

0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0

1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1

0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0

1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0

0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0

1
0
0
0
1
0
0
1
0
1
0

0
1
1
1
1
1
0
1
1
1
1

1
0
1
1
0
0
1
1
0
0
1

1
1
1
1
1
0
1
1
0
1
0

1
1
1
1
1
0
0
1
0
1
0

1
0
1
1
0
0
0
0
0
1
1

907
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1

908
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0

909
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
0

910
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1

911
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1

912
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1

1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1

0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0

1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1

1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0

1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0

1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0

1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1

0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0

0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0

1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0

1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1

0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0

0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0

0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1

1
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1

1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1

0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1

1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0

1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0

1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1

0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1

0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0

0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1

0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1

1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1

1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
1

0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1

1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0

1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1

0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1

1
0
0
0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1

1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1

0
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0

0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1

0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0

0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1

1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0

1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1

0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1

0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
0

0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0

0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1

0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1

1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0

1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1

1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0

1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1

0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1

1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1

0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0

0
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0

0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0

0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0

0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0

0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0

0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1

1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0

0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1

1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0

1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1

0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1

1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1

1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1

0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1

0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1

1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1

1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0

0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1

0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0

0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0

1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1

1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1

0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1

1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1

1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1

0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0

0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0

0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1

0
0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0

0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0

0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0

0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1

1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0

0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1

1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1

0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0

0
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0

1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0

0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0

0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0

1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0

0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0

1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0

0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0

1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0

1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1

1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1

0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1

0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0

1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0

1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
1

1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1

0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1

0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0

1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0

0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1

1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1

0
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
0
1

0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0

0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0

0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1

1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1

1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1

0
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0

0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1

0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0

0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1

0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1

0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0

0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0

1
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0

1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1

1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1

1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1

0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
0

0
0
0
1
1
0
0
0
1
0
1

0
0
0
0
1
1
0
0
0
1
1

0
1
0
0
0
1
0
1
1
1
0

1
1
1
0
1
1
1
1
1
1
0

0
0
0
0
0
0
1
1
1
0
1

1
1
1
1
0
1
0
0
0
0
0

913
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0

914
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1

915
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0

916
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1

917
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1

918
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1

1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1

1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0

0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0

0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1

1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1

0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1

1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0

1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0

0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1

1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0

0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1

1
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1

0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0

0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0

1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1

0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0

1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1

0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1

1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
0
0

0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1

0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0

0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0

1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
0

1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0

0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0

1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1

0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1

0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0

0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0

1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1

1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
1

0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1

0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1

0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0

0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1

1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1

0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1

1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1

1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0

0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0

0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1

0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0

0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1

1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
0

0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1

1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1

0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1

0
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0

0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1

1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0

1
0
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1

0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1

1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1

0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0

0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0

1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1

0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1

0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1

0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0

1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0

1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0

1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1

1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0

0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1

0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0

1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1

1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0

0
0
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1

1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0

1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1

0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1

0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0

0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0

0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1

1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0

1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0

1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0

1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1

0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0

1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0

0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1

0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1

1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0

0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1

1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1
0

1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1

0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0

0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1

0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
0

0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
0

1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1

1
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0

1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1

1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0

1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0

0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0

0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
1

1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1

0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1

0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1

1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1

0
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0

1
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0

1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1

0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0

0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0

1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1

1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0

1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0

1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0

1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1

1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0

1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0

0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
1

1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0

0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
1

0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1

1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0

0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0

1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0

0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0

1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1

1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1

1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1

1
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1

0
1
1
1
0
0
0
1
0
1
1

1
1
0
1
1
0
0
1
1
1
0

1
1
0
1
1
1
0
1
0
1
1

0
0
1
1
1
0
0
0
1
1
1

0
1
1
0
1
1
0
1
1
0
1

0
0
0
0
0
0
1
1
1
0
1

919
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0

920
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0

921
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1

922
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0

923
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1

924
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0

1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
0

1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0

0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
1

0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1

1
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0
0

0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1

0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1

0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0

0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1

0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1

0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0

1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
0

0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1

1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1

0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1

1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0

1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1

1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1

0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0

0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1

1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0

0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0

1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
1
1

1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1

0
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
0

0
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1

1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1

1
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1

0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1

0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0

0
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1

1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0

1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0

1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1

0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0

0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0

0
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1

1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0

1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1

0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0

1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0

0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0

1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0

0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0

0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1

0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1

1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0

1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0

0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1

1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0

1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
0

1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1

0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0

1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0

1
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0

1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0

1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0

0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0

1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1

1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1

1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
1

0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0

1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1

0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0

1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
0

0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1

1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1

0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0

1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0

1
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1

0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0

0
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1

0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0

0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1

0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0

0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
0

1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1

0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1

1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0

0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
1

0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0

0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0

0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0

1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1

1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0

1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0

1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0

0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1

1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1

1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1

1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
1

1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0

0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0

1
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
0

0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0

1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0

1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1

1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1

1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0

0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1

1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0

1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0

1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0

1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1

0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1

1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1

1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1

1
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1

1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0

0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0

0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1

1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0

1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0

1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1

0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
1

0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0

0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0

1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1

0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0

0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1

0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0

0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0

0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0

0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1

1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0

1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1

1
0
0
1
0
0
1
0
0
1
0

1
1
0
1
1
0
1
1
1
1
1

0
0
1
1
0
0
1
0
1
0
1

1
1
1
0
0
0
1
0
1
1
0

1
0
1
0
0
0
0
1
1
1
1

0
1
0
1
1
0
1
1
1
0
1

925
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0

926
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0

927
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1

928
1
1
0
1
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0

929
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0

930
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0

0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0

0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0

1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0

0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0

1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0

0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1

0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0

1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1

1
0
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1

0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0

1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1

0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1

1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0

1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0

1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1

0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0

1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1

0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1

1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0

1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1

1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0

0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
1

1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0

0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0

1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1

1
1
0
1
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0

0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1

1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1

0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
0

0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1

1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
0
0
0
1
0
1
0

0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0

0
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0

1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0

1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1

1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1

0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0

0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1

1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0

1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1

0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1

0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1

1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
0

0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
1

0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

0
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1

0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0

0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1

0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1

0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1

0
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0

0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1

1
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0

0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0

1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1

0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1

0
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0

0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
1

0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0

1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0

0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
0

1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1

1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
0
1
0

1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1

0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0

0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1

0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1

1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1

0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
1

1
1
0
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0

1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1

0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1

1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1

0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1

1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1

1
1
1
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1

0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1

1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0

0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0

0
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1

1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0

0
1
1
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0

0
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0

0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1

1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
1
1

1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1

0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0

0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1

1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1

0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1

1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0

0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0

0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1

1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
1
0

1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1

1
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1

0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1

1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1

1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1

1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1

1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1

1
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1

0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0

0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0

1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1

0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1

0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1

1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0

1
0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1

1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
0
1

1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0

0
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0

1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
1
1

0
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1

0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1

0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1

1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0

0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1

1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0

0
1
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0

1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1

1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
1

0
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1

1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1

1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0

0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1

1
1
0
1
1
0
1
0
1
0
1

1
0
0
0
0
1
1
1
1
1
0

1
1
1
1
1
0
1
1
0
0
0

0
1
1
1
1
1
0
0
0
0
0

1
0
1
0
1
0
1
1
1
0
1

1
1
1
1
1
0
1
0
1
0
0

931
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1

932
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0

933
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1

934
1
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
1

935
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1

936
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1

1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0

0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1

0
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1

1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0

0
0
1
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1

1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1

0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0

0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0

0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
1

0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0

1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
1

0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1

0
0
1
0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0

1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0

0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0

1
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1

0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1

1
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0

0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1

0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1

1
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1

0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0

0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0

0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1

1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0

0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1

1
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0

1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0

0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0

1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0

0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1

0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0

1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1

0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0

1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1

1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0

0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1

0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0

0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1

1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1

0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1

1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0

0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0

0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1

1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0

1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
1

1
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0

1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0

0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0

1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0

1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1

1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0

1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0

1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0

1
0
1
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1

0
0
0
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1

0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0

1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0

0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1

1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0

1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1

1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0

1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1

1
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0

0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0

0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1

1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0

1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0

1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1

0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1

1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1

1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0

0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0

1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1

1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1

1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0

1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1

1
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0

0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0

0
1
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1

1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1

0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0

1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1

0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0

0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0

1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1

0
1
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1

1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0

1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
1
1
0
1
0
1

1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1

0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0

0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
0

0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0

0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1

0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1

0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
0
1

1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0

1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1

1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
1

1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0

1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0

1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1

1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0

1
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1

0
0
0
1
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0

0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0

0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1

1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1

0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1

1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
1

0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0

1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1

0
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0

0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1

0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0

0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1

1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1

1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1

0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1

0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
0
0
1

0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0

1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0

0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0

1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1

1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1

1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0

1
1
0
1
1
1
0
0
0
1
1

0
0
0
0
0
1
0
0
1
0
0

1
0
1
1
0
1
0
0
0
1
0

0
1
0
1
0
1
0
1
0
0
0

0
1
1
1
0
0
0
1
1
0
1

0
1
0
1
1
0
1
0
0
0
0

937
0
0
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1

938
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
0

939
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0

940
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1

941
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1

942
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0

1
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0

1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1

0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1

0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0

1
0
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0

0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
1

0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0

0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0

0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1

1
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
1
0
0
1
1
0

1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0

1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0

0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1

0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0

0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0

1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0

1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1

0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0

0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1

1
1
1
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1

1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1

1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1

1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0

0
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0

0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
0

1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1

1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1

0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0

0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1

1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0

1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1

0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1

0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
0
1

1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0

0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0

0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
0

1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1

1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0

1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0
0
0

0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
1

1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1

1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1

1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0

0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0

0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1

1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0

1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
0
1
1

0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1

1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0

0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0

0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0

1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0

1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1

0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1

1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1

0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1

1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1

1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0

0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1

1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1

1
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0

1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1

1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1

0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
0

0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1

1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1

0
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1

1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1

0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0

1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1

0
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1

0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1

0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0

1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1

1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1

0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1

1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1

0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0

1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
1

1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
1

0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1

1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1

0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0

0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1

0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1

0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0

0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
0

0
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0

0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1

1
1
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0

1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0

0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0

0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1

0
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0

0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1

0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0

1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
1
1

1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1

0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1

0
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0

0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0

0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1

0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1

0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0

1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0

1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1

1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0

1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1

1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1

1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1

1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0

0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0

1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0

1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0

0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1

1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1

1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1

0
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1

1
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1

0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1

0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
1

1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1

1
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
1
0
0

1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1

0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1

0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1

0
1
1
1
0
1
0
0
0
0
0

0
0
1
0
0
1
1
0
0
0
1

0
0
0
0
1
1
0
1
0
0
0

0
1
1
0
1
0
0
1
0
0
1

0
1
1
0
0
0
1
0
0
1
1

0
1
1
0
0
1
0
0
1
1
1

943
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1

944
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0

945
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1

946
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
0

947
0
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1

948
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1

1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
1

0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0

0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
1

1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1

0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0

0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1

0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0

1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0

1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0

1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0

1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1

0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1

0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1

0
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0

0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0

0
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
0

0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0

1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1

0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1

0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1

0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0

1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0

1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0

0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1

0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1

0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1

1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0

1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0

0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1

1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1

0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1

1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0

0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1

1
0
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1

1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0

1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1

1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1

1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0

0
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1

0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0

1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
1

1
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0

0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0

0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0

1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0

1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
1

0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1

0
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1

0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0

1
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0

0
1
1
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0

1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0

1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1

0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1

1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1

1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0

1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
0
0

1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0

1
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1

1
0
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1

1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0

1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0

1
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0

1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1

1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1

1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
1
1
0

1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0

0
1
0
1
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0

0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0

0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1

0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1

1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1

1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1

1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1

0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0

0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0

0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
1

1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1

1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1

0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0

0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1

1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0

0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0

1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0

0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1

0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
1

1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1

0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0

0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
1
0

0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1

1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1

0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0

0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
0

0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1

1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1

1
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0

0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1

0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0

0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1

1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1

0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0

0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1

0
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1

0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1

1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1

0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0

1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
0

0
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0

0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1

0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0

1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0

0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1

1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1

0
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0

1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
0

0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0

0
0
0
0
0
1
1
0
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
0
0

1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0

1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0

1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0

1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0

1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1

1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0

1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1

1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0

0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1

1
0
1
1
1
0
1
1
0
1
1

1
0
0
0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0
1
0
1

1
0
1
0
0
0
0
1
1
0
0

1
0
0
1
1
1
1
0
0
1
1

0
1
1
1
0
1
0
1
0
1
0

949
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1

950
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1

951
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1

952
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1

953
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0

954
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0

0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1

0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
0
0

0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1

1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0

0
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1

1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1

1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
1

0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1

1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0

1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1

0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1

0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1

1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1

0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1

0
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1

0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1

0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1

1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1

0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1

0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1

0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1

1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1

0
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0

1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1

0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1

0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
0
1

1
1
1
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1

1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
1

0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0

0
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
1

1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1

0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1

1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1

1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0

0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
1
1
1

0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
0
1

1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0

1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0

1
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1

1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1

0
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0

1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1

0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0

0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0

0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1

0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1

1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0

0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0

0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1

1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1

0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0

0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0

1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1

0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
0
0

1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0

1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0

1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0

0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0

1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1

1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
1

1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0

0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0

0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0

1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1

0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0

0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0

0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1

1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0

1
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0

1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1

1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1

0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1

0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1

1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1

0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
0
0

0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0

0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0

0
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0

1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
0

0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0

0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1

0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1

1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1

1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1

0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0

0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0

1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1

1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0

0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1

0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0

0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0

1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1

0
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1

0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0

0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0

0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1

1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0

0
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0

1
1
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0

1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0

1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0

1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1

1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0

1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0

1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0

0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0

1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
0
1
0
0

1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0

1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0

1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1

1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0

0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1

1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0

0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1

1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0

1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1

1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0

0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1

0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1

1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1

1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
1
0
1
1

1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0

1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1

1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0

1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0

1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
0

1
0
0
1
1
0
1
0
0
1
1

0
1
0
0
1
1
1
1
0
0
0

1
1
1
0
1
0
0
1
0
0
0

0
0
0
0
1
0
1
0
1
1
0

0
1
1
1
1
0
0
0
1
0
0

0
0
1
1
0
1
0
0
0
1
0

955
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1

956
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0

957
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0

958
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0

959
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
1

960
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
1

0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
1

0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0

1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
0

1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
0
0
1
0
1
1

0
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0

0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0

1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0

0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0

0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0

0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0

1
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1

1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
0
0

1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1

1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1

1
0
1
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0

1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0

1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0

1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1

0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1

1
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1

1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0

0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0

0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0

1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1

0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1

0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1

1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
1

1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1

1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0

0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1

1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1

1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1

1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0

1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0

1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1

1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1

0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
0

0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0

1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1

0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
0

1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1

1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0

0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0

1
0
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
1

0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0

1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0

0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0

0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0

0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1

0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1

1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0

1
1
0
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
0

0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0
1

1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0

0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1

0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1

0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1

0
1
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1

0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
0

1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1

1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0

0
0
1
1
0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1

1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1

1
0
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
1

0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1

0
0
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0

0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1

0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
1
1

0
1
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0

1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0

1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0

1
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1

1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0

0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1

0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1

1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1

1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0

1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
0
1

1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0

1
0
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0

1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1

0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
0
1
1

1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1

1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0

1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1

0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0

0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1

1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1

1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1

0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1

0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1

0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
0
1

0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1

1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0

1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
1
1

0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1

0
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0

0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0

0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
1

1
1
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
0

1
0
1
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1

0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0

0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1

0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0

0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
1
0

0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1

0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
1

1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1

0
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1

1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0

0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1

1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0

1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1

1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1

1
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0

1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1

0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1

0
1
0
0
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0

0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0

0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1

0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1

0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0
0

1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1

0
0
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0

1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
1
0

0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0

0
0
1
1
1
0
0
0
0
0
0

0
0
1
0
1
1
0
1
1
0
1

1
1
0
1
1
0
0
0
0
0
0

0
0
1
1
1
1
1
0
0
0
0

0
1
0
0
0
1
1
1
1
0
1

1
0
0
1
0
1
1
1
0
0
1

961
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1

962
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1

963
1
1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1

964
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1

965
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
0

966
0
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0

0
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0

1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1

0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0

0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0

1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1

1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0

0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1

0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1

1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
0

0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
0

0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1

0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
1

1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0

1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0

0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0

0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0

0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1

1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1

0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1

0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1

0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
0

0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0

0
1
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1

1
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0
1

1
0
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
1

1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
1
0
0
1

0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
1

0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1

0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0

1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
0

1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0

1
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1

1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0

1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
0
0

0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0

0
0
1
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
1

1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0

1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1

1
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0

1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1

0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
0
0

1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
1

1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0

0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0

0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0

1
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0

0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1

1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1

0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
1

1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0

1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0

0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0

1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
1

1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0

0
1
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
1

0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1

1
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1

1
1
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0

0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0

0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1

1
0
1
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
1

0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0

0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0

1
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0

1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0

1
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1

0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0

1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1

1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0

0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1

0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0

1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
1

0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1

0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0

1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0

0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0

0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0

0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0

0
1
1
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
0
0
1

1
1
1
1
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
0

1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1

1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1

1
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1

0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0

1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1

1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0

0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1

1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
0

1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
0

0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
0

0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1

1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
0

1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0

1
1
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0

0
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1

1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
1

0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0

0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0

0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0

1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1

0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
0
1
0
0

0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1

0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0

1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1

1
0
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1

0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
0
0
0
1
0

1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0

1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0

0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0

1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0

0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1

1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1

0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1

1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0

0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1

1
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1

0
1
1
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0

0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
0
0

1
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0

0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0

1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1

0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1

1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1

0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1

1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0

1
1
1
1
1
1
1
1
0
0
1

0
0
0
0
1
1
0
1
1
1
0

0
1
1
0
1
1
1
1
1
1
1

0
1
0
0
0
0
1
1
1
1
0

0
1
1
0
1
0
1
1
0
0
1

0
1
0
1
1
0
1
0
1
1
0

967
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1

968
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1

969
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0

970
1
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
1

971
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0

972
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0

0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
0

1
0
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
1

1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0

0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0

0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
0

0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0

0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
1

0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0

1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0

1
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
1

1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1

1
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1

1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0

0
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
0

0
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1

1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1

0
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1

1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1

0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0

1
0
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0

1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1

1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1

0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1

0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1

1
0
1
1
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1

0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1

1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
0

1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1

0
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1

1
0
0
1
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1

1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0

1
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1

1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
0

1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1

0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1

1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0
1
0

1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0

0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0

0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0

1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
1

0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1

0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1

0
0
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1

0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1

0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
1

1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0

0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1

0
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0

0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
0
0
0

0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1

0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0

1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1

1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0

0
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0

1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1

1
0
0
0
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1

0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1

0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
0
1
0
0

1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1

1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0

1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1

1
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1

0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1

1
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0

1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1

0
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1

1
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
0
1

1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1

1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0

0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1

0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
0

0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0

0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0

0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0

1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
0
0
0
0

1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0

0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0

0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
0

1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0

0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1

1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0

0
1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1

1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
0
1
0
0
0
0

1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0

0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
0

0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1

1
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1

1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
0
0
0
0

1
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1

1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
1
1

1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
0

1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0

0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1

1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
0

1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1

0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1

0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1

0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1

0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0

0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
0
0

0
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0

0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1

1
0
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0

1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1

1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1

1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0

0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1

1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0

1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0

1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1

1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1

1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0

1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1

0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1

1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0

1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0

1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0

1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1

0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
0
0
1
1
0
1

0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1

1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1

0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
1
0
0

0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0

1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1

0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1

0
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1

0
0
1
1
0
0
0
0
1
1
1

1
0
1
0
1
1
1
0
1
1
0

0
1
1
1
0
1
1
0
0
1
1

0
0
1
0
0
1
0
0
0
0
1

0
1
1
0
1
0
0
0
0
1
0

1
1
1
1
1
1
1
0
1
0
0

973
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0

974
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0

975
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1

976
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1

977
0
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0

978
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0

1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1

0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
1
0

0
1
1
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1

1
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
1

0
1
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1

0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1

0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1

1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0

0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1

1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0

0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1

0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1

1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1

1
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0

0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1

0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
1

0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1

1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
0

1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1

0
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0

0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1

1
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0

1
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0

1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0

1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1

0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0

0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1

1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0

0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1

1
0
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1

1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0

0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
0

1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
0
1
1

0
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1

0
0
0
1
1
1
0
1
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0

1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0

0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1

0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0

0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1

0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0

1
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1

1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1

0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0

0
0
1
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1

1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0

1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0

1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0

1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0

0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0

1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1

0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
0
1

1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1

0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0

1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0

1
0
1
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
0

0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
1

0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1

1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0

0
0
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1

0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1

0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1

1
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0

1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0

0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1

1
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1

1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1

1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0

0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
1

1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1

0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0

1
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
1
0
1

1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
0
1

1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0

0
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1

1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1

1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1

1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
0

0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1

1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0

1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0

0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
0

1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0

1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1

0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
1
1

1
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1

0
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1

1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1

1
1
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0

0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1

1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1

0
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
1
1

0
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1

1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
1
1
0
1

0
1
1
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
1

1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0

1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1

0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0

0
1
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0

1
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1

0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1

1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
1

0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0

1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
1
1

0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0

0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
0

0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1

0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1

0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1

1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0

1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1

0
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0

0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1

0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
0

1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0

1
0
1
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
0
0
0

1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1

1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
1

1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1

0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
1

1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0

1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
0

0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1

0
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1

0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
0
0

0
1
1
1
1
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0

0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1

0
0
0
0
0
0
0
1
0
1
1

0
0
1
0
0
0
1
0
1
0
1

1
1
1
1
0
1
0
0
0
0
0

1
0
0
1
0
1
0
0
0
0
0

1
1
0
0
0
0
0
0
0
1
1

1
0
0
1
1
0
0
0
1
1
1

979
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0

980
0
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
0

981
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1

982
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1

983
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
0

984
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0

0
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0

1
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0

1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
0

0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1

0
1
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1

0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0

0
1
0
1
1
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1

1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
0

0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0

0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
0
1

1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1

1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0

1
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1

1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
1
0
0

1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0

1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0

0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1

0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1

0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0

1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
1
1
1

0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0

0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1

0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1

1
1
0
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1

0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1

0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1

1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1

1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0

1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0

1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1

1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0

1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0

0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1

0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
0
0

1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1

0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1

0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1

1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1

1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0

0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0

0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
0

1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0

0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0

1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
0

0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1

0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1

1
1
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
1
1
0

1
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1

0
1
0
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0

1
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1

0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
1
0
1
0

1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
0

1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0

0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0

1
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
1
0
0
1
0

0
0
0
0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0

0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0

0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0

0
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1

1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0

0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0

0
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0

0
1
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0

1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
0
1
1
1
1

0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1

0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
0

1
1
0
0
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
0
1
0

0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1

0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0

0
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0

1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
0
0

0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0

1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
1

0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1

1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1

0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1

1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
1
1

1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0

1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1

1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0

1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0

1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0

1
1
1
0
1
1
1
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
0

1
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
1

1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0

1
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
1
0
1

0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0

0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
0

0
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
0

1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1

1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0

0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1

1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0

1
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0

0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1

0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
1
0
0
0

1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0

1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1

1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0

0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1

1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0

1
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0

0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0

1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0
0

0
0
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1

1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1

0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0

1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1

0
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0

0
1
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1

0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0

1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1

0
1
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1

0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
1
0
0

0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
1
0
0
1
0
0

1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1

1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1

0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
0
0

0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0

1
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1

0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0

0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0

1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1

0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1

1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
0
0
1
0

1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1

1
1
0
0
1
1
1
0
1
1
0

1
1
1
1
0
0
0
1
1
1
0

1
1
1
1
1
1
1
0
0
1
1

0
0
0
1
1
1
1
0
1
1
1

0
0
1
0
1
1
1
1
0
0
1

0
0
0
0
0
0
1
1
0
1
0

985
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
1

986
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
1

987
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1

988
0
1
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0

989
0
1
0
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
0

990
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
1

0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
1
0

0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1

1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0

0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
1

1
1
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1

1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0

0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0

1
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0

0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
1

0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1

0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0

1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0
1
0

1
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0

1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0
1
0

0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1

1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0

1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0

0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0

0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1

0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1

0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
0
0
0
0
1
0

0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1

1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1

1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
1

0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
1

0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0

1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0

1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
1
1
1
0
0
1
1

0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1

0
1
0
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
0

0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1

1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
1

1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
0

1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0

0
1
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0

1
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
1

1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
1

1
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0

1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0

0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
1
0

0
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1

0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1

0
0
1
1
1
0
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
1

0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0

1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1

0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0

1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0

1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0

1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
1

0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0

0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
1

1
0
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1

0
0
0
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0

1
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0

1
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1

0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1
1
0

0
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0

1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
1
1

1
1
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
0
0

0
0
0
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0

0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0

1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0

0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1

0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
1

0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1

0
0
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0

0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0

0
0
0
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1

1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0

1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0

0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
1
0
1

0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1

0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0

1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0

1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1

1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
0

0
0
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0

0
1
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0

0
1
0
0
1
0
1
0
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
1
1
1
0
0
0

0
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1

1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0

0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
0

1
0
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
1

0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
1

1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
1

1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
0
1
0
0
0

0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1

0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0

0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1

1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0

1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1

1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1

1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0

1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0

0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
1
0
1
1

1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1

1
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0

0
1
1
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0

1
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0

0
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0

0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0

0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0

1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0

1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0

1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0

0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1

0
1
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0

0
0
0
0
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
1
1
1

1
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
1
1
1
1
1
0

0
1
1
1
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1

0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
1

1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
0
1
0
1

1
1
0
1
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1

0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1

0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1

1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
0
0
0
0

1
1
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1

0
1
0
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
0

1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0

1
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0

0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1

0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
0
0

1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1

1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1

1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
1

1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1

1
1
0
1
1
1
1
1
0
1
1

0
1
1
1
1
0
1
0
0
1
1

1
1
0
1
1
0
0
1
1
1
1

0
0
0
0
1
0
0
0
0
1
1

1
1
0
1
1
1
1
0
1
1
1

1
1
0
1
1
1
1
1
1
1
1

991
0
1
0
1
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1

992
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0

993
1
1
1
0
0
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1

994
0
1
0
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
1

995
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0

996
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
1
1

0
0
1
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1

1
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
1

0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0

1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0

0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
0

0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1

1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1

0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0

0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0

0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0

0
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
1

0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1

0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1

1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0

1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1

1
1
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1

0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1

1
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
1
1

0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0

1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1

0
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1

1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1

1
1
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1

1
0
1
0
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1

0
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
1
1

1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1

0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1

1
1
1
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1

1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1

0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0

0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
0
0
0
0

1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1

1
0
0
1
0
0
0
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1

1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0

0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0

1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
0

0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1

1
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1

0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1

1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
0
0
1

0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
1
1

0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
1

1
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1

1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1

0
0
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1

1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0

0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1

1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0

1
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0

1
0
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0

1
0
1
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0

0
0
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
1
0
0
1
0
1
0

1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1

0
0
1
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0

1
1
1
0
1
0
0
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
1
1
0
1

0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
0
1
1

0
1
0
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0

1
1
1
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0

1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0

0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
1
1

0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1

0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
0
0
0

0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1

1
0
1
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1

1
0
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1

1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
1

0
1
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1

1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
1
1

1
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0

0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1

0
1
0
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1

1
1
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0

0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0

1
0
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
0
1

1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1

0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
0
1
0
1
1

0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0

0
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0

1
1
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
1

1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0

0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
0
0

0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0

0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0

0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
0

1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1

0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
0
1
0

1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
1

1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
1
0
1

0
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1

0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0

0
0
1
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
0
1
1

0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1

0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0

1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1

1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
1

0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0

0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0

0
1
1
0
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1

0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1

1
1
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0

1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0

1
0
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
1
1
1

1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0

1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
0

0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
0
1
1
1

0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1

1
1
1
0
1
1
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0

1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0

0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0

0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
1
0
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
1
0
1

0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0

0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1

0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1

0
1
1
0
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
0
1

1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1

0
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0

1
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
1

1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0

0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1

1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0

0
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
1
1

1
1
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0

0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0

1
0
1
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0

0
1
1
1
0
1
1
1
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
1
1

0
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
1

0
1
1
1
0
1
0
1
0
0
1

0
1
0
1
1
0
1
1
1
0
1

1
1
1
1
0
0
0
1
0
1
0

1
0
0
1
0
1
1
1
1
1
0

1
1
1
0
1
1
1
0
1
0
0

1
1
1
0
1
0
1
1
0
0
1

997
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0

998
0
0
1
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0

999
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
0
0

1000
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0

0.476000
0.513000
0.474000
0.484000
0.503000
0.511000
0.470000
0.488000
0.507000
0.480000
0.489000
0.514000
0.498000
0.497000
0.488000
0.523000
0.492000
0.500000
0.503000
0.493000
0.515000
0.518000
0.502000
0.511000
0.508000
0.481000
0.537000
0.490000
0.524000
0.488000
0.505000
0.511000
0.496000
0.482000
0.522000
0.513000
0.502000
0.489000
0.501000
0.476000
0.501000
0.489000
0.481000
0.517000

0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
0
0

0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
1

1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1

0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1

0.501000
0.513000
0.496000
0.487000
0.523000
0.500000
0.513000
0.512000
0.509000
0.519000
0.501000
0.507000
0.490000
0.486000
0.491000
0.503000
0.524000
0.466000
0.471000
0.508000
0.500000
0.514000
0.492000
0.529000
0.507000
0.507000
0.468000
0.507000
0.519000
0.506000
0.528000
0.491000
0.519000
0.494000
0.495000
0.486000
0.516000
0.510000
0.519000
0.529000
0.518000
0.536000
0.492000
0.509000
0.486000

0
0
1
0
0
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0

0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1

0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0

0
0
1
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0

0.524000
0.495000
0.481000
0.493000
0.492000
0.518000
0.499000
0.516000
0.507000
0.498000
0.506000
0.489000
0.482000
0.520000
0.499000
0.491000
0.530000
0.507000
0.479000
0.502000
0.495000
0.498000
0.506000
0.486000
0.507000
0.500000
0.500000
0.507000
0.476000
0.519000
0.521000
0.484000
0.509000
0.496000
0.505000
0.497000
0.480000
0.510000
0.499000
0.525000
0.495000
0.505000
0.474000
0.503000
0.507000

1
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0

1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1

1
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
1

0
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0

0.486000
0.500000
0.482000
0.506000
0.505000
0.496000
0.491000
0.521000
0.500000
0.505000
0.501000
0.494000
0.510000
0.493000
0.506000
0.502000
0.489000
0.483000
0.499000
0.488000
0.466000
0.547000
0.492000
0.501000
0.488000
0.520000
0.498000
0.502000
0.506000
0.495000
0.483000
0.491000
0.525000
0.495000
0.514000
0.504000
0.501000
0.496000
0.497000
0.504000
0.491000
0.496000
0.500000
0.514000
0.532000

0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
0
1

0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1

0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0

1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1

0.492000
0.488000
0.510000
0.482000
0.511000
0.497000
0.492000
0.516000
0.486000
0.494000
0.465000
0.499000
0.498000
0.465000
0.480000
0.472000
0.510000
0.485000
0.475000
0.520000
0.492000
0.505000
0.513000
0.511000
0.484000
0.522000
0.499000
0.500000
0.520000
0.488000
0.493000
0.495000
0.477000
0.485000
0.497000
0.501000
0.506000
0.480000
0.505000
0.484000
0.502000
0.514000
0.500000
0.495000
0.524000

0
1
0
0
0
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1

0
0
1
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
0

1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
0

0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
1
0
0

0.476000
0.482000
0.474000
0.508000
0.514000
0.514000
0.501000
0.491000
0.506000
0.535000
0.522000
0.496000
0.494000
0.509000
0.499000
0.497000
0.497000
0.494000
0.490000
0.502000
0.529000
0.543000
0.484000
0.504000
0.509000
0.508000
0.471000
0.483000
0.499000
0.510000
0.464000
0.504000
0.519000
0.470000
0.491000
0.494000
0.501000
0.477000
0.526000
0.503000
0.504000
0.499000
0.499000
0.499000
0.508000

1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
1

1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
0
1
1
1
1
0
1
0
0

0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0

0
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0

0.546000
0.496000
0.480000
0.538000
0.482000
0.509000
0.522000
0.504000
0.509000
0.500000
0.505000
0.486000
0.475000
0.506000
0.494000
0.515000
0.499000
0.505000
0.503000
0.501000
0.526000
0.498000
0.507000
0.492000
0.504000
0.495000
0.509000
0.510000
0.501000
0.524000
0.521000
0.515000
0.502000
0.474000
0.501000
0.480000
0.503000
0.494000
0.515000
0.510000
0.539000
0.473000
0.509000
0.518000
0.489000

1
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
0

1
0
1
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
1
0
1

1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
0
1
0
0

0
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1

0.509000
0.488000
0.502000
0.495000
0.508000
0.539000
0.508000
0.506000
0.482000
0.501000
0.491000
0.496000
0.497000
0.521000
0.488000
0.498000
0.519000
0.489000
0.516000
0.505000
0.500000
0.519000
0.514000
0.487000
0.519000
0.490000
0.486000
0.493000
0.487000
0.490000
0.525000
0.502000
0.499000
0.497000
0.505000
0.516000
0.493000
0.487000
0.491000
0.484000
0.517000
0.480000
0.513000
0.489000
0.478000

0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0

0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
1
1

0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1

0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
1
0
1

0.499000
0.522000
0.500000
0.493000
0.514000
0.499000
0.500000
0.509000
0.491000
0.528000
0.525000
0.485000
0.483000
0.514000
0.509000
0.486000
0.528000
0.511000
0.500000
0.455000
0.519000
0.505000
0.505000
0.484000
0.523000
0.522000
0.523000
0.473000
0.495000
0.479000
0.489000
0.495000
0.495000
0.510000
0.510000
0.485000
0.505000
0.515000
0.547000
0.515000
0.516000
0.493000
0.486000
0.501000
0.507000

1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0

0
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
1
0
0
0

0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
0

0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
1

0.480000
0.503000
0.520000
0.528000
0.536000
0.496000
0.486000
0.472000
0.515000
0.537000
0.504000
0.476000
0.509000
0.530000
0.505000
0.491000
0.524000
0.517000
0.478000
0.481000
0.503000
0.494000
0.498000
0.510000
0.507000
0.512000
0.505000
0.483000
0.507000
0.456000
0.503000
0.487000
0.517000
0.509000
0.508000
0.507000
0.494000
0.490000
0.498000
0.485000
0.496000
0.476000
0.505000
0.475000
0.489000

1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
1
0

1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0

1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
1
1
1
1
1
1
1

0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
1
1
1

0.496000
0.507000
0.501000
0.490000
0.482000
0.490000
0.507000
0.485000
0.524000
0.501000
0.495000
0.515000
0.501000
0.506000
0.505000
0.476000
0.501000
0.505000
0.497000
0.501000
0.507000
0.508000
0.519000
0.487000
0.507000
0.494000
0.500000
0.482000
0.522000
0.533000
0.497000
0.490000
0.486000
0.533000
0.502000
0.531000
0.512000
0.509000
0.497000
0.470000
0.507000
0.457000
0.490000
0.492000
0.498000

1
0
0
1
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0

1
1
0
1
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
1
0
1
1

0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1

0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1

0.493000
0.485000
0.499000
0.487000
0.497000
0.504000
0.508000
0.480000
0.503000
0.499000
0.495000
0.499000
0.524000
0.497000
0.506000
0.492000
0.490000
0.486000
0.491000
0.496000
0.508000
0.497000
0.541000
0.493000
0.496000
0.499000
0.505000
0.480000
0.480000
0.495000
0.486000
0.473000
0.507000
0.483000
0.476000
0.501000
0.516000
0.499000
0.488000
0.482000
0.527000
0.511000
0.485000
0.509000
0.487000

1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0

0
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0

0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1

0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
1

0.519000
0.494000
0.483000
0.496000
0.499000
0.478000
0.525000
0.505000
0.514000
0.495000
0.483000
0.489000
0.475000
0.532000
0.497000
0.493000
0.475000
0.523000
0.504000
0.502000
0.476000
0.469000
0.491000
0.531000
0.498000
0.525000
0.521000
0.490000
0.494000
0.474000
0.474000
0.492000
0.527000
0.478000
0.526000
0.512000
0.503000
0.513000
0.510000
0.490000
0.502000
0.496000
0.505000
0.503000
0.513000

1
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0

1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
0

0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1

0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1

0.527000
0.490000
0.483000
0.484000
0.490000
0.477000
0.507000
0.511000
0.510000
0.473000
0.534000
0.480000
0.492000
0.506000
0.522000
0.486000
0.498000
0.501000
0.493000
0.496000
0.508000
0.525000
0.507000
0.492000
0.481000
0.514000
0.528000
0.491000
0.488000
0.495000
0.455000
0.494000
0.503000
0.515000
0.509000
0.497000
0.506000
0.531000
0.488000
0.511000
0.515000
0.473000
0.510000
0.495000
0.502000

1
1
1
1
0
1
0
1
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1

1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1

0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1

1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0

0.495000
0.485000
0.539000
0.505000
0.506000
0.496000
0.494000
0.528000
0.494000
0.475000
0.521000
0.508000
0.495000
0.499000
0.497000
0.487000
0.529000
0.496000
0.475000
0.491000
0.491000
0.509000
0.492000
0.507000
0.519000
0.478000
0.504000
0.497000
0.502000
0.492000
0.508000
0.499000
0.516000
0.504000
0.513000
0.506000
0.489000
0.520000
0.490000
0.508000
0.457000
0.513000
0.515000
0.513000
0.501000

1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1

0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1

1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1

0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
0
0
0
0

0.498000
0.490000
0.505000
0.504000
0.481000
0.498000
0.505000
0.497000
0.501000
0.477000
0.487000
0.495000
0.469000
0.519000
0.509000
0.478000
0.509000
0.477000
0.500000
0.480000
0.538000
0.504000
0.495000
0.501000
0.485000
0.521000
0.508000
0.487000
0.501000
0.509000
0.512000
0.502000
0.490000
0.502000
0.475000
0.518000
0.499000
0.501000
0.532000
0.507000
0.505000
0.495000
0.487000
0.475000
0.534000

0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0

0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
0
1

0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0

0
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
0
0
0
1
0
1
1

0.504000
0.498000
0.503000
0.488000
0.462000
0.527000
0.509000
0.512000
0.487000
0.516000
0.488000
0.507000
0.490000
0.501000
0.508000
0.484000
0.498000
0.465000
0.496000
0.503000
0.528000
0.480000
0.512000
0.513000
0.491000
0.509000
0.516000
0.502000
0.516000
0.503000
0.499000
0.515000
0.502000
0.501000
0.474000
0.496000
0.507000
0.510000
0.498000
0.492000
0.525000
0.502000
0.477000
0.505000
0.476000

1
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
1
1

0
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1

1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
0

0
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1

0.476000
0.483000
0.508000
0.483000
0.489000
0.505000
0.507000
0.502000
0.480000
0.496000
0.508000
0.520000
0.491000
0.508000
0.502000
0.499000
0.489000
0.530000
0.501000
0.480000
0.507000
0.479000
0.470000
0.480000
0.486000
0.493000
0.529000
0.496000
0.512000
0.513000
0.485000
0.499000
0.502000
0.505000
0.524000
0.506000
0.491000
0.497000
0.522000
0.506000
0.509000
0.511000
0.506000
0.521000
0.491000

1
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
1
0

1
1
0
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
1

0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
1

0
0
1
1
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1

0.508000
0.511000
0.481000
0.503000
0.503000
0.481000
0.509000
0.516000
0.494000
0.506000
0.496000
0.485000
0.493000
0.511000
0.495000
0.530000
0.521000
0.485000
0.502000
0.475000
0.493000
0.517000
0.503000
0.505000
0.501000
0.511000
0.507000
0.474000
0.509000
0.512000
0.489000
0.484000
0.492000
0.524000
0.499000
0.506000
0.540000
0.479000
0.517000
0.482000
0.477000
0.486000
0.474000
0.513000
0.529000

1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0

0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
1
1
0
0
0
1
0

0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
1

1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1

0.476000
0.493000
0.510000
0.521000
0.512000
0.536000
0.497000
0.493000
0.508000
0.508000
0.509000
0.502000
0.482000
0.489000
0.484000
0.509000
0.530000
0.501000
0.507000
0.500000
0.509000
0.478000
0.517000
0.504000
0.521000
0.505000
0.506000
0.500000
0.527000
0.486000
0.498000
0.506000
0.527000
0.509000
0.477000
0.498000
0.487000
0.483000
0.510000
0.490000
0.510000
0.488000
0.515000
0.520000
0.524000

1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0

0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0

0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0

0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1

0.511000
0.485000
0.503000
0.504000
0.514000
0.513000
0.516000
0.498000
0.520000
0.489000
0.481000
0.470000
0.486000
0.486000
0.506000
0.505000
0.489000
0.483000
0.500000
0.514000
0.498000
0.518000
0.493000
0.507000
0.513000
0.499000
0.481000
0.498000
0.500000
0.497000
0.495000
0.504000
0.488000
0.493000
0.491000
0.488000
0.507000
0.511000
0.464000
0.460000
0.505000
0.487000
0.481000
0.516000
0.504000

1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0

1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1

0
1
0
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
1
0

1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0

0.508000
0.486000
0.505000
0.493000
0.515000
0.518000
0.496000
0.515000
0.492000
0.503000
0.502000
0.508000
0.500000
0.520000
0.496000
0.507000
0.483000
0.488000
0.531000
0.486000
0.524000
0.528000
0.502000
0.491000
0.535000
0.507000
0.516000
0.519000
0.502000
0.505000
0.487000
0.501000
0.518000
0.509000
0.509000
0.514000
0.492000
0.506000
0.520000
0.492000
0.515000
0.488000
0.493000
0.507000
0.479000

1
0
0
0
0
0
0
0
0
0
1

0
1
1
1
1
1
1
0
1
0
1

1
1
0
1
0
1
1
1
0
0
1

0
0
0
1
1
0
0
1
1
0
0

0.498000
0.503000
0.526000
0.490000
0.533000
0.517000
0.492000
0.501000
0.516000
0.507000

You might also like