数据:
```
30000
1
1
2
2
2
2
1
2
1
1
2
2
2
2
1
2
2
2
2
1
2
2
1
2
2
2
1
1
2
2
1
1
2
2
2
1
1
1
1
2
1
2
1
2
1
1
1
1
2
2
1
2
1
2
1
2
1
2
1
1
1
1
1
1
1
2
1
1
2
1
2
2
1
2
1
1
2
1
1
2
2
2
1
2
1
1
2
1
2
2
1
1
2
1
1
2
1
1
1
2
2
2
2
2
2
2
2
1
1
1
2
2
2
2
2
2
1
1
2
2
2
1
2
1
1
2
1
1
1
1
1
2
2
2
1
1
1
2
2
1
2
1
1
1
1
2
2
1
2
2
2
1
2
2
1
2
1
1
1
1
1
1
2
1
2
2
1
2
2
2
1
1
1
1
2
1
2
1
1
1
2
2
1
1
1
1
1
2
2
1
2
2
1
2
2
2
1
1
1
2
2
1
1
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
1
2
2
1
1
2
2
1
1
2
1
2
2
2
2
2
2
1
1
1
2
2
1
2
1
2
1
1
1
1
2
2
2
2
2
1
1
1
1
2
2
1
1
1
2
2
2
1
2
2
2
2
2
2
1
2
1
1
2
1
2
2
2
1
1
1
1
1
1
1
2
1
1
2
1
1
2
1
1
1
2
2
2
1
1
2
1
1
1
2
2
2
1
1
2
1
2
1
2
2
1
1
2
2
1
1
2
2
1
2
2
2
2
2
1
2
1
1
1
1
2
2
2
1
2
2
1
1
2
2
1
2
1
2
1
1
2
2
2
2
2
1
2
1
2
2
2
1
2
2
1
1
1
1
1
1
2
2
1
1
1
1
2
1
1
1
1
2
2
2
2
1
1
1
1
2
2
1
2
1
2
1
1
1
1
2
1
2
1
1
2
1
2
1
2
2
1
2
1
1
2
2
1
2
2
2
1
1
2
1
1
1
1
2
1
1
1
1
2
1
2
1
1
1
1
2
2
2
2
2
2
1
2
2
2
1
1
2
2
2
2
2
1
2
1
1
2
1
2
1
1
1
1
2
1
2
1
2
1
2
1
2
2
2
1
1
1
2
1
2
1
2
1
1
2
2
2
1
2
1
2
1
1
2
2
1
1
2
2
1
2
2
2
1
2
1
2
2
2
2
1
2
1
1
1
2
2
2
1
2
2
2
2
2
1
1
2
2
2
1
2
1
2
2
2
1
2
1
2
1
2
2
2
2
1
2
2
2
1
2
1
2
1
2
1
1
2
2
2
2
2
2
2
2
1
1
2
2
1
2
2
2
1
1
2
1
1
1
1
1
2
1
1
2
1
1
2
2
1
2
1
2
1
1
1
1
1
1
2
2
2
1
1
2
1
2
1
1
2
1
2
1
1
2
2
1
2
2
1
2
1
1
2
1
1
2
1
2
2
2
1
1
2
1
1
2
1
1
1
2
1
2
1
1
1
2
2
2
1
2
2
1
2
1
1
1
2
1
2
2
2
2
2
1
2
2
1
2
2
1
2
2
2
2
1
2
1
2
1
2
1
2
2
2
2
1
2
2
1
1
1
1
2
2
1
2
2
1
1
1
1
2
1
2
1
1
1
2
2
2
1
2
1
2
1
1
2
1
2
1
1
2
1
1
1
1
2
2
2
2
1
2
2
1
2
2
1
2
1
2
1
1
1
2
1
1
2
2
1
1
2
2
2
2
2
2
1
1
2
2
2
2
1
1
2
2
1
2
2
1
1
2
2
1
1
2
1
2
1
2
2
1
1
1
2
2
1
2
2
2
1
1
1
2
2
2
1
2
1
2
2
1
2
1
1
2
2
1
2
1
2
1
1
2
2
2
1
2
2
2
1
2
1
1
1
2
2
2
1
2
1
2
2
2
1
2
2
2
2
1
2
2
1
2
1
2
2
2
1
1
1
1
2
1
1
1
2
2
2
2
1
2
2
2
2
2
1
1
1
1
1
1
2
1
2
2
1
1
1
1
1
2
2
1
2
2
1
2
2
2
1
2
1
2
2
2
1
2
2
2
2
2
2
1
1
1
1
1
2
1
1
2
2
2
2
2
2
2
1
1
1
1
2
2
1
1
1
1
1
1
2
2
2
1
1
2
2
1
2
1
1
1
2
1
2
2
2
1
1
2
1
2
2
1
1
2
1
1
1
1
1
2
1
1
1
1
2
2
1
2
2
1
2
1
1
1
2
2
2
1
1
2
2
1
2
2
2
1
2
2
1
1
2
1
1
2
1
2
1
1
1
2
2
2
2
2
1
2
2
2
2
2
1
1
2
1
2
2
1
1
1
1
1
2
2
1
1
2
1
1
1
1
2
2
1
2
1
1
1
2
2
2
2
2
2
1
2
1
2
2
1
1
1
2
2
2
2
1
1
2
1
1
1
1
2
1
2
1
1
2
2
2
1
1
1
2
2
1
2
1
2
2
1
2
1
1
1
1
1
2
2
1
2
2
1
2
2
2
2
2
1
1
1
1
2
2
2
1
2
1
1
1
1
2
1
1
2
1
1
2
2
1
2
2
2
1
1
2
2
2
1
1
2
2
1
1
1
1
1
2
1
2
2
1
1
2
2
2
1
2
1
2
2
2
1
2
2
1
1
2
2
1
2
2
2
2
2
2
2
1
1
1
2
1
1
2
2
2
1
2
2
1
2
1
2
2
2
2
1
2
1
2
1
2
1
2
1
1
2
1
1
2
1
2
2
1
1
2
1
1
1
2
1
2
2
2
2
2
1
2
1
1
1
1
2
2
1
1
2
2
1
2
1
1
1
1
1
1
2
1
1
2
2
1
2
2
2
1
1
1
2
1
1
2
2
1
1
2
1
2
1
1
1
1
1
1
1
1
1
2
2
1
2
1
1
1
2
1
1
2
1
2
1
1
1
2
1
2
1
1
1
1
1
2
1
1
2
2
2
1
1
1
1
2
1
2
2
1
2
2
2
2
1
2
2
2
1
1
1
1
1
1
1
2
2
2
2
2
1
1
2
1
1
2
1
2
1
2
2
2
2
1
1
2
1
1
1
1
1
1
2
1
2
2
2
1
1
2
2
1
2
1
2
1
1
2
2
1
1
1
1
2
1
1
2
1
1
2
2
1
1
1
2
2
2
1
2
1
2
2
1
2
2
2
2
2
1
1
1
2
1
1
1
1
1
2
2
2
2
1
2
2
1
1
1
2
2
2
2
1
1
1
2
1
2
1
2
1
1
2
2
1
2
2
2
1
2
1
2
1
1
1
2
1
2
2
2
1
1
2
1
2
2
1
2
1
1
1
1
2
1
2
2
2
2
1
2
1
1
1
1
1
2
2
1
1
1
1
1
1
2
1
2
1
1
1
1
2
2
2
1
2
1
2
1
2
1
1
2
1
1
2
2
2
1
2
2
1
2
2
2
1
1
1
1
1
2
2
2
1
1
2
2
1
2
2
1
2
2
2
2
1
2
1
2
2
1
2
1
2
1
2
1
1
2
1
2
1
2
1
1
2
1
2
1
2
2
1
1
1
2
2
1
1
1
1
1
1
2
1
2
2
2
2
1
1
1
2
2
2
2
2
2
2
2
2
1
1
2
1
1
1
1
2
2
1
2
2
1
1
2
2
2
1
2
2
1
2
1
2
1
1
2
2
2
1
1
1
1
2
1
1
1
1
2
2
1
1
1
1
1
2
1
1
2
2
2
2
1
1
2
1
1
1
1
2
1
1
2
1
1
1
1
1
1
1
2
2
1
2
2
2
1
2
2
2
1
1
1
1
1
2
2
1
2
2
1
2
2
2
2
2
2
1
2
1
1
1
2
1
2
1
2
2
1
1
1
1
2
2
2
2
1
1
1
1
2
1
2
1
2
2
1
2
2
2
2
2
1
1
2
2
1
2
2
1
2
2
2
1
1
1
1
2
1
1
2
2
1
1
2
2
2
2
1
1
2
2
2
2
2
2
1
1
1
2
1
2
2
2
1
2
2
1
1
2
1
2
1
1
1
1
2
2
2
1
1
1
2
2
2
2
1
1
2
1
2
2
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
2
2
1
2
2
1
1
2
1
2
1
2
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
2
2
1
2
2
2
2
1
1
2
1
1
2
2
1
2
2
1
2
2
1
2
2
1
2
2
1
1
2
1
1
1
2
1
2
1
1
2
1
1
1
1
1
1
2
1
2
2
1
1
1
1
2
2
1
1
1
1
1
2
1
2
1
1
2
2
1
2
1
2
1
2
2
1
2
2
2
1
1
2
1
1
1
2
2
1
2
2
2
1
1
2
2
1
2
1
1
1
1
1
2
1
2
1
1
1
2
2
1
2
2
1
2
2
2
1
2
2
2
1
2
1
1
1
1
2
1
1
2
1
2
1
1
1
2
2
2
1
1
2
1
2
1
2
1
2
1
1
1
2
1
2
2
1
2
1
1
1
1
2
1
2
1
2
1
2
1
2
2
1
1
2
1
1
2
1
1
2
1
1
1
2
1
1
2
2
1
2
2
1
2
1
1
2
2
1
1
2
2
2
2
2
2
2
1
1
1
1
2
1
1
2
2
1
2
2
1
2
1
2
1
2
2
1
1
1
1
1
2
2
1
2
1
2
1
1
2
1
1
1
2
2
2
1
2
2
2
2
1
1
2
1
2
1
1
1
2
1
1
1
2
1
2
1
2
1
1
1
1
2
1
2
1
1
1
2
2
2
2
2
2
1
1
2
1
1
2
2
2
2
1
1
1
2
1
2
2
2
1
1
1
1
2
1
1
2
2
2
2
1
2
1
1
2
2
2
2
1
1
1
1
1
2
1
1
2
2
2
1
2
2
1
1
2
1
1
1
1
1
2
1
2
1
2
1
2
1
2
1
1
1
1
2
2
1
2
1
2
1
2
2
1
2
2
2
1
2
2
1
2
2
1
1
2
2
1
1
2
1
1
1
1
1
2
2
1
1
2
1
1
1
2
1
1
1
2
1
2
2
1
2
1
1
2
2
1
1
2
2
1
1
2
1
1
1
2
2
1
1
2
2
2
1
2
2
1
2
2
2
1
2
1
1
2
1
2
2
1
1
2
1
1
1
1
2
2
2
1
2
2
2
1
1
2
1
2
2
2
1
1
2
2
2
2
2
2
1
1
2
1
2
2
2
1
2
1
2
1
1
1
2
2
2
1
1
2
2
2
1
1
2
2
2
1
1
1
2
1
2
1
1
1
2
2
1
1
2
2
1
2
1
1
1
2
1
1
1
2
2
1
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
1
2
1
1
2
1
1
1
1
2
1
2
1
1
2
2
2
1
2
1
2
1
2
1
2
1
2
1
2
1
1
1
2
1
1
1
1
1
1
1
2
1
2
1
1
1
2
2
1
1
2
1
1
1
1
1
2
2
1
1
2
1
1
2
1
1
2
1
2
1
1
1
1
1
1
2
1
1
1
2
1
1
2
2
1
2
2
2
1
2
1
2
1
1
1
1
2
1
2
1
1
2
1
1
2
2
2
1
2
1
2
2
1
1
1
1
2
2
1
2
2
1
1
2
1
2
2
2
2
1
2
2
1
1
2
2
2
2
2
1
2
1
2
2
1
1
2
2
2
2
1
1
2
2
2
1
1
2
2
2
2
2
1
2
2
2
2
1
1
1
1
2
2
2
1
2
2
1
2
2
2
2
2
2
1
2
2
1
1
1
2
2
2
2
2
1
2
1
1
2
1
1
2
2
1
2
2
2
2
1
1
2
2
1
1
1
2
2
1
2
2
1
1
2
2
2
2
1
2
1
1
1
1
2
2
1
1
1
1
1
1
1
2
1
1
2
1
2
1
1
1
2
1
2
1
1
1
1
1
1
1
1
1
1
2
2
2
1
1
2
1
1
2
2
1
1
1
1
2
1
2
1
2
2
2
1
2
2
1
1
2
1
1
2
1
1
2
2
1
2
1
1
2
1
2
1
1
2
1
2
2
2
2
1
2
1
1
1
1
1
1
2
1
2
2
2
2
1
1
2
2
2
2
1
2
1
1
2
2
2
1
1
1
1
1
2
1
2
1
1
2
1
1
1
2
2
2
1
2
2
2
1
1
1
1
2
1
2
1
2
1
2
2
1
2
1
1
2
2
1
1
1
1
1
1
1
2
2
1
1
2
1
1
2
1
1
2
2
2
2
1
2
1
1
1
2
1
1
2
2
1
2
2
1
2
1
1
1
2
2
1
1
2
1
1
2
1
2
1
1
1
2
2
2
2
2
1
2
2
2
1
2
1
2
1
2
2
1
2
2
2
2
2
1
2
2
1
1
1
1
1
2
2
2
1
1
2
1
2
1
1
2
1
1
2
1
1
1
1
2
2
1
2
2
1
1
1
1
1
2
2
1
1
1
1
1
2
2
1
1
2
1
1
2
2
2
2
2
2
1
1
2
1
2
1
1
1
1
2
1
2
1
2
2
1
2
2
2
1
1
1
2
1
1
2
2
2
1
1
1
1
2
2
1
1
2
2
1
1
1
2
2
1
1
2
1
2
1
1
2
1
1
1
2
1
2
1
2
1
2
2
1
1
2
2
1
1
1
2
1
1
1
1
1
1
2
1
2
2
1
1
1
1
1
2
1
1
2
2
1
1
2
1
1
1
2
2
1
2
1
2
2
1
2
2
1
1
1
2
2
1
2
2
2
2
1
2
2
1
2
2
1
1
1
2
1
2
1
1
2
1
2
1
1
1
1
1
1
1
2
1
1
1
2
2
2
1
2
2
1
1
1
1
1
1
2
1
1
2
1
2
2
1
2
2
1
2
2
2
2
1
2
1
1
1
2
1
1
1
2
1
1
2
2
1
1
1
1
1
1
2
2
2
2
1
2
2
1
1
1
2
2
2
2
2
1
2
2
1
2
1
2
1
1
1
1
1
1
2
1
1
1
2
1
2
2
2
1
2
2
2
2
1
1
1
1
1
2
2
2
2
1
1
2
1
1
2
1
1
1
1
2
1
2
2
2
1
1
1
1
2
2
2
1
2
2
1
1
2
2
2
1
2
2
2
2
2
1
2
2
2
2
1
2
1
2
2
2
2
2
2
2
1
1
2
2
2
2
2
1
1
1
1
1
2
2
2
1
1
2
1
2
1
1
1
2
1
2
1
2
1
2
1
1
2
2
1
1
1
2
2
2
1
2
2
2
2
1
1
2
2
1
1
1
1
1
2
1
1
2
1
1
1
1
2
2
1
2
2
1
1
1
2
1
1
1
1
2
2
1
1
1
1
1
1
1
1
2
2
1
1
2
2
1
2
1
2
2
2
2
1
2
2
2
1
2
1
1
1
2
1
1
2
1
1
1
1
2
2
2
2
1
1
1
1
1
1
1
2
2
2
2
2
1
2
2
1
2
2
1
1
2
2
2
2
2
2
2
1
2
2
1
2
2
1
2
2
2
2
2
1
1
1
2
2
2
1
2
1
2
2
1
1
1
1
2
1
2
2
1
1
1
1
2
2
2
2
2
1
1
1
1
2
1
1
1
1
1
2
1
1
1
2
1
2
2
1
2
1
2
2
2
2
1
1
1
2
2
2
2
1
2
2
2
1
2
2
1
1
1
1
1
1
2
1
2
1
1
1
2
2
1
1
1
1
1
2
2
1
1
1
1
1
2
2
1
2
1
1
2
1
1
2
1
1
2
1
1
1
1
2
2
1
2
1
1
1
2
2
1
2
2
1
2
2
2
2
1
2
2
2
2
1
1
2
1
2
2
1
2
1
1
2
1
2
2
2
2
1
1
2
2
1
2
2
2
1
1
2
2
1
1
1
1
1
1
1
2
2
1
2
2
1
1
1
1
2
2
2
2
2
2
1
2
1
2
1
2
1
2
1
1
2
2
1
2
2
1
2
1
1
1
1
2
1
1
2
2
2
1
1
1
2
1
1
1
1
1
2
1
1
2
1
2
1
1
2
2
1
1
1
1
1
1
2
1
1
1
2
2
2
2
2
1
2
2
1
2
1
2
2
1
2
2
2
2
2
1
2
2
1
2
1
1
2
2
1
2
1
2
1
2
1
2
2
1
2
1
2
2
2
2
2
1
1
1
1
1
2
2
2
2
1
2
1
2
2
1
1
2
1
1
1
1
2
2
1
1
2
1
2
2
2
1
2
2
2
2
2
1
1
2
2
1
1
2
2
2
1
2
1
1
2
1
1
2
1
2
2
2
2
2
1
1
2
1
2
1
2
2
1
1
1
1
1
1
2
1
1
2
2
1
2
2
2
1
1
2
2
2
1
1
1
2
1
1
2
2
1
1
1
2
1
1
2
2
2
1
2
2
1
1
2
2
2
1
2
2
2
1
2
1
1
2
2
1
2
1
1
1
1
1
2
2
2
1
1
1
1
2
2
1
2
1
1
2
2
2
1
1
1
2
1
1
2
2
2
1
2
2
1
1
2
2
2
1
2
2
1
1
1
2
1
2
1
1
1
2
1
2
2
1
1
1
1
2
2
2
1
2
1
1
2
1
1
1
1
2
2
2
2
2
1
1
1
1
1
2
2
1
1
2
1
1
2
2
1
1
1
1
2
2
1
1
2
1
1
2
1
2
1
2
1
2
2
2
2
1
1
2
1
1
1
2
1
2
1
1
2
1
1
2
2
2
2
1
2
1
1
2
2
1
2
1
2
1
2
2
1
2
1
2
2
1
1
2
2
1
1
1
1
1
2
1
2
2
1
2
2
1
1
1
2
2
1
1
1
2
2
1
1
2
2
2
2
2
2
1
2
2
2
1
2
1
1
2
2
1
1
1
2
1
2
1
1
2
1
1
2
1
1
2
2
1
2
2
2
1
2
2
2
1
2
1
2
2
2
1
2
2
2
1
1
1
1
1
2
2
1
1
2
1
1
1
1
2
2
1
2
2
2
1
2
1
1
1
2
1
2
1
2
1
2
2
1
2
2
2
1
2
1
2
1
1
1
1
2
2
1
1
1
2
1
1
2
1
1
1
1
2
2
1
2
1
2
2
2
2
2
1
1
2
2
1
2
2
2
1
2
2
1
2
2
1
2
1
1
1
2
2
2
1
2
2
1
1
1
2
2
2
2
1
1
2
1
2
1
2
2
2
2
2
2
1
2
1
1
1
1
2
2
1
2
1
2
2
1
2
2
1
2
1
1
2
2
1
2
1
1
1
2
2
1
1
2
2
2
2
2
2
2
1
2
1
1
1
1
2
1
2
2
2
2
2
1
2
2
2
2
2
1
1
1
1
2
2
2
1
2
2
2
1
2
2
1
1
2
1
2
2
2
1
1
2
2
2
1
1
1
2
1
1
2
1
1
1
1
1
1
2
2
1
2
1
2
2
1
1
1
2
1
2
2
1
1
1
2
1
2
1
2
2
1
2
2
2
2
2
2
1
1
1
1
2
1
2
2
2
2
2
1
2
1
1
1
2
1
2
2
2
2
2
1
1
1
1
2
2
2
1
2
1
1
2
2
1
1
1
2
1
2
1
2
1
1
2
2
1
2
1
1
1
2
1
1
2
1
2
2
1
2
1
1
2
1
2
1
1
1
2
1
2
2
1
2
2
2
1
1
1
2
1
2
1
1
2
1
2
2
2
2
1
2
2
1
2
1
1
1
1
2
1
1
2
1
2
1
1
1
1
1
2
1
2
2
2
2
2
1
1
1
2
1
1
1
1
2
1
1
2
2
1
1
2
2
1
1
2
1
1
1
2
2
1
1
2
2
2
1
2
2
2
1
1
2
1
1
1
2
2
1
1
2
1
2
1
1
2
2
2
1
2
1
2
1
1
1
2
1
2
2
2
1
2
2
2
1
1
2
2
2
2
2
1
2
1
1
1
2
2
2
2
2
2
2
2
2
2
1
2
1
2
2
1
2
1
2
2
1
2
1
2
1
2
2
1
2
2
1
1
2
2
1
1
1
2
2
2
1
2
2
2
2
1
2
1
1
2
2
2
1
2
1
1
1
1
1
2
2
1
2
1
2
2
1
2
1
2
2
2
2
1
1
1
1
2
1
1
1
2
2
1
1
1
2
1
1
2
2
2
1
1
1
2
1
1
2
1
1
1
2
2
1
2
2
1
2
2
1
2
1
1
1
1
1
2
1
1
1
2
2
1
2
2
1
2
1
2
1
1
2
2
2
2
2
1
2
1
2
2
2
2
2
2
2
2
1
2
2
2
1
2
2
2
1
2
2
1
1
2
1
2
1
2
1
2
2
2
2
1
2
2
2
1
1
1
1
2
2
2
1
2
1
2
2
2
2
1
2
2
2
1
2
2
2
2
2
2
2
1
2
1
2
2
1
1
2
1
2
2
1
2
1
1
1
2
2
2
2
2
2
1
2
1
1
1
2
2
2
1
2
2
1
2
1
2
2
2
2
1
1
2
2
2
1
2
1
2
2
1
1
1
1
2
1
1
1
2
2
2
1
2
1
1
1
1
2
2
1
2
2
1
1
1
2
1
2
1
1
1
1
1
1
1
1
1
2
1
1
1
2
1
2
1
1
2
1
1
1
1
2
2
2
2
2
1
1
2
1
1
2
1
1
1
2
1
1
1
1
1
1
1
1
1
1
2
2
1
2
1
2
1
2
1
2
2
1
2
1
2
2
2
2
1
2
1
1
1
1
2
1
2
2
2
2
2
1
1
2
2
1
1
2
1
1
1
2
2
1
2
1
2
1
2
2
1
1
1
1
1
2
1
2
1
2
1
2
2
2
1
1
2
2
2
2
2
1
1
1
1
2
1
2
1
1
2
1
1
2
1
1
1
1
1
1
1
1
2
2
2
2
1
2
1
2
1
1
2
2
1
2
1
2
2
1
2
1
1
2
2
1
2
2
2
2
2
2
1
1
1
2
2
1
1
1
1
2
1
2
1
1
2
1
2
1
2
1
1
2
2
2
1
2
1
2
1
2
1
1
2
1
1
1
2
1
1
2
2
1
1
2
2
2
1
1
2
2
2
2
1
1
1
1
2
1
2
1
2
2
1
1
1
1
2
2
2
2
1
1
1
1
1
2
1
1
2
2
2
1
2
2
2
2
1
1
1
2
1
2
2
2
1
2
2
2
1
1
1
1
2
1
1
2
2
1
2
2
1
1
2
2
2
1
1
2
2
1
2
2
1
1
1
1
2
1
2
2
1
2
2
2
1
2
1
2
1
2
1
1
2
1
2
2
1
2
1
2
1
2
2
1
2
2
1
1
2
2
2
1
1
1
2
1
1
1
1
1
2
1
1
2
1
2
1
2
1
1
1
1
1
2
1
2
2
1
1
1
2
2
1
1
1
1
1
1
1
1
1
2
2
1
1
2
2
1
1
2
2
2
1
2
1
1
1
2
2
1
1
1
1
1
1
1
1
2
1
1
2
1
1
1
1
1
1
2
2
1
1
1
2
1
2
1
2
2
2
1
1
2
1
1
1
2
1
1
1
1
2
2
1
2
1
1
2
1
2
1
1
2
1
1
1
2
1
2
2
2
2
2
2
2
2
2
1
2
2
1
2
1
1
2
2
1
2
2
1
1
2
1
2
1
1
2
2
1
1
1
1
2
2
2
2
1
1
2
2
2
1
1
1
1
2
2
1
1
1
1
1
1
1
1
1
2
2
2
2
1
1
2
2
2
1
1
1
1
1
2
1
1
1
1
1
2
2
1
1
1
1
1
1
1
1
1
2
1
2
2
1
2
1
2
2
2
1
2
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
2
2
1
2
1
2
2
1
2
1
2
1
1
1
1
1
1
2
1
2
2
1
2
1
1
2
2
1
2
1
2
1
2
2
2
2
1
1
2
2
2
1
1
2
1
1
1
2
2
1
1
1
2
2
1
2
1
2
1
2
2
2
1
1
1
2
1
1
1
2
2
2
1
2
1
1
2
1
2
2
2
2
2
1
1
1
2
1
2
2
1
2
1
1
2
1
2
2
1
2
2
1
1
2
2
2
2
2
2
2
1
1
1
2
1
2
2
1
2
2
2
2
1
1
2
2
1
2
2
2
1
1
2
2
2
1
1
1
2
2
2
2
1
1
2
1
2
1
1
1
2
1
1
2
1
2
2
1
1
1
2
2
1
1
1
2
2
1
2
1
2
2
1
2
2
2
1
1
2
1
1
2
1
1
1
1
1
2
2
1
2
1
2
2
2
2
1
1
2
1
1
2
2
1
1
1
2
1
1
2
2
1
1
2
2
1
1
2
1
2
2
2
2
2
2
1
1
2
1
1
2
2
2
1
2
2
1
2
1
1
1
2
2
1
1
1
1
1
2
1
2
1
1
2
2
2
2
1
1
1
1
1
2
2
1
1
1
2
2
1
2
2
2
1
2
1
1
1
1
2
1
1
1
1
2
2
2
1
2
1
1
2
1
2
1
1
1
2
2
2
2
2
2
2
2
1
2
1
1
2
2
2
2
2
2
1
2
2
2
1
2
2
1
2
2
1
2
2
2
2
1
2
1
2
1
2
1
2
2
1
1
2
2
1
1
2
1
2
1
2
1
2
2
1
1
1
1
2
2
1
1
2
2
1
2
2
1
2
1
2
2
1
1
2
1
2
1
2
1
1
1
1
2
2
1
2
2
2
1
1
2
2
1
1
2
2
2
2
1
2
2
2
2
2
1
1
1
1
2
2
1
2
2
2
2
1
1
1
2
2
2
1
1
2
1
2
1
2
2
1
1
1
2
2
2
1
2
1
1
1
2
2
1
1
1
2
1
2
2
2
1
1
2
1
2
2
2
2
1
1
2
1
1
2
1
1
2
2
1
2
1
2
1
1
2
2
2
1
1
1
2
1
2
2
1
1
1
2
1
2
1
2
2
1
1
2
1
2
2
1
2
2
2
2
2
2
1
1
2
1
1
1
1
2
2
1
1
1
1
1
2
1
2
1
1
1
1
2
2
2
2
1
1
2
1
2
1
1
2
2
2
2
2
2
2
2
1
2
2
1
2
1
1
1
1
1
1
1
2
1
2
2
1
2
1
1
1
1
2
2
2
1
2
1
2
1
2
2
2
1
2
1
1
2
1
2
1
2
2
2
2
2
1
2
1
1
1
2
1
2
1
2
2
2
1
1
2
2
1
1
1
2
1
1
2
2
2
2
1
2
1
2
1
2
1
1
2
1
2
1
2
1
2
1
2
2
2
2
2
2
2
2
1
1
2
2
2
2
1
2
1
2
1
1
1
1
1
2
2
1
2
1
1
2
2
2
1
1
1
2
2
1
1
2
1
1
2
2
2
2
1
2
1
1
2
1
1
2
1
2
2
2
1
2
1
2
2
2
2
2
1
1
2
2
2
2
2
1
1
1
1
1
2
1
1
1
2
2
2
2
1
2
1
1
1
2
2
2
1
1
2
1
1
1
2
1
1
1
1
1
1
1
2
2
2
2
2
1
1
2
2
2
1
2
2
1
1
2
1
1
2
2
2
1
2
1
1
2
2
1
1
2
2
2
2
1
1
1
1
2
2
2
1
2
1
2
1
2
1
1
2
1
2
1
1
1
2
1
1
1
1
1
2
2
2
1
2
2
2
2
1
1
1
1
1
2
1
1
1
1
1
2
1
2
1
1
2
2
1
2
2
2
2
1
1
1
2
1
1
1
2
1
1
1
2
1
2
2
1
2
2
1
1
1
2
1
1
2
2
2
1
1
1
1
2
1
1
1
1
1
1
1
2
1
1
1
2
2
2
2
1
1
1
1
1
2
2
2
1
1
1
2
2
1
2
1
1
2
1
2
1
1
2
2
1
2
2
2
1
1
2
1
1
2
1
2
1
2
1
2
1
1
1
2
1
2
2
1
1
2
2
1
2
1
2
2
2
1
2
2
1
1
2
2
2
1
1
2
2
1
1
2
1
1
1
1
2
2
1
1
1
1
1
2
1
1
2
1
1
1
2
2
1
2
1
2
2
1
1
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
2
2
2
2
1
2
1
2
2
2
2
1
1
2
1
2
2
2
2
2
2
2
2
1
2
2
2
1
1
1
1
2
1
2
1
1
1
1
2
2
1
1
2
1
2
2
2
1
2
1
2
1
1
1
1
2
2
2
2
2
2
2
1
2
1
1
2
1
2
1
2
2
1
1
2
2
1
2
2
2
2
1
2
2
1
2
2
1
1
1
2
2
1
1
2
1
1
1
2
2
2
1
1
2
2
1
2
2
2
1
1
1
2
2
1
2
1
2
2
1
2
2
2
2
2
1
1
2
2
2
2
1
2
2
2
1
2
1
2
1
2
2
2
1
1
2
2
1
1
2
1
2
1
1
2
2
1
2
1
2
1
2
2
2
2
2
1
1
2
2
2
1
2
1
1
2
2
1
1
2
2
1
1
2
1
2
1
2
1
1
1
1
1
1
1
2
2
1
2
1
2
1
2
1
1
2
1
2
2
1
1
1
1
2
2
2
1
2
1
2
1
1
2
1
1
2
2
2
2
1
1
2
2
2
2
2
1
2
2
1
2
2
1
1
1
1
2
2
2
2
1
2
2
2
2
1
2
1
2
1
2
2
2
1
1
2
2
2
1
1
2
1
1
2
1
1
2
2
2
2
1
2
1
2
2
1
2
1
1
2
1
2
1
1
2
2
2
2
1
2
2
2
2
2
1
2
1
1
1
2
2
1
2
2
1
1
2
2
1
1
1
1
2
2
1
2
1
2
1
1
2
2
2
1
2
2
1
2
2
1
1
1
2
2
1
2
2
2
1
2
2
2
1
2
1
1
1
1
1
1
1
2
2
2
2
1
1
2
2
1
1
1
1
2
2
1
1
2
1
1
1
2
2
1
1
2
2
1
2
2
1
2
1
1
1
2
1
2
2
1
2
2
1
2
1
2
1
1
1
1
1
2
2
1
2
1
2
1
1
2
2
2
1
2
2
2
2
2
1
1
2
2
2
2
1
2
2
1
2
2
1
2
1
1
2
1
1
2
1
1
1
1
2
1
2
1
2
1
1
2
1
2
1
2
2
2
1
1
2
2
2
1
2
1
1
1
1
1
2
1
1
2
1
1
1
1
1
2
1
1
2
2
1
2
1
2
1
2
2
1
1
1
1
2
1
1
1
1
1
2
2
1
2
2
1
2
2
2
1
1
2
2
2
2
2
2
1
2
1
2
2
2
1
2
1
1
2
1
2
2
1
1
1
2
2
1
1
2
2
1
2
2
1
1
1
2
2
2
1
1
1
1
2
1
2
2
2
2
1
1
1
1
1
1
2
2
2
2
1
1
2
2
2
2
2
1
1
2
2
2
2
2
2
1
1
1
2
2
2
2
2
1
2
2
1
1
1
2
2
2
1
2
1
2
1
1
2
2
2
1
1
1
1
2
1
1
2
2
2
2
2
1
2
1
2
2
2
2
2
1
1
2
2
2
1
1
2
1
2
1
1
2
1
1
1
1
1
2
2
2
1
1
2
2
2
1
2
1
1
1
1
1
2
1
2
2
1
1
2
2
1
1
1
1
1
1
1
2
2
1
1
1
1
1
2
2
1
1
2
1
1
1
2
2
1
1
2
1
2
1
2
2
1
2
1
2
2
1
1
1
1
1
1
2
1
1
1
2
1
1
2
2
1
1
1
1
2
2
1
1
1
2
2
1
1
2
2
2
1
2
2
1
1
1
2
1
1
1
2
1
1
2
2
1
2
1
1
1
2
1
1
2
2
1
1
2
2
2
1
2
2
2
1
2
2
2
2
2
2
2
1
2
1
2
2
2
2
2
1
2
2
1
1
1
1
1
2
1
1
2
2
2
2
2
1
1
2
2
1
1
1
1
1
1
2
2
1
2
2
1
1
1
1
1
2
2
2
1
2
2
1
1
1
2
1
1
2
2
2
2
2
1
2
2
1
2
2
1
1
1
1
1
1
2
1
2
1
2
1
2
1
1
2
1
2
2
1
1
1
1
1
1
1
2
2
1
1
1
2
1
1
2
1
2
1
2
1
1
1
1
2
2
1
2
2
2
1
1
1
2
1
1
2
1
2
1
1
1
2
2
1
2
2
2
1
2
1
2
1
1
2
2
2
1
1
2
2
2
2
2
1
2
2
2
2
2
2
2
2
1
2
2
1
1
1
1
2
1
2
2
2
2
2
1
2
2
2
1
1
1
1
1
2
2
2
1
1
2
1
2
2
2
2
2
2
2
1
1
1
2
1
2
1
2
2
2
1
2
1
2
2
1
2
2
2
2
2
1
1
2
2
2
1
1
2
2
1
2
1
1
1
1
2
2
2
1
1
2
2
1
1
2
1
1
1
1
2
2
1
2
2
2
1
2
1
2
2
1
1
2
1
2
2
2
1
1
2
1
2
2
2
1
1
2
1
1
2
2
2
2
1
1
2
1
1
2
1
2
2
1
1
2
2
2
1
2
2
2
1
1
1
2
1
1
1
1
1
1
2
1
2
2
1
1
1
1
2
1
2
1
1
2
2
1
1
2
2
2
2
2
1
2
1
1
1
2
2
1
2
1
1
1
1
2
2
1
2
1
1
2
2
1
1
1
1
2
1
1
1
2
2
1
1
1
2
1
2
1
2
1
1
2
1
1
1
2
1
1
1
1
2
2
2
2
2
2
1
2
2
2
1
2
2
2
2
1
2
1
1
1
1
2
1
1
2
1
1
1
1
1
1
2
2
2
2
1
2
2
1
1
1
1
2
1
2
1
1
2
1
2
2
1
1
2
2
2
1
2
2
1
2
1
1
1
2
2
1
1
1
1
2
2
2
1
2
1
2
2
2
2
1
2
1
1
1
2
1
1
1
2
2
2
2
2
2
2
1
2
2
1
1
1
2
2
2
1
2
1
1
2
2
1
1
2
2
1
1
2
2
1
1
1
2
1
2
1
2
2
1
1
2
1
2
2
2
1
2
1
1
2
2
2
1
2
2
2
1
2
1
2
1
1
2
2
1
1
1
2
2
1
1
1
1
2
2
2
2
2
2
2
1
2
1
1
1
2
2
1
2
2
2
2
1
1
1
1
1
1
1
2
1
1
1
1
2
2
2
1
1
2
2
2
1
2
2
1
2
2
2
1
1
1
2
1
2
2
2
2
1
2
2
1
2
2
2
1
1
1
1
2
2
2
1
2
1
2
1
2
1
2
2
2
2
1
2
1
1
1
1
1
2
2
1
1
1
2
1
1
1
1
2
2
2
2
2
1
2
2
2
2
1
2
1
2
2
1
1
2
1
1
2
1
2
1
1
2
2
2
2
2
2
2
2
2
1
1
2
2
2
1
2
2
2
2
1
2
2
1
1
1
1
1
1
2
1
1
1
2
2
1
2
2
2
1
1
2
1
2
2
2
2
1
1
2
2
1
1
2
2
1
2
2
1
2
2
1
2
2
1
2
2
2
1
1
2
1
1
2
2
2
1
1
2
1
2
1
1
2
2
2
1
1
2
1
2
1
2
2
2
2
1
2
1
1
2
2
1
2
1
2
1
1
2
2
1
2
1
1
1
2
1
1
1
2
2
2
2
1
1
1
2
1
2
2
1
2
1
1
1
1
2
2
1
2
1
1
1
1
1
1
1
1
2
1
2
1
2
1
1
1
2
2
1
1
1
2
2
1
2
1
1
2
2
1
1
2
1
1
1
1
1
1
2
2
1
1
2
2
2
2
2
1
1
1
1
1
2
1
1
1
1
1
2
2
1
2
1
1
2
1
2
1
1
1
2
1
1
2
1
2
1
2
2
2
2
1
2
1
1
1
2
1
1
1
2
2
1
2
2
2
1
1
2
1
1
2
2
2
1
2
1
1
1
1
2
1
1
2
1
1
2
2
1
2
1
2
1
1
1
1
2
1
1
2
2
2
1
1
1
1
2
1
1
2
1
1
2
1
2
1
1
1
2
1
2
2
2
1
2
1
1
2
1
1
1
2
2
1
2
2
1
1
1
1
1
1
1
2
2
2
2
2
2
2
1
2
1
2
2
1
2
2
2
1
2
2
2
2
2
2
1
2
2
1
2
2
2
1
2
1
2
1
2
2
2
2
1
1
2
2
1
1
1
2
1
2
1
1
1
2
2
2
1
1
2
2
1
1
2
2
1
2
2
1
1
2
2
1
2
1
2
2
2
2
1
2
1
1
2
2
2
1
1
2
2
2
1
2
1
1
1
1
2
2
1
2
1
1
2
2
1
1
1
2
2
1
2
2
1
1
1
2
2
1
1
1
1
2
2
1
2
2
1
1
1
2
2
2
2
1
1
2
1
2
2
2
2
1
1
1
1
2
2
2
2
1
2
2
2
1
2
1
2
1
1
1
2
2
2
1
2
2
2
2
1
1
1
1
1
1
1
2
2
2
1
2
2
1
1
1
1
1
1
1
1
1
1
2
2
2
2
1
1
1
2
2
2
2
2
2
1
2
1
2
1
2
1
1
2
2
1
2
2
2
2
2
2
2
1
2
1
2
2
2
2
2
1
1
1
2
1
1
1
1
1
1
2
1
1
1
2
2
1
1
1
2
2
2
2
2
1
2
1
1
1
1
2
1
1
2
2
1
1
2
2
1
1
1
1
1
2
1
2
2
1
2
1
1
2
2
2
2
2
1
2
2
1
1
1
1
1
2
2
1
2
1
1
2
1
1
2
2
1
2
1
2
1
2
2
2
1
1
2
2
1
1
2
1
2
2
2
2
1
1
2
2
1
2
1
1
2
1
1
1
2
1
2
2
2
1
2
1
1
1
2
2
1
1
2
2
2
1
1
1
1
2
2
1
1
1
2
1
1
2
1
2
2
2
1
2
2
2
2
2
2
1
1
1
2
1
2
1
1
1
1
2
2
1
2
1
1
1
1
1
2
1
2
2
2
2
1
1
2
2
2
1
2
1
1
1
1
1
2
1
1
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
2
2
1
2
1
1
1
2
1
1
1
1
1
2
1
2
2
2
2
1
1
1
1
2
1
1
2
1
1
2
2
2
1
2
2
2
2
2
1
2
2
1
2
2
2
2
1
1
1
2
2
2
1
2
1
1
2
1
1
1
2
2
2
1
1
1
2
2
2
2
1
1
2
1
2
1
2
1
2
1
2
1
2
2
2
2
2
1
2
1
1
2
2
1
2
1
1
1
2
1
2
1
1
1
1
1
1
2
1
2
2
2
2
1
2
1
1
1
2
2
1
2
1
1
2
2
1
1
2
2
1
1
2
1
1
2
1
2
2
1
1
1
1
1
2
2
1
2
2
2
1
1
2
2
1
1
1
1
1
1
2
1
1
2
2
2
1
2
1
2
1
1
1
1
1
2
2
2
1
1
1
1
1
2
2
1
1
1
1
1
1
1
2
1
2
1
2
2
2
2
2
2
1
2
2
1
1
1
2
1
2
1
1
2
2
1
1
2
1
1
1
1
1
2
1
2
2
1
2
1
2
1
1
2
2
2
1
2
1
2
2
2
2
2
1
2
2
1
1
2
2
1
2
2
2
1
2
1
1
1
2
2
1
2
2
2
1
2
1
1
1
2
2
1
1
1
2
1
1
2
2
2
1
2
2
2
2
1
1
2
1
2
1
1
1
2
2
1
1
2
2
2
1
1
2
1
1
1
1
2
2
1
1
2
2
2
2
1
2
2
2
2
1
2
2
1
2
1
1
2
2
2
1
2
1
2
1
1
2
1
2
2
1
1
1
2
2
2
2
2
1
1
1
1
1
1
1
2
1
2
1
1
1
2
2
1
1
2
2
1
1
1
2
1
1
2
1
1
2
2
2
2
1
2
1
1
2
1
2
1
2
2
1
1
1
2
1
2
2
2
2
2
1
1
2
1
2
2
1
1
2
2
1
2
2
1
2
1
1
1
1
1
2
1
1
1
1
1
2
2
1
1
1
1
1
2
1
2
2
2
1
1
1
1
2
2
1
1
1
1
1
1
1
2
2
1
2
2
2
1
1
2
1
1
2
1
2
2
1
1
1
1
1
2
1
2
1
1
2
1
1
2
2
2
2
1
2
1
2
1
2
2
2
2
2
1
1
1
1
1
2
1
1
2
2
1
2
1
1
1
1
1
1
2
2
2
2
2
2
1
2
1
2
2
1
1
2
1
2
2
1
1
1
1
2
2
1
1
2
1
2
1
1
2
2
1
1
2
2
2
2
1
1
2
2
1
2
2
1
1
1
1
1
1
1
1
1
1
1
2
1
2
2
1
1
2
1
1
1
2
1
2
1
1
1
2
1
1
1
1
1
2
1
2
2
1
2
2
1
2
2
1
2
1
1
2
2
2
1
2
1
1
2
1
1
2
1
1
2
1
1
1
2
1
2
2
1
1
1
1
2
2
1
1
1
1
1
2
2
1
2
1
1
1
1
1
2
1
1
2
2
1
2
1
1
1
2
1
1
1
1
2
2
1
1
2
1
1
2
1
1
1
1
1
1
1
1
2
2
1
1
1
1
2
1
1
2
1
1
2
1
1
2
2
1
2
2
1
2
1
1
2
1
1
2
1
2
2
2
1
2
1
1
2
2
1
2
2
1
2
1
1
2
2
1
2
1
2
2
2
2
1
1
2
1
2
2
2
1
1
2
2
1
2
1
1
1
2
2
1
1
2
2
2
2
2
1
2
1
1
2
2
1
2
1
1
2
2
1
2
2
2
2
1
2
2
1
2
2
2
2
2
1
1
2
2
2
2
2
2
2
1
1
2
2
1
1
1
2
1
1
2
2
2
2
1
1
2
2
2
1
2
2
1
2
1
1
2
2
2
1
2
2
2
1
1
2
1
2
2
1
2
1
1
1
2
1
1
1
1
1
1
2
2
1
1
2
1
2
1
2
1
2
1
2
1
2
1
1
1
2
2
2
2
2
2
1
2
2
1
2
2
1
1
1
2
2
2
2
1
1
2
1
2
2
2
2
1
1
1
1
2
2
2
2
1
1
2
2
1
1
2
2
1
2
1
2
1
2
2
2
2
1
2
2
2
2
1
1
2
1
1
1
2
1
2
2
1
2
2
1
2
1
1
2
2
1
2
1
2
1
2
2
1
1
1
2
2
1
2
1
2
1
2
1
1
1
1
1
2
2
2
1
2
2
1
1
2
2
1
1
2
2
2
2
1
2
1
2
1
1
1
2
1
2
2
1
2
2
1
2
1
2
2
2
1
2
1
2
1
1
1
2
1
2
1
1
2
2
2
2
2
2
1
2
1
2
2
1
2
2
2
2
2
1
2
2
1
2
2
1
2
2
1
2
1
1
2
2
2
2
1
1
1
1
2
2
1
1
2
2
1
1
1
2
1
2
1
1
1
2
2
1
1
2
2
2
2
2
1
2
1
2
2
1
2
2
2
2
2
1
1
2
1
2
1
2
1
2
2
2
1
1
2
2
2
1
1
2
2
1
1
2
2
2
1
2
1
2
1
1
1
2
2
1
1
1
2
1
2
2
2
2
2
1
1
2
2
1
1
1
2
1
1
1
2
1
2
1
2
1
1
2
2
2
1
2
2
2
2
1
1
2
1
1
2
1
2
1
2
2
2
1
2
2
1
1
2
1
1
1
1
1
1
2
1
1
1
2
2
2
1
1
1
1
1
1
1
2
1
2
1
2
2
2
1
1
2
2
1
1
1
1
1
1
2
1
1
2
1
2
1
1
2
2
1
2
2
1
1
2
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
2
2
1
1
1
1
1
2
1
2
1
1
1
2
1
1
1
1
1
1
2
2
2
2
1
1
1
2
2
2
2
1
1
2
1
1
2
1
2
2
1
2
1
1
2
1
1
2
1
1
2
1
2
1
2
2
1
2
2
2
1
1
2
2
1
1
2
2
1
2
2
1
1
2
1
2
2
2
2
1
2
1
1
2
2
2
1
2
1
2
2
2
1
1
1
1
1
2
2
2
1
1
2
2
2
1
1
2
2
2
2
1
1
2
2
2
1
1
1
1
2
2
2
2
1
2
2
1
2
2
2
2
2
2
1
2
2
2
1
1
1
2
1
1
1
1
2
1
1
1
1
2
2
1
2
2
2
1
1
1
2
2
1
2
1
1
1
2
2
1
2
1
2
1
1
2
1
1
2
1
1
2
2
2
2
1
2
2
2
2
2
1
1
2
2
2
1
2
1
2
2
1
2
1
1
1
2
1
1
1
1
1
1
2
2
2
1
1
1
2
2
1
2
1
2
2
2
2
1
2
2
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
1
1
1
2
1
1
1
2
2
2
1
1
2
1
2
2
2
2
2
2
1
1
1
1
1
2
1
1
1
2
2
1
2
2
1
2
2
1
1
2
2
1
2
1
1
1
1
1
1
2
2
1
2
2
1
1
2
2
1
2
1
2
1
2
2
1
1
1
1
1
2
1
1
2
1
2
2
1
2
2
1
1
2
2
2
1
2
1
2
1
1
2
2
1
1
1
1
1
2
1
1
1
1
1
2
2
2
2
2
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
1
1
1
1
2
2
1
1
2
1
2
1
1
1
1
1
2
2
2
2
1
2
2
2
2
1
2
1
1
2
1
1
1
2
1
2
1
1
2
2
1
2
1
1
2
1
2
1
2
1
2
1
2
1
2
1
1
1
1
1
1
2
1
1
1
1
2
1
1
2
2
2
1
2
2
2
2
1
1
2
1
2
2
2
1
1
1
1
1
1
2
1
2
2
1
2
1
1
2
1
2
2
2
2
1
2
1
1
2
1
2
1
1
1
2
1
1
2
1
1
1
2
2
2
2
2
2
2
2
1
2
1
2
2
2
1
1
1
1
2
1
2
2
1
2
2
1
2
1
2
2
1
1
1
1
2
1
2
1
2
2
1
1
2
2
2
2
2
2
2
1
1
1
1
1
2
2
2
1
2
1
2
1
1
1
1
1
1
2
1
2
1
1
2
2
2
2
1
1
1
2
2
1
2
2
2
1
1
1
1
2
1
1
2
1
1
2
1
1
1
2
2
2
2
2
1
2
1
2
2
1
1
1
2
1
2
1
1
2
1
2
2
1
2
1
1
2
1
2
2
1
1
1
2
2
2
1
1
2
2
1
1
2
1
2
2
1
2
1
2
2
2
1
2
1
2
2
2
2
1
1
2
1
1
2
1
1
2
1
2
1
1
2
2
2
1
2
2
2
2
1
1
1
2
2
1
1
2
2
2
2
2
1
1
2
2
1
2
1
1
2
1
2
1
1
1
2
2
2
1
1
2
2
1
1
1
1
1
2
2
2
2
1
1
2
2
2
2
2
1
2
1
1
1
1
1
1
2
2
2
1
2
2
2
2
2
2
2
1
2
1
2
1
1
2
2
1
2
1
2
2
2
2
2
1
2
1
1
2
2
1
2
2
2
1
1
1
2
1
1
1
1
1
1
2
2
2
2
1
2
1
2
2
2
2
2
1
2
2
2
1
2
1
2
1
1
1
2
1
1
2
1
1
2
2
2
2
1
1
2
1
1
2
2
2
1
1
1
2
2
2
2
2
1
2
2
1
2
1
1
2
1
2
2
2
1
2
1
1
2
1
1
1
2
2
2
2
2
2
1
2
2
2
1
2
1
2
2
2
1
1
1
1
2
1
2
2
2
1
2
1
1
1
1
2
2
1
1
2
2
1
1
1
2
1
2
1
2
2
2
2
2
1
2
1
1
2
2
2
2
1
2
2
1
1
1
1
1
1
2
2
1
2
1
2
2
2
2
1
1
2
1
2
2
2
2
2
1
1
1
2
2
2
1
2
2
1
2
2
1
1
2
1
2
2
1
1
1
2
2
2
1
2
1
2
1
1
1
2
1
1
1
2
1
2
2
2
2
1
2
1
2
1
1
1
2
1
2
2
1
1
1
1
2
2
1
2
2
1
1
2
2
2
2
2
1
1
1
2
1
2
2
2
2
1
1
1
1
2
1
1
2
1
2
1
2
2
2
1
2
1
1
1
2
2
2
2
2
1
1
2
2
1
2
2
1
2
2
1
1
2
2
2
1
1
2
2
2
1
1
1
1
1
2
2
2
1
1
1
1
2
2
1
2
1
2
2
2
1
2
2
1
1
1
1
1
2
2
2
1
2
1
1
2
2
1
1
2
1
1
1
2
1
1
1
1
2
2
1
2
2
2
2
2
1
2
1
2
2
2
2
1
2
1
1
1
1
1
1
1
2
1
1
2
1
1
2
2
1
2
1
2
2
1
1
2
2
1
1
1
1
1
2
2
1
2
1
1
2
1
1
1
1
1
2
1
2
2
2
2
1
2
1
2
2
1
1
2
2
2
2
2
2
1
1
2
2
1
2
2
1
2
2
1
1
2
1
2
1
2
1
1
2
1
1
1
1
1
2
2
2
2
1
1
2
2
2
2
2
1
1
1
1
2
1
1
1
2
2
1
1
2
2
2
2
2
1
2
2
2
2
2
1
2
2
1
1
2
2
1
2
2
1
2
1
1
2
2
2
1
2
1
2
1
2
1
2
2
1
2
2
2
1
2
1
2
2
2
1
1
2
1
2
2
2
1
2
2
2
2
2
1
2
2
2
1
2
1
1
2
2
2
1
2
1
2
2
1
1
2
1
2
2
1
1
2
1
2
1
2
1
2
2
2
1
1
1
1
2
1
2
1
2
1
1
2
2
2
2
2
1
1
1
1
1
1
2
1
2
2
2
1
1
1
2
2
2
2
2
1
2
1
1
1
1
1
1
2
2
2
1
1
2
1
1
2
1
2
2
1
1
1
1
1
2
2
2
1
2
1
1
1
2
1
2
2
2
2
2
1
1
2
1
1
1
1
2
1
2
2
1
2
2
1
1
1
1
2
1
2
1
1
2
2
2
1
1
1
2
2
1
1
2
2
1
2
2
2
2
2
1
1
1
1
1
1
1
1
1
2
2
1
2
2
2
1
2
2
1
2
2
2
2
1
1
2
2
2
1
1
1
2
1
2
2
2
2
2
2
2
1
2
2
1
1
1
1
2
1
2
1
2
1
2
2
1
1
1
2
2
1
1
1
2
2
2
1
1
1
2
1
2
1
2
2
1
1
2
1
1
1
1
2
1
1
1
1
1
1
1
2
1
1
2
2
2
1
2
2
2
2
2
1
2
2
2
1
2
1
1
2
2
1
1
2
1
1
1
2
1
1
1
1
1
1
1
2
1
2
1
2
1
1
2
1
2
1
1
1
2
1
2
1
1
2
2
2
2
2
1
2
2
1
2
2
1
2
1
2
2
2
1
2
2
1
2
1
1
2
1
2
2
2
2
1
1
2
2
2
1
2
1
1
2
2
2
1
2
1
2
1
2
2
2
1
2
2
1
1
1
1
2
1
2
2
1
2
1
2
1
1
1
1
1
2
2
1
2
1
1
1
1
2
1
1
2
2
2
2
2
2
2
2
2
1
1
2
2
1
1
2
1
1
2
2
1
1
2
2
2
2
1
2
1
1
2
2
2
1
1
2
1
2
1
2
2
1
2
1
1
2
2
1
1
1
2
1
1
1
2
2
2
2
2
2
2
1
1
2
2
1
1
2
2
1
1
1
1
2
1
1
2
2
1
2
2
1
2
1
1
1
2
1
1
1
2
2
2
1
1
1
1
1
2
1
1
2
1
1
2
2
1
1
1
2
2
1
2
1
1
2
1
2
2
1
1
2
1
2
2
1
2
2
2
1
2
2
2
1
1
1
2
1
1
2
2
2
2
1
2
2
1
1
2
2
1
2
1
1
1
2
2
2
2
1
2
1
2
1
1
2
2
2
1
2
2
2
2
1
1
1
1
1
1
2
2
2
1
1
2
1
2
1
2
1
1
1
2
1
1
2
2
2
2
2
2
1
2
1
1
2
1
1
2
2
2
1
1
2
1
2
2
1
1
1
1
1
1
2
1
2
2
1
1
1
2
2
1
1
2
1
2
1
2
1
2
1
2
2
1
2
1
2
2
1
1
1
2
1
2
2
2
1
2
1
1
2
2
1
2
2
2
2
2
1
2
1
1
1
2
1
1
2
1
2
1
1
2
2
1
2
1
1
2
1
1
1
2
2
1
1
1
2
2
2
2
2
2
1
2
1
1
2
1
1
2
1
1
1
2
2
2
2
2
2
2
2
2
1
1
2
2
2
2
1
1
1
2
1
1
2
1
2
1
1
2
2
1
1
1
2
2
2
2
1
1
1
2
2
2
2
2
1
1
1
1
2
1
1
2
2
2
2
1
2
1
2
2
1
2
2
1
1
1
2
1
2
2
2
1
1
2
2
1
2
2
2
1
1
2
2
2
1
2
2
2
2
1
1
2
1
2
2
1
1
1
2
2
1
1
2
1
2
2
2
2
1
1
2
1
2
2
2
2
1
1
1
2
2
2
1
2
1
1
2
1
1
1
2
1
2
2
2
1
1
1
2
1
1
2
2
2
1
1
1
1
2
1
2
1
2
2
2
1
2
1
1
1
2
1
1
1
2
2
1
2
2
1
2
2
2
1
1
2
2
1
2
1
2
1
1
1
2
2
1
2
2
2
2
1
2
2
1
1
2
2
2
1
2
1
1
1
2
1
2
1
2
1
1
1
1
1
1
2
2
2
1
1
1
2
2
2
2
2
2
1
1
1
1
2
1
1
2
2
2
1
2
1
1
2
1
1
2
1
1
1
2
1
2
2
1
1
1
2
2
2
2
1
2
2
2
1
1
2
2
2
2
2
2
1
1
2
1
1
2
1
1
2
2
2
1
2
2
2
1
2
1
2
2
1
1
1
1
1
2
2
2
2
1
1
2
2
2
2
2
2
1
2
1
2
2
1
1
1
2
1
2
1
2
1
1
2
2
1
1
1
2
2
2
1
1
1
2
2
1
1
1
1
2
1
2
1
2
2
2
1
2
1
1
1
2
1
2
1
1
2
1
1
2
1
1
2
1
2
1
1
2
2
1
1
2
2
2
1
1
1
2
2
1
2
2
2
1
2
2
1
1
1
1
2
1
1
1
1
2
2
2
1
1
2
2
2
2
1
1
2
1
2
2
1
1
1
1
1
2
2
2
1
2
2
2
2
1
1
1
2
2
2
1
2
1
2
1
2
2
1
2
2
2
1
2
1
1
2
1
1
2
2
1
1
2
2
1
2
2
1
1
1
2
1
2
2
2
1
2
1
1
1
2
1
1
2
1
1
1
1
1
2
1
1
1
2
1
1
1
2
1
1
1
2
2
2
1
1
2
2
2
1
2
1
1
2
2
1
1
1
1
1
2
1
2
2
2
2
2
2
1
2
1
1
1
2
1
2
2
2
1
1
2
1
2
2
2
1
2
2
1
1
1
1
1
2
2
1
1
2
2
1
1
2
2
2
1
2
1
1
1
1
1
1
1
2
2
1
1
2
2
1
2
2
1
2
1
1
2
1
2
2
2
2
1
1
1
2
2
1
2
2
2
2
2
2
2
2
2
2
1
2
2
2
1
1
1
2
1
1
2
2
2
1
1
2
1
2
1
2
2
2
2
1
2
1
1
1
2
2
2
2
1
1
1
2
1
2
1
1
2
2
2
1
1
1
2
1
2
1
1
1
2
2
2
1
2
2
1
2
1
2
1
2
1
2
1
1
1
1
2
2
2
1
2
2
1
1
1
2
1
1
1
1
2
2
1
1
1
2
2
1
1
1
2
1
2
2
2
2
2
1
1
2
1
2
1
2
2
1
1
1
1
1
1
2
2
1
1
2
2
2
1
1
2
2
1
1
2
2
2
1
2
2
2
1
1
1
2
1
1
2
1
2
1
1
1
2
1
1
2
1
1
2
1
2
1
1
1
2
1
2
1
2
2
2
2
2
2
1
2
1
1
2
2
1
2
2
2
1
1
1
1
1
2
1
2
1
1
2
2
1
2
2
1
1
2
2
2
1
1
2
1
1
1
2
1
1
2
2
1
2
1
1
2
2
1
1
2
1
1
2
2
2
1
2
2
2
1
1
1
1
2
1
1
1
1
1
1
2
1
1
1
1
1
2
2
1
2
2
1
2
1
2
1
1
1
2
1
2
1
1
2
2
1
1
2
1
1
2
2
1
2
2
1
2
1
1
2
1
2
1
2
2
2
1
2
1
2
2
2
2
2
1
2
1
1
1
1
2
1
1
2
2
2
1
2
1
1
1
1
2
1
2
1
1
2
2
1
2
2
2
1
1
2
2
1
1
1
2
2
1
2
1
2
1
1
1
1
1
2
1
2
2
1
2
2
2
2
2
1
1
1
2
1
1
1
2
1
1
1
2
1
2
2
1
2
1
1
1
1
2
1
1
2
1
2
1
1
1
1
1
1
1
2
2
1
1
1
1
1
1
2
2
2
2
2
1
2
2
1
2
2
2
2
1
2
2
1
2
2
1
1
1
2
2
2
2
2
2
1
1
2
2
2
1
1
1
1
2
2
2
2
1
1
1
1
2
2
2
2
2
2
2
2
1
1
1
1
1
2
1
1
1
2
2
1
1
2
1
2
1
2
1
2
2
2
2
2
1
1
1
2
1
2
1
1
2
1
1
2
2
1
2
2
1
1
2
1
2
1
2
1
2
1
2
2
2
1
1
2
2
1
2
2
2
2
2
1
1
1
1
2
1
2
2
1
1
1
1
2
1
1
2
1
1
1
2
2
2
2
1
1
2
2
2
1
2
1
1
2
1
1
1
2
1
2
2
1
1
1
2
1
1
2
1
1
2
2
2
1
1
2
1
2
2
2
2
1
1
1
2
1
1
2
2
1
2
2
1
2
2
1
2
2
2
1
2
1
2
1
2
1
2
2
2
1
2
2
1
2
2
2
2
2
2
2
1
1
1
1
2
2
1
1
1
2
1
2
1
1
2
2
1
1
1
2
2
2
1
2
1
2
2
1
2
1
2
2
1
2
2
2
1
1
2
1
2
1
2
2
1
1
1
1
1
2
2
2
1
1
2
2
2
1
2
1
1
1
2
1
2
2
2
2
2
1
2
1
1
1
1
1
1
1
1
1
2
1
1
1
1
2
2
2
2
1
1
2
1
2
2
2
1
1
1
2
1
2
1
2
2
1
2
2
1
1
2
1
1
2
1
1
1
2
2
2
2
2
1
2
2
2
1
2
2
1
2
1
2
2
2
1
2
1
2
2
1
1
2
1
1
2
1
1
1
1
1
2
2
1
1
1
1
1
1
2
1
2
2
2
1
1
2
2
2
1
1
2
2
1
1
2
2
1
2
1
1
2
2
1
1
1
1
1
1
1
2
2
2
2
1
2
2
1
1
1
1
2
1
2
2
1
1
1
1
1
1
2
2
1
2
2
1
2
2
1
1
2
2
2
1
1
2
2
1
2
1
1
1
1
1
2
1
1
1
1
1
1
2
1
1
1
2
1
1
2
2
1
1
1
2
1
1
1
2
1
1
2
2
1
2
2
1
2
2
1
1
1
1
2
1
2
1
2
2
1
1
1
1
1
2
2
1
2
1
1
1
1
2
2
1
2
1
1
1
2
1
1
2
2
1
2
1
1
2
2
1
2
1
1
1
2
2
1
1
2
1
1
2
1
2
1
2
2
1
2
2
2
1
1
1
1
1
1
1
2
2
1
1
2
1
1
1
2
2
2
2
2
2
1
2
2
1
1
1
2
1
2
1
1
1
1
1
1
1
1
2
2
1
2
2
1
1
2
2
2
1
1
1
1
2
1
2
2
1
2
1
1
2
1
1
2
1
1
2
1
1
1
1
1
2
2
1
2
1
1
1
2
1
2
2
2
2
1
2
2
2
2
1
1
1
1
2
1
2
1
2
2
1
2
1
1
1
1
2
1
1
1
2
2
2
1
1
1
1
2
2
1
2
2
1
2
1
1
2
2
1
1
1
2
2
1
2
2
2
1
1
2
1
2
1
2
1
2
2
1
1
2
1
2
1
2
1
1
2
1
2
2
1
1
1
1
1
2
2
2
1
2
2
1
2
2
1
2
1
2
2
2
1
1
1
2
2
2
2
1
2
2
2
2
2
1
2
2
2
2
2
2
1
1
1
2
2
1
1
1
2
1
2
1
1
2
2
2
1
1
2
2
2
1
2
1
1
1
1
1
2
2
2
1
2
2
2
1
2
1
1
2
1
2
2
1
2
1
2
2
1
1
2
1
1
1
1
2
1
1
2
1
2
1
1
1
1
2
2
2
2
2
1
2
2
2
2
1
2
1
2
1
1
1
1
2
1
1
1
2
2
2
2
1
2
2
2
2
1
1
2
1
2
2
2
1
2
2
1
1
2
1
1
1
1
1
2
2
2
2
1
1
1
2
1
2
1
2
2
1
2
1
1
2
2
1
2
1
2
1
2
1
1
2
1
1
1
2
2
2
1
2
2
1
1
2
1
1
2
2
2
1
2
2
2
1
2
2
2
1
2
1
2
2
2
2
2
2
2
2
1
2
1
2
1
2
2
1
2
1
2
1
1
1
1
1
1
2
2
2
1
1
2
2
2
2
1
1
1
2
2
2
2
1
1
2
2
2
2
1
2
1
2
1
1
2
1
1
1
2
1
1
2
2
2
1
1
1
1
2
2
1
1
1
1
1
2
2
1
1
2
2
1
1
2
1
2
2
2
1
1
2
1
2
1
1
2
2
1
1
1
2
1
1
1
1
1
2
2
1
1
1
1
1
2
2
2
1
2
1
1
2
2
2
2
2
2
1
1
2
1
1
1
1
1
1
1
2
1
2
2
1
1
2
1
2
2
2
2
1
2
1
2
1
2
1
1
1
2
1
2
2
2
2
1
2
1
1
1
1
1
1
1
1
2
1
2
1
1
1
1
2
1
1
1
2
1
1
2
2
1
1
2
2
1
2
2
1
2
2
1
2
2
1
2
2
1
1
2
1
2
1
1
2
1
1
2
1
1
1
1
1
2
2
1
2
1
2
2
2
1
2
2
1
2
1
2
2
2
1
1
1
1
1
2
1
1
1
2
1
2
2
1
1
1
1
2
1
2
1
2
1
2
1
1
1
2
2
2
1
2
2
1
1
2
2
1
2
1
2
2
2
1
1
2
1
1
1
1
1
1
1
1
2
1
1
2
2
2
1
2
1
1
2
1
2
2
2
2
2
1
1
1
2
1
2
2
2
2
1
2
2
1
2
1
1
2
2
1
1
2
2
1
2
2
2
2
1
1
1
2
1
1
2
2
2
1
2
1
2
2
2
1
2
1
1
2
2
2
2
2
1
2
2
1
1
1
2
1
1
2
2
2
2
1
1
1
1
2
1
2
1
2
2
2
2
2
2
1
1
1
2
1
2
2
1
2
2
2
2
1
1
1
2
1
1
2
1
1
2
2
2
2
1
1
2
1
2
1
1
2
1
1
1
1
2
1
2
1
1
2
1
1
2
2
1
1
2
2
1
1
1
1
2
1
1
1
1
1
1
2
2
2
2
2
2
1
1
1
1
1
2
2
1
2
1
2
2
2
1
2
2
1
2
2
1
1
2
2
1
1
1
2
2
2
2
1
2
2
1
2
2
1
1
2
2
2
1
1
1
1
2
1
1
2
2
2
2
1
1
2
1
1
1
2
2
2
2
1
1
1
2
2
1
1
2
2
2
2
2
2
1
1
2
1
2
1
2
1
2
2
2
2
2
1
2
1
2
1
1
1
1
1
2
1
1
1
2
2
1
1
1
1
2
1
1
1
1
1
2
2
2
1
2
2
1
1
2
1
1
1
1
2
1
2
2
1
1
2
2
1
2
2
1
1
2
1
2
1
1
1
2
1
1
1
2
2
1
1
2
2
1
2
1
1
1
2
1
1
1
2
1
1
2
1
1
1
2
2
1
2
2
1
2
1
1
1
2
2
2
1
1
2
2
1
1
2
2
1
1
1
1
1
1
2
2
1
2
1
1
1
2
2
1
2
2
1
2
1
2
1
1
2
1
2
2
1
2
2
1
2
2
1
2
2
2
1
2
2
1
2
2
1
2
2
2
1
2
1
2
2
2
2
1
2
2
1
2
1
2
2
2
1
1
1
2
2
2
1
1
2
1
2
2
2
1
1
2
1
2
1
2
1
1
2
2
2
2
1
2
1
2
1
1
2
1
2
2
2
1
2
2
1
2
1
2
2
2
1
2
1
2
1
1
2
1
2
1
2
2
2
1
1
2
1
1
2
1
2
2
1
1
1
1
2
1
2
2
2
2
1
2
1
2
2
2
2
1
2
1
2
1
1
1
2
2
1
2
2
2
1
2
2
1
2
2
1
1
1
1
2
1
2
1
2
2
2
1
2
2
2
2
2
2
2
2
1
2
1
2
1
1
1
2
1
2
1
1
2
1
1
2
2
1
2
1
2
1
2
1
2
1
2
2
2
1
1
1
2
1
2
2
1
1
2
1
2
2
1
2
1
2
1
2
2
2
2
1
2
1
1
2
1
1
1
1
1
1
1
1
1
2
2
1
2
1
1
2
1
1
1
1
2
1
2
1
2
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
1
2
2
2
2
1
1
1
2
1
2
1
2
1
2
1
1
2
1
2
1
2
2
2
1
1
1
1
1
2
2
1
2
2
2
1
2
2
2
1
1
1
1
2
1
1
1
1
2
1
1
2
2
2
2
1
2
2
1
2
1
2
2
2
1
2
1
1
1
2
1
1
2
2
1
2
2
1
1
1
1
1
2
2
2
1
2
1
2
2
1
1
2
2
2
2
1
2
2
2
1
1
2
2
2
2
2
1
2
2
1
2
2
2
2
1
1
1
1
2
1
1
2
2
1
2
1
1
1
1
2
2
1
2
1
2
1
2
2
1
1
2
2
2
1
1
2
1
2
1
1
2
1
2
1
1
1
1
2
2
1
1
1
1
2
1
2
1
1
1
1
1
2
2
1
1
1
2
1
2
2
1
1
1
1
1
1
1
1
2
2
2
1
2
2
2
1
2
2
1
2
2
1
2
2
1
2
2
1
2
1
2
1
1
2
1
1
1
1
1
2
1
2
2
2
2
2
2
1
1
2
2
1
1
1
2
1
2
1
1
2
1
1
2
1
2
2
1
2
2
1
2
2
1
1
2
2
2
1
2
1
1
1
1
1
2
2
1
1
2
2
2
2
2
1
2
1
2
2
1
2
2
2
1
2
2
2
1
2
1
2
2
1
1
2
1
2
1
1
2
2
2
2
1
1
2
2
2
2
1
2
1
2
1
1
2
2
1
2
1
1
2
2
1
2
1
1
1
1
1
2
2
1
1
2
1
1
1
2
2
1
1
2
1
1
2
2
1
2
1
1
2
2
1
2
1
1
2
1
2
1
1
1
1
1
1
1
1
1
1
2
2
1
1
2
2
1
1
2
2
1
2
2
1
2
1
1
1
1
2
2
1
2
2
1
2
2
1
1
1
1
2
2
2
1
1
1
1
1
2
2
1
1
1
1
1
2
2
1
2
1
2
2
2
1
2
1
1
2
1
1
1
1
2
2
1
2
2
1
2
1
2
2
1
1
1
1
2
2
1
1
2
2
2
1
1
1
1
1
2
2
1
2
2
2
1
2
1
2
2
2
2
1
1
1
1
1
1
2
2
2
2
1
1
1
1
1
1
2
1
1
1
1
2
2
2
1
1
2
2
2
1
2
2
2
2
1
2
2
2
2
1
2
2
2
2
1
2
1
2
1
1
2
1
2
1
1
2
1
2
2
2
1
1
1
2
2
1
1
1
1
2
2
2
2
1
1
2
2
1
1
2
1
2
1
1
2
1
2
2
2
1
1
2
1
1
1
2
2
2
1
2
1
2
1
2
2
1
1
1
2
1
1
2
2
1
2
1
1
2
2
2
2
2
2
1
1
2
2
2
1
2
1
2
1
1
1
2
1
2
1
2
2
1
2
2
1
1
2
1
2
2
2
2
1
1
2
1
1
1
2
1
1
2
2
1
2
1
1
1
2
1
2
1
1
1
2
1
2
2
1
1
1
2
2
1
1
1
2
1
2
1
1
2
1
1
2
2
1
2
2
2
2
2
2
2
2
2
2
1
1
2
2
1
2
1
1
2
2
2
2
1
1
2
2
1
2
1
2
2
1
2
1
2
1
1
2
2
2
1
1
2
1
2
2
2
2
2
1
1
2
2
1
2
1
2
2
1
1
1
2
1
2
1
2
2
1
1
2
2
2
2
1
2
1
2
1
2
1
1
1
2
2
1
1
2
1
2
2
1
1
2
1
2
2
2
2
2
1
1
1
2
2
1
1
2
2
1
1
2
1
1
2
2
2
2
1
2
2
1
2
2
2
2
1
1
1
2
2
1
2
2
2
1
2
2
2
1
2
1
2
2
1
1
1
2
1
2
1
2
2
2
1
1
1
1
1
2
1
2
2
2
1
2
1
2
1
2
2
1
2
1
2
1
2
1
2
2
2
1
1
1
2
1
1
1
1
1
2
1
2
1
1
2
2
1
1
1
2
2
1
2
2
2
2
1
2
1
2
1
1
2
1
1
2
1
1
1
1
2
1
2
2
1
1
2
1
1
2
1
2
2
2
2
1
1
2
1
1
2
1
2
1
2
2
1
2
2
1
1
1
1
2
2
2
1
1
2
1
2
2
1
1
1
2
2
1
1
2
2
2
2
1
1
1
2
1
1
1
1
1
1
1
2
2
2
2
1
2
1
2
1
1
1
2
2
2
2
2
1
1
2
2
1
2
1
2
2
1
2
2
1
2
2
2
2
2
2
2
1
2
1
1
2
1
2
1
2
2
2
2
2
1
2
1
2
2
2
1
2
2
2
2
1
2
1
2
1
2
1
1
1
2
1
2
2
1
2
2
2
2
1
1
2
2
1
2
1
1
2
2
2
2
1
2
1
2
2
1
1
2
1
2
1
1
1
1
1
1
2
2
2
2
1
1
2
1
2
2
1
2
2
2
1
2
2
1
1
1
1
2
2
1
1
1
1
1
1
2
1
2
1
2
1
1
1
2
2
2
2
2
1
1
2
1
2
1
1
1
1
1
2
2
1
2
2
2
2
2
1
1
1
1
2
2
2
2
1
1
2
2
2
2
2
1
1
2
1
1
2
1
2
1
1
2
2
2
1
1
2
1
1
2
2
1
1
1
2
2
1
1
1
2
1
1
1
1
2
1
1
1
2
2
1
2
2
2
1
2
2
2
1
1
2
2
1
2
2
2
1
2
1
2
1
1
2
1
1
1
2
1
1
1
1
1
2
2
2
2
1
1
2
1
1
1
2
1
2
1
1
1
2
1
2
1
1
1
1
1
1
2
1
1
2
1
1
1
2
2
1
1
2
2
1
1
2
1
1
1
1
1
1
1
1
2
1
1
2
1
1
2
1
2
2
2
2
2
1
2
1
1
2
1
2
2
1
1
2
1
1
1
2
2
1
2
1
1
1
1
1
1
2
1
2
2
1
2
1
1
1
2
1
2
2
2
1
2
2
1
2
2
1
1
1
1
1
2
1
1
2
1
1
1
2
1
2
2
2
1
2
2
2
2
1
1
1
1
2
2
1
1
1
1
2
2
1
2
1
1
2
2
2
2
2
1
2
2
2
1
2
1
2
1
2
2
1
2
1
2
1
1
2
1
2
1
2
2
2
2
1
1
1
2
1
1
2
2
2
1
1
1
1
2
1
2
2
1
1
2
2
1
2
1
1
1
2
1
1
1
2
1
2
1
2
2
1
1
1
2
1
1
2
1
1
2
2
2
2
2
1
1
2
2
1
2
1
2
2
1
1
2
1
2
2
2
1
2
2
1
1
2
2
2
2
2
1
1
1
2
2
1
2
1
2
2
2
2
2
2
2
2
1
2
1
2
1
1
1
2
1
1
1
2
2
2
1
2
2
1
1
1
1
2
1
1
1
1
2
2
2
2
1
2
1
1
1
2
1
1
1
2
1
2
1
2
1
2
1
1
2
1
1
1
2
2
1
2
2
2
2
1
1
2
2
2
1
2
1
1
2
1
2
2
2
1
1
1
2
1
1
1
1
1
1
2
2
1
1
1
1
2
1
1
2
2
2
2
1
2
2
2
1
2
1
2
2
1
2
1
1
2
1
1
1
2
2
2
2
1
1
2
2
1
1
1
1
2
2
1
2
2
1
2
1
1
1
2
2
1
2
2
2
2
1
2
1
2
2
1
2
2
2
2
2
2
2
2
2
2
1
1
1
1
2
1
1
2
2
2
2
1
2
2
2
2
1
1
1
2
1
1
1
2
2
1
2
1
2
1
2
2
1
2
2
2
2
1
1
1
2
1
1
1
2
1
2
2
1
1
2
1
1
2
2
2
2
1
2
2
1
2
1
1
1
1
2
1
1
1
1
2
1
2
1
2
2
2
1
2
2
2
2
2
2
1
1
1
2
1
2
2
2
1
1
2
1
2
2
1
2
1
2
2
2
2
1
1
2
2
2
1
1
1
1
2
1
1
1
2
1
2
2
2
2
2
2
2
1
1
2
1
1
2
2
2
1
1
2
2
2
1
1
2
1
1
2
2
1
2
1
2
1
2
1
1
1
2
2
2
1
2
2
1
1
1
1
1
1
2
1
2
1
1
2
1
1
1
2
1
2
1
2
2
2
1
2
1
2
2
2
2
1
1
1
1
1
1
1
2
2
1
1
2
1
2
1
1
2
2
2
1
2
1
1
2
1
2
2
1
1
1
2
1
1
2
1
1
2
2
2
2
2
1
1
1
2
1
1
2
1
2
2
2
1
2
1
1
2
2
1
2
2
1
1
2
2
1
1
2
2
2
1
2
2
1
2
2
2
2
1
2
2
2
1
2
2
2
2
1
1
1
2
1
1
2
2
2
1
2
1
2
2
1
1
1
2
2
2
1
2
2
2
1
2
2
2
1
1
1
1
2
1
2
2
1
2
1
1
2
1
1
1
2
2
2
2
1
1
2
1
2
1
2
2
2
1
1
2
2
2
2
1
2
2
2
1
1
2
1
2
2
1
2
1
2
1
1
2
2
2
2
1
2
1
1
2
2
1
1
1
2
1
1
2
2
2
2
2
1
2
1
1
2
2
1
2
1
1
1
2
2
1
2
2
1
2
1
2
1
1
2
2
1
2
1
2
1
2
1
2
1
1
2
1
1
2
2
1
1
2
2
2
2
1
1
1
1
1
2
1
2
2
2
2
1
1
2
2
2
2
1
1
1
2
1
1
1
2
1
1
1
2
1
1
2
1
1
2
2
2
2
1
1
2
2
2
2
1
1
1
1
1
1
1
2
1
1
2
2
1
1
1
2
1
1
1
1
1
1
2
2
2
2
1
1
2
2
2
2
2
1
2
2
1
2
1
2
2
2
1
2
2
1
1
2
1
2
1
1
2
2
1
1
2
1
2
1
2
1
2
1
1
2
2
2
1
2
1
1
1
1
2
1
2
1
2
2
2
2
1
1
2
1
1
1
1
2
1
2
1
2
2
1
1
1
2
2
2
2
2
2
1
1
2
2
1
2
1
2
1
1
2
2
1
1
2
1
2
2
2
2
2
1
1
2
1
2
1
2
2
2
2
2
1
1
1
1
2
1
1
1
2
2
2
2
2
2
1
2
1
2
1
2
1
1
2
1
1
2
1
2
2
2
1
2
2
1
2
2
1
2
2
2
2
1
2
1
2
2
2
1
1
1
2
1
1
1
2
1
1
2
2
2
1
2
1
2
2
2
1
1
2
2
2
1
1
1
1
2
2
1
2
1
1
2
1
1
2
2
2
2
1
1
1
1
1
1
1
2
1
1
2
2
1
2
2
1
2
2
2
2
2
2
2
2
1
2
1
2
2
2
2
2
2
2
1
2
1
1
2
1
1
1
2
1
2
1
1
2
2
1
1
2
2
2
1
2
1
1
1
2
2
2
2
2
2
2
1
2
2
2
2
2
1
1
1
2
1
1
1
2
1
1
1
2
2
2
1
1
2
2
2
2
1
1
1
2
2
1
1
1
1
2
1
1
2
1
2
2
1
1
2
2
1
2
1
1
1
2
1
1
1
2
2
1
1
2
1
2
2
1
1
2
1
1
2
2
1
2
2
1
2
1
2
2
2
1
2
1
2
2
1
2
2
2
2
2
1
2
1
2
1
1
2
1
1
1
2
1
2
1
2
1
1
1
1
1
1
2
1
2
2
1
1
1
2
1
2
2
2
2
1
2
1
2
2
1
1
2
2
2
2
1
1
1
1
1
1
2
2
1
1
1
1
2
1
2
2
2
1
1
2
1
1
2
1
2
2
1
1
1
2
1
1
2
1
2
2
1
1
2
1
1
2
1
2
1
2
1
2
2
2
1
2
2
2
2
1
2
2
2
2
2
2
1
1
2
2
1
2
2
2
2
2
1
2
2
1
1
2
1
2
1
1
1
2
1
1
1
2
2
2
1
1
1
1
2
2
2
2
1
1
1
2
1
1
1
2
2
1
1
2
2
2
2
2
1
2
2
1
1
2
2
2
2
2
2
1
1
2
2
1
2
2
2
2
1
2
1
2
2
2
1
1
1
2
1
1
2
2
2
2
1
1
1
1
1
1
1
1
2
1
2
1
2
1
1
2
1
1
1
2
2
1
1
2
1
1
1
2
2
2
1
1
2
2
1
2
2
1
1
1
1
2
1
1
2
1
2
2
2
1
2
1
1
2
1
1
2
1
2
1
2
1
1
1
2
1
1
1
2
1
1
2
2
1
2
1
2
2
1
1
2
2
1
2
1
1
1
2
1
2
2
2
2
1
1
1
1
1
1
2
1
1
2
2
2
1
2
1
2
2
1
1
1
1
1
1
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
2
1
1
1
2
1
2
2
1
2
2
1
2
1
1
1
2
1
2
1
1
1
2
2
2
1
1
2
2
1
1
1
2
1
1
1
1
1
1
1
2
2
2
1
2
2
1
1
1
1
2
1
1
1
2
1
2
2
2
1
1
2
2
2
2
2
2
2
2
2
1
1
2
2
2
1
1
2
2
1
2
1
1
1
1
2
1
2
2
2
1
2
1
2
1
2
1
2
1
1
2
1
1
1
2
2
1
1
2
2
1
1
2
2
1
1
1
1
2
2
2
2
1
2
1
1
1
2
1
2
2
2
2
2
2
2
2
2
2
1
2
2
1
1
1
2
1
2
2
1
1
2
2
2
1
1
2
2
2
2
1
1
1
2
2
2
1
1
2
2
1
1
2
2
1
2
1
2
1
2
2
2
1
1
1
2
1
2
1
2
2
1
2
2
2
2
2
1
2
1
2
1
1
1
2
1
1
2
2
1
1
1
2
2
2
2
1
2
2
1
2
1
1
1
2
2
2
1
2
2
1
2
2
1
2
1
2
2
2
1
1
2
2
2
1
1
2
1
2
1
1
1
1
1
2
2
1
1
1
2
2
1
1
1
2
1
1
1
2
2
1
2
2
2
2
2
2
1
1
2
1
1
2
1
2
1
2
2
2
2
1
1
1
2
2
2
2
2
2
1
2
2
1
1
2
2
2
1
2
2
2
2
1
2
2
2
2
1
1
1
1
1
2
1
2
1
2
1
2
1
2
1
2
2
1
1
1
1
2
2
2
1
1
2
2
2
1
2
2
1
2
2
2
1
2
1
1
1
2
1
1
1
1
1
2
2
1
2
2
2
1
1
1
1
1
2
2
1
1
1
2
1
1
1
1
2
1
2
1
2
2
1
2
2
1
1
1
2
2
2
1
2
1
1
2
1
1
1
1
1
2
2
1
2
2
2
1
1
1
1
2
2
2
2
1
2
2
2
1
2
1
2
1
1
2
1
1
2
1
2
1
2
1
1
1
1
2
2
1
2
2
2
1
1
1
2
1
1
1
1
2
1
2
2
2
2
2
2
1
1
1
1
2
2
2
1
2
1
2
2
1
1
1
1
2
2
2
2
2
2
2
1
1
2
2
2
1
2
1
1
2
2
2
1
1
1
1
2
1
2
1
1
1
1
2
2
2
1
1
1
1
2
1
1
1
1
2
1
2
2
2
1
1
1
1
1
1
2
2
1
1
2
2
1
1
1
2
2
1
2
1
1
2
1
1
2
1
2
1
2
2
2
2
2
2
1
1
2
2
2
2
2
2
1
1
2
1
2
1
2
2
1
2
1
2
1
2
2
2
2
2
1
1
1
1
2
1
1
1
2
2
1
2
1
1
2
2
2
1
1
1
2
1
2
2
2
2
2
2
2
1
1
2
2
1
2
1
2
2
2
1
2
2
2
2
2
1
2
1
2
2
1
1
2
1
1
2
2
2
1
1
2
1
1
1
1
2
2
2
2
1
1
1
2
2
2
1
1
1
2
2
2
2
2
2
2
2
1
2
1
1
2
1
1
2
1
1
2
2
1
1
2
1
1
1
2
2
2
2
1
1
1
2
2
1
1
2
2
1
1
1
1
2
1
1
2
1
2
1
1
2
1
2
2
1
1
1
2
2
1
2
2
1
2
1
1
2
2
1
1
2
1
1
2
1
2
1
1
1
1
1
2
1
1
1
1
1
1
2
2
1
2
1
2
1
1
2
2
1
2
2
2
2
1
1
2
2
1
1
2
1
1
1
1
1
1
1
1
1
1
2
2
2
2
1
2
1
2
1
1
2
1
2
1
1
1
1
2
1
1
1
2
1
1
2
2
1
1
2
1
1
2
2
2
1
2
1
1
2
1
1
1
1
1
1
1
1
1
2
1
1
2
2
2
2
2
1
2
2
2
1
2
1
2
1
2
2
1
2
1
1
1
1
2
1
1
2
1
2
2
1
2
1
1
1
1
2
1
2
1
1
2
2
1
2
2
2
1
2
2
1
2
2
1
1
2
1
1
2
2
2
2
2
2
2
2
2
1
1
2
1
1
1
2
1
2
1
1
2
2
2
2
2
1
2
2
2
1
2
1
2
1
2
1
1
2
1
2
2
1
1
1
1
2
2
1
1
1
1
1
2
2
2
1
2
2
1
1
2
2
1
1
1
1
2
1
2
2
2
1
2
1
1
2
2
1
2
2
1
1
2
2
2
2
1
2
1
1
2
2
2
1
2
2
1
1
2
2
2
2
2
1
2
1
2
1
1
2
2
1
2
2
2
1
1
2
2
1
2
2
2
2
2
1
1
2
2
1
1
1
2
2
2
1
2
1
1
2
2
2
2
1
1
2
2
1
1
1
1
1
2
2
2
1
1
2
2
2
2
2
2
1
2
1
1
1
2
1
1
1
1
2
2
1
1
1
2
2
1
2
2
1
2
1
1
2
2
1
1
2
2
2
2
1
1
1
2
2
1
2
2
1
1
1
2
2
1
1
1
2
2
2
2
1
2
2
2
1
2
2
2
2
2
2
2
2
2
1
1
2
2
2
1
1
1
2
2
1
2
2
2
1
1
1
2
2
1
1
2
2
1
2
1
2
1
1
1
2
1
1
1
1
2
1
1
2
2
2
1
1
1
2
2
1
1
1
2
1
1
1
2
1
2
1
2
2
1
2
1
1
2
2
1
2
2
1
1
2
2
1
2
2
1
1
2
1
1
1
1
2
2
2
2
1
2
2
1
2
1
1
1
1
2
1
2
2
2
2
1
1
1
2
1
1
1
2
1
1
1
1
2
2
2
2
2
2
1
2
1
1
1
1
1
2
2
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
2
1
2
1
2
2
1
1
2
1
1
1
2
2
2
1
2
1
1
1
2
1
1
1
1
1
2
2
1
1
2
2
2
1
1
1
2
1
1
1
1
2
1
2
1
1
2
1
1
1
1
1
1
1
1
2
2
1
1
2
1
2
2
2
2
2
1
1
2
1
1
2
2
2
1
1
2
1
1
2
1
1
2
1
1
1
2
2
1
2
2
1
1
1
1
2
2
1
2
1
1
1
2
1
2
2
1
1
2
1
2
2
1
2
1
1
2
2
1
2
2
2
2
2
2
2
2
1
2
1
1
1
1
2
1
2
1
1
2
1
1
2
2
1
1
2
1
2
2
1
1
1
2
2
2
1
2
1
1
1
2
1
1
2
2
1
2
1
1
1
1
1
2
2
1
2
2
2
1
1
2
1
1
2
1
2
2
2
1
1
2
2
1
1
1
1
1
2
1
2
1
1
2
2
2
1
2
1
2
2
1
1
1
1
2
1
1
2
2
1
2
1
2
2
1
2
2
2
2
2
1
2
2
2
1
2
2
2
2
1
2
1
2
2
1
1
2
1
2
1
1
1
1
2
1
2
2
2
1
1
2
1
2
1
2
2
2
2
2
2
2
1
2
1
2
2
2
1
1
1
1
1
2
1
1
2
2
2
1
2
2
2
2
1
1
2
2
2
1
1
1
2
1
2
1
2
2
2
2
2
2
2
2
1
1
2
2
2
1
1
2
2
2
1
2
2
2
2
2
2
2
2
2
1
2
2
2
1
1
2
2
2
1
1
1
1
1
2
1
1
2
2
1
2
2
2
1
2
1
2
1
1
2
2
1
1
1
2
1
1
1
2
1
2
2
1
2
2
2
2
1
2
1
1
1
1
2
1
2
1
1
2
1
2
2
1
2
2
2
2
1
1
1
1
2
2
1
1
2
2
1
2
1
1
2
1
1
1
2
2
1
2
2
1
1
1
1
2
2
1
1
2
1
1
2
2
2
2
2
1
2
2
2
2
1
1
1
1
2
2
1
2
1
2
1
1
2
1
2
1
1
2
1
1
2
2
2
1
2
2
2
1
1
1
2
1
2
2
2
1
1
2
2
1
1
2
1
2
1
2
2
1
1
2
2
2
2
1
1
1
2
2
1
1
2
2
1
1
2
2
1
2
1
1
1
1
2
1
2
2
1
2
1
1
1
2
1
2
2
1
2
2
2
2
2
1
2
2
2
1
2
2
2
2
2
2
1
2
1
2
1
1
1
1
1
2
2
1
1
2
1
1
1
2
2
2
1
1
1
2
1
2
1
1
2
1
2
2
2
2
1
2
2
2
1
1
1
2
1
1
1
2
1
1
1
1
2
1
1
1
2
2
2
1
2
1
1
1
2
2
1
1
1
2
2
1
2
2
1
1
2
1
2
1
2
2
1
1
1
1
1
2
2
1
2
1
1
2
2
1
1
2
1
2
1
2
2
1
1
2
1
2
1
2
2
2
1
2
2
1
1
1
1
2
1
2
1
1
2
2
1
2
1
1
1
1
2
1
1
2
2
1
2
2
2
1
1
1
1
1
1
1
1
1
2
1
1
2
1
2
1
2
1
1
2
2
2
2
2
2
1
1
1
2
1
2
1
1
2
1
1
1
1
1
1
2
1
1
2
2
2
2
1
1
1
2
2
2
1
1
1
2
1
1
1
1
1
1
2
2
1
2
2
1
1
1
1
1
1
2
2
1
1
2
1
1
2
2
2
2
2
1
1
2
1
2
1
1
2
2
1
1
1
2
1
1
2
1
2
1
2
1
1
1
1
1
1
2
2
1
1
1
1
2
2
1
1
2
2
2
1
2
2
2
1
1
2
1
1
1
1
1
2
1
1
2
1
1
1
2
1
1
2
1
2
1
2
2
1
1
2
1
2
1
2
2
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
1
1
2
1
2
1
2
2
1
2
1
1
1
1
1
1
2
2
2
1
1
2
2
2
1
1
1
1
2
1
1
2
1
1
1
2
1
2
1
1
2
1
1
2
2
1
2
1
2
2
1
1
1
2
2
1
2
2
1
1
2
2
1
2
2
1
2
2
2
2
2
1
1
2
1
2
1
2
2
2
1
2
2
1
1
1
2
2
1
2
2
2
1
2
2
2
2
1
1
2
2
2
2
2
2
2
1
2
2
2
1
2
1
1
1
1
1
2
2
1
1
2
1
2
1
2
1
1
2
2
2
1
1
1
1
2
1
1
1
2
1
2
1
1
2
1
2
2
2
1
1
1
2
1
2
1
2
2
1
1
1
2
1
2
2
1
1
2
2
2
1
2
1
2
2
2
2
1
1
2
2
1
2
1
1
1
1
2
2
1
2
1
2
1
2
2
1
2
1
2
1
2
1
1
1
1
2
2
1
1
1
2
1
2
1
2
2
1
1
2
2
1
2
1
1
1
2
1
2
1
1
1
2
1
1
2
1
1
1
2
1
2
1
1
1
1
2
1
2
1
2
1
1
1
1
1
1
1
1
2
1
1
2
2
2
1
1
2
1
1
1
1
2
2
1
1
2
1
1
1
1
2
1
1
2
2
1
2
2
1
1
2
2
1
1
1
1
1
2
1
1
1
1
1
2
1
1
1
1
1
2
1
2
2
1
1
1
1
2
2
2
2
1
1
2
1
1
2
1
2
2
2
2
2
2
1
1
2
2
1
2
1
2
1
2
2
1
1
1
2
2
2
1
1
2
1
1
2
2
2
1
2
1
1
1
2
1
1
1
2
2
2
2
1
2
2
2
2
2
2
1
1
1
1
1
2
1
2
1
1
1
2
2
1
2
2
2
2
1
2
2
2
1
1
2
2
2
1
1
1
1
1
2
1
1
2
1
2
1
1
2
1
2
1
1
1
2
2
1
2
1
2
1
1
2
2
2
2
1
2
2
1
2
1
1
1
1
1
2
1
2
1
2
1
1
2
2
2
2
2
2
2
1
2
1
2
2
2
1
2
2
1
2
1
1
2
1
1
1
2
2
2
2
1
2
2
2
1
2
1
2
1
1
2
2
1
2
1
2
2
2
1
2
1
2
1
1
2
1
1
2
2
2
1
2
1
1
2
2
2
2
1
2
2
1
1
2
2
2
2
1
1
2
1
2
1
1
2
1
1
2
2
1
1
2
2
1
2
1
2
1
1
1
2
2
1
1
2
2
2
1
2
2
2
2
1
1
2
2
1
1
1
2
1
1
1
2
2
1
1
1
1
1
1
1
2
1
1
1
2
2
1
2
1
1
1
2
1
1
1
1
1
2
2
1
2
2
2
1
2
2
2
1
2
2
1
2
1
1
2
2
2
1
1
2
1
2
1
1
2
2
1
2
1
2
2
2
1
1
1
1
1
2
1
2
1
1
1
1
1
1
1
2
1
1
1
1
2
2
1
1
1
1
2
1
2
1
2
2
2
2
2
2
1
2
1
2
2
2
2
2
2
2
1
2
1
2
2
2
1
2
1
1
2
2
1
1
1
2
2
2
2
2
1
2
1
1
1
1
2
1
2
1
2
1
2
2
2
1
2
2
2
2
2
1
1
2
1
1
1
1
2
2
2
2
2
2
1
2
2
2
2
2
1
2
2
2
1
1
1
2
2
2
1
1
1
2
2
1
2
2
1
2
2
2
1
1
2
1
2
1
1
2
2
1
1
1
2
1
1
2
1
2
2
1
2
2
2
1
2
2
1
1
1
2
2
1
2
1
2
1
2
2
2
1
2
2
2
1
1
2
1
1
2
2
1
1
1
1
2
2
2
2
2
2
1
2
2
2
2
1
2
1
2
2
2
1
1
1
2
1
2
2
1
1
1
2
2
1
2
1
2
1
2
2
2
2
1
1
1
2
2
2
1
1
1
2
2
2
2
1
2
1
2
1
2
2
2
1
2
1
1
1
1
2
2
2
1
2
2
1
2
1
2
2
2
1
1
1
2
2
1
1
2
2
1
1
1
2
1
2
2
1
2
2
2
2
1
2
1
1
2
2
1
2
1
2
2
1
2
1
2
2
1
2
1
2
2
1
1
1
2
1
1
2
2
1
1
1
2
1
1
2
1
1
1
1
1
2
2
2
2
1
2
2
2
2
1
2
1
2
2
2
2
2
1
1
2
1
1
2
2
1
1
2
2
1
2
2
2
1
1
1
2
2
2
1
2
1
2
2
2
1
1
1
1
2
1
2
2
2
1
1
2
1
2
1
1
2
2
2
2
1
2
1
2
2
2
1
2
1
2
1
2
1
1
2
2
1
1
1
2
2
2
2
2
1
2
1
2
2
2
2
2
2
2
1
1
1
2
2
2
1
2
1
1
2
2
2
2
2
1
2
1
2
1
1
2
2
1
2
1
2
1
2
1
2
1
1
1
2
2
2
2
1
2
1
2
1
2
2
2
2
1
1
1
1
1
1
2
1
2
1
2
2
2
1
1
2
1
1
1
1
2
1
1
1
1
1
1
2
2
1
2
2
1
2
2
1
2
1
1
1
1
2
2
1
2
1
2
1
1
1
1
1
1
1
1
1
1
2
2
2
2
1
1
2
1
2
2
2
1
2
1
1
1
2
1
1
2
1
1
1
1
1
1
1
1
1
1
2
2
2
1
1
1
2
2
1
1
1
2
1
2
2
2
1
2
2
1
1
2
1
1
2
1
1
2
1
2
2
2
1
2
1
2
2
2
1
2
2
2
1
1
1
1
2
1
2
1
1
2
1
1
1
2
1
1
2
2
2
1
1
1
2
1
2
1
2
2
2
2
1
1
2
2
1
1
2
2
1
1
1
1
1
1
1
2
2
2
1
1
2
1
1
2
2
2
2
1
2
2
2
2
2
1
1
2
1
1
1
2
1
1
2
1
2
2
2
1
1
2
1
1
1
2
2
2
1
1
2
2
2
2
2
1
2
2
2
1
2
2
2
2
1
1
1
2
1
2
2
1
2
2
1
2
1
2
1
2
1
2
1
2
1
2
1
1
2
2
1
1
2
2
1
2
2
1
1
2
2
2
1
1
1
1
2
2
1
2
1
1
2
1
2
2
1
2
2
2
2
2
2
1
1
2
2
1
2
2
2
2
1
2
2
1
1
2
2
1
1
2
1
2
1
2
2
1
2
1
2
1
1
1
1
1
1
2
1
2
1
1
1
1
2
1
1
2
2
1
2
2
2
2
2
2
2
1
2
1
1
1
1
1
2
1
2
2
2
2
1
2
2
2
2
2
2
2
1
1
2
1
2
2
2
1
1
1
1
1
1
2
1
1
2
2
1
1
1
2
1
2
1
2
1
2
1
2
2
2
2
1
2
1
2
1
2
1
2
2
1
2
1
1
1
1
1
1
1
1
1
1
2
1
1
2
1
1
1
2
2
2
2
1
1
2
2
2
2
1
1
2
2
2
2
2
2
2
1
2
1
1
1
2
1
1
2
1
1
2
2
1
2
2
1
2
1
2
1
2
2
1
1
2
2
2
1
1
2
1
1
2
1
1
1
2
1
2
2
1
2
2
1
1
1
2
2
1
1
2
2
1
2
2
2
2
1
2
2
2
1
2
1
1
2
2
2
2
1
2
1
2
1
1
2
1
2
1
1
1
2
2
1
2
1
2
1
1
1
2
1
1
2
1
2
1
2
1
1
1
2
1
2
2
1
2
2
1
2
2
1
2
1
1
1
1
2
1
2
2
2
2
1
1
2
2
2
2
2
2
2
2
2
1
1
2
2
1
2
2
2
2
1
1
2
1
1
1
1
2
1
2
1
1
1
1
2
2
2
1
1
1
2
2
1
1
1
1
1
1
2
2
2
2
2
2
2
1
2
2
2
2
1
1
2
1
1
1
2
2
2
2
2
1
1
2
1
2
2
1
2
1
1
1
2
2
2
1
2
2
2
2
1
1
2
1
1
2
1
1
1
2
2
2
1
1
1
1
2
1
2
1
1
2
1
1
1
1
1
1
2
1
2
2
1
1
2
1
2
1
1
2
2
1
1
2
1
1
1
2
1
2
2
2
1
2
2
1
2
2
1
1
2
2
1
2
2
2
1
1
2
1
2
2
1
2
1
1
1
1
2
1
2
1
2
2
1
1
1
2
1
1
1
2
1
1
2
2
2
2
1
2
2
2
1
1
2
1
1
2
2
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
1
1
2
2
1
1
1
2
1
1
1
2
2
2
1
2
2
1
2
1
1
1
2
1
1
2
2
1
1
2
1
1
2
2
2
2
1
2
2
1
1
2
2
2
2
2
1
1
1
2
1
1
2
2
2
2
1
1
2
1
2
2
1
2
2
2
1
2
2
2
2
2
2
2
1
1
1
1
1
1
2
1
2
2
2
1
1
1
1
1
1
2
2
2
1
1
1
2
2
2
1
2
1
2
1
1
2
1
1
2
2
1
2
1
2
2
1
2
2
1
2
2
2
2
1
1
2
2
2
2
1
2
1
2
2
1
2
1
1
1
1
2
1
2
2
2
1
2
1
2
2
1
2
2
2
2
2
1
1
1
2
2
2
2
1
1
2
2
2
1
2
2
2
2
1
2
1
2
1
2
1
1
2
2
2
1
2
1
1
2
1
1
1
2
2
1
1
2
1
2
2
2
1
1
2
1
2
2
2
1
1
1
1
2
2
2
2
1
2
1
1
2
1
1
1
2
2
1
1
2
2
2
1
2
1
2
1
2
2
2
2
2
2
2
2
2
1
1
2
2
1
2
1
1
1
2
1
2
2
1
1
2
1
1
1
1
1
1
2
2
1
2
1
2
1
2
1
2
1
1
1
1
2
2
2
2
1
2
1
2
2
1
1
2
2
2
2
2
2
2
1
2
1
1
2
1
1
2
2
1
2
1
1
2
2
2
1
2
1
2
1
1
2
2
2
1
1
2
2
2
1
2
2
1
1
1
1
1
2
1
1
2
1
1
1
2
1
1
1
1
2
1
1
2
2
1
2
2
2
2
2
2
1
1
2
1
1
2
1
2
2
1
1
2
2
1
1
2
2
1
2
1
2
1
2
1
1
2
1
2
1
2
1
1
2
2
2
2
1
2
1
1
1
2
2
2
2
1
1
1
1
2
2
2
2
1
1
2
2
1
1
2
2
1
1
1
2
2
2
1
1
2
1
1
1
2
2
1
2
2
1
1
2
2
2
1
1
2
1
2
2
1
2
1
2
2
1
1
1
2
1
1
2
1
2
2
1
1
2
2
1
1
2
2
2
2
2
2
1
2
2
1
1
1
1
2
2
2
2
2
1
1
2
2
1
1
2
1
2
1
1
2
1
2
1
1
1
2
2
2
2
1
2
2
1
2
1
2
1
2
1
2
2
1
1
1
1
2
1
2
1
1
1
1
1
1
1
1
1
1
2
2
1
1
1
2
1
1
1
1
2
2
2
2
2
1
2
2
2
2
2
2
1
2
1
1
1
1
1
1
1
1
2
2
1
2
1
1
2
1
2
1
2
1
2
1
1
1
1
1
1
2
2
1
1
2
1
1
1
1
1
1
1
2
2
2
1
2
2
2
1
1
1
2
2
2
1
2
1
1
2
1
2
2
1
2
1
1
1
1
1
1
2
2
1
1
1
1
1
2
1
1
1
1
2
2
2
2
1
2
2
1
2
1
2
2
1
2
2
1
1
1
1
2
2
1
2
2
2
2
1
2
2
1
2
2
2
1
1
1
1
1
1
2
1
2
2
1
1
1
1
1
1
2
2
2
2
2
1
1
1
2
2
1
2
1
2
2
2
2
2
2
2
2
1
1
1
2
1
1
1
2
2
1
1
1
1
2
2
1
1
1
2
2
1
2
1
2
1
2
1
2
1
1
1
1
1
1
1
1
1
1
2
2
1
2
1
1
2
2
2
2
2
1
1
2
2
1
1
2
2
2
1
2
2
1
1
2
1
1
2
2
1
2
1
1
1
1
2
2
1
1
1
2
1
2
2
1
2
2
2
2
1
1
1
2
1
1
1
2
1
1
1
1
2
1
2
2
2
1
2
2
1
2
1
1
1
2
1
1
2
1
2
2
1
2
2
1
1
2
2
1
2
2
2
1
1
1
1
2
1
2
1
1
1
1
1
2
1
2
2
2
2
1
1
2
2
2
2
2
2
2
1
1
1
2
2
1
2
2
2
2
1
2
2
1
1
2
2
1
1
1
2
2
1
2
1
1
2
1
2
1
2
2
1
2
1
2
1
2
1
2
1
1
2
2
2
2
2
1
2
2
2
1
2
2
2
2
2
1
2
2
1
1
1
2
1
2
1
1
1
2
2
2
2
1
1
1
2
2
2
1
2
1
1
1
2
1
2
2
1
2
1
2
2
1
1
2
2
1
2
1
2
2
2
2
2
2
2
2
2
1
2
1
1
1
1
1
1
2
2
1
1
2
2
1
2
2
2
2
1
2
2
2
1
1
1
2
2
1
1
1
1
1
1
2
1
1
2
1
1
1
1
1
2
1
1
1
2
1
2
2
2
1
2
2
1
2
1
1
2
2
1
1
2
2
2
2
2
1
2
2
1
2
1
2
2
1
2
2
1
2
1
2
2
2
1
1
2
2
1
1
1
1
1
2
2
2
1
2
2
2
1
2
1
1
1
1
2
1
2
2
2
2
2
1
2
2
1
1
1
1
1
1
2
2
2
1
1
2
2
1
1
1
2
2
1
1
2
2
1
1
2
2
2
1
2
1
2
1
1
1
1
2
1
2
1
1
1
1
2
2
1
1
2
1
2
1
1
1
2
1
1
1
2
2
1
1
1
1
1
1
1
2
2
1
1
2
1
1
1
1
1
1
1
2
1
2
2
1
2
2
1
2
2
2
1
1
1
1
1
1
2
1
2
1
1
1
1
2
1
1
2
1
1
2
1
2
1
2
2
2
1
1
1
1
2
1
1
2
2
1
1
1
1
2
1
1
2
1
2
1
1
1
1
2
2
1
1
2
1
2
1
1
2
1
1
2
2
1
1
1
1
1
1
1
1
1
2
2
2
1
2
2
2
1
1
1
1
1
1
1
1
1
2
2
2
2
1
1
1
2
1
1
2
1
2
2
1
1
2
2
1
1
2
2
1
2
1
2
1
1
2
1
1
1
2
2
1
1
2
1
2
2
1
1
2
2
1
1
2
2
2
1
2
1
2
1
1
2
2
1
2
1
1
1
2
2
2
2
2
2
2
1
1
2
2
1
2
2
1
1
1
2
1
2
1
1
2
1
2
1
1
2
2
1
2
1
2
1
2
2
2
1
2
1
2
1
1
1
2
1
2
2
2
2
2
2
2
1
2
2
2
2
1
1
2
2
1
2
2
2
1
2
2
2
2
1
1
2
2
2
2
1
2
1
2
1
1
2
1
2
1
2
2
1
2
1
2
2
2
1
1
2
2
2
2
1
1
2
2
2
1
1
2
2
2
1
2
2
2
1
1
2
2
2
2
2
1
1
1
2
2
2
2
1
1
1
2
1
2
1
2
2
2
1
2
1
2
1
2
1
1
2
1
1
2
2
2
2
1
2
1
2
1
2
2
2
2
1
2
1
2
2
1
1
2
2
1
1
2
2
2
1
1
2
1
2
1
2
1
1
1
2
2
2
1
2
1
1
2
2
1
1
1
1
1
1
2
1
1
2
2
2
2
1
1
2
2
2
1
1
2
1
2
2
2
2
1
2
2
2
2
1
1
2
1
1
2
1
2
1
2
1
2
1
1
1
2
1
2
2
1
1
2
2
2
2
1
2
1
1
2
2
1
2
2
1
2
1
1
1
1
2
2
1
2
2
1
1
2
2
2
2
2
2
1
2
1
2
1
1
2
2
1
2
1
2
2
1
2
1
1
1
2
2
1
2
2
1
2
1
2
2
1
1
1
1
2
1
2
1
1
1
2
1
2
1
2
2
1
2
2
1
2
1
1
2
2
2
2
2
2
1
1
2
1
1
1
1
1
2
1
1
1
2
2
2
2
1
1
2
2
2
1
1
1
1
2
2
2
1
1
1
1
1
1
2
1
1
2
1
2
2
2
2
1
1
2
1
1
2
2
1
2
2
1
2
2
1
1
1
1
2
2
2
2
2
1
1
2
2
1
1
1
2
1
1
2
2
1
1
1
1
1
2
2
1
1
2
1
2
2
2
1
1
1
2
2
1
2
1
2
1
2
2
2
2
2
2
1
1
2
1
1
2
1
2
2
1
1
1
2
1
2
2
1
2
2
1
2
1
1
1
1
2
2
1
1
1
2
1
1
1
2
1
2
2
1
1
2
1
1
2
1
2
1
2
1
2
2
2
1
2
2
1
2
1
1
2
2
2
1
2
2
2
1
1
1
1
2
2
1
2
1
2
2
2
1
2
1
2
2
1
1
1
2
2
2
2
2
1
2
2
2
1
1
2
2
1
2
1
2
1
2
1
2
1
2
2
1
2
1
2
1
1
2
2
1
1
1
2
1
2
1
1
1
1
2
2
1
2
2
2
2
1
2
1
2
1
2
2
1
2
1
1
2
2
2
2
1
2
1
1
2
1
1
2
1
1
1
1
2
2
1
1
2
2
1
1
1
2
2
1
1
2
1
2
2
2
2
2
1
2
2
2
1
1
1
1
1
1
2
2
2
2
2
2
1
2
2
1
1
2
1
1
1
1
2
2
2
1
1
1
1
1
2
1
1
1
1
1
1
2
2
1
1
1
2
2
2
1
2
2
2
1
2
1
1
1
2
1
2
1
1
2
1
2
2
1
2
2
1
1
2
2
1
2
2
2
1
1
2
1
2
2
1
1
2
1
1
1
1
2
1
1
1
1
1
2
1
2
2
1
2
1
2
2
2
1
1
1
1
1
1
2
2
1
2
1
1
1
1
2
2
2
2
1
2
2
2
1
2
1
1
1
1
1
1
1
1
1
1
2
1
1
1
2
1
1
2
1
1
1
2
2
2
2
2
1
1
2
1
2
2
2
1
1
2
1
1
2
1
1
1
2
1
2
1
1
2
1
1
2
1
1
1
2
2
1
2
2
2
1
2
1
2
2
1
1
2
1
2
2
1
1
1
1
2
2
1
1
2
2
2
2
2
2
1
1
2
2
2
1
2
1
2
1
2
2
1
1
1
1
1
1
1
1
2
2
2
2
2
1
1
1
2
2
2
2
2
2
2
2
2
1
2
1
2
2
1
2
2
1
2
2
1
2
1
2
1
2
2
2
1
2
2
2
2
2
2
1
1
1
2
2
1
2
1
2
1
1
2
2
1
1
2
1
1
2
1
1
1
2
1
1
1
2
1
2
1
2
1
1
2
2
1
2
1
1
2
1
1
1
1
1
1
2
1
1
1
1
2
1
2
2
2
1
1
2
2
2
1
2
2
2
2
2
1
2
2
2
1
2
2
1
2
1
2
1
1
2
1
2
2
1
1
1
1
2
2
2
1
2
2
2
1
1
2
2
2
1
1
2
1
1
2
2
1
1
2
1
2
1
1
2
1
1
2
1
2
2
2
2
1
1
2
2
1
1
1
1
1
1
2
1
1
2
1
1
2
2
2
2
2
2
1
2
2
2
2
2
1
2
1
2
2
2
1
1
2
1
1
1
1
2
1
2
1
1
2
1
1
1
2
2
2
2
2
2
1
1
1
2
2
1
1
2
1
1
2
2
1
2
2
1
1
1
2
2
1
2
2
1
2
1
1
2
2
2
1
2
2
1
1
2
1
1
1
1
1
2
1
1
1
2
2
1
2
1
2
1
2
1
1
2
1
1
1
2
2
1
2
2
1
2
1
1
1
1
2
1
2
2
2
2
1
1
2
1
1
2
1
1
2
1
2
1
2
2
2
1
2
1
2
2
1
2
2
1
2
1
1
1
2
2
2
1
2
2
1
1
1
1
1
2
1
2
2
2
1
2
1
2
2
2
1
2
2
2
2
1
1
1
2
2
2
1
2
2
2
2
2
2
2
2
2
1
1
1
2
1
2
2
2
2
2
2
1
1
1
1
1
1
1
2
1
2
1
2
1
2
2
2
2
1
1
1
1
1
1
1
1
1
2
2
2
1
1
2
1
2
2
2
2
2
1
2
2
1
2
2
1
1
2
2
1
2
2
2
1
2
2
1
2
1
1
1
2
1
1
2
2
2
1
2
2
2
1
1
2
2
2
2
2
1
1
1
1
2
2
1
2
1
1
1
1
1
2
2
2
2
2
1
1
2
2
2
1
1
2
1
2
2
2
2
2
1
2
2
2
1
2
1
1
1
2
1
1
1
1
2
2
2
1
2
1
2
2
2
2
1
2
2
2
1
1
2
1
2
1
1
2
1
1
2
1
2
2
1
2
2
1
1
1
1
1
2
2
2
1
2
2
2
1
2
2
1
1
1
2
1
1
1
1
1
2
1
1
1
2
2
1
2
1
1
2
1
2
1
2
2
2
1
1
2
2
1
2
2
1
1
1
1
1
1
1
2
2
1
1
1
1
1
2
1
1
1
1
1
1
2
2
1
2
1
2
2
1
2
1
1
2
1
1
1
2
1
2
1
2
2
1
2
2
2
2
1
2
2
1
2
1
2
2
2
2
2
1
2
1
2
2
2
2
2
2
1
1
2
1
2
1
1
1
1
2
2
1
1
1
1
1
1
2
2
2
2
1
1
1
1
2
1
1
1
2
2
2
2
1
2
1
2
1
1
2
2
2
2
1
2
2
1
2
1
2
2
2
1
2
1
1
1
1
1
1
2
1
2
2
1
2
2
2
2
1
1
1
2
2
1
2
1
1
1
2
1
2
1
1
1
1
1
1
1
2
2
1
2
1
2
2
2
1
2
1
1
2
2
1
2
2
2
2
1
2
1
1
2
2
1
2
2
1
1
1
2
2
1
1
2
2
1
2
2
2
2
1
1
1
1
2
1
2
2
1
1
2
1
2
1
1
2
1
1
2
1
1
1
1
1
2
2
1
1
1
2
1
1
1
1
1
2
1
2
1
1
1
1
1
2
1
1
1
1
2
2
1
2
2
1
2
2
2
1
2
1
2
2
1
2
1
2
2
1
1
2
2
1
2
2
1
1
1
1
1
2
1
2
1
2
2
2
1
2
2
1
2
2
2
2
1
2
1
2
1
2
2
2
2
1
1
2
1
1
1
2
2
1
1
2
2
2
2
1
1
1
1
2
2
2
2
1
2
2
2
2
1
1
1
1
2
1
2
2
2
2
1
1
2
1
1
2
1
2
2
1
2
2
1
2
1
2
2
2
1
1
1
2
2
1
2
1
2
1
2
1
1
1
1
2
1
1
1
1
2
2
2
2
1
2
1
2
1
2
1
1
2
2
2
1
2
1
1
1
2
1
1
2
1
2
1
1
2
2
2
2
1
1
1
2
2
1
1
2
2
1
2
1
2
2
2
2
2
2
2
1
2
1
2
2
2
1
1
1
2
2
2
2
2
2
1
1
2
1
2
1
2
1
2
1
2
1
2
2
2
2
2
2
2
2
1
1
2
1
1
1
2
1
2
1
2
1
1
2
1
2
2
2
1
1
1
2
1
2
1
1
1
1
2
2
2
2
2
1
1
1
1
2
1
2
1
2
2
1
1
1
1
1
2
1
1
2
2
2
2
1
2
2
1
1
2
2
2
1
2
2
1
2
2
1
1
2
1
1
2
1
1
2
1
2
2
2
2
2
1
1
2
2
2
2
2
1
1
1
2
2
1
2
1
2
1
1
1
1
1
2
1
1
2
2
1
1
1
2
2
1
2
1
2
1
2
1
2
2
1
1
1
1
2
1
2
2
2
2
2
2
2
1
1
1
2
1
1
2
2
1
2
1
1
1
1
1
1
2
2
1
2
1
2
2
1
1
1
2
1
1
2
2
1
2
2
2
2
2
1
1
2
2
1
1
2
1
1
2
1
2
2
2
2
1
1
1
2
2
2
2
2
1
1
2
2
2
1
1
1
1
1
1
2
1
1
1
2
1
2
2
2
1
1
2
2
2
2
1
1
1
2
2
2
2
1
1
1
1
2
1
1
2
1
2
1
1
2
2
1
1
1
1
1
1
2
2
2
1
2
2
1
1
1
2
2
1
1
2
1
2
1
1
1
1
2
1
2
1
2
2
1
2
2
2
1
1
1
2
1
1
2
2
1
2
1
1
1
1
2
1
2
2
2
1
1
1
1
2
2
1
1
2
2
1
1
2
1
2
2
2
2
1
1
2
2
1
2
2
2
2
1
1
1
2
1
1
2
2
2
1
2
1
1
1
1
1
1
1
2
2
2
1
2
2
1
1
1
2
1
2
1
1
2
2
2
1
2
1
2
2
2
1
2
2
1
2
2
1
2
2
2
2
2
1
1
2
2
1
2
2
2
2
2
2
1
1
2
1
1
1
2
2
1
1
1
1
2
1
2
1
2
1
2
1
2
1
1
1
1
2
2
1
1
1
2
2
1
1
2
1
1
1
1
1
1
1
1
2
1
2
2
2
1
2
1
2
2
1
2
2
2
1
2
2
1
1
1
1
1
2
1
1
2
1
1
2
2
2
1
2
1
1
2
1
2
2
2
1
2
1
2
1
1
2
2
1
2
1
1
1
2
2
1
2
2
2
1
1
1
2
1
1
2
2
2
1
1
1
1
2
2
2
2
2
1
1
1
1
1
1
1
1
2
1
2
2
2
2
2
2
1
2
1
2
1
2
2
1
2
2
2
1
2
1
1
2
2
1
2
2
1
2
2
1
1
1
2
2
1
1
2
1
1
2
1
1
1
2
2
2
2
1
1
1
2
1
2
1
1
2
2
1
1
2
1
1
2
2
1
2
1
2
1
1
1
1
1
1
2
2
2
1
1
2
1
2
2
1
2
2
2
1
1
2
2
1
1
2
1
1
1
1
2
1
1
2
1
1
2
1
1
1
1
1
1
2
2
2
2
1
2
1
1
2
2
1
2
2
2
2
2
2
2
1
1
2
2
1
1
1
1
1
2
2
1
2
1
2
1
2
2
2
2
2
1
1
2
1
1
1
2
2
1
2
1
1
1
2
1
1
1
2
1
2
1
1
1
1
2
1
2
1
1
1
1
1
1
2
1
1
1
1
1
1
2
1
1
2
2
1
1
2
2
1
1
2
2
1
2
1
2
1
2
2
1
2
2
2
1
1
2
1
1
2
1
2
2
1
1
2
2
1
1
1
2
2
1
1
2
2
1
1
1
2
2
1
1
2
2
2
2
2
2
2
1
1
1
1
1
1
2
2
2
2
1
1
1
1
1
1
2
1
1
2
1
1
1
1
2
2
2
1
1
2
2
2
2
2
2
2
2
1
2
1
2
2
1
1
2
1
1
1
2
1
1
2
1
1
2
2
2
2
2
1
1
1
2
2
2
1
1
2
1
2
2
2
1
1
2
2
1
2
1
2
1
1
1
1
1
1
1
2
2
2
2
2
1
1
1
2
1
1
1
1
1
1
1
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
2
2
2
2
1
2
2
1
1
1
2
2
1
2
2
1
2
2
1
2
2
2
2
2
1
2
1
2
2
1
2
2
1
1
1
1
2
2
2
2
2
1
1
1
2
2
1
1
1
1
1
1
2
2
2
2
2
2
2
1
1
1
2
1
1
2
1
2
2
2
1
1
2
2
1
1
1
2
2
2
2
2
2
2
1
1
1
2
1
2
1
1
2
2
1
2
2
1
1
1
1
2
1
2
1
2
1
1
1
2
2
2
1
1
1
1
2
2
1
2
1
1
2
1
2
2
2
1
2
1
1
2
2
2
2
2
1
2
2
1
1
2
2
1
2
1
1
1
2
1
2
2
1
1
2
1
2
2
1
2
2
2
1
1
1
2
2
1
1
1
1
1
2
2
1
2
2
2
2
1
2
2
1
1
2
2
1
2
1
1
1
2
2
1
2
2
1
1
2
1
2
2
2
1
2
2
2
1
1
2
2
1
1
2
1
2
1
1
1
2
1
1
1
1
2
1
2
2
1
2
2
2
1
1
1
2
1
2
1
1
1
2
1
1
1
1
1
1
1
1
2
2
2
1
2
1
1
1
2
1
2
1
1
1
2
1
2
2
2
2
2
1
1
1
1
1
1
1
2
2
2
1
1
1
1
2
1
1
2
2
2
2
2
2
2
1
2
1
2
1
1
2
1
1
2
2
2
2
2
1
1
1
1
1
1
2
2
1
2
2
2
1
1
2
2
2
2
1
2
2
2
2
1
2
1
2
1
2
1
1
2
2
1
2
2
2
1
2
2
1
1
2
1
1
1
1
2
2
1
1
1
2
1
1
2
1
2
2
2
1
2
1
2
1
2
1
2
1
2
1
1
2
2
1
2
2
1
1
2
2
2
2
1
2
1
2
2
2
2
1
2
1
1
1
1
2
2
2
2
1
1
2
1
2
1
2
2
1
1
1
2
2
2
1
1
2
2
2
2
1
2
1
2
2
2
2
1
1
2
1
1
2
2
1
1
2
1
2
1
1
2
2
2
2
2
2
1
2
1
2
2
2
1
1
1
2
1
1
2
2
1
2
1
1
1
1
2
1
1
2
1
2
2
2
1
1
1
2
2
1
1
2
2
1
2
2
2
2
2
1
1
1
1
1
1
1
2
2
1
2
2
1
1
1
2
2
1
2
1
1
2
1
2
1
2
1
2
1
1
1
2
1
1
2
2
1
2
1
1
2
2
2
2
2
2
1
1
2
2
1
2
1
2
1
1
1
2
2
1
2
2
2
2
1
1
1
1
2
1
1
1
2
2
2
2
1
2
2
1
1
1
2
1
2
1
1
2
2
2
2
1
2
2
2
2
2
1
2
2
1
1
2
1
2
2
2
1
1
1
1
2
1
2
2
2
2
1
1
1
2
1
1
1
2
1
2
1
1
2
2
1
2
2
1
1
1
2
1
1
1
1
2
1
1
2
1
2
2
1
1
1
1
1
2
2
1
1
1
1
2
2
2
1
1
2
2
1
2
2
2
2
1
1
2
1
2
2
2
1
1
2
2
1
1
1
1
1
1
1
2
1
2
1
1
1
2
2
1
1
2
2
2
2
1
2
2
2
1
1
1
1
1
2
2
1
2
2
1
2
2
2
2
1
2
1
1
2
2
2
2
1
1
2
2
1
1
1
1
1
2
1
2
2
2
1
2
1
2
2
2
1
2
2
1
1
2
2
2
1
1
2
2
1
1
1
2
1
2
2
1
1
2
2
2
1
2
1
1
1
2
2
1
1
1
2
2
2
1
1
1
1
2
2
1
2
2
2
2
1
1
1
1
2
2
2
2
2
2
2
2
2
2
1
2
2
2
1
2
2
2
2
2
1
1
2
1
2
2
2
1
2
2
1
2
2
1
1
1
2
1
2
1
2
2
1
1
1
1
2
2
2
1
1
1
1
1
1
1
2
2
1
1
2
1
2
1
1
1
1
1
1
2
1
2
2
1
2
2
2
2
2
1
2
2
1
1
2
1
1
1
1
1
2
2
1
1
2
2
1
2
2
1
1
2
2
2
1
2
2
2
1
1
2
2
2
1
2
2
1
2
2
1
2
1
2
1
2
1
2
2
2
1
1
1
2
2
2
2
1
1
1
1
1
1
1
1
1
2
2
1
2
1
2
1
2
1
1
1
2
2
2
1
2
2
1
2
2
1
1
2
1
2
1
2
2
1
2
2
2
1
2
1
1
1
2
2
2
2
2
1
2
2
1
1
1
2
2
2
2
1
2
2
2
2
1
1
2
2
2
1
2
1
2
1
2
1
2
1
2
2
1
1
1
1
2
1
2
1
1
1
1
2
1
2
1
1
2
2
1
1
2
2
2
1
2
1
1
2
1
1
1
1
1
1
1
2
1
1
1
1
1
1
2
1
1
2
2
2
1
2
1
1
1
2
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
2
2
1
2
2
2
2
2
1
2
2
2
1
1
2
2
2
1
1
1
2
2
2
1
1
1
2
1
2
2
1
2
2
1
1
1
1
2
2
1
1
2
2
1
2
1
2
1
1
2
1
2
1
2
2
2
1
2
2
2
1
2
1
2
2
2
2
2
1
2
1
2
1
2
2
2
1
2
2
1
1
2
1
2
1
2
1
1
1
2
1
2
1
1
1
2
2
1
2
1
2
2
2
2
1
1
1
1
2
2
2
1
1
2
2
1
1
2
2
2
1
2
1
1
2
1
2
2
1
1
2
2
2
1
1
1
1
1
1
1
2
2
1
2
1
2
1
2
1
2
1
1
1
1
1
2
1
2
1
2
1
2
1
2
2
2
2
1
2
1
1
2
2
1
1
1
2
1
2
2
2
2
2
2
2
2
2
2
1
2
1
1
2
2
1
1
1
2
1
2
2
1
1
2
1
2
2
2
2
1
1
2
2
2
1
1
1
2
2
2
2
1
2
1
2
2
1
2
2
2
1
1
2
2
2
1
1
1
2
2
1
1
1
2
2
2
2
1
1
2
2
2
2
1
2
1
1
1
2
2
2
2
2
1
1
2
1
1
2
1
1
1
1
1
2
2
2
2
2
1
1
1
2
2
2
2
2
2
2
1
1
1
2
2
1
1
1
2
1
1
2
1
1
2
2
2
1
1
1
1
1
1
1
1
2
2
2
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
2
1
2
1
1
1
1
1
1
2
2
1
2
1
1
1
2
1
1
2
2
1
2
2
1
2
2
1
1
1
1
2
1
1
2
1
1
2
2
1
1
1
1
2
1
1
2
2
2
2
2
1
2
1
2
1
1
1
1
1
1
1
2
2
1
1
2
1
2
1
1
1
1
2
2
2
2
2
1
1
1
2
1
1
1
2
1
1
1
1
1
1
1
2
2
2
2
2
2
1
2
1
1
1
2
1
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
2
2
2
1
1
2
2
1
1
2
2
1
1
1
2
1
2
1
2
1
1
1
2
2
2
1
2
1
1
2
1
2
1
2
2
1
1
1
2
1
1
1
1
1
1
2
1
2
1
2
1
1
2
2
2
1
1
1
1
1
2
1
2
2
2
1
1
1
1
2
1
1
2
2
2
1
1
2
2
1
2
2
1
1
2
1
2
2
1
2
2
1
1
1
2
2
1
2
2
1
1
1
2
1
2
1
1
2
2
2
1
1
2
1
2
1
1
1
2
2
2
1
2
2
1
1
2
1
1
1
1
1
1
2
1
2
2
1
2
2
1
2
2
2
2
1
2
1
1
1
2
1
1
1
2
1
1
1
1
1
2
1
2
2
1
2
2
2
1
1
1
1
2
1
2
1
1
1
1
2
1
2
2
1
2
1
1
1
2
1
1
1
1
2
2
1
2
1
1
2
1
1
2
2
1
1
1
2
1
1
1
1
1
2
1
2
2
1
2
1
1
1
1
1
2
1
2
1
1
2
2
2
2
1
1
1
1
1
2
1
2
2
1
2
1
1
1
2
1
1
1
1
1
1
2
2
1
1
1
2
2
2
1
1
1
1
1
1
2
2
2
1
1
2
2
1
1
2
1
1
2
1
2
2
1
1
2
2
1
2
1
2
1
1
2
1
1
1
2
2
2
1
2
1
2
1
1
2
1
1
1
2
1
2
2
2
2
1
1
2
2
1
1
2
1
2
1
1
2
2
1
2
2
2
2
1
1
2
1
1
1
1
2
1
2
1
2
1
1
2
2
2
2
2
2
2
1
2
1
1
1
1
2
2
2
1
2
2
2
2
2
2
2
2
1
1
2
2
1
1
2
2
2
1
1
1
1
2
2
1
2
2
1
1
1
2
1
1
2
2
2
1
2
2
2
2
2
2
1
1
2
2
2
1
1
1
2
1
2
1
1
1
1
1
1
1
2
1
1
1
2
1
2
1
2
1
2
1
2
1
1
1
2
1
2
2
1
1
2
2
1
2
2
1
2
2
2
2
2
2
2
1
2
1
2
1
2
1
2
1
1
2
2
1
2
1
2
2
1
2
1
1
1
2
2
1
1
1
2
2
2
1
1
2
2
2
2
1
2
1
1
1
1
2
1
2
2
2
2
2
1
2
1
2
2
2
2
2
2
1
2
1
1
2
2
2
1
2
2
2
2
1
2
2
2
2
2
2
2
1
1
2
2
1
1
1
2
2
1
1
2
2
2
1
1
1
2
1
2
2
2
2
2
2
1
1
1
2
2
2
2
1
2
2
1
2
2
1
2
2
1
1
1
2
1
1
1
1
1
2
2
1
1
1
2
2
1
2
1
1
2
1
1
1
2
1
2
1
1
1
1
2
2
1
1
2
2
1
2
2
1
1
2
1
1
1
2
2
1
1
2
2
1
2
2
2
2
1
2
1
2
2
2
1
1
2
2
2
1
2
1
1
2
1
1
1
1
1
2
1
1
1
2
1
2
1
2
1
2
1
1
1
1
2
1
1
2
2
2
2
1
2
2
1
2
2
1
1
2
2
1
2
2
1
2
1
1
1
1
2
2
2
2
2
1
2
2
2
2
1
1
2
2
2
2
2
2
2
2
1
1
2
1
2
2
2
2
1
1
1
2
2
2
2
1
2
1
2
2
2
2
2
2
1
2
1
2
1
1
1
1
1
1
1
1
2
1
2
2
1
2
2
2
1
1
2
1
1
1
2
1
2
1
2
2
2
2
2
2
2
2
1
1
2
1
1
2
1
2
1
1
2
2
2
2
2
1
2
1
1
1
1
2
2
2
2
1
1
1
1
1
2
1
1
2
1
1
1
2
2
1
2
1
1
2
1
2
2
2
2
1
1
2
2
2
1
1
2
2
1
2
2
1
2
2
2
1
2
2
2
1
2
1
2
2
2
2
2
2
1
1
2
1
1
1
2
1
2
2
2
2
1
1
2
1
2
1
1
1
2
2
2
2
2
1
1
2
2
2
1
2
1
2
1
1
2
2
1
1
1
1
1
2
1
2
2
1
1
2
1
2
1
2
1
2
2
2
1
1
1
1
1
1
2
1
1
2
2
2
2
1
2
2
2
2
2
1
2
2
2
1
1
2
2
2
1
2
1
2
2
1
2
2
2
2
2
2
1
2
1
2
2
2
2
1
2
1
1
1
2
2
1
2
1
1
1
1
2
1
2
1
2
2
1
1
1
2
2
1
1
1
2
2
2
1
2
1
1
2
2
2
1
2
2
1
2
2
2
1
1
1
2
2
2
2
2
2
1
1
2
2
1
2
1
1
2
1
1
1
2
2
2
1
2
1
1
1
1
2
2
1
1
1
2
2
2
1
2
2
1
1
1
2
2
2
2
2
2
2
2
1
2
1
1
1
2
2
1
2
1
2
2
1
2
1
1
1
1
2
1
1
2
1
2
2
2
1
1
1
1
2
2
2
2
2
2
1
1
2
2
2
2
1
2
1
1
2
2
1
1
2
2
1
2
1
2
2
2
2
2
2
1
1
1
2
1
2
1
1
1
2
2
2
1
2
1
1
1
2
2
2
1
1
2
2
1
1
1
2
2
1
1
2
1
1
1
1
2
1
2
1
1
1
2
1
2
2
1
1
1
2
2
1
2
1
1
1
1
1
2
2
1
1
1
2
1
1
2
1
2
1
1
2
2
2
2
1
2
2
1
2
2
2
1
1
2
1
1
2
1
1
1
2
1
1
1
1
2
2
1
1
1
1
2
2
1
1
2
2
2
1
1
1
2
1
2
2
1
2
1
2
2
2
1
2
2
1
1
1
2
1
1
2
2
2
1
2
2
1
1
2
1
1
2
2
2
1
1
2
1
2
1
2
1
1
2
2
1
2
1
1
2
1
2
1
1
1
2
2
1
2
1
1
1
1
2
2
1
1
1
1
2
2
1
2
2
2
1
1
1
1
1
2
2
2
1
2
2
2
1
2
2
2
2
2
2
2
1
2
2
1
1
1
2
1
2
2
2
2
2
2
1
2
1
2
1
1
1
1
1
1
2
2
2
2
1
1
1
1
1
2
1
1
2
1
1
1
2
2
2
1
1
2
2
1
1
2
2
1
2
2
2
2
1
1
1
1
2
1
1
2
2
1
2
1
1
2
1
2
1
2
2
1
2
1
1
2
1
2
1
2
1
2
1
1
2
1
1
1
1
1
2
2
2
1
2
2
2
2
2
2
2
1
2
1
2
1
2
2
2
2
1
1
1
2
1
1
2
2
1
1
2
1
2
1
1
2
1
1
1
2
2
2
2
2
2
1
2
2
2
1
1
1
1
2
2
2
2
1
1
2
1
2
2
1
1
1
2
1
1
2
2
2
2
1
1
1
2
2
2
1
1
1
1
1
2
2
2
1
1
2
2
1
2
2
1
2
2
2
2
2
2
1
1
1
1
2
1
2
1
1
1
1
1
1
2
2
1
1
2
1
1
1
1
2
2
2
1
1
1
2
2
2
2
1
2
2
2
1
2
2
1
2
1
1
2
2
2
2
2
1
2
2
1
1
1
1
2
1
1
2
2
1
2
1
1
1
1
2
1
2
1
1
1
1
1
2
2
2
2
2
2
1
1
1
1
2
1
2
2
1
2
2
1
1
2
1
1
2
2
2
1
1
2
1
1
1
1
1
2
2
2
2
2
2
2
1
1
2
2
1
2
1
2
1
1
1
1
2
1
1
1
1
1
2
2
1
2
2
1
2
1
2
1
2
2
2
2
2
1
2
2
2
2
1
2
1
2
1
2
2
1
2
2
1
1
1
1
1
2
2
2
2
1
2
2
2
1
1
2
1
2
1
2
2
2
2
2
1
2
1
2
2
2
1
2
2
2
2
2
1
1
1
1
2
2
2
1
2
2
2
2
2
1
2
1
2
1
2
2
2
2
1
1
1
1
2
2
2
1
2
1
2
2
1
1
2
2
1
1
1
1
1
2
1
2
2
2
2
1
1
1
2
1
1
2
1
2
2
1
2
1
1
1
2
1
1
1
2
2
2
2
2
2
2
2
1
1
1
2
2
1
2
1
1
2
1
1
1
2
1
2
2
1
1
1
1
1
2
2
2
1
2
1
2
1
2
2
1
2
1
2
2
2
1
2
1
1
1
1
2
1
2
1
2
2
1
2
1
2
2
2
2
1
1
1
1
2
2
1
2
2
1
1
1
1
1
1
1
1
1
2
1
1
2
2
2
2
2
2
2
1
2
1
1
2
2
1
1
1
1
2
1
1
1
1
1
1
2
1
1
2
2
1
2
1
1
2
1
2
1
2
2
2
2
2
1
1
2
2
2
2
1
2
1
1
2
1
1
1
2
1
1
1
2
2
2
2
1
2
1
2
1
2
1
2
1
2
1
2
1
2
1
1
1
1
2
2
2
2
1
1
1
1
1
2
2
2
1
1
1
1
2
1
2
2
1
2
1
1
1
1
2
1
2
2
2
1
1
1
2
1
1
2
1
1
1
1
1
1
1
1
1
2
2
2
1
2
1
2
2
1
2
1
2
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
1
1
2
2
2
1
1
1
2
2
2
1
2
1
1
1
2
2
1
2
1
1
2
1
1
2
2
2
2
2
2
2
1
1
1
2
1
2
2
2
1
1
2
2
2
2
1
1
1
1
2
2
2
2
2
2
1
1
1
2
1
1
1
1
1
2
2
2
1
2
1
1
2
1
2
1
2
2
1
1
1
1
2
2
2
1
1
2
2
2
1
2
2
1
2
2
2
1
1
2
2
2
2
2
2
2
2
1
1
1
1
1
1
2
2
2
1
1
1
2
2
1
1
1
1
2
2
1
2
1
2
2
2
2
1
1
1
2
1
1
2
2
2
2
1
1
1
1
1
1
2
2
1
2
2
2
1
2
2
1
2
1
2
1
2
2
1
2
1
1
1
1
2
2
2
1
2
1
1
1
1
1
2
2
2
2
1
1
1
2
1
2
2
2
2
2
1
2
1
1
2
1
1
2
2
1
2
2
1
2
2
1
2
1
2
2
2
2
2
2
1
2
1
1
1
2
2
1
1
2
1
1
1
2
2
2
2
1
1
2
2
2
2
2
1
2
1
2
1
2
2
2
1
2
2
1
2
1
1
2
2
1
2
2
2
1
2
1
1
2
2
1
2
2
2
2
1
2
1
1
1
2
2
1
2
1
1
1
1
1
2
1
1
2
2
1
2
1
1
1
1
1
1
2
2
2
1
2
1
1
2
1
1
2
1
2
2
1
2
1
1
1
1
1
2
2
1
2
1
2
2
1
2
2
2
1
1
2
2
1
2
1
1
2
2
1
1
2
1
2
2
1
1
2
1
2
1
2
1
1
1
2
1
2
1
2
2
1
1
1
1
1
1
1
2
1
1
1
2
1
2
1
1
2
2
2
2
2
1
2
1
1
2
1
2
2
1
1
1
1
1
1
1
1
2
1
1
2
1
2
1
2
2
1
2
1
2
1
1
2
2
1
2
1
1
1
1
1
1
1
2
1
1
2
2
2
2
2
2
2
2
2
2
1
2
1
2
2
1
2
1
2
2
1
1
2
1
1
1
2
1
2
2
1
1
1
1
1
1
2
2
2
1
1
2
2
1
1
1
1
2
2
1
1
2
1
1
2
1
1
1
1
2
1
1
2
1
1
2
1
2
2
2
2
2
2
2
1
2
2
1
2
1
1
2
2
1
2
2
1
2
2
1
1
2
2
1
1
2
2
1
2
1
1
1
1
2
2
1
1
2
1
2
2
2
2
2
2
1
1
1
1
2
1
1
2
2
1
2
2
1
2
1
1
2
1
1
1
1
1
2
2
2
1
1
1
2
2
2
1
2
2
1
2
1
1
1
2
2
2
1
2
1
1
2
1
2
1
1
2
1
2
1
2
1
1
2
2
1
2
2
2
1
2
1
1
1
1
1
2
2
1
1
1
2
2
1
1
2
1
2
1
1
2
2
1
2
2
2
2
1
2
2
1
1
2
2
1
1
2
2
2
2
2
2
1
2
2
1
1
1
2
1
1
1
1
1
1
2
2
2
2
1
1
2
2
1
1
2
1
2
2
2
2
1
2
2
2
1
1
1
1
2
1
1
1
1
1
1
2
1
2
1
1
1
1
2
1
1
2
1
1
1
2
2
1
1
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
2
2
2
2
2
1
2
2
2
2
2
2
2
1
1
2
2
1
1
2
1
1
2
1
1
2
2
1
2
1
2
2
2
1
1
1
1
1
2
1
2
2
2
1
2
2
1
1
2
1
1
2
1
2
1
1
2
2
2
1
2
1
2
1
1
1
1
1
1
1
1
2
2
1
1
1
2
1
2
2
1
2
1
2
1
1
2
2
1
1
1
2
1
2
1
1
2
1
2
2
1
2
2
2
2
2
1
2
2
2
1
2
1
1
1
1
2
1
1
2
1
1
1
2
2
1
2
2
2
1
1
2
1
2
2
2
1
2
1
2
1
1
2
1
2
2
1
1
2
1
2
1
1
2
2
1
1
1
2
2
2
2
1
2
2
2
1
2
1
2
2
1
2
1
1
1
2
2
1
2
2
2
2
1
2
1
1
2
1
2
1
2
1
1
1
2
1
2
2
1
1
1
2
2
1
2
1
2
1
1
1
1
1
2
1
2
2
1
1
1
2
1
2
2
1
1
2
1
2
1
2
2
```
by 跪下叫哥 @ 2019-04-15 13:18:16
@[Ameiyo](/space/show?uid=39947)
by 跪下叫哥 @ 2019-04-15 13:18:24
# [链接](https://pan.baidu.com/s/197yZwwfjyHARjXZpDOfkaQ)
提取码: e24p
可以用写字板打开,或浏览器:
![](https://cdn.luogu.com.cn/upload/pic/56668.png)
![](https://cdn.luogu.com.cn/upload/pic/56669.png)
by 跪下叫哥 @ 2019-04-15 13:30:37
@ 跪下叫哥
多谢,虽然我已经A了。。。
by Ameiyo @ 2019-04-16 07:40:29