ium_487194/predictions1.txt

22609 lines
44 KiB
Plaintext
Raw Normal View History

2023-05-12 18:54:01 +02:00
0
0
2
0
0
2
0
2
0
0
2
0
0
2
0
0
0
0
0
2
0
0
0
0
2
0
2
2
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
2
0
0
2
0
0
2
0
0
2
2
0
0
0
1
0
0
2
0
0
2
0
0
2
2
0
0
2
0
2
0
0
0
2
2
0
2
0
0
0
0
0
2
0
2
2
0
0
0
2
0
2
0
0
0
2
0
0
0
1
0
0
0
0
0
0
2
0
2
0
0
0
0
2
2
0
0
2
2
0
0
0
0
0
0
0
1
0
0
2
2
2
1
2
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
1
0
0
1
2
0
0
0
2
0
0
0
2
2
1
2
2
0
2
1
0
1
2
0
2
0
2
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
1
1
0
2
0
0
2
2
2
0
2
2
2
0
0
0
0
2
0
0
0
2
2
0
0
0
0
2
0
0
2
0
0
0
0
0
2
0
2
2
0
2
0
2
0
0
2
0
2
0
0
0
2
2
0
0
0
0
0
2
0
0
0
0
2
1
2
2
2
0
0
2
0
0
0
2
2
2
0
0
2
0
2
2
0
0
2
2
2
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
2
1
0
0
0
0
1
0
0
2
0
2
0
1
0
2
0
1
0
0
2
2
2
2
2
0
0
0
2
2
0
2
0
2
0
0
0
0
0
2
2
0
1
0
1
0
0
0
2
0
2
2
0
2
1
0
0
2
0
1
2
2
0
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
2
0
2
0
2
2
2
0
0
2
0
0
2
0
0
2
2
0
0
0
0
0
2
2
2
0
2
2
0
2
2
2
0
0
0
0
0
2
1
0
0
2
1
2
2
0
0
1
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
2
0
0
0
0
2
0
0
0
2
0
2
0
1
2
2
0
0
0
2
0
2
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
2
2
2
0
2
0
2
0
0
0
2
0
2
0
0
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
2
2
2
2
0
0
0
0
2
0
0
0
0
1
0
0
0
0
2
0
2
1
2
0
0
0
0
0
0
0
2
0
1
0
0
2
2
2
2
0
0
2
0
0
0
1
1
2
0
0
2
2
0
2
0
0
0
0
2
2
0
0
0
0
0
0
2
0
2
0
0
0
0
0
2
2
0
0
0
2
2
0
2
2
0
2
0
2
0
2
0
0
2
0
2
2
1
0
0
0
2
2
0
0
0
0
2
2
1
2
0
0
2
1
2
0
0
2
0
0
2
0
2
0
0
2
0
0
2
2
0
0
0
0
2
0
0
0
0
2
0
0
2
2
2
0
2
1
0
1
2
0
2
2
2
2
0
0
0
0
2
0
0
1
1
2
0
0
0
0
0
0
0
0
0
2
2
0
2
2
2
0
2
2
0
0
0
0
0
2
2
0
0
0
2
0
0
0
2
0
2
2
2
0
2
0
0
2
0
0
0
0
1
0
2
2
0
0
0
0
0
2
2
0
1
0
2
0
1
2
1
2
0
0
0
0
2
1
0
0
1
2
0
0
0
0
2
0
2
1
0
2
0
0
0
0
0
2
0
0
0
2
0
0
0
2
0
0
2
2
0
1
2
2
2
0
0
0
0
0
0
0
0
0
2
0
0
2
2
2
0
2
2
0
0
2
0
0
0
2
2
0
0
0
2
0
0
2
0
0
2
2
1
0
0
0
2
0
2
0
2
0
0
2
0
0
0
2
2
2
2
2
0
0
0
0
2
2
2
0
0
2
0
0
0
0
2
2
0
2
2
0
0
2
2
0
0
0
2
1
0
0
0
0
1
0
2
0
2
0
0
0
0
0
0
0
2
0
2
2
0
0
1
0
2
0
0
2
0
0
0
0
0
0
2
0
0
2
0
0
2
1
0
0
0
0
0
0
0
0
0
2
2
0
0
2
2
2
2
0
2
2
0
0
0
2
0
2
2
0
2
0
0
0
1
0
0
0
0
2
0
2
0
0
0
0
1
2
0
0
0
0
0
0
2
2
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
2
2
2
1
2
0
0
0
2
0
0
2
0
2
0
0
2
0
2
0
2
2
2
0
1
2
0
0
0
0
0
1
2
2
2
2
0
2
0
2
2
0
2
2
2
0
2
0
0
1
0
0
0
0
0
2
0
2
2
0
0
0
0
0
0
0
0
2
2
1
0
2
2
0
2
0
0
0
2
0
0
0
0
2
0
0
1
1
0
2
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
2
0
2
0
0
0
0
0
0
2
0
2
0
1
0
2
2
2
0
0
0
2
0
0
2
2
2
2
2
2
2
0
0
2
2
2
0
2
0
0
2
0
2
2
2
2
0
0
2
0
0
2
0
0
2
0
0
2
0
1
2
0
0
2
2
0
0
0
2
0
2
2
0
0
0
2
1
0
2
0
2
2
2
2
2
0
0
1
0
0
2
0
0
0
0
0
0
2
0
0
0
0
1
2
2
0
2
0
2
0
0
1
0
1
0
2
0
2
0
2
0
0
1
2
2
2
0
0
2
0
0
1
0
0
0
2
0
0
2
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
2
2
0
2
0
0
0
0
0
2
0
2
2
0
2
0
2
0
1
0
0
0
0
0
0
0
0
0
2
0
2
0
0
1
2
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
2
0
0
1
2
2
0
2
0
2
0
0
0
2
1
0
2
0
2
2
1
0
0
2
2
1
0
2
2
1
2
0
2
0
0
1
0
2
0
0
0
0
0
2
2
0
0
0
2
0
0
2
2
0
2
0
0
0
0
2
2
0
0
0
0
0
2
0
0
0
2
0
0
2
0
0
0
0
2
2
2
0
2
2
0
2
2
0
2
2
0
2
0
2
2
0
0
2
0
0
2
0
2
0
0
2
0
0
2
0
1
0
0
2
2
0
0
2
0
0
0
2
2
0
2
0
0
0
0
2
0
2
0
0
0
0
2
0
2
0
2
0
1
0
0
1
0
0
0
0
2
2
0
1
2
2
2
0
0
0
0
0
0
0
0
2
0
0
2
0
0
2
0
2
2
0
1
0
0
2
2
0
0
0
2
0
0
0
1
2
0
0
2
2
0
2
2
2
0
0
0
2
2
0
1
0
2
0
0
0
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
2
2
0
1
0
0
2
2
1
0
0
0
2
2
0
2
0
0
2
0
0
0
2
2
0
0
1
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
2
0
0
0
0
0
2
2
0
0
2
0
2
0
0
0
2
1
0
2
2
2
0
2
0
0
0
0
0
0
2
0
2
2
2
2
2
2
0
2
0
0
2
2
0
1
0
2
0
0
2
0
1
2
1
0
2
1
2
0
0
2
0
0
0
2
2
0
1
0
0
0
0
2
2
0
2
2
2
0
0
0
2
0
0
2
0
0
0
0
2
0
2
0
0
0
2
0
0
2
0
0
2
0
2
2
0
2
2
2
0
0
0
0
2
0
0
2
0
0
2
2
0
0
0
2
0
0
0
0
2
2
1
2
0
0
2
0
0
0
0
2
0
2
0
2
2
0
0
0
0
0
0
2
2
0
0
0
0
0
2
0
2
2
2
0
2
0
0
2
0
2
0
0
0
0
2
2
0
2
0
0
1
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
2
0
0
0
1
2
0
0
2
2
1
0
0
0
0
0
2
2
0
2
0
2
0
0
0
0
2
2
0
2
0
2
0
2
0
2
0
2
2
2
2
0
2
0
2
1
0
2
0
0
2
0
0
0
1
0
0
0
0
2
2
0
2
2
0
1
2
2
0
0
1
2
2
2
2
0
0
2
2
2
2
2
0
0
0
2
2
0
2
0
2
0
0
0
0
0
2
2
1
0
0
2
0
0
0
2
0
0
2
2
0
2
2
0
2
0
0
2
2
0
0
0
0
2
1
0
2
2
0
0
2
2
0
0
0
0
0
0
0
0
2
2
0
2
2
0
2
0
2
2
2
0
2
0
0
0
0
0
0
0
2
2
0
0
1
0
2
2
1
0
0
2
0
0
1
0
2
0
2
0
0
1
0
0
2
2
0
2
0
2
0
1
2
2
2
2
2
2
0
0
2
2
0
0
1
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
2
0
0
2
0
2
0
1
1
0
0
0
0
0
0
0
2
0
2
2
2
1
0
0
0
0
0
0
0
0
2
0
0
0
2
2
2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
2
0
0
0
2
1
0
0
2
0
2
0
2
2
0
1
0
1
0
2
0
2
0
0
0
2
2
2
0
0
0
0
2
0
0
2
1
0
0
2
0
0
0
2
0
1
2
1
0
2
2
0
2
0
0
0
0
0
0
0
0
0
2
0
2
2
0
0
0
0
0
2
2
2
2
0
2
0
0
0
2
2
2
0
0
0
2
0
0
0
2
0
0
0
0
2
0
0
2
0
0
2
0
0
0
2
2
0
0
0
2
0
0
2
0
0
0
0
2
2
2
2
2
0
0
0
2
2
0
2
2
2
0
0
0
0
0
0
0
2
2
2
2
1
2
1
2
0
0
2
0
0
0
0
1
0
0
0
2
0
2
0
0
0
2
2
0
0
0
0
0
0
0
0
0
2
0
1
2
2
2
1
0
2
0
0
0
0
2
2
2
0
2
2
0
2
1
0
0
0
2
0
0
2
2
0
0
2
0
2
2
1
0
0
0
0
0
2
0
0
2
0
2
0
0
0
2
0
0
0
0
0
0
2
1
2
0
2
2
0
2
0
0
2
0
0
2
0
0
2
0
0
2
0
1
2
0
0
0
2
0
2
0
0
2
0
2
2
2
2
0
0
0
2
0
2
0
0
0
0
2
0
0
0
0
0
0
2
0
2
2
2
0
0
0
2
0
0
0
0
1
2
2
2
0
0
0
2
0
2
2
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
2
0
2
0
0
0
2
2
2
2
2
0
2
0
1
2
2
2
2
2
0
2
2
0
2
0
0
2
2
0
0
2
2
2
0
2
0
0
2
0
1
0
2
2
0
2
0
2
1
2
0
0
2
2
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
2
2
0
0
2
0
1
0
0
2
2
2
1
0
0
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
2
2
2
0
2
2
2
1
0
2
0
0
0
2
2
0
2
1
0
2
0
2
2
2
2
2
0
0
0
0
0
2
0
2
0
2
0
0
0
0
2
2
2
0
2
2
0
0
0
1
0
2
2
2
2
0
2
0
0
0
0
2
0
2
2
2
0
0
2
2
0
0
2
1
0
0
0
0
1
0
2
2
2
0
2
0
2
2
0
2
0
0
0
2
1
2
0
0
0
2
2
1
0
2
0
0
2
2
0
2
0
0
2
2
0
0
2
2
2
0
0
0
2
0
2
0
1
2
2
0
2
0
2
2
2
0
0
1
0
2
0
2
2
2
2
0
0
0
0
0
1
2
2
2
0
1
0
2
2
2
0
2
0
2
2
0
0
2
2
2
2
2
0
1
2
2
0
0
0
0
0
2
0
0
1
0
0
1
0
2
0
2
2
2
0
0
2
2
2
0
0
1
0
2
2
0
2
2
0
0
2
2
2
0
2
0
2
0
1
0
2
0
0
0
2
2
2
0
2
0
2
0
1
0
0
0
0
0
2
2
0
1
0
2
0
0
2
1
2
2
2
2
0
2
2
2
2
2
0
0
1
2
0
0
2
2
2
0
0
0
0
0
1
2
0
0
2
2
2
1
0
0
2
2
0
2
0
2
2
1
0
2
0
0
0
0
2
0
0
2
2
2
0
2
0
2
0
2
2
0
0
2
2
0
0
0
0
2
0
0
2
0
2
0
0
0
0
2
0
0
2
0
0
2
0
0
2
2
0
0
0
2
0
2
1
2
1
0
2
2
0
2
0
2
1
0
2
1
0
2
1
0
0
2
1
2
0
0
0
0
2
2
0
0
0
0
2
0
2
0
2
2
2
2
2
0
2
0
0
0
2
2
0
2
2
2
0
0
0
0
0
2
2
0
0
0
2
0
0
2
2
2
2
0
2
2
0
0
0
2
0
0
0
2
0
0
2
2
0
0
2
2
2
0
0
2
0
2
2
1
2
0
0
1
0
0
2
0
0
0
0
0
0
2
0
2
2
0
0
0
0
2
0
0
0
0
0
2
0
2
0
0
0
2
0
2
0
0
0
0
2
0
0
0
0
0
0
2
0
2
0
0
0
2
2
1
0
0
2
2
0
2
2
0
0
2
0
0
2
1
0
0
0
0
0
0
0
0
2
0
2
0
0
1
0
0
0
2
2
0
0
2
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
2
0
2
1
0
2
0
0
0
0
2
0
0
0
0
2
2
0
0
2
0
0
0
0
1
1
0
0
0
0
0
2
0
2
0
1
0
0
0
2
2
2
0
0
0
0
0
0
2
0
2
2
2
0
0
0
0
0
0
2
2
2
0
0
2
2
2
0
0
2
0
0
0
2
0
2
0
2
2
0
2
2
0
0
0
0
0
2
2
2
1
0
2
2
0
0
0
0
2
0
0
0
0
2
0
2
0
2
0
0
2
0
1
2
2
0
0
0
0
2
2
0
0
0
0
2
2
0
2
0
2
1
0
0
2
2
0
2
0
2
2
2
0
1
2
0
2
2
2
0
2
0
2
0
2
0
2
0
0
0
2
2
2
1
0
2
2
0
1
2
2
0
1
0
0
2
2
2
0
0
0
2
2
2
0
0
0
1
2
1
0
2
0
2
0
1
0
2
2
0
2
0
0
0
2
0
2
2
2
2
0
0
0
2
2
0
2
0
0
2
0
0
2
0
0
0
0
2
1
0
2
1
1
0
0
2
2
0
0
1
0
0
1
0
0
0
0
0
2
0
0
2
0
2
0
2
2
0
2
0
2
0
2
0
2
0
0
2
0
1
2
0
2
0
0
2
2
2
0
0
0
2
0
0
0
1
0
2
2
2
0
2
0
2
0
0
0
0
0
0
0
1
0
2
2
0
0
0
0
2
0
0
2
0
0
1
0
0
1
1
2
0
0
0
0
1
1
0
0
0
0
0
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
2
0
1
2
0
2
2
2
0
0
2
0
1
2
0
2
0
0
0
0
0
0
2
2
2
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
2
0
2
0
0
2
0
1
2
0
0
2
2
0
0
2
0
2
0
0
2
0
0
2
0
2
0
0
2
0
0
0
0
2
2
2
0
0
2
0
0
2
2
0
0
0
2
0
2
2
0
2
2
2
0
0
0
2
0
1
0
2
0
1
2
0
0
2
0
0
0
0
0
2
2
1
0
0
2
0
0
0
0
2
2
2
0
2
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
2
0
0
2
0
0
2
2
2
0
0
0
0
0
0
0
0
2
2
0
2
2
0
2
2
0
2
2
0
0
2
2
2
2
0
0
2
0
2
0
2
0
0
0
2
2
2
0
0
0
2
2
2
0
0
0
0
1
0
2
0
0
0
0
2
2
2
2
2
2
0
1
0
0
2
0
2
2
0
0
2
2
0
0
1
1
2
2
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
2
0
2
0
1
2
1
0
2
2
0
0
0
2
0
2
1
0
2
2
0
0
0
0
2
0
2
0
0
0
0
0
0
2
0
2
0
0
0
1
0
0
0
1
0
0
1
0
0
2
2
0
0
2
1
2
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
2
0
0
0
0
2
0
2
2
0
2
2
2
2
0
1
0
0
0
1
2
2
1
1
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
2
0
0
2
2
0
0
0
0
0
2
0
2
2
0
1
2
0
0
2
2
0
0
0
2
0
0
2
2
2
2
2
2
0
2
0
0
0
1
2
0
0
2
0
0
0
0
0
0
2
0
2
0
0
2
2
2
2
0
0
2
0
0
1
2
0
2
0
2
2
2
0
0
2
0
2
0
0
0
0
2
0
0
0
0
0
0
2
2
0
0
2
0
0
2
0
0
0
0
0
2
0
0
0
2
0
0
0
2
0
2
0
0
2
2
0
0
2
0
2
1
2
2
0
2
2
0
2
0
0
2
0
0
0
1
0
2
2
0
1
0
0
2
0
0
2
2
0
0
1
0
0
0
2
0
0
2
2
0
0
0
1
0
0
0
0
0
0
2
0
0
2
1
0
2
2
2
0
0
1
2
0
0
1
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
2
0
2
0
2
0
0
2
2
1
0
2
0
0
2
0
0
2
0
0
0
1
2
2
0
0
2
0
0
2
2
2
0
0
0
0
0
0
2
2
0
0
0
1
0
1
2
0
0
2
2
2
0
0
0
0
0
2
0
0
0
2
2
0
0
0
0
1
2
0
0
0
0
2
2
0
2
2
0
2
0
0
0
0
1
2
1
0
0
0
0
0
0
0
1
0
0
2
2
2
0
2
0
2
0
0
0
2
2
0
0
0
2
2
2
0
0
2
2
1
0
0
2
0
1
2
0
2
0
2
0
2
0
0
0
2
0
2
0
1
2
1
0
2
2
0
0
2
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
2
0
2
0
0
0
0
2
0
2
0
0
0
0
2
0
0
0
0
2
0
2
0
2
0
0
2
0
2
0
0
2
0
2
0
0
0
0
0
0
2
2
0
0
0
0
2
2
2
2
2
2
2
2
0
2
2
2
0
0
2
0
0
0
2
2
2
0
2
0
2
0
0
0
0
0
0
2
2
0
0
0
2
2
0
0
1
2
2
0
2
0
0
0
2
0
2
0
2
0
2
0
0
0
2
2
0
2
0
0
0
2
0
0
2
2
2
0
2
2
0
2
2
2
0
0
2
0
0
0
2
0
0
2
0
0
0
0
2
0
0
0
2
0
0
0
1
0
0
2
0
2
2
0
0
2
0
0
0
0
0
2
0
2
2
2
0
2
2
0
2
2
2
0
2
0
0
0
2
2
2
0
2
0
2
0
2
0
0
0
0
0
0
2
1
0
2
0
0
0
0
0
0
0
0
2
0
0
2
0
0
2
1
0
1
0
2
0
2
2
2
0
2
2
1
0
2
0
0
2
0
2
0
0
2
2
0
0
0
2
2
0
2
0
0
2
0
2
1
0
2
0
2
0
2
0
0
2
0
0
2
0
0
0
2
0
0
1
0
2
2
0
0
0
0
0
2
0
0
2
0
0
2
2
2
2
2
2
0
0
0
0
0
0
2
0
2
0
0
2
0
0
2
2
1
0
1
2
0
0
0
0
0
2
2
2
2
1
0
0
0
1
0
0
2
2
0
0
0
0
2
0
2
2
0
0
0
1
0
0
2
2
2
2
2
2
0
1
0
0
0
0
0
0
1
0
0
2
0
0
0
0
2
2
0
0
2
0
0
0
2
2
2
0
2
0
2
0
0
0
2
0
0
1
0
0
2
0
0
1
0
0
2
1
0
0
0
2
0
1
2
0
0
2
0
0
0
0
0
2
2
2
2
2
2
1
0
0
0
2
0
0
0
0
0
2
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
2
0
1
2
0
2
2
0
2
0
0
2
0
2
0
1
0
0
2
0
0
0
0
0
2
0
1
0
0
0
0
2
0
1
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
2
0
2
2
2
2
0
0
2
0
0
0
0
2
0
1
0
0
2
2
0
0
0
0
2
0
0
0
0
1
2
0
0
0
2
1
0
2
2
0
0
0
2
2
2
0
2
2
0
1
0
0
0
1
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
2
0
0
0
2
0
0
2
0
1
0
2
0
0
0
2
2
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
2
2
0
2
2
0
1
2
0
0
2
0
0
2
0
0
2
0
0
0
0
0
0
2
0
0
2
2
2
2
0
2
0
0
2
0
1
0
0
2
2
0
0
0
2
0
2
2
1
2
2
0
0
2
0
0
2
0
1
2
2
2
2
0
0
0
1
2
0
2
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
2
2
0
2
0
1
2
0
0
0
2
2
2
2
2
0
2
2
2
2
0
0
0
0
2
0
0
1
0
0
0
1
2
2
2
0
0
1
1
2
0
0
2
2
2
0
2
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
2
2
2
0
0
2
2
0
2
0
2
2
2
2
0
0
0
2
0
0
0
0
0
2
2
0
0
2
0
0
1
0
2
0
0
0
0
0
2
0
0
0
2
2
0
0
1
2
0
2
0
0
1
0
0
2
2
0
0
1
0
0
2
0
2
0
0
2
2
2
0
2
2
2
0
0
0
0
0
0
0
0
1
2
2
0
2
2
0
0
0
0
0
0
0
2
2
0
0
0
2
0
2
0
1
0
0
2
0
0
2
2
0
0
0
0
2
0
2
0
0
2
0
0
0
0
0
0
0
1
0
0
2
2
2
0
2
0
0
1
0
0
2
1
2
2
0
0
0
2
0
0
2
0
1
0
0
2
0
2
0
2
2
0
0
0
0
2
0
0
2
0
2
2
0
2
2
0
0
0
1
2
0
2
0
0
0
0
0
1
0
2
2
0
2
0
2
0
2
2
0
0
2
0
1
0
2
1
2
2
1
0
0
2
0
2
2
2
0
0
0
2
0
0
0
2
0
1
2
2
2
0
0
0
0
0
0
0
2
2
2
0
0
0
0
2
0
0
0
0
1
2
0
0
0
0
0
2
2
2
1
0
0
2
0
0
2
0
1
0
0
0
1
0
2
0
0
0
0
0
0
0
2
0
0
2
0
0
2
1
0
2
0
0
2
0
2
2
2
0
0
0
0
0
0
0
0
0
1
0
0
1
2
0
0
2
2
0
0
1
0
0
0
2
0
0
0
0
0
1
2
0
0
2
0
0
0
1
1
2
0
2
0
0
0
2
2
0
2
0
0
0
0
2
0
2
0
0
2
0
0
2
0
0
0
2
1
2
0
2
1
0
0
2
0
0
2
2
0
0
2
2
2
0
1
0
0
2
0
1
0
0
0
0
2
0
0
0
0
0
0
0
2
2
0
2
0
0
0
1
0
2
0
0
0
2
2
0
2
0
0
2
2
0
2
0
2
2
0
0
1
2
0
0
1
2
2
2
0
0
0
0
2
0
2
0
2
0
0
2
0
2
0
0
0
0
2
0
0
0
0
0
2
0
0
1
0
0
2
2
0
0
2
2
2
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
2
0
2
1
0
2
0
0
0
0
0
2
0
2
0
1
2
2
0
0
0
0
0
2
0
0
0
0
2
0
0
2
0
2
0
2
0
0
0
2
0
2
0
0
0
0
2
2
0
2
0
2
0
1
0
0
2
0
2
1
0
1
0
0
2
2
0
0
2
2
0
0
0
2
2
0
0
0
0
0
0
0
2
2
0
0
2
0
1
0
0
0
2
0
0
0
0
2
0
0
0
0
0
2
1
2
0
0
0
0
2
0
0
2
0
0
2
2
0
2
0
0
1
0
2
0
2
0
0
0
2
0
0
2
2
0
0
0
2
0
2
0
1
2
0
2
2
0
0
0
0
2
0
0
0
0
0
0
1
0
0
2
0
2
0
2
0
0
2
0
0
0
2
0
2
2
2
0
0
2
0
0
0
0
2
2
0
0
0
2
0
0
2
0
1
0
0
2
0
0
2
1
2
0
2
0
0
0
0
2
0
2
0
2
1
0
0
0
1
2
0
0
2
0
0
0
0
0
2
0
0
0
2
2
2
2
0
0
1
0
2
2
2
0
2
1
2
2
2
0
0
1
2
0
0
0
2
2
0
0
2
2
0
2
2
2
2
0
0
2
2
2
2
0
0
0
0
2
2
2
2
0
0
0
2
0
0
2
2
0
0
1
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
2
0
0
1
0
2
0
1
1
0
2
0
0
2
2
0
2
0
1
2
0
2
0
0
2
2
0
2
2
2
2
0
0
0
0
0
2
2
2
0
2
2
0
1
2
0
0
2
2
0
0
2
0
0
2
2
0
0
0
0
0
2
0
2
0
0
1
2
2
0
0
1
0
2
0
0
2
0
2
0
0
0
0
2
0
2
0
2
0
2
0
0
0
0
2
0
0
0
2
2
0
2
0
2
1
0
0
0
0
0
2
2
0
2
2
0
0
2
0
2
2
1
2
0
0
0
0
2
0
2
0
2
2
0
0
2
0
2
1
2
2
0
2
2
0
0
2
2
0
0
0
2
0
0
0
1
2
0
0
2
2
2
0
2
2
2
2
0
2
0
0
0
2
2
0
2
1
2
0
0
2
0
2
2
0
0
2
2
2
2
2
2
0
2
2
0
0
0
2
2
0
2
0
0
2
0
0
0
0
0
0
2
0
0
2
0
0
2
0
2
0
1
2
0
0
0
2
2
0
1
0
2
0
2
0
0
0
0
2
2
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
2
0
0
0
2
0
0
0
0
1
2
0
2
0
0
0
0
1
2
2
0
2
0
2
0
0
0
0
2
2
0
0
0
2
0
0
2
0
2
2
0
2
2
0
0
0
2
0
1
1
2
0
2
0
0
2
2
0
2
0
0
1
2
2
0
2
0
0
0
0
0
2
2
2
2
0
2
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
2
0
0
0
2
0
0
2
2
0
0
0
0
0
0
2
1
0
2
0
0
2
2
2
2
0
0
0
0
0
2
0
0
0
2
0
0
2
0
0
2
2
0
2
1
2
2
2
2
0
2
2
1
2
0
2
0
1
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
2
0
2
0
2
1
0
0
0
0
0
0
2
0
2
2
2
2
0
2
2
1
2
0
0
0
2
0
2
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
2
2
2
0
0
0
0
2
0
2
0
0
0
0
2
0
1
2
0
0
0
0
0
2
2
0
0
0
2
0
0
2
0
0
2
0
2
2
0
2
2
2
2
0
2
0
0
0
2
0
0
2
0
2
0
0
0
0
0
0
0
2
0
0
2
1
2
0
2
0
0
0
0
2
2
0
2
2
0
2
0
0
0
2
0
2
2
0
0
1
0
2
0
2
2
0
2
0
0
2
0
0
2
1
2
0
0
1
0
0
2
0
0
0
2
1
0
2
0
2
2
2
2
0
0
0
2
0
0
0
2
0
0
2
0
2
0
0
0
0
2
1
0
0
0
0
0
2
2
2
0
0
2
2
0
0
2
0
2
2
0
1
2
2
2
2
2
0
1
0
1
2
0
1
0
0
0
1
2
0
1
0
0
0
2
0
2
0
0
0
2
0
0
0
2
0
2
0
0
0
0
0
2
2
2
2
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
2
0
0
2
2
2
2
0
0
0
0
0
0
0
2
0
0
0
0
2
2
0
1
2
0
0
0
0
0
0
1
0
0
2
2
0
2
0
0
0
2
2
0
0
2
2
2
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
2
0
0
2
0
2
0
0
0
2
0
0
2
2
0
0
0
1
1
1
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
2
2
2
0
1
0
2
0
2
0
0
1
0
2
2
0
1
2
2
1
0
0
2
0
2
0
0
2
0
2
1
2
1
0
0
2
2
0
0
1
0
0
2
2
0
2
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
2
2
0
2
0
0
0
2
2
0
0
0
2
2
0
0
0
2
0
1
2
0
2
2
2
0
0
0
2
2
2
1
1
2
0
2
0
0
2
0
2
0
2
2
0
2
2
0
2
2
0
2
1
0
2
0
0
0
0
2
2
0
0
0
0
0
0
1
0
2
0
2
2
0
0
0
2
2
0
2
0
2
0
0
0
2
0
0
2
0
2
0
0
0
0
0
2
0
1
0
0
0
0
2
2
0
2
0
2
0
0
0
0
2
2
0
2
2
0
0
2
0
0
2
2
1
2
0
0
0
2
2
2
0
0
2
0
2
2
0
0
2
1
0
2
0
2
0
2
0
1
0
0
0
0
2
2
0
2
0
0
0
2
0
2
2
0
0
0
2
0
0
0
2
2
2
2
1
0
0
0
0
0
0
2
0
2
2
1
2
2
0
0
2
0
2
0
0
2
0
0
0
0
1
2
0
0
2
0
0
2
2
1
0
0
2
2
2
2
2
2
0
0
0
2
0
2
2
0
2
1
0
2
2
2
0
0
2
0
0
2
0
2
0
2
0
0
0
0
0
0
0
0
2
1
0
2
0
2
0
0
0
2
0
0
1
0
0
2
0
0
0
2
2
0
0
0
0
2
0
1
2
2
2
2
0
1
2
0
2
0
2
0
2
0
0
0
2
0
0
2
0
1
0
2
0
0
2
0
0
0
2
0
0
1
0
0
0
2
0
2
0
0
0
2
0
0
0
2
0
0
0
0
1
2
0
0
0
0
2
0
2
0
0
0
0
0
0
2
0
0
2
0
0
0
2
0
0
0
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
1
2
0
0
0
0
0
2
2
0
2
0
2
0
0
0
1
1
1
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
2
0
0
0
0
0
2
2
0
0
2
0
0
2
0
2
0
0
2
0
0
0
2
0
2
1
0
2
0
2
0
2
0
0
2
0
0
0
1
2
0
0
2
0
0
0
0
1
0
2
2
2
0
0
0
0
2
0
0
2
2
0
0
0
0
2
0
2
0
2
0
2
0
2
2
0
0
0
0
2
0
0
0
2
0
2
2
1
0
0
2
2
2
2
2
2
2
1
0
0
0
0
2
2
0
1
2
2
2
2
0
0
0
0
2
0
2
0
2
0
2
0
1
0
0
2
0
0
0
2
0
0
1
0
2
0
0
0
2
2
0
2
0
2
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
2
0
0
2
2
2
2
2
2
2
0
0
2
0
0
0
0
0
0
2
0
2
0
2
0
0
0
0
1
0
2
2
2
0
2
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
1
2
2
0
2
0
2
2
2
0
0
0
2
1
2
0
2
0
2
2
0
0
0
0
0
0
2
2
0
0
0
0
2
2
2
0
0
2
0
2
0
0
1
0
0
2
0
2
2
2
0
2
2
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
1
2
0
2
0
0
0
0
0
2
0
2
2
0
0
0
0
0
2
1
2
0
2
0
2
2
0
0
0
2
0
0
2
0
0
0
2
0
0
2
0
0
2
0
2
0
0
2
0
0
2
0
0
2
2
0
2
0
2
2
0
1
2
1
0
2
2
0
0
2
0
0
0
2
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
1
0
1
2
2
2
2
2
0
0
0
2
1
0
1
0
0
2
0
0
2
1
0
0
2
1
0
2
0
1
1
0
0
1
2
0
2
0
0
1
0
0
0
2
2
0
2
2
2
0
2
0
2
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
2
0
0
2
0
0
1
2
2
1
2
0
0
0
0
2
0
2
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
2
1
2
0
1
0
0
2
2
0
0
2
0
0
0
0
0
2
2
0
2
0
0
0
2
2
0
0
0
0
1
2
2
0
0
0
0
2
0
0
2
0
2
1
2
0
0
2
0
2
0
2
0
0
2
0
0
0
0
0
2
2
0
2
2
0
1
2
2
2
0
2
1
0
1
0
2
2
2
0
0
2
2
0
0
0
0
2
2
0
0
0
0
0
0
0
0
2
2
2
0
2
2
0
0
1
0
0
0
0
0
0
0
0
2
2
2
0
0
2
1
2
0
2
1
1
2
2
0
1
2
2
2
0
0
1
2
0
0
0
1
2
2
0
0
0
1
1
0
0
2
0
1
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
2
2
0
0
2
2
2
2
0
2
0
2
0
0
0
2
0
0
2
1
0
0
2
2
2
0
0
0
0
0
0
1
2
0
0
2
2
2
2
2
2
0
2
2
1
0
0
0
2
1
0
2
2
0
0
0
2
0
0
0
2
0
0
0
0
0
2
0
2
1
0
2
0
0
0
0
0
2
2
2
2
2
0
2
0
2
2
0
2
0
1
0
2
2
2
0
0
0
0
2
0
0
0
1
0
0
2
2
0
2
2
0
2
0
0
2
0
0
2
0
0
2
2
2
2
2
0
2
0
2
0
0
0
0
0
2
0
2
0
1
0
0
0
0
0
0
2
2
2
0
2
2
0
2
0
1
0
2
0
2
2
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
1
0
0
0
0
2
0
0
0
1
2
0
0
0
0
0
2
0
2
2
2
0
0
2
0
0
0
0
0
2
0
0
0
2
0
2
0
0
0
0
0
2
2
0
0
2
0
2
0
0
0
2
2
0
0
0
2
0
0
0
2
0
0
2
2
2
0
2
0
2
0
2
0
0
0
0
2
0
2
2
2
0
0
1
2
2
0
2
0
0
0
0
2
0
0
0
2
0
2
0
0
0
0
2
2
0
0
2
0
0
2
0
0
2
2
2
2
2
1
0
0
0
2
0
0
0
2
0
1
0
2
2
2
0
2
0
2
0
0
2
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
2
0
0
0
2
2
0
0
2
0
0
0
0
0
2
2
2
2
0
0
0
0
2
2
2
1
2
2
2
0
1
0
0
2
0
1
0
0
2
0
2
1
2
0
0
0
0
2
0
2
1
2
0
0
0
2
2
0
2
0
0
0
0
2
2
0
0
0
0
0
0
0
2
2
2
0
2
2
0
2
1
0
2
0
2
2
0
0
0
0
2
2
2
0
2
2
2
0
1
1
0
0
0
0
2
0
0
0
2
2
2
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
0
2
0
1
2
0
2
2
2
0
0
0
0
2
2
0
0
2
0
2
2
1
0
0
0
2
1
2
2
0
0
1
2
2
0
0
0
1
0
1
2
0
2
0
0
0
2
0
2
0
0
2
0
0
0
1
2
1
1
2
0
0
1
2
0
0
0
0
0
2
0
0
2
0
1
2
0
0
2
2
0
0
0
2
0
0
0
2
2
0
0
0
0
0
0
0
0
0
2
0
2
0
2
0
2
0
2
0
0
0
2
2
0
0
0
2
1
2
2
2
2
0
0
2
2
2
2
0
0
0
0
2
0
2
2
0
0
2
0
0
2
2
0
0
0
2
0
2
0
0
2
2
0
0
2
0
2
1
2
2
0
0
2
1
0
0
0
2
0
0
0
0
1
2
2
1
2
2
2
0
2
2
0
0
2
2
0
0
0
0
2
1
0
2
0
2
2
2
0
0
0
2
0
0
0
0
2
2
2
2
2
2
0
0
0
0
2
0
0
0
1
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
2
0
2
0
0
0
0
2
0
0
2
0
0
0
0
2
2
2
0
0
0
2
0
0
0
0
2
2
0
0
1
2
2
0
2
0
0
0
2
2
2
0
2
0
1
0
0
0
0
2
0
1
0
0
2
2
0
0
0
2
0
2
2
2
2
0
0
2
1
2
0
0
0
2
0
2
2
0
0
0
2
2
0
0
0
0
0
0
0
0
2
0
2
0
2
2
0
0
2
0
2
2
0
0
2
0
2
0
0
2
2
2
0
0
0
2
2
2
2
0
2
0
1
0
2
2
2
2
0
2
0
0
2
0
0
0
0
0
2
1
0
2
2
2
1
0
0
1
0
2
0
2
0
0
0
0
2
0
0
0
2
1
0
2
0
0
0
0
0
0
1
0
2
0
0
2
0
0
2
0
2
0
0
0
0
0
2
0
0
2
0
0
2
0
2
0
0
0
0
2
0
2
0
0
0
2
2
2
0
2
0
1
0
2
2
0
0
0
2
2
2
0
2
2
0
2
0
2
1
0
0
0
0
0
0
0
0
1
0
2
0
0
0
2
2
0
2
2
0
0
0
0
0
2
2
0
0
0
2
2
2
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
2
0
2
2
2
0
2
0
0
2
2
0
0
2
0
2
2
0
1
0
2
2
2
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
2
0
0
0
0
0
0
0
2
2
2
2
0
1
0
0
0
0
2
2
0
0
0
0
0
0
2
0
0
0
2
2
2
2
0
0
0
0
2
2
2
0
2
1
0
2
2
0
2
0
0
0
2
0
1
0
2
0
0
0
2
0
0
2
0
0
2
0
0
0
2
2
0
2
0
0
0
2
2
0
0
2
2
0
0
0
0
2
1
2
2
0
2
2
0
0
0
2
1
2
0
2
0
0
0
0
2
0
2
2
0
0
0
0
1
2
2
2
2
0
0
2
0
2
0
0
0
0
2
2
0
1
0
0
2
2
0
2
0
0
1
2
2
0
0
1
2
0
2
0
0
0
0
2
0
0
0
2
0
0
2
1
2
0
2
0
2
2
0
2
0
2
0
0
2
0
2
0
0
0
0
0
0
0
0
2
0
2
2
0
2
2
2
2
0
0
0
0
0
2
0
0
0
0
0
0
2
2
2
2
2
2
2
0
2
0
2
2
2
2
2
0
2
0
0
0
0
2
0
2
0
0
2
2
0
0
0
0
0
2
1
0
2
2
1
0
0
0
2
0
2
0
0
2
0
0
2
0
1
2
2
0
0
0
0
2
0
0
2
0
0
0
2
0
0
2
0
2
0
0
0
2
0
2
0
0
2
0
0
2
1
2
0
1
0
0
0
0
2
0
0
1
2
2
0
0
2
0
0
0
0
2
0
2
0
2
0
0
0
0
0
0
2
0
2
0
0
0
0
0
2
0
0
0
1
0
2
0
2
2
0
0
2
2
2
2
2
0
0
0
2
0
0
0
2
2
0
0
2
0
2
0
2
0
0
0
0
2
2
0
0
2
0
2
2
2
0
2
0
0
0
0
0
2
0
0
1
0
0
2
0
2
2
0
0
2
0
0
2
0
0
2
0
0
0
0
0
2
0
0
2
0
1
0
0
0
2
0
2
0
2
0
0
1
0
0
2
0
0
0
0
1
1
0
2
0
0
0
0
0
0
0
2
2
0
0
0
2
0
0
2
1
2
0
2
2
0
0
2
0
0
0
2
0
0
0
0
0
0
2
0
0
1
0
2
2
0
2
0
0
1
2
0
2
0
0
0
0
1
0
2
2
0
0
0
0
0
0
2
0
0
0
2
0
2
1
2
0
0
0
0
0
2
0
2
1
0
0
0
2
0
2
0
0
2
0
2
0
2
0
2
1
2
2
0
0
0
2
0
2
2
2
0
0
0
1
2
2
2
2
0
2
0
1
0
0
0
2
0
0
0
2
2
2
2
1
0
0
0
0
0
1
2
0
2
1
2
1
0
2
2
0
0
0
0
0
0
2
0
2
0
0
1
2
0
2
0
2
2
0
2
0
0
2
2
0
0
0
0
2
2
0
0
2
2
2
0
0
0
0
0
2
0
0
0
2
2
0
1
2
2
0
0
2
2
0
2
0
0
2
0
0
0
0
0
1
0
2
2
2
0
0
0
0
0
2
2
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
2
0
0
0
0
2
0
0
0
2
0
2
2
2
2
2
0
2
2
2
1
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
2
0
0
0
2
1
1
0
0
2
0
1
2
0
0
0
0
0
2
2
2
0
0
2
0
0
2
0
0
0
0
2
0
0
2
2
0
0
2
0
0
0
2
2
2
0
0
0
0
2
0
2
0
2
2
0
0
0
0
0
1
2
0
0
1
0
1
1
2
0
2
2
0
2
0
0
0
0
0
2
0
0
2
2
0
2
0
0
0
2
2
0
0
2
2
0
2
2
0
1
2
0
2
0
2
2
0
2
2
2
1
0
1
0
0
0
0
0
2
0
2
0
0
0
1
2
0
2
1
0
0
2
0
0
2
0
2
2
0
2
0
2
0
0
0
2
0
0
2
0
0
1
0
0
2
0
1
0
0
1
0
2
0
0
2
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
2
2
2
2
2
2
0
0
0
2
0
2
0
2
0
0
0
0
0
0
0
2
0
0
2
1
0
0
0
2
0
0
0
2
2
2
2
0
2
0
0
0
2
1
2
2
2
0
1
0
0
0
2
2
2
0
0
2
0
0
2
0
2
2
0
0
0
0
0
0
0
0
2
0
2
2
0
2
2
0
2
0
0
0
0
0
0
0
2
0
0
2
0
0
0
2
0
0
2
0
0
2
0
2
0
0
2
0
0
0
0
2
0
0
0
2
0
0
2
2
0
0
2
0
2
0
2
0
0
0
2
0
0
2
0
0
2
1
2
0
2
2
0
0
2
2
2
0
0
1
0
0
1
2
0
2
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
1
2
0
0
0
0
2
0
2
2
0
0
2
0
2
2
0
2
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
2
0
2
0
0
2
0
0
0
2
0
2
0
2
2
0
0
2
0
2
0
0
0
0
0
2
0
0
0
2
0
2
0
2
0
1
0
2
0
1
0
0
2
2
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
0
2
1
1
2
2
2
0
2
0
2
2
2
2
2
2
0
0
2
2
0
1
0
0
2
0
0
2
0
2
2
0
2
0
0
1
0
2
1
0
2
0
0
2
0
1
0
1
0
0
0
0
0
2
0
0
2
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
2
0
2
2
0
1
1
0
0
0
0
0
0
0
1
2
0
2
0
1
0
2
2
2
0
0
0
2
2
0
2
2
0
0
0
2
0
1
0
0
0
0
2
2
0
2
1
2
1
1
2
0
0
2
2
2
2
0
2
0
0
0
2
0
0
0
0
1
0
2
0
1
0
2
2
1
0
0
0
0
1
0
0
2
0
2
2
1
0
0
0
2
0
0
2
2
0
2
2
0
0
2
0
0
2
0
0
2
0
2
2
2
0
0
2
0
2
0
2
0
0
0
0
2
1
0
2
2
2
0
2
0
2
0
2
0
0
2
0
0
2
0
1
2
0
2
0
2
0
0
0
0
0
0
0
2
2
2
2
0
2
0
2
2
0
0
0
2
2
0
2
0
0
0
2
2
2
2
0
0
0
0
0
0
0
2
2
0
2
0
0
2
0
0
0
2
0
0
0
0
1
1
2
0
0
2
0
2
0
2
0
0
2
0
2
0
2
2
0
0
0
0
2
0
0
0
2
2
2
2
2
2
0
0
0
2
0
0
2
2
2
2
0
2
0
0
0
2
2
0
2
0
0
2
2
0
2
2
0
2
2
0
2
0
0
2
0
2
2
2
0
0
2
2
2
2
2
0
2
0
0
0
0
0
2
0
2
0
2
0
0
0
0
2
2
2
2
0
2
0
0
2
2
2
2
0
2
0
0
0
0
0
0
2
2
0
2
0
2
2
2
2
0
2
0
2
0
0
2
2
0
1
0
1
0
0
0
2
0
0
0
2
0
2
0
0
0
2
0
0
0
0
2
2
0
0
2
0
2
2
0
0
0
2
0
2
2
2
0
2
2
1
0
0
0
2
2
0
0
0
0
2
0
2
0
0
0
0
2
0
2
0
0
2
2
0
0
0
0
0
0
2
0
2
2
0
0
2
2
0
2
2
0
2
2
2
0
0
0
0
1
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
2
0
1
1
2
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
2
2
2
0
0
2
1
2
1
0
0
0
0
0
2
1
0
0
2
0
2
0
2
0
2
0
0
0
0
2
0
0
0
0
0
0
2
2
0
0
0
0
2
0
0
2
2
2
0
2
0
2
0
0
2
2
2
0
2
0
0
0
2
0
2
0
2
1
0
0
2
2
2
0
0
2
0
2
0
0
0
0
0
0
0
0
0
2
0
0
2
2
0
1
0
0
0
0
2
2
2
2
2
0
0
0
0
2
2
0
2
0
2
0
2
0
2
0
1
2
0
2
2
0
1
0
0
0
2
2
0
2
2
0
1
0
0
0
0
0
0
0
0
2
2
0
0
1
0
2
0
0
0
2
2
1
2
0
2
0
2
0
0
2
0
0
2
0
0
2
0
2
0
2
0
2
2
0
1
2
0
0
1
2
2
2
0
0
0
2
0
0
0
0
1
0
0
0
0
2
0
2
0
0
1
2
0
2
2
0
0
0
2
0
0
2
0
2
0
1
0
0
2
0
0
2
0
0
0
2
0
2
0
2
2
0
0
0
0
2
2
0
0
0
0
2
2
2
0
0
2
0
0
0
2
2
2
0
2
0
0
2
0
0
0
0
0
0
2
2
0
1
0
2
0
0
2
0
1
0
2
0
0
0
0
2
0
1
2
2
0
2
0
0
0
2
0
0
0
0
2
0
2
0
2
0
2
2
2
0
0
0
0
0
2
0
2
1
0
0
2
0
0
0
0
0
0
1
2
1
0
2
2
2
1
2
0
0
0
2
0
0
2
2
2
2
0
0
2
0
0
2
0
0
2
0
0
2
0
2
0
2
0
0
0
0
2
0
2
2
2
2
2
0
2
0
0
0
0
0
2
0
0
0
1
0
0
2
0
0
1
2
0
0
2
0
2
2
0
2
0
2
1
0
2
0
0
0
0
2
0
2
0
0
2
0
0
2
0
0
0
2
2
0
0
2
2
0
1
2
0
0
0
0
0
1
2
0
2
2
2
1
0
1
0
0
2
2
2
2
2
0
0
1
0
2
0
0
0
0
0
0
0
2
2
0
2
2
0
2
2
2
0
2
2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
2
0
2
0
0
1
0
0
2
0
0
0
0
0
0
2
2
2
0
0
0
2
0
0
2
0
1
0
0
2
0
0
1
0
0
0
2
2
1
2
0
0
0
0
2
0
0
2
0
0
0
2
0
2
0
0
0
0
2
1
0
2
0
0
0
2
0
0
0
2
0
2
1
2
0
0
0
2
2
0
0
0
2
0
0
0
0
0
0
2
0
0
2
2
1
0
2
2
2
2
2
2
0
0
0
2
0
0
2
0
0
0
0
0
0
0
1
0
2
2
0
0
0
0
0
0
2
0
2
2
0
0
0
0
2
1
2
0
0
0
0
1
2
2
0
1
0
0
0
0
0
0
2
0
2
2
2
1
2
0
0
0
2
2
0
0
0
0
2
2
0
2
2
2
2
0
0
0
0
0
2
2
2
2
0
0
0
2
0
1
2
0
0
0
0
2
0
2
0
2
0
2
0
0
0
0
2
0
2
0
0
2
0
0
1
0
2
2
0
0
0
0
2
0
0
0
2
0
2
0
0
0
0
0
2
0
0
0
2
2
2
0
2
0
1
2
0
0
0
0
0
0
0
0
2
2
0
2
2
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
2
2
0
2
2
2
0
0
2
0
0
2
0
2
0
0
0
2
2
1
0
0
0
0
0
2
0
0
0
1
2
2
0
2
1
0
0
2
0
2
1
0
0
2
0
0
0
2
2
2
0
2
2
0
1
0
0
0
2
2
2
0
2
0
2
0
0
0
2
2
0
0
2
0
0
2
0
2
0
0
2
2
0
0
0
0
0
0
1
0
0
2
0
1
0
2
0
0
2
0
2
1
0
2
2
2
0
2
1
0
2
0
0
0
2
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
2
0
2
0
0
2
0
2
0
0
0
2
2
0
0
0
0
0
0
2
0
2
0
1
2
2
2
0
0
2
2
0
0
2
1
0
2
0
0
2
0
0
2
0
0
0
0
2
0
0
0
0
2
0
2
0
2
0
2
0
0
0
2
0
0
0
2
0
1
2
2
0
1
1
2
0
1
0
2
2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
2
0
0
2
0
0
0
2
0
2
1
0
0
1
0
0
2
0
2
2
0
2
2
0
0
0
0
0
2
0
0
2
1
0
2
2
2
0
0
0
2
0
2
0
0
0
0
0
2
2
0
2
1
0
0
2
0
0
0
2
0
2
2
2
0
2
0
0
2
0
0
0
0
2
0
2
0
2
0
2
2
2
0
0
0
2
0
2
0
2
0
0
0
2
0
0
2
0
2
0
1
2
0
2
2
1
2
2
0
0
0
2
0
0
0
2
0
0
0
1
0
2
1
0
0
0
0
2
0
0
0
2
2
0
0
0
0
2
0
2
2
0
2
0
2
0
0
0
0
0
0
0
2
0
2
0
2
1
0
2
0
0
0
2
2
0
2
0
0
2
0
0
2
0
0
0
0
2
2
2
0
2
0
0
0
0
2
0
0
0
2
0
1
0
0
0
0
0
2
0
0
2
0
0
0
0
1
0
2
1
0
2
0
0
0
0
1
0
0
0
0
0
0
0
1
0
2
0
0
2
0
2
0
2
0
0
0
0
2
0
0
2
2
0
0
0
0
1
0
0
2
0
2
0
0
0
2
1
0
1
2
2
2
2
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
1
0
2
1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
2
0
0
2
0
2
0
0
2
2
0
0
2
0
2
1
0
2
1
0
0
0
0
2
0
1
0
2
0
2
0
2
2
2
2
0
2
0
0
0
0
0
0
0
0
1
1
0
2
2
2
0
0
2
2
2
0
0
0
2
2
0
0
0
0
0
0
2
0
0
0
2
0
2
0
0
1
0
2
2
0
2
0
0
0
0
0
0
0
1
2
0
0
0
2
0
0
0
0
0
2
0
1
0
0
1
2
2
0
0
0
2
0
2
2
1
0
0
2
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
2
0
2
2
0
2
1
0
2
0
2
0
0
0
0
2
0
0
0
2
0
2
2
0
0
2
0
0
0
0
2
2
0
0
0
0
2
2
2
2
0
0
2
2
0
0
0
0
0
0
0
0
2
0
0
2
2
0
0
0
2
0
1
0
2
0
2
0
2
2
0
0
2
2
2
2
2
0
1
0
2
1
0
0
2
0
0
1
0
0
0
0
0
0
2
2
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
2
0
1
2
0
0
0
2
0
0
0
0
2
0
2
0
0
0
0
2
0
0
2
0
0
1
2
2
0
0
2
1
0
0
1
0
0
0
1
2
0
2
2
0
0
0
0
0
2
2
0
2
0
0
2
1
0
2
0
0
0
0
1
0
0
2
0
0
2
0
2
2
1
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
2
2
0
0
2
2
2
0
0
0
1
0
0
2
2
1
2
2
2
0
0
0
2
2
0
0
0
2
0
2
2
2
2
0
0
0
0
2
1
1
2
0
2
0
0
0
0
0
0
0
2
0
0
2
2
2
0
2
0
1
0
0
2
0
1
0
0
0
0
2
2
0
0
0
0
2
2
2
2
2
2
2
0
2
0
2
2
1
2
0
2
0
0
0
0
0
0
2
0
0
0
0
0
2
0
2
0
0
2
0
2
0
0
0
2
0
0
2
0
2
0
0
2
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
0
2
2
2
2
0
0
2
0
2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
2
2
2
0
2
2
0
2
2
2
2
0
0
0
0
0
0
0
2
0
0
2
0
0
2
0
2
0
1
0
2
2
0
0
2
0
0
2
0
0
0
2
0
0
0
0
1
0
0
2
0
2
2
1
0
2
2
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
2
0
0
2
2
0
0
0
0
2
0
0
0
0
0
2
0
2
0
2
0
0
2
2
2
0
0
0
0
0
2
0
2
2
2
2
0
2
2
0
2
0
0
0
0
2
0
2
0
0
2
2
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
2
2
2
0
0
0
0
0
2
2
2
0
2
0
0
2
0
2
0
2
2
2
2
1
0
0
2
2
1
0
0
2
2
2
0
0
0
1
2
2
2
0
0
2
0
2
2
2
2
0
0
0
2
1
2
2
0
1
0
2
0
0
0
0
0
0
0
2
1
2
1
0
1
2
0
0
1
0
0
0
0
0
0
2
0
0
0
0
2
0
2
0
2
0
2
0
2
0
0
0
0
0
0
0
2
0
2
2
0
2
2
0
2
2
0
0
0
2
1
2
2
2
0
2
0
1
0
2
0
0
0
0
2
0
0
2
0
2
0
2
2
0
2
2
0
2
2
0
1
0
2
2
0
0
0
0
2
0
0
0
0
2
2
1
2
2
0
2
0
2
0
2
0
2
2
0
0
1
2
2
0
2
2
1
2
0
2
2
0
0
2
0
0
2
2
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
2
0
0
0
0
0
2
0
0
2
1
2
2
2
0
0
0
0
0
0
2
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
2
2
2
0
0
0
0
2
0
0
2
2
2
0
0
2
0
2
1
0
1
0
0
0
0
2
2
0
0
0
2
0
1
2
2
2
0
2
0
2
2
0
0
2
0
0
0
0
2
1
2
0
2
0
0
2
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
2
0
0
0
0
2
2
2
2
2
2
0
0
0
2
2
0
2
2
2
0
0
0
2
2
2
2
2
2
2
2
2
0
0
2
0
0
0
2
2
0
2
0
1
1
0
0
0
0
0
1
0
2
0
0
2
0
0
1
0
0
0
0
1
2
0
0
0
0
2
0
2
0
0
0
2
2
0
1
0
0
2
2
2
0
2
2
2
2
0
0
1
0
0
2
0
2
1
2
2
0
0
0
0
2
1
0
2
0
0
0
2
0
0
0
2
2
2
2
0
0
0
0
2
0
2
2
0
1
2
0
2
0
2
0
0
0
0
2
0
2
0
0
2
2
0
2
2
0
2
2
0
0
2
1
2
0
0
0
0
2
2
0
2
0
0
0
2
0
2
0
0
2
0
2
0
0
0
2
0
2
2
2
2
0
2
0
2
0
0
2
1
0
0
2
0
2
1
2
2
2
0
0
0
2
2
0
0
0
0
0
0
1
0
0
2
0
0
0
2
0
0
0
2
0
0
0
0
2
2
0
2
0
0
0
2
2
0
0
0
2
0
2
0
2
0
1
2
0
2
0
1
2
2
0
0
0
2
2
0
0
0
0
2
0
2
0
0
0
0
2
2
0
0
0
2
0
0
0
2
0
2
0
2
1
1
0
0
2
1
0
2
2
0
2
2
2
2
0
0
1
0
2
2
0
2
0
0
0
0
0
0
0
2
0
2
2
2
2
0
2
2
0
1
2
0
0
2
0
0
1
2
0
2
0
0
2
0
2
0
0
0
0
0
0
2
0
0
0
0
2
2
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
1
0
1
0
0
0
2
2
0
0
0
2
2
2
0
0
2
0
0
2
2
2
2
0
0
2
1
2
0
0
2
0
2
2
0
0
0
2
0
2
0
2
0
0
0
2
0
0
0
2
0
0
0
0
0
2
0
2
2
2
0
2
2
0
2
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
2
0
2
0
2
2
0
0
1
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
2
0
2
0
1
0
0
2
2
2
2
0
2
0
0
2
0
0
0
0
2
0
0
2
0
2
0
0
0
0
0
2
0
2
2
2
0
2
2
0
2
0
2
0
1
0
1
1
2
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
2
0
0
2
2
2
2
1
0
0
2
0
2
0
0
2
2
0
0
2
2
0
0
2
1
0
2
1
0
2
0
0
2
2
0
0
1
0
1
2
2
2
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
2
0
1
0
1
0
0
1
0
0
0
0
2
2
0
2
0
2
2
2
0
0
2
0
0
0
2
0
2
2
0
0
0
2
2
0
0
0
0
0
2
0
0
0
2
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
2
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
2
2
0
2
0
0
2
2
2
2
2
1
0
0
2
0
0
2
2
0
0
2
2
2
0
2
0
1
0
0
0
0
0
0
0
2
2
0
0
0
1
1
0
0
1
0
0
2
0
0
0
0
0
0
2
0
1
2
2
0
0
0
2
2
2
2
2
0
2
0
0
0
2
2
0
1
0
0
0
0
1
2
1
0
2
2
0
2
0
0
0
2
0
0
0
0
2
2
1
0
2
0
2
0
2
2
2
0
0
0
0
0
2
0
0
0
2
2
0
0
2
0
0
0
0
0
0
0
2
0
0
2
2
0
2
2
2
1
0
0
2
0
2
0
0
0
0
0
2
2
0
0
2
2
2
0
0
0
0
0
0
0
0
0
0
2
2
0
0
2
0
0
2
1
0
0
0
0
2
2
0
0
2
0
2
2
0
0
0
2
2
1
2
0
0
0
0
0
0
0
0
0
1
2
0
2
2
2
2
2
0
0
0
0
0
2
0
0
2
2
2
2
1
0
0
2
2
2
0
0
0
0
0
2
1
0
0
0
2
0
0
0
0
2
2
0
0
2
2
0
2
0
0
0
2
2
1
0
2
0
2
0
0
0
2
0
0
1
0
2
0
0
0
2
0
2
2
0
2
0
0
0
2
0
0
2
2
0
2
2
0
2
0
0
0
2
2
0
2
0
1
0
0
0
0
0
1
2
2
0
2
0
0
1
2
0
0
0
0
0
2
0
0
0
2
2
0
2
0
0
2
2
0
2
1
2
0
2
1
1
0
2
2
1
0
0
0
0
0
0
0
2
1
2
0
0
0
0
0
2
0
0
2
0
0
0
0
2
2
0
0
0
1
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
2
0
0
0
2
2
2
0
2
0
0
1
0
2
0
0
2
0
0
0
0
2
1
0
2
2
1
2
2
0
1
2
0
0
1
0
0
2
0
0
2
0
1
1
2
0
0
2
2
0
2
0
0
0
2
0
0
0
2
2
0
0
2
0
0
0
2
0
2
0
0
0
0
2
2
0
0
2
1
0
2
0
0
1
0
0
0
0
0
0
1
0
0
2
2
0
0
2
2
0
2
0
0
0
0
0
0
0
0
2
0
0
1
2
0
0
0
1
0
2
2
1
1
1
2
0
0
0
0
2
0
0
2
0
2
1
0
0
0
0
2
0
2
0
0
0
2
0
0
0
0
2
0
0
2
0
0
0
2
0
1
2
2
0
2
2
2
0
2
2
0
1
2
0
0
0
0
0
2
0
0
0
0
2
0
1
2
0
0
0
2
2
0
0
0
0
2
2
2
2
0
0
0
0
2
1
2
0
2
2
0
0
0
2
2
1
0
0
1
2
0
0
0
0
0
0
2
2
2
0
2
1
0
0
0
2
0
1
0
2
0
2
0
2
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
1
0
0
2
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
0
2
0
1
0
0
0
2
0
2
0
0
0
2
2
1
0
2
0
0
2
1
2
0
0
2
0
2
0
2
2
0
0
0
2
0
2
0
2
0
2
0
0
2
1
0
2
0
2
0
0
0
2
1
0
2
0
1
2
2
0
2
0
0
0
0
2
2
0
2
0
0
0
2
0
0
0
0
1
2
0
0
2
0
0
2
2
0
2
0
2
0
0
0
2
0
0
1
0
0
0
0
0
0
2
2
2
0
0
0
0
0
0
2
0
2
0
2
0
0
2
2
0
0
2
0
2
2
0
2
0
0
2
2
0
0
0
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
2
0
2
0
0
2
0
2
2
1
1
2
0
2
0
0
0
2
0
0
2
2
0
2
0
0
2
0
0
2
0
0
0
2
0
2
2
0
2
0
2
0
0
0
0
0
2
0
0
0
2
2
0
0
0
0
2
2
0
2
0
0
2
0
1
0
2
2
2
0
2
2
2
0
0
2
2
2
0
0
0
0
2
0
1
0
0
0
0
0
0
2
0
0
1
2
0
2
2
2
0
0
0
2
0
2
1
0
0
1
2
0
2
1
0
2
0
2
2
0
2
0
2
0
0
1
0
1
2
0
1
2
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
2
2
2
0
0
2
0
0
2
0
0
0
2
1
0
0
2
0
0
0
1
0
0
2
2
0
2
0
2
2
0
0
1
0
0
0
0
2
2
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
2
0
2
0
1
0
0
2
0
0
0
2
2
0
0
1
1
1
2
0
1
0
2
2
2
0
0
0
0
2
0
2
2
0
2
0
2
2
0
0
2
0
1
0
2
2
2
2
2
0
0
1
2
1
1
2
0
2
0
0
2
2
0
0
0
1
0
1
1
0
0
0
0
0
0
0
2
0
0
1
2
0
2
2
0
2
0
0
0
0
1
2
0
0
0
2
0
2
0
0
2
2
2
0
2
2
0
1
2
0
0
0
2
0
2
2
2
0
0
0
0
2
0
1
0
0
0
2
0
2
0
0
0
0
2
0
0
0
2
0
1
2
0
2
0
1
0
0
0
0
0
2
0
0
0
2
2
0
0
0
0
2
2
0
2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
2
0
2
2
2
2
2
2
0
0
0
0
2
2
0
2
2
0
2
0
0
2
2
2
0
0
2
2
2
0
2
2
2
1
2
2
0
2
2
2
2
2
0
0
2
2
0
0
1
2
0
2
0
0
0
0
0
2
0
2
0
0
0
2
0
0
2
1
0
2
0
2
0
2
0
0
0
0
0
1
0
0
2
0
0
0
2
1
0
0
2
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
0
0
2
2
0
0
2
0
0
0
2
0
0
0
2
0
2
0
0
2
0
0
0
0
2
0
0
0
0
0
2
0
2
2
0
0
2
2
0
0
0
2
0
2
0
0
0
2
2
2
0
0
0
0
0
0
2
2
0
0
0
2
0
0
2
2
0
0
1
0
0
1
2
2
0
0
0
0
0
2
2
2
2
2
0
2
1
2
0
2
0
0
2
1
2
0
0
0
2
0
0
0
2
0
0
2
0
0
0
1
0
0
2
0
0
0
0
0
2
0
0
2
2
0
0
0
1
0
0
0
0
2
2
2
0
0
2
0
0
0
2
1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
2
0
0
0
0
0
0
2
2
0
0
2
1
2
0
0
2
0
0
2
0
0
0
0
0
0
2
0
0
0
0
2
0
0
2
2
2
0
2
0
1
2
2
2
0
2
0
0
2
0
2
2
0
2
2
0
2
2
2
2
2
0
2
2
2
0
0
0
0
2
0
2
2
0
0
0
2
0
0
2
1
0
0
2
2
0
0
0
0
0
0
2
0
2
0
0
2
0
0
0
0
1
2
0
0
2
0
0
2
0
0
0
0
2
0
2
0
0
0
2
0
0
0
2
0
0
0
0
2
2
2
0
2
0
1
0
2
0
2
0
0
1
2
0
0
2
0
0
2
2
0
0
2
0
0
2
0
2
0
2
2
2
0
2
2
2
0
0
0
0
0
2
2
0
2
0
0
2
2
2
2
2
0
0
0
2
0
1
2
2
2
0
0
2
2
0
0
2
0
2
0
2
2
0
2
0
2
0
2
2
0
0
0
2
0
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
2
2
0
1
1
0
1
0
2
2
2
2
2
1
0
0
0
0
2
2
0
0
0
0
0
0
2
0
0
2
2
0
2
0
2
1
0
0
2
2
2
0
0
0
0
0
2
2
0
2
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
1
0
2
0
2
2
0
0
0
2
0
1
0
0
2
0
0
0
0
0
2
2
2
0
1
2
2
2
2
0
0
1
2
0
2
0
2
0
2
0
0
0
2
2
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
2
1
2
2
0
2
1
1
0
2
0
2
0
2
2
0
2
0
0
0
0
0
2
0
0
0
2
2
0
2
0
0
2
0
2
0
0
2
0
1
1
1
0
0
2
2
1
0
0
2
1
1
0
2
0
2
0
0
0
0
0
0
2
0
2
0
2
0
0
0
0
2
0
0
1
0
2
2
0
0
0
2
0
2
2
2
2
2
2
0
0
0
2
2
0
0
2
2
0
2
2
0
2
0
0
2
2
2
2
0
0
2
0
0
2
0
0
2
0
0
0
0
2
2
0
2
1
2
0
0
0
0
2
2
2
2
0
2
0
2
2
0
2
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
1
2
2
0
1
0
2
0
2
0
0
0
2
2
0
0
0
2
1
0
0
2
2
2
2
2
0
2
2
0
2
0
0
0
0
2
0
0
0
0
0
2
2
0
0
0
2
2
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
2
2
0
0
2
2
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
0
0
2
0
2
2
0
0
2
0
0
0
0
0
0
0
0
0
2
2
0
0
2
2
0
0
2
0
2
2
2
0
2
2
0
0
2
0
0
0
2
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
2
2
0
2
2
0
0
0
2
0
0
2
0
0
0
0
0
0
2
1
0
2
1
0
2
0
0
0
2
0
1
1
2
0
2
0
2
1
2
0
2
0
0
0
2
2
2
0
2
1
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
2
2
0
2
2
1
2
1
0
0
0
0
0
0
2
2
0
2
0
2
2
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
1
0
0
2
0
0
0
0
1
0
0
2
0
0
2
0
2
2
2
2
0
0
2
2
2
0
1
2
2
0
0
0
2
0
2
2
0
0
0
2
0
2
0
2
0
0
2
0
0
0
0
2
0
1
0
2
0
0
2
0
0
2
0
2
1
2
0
0
0
0
0
0
1
0
2
0
0
0
1
2
0
0
1
0
2
0
2
2
0
2
2
0
0
0
0
0
2
0
2
0
2
2
0
0
0
2
2
2
2
0
2
2
2
0
2
0
2
0
0
2
0
2
2
2
0
0
2
0
0
0
0
0
0
0
0
0
2
0
2
0
1
0
0
2
0
0
2
0
0
0
2
0
2
2
0
0
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
2
2
0
0
2
0
0
2
2
0
0
2
0
0
0
1
1
0
2
0
0
2
0
0
2
0
0
0
0
2
0
1
0
0
1
2
0
0
1
0
0
2
0
0
0
0
2
0
0
2
0
0
1
0
0
0
2
0
2
0
0
2
0
0
2
0
2
0
2
0
2
0
2
0
0
2
0
0
0
2
2
0
0
0
2
0
2
0
2
2
0
0
2
0
0
2
2
0
0
0
2
2
0
0
2
0
1
0
1
2
1
1
0
0
2
2
0
2
0
2
2
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
2
2
0
0
0
2
2
0
2
2
2
2
0
0
0
2
1
1
0
2
0
2
0
0
2
2
0
0
2
0
1
2
2
0
0
0
0
0
0
0
0
2
0
0
2
0
2
2
2
0
0
2
0
0
2
0
2
0
2
0
0
2
0
0
0
2
0
0
0
2
2
0
0
0
0
0
2
0
0
0
0
0
2
0
2
2
0
2
2
0
0
2
0
2
0
2
0
2
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
2
0
2
0
0
2
1
0
0
2
2
1
0
0
2
2
2
2
0
2
0
0
0
0
0
2
1
0
2
0
2
0
2
0
2
2
0
0
2
2
2
0
0
1
0
0
0
2
0
2
0
2
0
0
0
0
0
0
0
0
2
2
0
1
1
2
2
0
0
0
2
2
0
2
2
0
0
0
0
0
2
0
0
2
2
0
0
0
2
0
0
0
0
2
2
0
0
0
2
0
0
2
2
2
2
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
2
2
2
0
2
0
0
0
0
0
2
1
2
0
2
0
0
0
0
2
0
0
0
0
0
2
1
0
0
2
2
2
2
0
2
2
2
2
0
2
0
0
0
0
2
2
2
2
0
2
0
2
2
0
0
2
0
0
1
0
0
2
2
0
0
0
0
2
0
0
2
0
0
2
2
2
0
0
2
0
0
0
2
0
2
1
0
0
0
2
2
2
0
0
2
1
0
0
2
1
0
0
0
0
0
2
0
0
0
0
0
2
2
0
0
0
0
0
2
0
0
0
0
0
0
2
2
2
2
2
0
0
0
0
0
0
0
2
2
0
2
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
2
1
2
0
2
0
2
2
2
0
2
2
1
0
0
2
0
0
2
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
2
0
1
2
0
0
0
0
0
2
0
0
0
0
0
1
0
2
0
2
2
1
0
0
2
2
0
2
0
2
0
2
0
1
1
0
0
0
0
0
0
0
0
2
0
2
2
2
2
1
2
0
0
0
2
1
0
0
0
0
2
0
0
0
0
0
2
2
0
2
0
0
2
2
0
2
2
0
2
0
2
2
0
0
0
0
0
2
0
2
0
0
0
0
0
2
2
2
0
0
0
0
0
0
0
0
0
0
2
1
0
2
0
0
2
0
0
0
2
1
2
2
0
0
0
2
2
0
0
2
0
0
0
0
0
2
2
0
2
2
0
0
0
0
0
0
2
2
0
2
0
0
0
0
1
2
0
0
0
0
2
2
2
0
0
0
0
0
0
0
0
0
2
0
2
2
0
2
2
2
0
0
0
2
0
2
0
0
0
0
1
1
2
2
0
2
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
2
1
2
0
0
2
2
0
0
2
0
0
2
0
2
0
0
2
0
2
0
2
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
2
2
0
0
0
2
1
2
0
2
2
2
0
2
0
0
0
2
2
0
0
0
0
0
0
1
0
2
2
2
0
0
0
2
2
2
0
0
0
0
0
2
2
0
2
2
0
1
0
0
0
2
2
2
2
0
0
0
2
2
2
0
0
2
2
2
2
0
0
0
2
2
0
0
2
0
0
0
0
2
0
2
0
0
2
0
2
0
2
0
0
1
2
2
0
0
2
2
0
2
0
2
0
2
2
2
1
2
0
0
0
0
2
2
0
2
2
2
0
2
0
2
1
0
2
2
0
2
2
1
0
0
0
2
0
2
0
0
0
0
0
0
2
1
2
0
2
2
2
2
1
0
2
2
0
0
0
0
0
0
0
1
0
0
0
0
2
2
0
0
2
0
0
0
0
2
0
2
2
2
0
0
2
0
2
0
0
2
2
0
0
0
2
0
0
0
0
0
2
0
0
0
2
2
2
2
2
2
2
0
2
2
0
0
2
2
0
2
0
0
2
0
2
0
0
0
0
0
2
0
0
0
1
2
0
0
2
2
0
0
0
2
1
2
0
2
2
2
2
0
0
1
2
2
2
0
2
2
1
0
0
0
2
2
0
2
2
0
0
2
0
0
0
2
0
0
2
0
0
0
0
0
0
2
0
2
2
0
2
0
0
0
2
0
0
2
2
2
0
0
0
2
0
0
0
0
0
0
0
1
0
1
0
0
2
2
0
0
0
0
2
2
2
0
2
0
0
0
0
1
0
0
0
0
0
0
0
2
0
2
2
0
0
0
0
2
2
0
0
0
0
2
2
2
0
0
2
0
0
2
2
2
2
2
2
0
2
0
2
0
2
2
2
0
0
2
0
0
2
0
2
0
0
2
0
0
2
0
2
0
0
0
0
0
0
0
2
1
0
0
0
0
2
2
1
2
1
2
2
0
2
2
0
0
0
2
1
0
2
0
1
0
0
0
2
2
0
1
2
2
2
2
2
2
0
0
0
2
2
0
1
2
0
0
2
2
0
2
0
2
0
0
2
0
1
0
0
0
1
0
0
2
2
0
0
0
0
2
1
0
0
2
2
0
0
2
0
1
2
0
2
2
0
2
2
0
0
0
0
0
2
0
0
2
2
2
2
0
0
0
0
1
0
0
0
0
2
0
0
2
2
2
0
0
1
1
0
2
0
0
2
0
0
0
0
0
0
2
0
2
2
0
0
1
2
2
0
0
0
0
0
2
2
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
2
0
0
2
0
0
2
0
2
0
2
2
0
0
0
0
0
0
0
0
1
0
2
2
2
0
0
0
2
2
0
0
2
0
2
0
0
0
2
1
2
0
2
2
0
1
0
0
2
0
0
2
1
0
2
2
0
2
2
0
0
0
0
2
2
0
0
2
2
2
2
0
2
2
0
2
2
0
2
0
1
2
0
2
0
0
2
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
2
0
2
0
1
0
0
0
2
2
2
0
2
0
2
2
0
0
0
2
0
2
2
2
0
0
0
2
0
0
1
2
0
0
0
0
0
0
2
0
2
0
0
2
0
0
1
0
0
1
0
2
0
0
0
0
2
1
2
0
2
0
0
0
2
2
0
0
0
0
0
0
2
2
0
0
0
0
0
2
2
0
0
0
0
0
2
0
2
0
0
1
0
2
2
0
2
0
0
0
0
2
2
0
2
2
2
2
0
0
0
2
0
2
0
0
0
1
2
2
0
0
2
2
2
0
0
0
2
0
2
0
0
2
2
2
2
0
0
2
0
2
2
0
2
0
2
1
0
2
0
0
2
0
2
0
0
0
0
0
0
0
0
1
2
0
2
2
2
0
2
0
2
0
0
0
1
2
0
2
2
0
0
2
2
0
2
0
2
2
0
0
2
2
0
2
2
2
0
0
0
0
0
2
2
2
0
0
0
0
2
0
2
0
2
0
2
0
0
2
1
2
1
2
1
0
2
2
1
0
0
2
2
0
0
2
0
0
0
2
1
0
0
0
0
0
2
2
1
0
0
0
0
0
2
0
2
0
0
0
2
2
0
2
0
2
1
0
0
0
0
0
0
0
0
0
0
1
2
0
2
2
0
2
0
2
2
0
0
2
2
2
0
0
2
1
0
1
0
0
0
0
2
2
2
2
0
2
0
0
0
0
0
0
2
0
2
2
2
0
2
0
2
0
0
2
0
2
0
2
2
0
0
0
1
0
0
2
0
2
0
0
2
1
0
2
1
0
2
2
0
0
0
2
0
0
2
2
0
0
0
0
2
2
0
0
0
2
2
2
1
0
0
2
2
0
2
0
0
2
0
0
0
0
2
0
2
0
2
0
2
0
1
1
0
0
2
2
2
0
0
0
0
0
2
0
0
0
2
2
2
0
2
1
0
0
0
0
2
1
2
2
0
0
2
2
0
2
1
0
0
2
0
0
0
1
0
2
0
0
0
2
0
0
0
0
0
1
0
2
2
1
2
0
2
0
2
0
0
0
0
0
0
2
2
0
0
2
2
0
0
0
0
1
0
0
0
0
2
2
0
0
0
0
2
0
0
2
0
0
2
2
2
2
0
0
0
0
0
0
2
2
0
0
2
0
0
2
0
2
0
2
0
0
0
1
1
2
0
2
0
0
1
2
0
2
2
0
0
2
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
2
0
2
0
2
0
0
0
2
0
1
0
2
0
2
0
0
2
1
0
0
2
0
0
2
2
2
0
0
2
2
0
0
2
0
2
0
2
2
0
0
2
2
0
2
2
0
0
2
0
0
2
2
0
2
2
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
2
0
2
0
2
2
0
0
2
0
1
0
1
0
2
0
2
0
0
0
2
1
2
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
2
0
2
0
2
2
0
0
2
2
0
0
2
2
0
1
0
1
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
0
2
0
2
0
2
0
0
0
0
1
0
0
0
2
2
2
0
2
2
0
0
0
0
2
0
2
2
0
0
0
0
0
0
2
2
1
0
0
0
0
0
1
0
2
0
2
2
0
0
0
2
2
0
2
2
0
2
2
2
2
2
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
2
0
2
1
0
0
2
0
1
0
2
2
2
0
2
0
0
0
0
0
0
2
0
0
1
0
2
0
0
0
0
2
0
0
0
2
0
2
1
2
0
0
1
2
0
0
2
2
0
0
0
0
0
2
0
2
2
0
0
0
0
2
1
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
2
0
2
0
0
0
0
2
0
0
0
0
2
1
2
0
0
2
0
2
0
0
2
2
0
0
2
1
0
0
2
0
2
2
0
0
2
0
2
1
2
2
0
0
2
0
0
2
0
0
2
0
0
2
0
2
0
0
0
1
2
0
0
2
2
2
0
2
2
2
0
0
0
0
2
2
2
0
0
1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
2
0
0
2
2
0
1
0
0
2
0
0
2
0
2
2
2
0
0
0
0
0
0
0
2
0
2
2
0
0
2
0
1
0
0
0
0
2
2
2
0
0
0
2
2
2
2
0
0
0
1
0
0
2
0
2
2
2
0
1
0
0
0
2
0
0
0
0
0
1
2
0
0
0
0
0
1
2
0
0
0
0
1
0
0
2
0
2
0
0
0
0
0
2
2
0
2
0
2
0
0
0
0
2
0
0
0
0
0
0
0
2
0
2
2
2
0
0
2
2
1
0
1
0
2
2
1
0
0
2
2
0
0
0
2
0
0
0
0
0
2
0
2
0
0
1
0
0
0
1
0
0
0
0
2
0
0
0
1
0
2
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
2
2
2
2
2
0
0
0
0
1
2
0
0
1
1
0
1
0
0
0
0
0
0
2
0
2
0
2
2
0
0
0
2
0
0
1
2
0
1
0
0
0
0
2
0
0
0
0
0
0
0
2
2
0
2
0
0
0
0
2
0
2
1
0
0
2
0
2
0
0
0
0
2
1
0
0
2
0
0
2
1
2
0
0
2
0
0
0
0
0
0
2
0
2
0
0
2
2
0
2
0
2
0
0
2
0
0
2
0
0
0
2
0
0
0
0
2
0
0
2
0
2
2
1
0
0
0
0
0
0
1
2
1
2
2
0
0
0
0
0
2
0
2
0
2
2
0
0
0
0
2
1
0
1
2
2
0
0
0
0
2
0
0
2
0
1
2
0
0
0
0
2
0
2
0
0
0
0
0
0
0
2
0
1
2
0
2
0
2
0
0
2
2
0
0
0
2
0
2
2
2
2
2
0
0
2
2
2
0
0
0
0
0
0
0
0
0
2
0
0
2
2
0
0
2
0
0
0
2
0
0
2
2
2
0
0
2
2
2
0
0
2
0
2
0
0
0
2
0
2
2
0
0
0
2
2
0
0
0
2
2
0
1
0
0
0
0
2
2
2
2
2
2
0
2
0
2
0
0
1
2
0
0
2
2
0
2
2
2
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
2
0
0
2
0
2
2
2
0
0
2
0
2
2
0
2
0
0
2
2
0
0
2
0
0
2
0
0
0
0
2
2
2
0
0
0
2
0
2
1
2
0
2
2
0
0
2
0
0
0
0
2
0
2
0
0
2
0
0
2
0
2
0
0
2
0
1
0
0
0
0
1
0
0
0
0
2
2
0
0
2
2
0
2
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
2
0
2
2
0
0
0
2
0
0
2
2
0
2
0
2
2
0
0
2
0
2
2
2
1
0
0
1
2
0
0
0
0
0
0
0
0
0
2
2
0
2
2
0
2
2
0
1
2
0
0
2
0
0
0
0
2
0
1
2
2
0
2
0
0
0
0
0
1
0
0
2
0
0
0
1
2
0
0
2
0
0
0
2
1
0
0
0
0
2
0
2
0
0
2
2
2
0
2
0
0
2
0
2
2
0
2
0
2
2
0
0
2
1
1
0
0
0
0
0
0
2
0
0
0
0
2
0
2
1
0
0
0
0
0
2
2
2
0
2
0
2
0
2
0
2
2
0
0
2
0
0
0
0
0
2
0
0
0
2
0
2
0
2
0
0
0
0
0
0
1
0
2
0
2
0
0
0
0
0
0
0
2
0
0
2
2
2
0
2
0
0
0
0
0
2
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
2
1
0
2
0
0
0
0
0
2
0
2
0
2
2
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
2
1
0
0
2
2
0
0
1
2
0
0
2
1
2
0
2
2
0
0
0
2
2
2
0
2
0
0
2
2
2
2
2
2
0
1
0
0
2
0
0
0
0
0
0
2
0
2
2
0
2
0
2
0
0
0
2
2
2
1
2
2
2
0
2
2
0
0
0
0
0
0
0
2
2
2
0
0
0
0
2
0
0
2
2
0
0
0
0
2
2
2
0
0
0
2
2
0
0
2
0
2
0
0
0
2
0
2
0
0
2
0
0
0
0
2
0
0
2
2
0
0
1
2
0
0
0
0
0
0
0
2
0
0
2
0
2
0
0
2
2
0
0
0
0
0
2
0
0
2
0
1
2
0
2
0
0
2
2
0
0
0
0
0
0
0
0
2
0
2
0
2
0
0
0
0
0
2
0
0
0
2
2
0
0
0
0
2
2
0
0
0
2
0
2
0
0
1
0
2
0
0
0
0
2
0
0
0
2
0
0
2
2
0
2
0
0
0
0
2
2
0
0
0
2
0
0
0
0
0
2
0
0
0
2
0
0
0
0
2
0
2
0
0
0
0
1
0
1
2
0
0
0
0
2
0
2
0
2
0
0
0
0
2
0
2
2
0
2
0
0
0
0
0
0
2
0
1
0
2
0
0
0
0
2
0
0
1
2
0
0
2
0
0
2
2
0
0
0
2
1
0
0
2
2
0
0
0
0
2
0
2
2
0
2
0
0
0
2
2
2
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
2
2
0
2
0
2
2
2
0
0
0
0
2
0
0
0
0
2
2
0
0
0
0
0
2
1
0
0
0
2
0
0
2
2
0
0
2
0
2
0
2
1
0
1
0
0
2
0
0
2
2
1
0
0
0
0
2
0
0
0
2
0
0
0
0
2
2
2
2
0
0
2
2
0
2
0
0
2
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
0
2
0
2
2
0
0
0
2
0
1
0
2
0
0
0
0
0
0
0
2
0
0
2
2
0
0
0
0
0
0
2
0
2
0
2
0
0
2
0
0
0
0
0
0
2
0
0
2
0
2
0
0
0
2
0
2
2
0
0
0
2
0
0
1
0
2
0
1
2
1
0
0
0
2
0
2
0
0
0
0
0
1
0
0
2
0
2
0
0
2
1
0
2
0
2
0
0
0
2
0
2
0
2
0
0
2
0
2
1
2
2
0
0
2
0
2
2
2
2
2
2
0
2
0
2
0
2
2
0
0
1
0
0
0
2
2
0
2
2
2
0
2
0
0
0
1
0
2
0
2
0
2
0
2
2
2
0
0
0
0
0
0
0
2
2
2
0
1
2
2
0
2
0
0
2
0
0
2
2
0
2
0
0
0
0
0
2
0
0
0
0
0
2
2
0
0
0
0
2
2
0
0
2
2
0
0
0
2
2
2
0
0
2
2
2
2
2
2
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
2
2
2
0
2
0
0
2
2
0
2
0
0
0
0
2
2
2
2
0
2
2
1
0
0
2
0
0
2
0
0
0
2
0
0
2
2
2
0
0
2
2
2
2
0
0
0
0
1
0
0
0
0
0
2
0
0
0
1
2
0
0
0
0
0
2
0
0
2
0
0
0
2
0
0
2
0
2
0
2
2
2
0
2
2
0
2
0
0
2
2
0
2
2
2
2
2
0
0
0
2
0
0
0
0
0
0
2
0
0
2
0
0
0
0
2
0
0
1
2
0
0
0
2
0
0
2
2
2
2
0
0
0
2
0
1
1
2
0
1
2
0
2
0
2
0
0
0
0
2
0
0
0
2
0
2
0
2
0
0
0
0
0
0
2
2
1
0
1
0
1
0
2
0
2
0
1
1
0
0
0
1
0
2
2
0
0
2
0
2
2
0
0
2
2
0
0
0
0
1
2
0
0
0
0
2
1
0
2
0
2
0
0
0
0
0
0
2
0
1
0
0
2
2
0
0
0
0
0
0
2
2
2
2
2
0
1
0
0
2
0
0
0
0
1
2
0
1
0
0
0
1
2
0
1
0
0
2
2
0
0
2
2
0
0
2
2
0
2
0
2
0
2
0
0
0
2
2
0
2
0
0
2
1
2
2
2
0
0
0
0
1
2
0
0
2
1
0
2
0
0
2
0
0
2
0
0
2
0
0
1
2
0
2
0
0
0
2
2
0
2
0
0
0
0
0
2
2
2
0
0
2
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
2
2
0
0
2
1
2
0
2
0
1
2
0
2
0
0
0
2
0
2
0
0
2
0
0
2
0
2
0
2
0
0
0
0
0
2
0
2
1
2
0
0
0
2
0
2
1
0
2
2
2
0
2
2
2
2
0
0
0
0
2
0
0
2
0
2
0
0
0
0
2
0
0
2
2
2
2
2
2
2
2
0
1
2
2
0
0
2
0
0
1
0
2
0
2
0
2
2
0
0
0
2
1
2
1
0
0
2
1
0
2
0
0
0
0
0
0
0
0
2
0
2
1
0
2
0
2
0
0
0
0
1
0
0
0
2
1
0
1
2
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
0
2
2
0
2
0
1
2
0
1
0
0
0
0
0
0
2
2
2
0
2
2
2
0
2
0
0
2
0
2
0
0
0
0
1
0
0
2
0
0
2
0
0
0
2
0
2
2
0
2
2
0
2
2
0
0
0
2
2
0
0
2
0
0
0
2
2
2
0
2
0
2
0
0
0
0
0
2
2
2
2
2
2
2
2
0
1
0
1
1
0
0
0
2
2
0
2
0
0
0
0
2
0
0
2
2
0
0
0
1
2
2
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
1
2
2
2
2
2
0
0
0
0
0
1
2
0
2
1
2
0
0
2
0
0
0
0
1
2
1
0
2
0
2
0
2
0
0
2
2
0
2
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
2
2
2
0
2
0
2
0
0
1
0
0
0
0
0
0
2
0
0
2
0
0
0
0
2
2
2
2
0
0
0
0
0
0
2
0
0
0
2
0
0
2
0
0
1
0
2
0
0
2
2
2
0
0
2
0
0
2
0
2
0
2
0
0
2
0
0
0
2
0
2
0
0
0
0
0
2
0
2
0
0
0
0
0
0
2
2
2
0
2
0
0
2
0
2
0
2
0
2
0
0
0
0
0
2
0
0
0
2
0
0
0
0
2
0
0
0
2
0
2
2
2
2
0
0
2
0
0
2
2
1
0
2
2
2
0
0
2
2
1
2
0
2
2
0
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
2
2
0
0
0
2
1
1
2
2
2
2
0
2
2
0
2
0
2
0
0
0
0
0
0
2
2
0
2
0
2
0
0
0
2
0
0
0
0
0
2
0
0
0
2
2
0
0
2
0
2
0
0
0
0
2
2
2
2
2
2
0
2
0
0
0
2
0
0
0
0
0
2
0
0
2
0
0
2
0
2
0
0
0
2
0
2
0
2
0
1
2
0
2
2
0
0
2
1
0
2
0
0
0
0
0
2
0
2
0
2
0
0
0
0
0
0
0
2
2
2
0
2
0
2
0
0
0
0
0
0
2
2
0
0
0
2
2
0
0
2
0
0
2
0
0
0
2
0
0
0
2
0
0
0
0
0
2
1
0
2
2
0
2
2
0
2
2
0
2
0
0
2
0
2
0
0
0
1
0
0
0
0
2
0
1
2
0
0
0
2
0
0
0
2
2
2
1
0
0
0
2
0
0
2
0
0
0
2
0
2
0
0
2
0
0
0
0
2
0
0
2
0
2
2
2
0
0
2
2
0
2
0
0
1
1
0
0
2
0
0
1
2
2
2
0
0
2
0
2
2
0
1
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
2
2
0
2
1
0
0
0
1
0
0
2
0
0
0
1
2
0
1
0
0
0
2
0
2
0
0
2
2
2
0
0
1
0
2
0
2
2
1
0
0
0
0
0
2
2
2
1
0
1
0
0
0
0
0
0
0
2
2
0
0
2
0
2
0
0
2
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
1
2
0
1
2
0
0
0
0
2
2
2
0
2
0
0
0
0
0
2
0
0
0
2
0
2
0
2
2
2
2
2
2
1
0
0
0
0
2
2
2
0
1
0
0
0
0
1
0
0
2
0
2
0
0
0
2
0
0
0
0
2
0
1
0
2
2
0
1
2
2
0
0
2
2
0
0
1
2
2
2
0
2
2
2
0
2
0
0
0
2
2
0
0
0
0
2
0
2
2
0
2
2
0
0
1
0
2
2
0
2
0
0
2
0
2
0
2
2
2
1
2
1
0
0
0
0
0
0
2
0
2
0
0
0
1
0
2
0
0
2
2
0
0
1
2
0
0
0
0
2
0
2
2
2
1
2
0
2
1
2
0
0
0
0
0
2
0
1
0
2
2
0
0
0
0
0
2
0
0
0
2
0
2
1
0
2
0
0
2
1
2
0
0
0
1
0
2
0
0
0
0
0
0
2
2
2
0
0
2
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
2
0
0
2
2
2
2
2
2
0
2
0
0
0
2
0
0
0
2
0
2
0
2
0
0
1
2
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
2
2
0
2
0
0
0
0
0
2
0
0
0
0
0
0
2
0
2
0
2
2
0
0
1
2
2
2
2
2
2
2
0
2
0
2
0
0
0
0
0
0
0
2
0
0
2
0
0
2
2
2
2
0
0
0
1
0
1
0
0
2
0
0
0
0
0
2
1
2
2
0
0
0
2
0
0
2
1
0
0
0
0
0
0
2
2
0
2
0
0
0
2
0
0
1
0
2
0
2
0
0
2
0
2
0
2
2
0
0
2
2
0
1
0
2
0
0
2
0
2
2
0
0
0
0
2
2
0
2
1
1
0
2
0
1
0
0
0
2
0
2
0
2
2
0
1
2
1
2
0
2
0
0
0
2
0
2
2
0
2
2
0
0
0
2
0
2
0
1
0
1
2
0
0
2
0
0
0
0
0
2
0
0
1
2
0
2
2
2
2
0
1
2
0
2
0
0
2
2
0
0
0
2
0
2
2
0
2
0
2
2
0
0
1
0
0
2
2
2
2
0
0
2
0
0
2
2
0
0
0
2
0
0
0
0
0
2
0
2
0
2
2
0
0
0
0
0
0
0
2
0
0
2
0
2
2
2
2
2
0
0
0
2
1
2
0
0
2
0
0
2
1
2
2
1
2
2
2
2
2
2
2
2
0
2
0
0
2
1
2
2
0
0
0
0
0
2
2
0
2
2
0
0
0
2
2
2
2
0
0
2
0
2
2
2
0
2
2
0
2
0
2
0
2
0
2
0
0
2
0
0
0
0
2
0
2
2
0
0
1
2
2
2
0
0
0
0
2
2
0
0
2
0
0
0
0
0
2
0
0
0
2
0
0
0
2
0
0
2
2
0
0
0
2
0
0
0
1
0
0
0
1
2
2
0
1
2
0
2
0
0
0
0
0
0
2
1
2
0
2
2
2
0
0
0
0
0
0
0
1
2
0
0
2
2
2
0
2
2
2
0
2
2
1
0
0
0
0
2
1
0
0
2
2
0
2
2
0
0
0
0
0
0
0
2
2
0
2
0
2
2
0
0
0
0
0
0
2
2
0
0
0
2
0
2
0
0
2
0
2
2
0
2
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
2
2
2
2
0
0
2
2
1
0
0
0
0
1
2
2
0
0
2
0
2
0
2
0
2
1
0
0
2
0
0
2
0
0
0
2
2
0
0
0
2
0
2
2
0
0
0
2
0
0
2
2
0
0
0
2
2
2
2
2
2
0
2
2
0
0
2
1
2
2
1
2
0
2
2
0
0
0
0
0
2
2
2
2
2
0
0
2
2
0
2
0
1
0
0
0
2
0
0
2
1
0
0
2
0
0
1
2
0
0
1
0
2
0
0
0
0
2
2
0
1
2
1
2
2
0
0
2
0
1
0
0
1
0
2
2
2
2
0
2
2
2
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
2
0
1
0
2
0
0
0
0
0
0
0
0
0
2
0
2
0
2
0
1
2
0
2
0
0
0
0
0
0
2
2
0
2
0
0
0
0
0
0
2
0
1
0
0
0
2
2
2
1
2
0
2
1
2
2
0
2
0
2
2
0
2
2
1
2
0
0
0
2
2
2
0
0
0
0
0
0
0
0
0
2
2
0
0
2
0
2
0
2
0
1
2
2
0
0
0
2
2
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
1
2
0
0
0
0
2
0
2
0
0
2
0
2
0
2
0
2
0
2
0
2
0
0
1
0
0
0
0
0
0
0
2
2
0
0
2
0
2
2
0
2
0
0
2
0
2
0
0
0
0
2
0
2
0
0
0
2
2
0
0
0
1
2
2
2
2
2
1
2
2
0
0
0
1
2
1
2
0
0
2
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
2
0
2
0
1
0
2
0
0
2
2
0
0
0
2
0
0
2
0
2
0
2
0
2
2
2
2
2
2
0
0
0
0
2
2
0
2
2
0
0
0
0
2
0
0
0
0
0
1
0
0
0
1
1
0
2
0
0
2
0
0
0
0
0
0
2
0
0
2
2
0
0
0
2
0
1
0
2
0
2
2
2
0
2
2
2
1
0
2
2
2
2
2
1
2
1
2
0
0
0
0
0
0
2
0
2
2
2
2
2
0
0
2
0
0
2
0
0
2
0
2
2
0
0
2
2
2
0
0
0
0
1
0
2
1
2
0
2
0
1
0
2
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0