50000
2 1 2 1 1 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 1 1 2 2 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 1 1 2 2 1 1 1 1 1 2 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 2 1 1 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 2 2 2 1 1 2 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 1 1 2 1 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 1 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 1 1 2 1 2 1 1 1 2 1 2 2 1 2 1 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 1 2 2 1 1 1 1 2 1 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 2 1 1 1 2 1 1 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 2 1 1 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 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 2 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 1 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 1 1 2 1 2 2 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 1 2 1 2 1 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 2 1 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 1 1 1 1 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 2 2 2 1 2 2 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 2 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 2 1 1 1 2 1 2 2 2 1 1 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 1 2 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 2 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 1 2 2 1 1 1 2 1 2 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 1 2 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 1 1 1 2 1 1 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 1 1 1 2 2 1 1 2 1 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 2 1 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 1 1 2 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 2 1 1 1 2 2 1 1 1 1 2 2 1 2 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 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 2 2 2 1 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 2 1 2 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 1 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 1 1 1 2 1 2 2 1 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 1 2 1 1 2 1 1 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 1 2 1 2 2 1 1 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 1 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 1 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 2 2 2 1 2 1 1 1 2 1 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 2 2 2 2 1 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 1 2 1 2 1 2 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 1 2 1 1 2 2 2 1 2 1 1 2 1 1 2 2 2 2 1 2 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 1 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 1 1 2 1 2 2 1 1 2 1 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 1 2 2 2 1 1 2 1 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 1 2 1 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 2 1 2 1 1 2 1 2 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 1 2 1 1 2 1 1 2 1 2 1 1 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 1 1 1 1 1 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 2 1 1 2 1 2 1 2 2 1 1 1 1 1 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 1 1 1 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 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 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 1 1 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 1 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 1 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 1 2 1 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 2 2 1 2 1 1 2 1 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 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 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 1 2 2 1 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 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 1 1 1 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 1 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 1 1 1 1 2 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 2 1 2 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 1 1 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 1 1 2 1 1 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 2 1 2 1 1 1 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 1 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 1 2 1 2 2 1 2 1 1 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 1 1 1 2 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 1 1 2 1 2 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 1 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 2 1 1 2 1 1 2 2 2 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 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 2 1 2 2 1 1 2 1 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 1 2 2 1 2 1 1 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 1 1 1 2 1 2 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 2 1 1 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 2 1 2 2 1 2 2 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 2 2 2 1 1 2 1 2 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 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 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 2 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 2 2 1 1 1 2 2 2 2 1 1 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 1 2 1 2 2 2 1 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 1 2 1 1 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 2 2 2 1 1 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 2 2 2 1 2 1 1 2 1 2 2 1 1 1 1 2 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 1 2 1 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 2 1 2 2 1 1 2 1 2 1 2 1 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 2 1 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 1 1 2 2 2 1 1 2 1 1 2 2 1 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 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 2 1 2 1 2 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 1 2 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 1 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 2 1 1 1 1 2 1 2 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 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 1 1 2 2 2 1 1 2 2 2 1 1 2 1 1 1 1 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 2 1 2 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 1 2 1 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 1 1 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 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 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 1 2 1 2 2 1 2 1 1 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 1 1 1 1 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 1 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 1 1 1 1 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 1 2 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 1 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 1 1 2 1 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 1 1 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 2 1 1 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 1 1 1 1 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 1 2 1 2 1 1 1 2 1 1 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 1 2 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 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 2 1 1 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 2 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 2 1 2 1 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 1 2 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 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 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 1 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 1 2 2 1 1 2 1 1 1 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 1 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 2 1 2 2 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 2 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 1 1 1 2 2 1 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 1 1 2 1 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 1 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 1 2 2 1 1 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 1 1 2 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 1 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 1 2 1 1 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 1 2 2 1 2 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 1 1 1 1 1 2 2 1 2 2 2 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 2 2 2 1 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 1 1 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 1 2 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 1 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 2 2 1 1 1 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 2 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 1 1 1 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 1 2 2 1 1 2 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 2 1 1 2 1 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 1 2 2 1 1 2 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 1 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 1 1 2 2 1 1 2 2 2 1 2 2 1 1 1 1 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 1 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 1 2 1 2 2 1 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 1 1 2 2 2 1 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 1 1 1 1 2 1 2 2 2 1 2 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 1 1 1 2 1 1 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 1 1 2 1 1 1 1 2 2 2 1 1 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 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 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 2 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 1 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 1 1 1 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 2 2 1 2 2 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 2 2 1 1 1 1 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 1 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 1 1 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 1 1 2 1 1 2 1 2 1 2 2 1 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 1 1 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 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 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 2 2 2 1 2 1 1 1 1 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 1 1 2 1 1 1 1 2 2 2 2 2 1 1 2 1 1 2 1 1 2 2 2 1 2 2 1 2 1 1 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 1 2 1 2 2 2 1 2 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 1 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 1 2 1 1 2 2 2 1 2 1 1 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 1 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 1 2 1 1 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 1 1 2 1 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 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 1 1 1 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 1 1 2 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 1 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 1 2 1 2 2 2 2 2 1 1 1 1 2 1 1 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 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 2 1 1 2 2 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 1 2 1 2 2 1 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 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 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 1 2 1 1 1 2 1 1 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 2 2 1 2 2 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 2 2 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 1 1 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 2 1 1 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 1 1 2 1 1 1 2 1 2 1 1 1 2 2 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 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 2 2 1 1 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 1 2 1 1 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 1 2 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 1 1 1 2 2 1 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 1 2 1 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 1 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 1 2 2 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 1 1 1 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 1 1 1 2 1 1 2 2 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 1 1 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 1 1 2 2 1 1 2 1 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 1 1 1 1 2 1 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 1 2 1 2 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 1 1 2 1 2 2 2 1 2 1 1 1 1 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 1 2 1 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 1 2 1 1 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 1 1 1 2 1 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 1 2 1 2 1 1 1 1 1 2 2 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 2 1 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 1 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 2 1 1 2 2 1 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 1 2 2 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 2 1 2 1 1 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 1 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 1 1 2 2 1 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 1 2 2 1 1 2 2 2 2 2 1 1 1 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 2 1 1 2 2 2 1 1 1 2 1 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 2 1 1 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 1 2 1 2 2 1 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 1 2 1 1 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 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 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 1 1 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 2 1 2 2 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 2 1 2 2 2 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 2 2 2 1 1 1 2 1 1 2 1 1 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 1 1 2 1 2 1 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 1 2 1 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 1 1 2 1 1 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 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 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 1 1 1 1 2 2 1 2 2 1 1 2 1 2 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 2 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 2 2
746528904 344516233 196947097 341935589 454381715 530447806 285910992 130022934 647531278 546221162 116767052 899599655 883206011 479860313 365641297 146011829 487137634 651637675 675150008 279473691 126972931 628385030 459831569 591342423 439939586 432338141 562443016 230097929 987459076 713179364 195160795 194278955 935959798 572713687 294687264 124084961 948622211 744146372 890018977 858238795 113201493 495279990 890999813 881718242 880843277 589859386 856486353 593707625 600252696 852714750 947014821 662134405 31473856 891020702 28977057 566944297 569254233 346927035 756907128 714826803 281473897 562146029 858498890 689513913 24380372 714684554 702732899 116166834 555134906 305976785 306092248 483129214 524433064 396183956 715273707 589460226 815871368 578040993 99781552 443326555 978094123 494573393 656668778 316998463 463932188 64189635 406635815 132047422 262399671 143104782 395863041 727297796 319591094 233202294 631608437 968561902 378319857 833011382 215393738 224691358 733895858 178706709 179506908 292333697 281500679 942119174 642435987 794804627 195723456 804078750 231309705 67171759 325955195 827949669 37259343 492377139 505119512 620382204 209817336 629520048 244100388 677641743 320372495 326589689 508499484 352310756 644257718 323283849 976919401 725941835 99441473 851819055 478515168 411442207 458104385 522807054 187340054 992916823 144070250 72248392 730356354 159127053 620544340 315901974 733677634 720449166 296083965 764427359 780810924 918330020 713097610 652770656 24466824 457695354 839345957 399501171 464672007 501639100 118572927 488148558 803688547 812895583 751250952 290521662 211583173 926359993 307533176 329297562 517332604 950717058 7996690 796724770 732386983 598326280 346590943 559228933 220528787 800324864 564641782 27956113 559888587 271726136 693657534 13802108 800660866 118019361 324798899 290143593 543300273 139763918 941094943 984735592 288036610 715221045 251390068 704643620 559816999 913629737 379571959 905232669 645379316 955519450 256786226 290252349 344006485 587723480 931394946 346162452 184451434 253499393 580934345 658513587 447765649 74019214 243314938 148314186 470253126 89919102 780514301 890502139 57983635 722422212 643758642 59631020 812076115 764977535 28286719 389037261 88261401 179798727 168684535 763250568 999068573 479776040 137488460 105033619 477788896 75503710 109903735 776224405 975654752 125081871 486448060 226143117 870832198 657789922 97193913 30176123 733677925 557935396 610422090 643732760 234497870 999382284 422511055 573361535 256844651 129907729 418232951 857139949 305174024 854745977 78859672 139771415 970358466 566027304 266460816 629299417 882356833 555103405 797150715 851472375 385964252 926784811 562045131 583858648 74110494 65121687 725237281 444658941 146863304 328769638 344132763 122248859 7426462 703234804 234984744 535804254 631473737 930050494 548526609 216043636 382606456 827451231 599735087 584310937 818763108 796894920 186802909 614303801 305497666 595216847 702003889 348527170 594023053 584412593 530650665 813372146 524666700 855212350 258653852 486619880 185523824 759719702 972679768 564962898 642772322 645992434 737877544 926247868 295832575 781529219 9930772 957235947 241329829 127261462 582540406 675078339 591579723 814452928 47757975 913873452 480140562 155599561 257738296 271428941 473829076 524558215 992147918 967809179 481133260 745310454 425368398 173924000 947381730 319913633 545519982 990679965 495597245 40873330 284019815 754328499 506528654 688280974 237492303 979477719 522669719 492278154 715893169 68090747 533588035 153528095 445617253 919977439 850901365 925219618 821945110 375384188 882023621 881572545 709549793 622512440 67925264 61236247 364132613 376704680 3514399 584048733 843680266 742777584 106589381 782684513 623957180 769083179 788041615 196981595 383682220 497266855 620652779 308233072 331552144 294530289 694437251 137479852 324432528 723290319 996962638 244709407 333606497 971201362 144466848 862693410 245855199 725381434 292072645 952285646 573303533 130059094 263329320 344250381 619779616 485945218 858322797 904164409 102166776 718548777 194655952 499292557 56596733 459771930 353077253 395018242 329805722 385860313 202466430 718988835 560960201 376546798 836386036 994527108 906975430 922474108 610990919 415353169 544563121 59179297 527656021 302022174 322855901 476929402 100264050 854303617 294654186 836162850 520168894 669362599 660775799 639033785 665491323 636965217 77411106 747019860 121263228 310607437 543218480 55385030 162748902 797679349 217708488 882229651 615979797 862020827 732591977 900141666 159607740 252762246 36610282 795728878 708350193 313542218 378639810 640859224 755111758 149050502 445385905 421745321 879830933 346192176 460590391 411987058 788099250 919474495 329590483 435752963 594612931 274020207 322667095 128579269 266873696 183434977 1329305 729429190 392396362 149458899 729789450 428476155 577341426 882213345 959548566 493448782 732268504 278035687 476543972 657791157 174080755 711146010 514636629 303689101 717535965 537574291 486688245 136310994 837756630 27903161 44532317 586709481 591845874 531647261 156120867 66410086 465698753 843839610 965974635 975833021 239523527 793980815 152710012 673261403 739190104 620935724 862317046 926529085 722749010 677257424 776423745 53057140 363920996 910299574 354235278 4244398 328486693 836680143 272735432 56886593 487280482 569515353 497863926 203298449 17882201 34126274 43746578 523790839 777780214 344658958 466178340 202143360 836544538 455209823 386140267 451575138 812621648 194298516 716109541 818830567 666820601 453161164 307110818 918219757 441845415 245014069 453109393 780974279 764006958 507655572 663621460 361710666 282561529 100496292 691436367 280265012 803437922 483024029 579482632 398001030 909520573 273568718 64143069 656956383 924252260 274573699 409019667 817902050 906856119 876716314 354025573 604364531 743424623 973331375 939864115 54123812 260900969 454989090 462370430 924500240 841576582 796506686 311394721 205628353 74660980 549481793 424470214 29964601 478849860 826886692 26149453 791824387 218523442 7035223 70373575 439488514 644383156 177642325 610494276 699630633 27787780 30259004 648535003 580018049 921266951 420494823 897220660 343519570 556503156 28730393 72092014 520579871 584241996 525437514 120027901 958122533 964452781 516672880 270053349 255751661 893102768 128297151 981052025 851345391 168610501 891210822 127307648 66758353 58081118 832843028 277659274 310332385 817591972 317650733 715910683 398050273 981888697 687108548 402444308 84030641 656783356 408690745 908469804 18545759 103773540 763936997 557421282 286488731 661302092 865420625 347419527 917810597 549300520 146030420 411901936 833758755 746033225 732488892 371022345 482623133 39783410 416727727 777560744 764594203 13028433 125041005 470188299 114690585 761752141 444494864 28943566 409617116 747924099 83642068 613296304 715672250 894195470 227837076 935002542 549801389 708807578 980228308 947584141 545929693 928434277 82566912 330170563 973297525 599773329 524460163 452232330 181273235 379887937 951798254 276133126 808947563 542517149 938237716 910053706 843865439 270869808 666931542 375511976 282926016 705347154 462548310 514815526 864243355 910027883 911754023 623068555 988051307 826212950 658079768 383335928 707591400 920878599 974442020 13948831 568784290 965514095 751057497 990934370 995969015 104216681 744069498 708391814 93929496 657924862 419275045 253778357 370957263 625909383 385445397 192047256 419723504 299417186 290479479 784612176 320153983 969463258 398884499 348937302 823879965 941471811 431759129 928503145 570292077 702958551 683718488 997310351 33180102 151194504 82815742 510689617 432559310 779469118 56900522 695452845 512037704 329152129 291308284 91309666 246192010 583449830 749806053 515563948 879591256 304175893 124309402 737827177 369547695 663028660 6737854 34893255 286245427 951574863 435418730 778241255 999370572 774679038 40911221 944189539 853026155 515311075 564522271 557367577 435601978 448506564 931269864 468684218 562972831 35527440 915922058 131964930 899076578 882734834 316225176 16962673 29180311 819712044 749434160 818939905 30991806 269036935 52493486 367490013 539741179 829720002 249575983 465267933 339707847 331809984 791463320 391726785 775931941 986130885 777046260 831295491 584175113 723733120 621654888 826064603 605014046 997895487 812016137 169008312 209444860 349685919 755139046 617296904 56817056 38864787 419992719 282377133 756234228 325879023 310106369 66658771 77018094 123362794 908611644 763764701 492621462 935714010 742779541 51686123 170489597 20256420 104219401 17830072 231236750 251054741 395166287 896416994 291000056 573451171 850416565 550696474 935142056 925359883 357006093 634310533 535539582 750681911 405523578 795844948 852235768 216153111 257289603 224410173 195756477 992489312 935712879 487866775 525460789 972792313 101065823 421304859 817867898 849520940 706450422 21216845 308572291 418865344 131373870 732980453 894606167 556299080 942344216 394095798 348431928 693050341 378522588 250945487 590972102 653518174 648320342 735181875 412118687 250968277 814370093 909983671 792268868 776618220 84737117 313748141 643716859 274720352 774637443 338122578 738316491 875612561 47167729 2001599 715708335 966240523 410006998 312019219 235363857 208965614 922177636 704738 349818733 946534051 396998822 793906609 267185166 174768950 967818309 376885960 755156993 371942967 172696546 263953968 49521675 41594047 128848289 855054712 158022313 301910127 112604904 542979719 392891916 81923241 685491345 443207277 705513514 143851959 125923655 970383119 270190656 451340405 576267637 599902061 967613900 587108957 68758770 11910513 115860096 666041946 783491169 702785849 129359687 485552878 225928251 180639381 541714013 813482882 155383558 624474226 327756771 847014849 971576781 559867363 887501302 378442853 363707025 524472778 626747035 618042585 821579980 590326597 37672705 42544433 922681723 488015548 689965261 368986357 724766539 676064787 442778653 712641783 350351855 847015832 732321996 100796497 125319544 172042841 313248067 270940024 454411130 224048850 30475953 350511154 461267492 602013695 281152771 219120936 963866160 491003911 604726440 651566918 573272936 536329520 294076562 703951517 521413191 846051085 657574321 263447724 376762832 851091746 393021254 722468792 303366689 749131436 74339698 281927314 721295336 35640077 306701322 68809969 975997523 54407650 47971946 611216081 974587414 163463700 604350364 394970695 514581995 821057251 150300227 838489933 363806059 707853248 422082873 623697421 236568899 440818349 73594528 906517871 911847564 880738323 140439088 24056689 628277838 614499155 13682918 846546790 636177167 659875834 699087722 334552357 252806333 162656491 98496595 595602293 137337389 100595412 45823608 834225266 298160828 724479446 513782299 583959845 576119620 638671379 179204796 95074635 137237501 270382152 5588638 704086435 173668837 954511980 993024084 468764711 860264179 460910106 694663721 119584626 114792482 156340662 213241575 859761719 346064081 549070212 284474550 51933193 82225589 514391055 584164097 963728597 716582089 931970565 509313403 401319797 985890662 612956383 447354522 896851472 886912682 69077934 153444525 547998664 101974751 235585795 936227228 50464272 747649816 818192048 374566545 27842874 41912807 164072756 643158459 347741656 306303324 499338695 889687506 238765197 116049261 143660325 148251359 742528940 230824840 756622709 715327844 573251449 375625932 597009211 468420395 144252306 529694312 2315179 331253289 850676643 83036128 189583109 765548832 854061144 175804380 349049352 951807101 754749952 268859388 756814308 803941803 110634285 655785289 557444644 960850437 577822275 996814390 874196090 962522836 152505012 605199363 774970593 656972855 200961969 549103792 367974515 47217669 806233153 108185216 800896885 639864716 567015928 701029426 935834971 106615915 146791492 313260118 65772294 617694562 957555848 729036943 420311941 799737680 331621126 396889160 300484806 230432523 874284658 747441257 812273935 755360878 785666504 471719193 972964412 1430786 848596430 96390008 10818175 463462774 460720195 393366832 690305742 394683638 478005369 187405690 462834399 875408835 300142956 304579629 236362498 639833210 253724271 181844452 389894664 757178138 555510058 284274846 910073268 543921870 76812056 709723313 861103323 80180768 488047327 974517341 541697480 819195633 350221553 999917090 910247649 661387325 956488188 372727881 640609113 65522395 769168685 259162937 6268285 217139519 439356175 740444112 561201306 627432941 230903670 560950547 999122928 870129390 100673197 270701444 757446024 751524213 317349190 229002485 270312212 968990215 154802703 106052094 490784647 60294283 133853566 613964906 568106377 325265534 355570300 911807169 760112541 631442275 56784066 533335557 324051238 699922280 315641302 235966549 820268970 696305104 405252456 716576907 185216798 47218619 874795873 40191570 912526062 465231684 741212787 788076593 912578620 167796019 592382639 327324383 327610912 46026784 227176882 773217315 740502683 268240619 249032742 848884627 160835291 642076548 211079330 387761985 464816236 27385646 452920158 832155969 622365542 698402864 181968117 435026562 728471209 782000473 602878158 413987358 165709079 295194671 751149512 456073381 97005166 17556101 58979429 111556330 566461130 586745170 277917649 146393570 72224600 516504253 234269119 48419756 160011263 953856692 21073821 856163178 854431901 231629693 745348025 219936652 336278119 739037836 862173929 4212398 593724246 693463319 49338702 183654691 862362473 620952701 259198130 572159246 553491983 372490513 889802168 292714028 713546934 607392656 742704411 573750990 928659415 862089981 789202106 466610908 660196629 874684641 272415607 922004166 522677869 358100411 5236751 293450303 570900561 730812840 265304848 422817028 98828432 900571008 125611008 176333930 231553643 242108673 610019848 877036958 988476438 595215328 63569199 6668054 869069035 990654075 316122699 376595225 517313770 552081505 750041495 4785873 10074427 884420948 619319924 852645920 465822995 582503346 234761530 407678691 701210811 643917762 174140320 130882817 989947427 833522038 41796802 220047990 660249514 682515751 615159111 686070016 232506956 34810127 639277786 583910029 257387454 238482733 630211752 577460916 299220221 541481135 237551945 511711226 207392224 381446371 387540897 364668416 341566797 898797803 469207443 73699619 926080900 949233760 915950001 66221485 738105640 539902342 197824528 585056511 127138878 694151608 607288383 944044513 567837155 947915798 490346596 80199741 422446907 702619805 144127352 569607658 346911099 285447030 873610399 453635791 886195146 174855159 349514829 439309026 882767313 96601745 383694151 245885978 418136899 434026204 46555088 212605401 907439799 351284839 526301863 630342862 771193575 138542104 10483932 77093338 105979949 745381502 994266124 900769674 490946308 688691497 781196017 653382042 547537311 792640821 202290259 987012609 350505993 997772864 986310173 540366709 405694506 490352790 244611126 42086610 258113988 409415000 441890373 139597371 199079691 699985662 933379223 810496042 309925663 348803334 20008061 748002543 807846170 55396916 396295231 977034480 557181936 338603967 84271735 309131127 310705589 761319347 431797256 117818490 598050454 718023522 29215463 392217178 603483416 778407618 864745292 349023884 24557985 585627246 350538362 402429293 590586727 977710967 451990472 797134402 105943360 627265495 687935058 618238146 180657642 273443507 264931184 575535292 36786691 151529882 195044348 467472720 888506261 86637009 747537975 978467368 188890974 598834538 434393578 504326459 496793733 280942696 867174742 502646067 381162756 900705529 693521082 502681890 463334955 711332745 309565923 509609461 137761331 321930080 577708972 812175997 19822482 5679472 937357687 619765474 781316628 906839358 941467508 695599903 43114660 622803811 597649493 967242599 331183716 625448012 563107288 328596929 609137461 716859177 64221829 323744122 302172644 946170023 659815715 637620307 597378981 688638844 222079465 505987577 822955026 899916015 260477610 411893517 464528251 297121277 870921050 393100880 501830466 344803835 564655674 875645559 3404254 154410971 901226385 780536919 890469321 821116735 3182368 134334887 285942832 915753940 554895041 824771752 799304202 859243816 698013599 236207663 731859707 730441494 535817728 453934489 34897263 71427619 687775558 628897591 995517461 701796243 650607419 771960040 317929437 779893808 186706015 550905607 928428790 725952132 203992683 965542249 158615068 824858859 774344838 938395707 207568592 498652317 205353863 260347112 270889680 674001950 344240642 31142808 95545694 28601702 809056895 32755488 376040528 175213505 204087909 987957844 250819792 827804057 52365729 394365652 999388497 435012738 414199749 105646533 30728306 544949450 212199490 311318280 207351398 476347890 144116264 313913942 233156844 951737102 544283561 554944313 192760482 127217042 32171726 37289891 771744682 5756730 170303584 91866224 565166630 116071915 591794625 42675736 777804544 390226882 108658867 804978899 773414877 549206955 216903402 350207450 91980024 166981117 725766871 36485544 2748555 409359926 124799079 284900290 310828816 671717300 280430902 328694879 386391563 330594094 527635098 716839799 556506569 272015323 243162933 890742395 466662043 789577362 406907679 363233143 618045611 495256492 239796934 134902518 837648616 284441285 193493401 603706890 141396048 697567999 509074821 981314980 937565236 367089700 188674044 703825899 862165657 375021878 736717500 58949321 451691087 687459385 930092970 593669034 692086354 872871955 219612656 353423545 143878003 599118238 318709670 454963333 727594428 682501617 972463363 574448717 754092128 401118288 901283258 207424989 713590734 546557891 884877358 653222313 794639425 389190033 765719141 182602213 548466083 950256310 661117910 771242003 687521494 737475630 588885935 797853445 259120711 814350810 440488856 379805322 983371750 585759686 91413182 645027463 436527012 257730467 192771762 716265389 248828768 789226377 769655795 174278566 53723031 277747204 540102571 391628026 858237372 126749079 344194259 489004425 702188168 858056067 865134850 791139523 504046546 935006087 203786421 693534621 276636533 288426347 77197009 144223832 94730171 13958149 863924437 637167832 512963936 86502649 389744712 297148944 975106988 396388823 563645579 901261655 217993553 867923575 106383479 850913325 983117240 627582469 470285138 812492841 161968570 30272382 367296888 330812899 70293480 735391153 593040065 93888979 935363420 433962415 957818592 417853506 122895127 654458308 219988915 684080251 458740217 655367843 769521401 664871162 253593027 903560574 963812244 582107373 924102120 212054462 887795270 127885833 779569454 579043059 174998323 548983365 552007729 565359599 933564629 19205536 59659345 920928339 950486320 530720819 6020454 689385758 299258395 185254996 683330020 825687507 885161033 167697840 944051180 444836772 188469108 35467520 81912807 796102025 718435087 15012347 615790413 613709630 264692187 793206959 904574603 287960008 602007168 776595924 569994536 368100916 492423712 824154306 792221558 983500193 728672264 179000946 590376346 219981827 458518127 170929514 133630738 656871721 106311319 126050227 942329044 667498562 793456783 618490350 353852917 762519698 683691503 440178419 837221884 710717680 267593117 13049745 280221047 472725337 83816131 999951575 612871365 138651203 2533804 342375510 33283537 218885317 791287597 770122642 620799456 337444892 873358657 735950296 765556061 250460379 972741843 961745183 835528921 33696758 652106477 751855051 472002042 941366761 395370123 394344236 443514564 288309345 574223142 932249229 506046714 381342555 531674334 991128758 913404272 862494839 209996438 986702588 909283240 659971640 89665450 548772813 880669124 76804710 607340209 151618285 361313727 27706068 53092165 950110920 475876510 814809840 6675896 12435472 353502951 790828422 525817286 448202783 838805588 187995056 388926621 297666129 449998882 300842621 281465717 631215279 687440123 32665566 874530249 74362566 230605966 318335288 920365345 270430431 577281837 378942516 75837407 194784323 266425927 616955202 385274910 225116064 511557498 125022336 994122779 269972144 195571924 767173418 280346794 103464145 567651762 933350555 752559848 245047029 929437165 760892928 668216813 655386937 392729870 123190433 449875798 273878557 573683663 372142088 104269432 843664037 868509525 14928701 295284918 5170737 386308520 472997124 311668145 909561234 172110044 275566335 162400611 845532660 154269062 572698217 443650569 603449375 829761071 8213619 569319104 893972744 790545806 332644420 349958731 789330587 427584005 569578106 210317061 560281465 494134372 103010372 182911846 487392624 258228234 996055477 353674053 720769463 915977340 566967571 923186155 982594940 163920990 668626611 817539941 903306568 753899747 513137353 853679832 296611590 778152877 123199613 510887169 866442591 14140953 342382496 806263759 831605563 756315492 881517151 889699367 739628124 791724887 742794163 554828927 659337858 223139814 886822043 61069793 86198132 768593363 635324059 285340062 397786423 214250006 449000495 38279191 629804275 414929361 718721282 99444297 38422108 846736263 7313466 140746682 197346421 397857267 687400341 556370694 344962383 373559998 970645780 118084640 712646316 989414388 763056736 627858169 986860797 73065162 450221060 106247576 493646277 653207430 456956052 860194758 524685903 204666179 943678240 294448950 685530329 560522429 437032583 61993166 492743157 73101363 275064282 136834297 134172307 92581207 460444953 712922922 829734450 218196648 492240932 535932402 160168621 707408337 894003192 59882425 822577574 149841374 833934590 721742197 29365390 510607501 838390879 722066148 879094360 302618096 348128439 355699114 954660834 753584838 145383097 761369173 912511612 872210107 214740675 305643824 178655341 917261122 990430743 134386455 240417138 931020996 58153259 703190023 158772580 185626057 179944080 960995348 822577739 585421661 909728565 200148446 2419579 714953920 432896535 742775289 804144482 306848165 835165859 541056956 475292345 190587808 818707288 756640683 183881194 630758521 262595415 789245375 645385320 997580851 33279302 622507190 263075280 909930414 839952233 67909723 482753990 468763955 632504782 510648152 418751122 465795002 638809969 117416984 161752639 225664202 456085076 323341435 250666107 239565268 810059160 936399723 278727903 38850685 628522340 424361219 706061851 776132175 967314715 419001981 917994441 13492081 52684502 658090238 539089795 835359636 799513968 346787263 114265401 158771069 924481649 165259205 147907144 40829735 577268650 377365634 163466581 48306451 914757981 256305209 256749730 339317788 283413813 336676992 775647152 169352392 556506124 33794616 878319913 782487825 90729062 408177407 379382436 697883969 827828571 520862895 698824747 52645767 600337697 85082516 321927706 349408688 519830800 172922088 99273853 860625896 462752899 745654362 789234299 561695793 345916982 243228668 673334883 396315484 493099771 573021823 653553919 712777051 480159551 835138162 374823260 803329491 968500960 963539478 696765521 717004658 169598901 479486647 381689841 626293559 886667578 468393208 471123112 258954945 265092681 216347386 911213883 626044538 882953803 839477428 378607776 992888904 371742291 611977638 809837000 655976742 485648464 912210919 176693898 895262239 184182863 60361928 977016043 848244196 502123012 999625472 144005302 396862462 992663686 642085449 19324333 440844879 443947441 581974407 59353678 926950177 539399221 181309459 737418362 229432306 18918470 324254308 805039390 240930025 697777621 831633335 975070075 264835310 949185950 981746067 241627530 889624906 434824939 41215340 296063307 885803661 960813890 418238642 537202330 699738522 84432383 688322839 654850133 908837905 497146489 637227033 883366710 253104634 940100628 121287090 30020342 859877680 668159851 637622301 594783867 996491561 86860560 626133428 630482172 418166655 461385148 435961397 901696339 839861139 596718880 177787320 758991619 866639266 692208107 126314462 813387186 285123722 465209495 346867190 644179324 881309447 696389841 868240786 787442409 861677526 503407987 972849675 705045325 703720524 680641924 584671158 400707632 519468461 388616689 743129416 809234748 286166586 487308731 23014606 154509362 769358148 497320433 366432679 313101668 324186767 399312562 647942270 493796231 688025778 390498276 959109773 396870874 809695584 261587009 886631645 702139833 194072318 486860030 831615044 785834389 620819176 666253941 266853371 554352430 616550930 649316463 216973777 809128785 7236965 915220168 705334852 982281602 477196600 378245862 905041106 856021247 497361301 745487651 181291229 174198754 927020050 600996981 404790164 815381292 93060565 475396103 32030340 794672941 928562418 249688724 360579818 912171528 849852154 77063905 456206957 431992823 459200301 799852662 4122263 203376236 925145948 353728240 507473843 380770361 894289685 524988539 957711952 137324976 436488963 717351127 473328359 666528908 794488232 785868967 772744617 384353045 785092763 466456770 67828164 324668350 389274545 558394306 344929914 712064151 514632776 439564263 475787917 318364935 52899724 180980402 457678790 838749607 264540578 566187510 498821373 475298642 478742551 68410119 541350439 828886101 427249447 323352191 859420325 128042007 952606332 662822324 748479061 664433653 976760827 252310479 897435405 913834607 251986622 285990237 732945906 203410839 887350809 492725157 153051357 774064275 751163349 260270940 549063629 935391773 402809848 804169989 43482804 2800088 248701570 582006621 405036249 782315747 751155058 746327329 735416463 939075278 258442767 132993470 747078352 221777167 535805567 690277512 92370457 91572785 376938418 752776398 333324773 164884330 60336223 882583762 205541003 957806163 148857973 461915735 626007685 273462059 731858598 684576201 537966692 269640424 948925037 546657716 278155195 778022748 736841104 697430548 543562385 441223849 701001880 382242426 274255352 812025407 449750677 749919879 109847465 825555107 238052913 990348226 18936491 981796162 289060488 298006317 88845556 469587646 854128132 560786756 465062979 288936181 545745748 133478949 558625218 703439579 45432493 336532343 870620148 383546027 178062937 948926990 275448288 185103672 408125767 12685804 285590593 526647065 292161901 200177164 860955360 746128667 397795107 399380530 685539635 896040574 45499071 799743667 433454750 804378061 779350571 193138274 218476179 674540618 293556863 973125998 220932789 819455415 637897881 820551548 913624311 347767698 767518508 869440350 255374548 496019603 122331474 567451820 318374272 66899208 225978715 549025031 499891198 363209517 645304093 743419678 967454881 432319439 450876174 287174675 286123243 821162815 442229653 75846817 77832109 830916866 390538052 534736151 738661206 365194075 530942729 207378508 903551179 12252323 634719980 4851439 83168689 515929388 614428869 732790194 19742946 341551370 114707011 452410620 385011257 488841882 749706369 237334855 611351171 275704794 885403879 401984996 210572218 167318331 847406346 204438636 579021898 195316436 548920633 909206537 972875941 644085009 16914567 704932648 608446546 240356321 508234996 684937816 341202299 307370593 346587233 951624217 250001318 272542750 83352435 470216426 337378676 917375903 791760409 607527445 32664268 103455811 763319224 871840080 60019684 177026443 318263206 691582445 678886224 435559186 889703688 905854472 307268937 466498503 915404847 588459541 366515324 316137986 235151566 668165092 674162341 906613542 169547307 439310778 724521490 701103473 871718560 447732286 253702959 791853910 890583676 575386622 51879437 583594628 563320323 355186697 189204560 25320674 322123444 899864606 503806440 708427021 149422810 821800965 402842593 498094980 440607533 726583131 644739711 591835806 944229936 331152829 136684753 667281738 898981134 795078795 410679541 131866573 102589195 586924529 633086032 260582123 511297511 48304394 989768155 840079882 495308755 29677906 535936442 157223120 233868713 556495226 441230651 4834571 904627060 557582918 452894110 43857743 393613985 877175756 102591239 993395741 74239058 52496015 589985023 835742023 85414862 907996405 358247572 630170107 105932322 557451165 39395351 983263482 370248803 380503237 625984662 843709979 201558844 153438138 203830878 956954876 911892681 566080360 345595216 677916644 850016230 681179838 102983334 526050408 531964718 932430228 619265486 31609705 181516515 16653774 980628931 405450253 765567989 998914022 595209196 278315157 641010017 166579654 920234288 201450388 251698515 520514197 830251991 881916498 217554754 875207173 888550432 143563744 615579828 33262383 979486434 757241657 351638510 422702391 261418163 821189094 393185047 933990304 757192006 768428201 824932428 363175327 561559432 799682039 20136265 274775741 617050538 211097041 397513895 3712634 816104740 698884261 80159902 91821641 491110562 250292453 978325205 681341083 803683653 971816536 855022731 496272152 603088566 44376488 309441597 667381248 578568728 685544877 866883712 560739558 124617328 958444418 602363323 983347483 398175203 338475452 54177441 512271643 9318172 741816320 910078951 695057035 631005948 183528056 34923552 132123198 564626996 730604828 256220658 468964890 556927510 67034665 25792224 991035025 894621039 902674509 410255866 310845069 260269479 718574133 7236680 403466256 228883386 160821146 122157588 664867809 369329264 687147764 273153125 56652386 888371058 471122854 220141172 202366638 881792488 168858331 461503980 230415294 446380290 46531455 201972782 896929935 430478858 354947787 930666533 243138034 816621391 753156818 319760038 266909864 11531033 87945609 492150957 977165792 726412469 482405302 487790335 175391106 908925914 595750972 381104078 617564953 157614016 849993060 739629007 998001831 872957618 960236535 591485121 912065840 334365737 508939710 774702314 630192781 401754260 798112582 491469415 702006680 895298894 29654656 755117770 96007904 424574072 478902578 411698392 119842888 506093284 16156720 166664242 807283177 181719227 979357273 515997254 45686718 603917546 189271161 215881418 8773403 128906191 832887693 393284085 123080921 697912610 312775514 613183609 884799569 900014356 364543875 274954642 733684090 166180491 404009296 715094852 463878796 418375240 702875343 26991291 167407461 709837311 779951078 980633287 234195739 546161219 795157014 520484323 847352282 581376781 910517053 540523556 503125951 996870923 478316042 384814188 902326141 933388064 542170652 450356821 458823937 223126509 79437956 534975578 396182833 149054852 797055712 494440185 708635207 37854835 602244777 148817543 804791492 212285636 173510256 424396949 599189862 589779317 345602567 863985226 41452075 696077680 856226623 715738629 39448091 316438751 965060377 737068167 705778465 865853340 869559843 934657052 246320043 68955525 149077496 75766793 78468636 595330508 942905086 523747694 187377188 59883159 981881 350506585 290501696 140860996 600008514 758212827 110868971 130680139 865469994 921292288 801560404 928133042 272651111 690703194 825449217 538299243 883316642 510055296 791175238 970043183 36125246 588831746 614030354 380717732 384472229 829797488 915282625 873504746 76478054 499061484 439995179 897072835 649923415 860924664 582161534 124091228 914431205 42943236 897917280 696602130 226111308 118394730 729107962 874835293 905334105 870650898 432686363 706824584 428255498 742518866 264758554 88193218 667781676 715217272 680794615 985268490 233200762 141612243 94385386 516219222 338964331 371736659 542181756 801100749 177968670 589338194 505236483 53431342 80457976 488715427 580475741 284016297 503592116 789870074 747258460 776641888 251887222 643433986 780456389 516131736 601449577 42487448 287061483 589485731 192574849 469334856 420146562 61585592 142649893 787934844 627025127 67280477 695323380 904696550 627670845 731025447 414680759 457740959 960574426 60453778 534327754 699894073 271109578 898246734 353282367 874151397 783617170 557078929 716289954 743944162 908130559 893654585 370852158 303050858 672927907 242644573 314028924 277798935 977319204 446749341 606049087 671897508 467880862 960808892 14920466 187277061 675448353 554898138 389009440 321974350 333208275 591591337 84552842 12230050 501693276 392513783 956050357 217181998 568947269 579312857 943030228 18282498 988298096 242131295 232939669 968857111 425769210 203543600 152711378 648138910 664244734 797567664 132260816 478487820 325382112 415749307 607560969 302622484 782305652 988931503 609118445 379235033 503492364 125015689 429803071 511477592 517296472 526915794 135597225 766297028 100550582 28484738 256094267 923965869 542460255 705811156 301233145 125852312 303986880 292496585 783709377 618708703 514825933 846170540 285952322 214253366 180237278 53725502 997438881 283447696 398015057 390862445 631111273 853849339 528523268 549631668 429527605 978323374 695046152 215781073 632282661 187888039 445821713 463807833 371801269 248473333 951508488 396423436 530744769 551760053 815490035 118760584 616093958 255757254 505149933 804690098 477360553 433211908 722813647 745704952 463811648 966182155 552701443 829286165 139501915 616996444 185835677 497053930 356221737 556395679 820927266 957668332 551334230 214079045 415983017 349578225 452181849 490190544 383591636 323472572 529098576 272457228 582304935 905985569 902385028 366615604 801188227 745834710 163269211 976494074 301558389 35501477 386480594 758908846 816213729 440973263 671306457 974197612 731787431 179267316 87344851 47989874 75999428 451082802 25018709 644373771 890108704 265897256 557926821 927427399 589807449 937685533 641815137 691282619 333861923 267797833 400864434 162397852 680862223 620652943 838419873 367747055 346933150 771899109 720683530 661136972 919059087 790595314 944422872 983058904 156244215 683421180 627661448 867519077 289599629 409328388 109133259 230519527 428114878 576592218 222581377 246106499 63687332 521505219 558114513 424908104 159761153 419402255 372679886 235631999 952064427 131160362 864520950 734888944 412438304 198196535 325739392 658617600 49544469 657747148 993742683 917573763 728817585 534609072 203382217 596328632 390168159 145904849 296662069 159898730 501004813 427997807 907583953 645272258 446090325 54337317 136930951 790425099 728282903 948779705 505260823 243477960 254316703 329725896 610348839 523581064 739979444 196818353 645138858 255512648 631305617 999056829 619669774 804977987 312069660 925366977 698972399 440780451 820841239 282231964 283250393 270462570 941145874 313760886 300157490 227920849 651631300 217017990 617175974 359642520 864234218 370628478 374409493 602329300 481824524 214194936 870438563 757423255 274496647 396758196 916265207 648459790 126287250 990176681 371344152 407413028 849667196 840369161 725725978 325729388 573202849 622301958 871037683 956551782 773819874 129623162 275998555 361596806 216565708 940968456 913734931 763616807 836212795 38545505 57691753 886838477 447343632 105006725 414955838 183527337 503231491 806707297 637282010 77764470 439047808 627219983 854455210 400086115 548996876 366643106 737595335 267306755 814907842 87193491 532143067 745592521 510577992 412540320 691755843 212457797 102991987 1012270 659048764 91985728 146645363 197807222 307423028 275304026 788545976 776298979 371831302 35440829 522130887 760396034 325156233 603099552 710417716 669581006 994124758 527523670 247297046 734149528 297748613 115216107 181331792 938134867 905982350 892296642 273696117 58762470 726246061 41414896 536836427 741821426 748017953 659772636 791273147 155253087 361466074 833990077 733039488 335662823 739767033 640857624 604483702 362933551 253624898 836527241 139795345 190906495 768102574 787885409 496298333 701774572 477686554 65540944 200799349 987509994 863068075 352077783 220656959 139147575 207095122 212223899 56463755 178461611 301824204 530273009 137253566 213079568 72139375 764227901 975783972 772534477 636981218 618423310 80247527 996173889 729509491 918799988 441408824 747037842 819378699 29679311 373773741 414882480 529893251 914305072 743223156 998252435 79631820 202004774 273693523 799725273 644743415 296758746 807909456 173971334 78833391 509009514 955980979 175035984 121024921 249055722 402905824 830410542 684469087 559679677 338024696 322477877 691999839 161872196 293933041 883796868 934043467 421983730 507672942 804128275 982097339 204431801 175988426 386077369 604186265 248820137 478382304 852583883 213258765 356615520 751514020 630022050 755610177 503991728 961075454 739234718 712028551 687896961 215144694 299718885 793704108 646048358 504270040 707546236 595844457 296476941 892591440 884511598 847062041 412901276 847619343 366070308 457138275 962848089 373762125 190664845 714999001 583972722 563755912 973814470 852746210 986987310 252208801 337222670 841278306 942150307 333899749 638052417 81150269 313159871 369076482 240654586 349692595 762781245 342908242 57305534 410513723 495190448 315047248 806317444 331699061 315622118 516598381 180216938 481747046 923177569 588794717 366334124 594050167 50560930 512923305 708592425 286642810 676594917 684986978 961242381 83659967 584351854 71701899 659499449 49276000 953207833 910833076 967004213 258949544 384215509 174041944 997367395 322883913 574178775 204565087 223312279 417861188 155562840 639499318 173603810 716074435 764219869 583969065 119556798 674806106 532368963 339605237 387505732 418371860 895282700 997134695 445287648 110179523 322719044 727982505 167612063 434848603 289610572 493485143 283056961 862140564 921233754 672224723 540762663 652610455 555503956 378550986 343001291 586242675 727350160 938464161 293910826 944076407 490055165 792502627 694520879 207672161 461449061 336935660 550660215 987464368 118370620 238859153 462767405 591855172 5951962 576664176 950634462 714663852 37559249 232869732 335763986 293658805 525856841 346082211 903252503 828340545 359360604 615579791 986555359 195379077 539171782 346155157 811477651 45767143 987566031 395393144 300407367 149861631 724457255 565242432 474843876 729663037 95206877 748826664 469590060 121114929 416772266 282313371 644609907 936422473 353604405 87702247 67026826 740702399 631737069 325469333 153861281 253397077 662572081 526601479 691308050 699301158 263350173 593811256 163041952 143020340 629567838 888180236 403329611 270329548 414225266 444939521 262393542 830799694 269753137 832773411 826244181 956219960 334637740 748549687 387254829 677247187 293997260 133944921 818287121 811308078 331971344 646689984 486324036 661503492 570880949 966304870 267352086 452607925 248368501 327577988 699379745 436592291 673388651 412242351 707898072 914253109 655803450 207630534 698397661 800633785 162290231 534383094 494140433 654708911 800916581 138205570 648533843 238004029 624330582 447750956 600914915 433569362 652734827 300546835 288439297 48343023 889128302 284905929 351467106 896186086 667128240 558127051 317051281 564614695 955698046 811347558 755120682 156826122 749924996 285265458 552475903 329954869 611047250 18367548 770428280 317176383 589064557 594347312 82576541 915608965 772687396 934562313 735371026 413056358 254156698 206076234 211975312 348757880 681023245 381633415 860878848 313380507 354952877 632372344 32307769 793198834 625555437 204341574 486333599 687630795 675585737 279357257 103160037 377807400 77943457 958539203 921486328 34911153 957217285 450336753 648530295 830141770 542144637 648968807 43842457 392411748 61728674 103514704 808078462 822167885 161854970 966051475 521577463 954240347 420509725 404205801 965981929 73499357 459241238 681023469 646272484 745915719 852436213 675235894 671257194 922637268 388612358 959906881 480930268 537185651 537485533 856387218 706026050 707303462 701999647 370645901 777963936 141295490 870921621 642155016 19138170 959089551 269835847 884075892 831375220 331646246 251126336 956312217 44179234 371171919 271174265 631201733 413944730 418266461 478287362 831882324 895185526 969114703 313757531 150880046 706095863 780094986 602474741 193601769 858407802 432103301 976804209 429171416 303592079 455330873 528149565 403642893 455345255 833358278 692413256 791384654 485224408 761869056 495029810 748036835 203797775 336686430 428143306 857428446 816128982 208372234 278697520 945303573 999802146 136992543 823409003 183915887 641418768 554629546 114536504 273217093 626849829 642611292 162282799 833923526 920908017 188111232 936990431 928740183 991941617 297720641 390364993 275113648 55739003 363740451 388077500 772552571 833837997 510290874 614912394 195899779 42766689 709656627 819495183 649418391 83204018 759932753 159997128 321423525 988810931 934378346 92407693 20139711 216862803 358866632 897208534 519758855 350520022 688993869 945012979 827556649 50273149 469498856 912650839 24979881 156489482 764773192 426233440 562300930 733696200 936077564 557363949 907422245 773229668 694811319 846659427 525940683 735482899 582373190 883510723 174733313 474362856 915472116 738704602 51109967 63418078 703772869 573295627 493807725 324203498 888053210 929832392 162304306 664471603 823934190 446785782 26203756 24371557 733657136 825340694 961880713 630604765 711814402 190604421 377652519 95491140 54577645 865747953 54314967 845074811 289347369 262131426 999191697 221195791 147112156 599187095 663939768 849200084 363074552 271079112 546318769 688911554 807610044 438758080 62471830 10289071 119792340 526134264 803087791 505397283 977807822 287287841 656278585 589547509 762168642 989003003 349664259 947395898 517630814 169132044 784548612 574863759 784270621 495351359 174159013 606696857 513778639 238212044 97330013 938438022 594855523 526565944 360132005 51752907 678747421 296187810 70929871 819891949 994453638 109671074 725968736 302264829 854183193 750342201 80665282 846272649 568802520 38749883 605641648 86527567 348475796 96170701 573737776 326367429 403641786 340953145 585103850 67759986 1333419 265066842 86081321 613139025 989639935 582520868 999509488 782914613 273506682 452634793 715167614 475212417 244272114 614831287 610200752 297071239 419581481 413272424 574064836 375005763 690032900 988099423 140324139 624850375 494065258 492368423 459709139 488163504 71339228 206046029 796605201 34705941 172755840 658008107 897281183 177492576 311794937 884969430 729292934 794295049 288783470 178103474 279114798 626087559 348493426 549075000 823509957 151852720 636915595 106800705 613423727 421025484 334462934 765640358 747430846 369957432 650362731 537386188 795211457 696619801 773753212 544693053 132209144 173449145 126473030 867380951 62384841 27778113 951726736 236009713 77678812 77555577 380003176 514807328 427785065 924133943 187375377 886517844 778343526 715106652 497980209 921772392 538414323 148194265 967334613 86229902 446435909 88558069 739685648 148226667 286012495 322054439 182885657 560981466 113084069 496512956 769604867 989836554 873980970 367084530 462857831 24366177 281456440 632563458 415583305 196650760 860978650 767594446 243061580 978064969 687607851 513198359 484133763 876890538 798460319 871784210 876533540 305952701 581202407 795394739 671768512 329714230 426366526 712544630 964923912 45600389 209270277 417400583 203024446 934001076 453848189 515770135 491096981 763117118 361684268 572455326 888385878 455518889 611845539 423616099 186243370 718300358 456170527 348692669 284438092 138362700 765569394 184040009 629125569 882494479 443068270 991096346 589347791 341205402 219871216 109970778 493870260 812184306 10038030 93107456 989595371 255157640 811828602 92475560 360900366 558541890 622760574 301212275 84991328 585498839 817131736 589315950 757072534 115774371 352141455 455840567 742807058 61739136 953479295 438500471 189974492 48089464 403518145 74325532 90672032 313978923 340097632 961857242 47738421 362444109 188399481 48764776 8264313 6542872 85803466 903155072 724485599 220166007 559387210 816785945 31781639 217942410 26295664 325128466 660433739 659203621 74613905 444502081 409884607 105715372 168398480 722050717 152278974 549032380 928942249 947254382 36901436 150145994 28149346 455171787 712386879 110752984 248955482 715979491 264680020 142112685 934103140 505597955 53165220 231741161 551421336 170389914 462857483 428065733 945847855 909865260 347564270 969689948 879751570 775672589 305229195 351939671 817834423 925506433 948783428 28613193 642686700 131286110 473258769 433856788 891283775 40231411 15870822 916375169 922333104 19080286 956311961 795384120 424696118 84700959 651328241 162303165 733998617 579531407 750993170 884638952 381352968 702425111 515851251 629866947 438058413 937254651 617007640 279051080 796814650 391820525 558051890 8813131 1302892 149400566 133100062 254244464 36515296 269204116 89230488 556534366 98345741 186097332 291144602 633856125 46783649 605724961 188137406 699822064 430782851 651112236 109518737 37485086 750009158 604191130 709493013 735403227 5630012 143626147 385174745 800798059 82200303 938344516 188337455 999448624 370944420 408002934 445842732 199905559 706109630 850686423 92821156 739353675 962198368 669887800 236020253 69433014 736068375 620582227 232466689 360828617 624645665 779841688 874821596 462370556 200731585 85323074 504147352 725522998 722661624 789271757 135276207 848960700 431029058 170408832 942614249 686864811 568319907 391227980 982655962 800122902 576033880 252754020 569395663 870547533 78349248 167304290 778850815 681418923 667647750 112192371 50018997 604008084 479009324 400205131 841590041 949240724 90812480 892363999 532783634 748181609 197535523 834852010 757917359 904269401 620806888 529665114 207889285 756749774 62156971 838619 348297743 318610973 23152943 731807515 547534609 456393844 285074704 33866472 37688809 840382389 547429466 994109933 772452431 634852153 810963421 805622074 367871190 679023381 339259571 236811376 327339189 346004944 269500028 524033238 110780089 926803214 955618121 830911163 793846202 730187037 407080536 180626189 785750362 224659097 73104417 46516678 861205304 717839233 228845155 189314349 37118462 778300386 541469525 752905059 647516582 394309065 85707914 975214035 445172715 598083841 629890898 598158744 407563887 201697882 175310958 238131870 785954029 912371264 975488059 99034649 801724999 951989438 108849942 631182584 625685929 461950518 751258339 287579484 625053565 901245394 217402470 392138732 107443497 491193829 933965272 304406480 428595851 670926371 533775986 532191134 431163951 190487414 215182756 820128309 416671867 551501030 879704137 901762860 140191305 930848843 533205420 969437782 206004005 309840647 812124179 727136962 797825716 581315164 963329800 399888554 452234385 652461200 648204838 720663364 791599405 347223631 854253147 34330556 750081519 234906310 324963715 365325764 520350577 276308447 5460189 925364593 767257025 202142182 138375473 237281200 257207329 369962827 759508323 532551198 539425405 215314792 760871101 847247584 415452842 627646092 24736597 221529560 340269964 298033872 481509726 54212618 378887751 70655027 467948568 718583427 68653808 583539017 255369466 713648522 695993718 429616211 222821172 994606900 901005287 897694577 778113445 955256112 128904583 804257477 291004929 410580989 160572137 161250427 983498353 744451687 619566076 78683954 857711937 75704102 92136502 7727491 61895392 764322407 949718638 577709749 566761720 576801372 391078104 962207005 445750279 433764382 692772509 365015076 828888179 756068720 722385077 95078522 6719327 171071965 610716638 736475917 349150083 677277556 98507415 394557935 233526792 323512317 336673831 866164193 780051203 314498235 631725994 624533830 772795486 581989145 114480878 556296215 70038946 421051941 419282525 848802310 414809738 746711164 843890972 260885668 752928788 936518283 315868931 111883590 66224160 44126397 403478679 852722627 465483496 304944561 507947182 617868477 604697748 107697754 984333810 394995533 609043243 459475880 844010665 814447430 400034754 702416747 418388900 598105077 896416459 201984518 946806386 762953611 555805321 651286065 905620289 487167726 155525293 958854509 191787737 752213227 852341540 774398522 334540241 470411796 233462552 913255802 650305666 621434979 312490672 537821093 345317163 47436627 868491710 3472331 286658943 845852417 742352176 625980178 422902367 901776688 535992015 489786637 566757030 95066504 853826308 890381119 885748162 283991898 341442181 890341515 347074817 319085330 387830055 445486449 650333555 553349784 745583723 138487306 559225624 394242030 286916797 368211530 601540961 522355319 715884140 870912979 911626550 158900848 256344795 466137715 85880147 415811215 759856589 938184770 919527433 41260372 230724728 62319289 914021586 138861893 487370031 662770269 770114045 494696172 458128571 22844810 906908901 430608648 589510965 980240524 838396619 39892568 966585307 175343992 716711933 659669079 377922810 825094055 585425495 733035023 238617970 299799765 821973930 699703032 778449982 243877340 428126647 613283940 620676732 370525552 930486195 263153398 560008716 122851081 978654984 330862022 640286967 599707400 986327222 838429587 551679121 962744865 314453344 648482249 694058192 863790389 675637223 792227667 281136667 508192463 836901097 827577063 290954907 153619235 40385407 868868682 236254482 756230288 548296121 75262030 178107485 581714960 161462552 323919350 504199804 825891121 466969160 724846531 778835372 902320399 999016190 494137296 349020343 393831743 58044952 862185352 814780353 558956022 592124172 785028127 301838906 604965380 810080128 592733522 457515332 598710476 778512071 746396784 471972739 116736828 964039705 632080013 156549436 149211535 958412283 532637020 554876618 769976447 653351697 908697533 477641950 268034900 659643173 59186682 119877327 440876401 485758171 256456006 434872617 885117709 392138654 608115133 558424369 881939279 343037793 503328411 769047685 121944144 296589507 238056914 299899161 707447643 944978467 397042065 873758701 555111517 761486665 926058248 951301028 438705255 698063931 623861813 503305699 56373528 278397012 548569747 735216146 766561378 763546184 750308608 851703343 504754878 229711880 865123588 769670246 615020335 404830274 227218706 631442430 722372095 295158242 922857116 397618021 841640813 973478081 723878603 501962465 813134498 470531388 38212143 272200999 611339049 859665659 360556856 678016062 533373547 14017564 585397481 310979463 242586675 576944467 361532250 17106214 835538169 859015343 131672547 920625013 507157910 660908149 558646639 816391247 777328354 348595002 220320133 454925996 344646703 609463169 200422445 365450635 139309184 448161715 46783026 640747467 537342322 723174335 35478676 789415318 840516219 2262829 870873972 792950705 482559177 491507636 348840795 845374900 751689648 619949608 510570775 763077685 965181204 462922543 488575255 886323332 775459791 762465160 851943554 393425600 756593334 429387444 981014005 472482108 103357023 352237146 715418076 869279751 893650101 104965704 613705034 864412146 791786599 197133351 358163423 928516877 370965867 466657244 963152125 108077406 990380140 117932800 459025586 658134861 556990073 378024060 749198796 535338800 511950338 535041549 398953534 146910142 86961591 79448324 320524730 454773318 545285241 686506329 191569788 57500197 113182202 18906801 585398205 689328536 324379817 245901479 236099125 314337003 84062633 334398903 612004326 723721624 493399490 234491130 681277139 31028471 50609359 384342579 94037568 512478093 942479620 916346909 240817893 676241883 894556009 469158738 40831197 995999117 5390172 577619017 793014477 420898222 865037898 299974236 187361270 556928236 927514132 504146100 747708171 176730789 752724160 804575729 99352966 112270808 739290001 205562189 489735148 741563799 301398092 240173777 439447769 321046001 765070613 536917052 239799379 170893801 526963863 369151542 193602978 643415467 216512889 470057571 307070454 226854639 70603249 63872397 242276002 401505635 892851433 723381706 435478300 824871084 185932517 470744509 87644921 929921041 719907249 184688385 996109539 769118017 444894460 375768110 840697113 339783320 621021361 858451516 444437871 443354002 721581141 962774118 512994527 95622313 809688374 136572261 41202099 492323616 110974790 589343528 525433269 504115729 35939613 703434547 73403222 461292232 708329957 214356102 674925204 819401878 502350665 352855091 920230422 582244873 394613245 507375715 376354653 463918975 6642523 395145729 9856867 823017189 672433632 984504773 457508708 727394610 558602321 59299849 916964717 810858732 397913518 655840982 33920364 684818952 255107964 774601910 802672382 41426584 705017940 525851072 550272780 96010711 857123238 450869634 67432999 170136727 636401146 682572494 718341554 608504299 606137760 492171229 213786413 829552031 372901229 403682312 329385703 513714516 453697557 41618028 146266499 308626883 192148659 919711711 147438632 364765020 319120554 442578972 439765045 369763275 489200144 368202018 554634224 822996504 331171450 727484191 472863134 711267829 68913326 766580599 109096316 860274978 725870661 903110833 518107334 576397181 310720410 290274453 634296298 541604792 294676939 827452420 323538544 832927243 258181103 135411084 504640597 872255733 751650765 372326915 314717664 516111323 586564153 621906129 835876516 407327330 199016340 393762533 997235352 774026190 462802810 327050777 631834528 835826491 998106609 960300670 33922799 605769374 90049331 672122103 776588250 35381329 616800517 155394788 729713474 886816730 250565438 601163781 444402749 199688353 65087746 535743998 289775319 630442698 634159289 295669157 339030541 734193623 978024779 294788088 179044452 791623936 654045519 723325802 90496949 425076712 799691853 272013697 403721229 471280018 789247522 235367600 595200641 482906563 434165745 47706717 666904892 110135408 687475034 481399484 967502012 887339112 928146132 658045919 710088805 983786043 775647879 695501240 778994949 992805449 928601211 422000095 761600812 923789157 569037823 136216351 836667487 898686889 466830896 36448105 638895743 552189529 632603966 774550552 694300639 648000013 201293028 673343910 653905193 873707609 531001559 142907539 832122710 537401385 892033073 790139390 262520775 53540006 201526247 356303944 392707882 87947853 165359706 380714461 401648602 620185755 507147153 739580555 2747528 991452130 448810792 942261256 789278502 447663526 853872512 766021653 752843481 566110862 19836172 690397490 68331888 608296023 357583430 161372741 861856730 534746294 197833361 514892982 891090604 593824196 752219085 612472225 70461665 474155729 988764796 224587614 631679728 675276508 436837799 902845824 767033598 847077880 545801852 224629624 498411139 570594072 682041480 73078257 215118765 939392234 348768184 241718061 299876236 685040158 231997172 192737023 37596429 159080802 296045071 110915174 379173045 796603805 872967421 625240888 247477972 472689425 910677815 742035820 323638811 897739591 906742081 28379759 418601250 74714527 68637472 399620774 203536450 765999827 107860469 839828631 821674833 382946213 956574409 287688696 89395073 93989206 357559374 965282908 405141690 62650284 700319817 89854506 293320082 301552615 843045173 569569116 361586691 113550455 674833382 693064421 250553245 806202109 488301590 91239992 987379277 985419346 821478152 982881075 581652521 435307576 944780693 230684024 962298316 306344911 532932834 517766707 486763351 73467046 880666185 613315680 275087750 193742646 441272120 306597398 311262127 306946334 507750876 98372705 353425748 174966451 193180580 786533978 482884024 529210261 587276891 714447683 958831197 481320876 82051428 40178579 714602495 607030956 902803271 538175775 461449422 888678985 348834660 972542093 832709582 739614581 888566597 176462850 949345790 449911828 58374606 451271493 394342405 382435285 952508824 116769815 618113828 435515631 888139416 404241882 266108226 322303189 928448187 925120551 527513364 663665134 989885525 426473599 13901832 916056246 185817103 711916474 91861807 360284400 693257793 732460533 866989631 658950037 224445413 405365069 726426115 198450573 940968033 793604089 520187659 102850892 645671286 291704123 976734820 591327281 348420374 512516957 976954276 369054707 502461956 684167690 743773228 435297588 225730045 322898914 399047251 507057003 971070476 819178937 329463064 399826981 816638174 4333206 86594430 865480466 960902015 939521764 85242735 717519783 388827930 461048347 539347047 153225642 776671338 726014216 421514889 197919277 534983714 616280827 252804285 360196440 803707359 703922056 727690089 745262709 829596737 886289078 739660836 774591084 79007796 271321401 92850499 680257452 182518595 407929880 368867851 873890329 42428454 365404581 415233406 826313631 698580504 995236315 282899471 977364192 509970486 586836236 240269705 658006415 961565291 159094112 834195 806201133 468475971 139565459 186521461 966596773 20143896 806876218 565991760 909862150 446344119 558483400 980567295 773353479 559607177 469770530 737062894 815982377 11179065 754393381 861548708 161088001 974182754 430124107 452461530 661167028 304527702 869412149 551124464 518171446 385546134 879541018 479144289 42500113 353636200 553991302 935176125 378930099 51900894 60412880 132791534 9360898 221101641 319182437 169005919 641975142 415281152 894427145 161215855 618180309 39736589 316335616 379771691 957342624 296376064 221040088 624208161 591230984 731899630 483096859 140766257 225844590 867326291 654698692 216500606 957204880 145388796 55983505 68309965 87097360 83968515 452479144 370727532 783144032 764282262 286653828 75120320 766200594 777504949 733391677 990763302 325944033 870012621 68954898 799873393 487112059 501784349 301110848 448505296 32827820 320547693 61868431 875495691 162349800 930967272 342379392 438661474 976580563 226768878 326117348 624769727 873240075 50978919 921014540 805727884 242335076 104032366 532951544 5969503 660663446 250758779 239169173 55592898 662538702 884128916 371005975 41911428 235066214 649111975 356570282 800117358 98721197 962692765 864274910 598122789 578550037 142976572 63272076 469755229 933292620 791614640 157395005 532927008 786515810 602715097 227058285 858980480 289556315 341060234 88100838 362422511 275079004 924613069 66182286 710720288 280208616 865164948 508164255 728657663 590867149 142355238 67285789 11397469 619965358 583313337 417464012 201651077 878618635 345515884 587081232 43532125 428054751 53531953 413199798 804693940 493397714 702176148 799196404 454356719 431955459 787869402 356413618 572549148 25343356 89280869 227034127 959714314 919673644 575551292 237086975 168756911 956988300 325372171 238434212 156374389 595483273 226169832 551447204 792540994 654410654 388793388 788414472 459215492 561270812 280875897 949038826 768676200 739701323 33387476 84638982 620915568 161749119 939603658 834384569 167445980 800825494 193412151 645849977 291051336 157380463 365154094 782336385 983144331 11329972 239778416 977110568 476085037 637690503 500678400 743567402 75816686 503970811 617694860 613557382 683671511 415104659 893975466 669384579 119947787 883593668 142249993 669644173 915292191 460047727 879382901 435651272 813247795 721011439 109779585 768416502 613174348 906600022 717199888 894513110 3966386 386634897 352218536 846855563 867678774 491039134 239753758 3877815 223527051 828513363 363160227 802964952 122875263 520232010 823375092 722329367 508716030 104856491 161496889 684316840 514256324 61611165 588095995 88020543 664911308 345829748 691513620 949181451 441058088 672370573 132424051 895922238 772637722 380005140 355296202 981072977 727498859 954395242 444871764 395108076 561136380 845295300 71127854 302832279 696111367 770395014 492092408 872447702 548029556 816928901 842744751 883646461 430913693 754000464 852093116 543093683 547889096 750555169 473235269 52692433 172202651 496955734 958908636 189579589 847022097 488215460 202625878 760844646 510239925 393646140 759105585 279226422 515790559 981547925 345258465 102979084 99516094 183413381 66612562 610326549 349190338 413644451 464343955 502945276 371252084 610383747 915533856 859756588 926548836 271285404 228885872 707838244 536261035 140684593 415807470 21945819 341460884 125597836 930564210 778526750 736259654 310123502 513739625 813421789 888780624 332312529 739654474 416511756 961054563 810148033 337429332 79733258 969041953 149658151 808262253 313259025 908208351 625067190 496214665 201147670 647438825 783539848 502979592 916804735 474645966 82009743 178052754 98810336 591387850 929427292 983426418 141684185 411211364 771023388 790502066 731201936 237983021 520041742 406839300 967197981 213413504 209710503 345688753 436098915 595207434 20458733 151302826 75965176 234895458 868994558 399806645 830188066 874391749 517539568 679182302 228715438 778527568 536362975 859850401 772440015 608273767 697674562 329575024 957476340 579023589 184829774 766990483 552220730 318231175 38849487 745301486 14571107 793361607 174610518 553184683 836170655 84384457 375855175 136492943 754867503 405912395 545981268 507368563 846371042 13136690 51200171 345661624 521760525 440399159 402152090 63655464 313362614 87184027 857912811 474011409 85360977 904280866 781850387 694598893 309622788 840178808 57622648 378948948 196117339 202634680 310132993 990182555 30951160 352367837 508877612 412446878 406782231 668380055 24255946 370677830 11995451 137314088 550959647 98710692 382697912 626676278 841716411 879227434 377729169 108891661 586404307 344502178 62088662 978326573 309538419 816120032 817803894 275443112 22036207 95208868 693450467 817370175 982358337 150627066 635804124 623462778 870364765 106329210 523891191 86439116 502007565 622263822 990043943 434979421 427280098 30584269 796060590 802253828 685774049 187690151 20337888 336469310 485156221 216111388 949668621 263359732 182001886 899319203 554700891 896561897 214627875 89161957 377863679 221062014 85133075 384851822 96853555 763573949 887775015 358498409 409201111 18695064 165282108 204628270 168413428 446121733 522063694 718026583 798597914 523391674 571769706 59373300 676924057 857481955 449343129 356276705 745355639 360054525 974133052 332938424 162165650 86887041 107896632 107398204 518525740 512150102 386393721 887711320 891959526 913749729 658594094 406112546 701863600 404699698 15175002 252285134 403124399 952639653 909617156 334974741 729330542 786737389 568735879 724403784 976355778 500185354 40829897 930361671 395866480 345118601 325313493 751161754 42198073 793420046 456297679 245991001 371320438 449366089 447662338 910458143 820183347 317068929 248736721 797149003 191667433 608474714 391084738 561335335 155234805 979835505 801949987 13237376 894917828 20326152 142371083 615760128 9396376 185742741 792018631 914636340 527844205 208889353 884368445 980804555 207438284 738354382 557566157 419597055 323266665 636513032 397866640 458472955 772065942 11496057 255558789 882531362 498443712 748013564 618090172 784158342 565092558 439855321 447948041 738620229 49244393 473456036 207518950 6019727 936717692 51079602 105035304 628367816 194867979 46796942 575708221 153791400 774858591 253938790 472417578 117802880 179825502 245830436 26185328 943997169 880130545 892605546 104850993 248147773 167013506 720569772 620413429 607562260 873536685 924442886 131072828 288375113 849089101 436004418 2325163 568516513 425893258 31014241 367182801 644441791 551091548 876261051 428080614 67236395 460809264 694458130 744263624 445629695 692314270 65904112 652951817 792534963 247173984 406376233 382663563 272495668 956220458 951236179 97022688 825490174 58541155 719947419 314706212 113576213 214516689 239755908 874310426 125323811 894055957 286447685 557422840 968066264 313213196 663635111 362938594 59792786 358990095 297079316 66865347 46350350 994667734 16909532 801880339 702822629 700854566 71205243 556489220 428899629 749070011 619233158 926747663 213167155 965270847 748115051 428329757 462982069 930325452 188946039 136949619 934776559 298743216 12792147 477395070 904596446 855286772 838932526 851509903 366432439 82545800 991254424 766908182 38054939 957764045 220063913 392556561 950923025 280865345 368090316 655332215 827279144 676551502 607312093 322004032 128182897 788487471 656328677 947776638 302233609 616898460 823840308 538268749 390998951 921142305 968812229 246618577 849569905 83943043 629321140 195008227 87578454 503049536 975200087 348070420 18586157 81369215 921982211 325779868 790676866 744439419 133950443 793768502 418627998 664134902 851086087 654697839 58308145 247727184 649750519 267209499 248946481 641798969 653145420 721121520 581481306 415740214 854353438 601117898 565422515 49981707 59619609 637944164 162557919 530418237 964056208 56762907 559986818 674296381 297518337 654022006 913127658 378125326 16749218 497547081 601936726 280151802 357961455 137041749 446175146 713636853 195313161 749117115 588286775 849347328 838671124 425992315 921283985 599226751 479588265 783390899 80996435 802292969 972840065 252070062 96848650 895504558 646902624 493853814 831886784 451810595 309048486 510346545 428771668 746894231 944759907 379796719 101158828 978227622 815121595 222469618 372974832 753945352 923327576 254495669 889469155 795183875 477294747 237816333 475969543 917180378 300983586 200339510 627126009 329004871 310754319 192924085 334331298 462378670 435655081 123080861 945932828 16545054 583833661 608368371 214010996 182918068 243154786 231517509 1622097 540706699 473691934 86817356 38346946 916654883 138539619 131525110 68987086 569496821 352438514 791642016 304866097 994021597 301181728 964882086 65876376 110771429 914389256 460999777 170647021 175709367 747044708 551997590 606914438 107048749 238439024 694163653 822244726 136889927 281447423 422414540 88945412 380409061 620387882 560664725 767369023 383986782 40355573 600642273 395040890 627096447 756347866 587683889 744732517 622751804 838070497 303094026 74798533 489502306 418508574 511170285 309414799 410137595 560780466 444843368 548174552 136612760 912650217 884119320 624548899 992948946 738999853 671250523 634593284 19558962 831783969 535823545 525405838 708553851 622645747 849688573 230227622 19438267 485901940 310803812 382926293 95123525 605607351 911298839 917338589 959327137 826785781 828882769 496138396 169988680 664623897 628146596 758205716 302213318 569491182 330779581 779679313 510360326 729095710 413922391 884754996 74822182 895788564 145904890 581014456 586884073 181469184 341061680 386306000 969496608 768353906 813339181 350563208 977451532 353448987 769477399 147584598 761073918 795651194 198980912 579154197 391963881 691390203 616157098 981892382 651428512 725408062 802797104 278017906 43063741 292622374 308119715 479031217 113237408 386710641 613697709 722608664 851910351 50980366 434157311 754297443 621515729 199436453 819437201 762368132 730121260 973475591 665950987 161096547 756911162 837069040 356621825 593627774 572179721 61058424 696743216 520813061 912906418 951096256 617827023 610067675 224401841 957789580 731631814 62342553 475222696 797399189 154536964 509443538 392041195 573345528 933884239 112241434 168382565 380302808 53729044 10464686 255570203 715929358 686786358 444535250 967810045 983722404 836972176 633009411 321795079 107654152 921779537 750847152 151258733 521857220 200848291 395956627 559216518 912746127 983924498 852644086 20333605 996898552 896215767 710078002 693202094 649455368 961857180 696374345 103192764 927010395 493747653 181765192 464827536 766728659 897764312 993666887 401135755 85558898 621281112 810494580 955415877 600889931 150236091 318511635 380261185 935274500 488312408 97489807 797061831 38081091 340151384 438221357 414062066 628887071 500107683 434689696 679901941 213169505 310919275 568263386 128310340 933598562 401253102 252882213 427998514 7507560 158422589 376886167 810286238 572800857 477711555 372550938 526539298 907110853 263585476 470543357 245354823 93465795 934299169 342544518 969404145 162633033 962856149 530046641 458774968 822562435 446995777 667373136 93003357 270324264 20489298 587320317 853530544 973980881 471689923 556648692 668032903 790798791 619796800 641799133 97134938 958570132 780575072 133247987 136332712 658747253 993655075 472140736 811649208 1620852 622890648 375203669 821012673 595410188 831214993 915906304 79111256 915524683 774237570 540441092 293551180 385813658 820591700 596133517 38226689 670042052 415911332 597504700 215572020 589742000 910896271 64052196 406985416 790608298 72169451 807104188 246518963 979559218 936198156 878246398 243298618 466768539 460759875 578734722 116994159 204026120 651386726 111912015 608492875 955825489 728638325 272166830 470355084 66997330 321168058 837853223 119789366 932088795 204364104 534709850 879228000 160066997 215353068 492270366 114975859 611725438 842150908 117366657 983775407 372166849 811729351 470496404 80517621 98258299 960656137 72958729 766107276 949447544 910630299 543407896 317438276 888578432 606949370 532975401 999980914 536891041 716422050 843212479 898439383 69569648 626407222 337188382 325825263 765465873 676197945 48831981 624170803 322108210 552368520 133578778 219557549 673397998 292045604 404850949 878113753 765666803 185872251 906524145 688759703 547070501 884094728 208273978 253465614 546563950 864351299 16269309 330280719 376249057 146756190 564636812 848504191 695525672 203421507 726848909 443305724 552052755 110152120 681923664 771211979 108262629 557195776 923689943 764931351 957579146 467123813 457630193 404740751 762207483 904693922 344889810 468337769 302239964 233770122 66842259 482500875 35463695 160830625 366962240 702124972 910437526 127863457 947735004 957696251 512555222 369893557 331934797 949374872 605663316 742480501 691402690 52337768 425845577 36976092 446287607 942079446 119727080 909533029 731515748 666390434 15317927 680364099 780085807 912698066 223534363 992069638 824335841 335166603 977088539 748678908 768222041 461330644 353894676 857736948 365702406 157076784 945330440 36674145 225589846 649634186 968377987 401770839 492609340 259996981 93290210 432249827 50443147 404911123 437855501 670079019 671801171 705258593 380740665 545170350 831690080 779287767 714713142 84630720 876004294 557606562 699246161 405849562 945190742 75979630 749541050 611992329 289024041 476922207 603246203 969307698 550211198 306571971 152910578 797989828 14985742 939896876 690970191 533930102 505241091 490195833 589066161 673715264 537384089 814949831 349908572 555324749 159750264 945291686 758126856 17486606 94892498 332061113 972195677 684916702 39576454 443530249 680683053 207131725 30420540 606290194 694767675 662263756 397830775 875277490 311069991 392017136 315089827 26248965 574991061 617067198 569171366 740757101 222148941 501413447 611345961 377837760 768086581 402308659 456821683 979739776 179860627 549158477 39868452 884346735 987950713 502695631 326535309 977205142 233753591 974996426 454606118 763450556 390176925 729777094 128027594 536063283 938040050 988032497 965725342 731619037 598641290 859089878 675034290 666456292 458399481 500204622 993725803 172618543 686164252 947847214 331908064 685823889 299458240 136909375 187572811 90583460 838767645 881001409 497071586 418637849 708022955 256403073 896407172 814982596 675563911 350981918 68595653 677469026 757770625 283202369 361551453 271182275 668216352 379680700 62906460 474499669 257726964 78108556 712275917 588015414 714770773 648903879 214565815 780362214 579691440 540050261 962388015 43857776 503120416 584899147 420253912 453775804 15983184 653616889 644811019 230752697 616040236 131152825 912644189 513624515 14208622 385542858 626866059 829881337 853386341 606645769 768799708 686525424 933723002 468197149 119918675 546472530 143748443 868374468 32849969 251749969 414880231 669874614 89054690 785439375 507332139 148344778 999741278 636355436 947871829 79669084 151341285 289105197 647430709 982593066 267207044 955353505 203180045 627533807 91901078 307746240 677060489 567171990 602111473 994423801 938111837 549523154 88056451 126911738 61510891 463706086 704158521 409758365 183884137 941007305 570524518 164777868 546582237 683937358 943333742 264955216 125435923 736628993 418863332 767129753 535394302 265232200 990879967 984205471 470822494 223114290 986316962 628673434 379663922 259581803 110806002 256593438 139812545 954305776 368788261 597852935 612814590 178042568 829883697 79026 306990027 708199114 40939746 966511918 151566015 297199551 72222832 38565312 418983294 625206931 390538083 171572689 766761457 155201397 454058613 966995852 668611885 384763086 340902939 513375686 60050654 579574271 616739938 379818366 385210691 47286068 253709758 79228145 765955678 947698627 10510138 982663188 85033903 651829815 729430498 341693853 298414758 680522903 85585680 822461907 816241648 590563401 206456416 857625181 662756667 63201651 192466455 464363378 521091806 220499999 950475399 677938772 551161618 676796452 483798530 480152738 736384779 996635675 357940510 371798454 174388513 388181526 462730123 106924687 174969947 29397216 497053171 379009153 946989463 240081302 708803059 594664143 867881107 646575880 124870664 297660000 437151971 287557704 447018730 385797358 467324909 272294372 882928451 944426882 387982914 659652345 343806769 76134885 625303375 659469319 519423572 127824578 380331164 760887476 94754201 222059031 118252843 691280355 48969333 436029594 407037747 875871830 2259840 503163097 786255202 229104885 398989075 468933084 455917957 484529470 823599217 651316316 447123427 523854567 836435179 845604129 758322600 630024878 151225938 396607862 536623666 511892313 587450786 906314036 43403106 800058187 436538982 125564205 626445588 584183059 124803414 426322903 985774127 148786243 930611062 950604067 428668815 407213310 275815535 52831474 822290836 69752229 125069316 265087701 399255833 819314085 436818353 130158434 851629106 382632899 380182156 946816610 696596414 89361758 861396060 858081815 834787472 670829805 638464426 576890680 610121302 904884053 891165959 877192621 325007973 143066049 849197789 32153881 717927777 194995004 23744768 963226617 161168732 49720599 710152700 942160388 541135227 890466019 365158024 984986856 223752291 712850819 130801317 967380604 994260180 486989985 700217388 756966083 976311559 802525557 422891123 405823621 810139303 778683993 419980028 109154505 154550182 760320994 185023579 350749733 755262264 351973285 403742862 9634117 850631542 515369495 769736120 151469657 820226649 198584397 760462997 391112068 831417901 326093955 478063696 599493526 753314562 248788881 323788666 404477628 764360532 196187992 276237436 630493619 798527528 180020500 613942120 349464469 613464312 805421306 231806502 75021526 364803306 411376061 784519999 829322622 171156338 83157214 410576018 287760230 644224768 110339993 841025023 474183534 941555967 767670107 309621271 659006170 400061565 337834664 195482749 995531705 372975148 296676485 83421685 595849080 825842098 10547518 487819944 873305687 787192682 36751593 601498648 718373169 872201965 276787669 74521960 401256048 945874061 776180189 643545221 921643167 195141319 70567981 794169771 129831045 115433635 495795289 398149249 817102376 610757478 565663196 700364497 890521880 972089072 549030464 458995070 644014825 379115440 451129706 751471910 21321125 782496226 485301648 829379641 448076475 81077660 138674746 580656627 943317718 321861685 901036725 804833261 308912313 438155678 322513276 272174403 247841652 149859590 252386257 856640562 915824420 920103246 311300737 820440612 244843606 916962229 326738475 906034387 829775414 437807116 422085786 235874059 691909140 830309948 641985517 91777012 465720217 341797310 447994294 449872802 962407549 688559872 571748013 314904532 830469078 837548409 11111119 198619392 988511916 410980169 601142931 148559959 92684815 64773630 218726870 552990584 800080358 491239720 143698720 639235430 407815720 648451336 621440323 854157672 647256948 37932592 857062731 776950499 63049649 800123973 710133770 709772018 818012446 340572016 866653496 289021372 481863564 644739517 450317008 989675092 294614772 463163985 914710552 148678006 483336123 724884606 936909756 92563920 724761756 28834613 869749372 702995996 28404339 769682201 615247234 931987129 803902584 919397328 857163795 356255208 151020203 704917305 144612488 915052145 55218386 104513859 648952412 557137708 709718877 244583133 190494788 896948226 243622244 431573244 230223401 379318987 659181961 734970053 544272099 134308300 974645510 752912089 17087298 850419855 169991164 531762330 403311227 506047614 184140863 670718477 347294538 718520670 758851388 48496148 505863763 747309609 658542885 227442452 669418285 905361654 627181350 5916557 474730824 166451782 670988156 89791685 250444185 506153275 718739268 582883649 182149289 593690150 19776244 374985589 152325399 858938147 770706457 994871410 51393266 75262827 409613272 371776873 375875799 942440790 286852019 226993756 309146612 240832465 366198713 777950529 495499272 970243319 346334646 104522297 190795975 558867043 296466602 194370741 754715768 4573191 576402960 130666476 457305328 562129069 363248480 174662850 571137864 944891478 957427068 70476379 135171352 252194595 498072858 361576305 534068247 894898131 381532171 351387596 290873932 932331407 377009184 916876095 354429256 759174113 180667053 252768612 646993366 842901036 733073944 858408225 463487040 763905499 824888754 856722010 101372897 978425259 997343467 476193191 825201626 320752432 249697567 528797000 256200061 292591193 506687695 816507179 305549077 669122077 540254822 69967132 766939562 304792455 978721259 150353789 909267397 499878846 508270330 419502623 650175772 895280659 17542478 943013919 157328117 566813821 20155609 433274568 126364144 926585826 368590706 662997285 787381486 765790798 597785299 396467266 309827328 630344225 772142805 855197162 143431967 839484146 558083942 561140717 574846330 40983648 660911193 371913435 297506158 30268288 109090996 780786870 713678813 762241335 826129949 641245504 725021783 227071634 608788551 721027792 184028451 670605781 560945887 568022940 929218423 75683233 18757181 19794751 431395918 860870157 558958960 828233620 366123897 391015422 527998274 940560833 787625527 736368300 677585328 280846854 530879651 793046291 381010591 98649349 545793188 570331522 647869424 971372379 677525453 310905710 382596239 341250642 498385212 615227121 969764262 677317897 235519950 981116667 81988556 780282307 975841434 448789705 490289039 431820424 598543484 910850797 545241712 120462651 779769340 327486589 377852342 677268184 160042228 186721482 442898342 254762777 898583985 500680936 656550352 681276671 990676818 882520633 482084300 877055479 514058978 296055459 582075793 571809702 829078319 612542279 701078747 268884879 677377738 271741781 619163372 445977637 557613540 914873076 841350380 167606070 224265061 45062449 754428026 409549762 687875262 603812873 523600910 68360218 548600727 966493950 401496728 462273421 935850608 866489891 713925132 471733937 70532328 505054629 258484928 836760535 904432403 846949490 872980908 147428665 240131311 976441280 31851130 431773881 472945062 360786668 800022157 597038653 561323509 401696668 903358340 239572034 986012309 636259473 586036969 22648971 334836531 235107691 3878882 802907017 45461628 972345258 426235053 23601110 59923654 645223355 157175107 959707195 17725106 768190581 306689959 13597584 884177042 504875930 627784397 800246437 512680122 181823362 958804246 19644186 849372626 118901322 253586192 434386284 539490119 501775361 44080995 395823639 352655533 984059625 273579483 350781425 760298231 932127636 219562751 455273915 362308760 825300519 292044466 876482939 550714689 953876584 382618602 533921977 722835108 825397044 152472558 45203852 279010786 28199800 340463415 831156488 537505394 394421141 527130606 710550933 363442740 308235834 668300592 133176134 739103541 992619617 948173551 224727177 486575916 782669259 653549768 862159182 282617934 150124860 639403417 68498729 884197023 750289080 352934870 139138724 800833489 306703039 864730368 497366045 952549503 950699931 422771344 802845524 803330627 577335418 742130702 870542833 97922875 629300479 842634339 86239061 90568001 96642260 97611457 669328560 759972700 186881531 192706291 442469437 846743175 69543214 216094123 455880288 591498808 320151607 91437979 928420497 514660868 867938032 766861142 893200558 858458106 273176812 753153531 401729000 71989058 359613874 484971262 216487044 667069828 191177681 487527201 648525378 278151410 877567566 532055057 447854254 641771457 581350328 764477359 208727081 494606269 288291875 291045991 725674460 75377170 856564107 857065946 370587560 841735638 455326478 901998207 624859887 752316552 521971718 241607744 157008055 839412034 433386411 602695839 542147292 378527216 178430545 552370710 731603533 128872636 498807733 640455895 453998180 53016061 955595038 775222790 319790653 903877320 308644454 264915283 622623279 978992845 620468780 808991774 523908581 485313527 67917975 467387037 107795464 440577821 244734630 273345827 922100968 877393267 270369513 814396315 223259448 931662199 82032069 624299407 90458587 159377332 626996921 821561590 962980043 15111427 326496279 49404676 668029762 842398351 864465149 738317728 259881745 95838665 811843660 506931475 854700773 775706612 509440794 594420385 110415802 838803149 946194734 408716750 332073765 459020904 54970521 657431759 980304855 801510145 531284371 554736079 711103170 673936828 615294075 855838924 256594873 515945270 442873298 98889892 868153845 768411835 96736136 654491527 67008626 643942346 112242315 582131598 681374812 299734158 513218173 929439086 227733261 726193981 875920781 380039038 82472729 633403225 695176919 20100774 351983380 432964536 359246564 960180256 213017807 236893050 576359523 70717752 329806134 276844146 950083588 384054419 311743791 988099392 416725231 363906442 160907432 619191469 907242711 853779955 140719750 504737580 411858326 91630059 993136673 68057430 360777647 851028668 895988243 883651213 305263845 888604256 76786223 247625300 841540538 314220011 606899815 50926267 643000330 346588109 128017078 27454469 721228016 536595261 730297861 390580929 450556092 159376597 604803698 882694666 273581398 285300578 856815545 414971831 823233316 161789169 581054328 123167925 740224147 46733280 410913651 555674976 110286486 354703962 681571323 438465603 553115092 729117684 735783366 467916273 503507958 737946337 751331584 142665950 593250722 330369900 585084600 363062586 372094468 200984068 110918802 515546314 235187831 167450777 146454293 283476304 296664940 293374221 964019160 920823819 282166525 31059495 761511214 855392531 741053837 356406038 220135020 167781211 322370856 969688557 723869509 557686177 738446508 850043934 297728623 385727632 616821216 188955338 349735544 288009733 303119535 68657299 894667507 52524707 11138895 341543351 481153827 209893145 281478920 943967920 282335831 492733510 295817393 2800827 471021529 432947946 65289851 749638736 866934965 2560530 144985191 91573954 251448824 330242167 683427818 327824617 307672605 455749544 100934977 636165538 532606465 778690846 516113703 796167078 875395119 95391345 248510441 721879977 347738839 151387779 132088777 999380997 228367838 592541493 472427774 506302406 712411806 811522145 345681917 847563633 75064581 403108397 442054746 352056792 610861849 506839040 543799627 392145147 131194937 32499844 915620626 178089754 987515766 41578223 222183659 360054735 953937256 483283486 443983281 213080438 591307892 651101783 251768159 543459606 750693542 51682318 65300267 348862349 317140674 843244996 867593738 569771456 348230992 83127002 857442432 72459053 738992589 257147233 869771838 258116070 884878403 395825059 59149882 516026607 527512345 69354555 459973205 674867671 384904730 418692438 823955388 493417857 379812814 235256423 569637218 28653042 748686873 794955129 415391793 888199205 883987787 37940022 576500588 583924281 543980942 964641562 151354944 982020462 599734085 53193955 892330705 612082991 380798885 70252937 603849337 775436359 656722454 64912217 110623121 228565934 264518323 69734921 188420393 583183897 169546245 33640340 90820767 356678883 786773386 989322057 175229098 555083344 952881249 881939938 171248380 335728174 672047202 603791274 719839472 17049675 234849712 584887361 604167794 625927338 207691729 463367912 951695576 365733194 711777709 254705595 525680863 674566778 706733410 59577488 815250327 999649050 189187182 722441839 220993187 524890224 869164857 202280797 178553322 750774506 79459626 208717740 310611729 321974446 410719520 390598452 831431779 365764887 252443485 492527641 245668853 503566255 56581873 524584428 202357416 619334038 149879143 322713585 102703597 173113368 896722902 321468411 32041405 665034169 399542250 927382247 420283070 992694348 243463216 175259600 570563844 649228767 534971348 762345344 247237609 867937707 876906820 522431115 501019047 793689246 390758304 326055800 288968300 204839710 536304068 273611035 186967716 900350163 806385382 60950000 401772962 803203158 39729839 304690785 753327487 517952738 186265035 960100095 697678949 723669298 382006335 666933136 998159897 38284703 276357126 529072486 139831718 583867990 905510474 396607164 485530272 186200179 683756555 159622140 984264569 645138089 695201133 126403897 431169975 98693864 903021205 221604454 720678154 462580051 455434701 281427126 383513503 287491761 481986712 362364909 337445817 614461335 515693237 490903697 919504 346337297 442990268 960717848 859743833 611376574 501967041 352334574 659007296 697583437 920590074 647087942 63441606 883823017 842496184 700460114 522860229 82959702 357251502 476460000 937377656 864495849 369309516 839792252 514939150 226335954 581965862 41098141 669501331 906522814 826843591 146686765 843454845 724304369 54396520 684786319 29624421 583260339 955179025 179081605 950791601 160129625 122238727 540307022 293197162 929333207 961632377 9899564 649259794 945278526 532231552 37659039 862831899 970310790 35665453 738109566 568094921 868980539 150554320 127991278 533456610 772119767 109190369 246710738 778869964 870377564 503708041 462986804 84594795 627760767 73077301 422182408 708039536 7025091 516000644 281823486 149672832 530276628 833803450 416269992 645557014 942112696 190040528 892045419 240126533 735125209 875114285 349851129 154605252 433226085 237032018 998506207 937228132 913659200 522782997 398994156 143380525 526933246 690966219 972719110 126020924 785302877 111565153 300362621 796396723 260248868 200191047 569772266 343892313 36394551 792395551 941197619 989016080 360665425 55235104 30779872 564049011 526235558 117766080 266482076 604222338 927905974 905518732 251190201 209593500 748724353 323619449 480167709 445899333 406062561 914702560 568803591 583987924 527102864 940369401 216705724 89828981 511650584 943506339 423033744 742753556 368461278 972686739 859200723 526744974 598222033 267029085 940967750 647418185 403120635 277639029 403525687 435325739 547648805 862197325 879105863 786837268 375304811 722428684 89826112 146386586 487946677 701185516 392527537 835533683 139931230 127446203 472704770 863177344 267142680 739782227 705815654 491261071 971809704 735758828 985994385 836939879 650953634 772705682 274831777 327294224 307984272 703962902 570325494 371279019 781143997 220428849 698560646 765645059 502126559 715467172 243993141 995237051 206165767 926204201 264274557 949747132 255422797 542939790 881554546 346056174 919504439 504873712 48738097 517796362 395288902 906357406 283114951 500738788 790490791 886630783 650971636 890733661 528146087 901441985 793044528 437026896 710454111 782051439 367089952 272700307 83449693 525897830 144554228 789040325 500344478 172658646 736435160 400536327 547078753 516166308 883095486 956642473 283383990 273075291 91726875 158177395 153083087 351534972 195492105 473578051 505802804 516878593 650454484 318339228 33244162 279687640 629025727 92655626 276995087 753872049 181129738 544549261 847456165 558429859 625515978 646173781 974438583 712870067 62196109 428769464 122584461 435676539 969611825 168865807 541607238 355066686 360236747 623950084 526923773 301830136 861427658 515297769 573627139 286801726 604677772 48067255 942085983 335292084 897710245 964234011 237514201 928373865 858548415 812302783 522136867 689565208 421907856 383797494 759175087 947064669 691352306 983749589 872722395 320990231 537318656 562162422 215719773 91073021 372637148 445374194 24292938 997448569 222381107 210629822 439169222 102193230 752872990 150322536 485226382 721542256 14693873 970211961 732330671 224599205 917308040 410226783 285772262 814460141 647156689 48540965 813908859 78087081 856153783 406099524 210700321 638243883 785242469 601759571 577937352 991672656 396718597 83613135 191871772 891674806 405819282 624444075 604236929 37043544 889534556 667488249 795759566 277674897 359981948 151562295 142748271 944576670 234613816 232049563 671289267 540748593 828930522 110409405 375380134 58195346 842790990 600225462 519100039 773570202 993823860 619975416 883014078 367416425 493882067 401775096 891886787 730957296 126278215 409016616 828942194 173529887 730443482 874855285 216662881 12790019 683204874 324941730 838833641 84127015 427006178 156312951 478653893 133632070 281108493 3187990 155027210 859571974 416394140 469232672 124063421 16037928 875729344 280180006 67860320 403455844 57128816 123717891 995377011 225831589 542324445 855859234 414539409 35322317 979690585 229415011 568553154 176550340 607879618 724124316 776097859 409363546 170923400 653876020 754235989 316740495 58552464 37615370 235581592 87754442 693720305 580311115 881671864 846487171 762689108 675928238 112667973 232806626 658540065 875444873 786526010 555558394 50477981 265093290 681903377 905776104 807719045 116058062 592114730 205892326 65655237 859147417 865085841 634073360 658644351 805477656 793168955 813592701 831664116 965506645 138646874 290852589 330451239 56868121 644727273 761996018 459139570 90598942 38044667 833529398 189315074 390069923 342067812 254667022 239660327 177734794 480838624 763917985 463655487 245432127 301867346 668463960 505803711 14737612 740840998 708247051 183436703 539865170 949506704 79133290 580951926 486357675 941205204 149212018 342014233 503911131 357590911 845454393 607490122 38868435 841583289 468041570 774559982 767307326 210313915 419621381 673381466 249458876 920497194 866524265 94796007 701493596 689676390 429153032 170710301 671102012 305970489 980377812 903914147 942837852 467142560 558378623 19524181 251053776 203473362 353080190 214403534 159661303 323398991 179925971 3081166 88126675 11903701 458681300 68979720 115734110 820404397 15979342 927579009 881386574 919346331 232972881 983700871 651788257 22358670 225278329 650004422 353962296 989203807 317363895 885518606 912439375 247031036 515927918 794158170 606565309 786534540 37404489 773913047 888612577 746247074 44156354 284861745 561775822 164315188 744989392 160828580 398733897 361859996 835161155 142892061 555547551 590884852 929028101 397226164 420042473 746828564 966843129 460960492 88157945 108344407 295294294 892576672 604044507 268501879 135343915 408922072 330383196 641639004 426493584 253019751 113485625 382116097 833137547 672794939 146055916 443268037 197803521 745749566 235091103 198143529 456580318 413121379 536672557 535223244 327201343 816154244 607074726 365560151 252731288 666442765 474515073 987336363 38608997 224997096 719814556 54657494 288653258 196803569 457268449 597183367 770228073 283929740 421745357 526951417 549384489 831902625 641093724 275626125 638407325 723570557 154208118 757276542 179041076 57008753 537509166 25983389 131960005 432299592 549201641 618594371 139279401 259279946 813390820 151196493 184294952 103910338 123912420 289044894 196654036 607819685 688111475 850919182 954197632 757542444 662166635 18329245 302294226 223786864 77726682 370673863 875868319 193188813 824166307 732039739 561668042 114982876 54086836 682181850 159891956 775860180 147552446 274708511 494792140 225792921 792241950 813592175 809085849 489394801 617848850 786728504 239541011 658137023 408565704 812767971 829260298 164561317 433839186 859901901 142820725 615117842 993044990 186187603 656367707 47277243 169274974 220316932 789201321 695534011 260659160 766834058 392998707 677484280 559537955 565827542 225010537 469535411 846483154 647946721 575961264 235459303 784524141 240907324 63234825 975745954 698200988 17467186 112400845 513442245 118120752 364402458 561409608 711306801 271378785 302068573 123410273 297144951 944819536 163309470 535453369 109727062 703161901 917097694 171009096 201453353 241471631 669167229 399630163 433905575 266167032 679892909 635521308 511207726 82954954 90451880 647065984 996762731 640461833 206890575 826192051 905486945 572650457 476451791 599289757 842896626 165706598 630582655 960609853 567002639 507554729 654055270 944983852 670809448 414318712 218902655 653639342 427360826 326557672 833825552 823272069 780125779 686189936 529772555 508609722 429409503 767325129 116343580 204558382 146294666 879108249 841121847 222538777 384530285 582596060 582225585 517494919 442877892 504286560 814641397 362702057 626674845 969817877 923448293 2119997 8608329 943261743 392169101 595675955 520772717 68675324 227206753 574526661 953981835 259452673 346521189 757905322 32191601 989003020 396377646 181777923 46675921 982775294 138080871 840905156 222856722 546951740 747044258 721520165 292624657 898441953 239303785 293630393 150633609 972133246 967833454 708773074 367484126 4857196 371689771 81118333 582762732 551813617 168860469 617456549 339294371 868246448 762690361 982760232 333695446 885361642 766944323 974842506 761063896 480541649 63784799 164509965 880485924 385508996 279782225 394891364 163011925 595773410 346532765 645926287 421968583 922216983 767878815 203761080 319512485 555492013 838233322 883726057 87785164 16703977 945033725 556130276 281076442 471757643 508689659 680476929 703944521 864517107 703127796 409097231 570700072 51895281 83791015 344797857 533143775 355639558 92203634 730349561 459628800 64745875 923664759 692246593 963221484 723764527 303668473 432179129 553960270 765230018 153603853 858488594 9330457 500955399 760665895 580323016 35961784 493246523 487902647 384406757 80893408 321338821 480580846 627953329 349152490 81472364 645174278 57063470 802964901 335389876 528502057 526186696 95830116 911161947 795394509 551827401 244075592 920372486 61864558 917902942 770750798 996507267 475002928 98625460 213759654 716051496 863882293 565247934 180507580 283974502 743645976 587950438 104846783 74038384 552147457 981524123 568302809 82555575 184281505 780824186 54644226 337285660 274514967 735188756 975847725 415754061 235662793 182781655 122930947 648969468 321768092 403080690 825701026 242985535 426080814 639871823 752311667 728526844 114486535 336957113 489053149 72577340 515918821 459666595 162387767 492041235 482346043 169453737 696997327 992081694 279795208 190324018 940245451 199709591 326445986 187059507 392914415 326209580 988729687 915962144 933352208 517134638 53454828 307321735 231479168 663243458 229493006 287483732 353815501 542952689 317545547 605226221 476427938 839696480 101277046 842094784 737237514 835409071 718773503 656458761 520865230 752901997 445330104 356405026 586856788 621096152 581782265 122649389 665943184 493859735 45499949 677935328 132926304 235981226 566903158 784997930 412189814 481977296 830674908 709025124 833134131 883075872 10264432 738633289 640185359 982502181 130454911 292057979 198826571 870096015 573211020 629250305 940650016 776636412 979742399 702801437 947468883 938631752 119795915 236283952 724719482 699757331 216886939 855677816 784781888 718154301 37381343 137880771 133761338 400311345 37706450 356939780 665347701 327984116 862417116 911671537 545022900 292929696 115368796 835251012 717762813 234066335 641191087 39934720 683681006 416025601 716747511 82613374 226935051 295842322 554155810 692365524 87685226 12806313 564546571 827940955 288679756 59695104 338801938 724415538 282785080 648373930 7438851 629479599 527396054 115903255 743446194 908290088 265825547 780942081 97774485 980902065 213171392 863388514 94395676 755257484 896049916 938650253 565528341 625866624 613950341 646253381 878561272 728911094 370938470 74026517 13316275 69392981 675531690 312873204 681899434 535361967 451654229 725031904 525496129 858314442 715818513 478923189 531034812 116017263 175815905 228777967 896503754 27330725 159886121 476976019 313404341 445776662 415347264 596633017 461609709 372117892 716248052 957533706 490248772 103792811 618731407 284494183 319696762 28740145 644945385 866056473 66307692 276637432 494166540 679418382 542147357 38622986 627349483 135052052 72351523 999045751 89567487 140646827 445300665 876680794 47705639 580139220 975463486 631953870 122481205 532463259 605037923 17027091 435296133 247197921 594152227 180266901 472355342 529095462 699281576 353310268 314534333 977975674 481705858 600208246 636079256 103064022 356174358 402485593 472660791 775153138 154681034 48076227 450316527 680924006 781742193 431159631 106643871 555722700 964215087 481789233 707316364 92240160 308015533 386357722 601209470 328856800 246884639 186510170 235258455 354940388 702469608 261442355 603599011 220554361 236915375 357557847 546220474 83357017 238321783 360083618 624914803 766740692 407221215 437165586 834832073 299209267 363919057 689739166 867165586 891052435 238418723 548750515 88436472 457814242 285314881 954324095 659697977 949144480 433013202 110268779 699819345 995540565 110244011 520416609 134091417 47825972 176492931 98346721 661037165 751048676 787111063 26758755 49304876 715140975 733523595 767682505 205534185 136587548 628868706 467843872 897830779 974464320 884951276 89900664 397104676 389091012 714726136 105271506 992618710 96252610 955742542 118378376 206188513 451445774 994347241 103473794 710482729 403453202 755089134 341402189 945654251 388130794 189947245 32423513 447514503 952733786 818558051 509531005 244485701 942811982 118292219 860371664 147943270 689122934 189176857 13330986 432671350 902086940 14820594 962202257 255914030 317278175 525409972 562019274 445214696 541129019 464489096 704961805 414049445 965828207 776806435 15445037 737160756 2120095 1713368 430868062 675592343 747237976 687591928 177666186 479804213 963988072 496009786 453957664 643014837 604478219 438660171 620612673 434072138 475357399 767578123 62579931 678197592 948072961 305868858 186565563 453907089 856199078 749240841 380610059 723999905 646458718 507455085 15629013 62455808 535711239 578939780 966487682 68106201 389704397 318535211 283976494 45808577 165701102 987039 824279653 155888582 815771021 112696068 478115279 727116563 379259170 57805280 24636049 628737070 512374184 718602950 462688966 927752879 845632290 859139256 516347870 226561501 865784487 756674770 567434185 887980628 790380918 136116203 496689782 851655405 671106877 475521399 604573184 623570320 41146028 962871224 660929050 525949136 652036470 78250683 668013458 512917017 484028071 229590229 673719068 66607749 744261266 923613578 380278950 487903219 784638634 996039437 744035165 215468816 316461864 991758996 544979506 384802995 54360240 324486729 34155121 470235616 135543307 336593654 374430809 914369454 413123737 661857017 449810747 359761581 537372349 298327852 14418957 830715033 271052277 937196554 62377702 181712557 341627270 197840094 151001295 853279945 581917362 673092558 316063259 681322024 285045613 565635428 321212402 896148823 960367493 974355090 818516403 949168496 3868607 398548157 670127313 139698679 623779199 731698676 840497550 465291086 32930984 741994787 303014298 238311647 672802234 446681294 439800345 650533719 151813695 928640443 985284045 119135444 634617846 541235707 242359969 659190981 648725557 115201688 55803425 240592304 121733384 18860594 324629776 435665811 862426685 618711121 816801131 783446607 865831468 735420137 431441702 211846741 23093134 447969750 349875886 471976067 876625845 682012115 425643027 670551198 17364526 364513426 579731269 972269577 848634247 875811543 126837736 42075347 544951693 645511835 587732009 152061173 13118139 303606925 20199351 978354223 262819927 933042806 702593003 498105070 886707213 818028966 610666053 274143867 405905160 175581792 155412931 761095981 309965155 516672062 401443021 717519573 641760432 854831452 293897548 677134484 358364333 680212997 743658214 939223136 716064356 940664052 661118016 223983509 405932148 487695421 953067985 283861388 297332898 258664495 103348416 318517955 545258874 461281286 580480614 313101977 928545102 789877663 1268426 909075915 909322519 972956464 910605434 775201120 345151692 399648921 583215476 279311773 554062282 339431693 532530538 923685716 798860628 936992805 239243419 600224514 325624528 586064866 207795605 915720613 21625419 966351200 702000920 248344527 34541372 649801608 924450219 77015990 413619539 535297189 902904456 848482580 417389424 258799136 108011677 136595778 220478917 423609724 302183098 963683500 605169830 711198162 514038385 582619686 174104682 987616958 876568791 801676204 667252929 305674250 659005116 380059975 496468563 605987974 420557701 166812215 744272009 876228063 396777756 506884761 584927852 143460493 601611984 641915544 386696325 738096817 44771958 174437650 484665391 393958384 575973543 673055689 716057456 965471705 188937487 797539614 856636705 393612430 445625477 919050008 586362274 110383275 860910703 458848527 221485629 480339112 955286497 712612729 739210056 174027410 561739268 57912643 505317381 85465467 423388523 899316448 355644288 987679164 916580959 737055391 398754987 140473568 63960394 369590296 396657580 167443859 778424616 919451127 680434446 975465513 723722133 214187203 579385715 273663740 935427037 953512807 61768107 527914361 17295017 360123219 12973593 921055301 752622134 968560819 445096504 92968305 465695981 214839298 370275196 740269334 944929438 799120635 115308785 165570289 659986412 20849881 231845897 66101338 834655834 43672239 843414645 197324694 583487179 539223283 381624537 652029143 570784820 525478639 822368763 662257979 3899000 773059350 729539685 959484634 405556109 792402460 994986298 438348612 682948830 309746927 171824796 747557182 240529828 669922284 272850164 188120855 911011942 898531978 776157350 991987561 456375107 138867813 270958990 103706921 283419438 217557252 197507221 98392517 38426794 841024985 198348556 468284587 268131037 300880719 720768165 469059319 613295521 682459111 969759862 963047837 324034915 797997822 466316914 28579990 632926668 151876148 235463363 31819453 597614351 195107918 627491336 379753031 208877286 828173216 614366457 597124567 611504036 546527069 286796387 192370852 787663296 770709002 980900306 533312126 98264276 277906709 764218133 294020274 415591906 454520285 611219893 844051147 5722424 554632068 150699116 592772795 631888053 780061452 841147880 198768824 144418762 955153035 226786187 291906962 391793106 284179814 737863601 682461875 37364067 752957169 213640799 632258640 719235394 506584422 483185655 283461496 540821360 154393724 959575156 628485196 606766966 877538035 171036265 863024576 615870664 642296613 26770632 47708759 78379422 28194559 959161081 834921008 713239279 791007471 181772753 430702630 980344782 704300439 354175211 197870343 324221312 160705501 426860 660788110 588087637 323519438 44868017 38450076 403162927 700548908 130079484 398527720 908211711 528748757 776574687 432798714 297448596 542020972 387623787 510013224 319216542 219371123 636854157 65017837 636350437 409462864 172157334 841514903 565491451 181015568 364267472 150671609 127378413 703387103 456042456 184850436 537471715 682491492 572354302 271262434 652717582 247068989 613061865 619656213 816510007 233770367 941526420 20992561 772891684 612916056 761590776 816682147 717876641 224443732 310914018 651524358 178702959 271034275 360488991 145639842 513510116 49284443 240014664 204019870 774509091 460214726 593426748 290657075 191507829 836037851 507223165 73751104 26581751 470066911 653743174 233399073 217348992 729342069 401896833 729896038 46236996 90919046 155597623 734704175 341565024 803570644 563243098 501401308 38988530 252887728 286905248 479080772 959131469 612036726 549607891 521025211 116500522 204383578 719125077 135368510 640714759 623571874 685990838 390931394 698761617 554256714 537069634 279256237 419154318 153793781 363426571 896467232 357112859 658786777 452755476 259419611 457806936 398730891 792123955 761411402 855594638 230210229 615521846 117265921 115323515 45560516 8820268 886241964 359230287 953909873 116453135 433651296 76022092 144182782 118214263 118696784 495358460 25740035 642118921 693033066 949591737 634066023 867705396 362623246 562643225 981094743 238804808 192642603 699002302 412881436 252157287 456918960 799274545 959462205 434103774 286819585 695610031 123218660 685567235 340029498 692636017 986471868 976780765 146538446 92616375 456554126 712558994 563928960 238167054 725603392 307595444 695129603 448186957 994086842 160895286 261406354 954095658 429797591 366981534 148140727 453649312 620505975 162725558 323124818 601556462 432446129 900137752 712121272 156983201 332026387 697539638 39668125 345445242 398222356 652243891 741106193 27169454 398431585 377559257 684489523 494645523 983131585 383238627 370430576 57921163 252806329 406641199 886745136 926645492 6061137 724606976 176349429 470638169 247541523 502723487 541586914 681930655 632757863 559434828 956910605 542846111 797645187 975628166 615771413 388139783 277624592 566035815 877464286 846459946 417569036 110280908 281278361 112716579 750940743 300082738 555534492 963944721 984409279 285852015 91998448 798730152 291086746 199191987 989281430 49595031 688411062 553834256 685148448 514855939 594892827 158437619 672530515 238328973 96579918 668776059 706919729 346352612 433949055 375848792 476248852 896858209 47009700 942910329 646366176 634549996 967754403 714200411 157576040 147836199 522108839 958451418 148258315 491668637 944334909 799066134 506471459 223295586 99148316 583553299 846073797 271524010 769587434 925660209 542068473 389656093 203221652 597896492 866971400 39435761 665673673 786712877 667410559 791888689 72910752 703753049 591799506 32650776 71721989 986422109 417797955 233838594 723966822 431921223 43724519 179690497 797729773 850393295 364054234 133803653 289421091 497234649 988403979 282452981 123564987 67920738 925220137 296339667 399984752 574332166 211220389 548585049 699114669 230151480 122587009 548419158 18643154 472364061 50603343 51932789 224487556 885963386 838998044 192969381 838561383 647782737 963480978 886652405 992862005 213964064 439667750 84180080 163863627 58422000 135314879 551602039 467598151 893308464 496079236 261981490 610183419 703150685 672990233 580639465 537363427 190365884 226263801 191960228 934526493 659862223 403105125 965158270 668928589 498427576 35987119 715270755 951759215 774058838 862557028 720158169 497455463 390163603 416604855 95264615 547030796 612784480 600573872 791650568 435930577 285228854 628703426 847063690 411001522 625950162 93008869 959304900 20479886 481981291 337886022 309877815 449298358 345859924 786897099 900465539 392656410 160994870 944809703 40222275 322585580 749834356 551333777 797722470 475240038 714201651 102319188 510728637 115490431 731772694 792751922 938830286 929768676 533541777 470229216 64027107 926844964 806309342 617686997 802621010 324214449 618166294 206169264 906083548 384142180 787995105 992993003 688176061 239333289 200650372 313450267 499254574 284393292 57145829 326909745 448899656 42175246 799473063 224283655 572531574 474790448 74677483 469491869 535192426 736334269 178388659 796040068 740135228 700090528 581976102 171947415 620883312 134680264 926009563 752997409 459417379 728484753 331345829 634910684 508790449 982750723 257239475 608608910 481513952 314875891 199753446 88051364 424502305 209894595 159643682 308028670 43140915 166914153 929354764 334135802 995839637 79623427 981934376 607154164 16751039 733198302 231732660 622893461 897106681 121839418 14275035 537911358 257796345 742986761 662695676 361506194 630059415 493727158 733393166 625043242 503380968 844487072 584574540 1038639 790654119 306272551 926070886 663681634 536610718 582953755 703260279 259297307 324468329 728584784 294291584 98366530 547834888 119620851 7967768 703049346 350444184 326480920 518606945 69167137 319814891 219250824 821729998 439693809 135072824 127762952 857125021 142429088 116942598 564102346 705451677 818479099 239126864 345877949 187473371 401122940 743045871 201534007 119461415 129189511 748546671 560893639 806192453 329791868 451928361 239010078 61974501 577297883 104985308 52155642 65525071 527629477 734220454 755422414 230791406 781069916 28456442 931431059 440064131 481310615 905020899 631462659 348851041 722640730 36255944 218445058 503892518 239969550 278319484 832764652 727980698 712424602 314514343 162311628 5353542 44048820 871854388 872054397 240091290 455534949 215748017 927347031 791526272 567595031 98467022 250764632 625447024 773827150 307475030 66953463 353841108 652182381 304441411 476019724 682907356 716035887 896292550 536256941 48804871 428944014 193379330 234935298 184700666 978387577 404836085 779410210 983068554 94173566 140794230 635133467 545177856 196497097 971924078 106435860 636223375 230560890 338132296 349856527 421121138 45775677 573657318 842598127 252102840 482159211 855914037 182071253 253527663 659576845 887867450 862011562 930972312 475734706 368770919 11615620 887381661 590428030 537302838 238465935 897600833 91911664 654824982 390972583 4209714 792695917 107830077 931091668 254000184 163767054 53445693 197922280 223038548 10220108 162946600 526615719 471506170 727877898 213778360 219890848 802874014 264757618 567099581 667145849 75829940 216756640 21181977 936389917 551347155 37829594 971240794 611003189 243549267 374533337 126646277 562116895 183453918 450687724 386790682 782693494 261922144 95598359 676133230 414288257 70903698 669674253 870158300 623660852 232866454 45960617 970904028 34974044 673746860 16105467 284737759 286530727 527063592 481533543 816409903 505998783 78713464 611905149 531913239 569526001 224667412 332628195 496745409 589622371 813956203 144556018 177054270 730289364 466034190 347902190 336041520 462083553 153127665 856779331 423473696 827130272 124800739 562796667 141529925 823774257 789315297 492207185 590482180 252548375 494644480 475513047 280569601 907103034 286049497 108282119 978425879 125079424 960487837 445083581 314204251 906042329 937793562 790993838 424893937 402734435 186128903 286875050 338503707 153793969 866003531 603032456 778439720 215050883 177678305 603477372 19341469 558588472 832932595 606006401 948836046 620275150 827818005 406620111 885068799 98407351 551295808 536982444 550571366 203490737 135556521 100880544 889190993 782377310 190089806 333341076 363661892 457015932 965781398 916170255 520520502 28397082 113540770 83766646 380517631 421358203 445614727 69732821 761852000 487235440 411996259 462999932 567544683 694259331 28204355 308245942 405478003 503776787 440198540 529143837 102780852 699675892 305303148 568878932 584958783 298709093 507583689 315161280 906221292 624474334 105448722 25873330 179505226 715060377 963964762 925695403 275643202 938545580 812858432 15620857 646768219 808687169 986308329 592413624 756352723 66392757 394246391 270768622 438170646 623847181 854820161 373752893 185100721 884396726 334604951 895193900 84013752 550279534 409074979 966946583 386626993 912974222 246063542 170408914 527830245 583506476 370323870 467688002 38894591 23885656 496214516 879481682 812172099 580395648 100143987 260241086 328916514 133382826 615859572 815240880 779786172 6473065 961799388 479735893 14178557 520578354 793062837 624286241 894131994 586241338 589889464 691472692 683521924 951074928 395057581 182970516 821242303 127982201 729135112 537851000 706384641 175721523 286892115 553760881 44143804 671823461 799236556 748313151 482012953 450199860 211344699 408674587 161036622 763998554 208208778 52802319 721253003 333239735 723302270 793647390 96148973 193224414 240673472 295256623 440463473 938177024 15767488 40546373 965300879 544816185 280104434 954034615 438630472 174728508 680406039 459146215 121406748 52203942 711520650 630275254 683449378 994740171 828763713 379360204 16898973 82716043 910323804 769391954 587473274 390093143 122033834 520631886 462475799 343682367 378756806 885052984 980034507 807678484 459261893 422848153 606224814 685520134 342965865 755091115 479457425 395389968 967149267 485839317 103065460 180002104 406891717 48804056 472605920 14512787 571528847 960627057 568482048 528255151 660408669 221401741 608208801 874415532 740363102 781367471 54336032 743386174 177342057 130728963 652940049 370841549 834060098 971243478 625556598 69601938 364088219 469486783 588923491 658504594 696863779 477452922 565081862 96436902 739883127 148569208 452251385 563502639 249135025 152830005 134760675 358846711 608734966 974661313 254298554 647655865 448835316 857381726 907339486 808451780 63311625 220860455 843896515 223073765 837762085 573599865 958478997 360745394 583702168 741537635 972677574 172080372 78072433 783518052 189729310 142208901 418244715 950918547 716877331 547802931 638015480 775326597 882853944 912578746 954476397 857768725 153642896 928105351 36740289 289505746 551150564 975155372 622090145 887944342 757368369 269707646 971192207 587907654 379849101 294300038 296227328 818142215 306144514 288120934 923988923 609921476 77181822 944596986 915722053 443213497 108941068 981704743 467601894 712031635 890761774 30327566 743019341 344693735 671765604 304309838 889217736 775637489 550064115 369785232 453843842 248787177 759442208 163161477 383612414 139839651 457174342 144944717 196281699 858029953 117073637 491529098 531173897 918005407 94669086 418500203 424574976 197298399 141552163 675132866 17123857 732918697 697728915 385497605 206073814 423297812 997430113 857128689 907024924 434665690 570878153 472499995 352845107 911421105 856665345 77916228 455876591 801990548 776991315 157130627 750060112 785727255 67955248 131520619 74212724 898610209 509448516 563085491 938960717 127097822 352522755 912401923 429370032 512691095 306148808 651457186 260392326 538473083 314964981 763395783 673196444 938804541 641278516 927139770 941596616 26339752 215300981 511833891 596947678 165890113 797622703 198478770 43222203 624535148 636323363 27332211 334993913 98885249 985312258 975400407 359620629 934799312 553572300 669640481 378507430 429816772 763048050 350764602 282873521 13089049 721828045 150918005 676353276 174995461 987936965 792215347 596387900 357321509 644826604 44406009 302084501 915088218 698249828 441447699 825486344 469045397 544617927 945635622 202640301 794702468 553682622 200816408 161062286 715085701 710525106 299459234 681937893 939518572 242135867 799436969 866558182 901625386 527482562 822318803 302532412 692489925 883284919 207674457 732421195 905099894 885329360 534813525 856749516 939295222 274958939 510723045 232581529 606395145 389230007 282744336 849779227 165679729 854937799 867547436 960166365 885504300 217299685 366336478 731038372 948846106 224053685 400214813 411197008 750787943 2444193 799457754 398203679 977024178 310900491 5668159 985151283 2019381 537654935 827235631 673570426 455362744 39234787 22105016 156975156 633914470 39070899 251497295 341904673 569699037 632563421 226210422 618722135 484758703 127690260 836634089 738530986 155809779 394956072 645855902 803685629 123356863 368920621 849872785 745127239 552761916 535838332 357003543 870590929 246265862 533336658 619083948 453974734 410582218 531333788 473158482 192274363 709158335 996725881 426407702 411861351 406167224 41649603 669034130 502755054 73880614 57468187 252961414 829431306 828014056 543544391 644582716 937220751 264272573 131100632 455587579 886246510 229872729 851050931 381266340 18919777 65907294 176921607 603184837 768432630 556308810 196397551 580699391 141634660 893529921 279438758 363148645 369774296 402468453 308947779 474987803 884398235 549456037 570364202 526230627 738758611 83488499 682781319 183110881 886767170 367281754 697651380 678749462 494052264 562219273 484962354 429749557 744469538 399061264 837593408 113282239 433577814 158897943 25176619 275147018 891625092 117841379 498133191 118104213 489943525 484348637 464885676 657175356 282341121 441442158 62828099 779673409 48604184 148959126 340610323 380075276 387700510 390309550 939244335 501690851 315483872 89363805 628155638 887817136 581205482 656971529 886452704 331610978 749846171 282407655 227592474 944104126 80013175 428691700 561202543 748061768 44129776 559847576 990020601 458767892 274993349 770202451 370950506 661987903 921192034 848058220 409590736 311178210 586172341 281184630 132677368 823645450 544289148 474288746 570247228 179572062 665859359 497352702 409381262 56236916 642888780 98963759 18426254 403884359 257783762 714534858 536275914 950405665 318420501 581169987 354940225 509530619 176165461 23962561 94990676 777613401 723832030 591175227 216739368 666053295 583911974 650915702 942462862 458963807 509501863 955046802 935330355 488447534 770726291 642790993 330320924 338076567 67432052 329045437 867703509 510671355 271763566 908433205 992938590 138037944 520462483 435673647 702490489 798064795 961191630 885687164 385576317 46562230 309607973 520904045 912162009 734862110 14116472 575569307 417751114 903600856 147869058 431747680 740603682 501871805 87076383 717122598 378548068 818161220 697682202 787736192 632720747 395913966 235248960 172541548 210255376 831500280 622467266 980106681 444752249 61350546 51205937 200537177 523873395 328374959 279302845 188619649 877501722 785091916 568774201 918392978 924541147 262057402 512359506 193544794 623478471 60379452 313349744 266680865 436076845 896937538 705471974 2735871 864856347 256599608 772955902 29155001 556030644 94638296 851705671 874121628 966502793 119554220 162982499 202595298 954816765 503995545 186945352 315828344 405925749 155389690 521799726 290892367 998786467 573209510 666300693 834078876 933960652 719710456 161232380 872547567 883352996 175433761 643977566 6445996 707810958 190544318 211586693 900883089 668457631 308533566 367158436 440313706 88719018 598264128 179611246 567096820 709970750 664442263 232505647 608186461 808783690 896262513 125809556 710976631 854847768 740888281 560349959 175284010 475482549 842580581 314531894 358074752 469450383 873035851 431559019 18059586 879069100 639766423 125881068 284282418 911314600 656302322 498636120 769605104 942242213 515023162 740002139 946609635 915777355 169855327 590155888 8862879 688820427 640149349 963417456 430413138 904195457 755938386 403911454 206503302 117796878 59509330 931791758 777919949 278161989 953961836 230258966 239715712 282293003 24252845 517792438 460363531 84009322 254618346 114120627 724817605 245122085 678398884 723547170 575206556 231308357 772446192 952683323 676206968 955107539 737039786 330353895 273241828 29717301 914098892 142902619 671001368 243132049 949246005 72745884 14986771 315901614 82290437 397484015 289764215 742065342 399797007 157365243 42665847 792219816 859909369 236210077 130886997 88119329 136694250 246226105 746636426 766928701 84068396 950853537 925541396 651354029 79221915 246726637 940165766 402301756 483766428 429705856 133092277 592008400 242845701 829446255 931198338 960217704 327864910 741695891 435603634 416840302 630351286 969708230 960994027 322326897 463331645 17344232 142855141 899222018 194793759 306437965 422879036 112837525 533750474 140069191 169390949 763538801 625696083 177675008 892496279 570172139 395678030 485125344 937744466 276136846 111507953 345683469 490592458 759403220 738714706 680361032 935988766 137668863 420102106 566427900 201178188 668559336 68223491 413818017 113120182 525566523 978475829 411682021 657152854 188435670 901528200 339018185 41292273 918608883 526706277 908727010 703871139 618857235 874789929 176418622 512873447 716696248 139021993 396499544 572893651 530384903 201734689 959913130 251072535 928056877 662852778 941299769 394977158 82999388 537662058 914218421 953796250 958895608 175220507 674857172 805524604 985218534 203869038 595764362 306394990 884257223 627114389 336316818 501579794 220467529 571242514 779647858 394236891 757237407 518557006 220191517 771638571 174420671 315754708 550850326 659085419 20691479 98369412 627511520 567660666 756270502 419709047 993537669 864538479 211462369 291926822 798087069 13739585 501364139 298424308 818694768 646313826 946690695 664998389 441896182 122408293 677533977 349983383 731672478 114404751 775152724 766267684 435937342 127783898 933725199 36084448 161672166 457513323 305924921 753490006 578641430 732025136 41361947 677132972 534691244 832351609 267189011 651810491 391773959 725040455 946286927 982917825 405097336 257600230 975554927 288906066 134906186 674196073 33620531 817380048 966100183 775239182 960754089 641329688 886770756 674177819 998508198 784353839 629261933 773277649 710291400 10734759 285476489 187911159 159889963 840068153 2979059 94200287 307442683 42696938 183248377 74083417 990803459 500484521 689180180 371515355 918147168 76059362 779806848 664617952 641144071 484706062 513242213 122600260 553520296 226769280 645427419 577554383 894233735 866278679 890376024 522650646 713263926 500787416 935398510 462149080 440124543 973665837 864845701 810298267 9077142 417400023 655446446 383100092 557194198 747121579 577809212 369252525 382820003 438745528 533608314 534849964 531796569 212966370 796270746 368053151 774752458 607015562 61474445 388667806 918674330 251733931 557065853 39874013 592700700 458999598 597863273 93543459 22287498 651653452 734885533 494335256 433704821 100354472 306007807 893330000 311441388 767688796 162445943 809194505 450799251 946179662 553129185 571271709 328416346 965561620 402104768 85956429 190892884 47155412 986678724 714410713 151694287 452975457 335684640 301278766 246770420 280707033 458610044 447565465 474326121 764625330 892028214 950293174 981076253 200999070 882189744 474471915 77199424 309232933 812542140 406554548 176636324 735365714 180580824 51429278 146771970 528679586 561188048 344924348 932460330 26634153 124066774 57858799 129746710 128117688 661513676 414707573 998444847 525123302 591800927 510648299 958605094 402271549 652273214 964980309 616315366 651650824 238951232 682434033 852126531 381165242 249142225 549376713 110127488 917795948 792643418 777979677 87734323 745083597 186033733 35103108 451235738 40257338 843492812 380891497 247747840 575526372 242739927 430693702 973512025 83080597 209855471 746843636 211244077 233412908 324422330 235732253 618137256 215167295 471520361 985974011 888781615 282665616 337847442 67037758 862289904 901491000 251726757 759264532 418173099 56485563 171269801 87994701 983427576 40537633 716131691 686291477 135270342 238939526 695146956 739704936 676267071 751538245 862381368 904589266 488404547 701672362 971012315 219240630 451077794 525076764 507405981 533708683 959401922 883093249 308413200 207129785 602507224 444131106 783959448 483993214 178676536 752070109 591581758 983589477 397756468 184872135 569903130 87999253 243360036 427765428 317395572 859370725 747044111 103851835 763307991 350956352 289964808 743044721 9183798 908813344 363418410 72792925 685112752 584261874 364191728 276486886 719788393 152299517 72784513 780064778 488135849 180578632 59618157 875988268 327422426 376216332 726612641 348106146 287960499 179207530 721462010 253489888 255663973 357855381 827510657 447626105 677520557 891879076 407824539 712864791 588220481 910590354 225091632 410080425 894956492 905871801 990213988 220161783 510782010 481372887 872640454 315645685 660550137 242573338 100134725 419421939 264557035 834389011 88554646 798692384 328741875 136903895 505579654 651857904 645991683 946416227 435398008 906557312 433717562 911646493 859473641 709761360 953773478 692762113 303953123 232823414 261002868 426515764 8794683 680875223 438473805 473130032 196265566 929925292 328351223 644024531 810206581 526531262 266699842 531362642 996958893 93543437 542266623 842081019 845196692 22763718 703154746 406015400 506921174 966894233 877387278 315551230 827222605 246987892 361290501 159019969 195862011 996418716 916962555 471426443 637035056 276254337 88593944 546617931 998184521 323685823 675074237 429664605 127770909 635918363 89111963 230163278 64088036 213601403 528923922 60112733 817936674 706288379 521184248 608060860 214988821 424234133 492284290 921666914 557820738 857902449 832403267 10521495 416976458 764429180 61460193 463416329 546142069 414044548 802033141 27677133 74162383 987993340 352625979 405961982 912292779 799854692 277788439 416913535 266963628 558906472 436287704 386938133 621558247 884570162 980653073 988093605 69897757 694579794 64675788 205785534 713535012 807556902 543650888 243950802 682039388 995182798 408154102 938998693 108657286 547051917 765219815 524296569 773682399 493241228 807625977 650332085 86958035 716282698 714361303 402379851 552810736 775327775 151754475 427701403 301238537 38860266 260404706 331049851 466573398 251739441 325390525 126999836 903194921 915681395 478286496 203752185 510161621 297100257 230355230 461096724 446962320 362037912 235059805 717593331 609440976 905264080 618244174 20381270 496789301 250668074 845909200 747576909 412575094 297574870 257913104 362964821 145200970 831901909 12399358 88302042 90000496 96423126 756278372 102555193 118438074 547589005 780452050 370333019 997293331 830041612 460489087 186918574 123305609 153950883 401465545 564115310 132338312 900411075 691381243 242566398 111268569 597833910 982889479 994032955 851384646 700750088 902123471 299572461 172960907 845438407 66661124 348576616 310848454 775321025 414678679 41405151 861573942 747520594 81709343 63238957 191451167 351579819 490115768 709308044 683128972 978198314 283340648 110090104 941688092 307113701 930832713 969587055 238928580 43109621 117495035 31068581 762534417 768413510 333996467 941882711 841653342 266225426 994311697 485067190 199782985 73061308 263541758 243673882 93664870 210252782 945861146 84330871 589256805 577603023 541125051 449151226 778368040 727708365 741806736 264419767 538332825 374001695 69238324 147255226 647956858 392038393 388373424 988422551 231993326 143446166 965462682 361741204 357929137 789195808 514059051 705014781 948884932 652272459 715584934 913221369 462113658 120370272 259149997 17027171 102245619 64354968 806436845 727600333 931780228 105287374 109985138 940682240 971724268 977168283 745800056 339126254 253713373 994964997 217045429 988137940 875728962 771535512 693401358 441104025 227148873 410833466 813187270 241807372 540048065 578329655 798511824 142234816 708966203 825912913 263400233 39172090 473341696 520626546 688963285 825797220 658020287 211646004 100765643 540494492 410772918 103778703 635278094 468206503 759321365 491090790 153813595 200341691 879406182 620956396 934716414 639572465 742858584 232556955 900049192 764157309 195912505 351857328 119894310 116182357 22015415 707353474 50717194 223918973 783146814 91609386 31839822 628476214 328597819 417430718 510688272 406523169 230997048 479455807 275507994 734114944 637904721 913910487 982521493 224250093 139502198 469971129 284044711 697543165 5490821 366521155 879486841 111962206 107675834 331690488 459590238 111755049 33153681 925973464 775210276 986091811 292097062 421252279 103766111 453755095 348800760 477156081 583772015 698513711 530493045 888644919 340920733 609608966 453532200 802650772 371145368 735677740 902913872 269204978 354376365 721704250 891980647 687278447 197884601 357189972 30789827 857511111 222503063 556217101 924329713 347431432 97477600 891519337 650164068 534821693 66854143 1660538 479027754 845336991 651191076 197906351 528670319 748604407 291195791 927969153 120290635 907841834 586862846 317225280 414247919 793623845 861154740 580963194 706896550 234403887 931645734 273040916 690765058 336378074 885941003 481765862 388244259 489422238 936445448 318382598 45089512 982872816 657996359 830313556 133791811 61625324 486328712 261446878 648546349 756383791 351600233 127450614 168384569 505899498 381616432 4847535 325955706 325672323 155174571 213268717 661540801 403642989 112255609 63725091 648242764 186785444 996667150 312535800 356920999 746934837 372265695 893039413 213351740 1047069 727607146 274580246 704778163 763075304 187757479 107245580 197079426 37003177 28812139 325819322 408104452 322256195 864359069 63818997 687861243 753316177 277946290 490063824 262712746 277290185 190345348 259550259 90963232 105324630 797260478 486381057 145570086 110561707 195631204 973777253 672951688 721067171 925521329 843987794 88795664 26393198 960198439 236543484 841174311 505177594 134013377 735548569 746916928 562213742 629480786 645833692 566769658 350863993 701770274 672392088 406991683 95576729 790016508 981423714 702267459 420351117 647084086 818183003 638926231 637805541 758868012 331692659 531562164 131953976 102002424 291768261 17949610 608976865 280913995 39787426 337878976 975823926 72870677 653109249 893307429 752436365 926311994 896693396 237173180 418400011 597383612 31277369 727094583 586300020 607887739 15750941 585512467 259652172 839683598 698148111 820661434 77770216 519493385 46187726 511313107 363049312 458748733 720652010 545466980 144351780 125681039 616101888 705195173 479051630 625003827 855007070 676978621 575671933 915082780 786918653 123104914 247664632 490905607 974377749 412686181 5338637 262896917 224882613 553877352 42371306 302516820 671058532 120857376 678851932 340727753 12101883 602940878 824438610 989147193 588677548 248501057 67750943 637212715 511030007 172210021 314274172 950519560 274068002 268052545 489158444 607695970 893370723 73023098 127205022 29140515 1030187 291191611 802567031 120903613 220900027 725640218 700145521 403587332 470845605 161897994 284193038 176330932 483972857 887660643 819620871 173467846 823684780 198902299 175567894 163486593 580370634 112840508 397154509 975262832 651144176 806960636 157043367 859942976 885133491 900719324 616205281 322674930 545998521 825847504 719587047 160222113 379646208 3721524 479436039 445966168 586304075 826092206 777543717 606959684 112977311 595186279 972699346 266013721 465097573 452474022 652388488 473315528 78300229 389384234 402358031 902783146 947355102 84706041 792777062 968387240 982603899 614831729 340359454 529567650 494319164 288035040 359977069 352387059 952875276 452694643 512809253 15818128 150401060 667091056 556080253 35567339 17975413 611702879 316524613 765149011 745585131 694716898 831683972 420874013 148542711 339184159 176271799 863070917 848052976 673010039 819305571 439562125 496958489 493584410 488543122 231509432 770464014 852681235 557558636 791891440 138518043 388609738 353093496 342488559 135274973 394531014 846282704 652318208 912687257 357444222 763383759 946619755 555501624 900258754 77054155 561627434 672554057 775068274 626621123 748069559 851744184 790003184 41218528 350448478 454351386 994261074 455068792 37651766 392285620 709509896 48067387 490949552 325688645 689885188 47191936 574999538 769412692 947266454 939749616 596729560 1974973 21349205 968979789 246635211 428095598 500857273 418293532 820596690 211066060 127899900 902839089 926326159 241846552 134362064 190074749 278070889 638172465 95159442 526701288 650343547 930659136 206970532 886180665 168788507 34555886 257930030 554551652 489721986 553132043 886321004 160699944 370008207 886260785 726671023 456776831 728696951 206294662 173426173 642309760 741730879 803260309 140270087 798204189 98730161 44845349 243851082 822835053 198565154 542722049 346153289 443907864 703093360 114727879 485344977 989790306 354712522 108027429 800109246 816251278 664388574 140975343 274742825 831222887 584746428 868164951 573763292 880965918 950350543 514743812 179994267 35477254 862822256 260971409 214383547 855596963 733791176 570739030 587290484 132778111 191282610 171579293 586026238 481391827 318478644 244915883 254733517 143094150 107595078 14421650 63846648 504163884 100773318 147346970 646252528 817710978 451740988 634961857 648537745 770585788 789704966 755458083 367924693 197817557 5114124 944245899 305532402 798925578 667687166 208545301 929956021 547646126 822894041 322957144 960549699 235271693 491999294 464653927 411096307 184096468 545061335 278260131 615831761 366382786 657643958 373429391 473255536 634921523 295741453 731023644 317769725 198604529 187111500 521811988 599317486 910081753 373503975 821627716 470557630 92388454 456037625 198363603 56673584 935422489 895488162 201384998 4902879 111092181 312935202 797670800 9405517 317759864 342625171 364477625 274369917 410267334 428473881 884033824 335425228 527200582 864476457 383102735 494480915 869054723 659177231 686060267 281527936 960122064 475456907 391780 830005148 989258742 883491662 15860509 251497115 37062610 868993902 838470479 789492759 829198893 162751026 433313006 890078549 634868768 452540465 690881648 110522477 72350697 976817583 13137969 977082303 809937882 739350527 849514550 955181101 382127973 817612039 131143994 941449280 748157078 935951819 543489983 953139958 554834395 548724933 717087436 561313092 452152372 974256814 96787694 100096586 294073301 334977208 339768132 901310899 149893402 890464758 471822879 629257899 566410734 990743792 968012187 519384102 178401825 480645241 24785555 627114985 335400249 610853818 795706167 806608913 726983924 476754031 895287562 879691009 479948813 961358013 131642133 691840616 530152880 872356097 460987892 276122161 885029601 379100094 192908870 420692995 25315135 746357822 600080934 710829505 642128353 463577048 960693332 518322688 108724531 373705324 678844560 683299291 262285021 383656682 150045697 456198676 713971532 90789017 206486188 166166772 546173867 503935689 290143078 532582244 533187367 268752762 408371039 237559737 691585529 977683348 62752754 92621525 407600336 352735445 534600368 383250245 9720568 184472757 258600588 35775365 60506265 255667847 55875669 872456029 155607854 227475183 496151755 630696468 295013213 751138371 261590181 559576834 929065871 780298407 701952851 630845485 530492544 506010109 897950042 556931458 682093489 586761868 911251592 364562963 54307193 915955180 412643114 508392972 628804734 886126984 486690954 171364675 689140224 36554966 161074468 333748995 200734301 615672193 292317853 987137046 768945390 783385843 946812989 415718288 830091343 77318779 948023339 993594833 158874002 752097406 547448402 804557614 201840568 173255772 198757954 51109429 295860982 157026209 652902171 182774171 831849748 37524235 187255341 258340833 449265758 844090702 789134241 461526128 651202212 929907193 427076643 767094902 579841322 755815970 199495102 621352491 640659199 53573109 848831195 476937967 99772734 924074456 911588097 922050306 387615280 164329132 73445931 451366052 614768268 782915054 740860455 213081377 87638530 465957377 916231730 824534531 345129844 779856360 927684659 147633965 60779597 686233024 936026488 840880315 739930379 621543500 872215257 438965325 390480278 558927676 724032261 225461073 397488180 665426064 755109965 125997973 458849264 538999349 906182831 637650346 538812172 858764037 905141706 592154825 145738186 61451311 831270877 835093815 484312255 386164732 710461965 689396021 34496160 874311120 226821892 945418456 862321859 619148346 501567781 422905844 43752073 173512303 586148284 609711481 215917533 759461840 48942485 395897815 259464053 717277568 649447511 882982048 921716961 48237684 315746685 414405202 963675403 949614678 433742936 794521991 396144308 712972433 926453925 829162206 366680956 123953141 242672332 938504565 824338418 174871027 172822333 278447278 750524382 808444420 781516105 329055000 853237418 471067472 426835811 999812509 635372876 169527467 583605990 454453298 249110361 792423733 676082647 952980492 952231227 822001312 135059784 523537112 712057175 577271522 581533111 956869088 839639262 646510929 694800233 414623603 225010843 45338669 750016932 424829426 87086523 644216587 619217655 675838924 313462798 508005381 808204189 424764335 256215304 622725801 713511677 335832815 8155016 425796144 836323756 25332231 958430013 49174837 661734694 27320514 513034440 232491888 662677719 808962623 977456408 728536983 166098081 661077091 42538248 321031102 452494716 611958659 899483399 181233354 430249152 281717979 325377225 31979325 844343584 356915325 205947464 572337578 499298379 101617232 300816636 989525591 250879973 894214005 394241580 81453456 129515340 787325907 355218290 168686358 741425117 899996630 672587946 528279885 886857822 179594839 282452882 447318548 719564922 347815020 188830223 10366494 823196289 931150501 858568496 730282640 471644331 765950560 335625278 874630595 11612212 108529124 704442145 769421558 419834805 632781469 664504682 32058235 746322979 328671502 935784552 205763758 125982977 258118750 332979355 877106919 176627823 801578056 2933042 517586424 438122562 549351559 609486352 167667922 201161870 732426668 816285645 901240336 965312485 445094288 656820329 812770110 270394284 417711679 915254925 199013787 431191527 792578603 329811533 915511198 380497697 396967528 41356134 483554174 727815201 720556873 458625491 16181578 675324789 57895922 67697446 865669309 799510437 577491877 310182034 743545937 945333559 605684665 192421434 768257362 415174910 96414376 623850533 511463785 211977476 945017853 260941010 722057411 163588432 58571512 594582303 870344429 399705729 216573575 529816623 119070164 36224798 810259924 171890779 568435575 320726542 697837144 902286573 614226841 722593594 572805191 149824635 557170799 136430315 212069774 685937626 351349105 353527577 770814095 231555123 7596721 615676366 513384400 517031495 5539909 750259838 252828733 328415715 794654186 577631394 166328009 237973837 812178749 155828333 965904473 196899018 423899147 997800099 992424823 484545566 282132441 366517343 874918441 178606631 242510866 643745902 479495060 832853581 478841829 991724269 166405494 931067170 344991455 759045797 916375402 841103251 949666743 763073497 417330998 909995248 956372402 348171055 543112506 518975435 633467686 323359688 694108990 274898447 862887237 681174599 321467387 248930234 142060809 771542539 854579396 983657998 869263665 984199866 562149041 984933225 363810914 211322789 598382009 906888860 731218473 367261326 582891842 389387484 412567551 413291658 848309862 346054027 53735475 821005459 77351090 761420051 292007321 516957631 464371544 609478318 208096785 674376566 777385213 485367006 831133942 351369438 823134411 389930664 820047386 235690445 656152624 823296286 657213690 158410941 394906560 647431499 676731666 161708959 65333351 506640302 52559994 419759109 793280326 48619205 829349117 882145061 214527023 321799783 934026557 216007630 143767652 248123679 220506697 707669750 631424851 943581738 991424526 428377338 180009842 563313784 20846674 687944492 222395185 696025305 239186003 251878560 501435613 835298328 44860464 385704515 746867560 246503577 593887176 615236255 982799991 108093897 937984707 558139002 383425142 897482405 908900664 224344201 151497910 953247384 11433376 750554739 480072361 505888959 837028511 570317881 341728004 717633288 994062264 193317970 699518939 896411225 578637026 749096199 115258462 571127071 221672829 3656820 173727486 475468568 471958974 112236033 564078683 241397535 967440274 227986205 407514153 872180908 310536417 60924668 583848865 418688509 655541357 75021872 300434171 553086295 776762405 653828292 664109075 773246875 470028247 356909050 166291203 295704745 455443417 443866734 952130022 311530260 538419972 492503430 217111914 269717855 380371243 285044366 361723653 224566933 868003382 450169887 661044708 751151844 518644178 708680083 214884686 612204607 597503454 367590070 605742736 306322753 976546295 585920268 539855908 962067384 536808202 696230927 989779337 362659257 148107607 694176067 381141792 794887804 400657183 144577228 507137950 287229341 78406273 371329624 156124494 62126495 581856653 929979179 838358672 124991546 103428086 215476893 367133334 807090542 56553686 602431216 677859486 364785015 68014758 786024386 712234580 410980719 187673184 959390217 745314023 738935734 170198095 600134163 566482416 488145692 32190379 381974859 335365332 295618502 455274680 239527515 186814092 451713600 412360599 90680030 938108716 220001337 570975106 875533587 957714781 997312300 999786963 980177801 381339923 22509759 451934888 886298506 670292720 483773666 589185797 906041416 884113934 298733409 286873942 281085970 464308155 355219571 819448447 236754641 653003760 788233305 646113993 780306711 563411797 698905870 465032382 199357281 100914634 236127744 848680339 779887701 466279962 69012553 941896885 31946562 355683141 806502057 392866865 789552497 936454540 493757990 724207152 531368949 982946837 873778154 475618185 791419223 114250033 134726189 101992922 850977123 286893815 343625707 456115298 22830987 937593537 23589392 252077826 236359440 490090119 606657189 584714902 979232929 913997275 850839960 266306051 40283997 951112072 685249800 97327366 726449095 787721488 945719616 757465807 69933458 3859522 455183675 845796377 378379489 514510369 471155442 985895450 830761301 983475729 237969274 602652626 747900277 110747042 342301972 575735737 315459572 837776637 855834880 137890037 327982883 555595398 722866958 259631042 626541285 480290154 70265880 744723327 567771362 444329936 119101813 181117146 977785724 90483025 112762053 717794988 848736645 129355274 972085891 38539981 775692859 403261473 149927780 920818198 343322090 752938336 971787247 709135999 142360896 741460110 355474875 885890722 448690477 893486673 761226887 128478927 854817769 272181955 551152361 925685402 197441409 887917637 680691370 264708066 615527998 579091101 758664211 168008025 262552365 774517404 733868696 239917708 950087413 386875030 891362854 985876622 367917720 90018794 710434423 405127252 85742858 378979505 384126899 700183592 791666987 920951542 489380051 338398007 525192269 796792254 351037373 799528197 546491943 498665609 941114428 436199551 313338623 93652913 786354098 17192657 170010915 61312378 590492243 46631014 885091297 611061876 808899940 806104025 935826810 414342980 169577484 848325749 926066211 991134658 597089471 819645965 948122703 157192633 157716190 663675877 807423968 288621780 402682708 552742965 35650858 519703298 692792385 937836291 393975418 76151949 253563611 365885183 99885336 273404580 457234821 356253478 363905466 583599780 793100115 711970295 743699024 770050913 588190829 766279249 178115842 372846989 572944179 224464989 932638992 982290772 173095740 187005016 80378397 533389747 257569005 436935356 813031953 968166499 459138988 118043419 657642792 566250386 528568466 864281134 483834764 63369468 352811417 558424242 100216145 596647316 158721363 165853906 260767811 666141094 416328131 444269916 636590013 568220433 893582209 708325780 88841227 489186148 689356244 398158606 748400413 53091777 570898853 298647994 208921389 495403037 681605540 820909338 913421168 977607684 815697266 613489366 200877152 309318230 521686842 953202812 327417772 999732122 248902395 843528253 760870814 432003935 162007218 30030900 795436230 179729029 562586155 926773498 46964102 740612755 917821928 770007724 125523812 281171264 43601545 631778463 950907102 864276200 311721516 431987204 789172925 976309430 865254022 396998910 33935856 167919139 246660058 409209746 120453182 263263916 220600333 170221155 569879841 261309807 17128993 390175190 166609559 741498886 880415979 734332639 84635169 468099505 234019564 639574200 342655596 639306806 8943241 968448435 246433593 982281134 97014048 890007700 644495918 466279610 756557501 851244469 493390928 228014870 162939745 996601302 708290967 21291825 774116217 391151359 541342887 281389176 815042948 682974775 595087998 620965478 249903996 942813210 436205130 669744030 292912780 805255365 228256543 50554881 705172813 570018613 753122567 870896446 315311153 306543170 638997247 291109760 537659985 622651224 103175964 873633674 866767302 335115331 953499602 796213670 909317953 345231304 181403945 405845207 565650112 407009080 211291001 471823213 569138221 869774293 771581831 462436696 944194347 826747608 870408412 922349985 634703732 310780817 311487827 178890627 214909515 281722275 84125336 212665801 937382013 659481992 280780048 73664557 600591107 706246318 48051030 218186808 692744873 614353405 539911870 671255813 660370519 519661740 264488897 40189881 492956110 925099908 760523892 40067137 999205844 775055663 160084585 205309533 65001684 885832477 838458117 929764293 814021784 187902369 584181355 204007523 67037887 352697258 674676714 536163474 175128684 202829899 714279885 716257440 355221510 781668799 898380136 803410282 910313222 624568518 565581402 707564191 578404710 717164103 364821749 362815478 278475189 304921761 142051581 295858079 688079527 298672180 990149362 147755135 347803562 437894946 310678021 709647441 160055142 986406555 287201735 46920298 325271877 987504661 467511785 93578052 126995678 289703432 116321920 725900298 466750550 344441879 822932603 875557589 777306719 936524083 733562757 543736259 222212560 260680591 576670708 991596133 61768559 462188132 126671533 825483630 519208483 197814046 146653528 966991508 367739899 274279190 122679665 68338516 610310074 722359572 252419889 7882240 116754065 171829680 421213354 567957687 303462652 301501494 198168443 880999493 420917627 525439039 695257647 632167364 438635102 896823848 909862743 229654209 304259345 280578469 270651048 910360208 576323170 777455125 826805587 996009172 262607479 790141915 66357661 82179149 507706017 924460525 934989170 23921511 489435468 933592028 410902698 802360914 281594271 76787103 439889457 143726236 550595184 36997801 61958241 809546691 355861396 5185037 427431537 871524249 27400292 286716395 979714863 661100772 484800321 512067714 868273317 551338886 730888065 794583947 493667205 412853371 452052415 922410944 330429999 968496655 511388752 435221673 294435154 815845361 578166078 173192285 328379185 109415036 339754781 736206401 159514499 544598210 288933764 415134767 253855037 276658784 183373090 546561504 937200050 948861208 780330276 275046736 405615940 644465744 372162362 245018060 745139752 97960131 730195928 808266702 33907644 447848187 614518875 83216793 870299274 241861832 692491718 106007025 473651263 868161277 492583261 662247113 513608669 774675327 464996001 870927663 793037740 744673652 218847466 733311027 487701993 81688920 591364958 369908197 840345301 732860106 921055295 131863901 108279622 291570540 290758467 145765706 686519533 716223257 68744377 910527744 507493689 630012181 426133961 11340863 997077008 264573035 565775153 440598987 104212504 205872813 927795988 610049531 67444187 197757384 31809889 557621092 822832634 190860210 607304878 694486610 141086560 263377092 920219455 391651242 487080129 461237322 224698928 931390214 900992632 144335510 337650693 263774529 683562412 988715234 491619972 328786356 49061672 657782819 814490222 748813298 43181075 441014306 645955393 371347471 636195022 931168253 317626011 235099633 713596720 195616827 90812703 120884113 951287500 961017336 683117687 697747996 314526735 14837992 796370076 511086175 117047047 823513234 75098441 187323800 488803797 704826034 82503928 655419141 449310074 672764773 303664557 478644223 112134665 678156873 943954571 821509952 303564090 647593574 360330123 802940273 593381687 801187351 374285462 930220585 99942878 190935977 325732708 6042358 11347786 57288677 680692818 174116117 473066781 403601026 19280566 969356883 128873088 830196100 835502214 685366599 984672740 479526410 39027864 450805099 32337416 565679738 159440564 13904768 730004974 416474875 268172176 608814710 692322269 830196302 328207303 854983529 631266880 743324620 467275759 797402374 398211994 128737616 876104777 517258337 229650458 152930207 231121612 334823588 182741526 664767009 422922896 999916666 910692541 689152228 32123525 701904245 90900412 742522731 465525598 322090185 807480658 210351417 254209758 573261582 388033035 748255019 854928568 180829635 623214870 714089239 855314935 35232024 53128424 721062589 770569858 895149179 276067740 632573303 523488400 711955112 584707629 376239802 350293439 954757081 859054675 468803584 904895085 515782807 797804011 654119141 235163215 829153999 792262171 364954742 630586453 970924040 558590104 929396973 120153042 606071761 380123590 128295145 896903939 181922117 88153811 971601492 270615028 287624697 746613814 9489718 953291770 888206184 247861658 601933863 75239090 875524398 93904766 605699821 626217166 989829705 859444581 56631825 97014604 724465418 717188811 228594680 38922329 735486289 856424355 462662223 762162103 29938745 107756020 201336182 220785526 834909737 305927563 575920773 644537401 500799864 727129564 381908823 492935626 349657133 231746900 417346523 52768281 224738022 372264396 279509343 505425664 695505979 647038241 884300367 622812764 864686098 135563949 840837487 470941977 800798799 167465454 954924950 831049775 607462886 782251779 684040116 798389995 648550688 320254482 39693122 511019572 441264274 88731774 726789569 358937744 773055390 228230051 415174643 248482212 215155441 490964262 350188515 462068063 176256285 766889586 8351108 203730045 187462344 598584633 708127728 722164614 203093051 925815040 859892577 767996164 140767442 444010385 269927940 144704202 150022649 227939670 978912280 298428383 878984809 334398240 43547741 642579329 121673630 210217647 812587098 323873624 176987068 334333348 522019932 885420209 497755070 615591760 972846094 1038472 926709140 854556447 832563266 494450669 289193506 57086811 332030493 682875505 737189402 841510323 779741932 605868878 44505408 938462764 867920947 5267595 670461868 249493983 637054121 321987942 648703668 85718543 304028694 187406839 479598389 199627932 869387828 65036858 247862554 515586357 364207866 315006843 333634873 549908624 174895745 256326564 823821508 189846327 82587194 782270439 834473300 218877526 380065713 876499385 776151686 527678001 226821402 664859439 244836043 471865871 366160540 715907554 747412134 330564397 315203859 752980846 806045742 382648474 742844181 208750915 731496387 226069113 598454293 92361768 77512522 201761321 739313482 402640837 520542836 838701636 450835200 551489820 280192473 405519836 552085505 27859588 55571428 727337682 686797422 933373483 576798489 959489059 770308021 975675841 406101544 170718364 195249796 791005619 846143386 980582633 270908517 640234822 938495393 62597222 723618061 461736497 180357224 656280988 905709490 634028687 487995045 661411950 407317812 211527915 372650533 404571513 647101605 6934963 21258288 913314336 178396906 152367493 182465835 165166606 411001523 315216654 887783148 388305613 515464833 355916977 470465967 955069080 203281961 93858214 892404131 598778219 733264004 481865557 41620887 460333589 188715027 216773791 755318591 694016362 853019196 466755140 192610080 16870386 356652084 428707164 370434888 840511644 140906150 255935949 347019373 129174485 379523154 788415665 974366362 479441905 164947408 234671655 133003512 318786033 456964059 992125544 108896223 775441823 89579218 637850339 693708353 674170188 372534994 284378374 284988242 235855921 898486839 183328623 458508756 626344355 841012624 296626847 906941227 324241065 527349312 292537932 99132463 884097333 209879685 173187192 832271135 611721354 282402017 724569805 591456935 194845510 814990692 925605786 599237593 51707925 438318567 804186914 493004798 634503607 837734015 630886809 820972737 910831274 899251530 346595287 66661715 203026227 884844663 27620365 677389717 62080213 847698760 691275079 594018034 551286531 470593606 310366236 156403363 347265459 112577112 678166422 251369166 20944597 885701224 750863379 544819445 681595338 79626105 785738989 964965336 522580354 17723936 901353802 29537971 602656021 636719416 962609685 269859279 386430246 977183675 87118697 164399500 703116535 996823757 378919099 34101840 972368926 536650757 993342635 110846111 702379313 509488024 306354940 857572031 644218229 854163285 213167156 416713535 522667167 839635543 653227622 154503856 647163221 331018739 510748121 236206083 590577767 616121102 358823987 622940692 94030319 835354720 741035416 989289648 91476234 829329933 507452098 80985958 940227639 669686221 930758813 410547064 268828522 52667901 6659071 920510510 468101402 75929106 941444016 684152896 559871947 202136353 531460208 230949793 201778358 846940975 464189382 742451749 645888226 783628533 520062376 644961319 600367216 919164931 767500663 146282629 112964394 952100480 540180662 779532281 877915734 423439788 633989865 632551767 907887679 708680759 969932044 145110759 309892939 120542403 602449568 973700654 34633670 551382492 273319230 228825187 321302484 133773796 839767488 170724594 451401151 892437552 955231652 906715017 447304791 12817380 718165843 760782919 86187306 793487140 909908362 450327826 408742770 101520119 145598185 116067859 190646733 77947302 615021596 872087692 642955296 389949564 285848497 751157272 164154052 802967344 48289883 436108108 453314204 593239176 602349371 284508116 125581494 644367287 730144217 62781490 323180799 659656356 503581891 463809623 178085322 801286715 588201686 460776030 478088590 219032364 278644657 751253325 903246735 44349303 634499741 617324769 263908439 867943487 487967489 817901276 106288293 914332396 391060538 407759595 378426346 11125717 746396854 609657082 885656309 632186880 745005671 923773145 601481884 876812733 463392191 983489932 4925728 29602676 932314698 646660716 98709130 973857776 276649069 591802842 168686985 224594790 322589741 32722270 533649982 569046914 522148786 781694408 16588047 927693996 191062117 399571188 660927951 587906227 843183687 675643674 158705246 10475423 932669031 609242312 775553104 838660748 901180719 270763306 635747044 454842987 695992593 96475961 37551747 245132138 61775532 131395016 973275240 780951808 143136331 325924721 102067791 851596406 266222349 694995967 561303891 814636240 382381588 135609665 66749886 476041906 40972661 31650133 851863737 689831659 97557152 75919200 247730620 127894929 751493008 918354090 533661626 384487346 275918748 236609859 384692402 407974685 625862645 741370672 671936174 169869720 387807045 174655431 616917064 217884690 249523962 764415998 854545818 467622922 863084190 665720130 186680843 680495386 524853582 722464170 110960084 224260119 238560133 49569836 114184363 834571379 322409977 761569376 857128030 192242961 965099452 863265320 12720456 101855293 515102398 126478649 636740374 93796697 252651549 108189791 725724406 302236903 972753851 406948819 318971034 253198429 395557528 634308401 570127734 133125518 703425719 227179176 624737871 966866757 751198944 707874450 973842774 371829319 569191151 988147458 428736402 533228779 629713299 519015683 800672948 913801413 170416863 456652260 516285546 493577485 736820812 266515921 588263609 8801437 438956435 510521691 182983761 864320874 793272420 712103374 150570344 903111931 528868562 490477517 238373401 596906198 1920140 715871356 722745122 275139492 207437949 617481386 838433951 269638794 260016204 689377860 471758932 439759283 395014975 422898203 362909660 184156990 100429033 213512009 191471268 444283457 225148453 166714982 617856757 894955215 551352829 892022739 189327746 541202145 96687084 645970609 838781449 305267163 759424591 742433101 806438287 576784015 179422127 298829910 800273911 817243302 967996247 607255676 336568840 313279787 868518951 637131889 488804137 818550389 847251355 333818686 870405171 410917888 500015120 819204630 228377766 996234554 173068282 250460663 362129033 294531550 995546401 803201629 148942511 48222761 327504110 931155433 702596305 227670352 630224532 797481712 797483793 853126508 652659391 426207822 327951002 239002686 224072803 407347883 629873548 336927594 257639176 67920726 902373883 829744006 197156012 952505201 984721804 391822008 81243484 40181937 785534345 710125602 652762765 759126281 225711010 726256855 815376676 594167469 571258710 60884218 994877412 147569785 609653725 792075540 264141574 669379672 417096680 294471375 179485566 900421872 417446001 168158273 383766006 585502394 184319704 445097089 500950169 624343513 315571147 799702992 656527280 225154531 255814525 136510782 182086910 416051415 676447096 677050328 573171933 382252171 223909407 281313731 257102325 540209451 788126632 170603590 184462073 242505858 931184663 606132606 909276897 773240730 542055907 298848170 516400054 304932591 360924652 994055173 284036762 224274377 612008973 981927847 950288558 326783489 14696825 272944631 506773147 51836786 177313030 777675839 438326531 378922713 590503122 669250801 832052030 931026969 603376020 714105258 759880046 315254603 349615757 407188251 803195213 302956363 664704101 518431251 666663922 515118653 270175329 8540085 130792919 822694682 786236112 462267373 529402278 113455403 322239128 691581537 860877553 725383473 562933742 460207886 669460636 396840415 682170502 644053289 183992139 729855787 963656793 229203393 983614986 180060354 787149420 483167977 165913430 272961527 225904852 624500621 906490635 279330413 932923714 596626110 853712682 576942769 649663513 373277592 734561276 603726039 392553736 112132167 65465399 200953036 103491908 876082631 910320179 373232139 535323740 53860561 46000938 757262902 599242183 676169709 587048394 550730595 370565190 632729935 990958755 307340084 240245845 174042031 920961189 376177217 685708168 628355147 134871643 186369330 620914644 104076652 226922049 450324342 481929789 612393835 156342231 117180980 945587548 72713273 355606845 544254587 368335149 151462786 205597391 606286366 652146448 491916592 812336313 342127912 450917626 646411673 495833621 205360061 585683342 24062674 56196057 821910057 732604106 772906253 359237440 568652224 520130356 71387722 296124395 720760998 881517914 603892354 576154730 71401526 75388932 217990872 26000774 588324062 745256589 922821866 359061397 772312278 842943274 82023660 614533414 930324517 36250513 741623056 421083902 903900796 337820670 925633209 883007455 770168446 620089520 403897265 2125826 781164618 315370162 726687775 793684517 531977433 826578535 79009990 348456511 233523736 626787854 8477336 135502819 285936098 211235503 874053774 307901398 711466152 955372959 949663792 95147235 400515839 722569443 358573578 670781982 962885102 156056028 414868017 951798489 460081621 293266351 944787791 432859586 977402315 149430765 471548159 813432328 204408081 37763675 475833415 662712363 175711748 642670444 528280887 57127206 840628531 589667714 23209497 394445241 328862752 740491241 442843302 445998087 218022493 432233576 66434885 101331245 9431216 389037206 715966867 874270402 749715164 362389313 836545862 38771704 295013467 328314371 376197247 514273316 746820048 101333262 656693995 132828999 318012530 902754112 190192483 948172427 148674470 920685869 431142033 323232443 483442713 647458981 58978511 722685084 821339656 723411101 524707846 138130175 661893479 586443149 511853611 729481585 796923829 138103877 605545443 693815373 367600098 257639193 433821029 135735473 323134406 295796136 118047792 212866347 560026697 730708198 28511354 431679793 603102690 893653588 752384546 901459174 715743770 601280115 330032738 572508440 369810486 635702515 1970672 750901772 524748715 665122535 807776477 977816611 784366629 199324129 905277329 330318644 519141794 498111592 385900562 799956044 557240238 193098354 234723706 65193158 798547318 345523603 684818817 351703153 497947394 304185064 966914407 885746686 364134036 330325126 646242280 408085573 453527991 441904814 334556070 196600867 395106454 327937936 197341399 935198007 210520231 342737297 231240203 289511315 561595239 778106194 909683880 162132980 204854515 624522767 483002769 638926363 470591382 507128412 725891380 419661701 431340330 144609168 778872235 315271414 859654312 262994700 666583015 552400603 78407234 392080005 714929239 750380030 520720585 77386193 842576008 121085274 954314406 626815364 199681042 223516603 689398337 70897112 175665177 658130142 411383131 422269287 901731452 655631604 99385695 178864594 542495154 327760549 746742232 870946210 215249529 160656602 31239481 558904699 304274227 639686612 500037653 816448272 38798313 22575734 933010404 606309214 866677029 228554577 500542843 110839827 431053522 957904840 471291706 304158413 944752634 457167631 439328316 606944893 756572105 434852009 941171479 637662988 803290044 9025635 385502396 281659853 475341 311400959 467507475 268110886 620269242 359761103 837679129 751782447 931524975 803462455 660656633 893586378 183801231 681762736 129428382 435182161 902654118 293199156 186416741 865318950 556849692 466394863 895484504 384599566 988933634 455922058 675045008 497817406 632498282 504842327 365153401 433253722 325458452 906306835 743690327 351467961 788276952 252395614 410610181 243319600 400063550 365415060 523078772 85033032 756155284 550713320 247666687 412321876 926153298 381513701 508513488 677532619 849515613 522239265 380810766 29133150 924174588 66505936 76717164 4623045 787427382 203119109 960367696 250403847 896355394 475457453 519980441 702939822 258285551 356472798 969069688 996361886 859228653 729597018 380450717 152592906 724941290 525989668 169791140 269877096 319813837 72144764 453180443 861546177 384674808 503174135 745657699 939493903 861600617 244787297 39918867 308330967 946150930 166215832 906005183 794737713 972641715 20883538 433115070 174164819 814123048 293410803 878008049 636396419 976009845 917681039 65503804 134458065 233594063 160410359 78399499 218158265 894064937 758530956 960145306 663618590 950149088 944238167 979344570 256254537 450879573 344858409 462411874 59812686 757040862 892275938 218419888 689041884 322614713 649485974 260994261 630309667 258590460 932844092 826847408 522759197 730268774 741036581 588860853 740675782 220765692 733175066 685981459 365557943 342489290 371842963 653951143 260787354 486072475 68686348 138101551 51527573 256241935 61258784 374812081 5042821 647517832 778730218 850635589 795610684 335554364 615715112 995237805 649396463 21501741 677936234 539588041 912557810 881462768 571949453 191520982 184757434 320577939 353058144 313189291 948761096 16559107 555647984 560761784 121922757 595485542 648395448 914098322 112331831 805814134 953130082 733154834 558934500 631752130 277121168 316076573 515584598 760463211 388074930 979883950 937869421 677112003 213101886 290682162 502143302 340552998 441499671 937213425 173389782 47135208 630692628 580972279 904812650 931645989 226692154 318844304 936708466 167145881 713747594 17803547 158415492 918821950 339956715 533133292 863160405 30780235 361520811 428200933 148762529 54587643 974198746 330841688 179658240 244346922 816027325 684921396 191015594 91235857 919798862 149774447 773756557 476979066 323439952 970032118 604582864 18181537 366938728 583328009 417101680 252689249 233742564 467353325 314401985 814264766 954069711 551588687 825110400 162114397 662695240 365762306 574746765 4641852 317903565 23253117 216169226 229572056 659075410 148083489 346540473 715145054 131452042 379809913 881003899 382706660 263862932 772714126 43285389 223811710 912515970 988802750 616451068 385266129 842844699 724905917 530351596 670278406 766080327 538229035 416625284 225314268 172722770 386116344 301040742 398624675 589766981 992241424 687165446 178502644 58744137 13069530 477519388 662265353 595510042 469952713 477321900 791270856 747647821 169747677 407667495 68311153 947363486 79399913 928692191 826358733 483799276 514307503 772497263 126907989 186733122 46598156 135399433 263262155 872492810 4104762 333564147 605885441 791992465 517008155 588644395 83461641 390036949 261237278 473015311 509253910 528316300 608797711 73352671 567498694 508895655 418363840 883527151 370116609 703739484 500044865 37667133 308412979 963847708 9672402 152027830 484105399 261005764 4071558 513102272 267436262 670552728 927877538 230371765 714830486 773831243 43289837 5260645 94741254 192456131 957032173 665882301 320011581 184812182 995129237 299524951 871659450 725074905 853420718 803483440 124693136 295831767 429758824 736785705 95024107 629237029 919351703 775679438 57088521 9027212 91549 905545137 815512487 409066113 907636032 395499765 536470786 772643250 751226716 64126084 196981115 919945857 234315517 800129552 262669036 592443322 688916015 35957736 983342257 773816424 518310123 320413185 354838000 64641324 853302899 720817272 722136119 119740166 984316479 346258460 226522207 515166071 113449320 44895349 148905930 576283424 775769271 764960512 320422622 125566782 311693513 68410772 266773060 759661489 946523783 293260195 300951344 799576126 170006194 144514542 377039424 742016068 418833943 865406717 475317874 597059481 469382818 355375700 906923934 371391759 158246995 960832790 97501403 763104273 949875489 729603026 915633046 156728423 646877105 92165794 882977970 486781562 791716675 126827046 656268389 198506726 29140744 54616591 527210637 301717769 940422433 663051329 656103701 617973051 988756854 545564644 138883337 796553143 877610431 576743900 254913884 202730970 261851094 587274503 676348292 967139068 82574427 38747670 165379937 742648751 428601680 225593714 284379127 944213297 186269922 465679223 74125417 151140014 672193781 51344790 316287668 659254636 390718165 128720861 229971807 722813002 625788096 475547968 754155391 605803671 475992650 971649399 178739109 128020035 559152319 335409388 447188060 42139134 919594832 505162163 80724551 401461634 381199639 889115650 749322112 158253341 258528383 995566866 935896457 676021259 241288914 389138740 709902026 691520992 662250011 765070704 534274006 923266426 751559300 819109546 305486495 448479198 224149990 50945222 397520266 464441897 6455675 976799918 825990821 414064 325750232 93224757 489640139 612894856 42976624 890408974 212818873 203209992 414627722 980559622 309218189 990687657 640986592 77152182 935504243 446606489 511752217 9534542 457643253 792236991 894345717 208210390 288977694 227870683 480216814 559189602 642012014 533670348 397056725 599150861 189517591 696834569 301631448 544747530 604987943 780141731 225560122 230226796 700898048 947986753 775764496 442047651 613861043 567078424 876718870 891358539 864789036 603975325 372581474 914976377 975811429 961423626 252712645 155314779 739841572 350028008 385074726 970407990 964042412 972158854 636051331 829390458 53847139 494971971 879211979 925135832 223232295 108136285 209058796 149313300 160509322 824171605 250096465 747735662 504499123 635699078 276519564 436319762 252539167 260455604 776693168 126358316 918076664 563126786 852492136 242814955 838445407 862001889 588771440 997793619 210645760 791111773 839417068 956167297 292635480 526985325 932279218 634845997 910476223 699919806 333775922 972591015 430541061 845086893 332927739 432889401 907667923 523466330 438434775 941555943 227277694 634844274 73165809 712414745 359278340 708178969 551987561 828911882 374624037 716904096 462171377 114685034 56826404 392872766 70646951 438456734 950400463 895227830 84220587 580599554 367563268 127915329 457987697 892133619 66216832 894101512 989799755 199936034 701493565 30025156 205871966 912050901 143160691 559173288 864824099 960006461 392835608 895306950 212864631 483758173 935085204 426706086 883976747 822701084 533437767 541904615 676914523 578529378 797095640 451179450 419005354 862570164 46596682 842231359 324315029 979704167 673191002 710010696 804363631 810016117 415448849 281865111 944367588 22777274 75410710 302814260 342032587 109854295 178267257 492332622 431302913 614523919 501198953 297966822 897316742 40387831 237592109 408535541 928997737 34750020 546605944 811706568 161552442 754846925 250268811 31512862 130147861 706638962 556489247 975706081 428756417 305941488 309315641 164451681 887153389 717838171 653565354 909873406 494986223 733317218 666139 631618796 443531794 554746599 236706670 657008157 899763316 175373328 607197682 581713653 496653426 819332197 75923333 804855611 494310077 445661414 42539648 925263049 719149178 189352020 47955744 267148465 394040901 423595342 868581719 553037543 22330136 481922719 531663110 399956199 164195496 509928188 64240569 608114465 191550103 4053527 725636137 235829728 44136863 96108524 965040490 758547489 101623394 671580050 715179881 602960783 773767657 729789085 93840020 42415015 750596635 537909168 70568816 151691948 72831903 64336569 85748330 909805444 21047579 465150436 628956889 216913273 55831989 303002981 918847837 574860705 908512677 374124976 161496630 715476048 127599570 277717831 319992057 26823717 143129516 594682468 76822286 107410850 831744370 771126216 934389426 522434371 287563904 865295124 1481244 424983470 389650104 356892938 967958620 88269699 432861701 435926087 846613975 848087823 173289159 942420236 309628829 344654334 848593276 594282376 957942557 4227195 369122207 866471687 625029067 757065092 925632319 968896431 261264980 911416501 441859356 667457047 723890168 28102702 84373117 821545050 795552672 40749685 234630724 831647946 825700394 806904667 839650188 194269926 596655523 998445438 179144198 802646850 467986059 845154266 787392994 788379598 84573835 576907768 91654655 145923949 132368313 196378249 131689644 308233049 883771523 776448478 910830570 163103842 316503346 916376053 388899369 838946581 295969238 931780579 27847703 306324303 37095757 953171457 128786740 32372116 227383111 118559987 563478540 970570231 974292894 846904185 945373743 187041362 530448659 312266756 365152650 104699540 507471608 745205720 688802139 35638467 811969171 519478873 373951389 705647867 243732297 753590175 945490922 734968046 540274364 763619178 526982732 647742180 365693315 241654437 202291913 856282677 457529462 206436680 274251599 828456583 659797879 915266754 19065513 618207296 537662737 124107332 613728055 769992810 311128745 220867536 102297296 826625485 782954993 622937568 914065284 393403691 227083692 751782906 503507056 877406117 823363724 603903379 720394437 201435892 767879986 793400222 675892953 873620969 188173652 733582107 592354923 339380069 929160276 872585117 778895873 236949233 300837947 114889103 10610098 825973863 96614983 79855770 618091035 748046873 614088789 85659324 955994821 605236862 300378642 12562530 422524099 353896312 610394536 333073255 402874498 899013895 558579655 684686478 304560534 869384345 632212120 924166407 51029086 642953094 199867462 970008778 749618808 100602006 445475911 868131004 184558112 752621014 241966834 126404351 615738895 600725307 386623528 513653141 934012203 964764416 42761769 560132762 293045661 500881324 177165585 828202157 500576342 25893268 459418579 111043268 863960161 222147056 400771089 526271963 529437389 415262959 913513160 862574683 869009640 255478460 818432441 817591145 930300524 15930110 747158812 704957487 910608986 896341689 957996629 622455707 761967834 546458580 482563341 41366854 584416014 980106304 901263676 136948686 383692640 433768863 288232141 920597533 956173143 594238568 613569841 835483548 959580519 186438923 50506492 542147164 68189931 626107931 149545559 955521648 488206612 674574700 301115186 208304663 570870262 772967527 495020957 328819930 59292598 703391939 514973874 747707182 215448201 297889990 650518290 268635139 707343401 470113876 431577117 154830020 684468863 79993376 590971690 359606454 757232653 523542615 672525485 480973671 159535924 233388479 786234599 546868704 451856538 834409833 137171288 268217897 936601832 702123326 517146968 36766661 198920344 700905812 287883483 513322763 221186312 201422166 611622079 550677436 59759057 357089843 487440427 380929654 255808215 895060701 638497997 706003049 800364753 457386961 728128031 863876220 811030284 227537160 985217743 347758369 186266997 703985984 699385880 371903702 665493341 677752078 482414541 893192360 762207962 872700295 11814373 674157241 980675028 286335925 516811933 560582892 525275038 722684069 256166687 397470574 554620456 6102224 942619106 976603049 636647038 723862877 503464555 123156967 345324080 298426331 288468367 58720084 967002903 140554810 78797315 688142751 636060583 915897406 248357622 765165107 597128050 506384629 443278081 189349082 360105363 877377409 516291411 230649172 865205535 128911399 29157621 649229900 285225993 69206445 868739202 496771947 655713080 929553815 157136373 972608400 713832655 875261475 620669678 173244655 51168160 59475466 559876871 396497219 102864923 861642093 264423667 36863900 716175228 993415092 543176704 736530365 141927109 765350271 900914761 459346633 36714882 407627301 495572906 728217217 578489840 364526946 464448639 728343604 480608353 149816571 711648206 87331714 870161416 514963397 997287019 818412112 653629313 176220977 790517360 844656422 358324596 575350305 13613942 740115467 613144867 384493462 528967441 304492572 750835110 536245904 730169418 109709264 775337118 429691071 718880361 917007517 965771965 28465284 614239998 179821509 589589286 311899023 748887276 909680111 149874904 186421641 845634585 176232753 284238830 65776804 621202594 723313252 730438767 183065430 172921133 178952563 903291625 142844595 619876597 869377724 952361259 156293254 780134601 607989576 94281918 644404431 139504377 680196649 519632105 271508207 396767436 114260666 156255656 409320528 138871724 82350526 336336580 32735127 538269394 731081762 487491475 736534466 6770865 889855621 616320223 269517500 763740441 152459816 461091777 525311901 328067800 251669309 952887183 789676180 990730119 889020462 269347946 2346432 267713578 411505082 581380890 872022357 548640204 250462644 816817404 2033720 749673208 546944270 482978792 165514380 760389535 664181328 843083195 246218247 999892984 132352057 556511117 220841827 819863880 666462683 454487377 553175448 836125219 675578712 303479092 907825825 814076407 481670960 79066510 94706717 191949937 741836090 108348889 85891742 342525498 519071285 571312192 254335115 283751878 442837360 979708466 27672518 789393296 552932709 958879798 13753343 328338819 576975643 541502321 375552504 699098908 446228398 852307707 530692009 401380716 413840535 153929357 740233428 879055705 537730886 947613218 277469213 180191732 31471291 9259817 200564099 201146870 263464549 995468474 232695511 414891298 301547727 32717132 713539731 435196018 289417546 164826041 308283909 20342727 1424118 651189726 120538902 984639655 306842010 781662740 693635425 378376823 732181962 663918167 764727793 502204528 792853589 44635824 823634122 674502297 781351493 798553756 55793891 841616339 666101086 22288984 297765886 479533962 329272483 490862881 307525722 829835538 43314507 24737549 739672018 424980002 906084000 743623940 466181105 572307836 468549459 882583485 106755822 376288376 427614897 908727312 835037415 58352117 141072982 901488064 281840177 254885015 309594117 133915896 784378242 30113250 267174041 821541018 545758672 924641163 565119156 711578195 795716114 187923565 555846026 725269784 241758308 99976454 273591809 270563359 815723448 38486816 175854557 830042682 186329779 579905802 517325557 183849578 968388869 680717497 996392753 622953318 514728307 708959915 350032626 818899338 823558016 870888226 290047202 425829696 180652638 459110889 404782448 756816553 461220709 958075485 972763555 957571264 439759285 330925723 666883565 309204730 623094366 610073661 980681974 115819467 176857835 930998985 237495096 734387857 997513412 944105530 203134358 412118827 133882885 164261303 264037808 136303983 256829148 246767987 511210873 744241224 606905800 889579795 608482339 433084332 115872427 216938040 751236014 700460705 422795162 369584703 733120377 348139988 451706427 851095681 139239797 860421999 137997267 193387479 170999399 974628173 124783176 777140585 947232975 618775255 541012005 837334682 618835842 652428522 196767820 167950209 401203150 168190764 962875663 319736564 358576896 619505067 550617007 438471832 841037127 111392620 461108908 229193906 773209476 201408341 864595536 23431468 24544179 867216190 970861222 518363725 693444613 351453618 917243337 437209580 58405699 997844966 736568127 646674170 121975615 986136003 994816033 663792086 951948981 144950842 716706040 336197867 991832866 511556028 369877494 258744442 614374215 173187587 900942726 310910971 646317276 501517339 582765900 775310163 137180344 240069242 199050856 994824088 763356604 246759167 699046897 708477721 201044312 641705691 60585435 298490961 876012845 188038702 694572962 226944761 314214319 676714404 949213436 931215402 600711402 565036254 1166893 606281260 924599890 639087877 351333261 498301632 135520012 297648009 866068176 169104126 856724617 879044190 759797776 893812581 828288112 723252616 145809465 458702381 319577110 39882522 965594268 530805932 259011696 822235061 358126099 850112872 220228828 876641097 972236998 299213077 597635857 889225073 711955048 172288773 461722197 111785790 532671274 263312928 895236823 257856866 802164693 589337766 578890336 671954779 809523973 210172215 80592326 139787888 21525344 64899439 575371073 443857101 776438371 595527110 379833134 146469427 731172509 902341001 742522187 106713930 823832964 752024614 912536654 972860018 842895223 810420750 281620176 420050320 921610005 900927973 771537250 414126647 596888776 669828724 57050356 272934476 694116381 750880999 283580145 676540075 792101047 304651682 664348142 70499146 105393253 265867338 574103806 408304070 191810800 16294554 144326977 401244789 634657000 432386660 433779552 881530067 739916678 54557324 149286235 884880362 984065747 425456700 997858210 141574122 737449333 840459763 861043928 845190197 974772160 400123702 291217790 371762202 928538775 466997689 375243853 939376972 750611737 252568995 590099910 413235929 191826458 939538527 492455631 184369463 652411247 362535545 884392411 460110665 537999100 259847681 236254612 169426793 437634957 319325308 407929229 335146141 321654951 749377399 162009618 704925744 399168190 814033908 32418164 433183170 233307129 397045806 158944188 595067578 862690484 523357697 489755761 915599196 110229646 571565919 999559502 188229992 591227430 626619723 162883576 89392632 684794652 780721306 799612675 992475378 799831612 189528825 873732737 294038437 485594177 97642198 143847323 694227303 743147206 352073072 58535469 542393882 774366523 627698759 166893627 770625927 626091086 9692832 805917181 876649156 815992205 149047475 544556467 738584306 568495262 49092534 802980682 986718272 503525380 957319046 603200642 620781573 266227608 138788275 262940780 171744274 286097367 568117462 40018664 571288224 991733585 508223098 175820022 286588567 296654267 31359232 2500155 260761995 994240885 201852990 387819334 437391958 313363573 112427580 18420767 642986470 346629288 280442924 817174376 269825912 860631241 808360497 142779174 393964201 159017729 785136605 82175043 874839508 274491984 935053465 983231781 468929067 175642796 368453753 704920161 437914174 732113019 223950359 32850616 559194735 567101190 772881865 740406952 936937098 817288069 776429648 39748575 312684791 979903691 248063787 745380691 949400518 750743379 867024258 634165559 64015814 293904801 524031737 840800296 797119902 166570342 16366443 640356312 53716437 917991982 376404321 347626984 418936208 802386416 796164475 639332648 384919677 331639608 86699570 761327661 249572980 505970595 199928844 305540096 810809358 538472806 917454443 851759615 923467588 923201556 439216986 281983322 537821419 172295443 638633417 304748160 940682674 894980998 5167147 263314536 330608268 421553884 892349847 61834806 797875823 640551146 872153528 144051480 288826030 336003386 425839830 502026906 396876063 383382887 569043692 557936097 4582736 171748811 809353701 987046522 652382436 455187927 707134817 257864921 201677523 864593710 191354431 389488021 149250954 523914230 655207644 503338375 920794193 190712132 373820519 148870024 667788434 495125409 118085304 100651287 667690345 978965991 601624665 446561911 731399847 291421419 295761207 232598284 697812323 317446881 501934085 578288983 667611142 985294932 344951818 215598962 279964460 459193878 7770644 937986309 579166568 198926897 899976666 821816820 344795950 517862101 231054764 110290317 283346234 648295668 203210710 231781111 719281487 164715142 24255573 635759522 643213453 741824991 994562810 506116455 406342220 933960712 264126685 527280309 568610086 451136932 251659012 591846164 926800886 407956941 460777670 599035563 979253113 559246935 595345712 929065643 271760683 856829930 891453367 469833127 743610299 106908671 247696751 43446206 230652526 53225237 481838119 736767734 404104868 328800788 867841071 925586926 394763156 432013711 366618896 794169354 842904376 190595023 411702313 405563572 887806505 276339838 578700891 736635436 990029554 551619428 544470367 538797584 825089845 434910884 918827028 735392757 392150041 927096125 6312396 315411032 307203243 204808719 453234056 137484462 576384465 507900637 902455318 429268557 604113177 940178272 718828675 123331016 979403826 592032585 143023685 567234105 762088915 526323102 158105022 406060006 67438207 449379505 495447242 739249428 717421425 449970126 727702855 177193074 873227059 276842448 499455284 638387962 997922123 126573061 574667958 395760467 176859714 878831605 78986084 274566443 65085943 296452257 607165736 967643489 644402331 514364396 851866757 934525467 309902635 372920965 117710526 504893495 452815403 918499430 865069856 213185045 19704681 439197859 197673260 958790952 891424271 89385305 684217802 311063872 920743590 270120298 699681207 752393081 669050299 598609128 313980693 563234565 160727530 980939593 881588431 181560444 391108107 59652696 352880230 23778567 240198084 774855531 811166636 909175014 768104883 904783391 339675990 540797926 12991596 936555557 368797655 536621733 846599303 958890111 805378630 880688420 952330186 462552850 370955802 470018016 915939444 800995896 168337460 24577841 472828181 375209508 995701202 312396572 993953111 542943603 354201550 959731173 723050875 663060911 272752140 117004466 213284847 517249336 142951216 429319050 831689912 534101706 304684477 629903659 956671058 239343688 257409848 572337317 383381947 206701959 726672896 162974759 306882952 500094318 137485880 568977351 906248899 808710279 633703107 118884461 775433843 632835536 433470004 808354284 470811836 566696468 62851946 937310383 679858814 478403875 34787947 581890527 887340950 71187541 625245391 716359268 957498941 547535640 951290143 266223511 194812757 114025831 951819826 925583507 737069208 235815239 629134477 916269856 864319359 875928953 90095179 337212241 748196370 359379440 987532202 201925407 143898426 997504421 993181300 645122116 885000513 841659822 502841357 271059241 863663789 855178853 999789737 92348594 734170308 855899234 307061715 252667761 329994539 792001929 338078625 16709404 430732078 620990659 108699823 610214524 557679432 747554638 694375774 324745410 809733574 20641311 461939850 184947864 813314850 603807911 233502506 912067190 845431352 358326338 264498343 768024858 401945200 571893710 19195124 146852231 852502192 843733783 648638841 824383958 776441625 703262070 567952343 190284262 33632844 268786845 738632185 209562596 345238578 383893951 650247388 501088849 591534020 952409332 65992580 751022729 798335527 864096168 310133802 349994162 464420799 570904195 799499408 453054723 46274318 228789644 252282363 990659961 347296880 774648903 363695334 114012794 519406191 301128013 553082922 294229959 588853793 24223155 93593599 452186483 437327602 984106924 375581799 460610537 543233371 391468824 171168250 497387759 9623978 229013956 27695371 642838098 766577647 51084816 946078887 559325052 637135476 788722702 118065691 799297669 616203285 25491292 629308218 386701236 350273841 649256912 193763056 858310708 84836510 974771808 637190427 320062291 754378694 639743973 810696665 11590006 959481161 667578291 239592874 910795849 101188068 416682505 789452828 302427097 31520819 262360207 360980467 736745481 429669254 127603365 812281259 452753688 197835188 316200794 932775859 617638038 907951688 407466731 627200537 676513442 272491445 385830233 814326919 44912354 719847898 38025811 462893914 256965333 583070422 145325483 91211015 852949881 71010498 880853015 202645218 259696944 882841238 861668506 911792444 536964727 349473489 902503862 648630846 4326198 986795961 45157854 755351102 979779745 393725492 682676347 489496606 523949123 728996881 375206764 801298671 288941909 287640341 650351563 717781007 949076508 476723614 877169048 39509629 839484160 713385933 50407367 150405153 714570654 676693266 39199103 301908893 118818641 538403825 358843841 105245625 151320921 118452568 383547286 215524834 894363465 963154488 124790244 45932600 107834114 50493576 398667195 532700029 492672513 605176445 350172468 125977884 72514802 149635050 180103611 566766838 66771493 706197588 246792994 978099638 78791369 787822092 451197033 252755856 994782929 423687113 144988986 342221378 878965286 192058923 574205270 626981920 451879701 643201358 549193381 235058261 373212637 288810257 250538041 594522589 93541931 289321374 247729847 743164310 960973434 617912856 313472329 249845398 865629184 771088007 835734326 631309365 684689245 922134775 791736851 860263243 196376099 189839815 14589854 28163865 503743784 826457011 740043448 351924920 103521867 583119453 28580516 795392045 187922447 962479306 891131391 739901639 654351970 648758668 301524420 534885290 933725336 566072672 345452230 660093435 627737574 720007978 989879382 168452141 884538337 518325344 174449077 540523528 874863416 634915177 163446713 622224779 807042364 24905621 588657460 854032040 520123998 843733528 15199559 446249563 158387209 159494667 60364455 889866608 289064433 149302184 427701213 471447675 620494048 411269800 852832024 756446903 719259048 805618838 104297146 627916158 476822046 478893672 109098309 623674101 969433930 640495831 287426050 522113823 154108057 135688388 683852923 620697650 145600832 553259872 93906472 139893294 937015115 657223901 893915140 620983464 283116261 770651957 813471009 41011424 795701815 943550991 470485876 872671020 390126819 200228227 300727714 498213344 819610184 739059176 376692583 610254643 452115903 418215807 18720685 176049110 888626234 839505188 386909404 413196090 131529963 526887641 67885287 71209480 546311183 343448785 791364157 28402621 716412460 560762886 391583222 257372617 780010594 982078389 7790347 936733113 444679600 564696248 129652099 509407594 166899720 89677178 719520447 118114240 266983528 320968121 194396004 503107489 431942729 594282102 907301468 851356522 165710498 514405587 522041896 967080095 765286378 873011821 983465033 750455050 882527060 906382617 152969737 669200492 898748778 418072863 13736856 471862007 967945645 795417337 632811655 869057883 233513990 588297822 444885530 541931219 613643028 479636334 140585530 642185251 514932340 895190513 165188200 339825725 393007814 136686005 71383568 635126004 882314904 908870621 86601510 67915967 958136594 184402973 700136204 440601672 5147536 149965074 142050359 498513259 106154965 421292397 385318359 276444700 126498010 11113552 59386914 459502032 643117593 369789114 836367326 565303856 652895560 73254488 892686932 339615571 387984592 11335938 133904197 49540580 16683807 656595391 825788024 678839660 628014140 695171179 665070689 332940658 275821911 105667182 271736362 656440681 318899187 261623348 80881290 864033941 598004166 873021 720546335 176645773 641521843 650800340 701707062 960186179 674443574 775566052 963182969 530373794 645947249 132408459 297645069 496301261 887549149 586672525 510566803 915698494 94290857 475658970 443794832 333061624 552078746 211963660 662601140 497051178 330768053 979190456 465864970 561440395 190063843 390203610 369881793 363593464 980649848 691133923 493069526 321816035 464835605 37733651 22759106 485266081 18519857 191197724 596138413 456949877 680930342 355746952 668565901 149223709 959138106 858111077 314658825 98130855 976562701 631055528 418599639 754208628 9809265 265942061 494772525 232184376 456778245 667512441 967884794 148060774 62586425 916356926 320833149 104861352 940041997 254583822 628796697 793888650 503210672 127427764 762179486 20483357 791695530 741077185 802477813 3922636 987874588 832967745 943254046 934270371 889201572 316106628 979218815 343450662 686664030 119381834 792665166 681870196 442283187 422393887 827978002 418074573 316301384 674194454 507515986 947892052 475529890 500207776 578548441 960331132 45376898 648222708 63586588 906865819 282688830 248218718 85983550 784359904 675569902 538329195 487727838 7556788 357898650 224787579 657663693 880715889 944407540 569147288 976746625 758757411 96051854 665971450 354827192 329561762 710328016 38970834 176172500 416896846 892531756 160342481 685580971 75637516 253766439 687822682 679097740 205729056 291631936 292165923 168192785 847035107 29754414 984834444 684805637 118792036 319755411 333836358 331274522 841725288 953565973 332872622 403982137 799584841 693103596 33234338 244755826 480837473 120752169 595284401 997303376 418582316 878788064 87931916 579725224 664169969 740775449 35740362 928246020 596590632 277715894 704469359 625526211 493142967 719449073 66565626 317904818 927897866 34684338 194494217 762818478 788252722 798982693 711490740 700316849 79620379 988718377 630502272 149851021 869061612 910864872 235733945 474790923 22070013 389056969 661615215 885480544 359255677 846886406 53285213 642874256 492127870 819791148 88648255 401372260 629180265 689683620 586170816 764092496 86048418 306108454 543664142 135579141 890094869 183333243 177675053 480962151 294995609 331717908 19589921 261258029 535382476 708691736 306354641 151275606 806232912 196853511 379390871 53899015 5573985 183640581 96733088 766789028 280499279 308919718 838306441 544662817 623664516 167418482 810314953 218496525 188547312 579015542 942680999 240080627 143182101 270079849 288653326 219954392 885937976 302584179 801065968 433000885 385695817 229157278 534429956 760812285 56983202 468676774 530123479 66186088 491270020 470000613 633518287 962845376 909642341 454484296 521809662 41532183 266127688 607435177 944082261 71525 378360541 992979569 1145794 950921635 852303891 889652686 408537233 938041060 464711850 112569156 548960273 766547044 121609095 470948905 343418253 814451590 164326262 82388162 82632523 354160093 659548070 549811671 678934138 939829198 284307057 661827651 781044995 138912986 623898536 773040490 145106276 80351714 950573986 824501870 398914910 50654646 849954757 403658296 535492783 896397171 759248229 796124402 28423290 709543762 642985444 817047313 169496408 285088786 591396961 62227027 834370251 658842870 426488032 746933544 435172987 384355986 731058095 766918880 380263654 485956081 808729324 643100261 923412425 742552798 201990122 857514292 678091122 584534878 616590285 919988763 384456367 952745905 821409630 714127548 647977365 69659963 921614996 365411476 545874336 592251514 3425595 727908322 216771116 694311200 614726291 596788244 551039355 619464075 248890721 646095027 76009510 514822520 252002753 366873106 112324535 457162831 489698587 117826520 824905459 202022840 865608999 503221828 906860737 647987726 811251380 651797729 772917093 38642131 620608383 137009166 916783953 315837288 781937776 966413027 578418054 114559026 154218268 586564865 330789579 163416617 757135766 165408961 542880658 365110001 27795361 286406774 743385589 558105137 423474040 68183347 762733460 20215635 277347369 597220158 203990994 797643399 318716245 598046235 915356941 136043239 191709443 219591027 429498907 498981731 549390048 853967893 191633048 844964424 838616351 973609913 383011793 494556800 158347501 214924396 69994086 498677818 81123658 34248251 90549064 149195438 840260511 985074484 595984551 774336363 417458701 828670925 441651415 507280451 142184638 487176057 630303339 759079843 269722527 686583438 369405755 518416493 614778486 837537613 596948992 356380470 476116757 709669935 400157996 765148544 741107714 640603571 272203413 265191520 178327969 356932012 272486920 802753603 832503125 148846451 362504312 241518083 634386626 277240190 950869813 964016060 709391381 920613386 888954728 523067202 987951622 19905079 890608394 842682245 282936149 930575006 743935484 707753627 51555817 410920947 832527969 913629644 879964431 982654946 567188634 996966357 508501508 926759061 571355403 497037246 617579355 368345320 570970842 244891689 871106641 804579237 49431761 464033278 197212444 334124559 938372758 278192722 381215742 736120907 351027819 503035266 442996548 969770362 883950122 477585355 137104952 509444197 668552840 831121108 719095343 111741615 542030782 817290437 861423938 334206567 859750050 4149514 187883769 678533442 455720906 727873182 873658614 617800694 567888967 613016586 949865470 583271582 414931727 3571346 627933488 101614209 458783653 693005373 253482387 153747858 564837514 535441493 851558435 285297318 758323519 118961347 425168259 999150037 277222757 324296732 349876780 880802447 920494063 945099247 172642166 439306273 22024262 292683864 29340535 55069347 643084192 689179085 304385624 920314214 128495525 672618301 582587442 740056992 789190307 476553795 308562337 17381838 461234976 391293936 319866696 319287251 14623380 11758238 812899600 634407877 296898354 302188987 697966716 143108766 24399319 222554402 437015402 136130044 384046073 805242191 64402419 165574456 617932425 130703964 638273667 954425974 787068147 853798752 880755901 652929848 848416828 150982887 610122477 514125197 708884331 76189148 611726843 602374528 722200157 313125583 760732673 807490 623572231 684617392 883360096 455770465 57895147 467727941 136639135 289908478 311847112 249824413 186672009 604319167 914217581 16537890 299798735 673982451 358626286 915110268 176121739 220519599 769337920 821146629 458298207 600258343 457001505 605450607 22380514 271512221 572947617 932217358 73478808 275098046 685608504 464924987 781052656 448760840 561462993 405542702 117058413 844485371 901502664 806100963 333822335 328264093 640748136 259231187 948293738 236965202 27278456 346344111 891778664 372485530 673030973 115716479 894522316 856410529 501428887 248656196 624245585 444636144 961895421 362789617 913317063 603638578 364035390 985153746 523491544 188509630 598593957 117335243 272208885 113907755 448619657 59646439 321355575 104803058 994661489 696001776 631198799 959040171 105953270 130632303 591966250 58040191 106099162 912169707 925826197 759972745 237836149 715292513 877906965 122241003 173997819 401833261 241643616 219323654 846448444 903752716 25817475 832635616 806319470 870626951 993301808 756359465 151988097 234096300 451727194 743418433 132909366 921046238 223378711 462413326 771155254 817948798 94649132 171465689 938347957 519876999 191371106 988149727 654945451 310381511 749175640 933731839 641436861 500049644 821005113 651065365 185102718 456149543 386840850 418261345 690869707 626397614 645238495 550050409 49069266 127288126 642412019 236129541 369542392 435391212 150644261 748283926 128777569 615537007 922557701 572671206 923873796 127385230 713532390 751110509 632991441 934157828 54860332 953655615 823060253 708267371 650745556 18198968 357653303 55493800 659036808 214850595 286906990 28200968 933003135 292666369 429475716 493986392 911578952 752983981 302589337 877004607 692077318 993123796 337215200 80067544 266325065 642838154 811634605 71631606 502095517 353235836 970320950 155263531 652381112 632690361 727131149 69052202 430939397 113637638 91260742 285693116 18849124 695473861 865394549 524223726 963191583 345236780 441831712 319463890 491028916 897335530 153934045 292547027 745079717 128666644 347314911 182926892 718452045 412401492 826494816 481202001 319921849 425552516 61909807 330564334 311688592 362513065 762335760 708036763 411299937 328552020 666187595 582481055 435631143 803241952 749137247 187507149 572820657 526353325 854565693 761251158 408177504 734946915 894252020 901208282 119264180 558166991 740144403 452245709 664777050 811369762 242611510 303436185 247818844 344445062 386940181 867394264 18393874 964161182 978173894 327921566 238048231 343974283 628031532 588183343 125366153 344737507 93405389 674583019 944644167 754592205 240586217 761820055 598286220 702149144 281445109 429530856 719462544 27651966 785274754 956227305 355814608 924170339 208190265 779452657 245723110 832798849 545991332 384729375 426433756 485193178 752879230 185453337 78350708 654733642 689091849 634465439 113272741 957085910 621095013 301070690 654089480 98367696 76285790 437119438 984606385 618666688 178755366 898459555 57308808 663771992 347573786 109984928 448490137 596454070 982767396 443885380 818885598 753909174 421367717 987305516 61796359 538337795 345212786 17147172 921361351 739365224 723895597 511216396 359313074 857548902 54037297 978704406 681433540 46738589 945282912 629442637 928351463 758087163 513096872 95683290 240421733 262031402 721415642 385343491 90170422 139304954 417297565 947234494 525514940 245795761 788383811 210640230 676336553 289909837 786987787 679586917 151195330 512974025 304640832 304937060 190861100 748044675 541799385 27223076 953940243 60466463 685594417 668772009 804110269 444137890 762702664 260277479 520856106 270890643 884197252 518931341 302352625 450606572 647512253 620371101 697350562 452249919 974291770 81056005 156110798 339838248 307950575 4623703 924189299 460094086 27081136 237943881 389499355 571513186 586846706 406674916 978592215 197883545 913360898 244795539 795194434 261193961 622070155 825358686 156457160 852943140 831114729 994599006 381356642 259356609 986934904 736822088 376573991 499088957 289849605 941213274 688811506 233483365 899994985 430515731 629660379 599973980 750470521 817696944 263295664 158289710 139075260 608744082 694976059 431440075 592595648 576974523 716651871 978814827 881082445 46081426 341144975 30872617 143629814 235410183 173442091 525544565 933579600 998417743 9685819 463635867 3320432 647935581 448810769 520539546 611003123 172387566 548624472 854110334 398189298 582956305 296222832 174843748 559688763 328404758 216163918 59512247 775780467 192167116 8612447 325955789 952939670 909191315 582540042 442118836 847233577 989518945 705443617 693334481 581958035 849360345 711484452 472777045 662740688 135377762 654290960 390920583 260292573 564870656 810231239 92041913 925149007 101589749 579436779 871954472 666233336 1789165 885386303 644165817 588663061 476030753 25294062 732627942 197551150 843954085 331788777 352658791 572345651 930568312 203357565 612526156 408323361 395309657 640616670 830494078 358473945 832552932 221889988 952910869 981506980 704970976 378700733 214397024 657110751 23855267 356846357 992171353 852747786 435211809 37696056 72494873 308056235 205940214 16447350 518942911 537807355 174729272 586054714 286609747 216657232 94793632 937893647 439528091 897705111 221432121 130529231 226414781 101145780 623208888 109277975 684211231 342411313 737933390 89758348 767391087 835854347 113041961 865988797 581623179 921227443 52749754 794440021 663471156 211367224 375666553 801306019 78142925 993033230 751434911 365061020 933483196 231574184 529126653 994998659 142926077 748502679 993228925 533907508 501175691 27202571 35746713 291491012 366842001 349952158 955397636 616080429 675418519 666892959 743207421 773243826 278224785 955260630 241712972 688970686 97805643 382282027 759160255 210110297 718390562 993069783 937519359 446317680 964496662 462546667 691876826 874835494 892636964 968722709 705843677 926845230 637188288 403188984 928417683 191714232 872979463 755180102 398727441 434142776 241051638 641814971 835621766 959075512 760710059 645167265 964202570 157582874 653315574 296957815 531295995 633903982 708685073 787220844 74175891 910859352 725938401 91335986 463435388 522170514 165449463 937052038 3240357 34358616 651180212 925237601 508279875 762284918 296598607 330375679 495659474 947988962 774009949 687966578 513520699 8696143 678914750 84679847 298921865 27369124 559678003 862508022 590498994 910935397 614095750 829125522 927699119 15527421 751120882 803887498 924594758 593017418 594061771 28227544 366304859 125040502 885845267 591198170 994228218 899024132 115400030 430302966 39224660 801369411 647435351 999249730 687919617 337958619 655104242 897873596 901487631 441536928 978704016 55597512 381011178 952309136 890218039 78739895 933913393 429998127 97963360 368516505 616614500 212714242 732261059 484371911 527895985 794530117 540519231 568482268 766233311 438372820 258949168 672214153 657150852 820998484 392330454 84107317 830639364 655651289 416302632 765704576 587270373 255649369 198389112 417743804 317810219 353005273 167263225 35656838 519728825 595129647 992447579 819149402 492175087 870515875 994187605 825617686 519120082 277562881 581328890 471485129 460860997 140514920 24149230 939982882 876219572 15549179 912158810 549399009 171901345 551771481 185403069 607484078 802899393 579583741 683427787 719475775 137548400 693576351 294078125 101683996 15356290 46377128 821234225 322720757 205095196 843838055 511488997 56994400 367723691 263139741 135818033 21977932 809720757 834633870 11287337 342730792 335831575 519589639 324491193 238895837 607085541 770806529 313702872 854151202 780584262 296092280 280204814 142305090 296752731 690027913 784104094 244413384 115031472 858502621 194826041 983079420 704247277 604612182 969756957 100297236 412646662 62285444 919927203 295916677 261601877 643269747 504744757 502503909 987490850 890237703 508837178 645250212 771372259 147822031 586542419 176155426 150524469 364486249 647351388 972043302 187555006 180603539 412601880 678439672 959931017 390328026 381093467 158843567 684813181 488558630 964990512 120471868 925032312 516158440 462633839 763565687 399546545 250895304 43495531 801107399 843503785 604185831 388045750 293050855 712916791 779492048 482589424 142357741 409050387 159567643 539753082 856455241 555386088 501783064 397459294 737309626 367319802 294582087 894088629 224079613 97561283 348654994 555045613 183588789 469374355 87466232 871410596 628391201 932763301 460611869 358061667 155493550 208555096 475000529 685055136 986787746 563566976 224241825 317401056 371292159 922616950 212953059 916865628 965352682 895819610 895138916 430029308 464227947 648722431 375682178 632066561 697232128 85429592 431700804 551634837 598569141 95319763 296765472 439858054 528821464 421549744 200179392 333731906 604620704 896518875 651297291 225395590 642016962 296496852 747681327 681166754 781200478 465952587 592897413 886864637 201213990 309570640 737078411 833601931 58335752 849940312 565888612 356562434 807444929 857446500 293208346 834350018 760593124 39936165 784912140 748171274 979531147 227957240 401940352 934896153 868116259 82135964 190192197 590450412 162554310 287349453 316120751 390448706 197677333 53902569 596123570 265619231 317291902 671783823 457449668 399230552 454381495 987795095 549997047 149029984 597444220 318627486 589346185 279804418 132113017 56946093 516154393 942255807 915273112 189114226 664253252 956984183 139489532 37688239 714298206 955216260 709914717 400069737 30309211 889405427 28824723 154361503 29749361 498721614 180303986 469255345 114712238 666741721 166219503 74827381 55708202 974898155 56266013 469516880 177256181 321793143 537324415 744469772 12830287 711360067 790600414 856887500 319152702 560618581 687533850 411152210 560487091 73839083 299324406 55128987 466336098 958762821 30181391 743963223 861644501 939137431 340995690 830093470 192527268 528799848 216123258 176786684 292840613 848542372 582526099 976014716 273933304 763144208 525502312 711217201 976108520 197807372 843038629 331801903 605557029 880947761 522132566 813640511 512733857 883985022 355424850 351693446 624550645 945699554 68998582 779911125 206728301 211922188 456577255 398722006 418910476 558923460 918102532 532770954 918163479 11531131 373260630 823136027 965576680 289154887 913523110 83497457 391366159 95296452 526537284 691250112 541684376 387453611 388862908 824890212 976031616 15162982 393742048 2335438 516004778 252574585 739245884 505360085 551042954 500123147 655040517 778459552 924555236 304145432 661720264 880075791 636687102 872275601 32825220 662522702 497398469 316580598 249231729 293153602 794557641 875426072 214557361 420716031 342982718 851769871 855684813 521423161 413113405 315570790 92453288 609530479 133261479 840213789 396152165 609214838 281551037 560524544 157062180 950304080 542401977 919047948 514867243 400833872 857036138 304116545 309142020 730218725 60940983 491598488 733720526 349399768 215856311 183349246 666499122 408198625 487180417 222846477 210914839 955591880 248609956 706980687 427361410 201751890 292478637 442117236 227723808 689689671 621249531 602497922 201393130 878780253 253020535 101274001 753045724 10864067 343645748 241595263 768205386 447845029 187294539 26346278 925008633 679063415 661507942 138079453 108581128 477388620 80423829 165837410 643462860 417157000 41822979 573685877 215804443 402393186 323528611 580788132 107965788 460951206 46202289 107280664 894738713 668971697 957262068 568853944 418848776 860385752 242291235 756135578 902225963 823174308 959188037 313128825 683179115 166033602 572337689 948920665 401321633 713291582 362307014 884057940 20250479 312078840 401335151 237256479 585729442 777022237 168637403 804200583 4197835 914271134 952214138 828113934 973036787 372735263 455236514 865062913 242454416 898540180 400842786 483371423 362961710 490432049 852415062 428381046 491373432 446719458 594411865 849050721 721137361 612773794 53445284 556040292 989071472 39825852 676006878 647468850 615515742 167713208 651344103 314641749 34548923 315432706 962016957 493780525 441987409 116760498 880982728 969498337 509357793 872018477 58011665 304387788 200988566 574499735 84301030 471416207 787052108 257810265 942408838 894717731 481226956 301502079 115325562 110070329 877809617 740035871 552904938 490166798 594690960 508346595 622820163 474205542 475538510 418559341 237048334 509377060 430569698 678394449 121532950 530538563 983989818 938609933 338090374 579132981 894380791 647103725 70625585 692778044 652830322 955550984 278737402 870082758 685701876 7348949 13516482 851615745 128333745 926897928 991843604 44198880 286849624 120849695 529553677 382546798 836153990 464205453 502805939 222308080 849435604 849761971 801908350 538567750 863854870 226812128 147908502 960217184 865376523 421867889 408158372 646064044 961225462 828348109 242589546 38699490 489649387 11649826 403457030 257926648 677327453 732135983 999512552 434153593 876756563 794536012 920267924 407567638 205030758 257276820 308044342 89278805 233626918 356329285 745344815 56358587 453916243 367251455 133400173 588299562 115264360 861257915 556577852 440240414 722725654 938468707 858548284 482086997 846986122 968253872 703471551 506992265 332567739 196437176 146258033 395893040 783822650 422641787 899137461 400807033 13529218 973757916 129497575 176705783 735529107 400035636 524659871 82710222 962089266 393740068 170993252 139158848 67229147 681676958 689182534 267245423 238411401 298155326 307826585 841320118 368144563 488212563 258616439 850736337 596569812 759914773 131149063 244290326 455151384 570061520 958053595 218868814 315404133 258129311 629388752 480593172 563144909 500441689 39487338 707839346 973554345 430386019 594684399 880094241 699748769 541461704 909868036 485885922 796569079 153740392 754282286 578042080 622875776 212272392 906693682 137810268 141385317 119843091 455808299 365282962 4969181 531170828 211381232 699897307 85725156 112127846 463588365 392769477 401326462 543019274 341771940 266943710 139231330 740510634 516279250 456676334 277205054 241796087 51667909 820471036 315022349 717588995 621149363 988853516 22983756 561277872 913458463 733640887 445289434 67437201 628517840 819474926 882487869 670862967 913091909 761585681 448443041 828298684 128220994 639268894 632059610 600632664 547903674 69484170 958290395 116575986 457894390 410482553 614491344 362463076 428792136 527796546 230264917 731999826 652449060 140953650 796399867 224125468 868933693 382187462 49818129 654887618 741931782 629309137 912060954 653234081 522281101 893421462 143561758 82065275 667040492 921294673 973523009 61271891 75002067 298496298 210437245 33898217 873695660 264814263 719022149 641398850 250321991 236846348 425911979 851563308 325473071 409844046 979237740 693741818 741073076 958684631 478215604 676118901 184059449 397349063 591201319 195388827 676078003 502058618 833497076 845933860 707301843 377785330 412610627 851281710 791079269 537245730 297324631 290642102 722852817 378346335 751355913 785363158 149193358 658873269 5713112 833965246 569414844 788986139 303293798 518620505 749549341 948671965 109777895 757939141 359379959 415409675 860135337 198392954 157570904 358016867 684814576 173640414 896232076 278093476 885321728 120044901 530782035 80606332 887032119 762099730 855513587 922776214 482229129 957881688 853927164 680759373 476300342 501967126 163983873 784618632 379822174 967912175 125684240 345576152 261256375 450751916 858044032 635556882 372261911 496382596 129866730 346058806 691425922 471341884 21846907 589941759 62385926 113891630 115908563 677629428 614597887 667170783 248037776 819564967 595414537 118003218 394364061 282160906 482679652 429086613 88115126 917938543 534024781 323552584 941346496 392446679 913120811 985104348 788353522 606890946 687740843 376068496 444116581 210756584 879682374 382101287 98993058 18091140 524488777 753342089 720972682 190701302 847434835 181282958 663398858 771671124 68575351 461525565 94090861 596051474 91051825 485928812 916470103 710508150 832993268 99445698 644660383 679331537 219020792 57820745 656993606 375781725 372403469 945962759 23635104 699865851 750688663 392821248 671728114 931676033 514182015 101659356 283428716 98816097 309056810 836973963 563835481 309182765 322698148 434029682 977576851 657491003 565201192 417257108 588371966 309698738 334441926 491740520 405862243 422564242 314081794 516117760 176169159 197047071 372860586 387939970 214623994 364440997 728732875 201762689 928242018 890348961 342796081 304277661 36499265 115998282 213596619 111020474 387436445 537462521 445445446 532323543 672337618 867092894 782204106 789920021 123503037 928131987 859750835 555383673 331244469 990317848 50423945 221063891 988861616 613593619 664052355 562685740 642727706 693066195 265255101 67528372 556235490 332193466 279068641 595330417 747517057 320862077 201526902 741322134 863760170 439061981 608753815 679867876 164951039 334235712 893225724 518715513 340849596 966726312 476975747 140080922 184665931 680325242 201614569 52215051 379623924 886633868 922294172 823064588 227500404 799438325 434512072 444857365 85144545 164211509 347256905 487529660 664485910 398392051 128206868 856040781 189216724 235685800 749770222 757909106 174633722 124079654 868803993 128887338 207485246 287402338 8046442 319669562 243254652 136291285 710277706 312400864 804104598 911545361 387728957 564825349 276150011 484868754 486074048 535087480 539233171 888253273 883578969 560463034 801135 494054340 665213425 57453772 378023516 45950601 202310391 528941983 36377093 118216029 29566393 8351128 955831392 659145766 874673364 247020539 722196720 411041263 652180761 604255485 503888053 148478382 389915795 448527533 167728950 572250839 385271878 988705839 621124284 711308155 185716095 767925664 15579080 977469411 843899249 49689360 75380301 197718229 531031557 266256960 966355528 732135937 556751475 383699031 237891663 381733914 188297907 269510892 100869494 731071286 550065822 342096079 739390170 425420043 974440849 454372818 343805616 143546257 333178630 735163388 304755547 105364886 7462398 23141523 683862232 542677179 886503997 820396777 601166695 550370341 745848418 469123825 670372332 836740534 899594526 478409025 401703221 79538486 769704720 593838812 136039833 746329167 155812558 3374677 126789766 277710668 33435585 457803854 771921231 407551170 207519896 363611040 563299793 234168077 187319962 326985619 339988578 598330583 600928412 224815266 102017757 432363065 30033582 556276786 536076637 274853377 575170479 36561197 415716056 992209414 777249256 589417216 799396957 98489784 189998729 697029326 601894876 152787472 381703669 151439491 919415538 214567125 388704597 841464052 482817275 904033386 18000433 835458767 394963625 714993261 477913139 485623251 83138629 733131582 828345772 417698509 26029593 686015236 274750334 976108470 496986420 51251429 205080587 376241478 205004314 950683183 227224081 253416085 982192386 832212979 713877844 238918127 953277352 196659222 295535660 954774680 419065772 755166235 212751549 791399369 974564699 926207382 27422088 784037774 277665832 637308801 823452889 491685988 983007685 335530670 64320691 636091002 706934082 702100114 295599888 616803438 563562214 678286162 825572369 937063596 644374166 522856974 751197818 984354661 175162718 462096658 469319626 482232151 215880273 256671471 719924093 429222405 224234912 804583652 110358274 912069734 550534985 424424809 289799858 956308053 550739540 989403257 179563694 447141732 383908865 444943603 811867787 675738239 517697443 138121125 543583749 11348009 998980578 530724332 219709309 709735064 45120556 383196810 28831044 144115124 210084845 427784715 399490841 821764064 179967783 823520812 599765192 186674019 705506879 788089480 109793519 837326961 750642386 524979414 874715024 472229925 454277773 492632601 898521667 483341428 912746170 601968510 518270933 46528630 371056715 427048103 524145647 312855970 964325956 417522151 138447562 794965885 849492688 985762574 634654123 42129777 501763938 745130029 780410291 819985912 687594039 819210768 490597179 550497403 11263573 805893078 877696442 930524065 549792798 965889648 241416639 143503814 153537317 397147901 794691999 520457416 978817179 177400433 743810199 694827046 167798358 205365606 437015457 856642053 997143545 590829795 305392772 216860099 122571083 976322713 514482388 347477028 486081402 796408828 686459012 581577179 259679849 282602704 305948152 498080072 612451670 5745693 806121679 520003283 947486426 590741040 13531731 346523011 601484131 321293792 875955956 917712859 282142333 235381227 662663934 552668831 104953356 763524298 284160420 247064998 13919250 714890520 394083669 987705846 924242164 82937971 189059970 468992820 880797252 696334816 933894241 695563635 521268683 800782859 217168335 32256050 124990218 477344583 884321683 233696683 209631670 617563418 813270156 751783392 886740190 65811145 116226934 465741967 846146078 967977915 851510475 944787908 254981299 50015319 812144568 173542028 932392928 688617866 335819978 713109762 977517406 475777544 529477786 231570592 624130935 797146039 506540097 58208750 499972169 893912650 586564222 630411273 699269585 387483811 503574940 56882063 160510568 736615801 893643540 9380957 119021435 642370419 574384329 493726154 857886571 492416080 167865021 356285391 409520584 511395046 284832256 643068046 808745294 823818498 983164073 549714709 359614298 326275174 579639492 197316601 923864175 183764187 402714394 558298051 205310338 682271510 703870537 296497879 874143658 750971152 230882119 419495350 460446073 24118927 92200490 585051778 805846031 944702349 486858737 893722305 692441287 423684297 184736141 76184282 793590179 351867471 299757782 190615984 276226093 756765545 72066108 135435697 772221966 886399370 995797323 621915354 644675153 757286903 687099382 672380528 587783000 478725606 340803162 96868259 356225943 283815415 590589881 954136912 297712742 261068606 485760985 769871894 342103197 46947365 126565140 74311371 184363517 847686481 640601922 23246510 504721370 962543800 770187748 791076552 423748746 982475319 289769595 995358911 407417779 29522466 507960291 488523086 166505995 390696582 9624786 446550050 242292225 495079806 431272936 749493803 191951278 466543105 456883220 437666747 95251861 336937177 11440950 623616839 326832014 579925251 776540447 691924231 854076774 372245730 787218870 196600416 452745897 563748902 482927974 683932537 99190754 568037062 147757317 254879404 526198996 511805339 416417171 571341205 673616368 745125983 382070871 46107340 772182412 271724236 66308455 456480412 485264916 56622098 217065455 683461254 68218730 496644975 683189699 462799886 538310298 591105137 43058153 450104968 812090688 857533398 15234820 730756664 256790780 220404348 769120278 436697297 950417305 589100974 750359123 210783263 27806627 940900426 243178210 913369924 326268313 250970789 329749690 623316791 43620221 133224650 603137015 128639944 187053775 690037389 781249422 791687391 527642542 893749853 212132998 97361552 427441261 149755774 797975003 684737695 876477634 627733247 175056531 140665407 938446069 110852569 805591787 263047484 925928178 699442832 54758893 55933781 22895969 929696240 364461338 594387503 765738107 332647336 834643008 883261306 624274833 625543127 902417749 890364072 476414200 384986675 499883094 667383704 484669307 876995084 456061305 110697776 178246910 854230185 376490138 668043261 413304818 516870835 877426518 470419761 834129626 866396634 680826450 973727045 79903001 92239473 294755937 572482248 800660703 153892464 159830803 755742157 604002331 327445521 115415095 97642078 195446255 246874318 617435920 483865960 482994220 355579184 704589760 534369196 403738008 16116036 992442736 21815323 736492721 463588166 892224162 637833170 665684506 67490737 714082497 577967424 536693437 927303513 178918077 773369583 593690334 541710866 41274302 73647562 788116037 345505273 723712838 481231256 309486178 878097173 372193427 861384341 234825670 165851579 348586900 736113169 802278648 670749831 927899739 658476645 967331354 27518341 617922473 646288835 709607497 60410958 216108753 294970127 989433255 656283987 65563672 643758415 477428329 707731781 67003474 138317611 669879174 890348102 888488741 844950622 248497276 35118015 838262865 411303853 81785154 611645728 925635205 148481117 529390596 697865074 15649999 300292360 987930189 751605627 365171131 149542252 914512634 759243281 600510791 663764533 776163431 307090447 640767611 962611757 313112401 417759803 720481773 470750482 755038832 17515374 6711092 910647011 884104916 541355668 766674257 510388660 443418334 670186470 542122772 60985227 905401206 70455338 497928534 283659607 597692660 90031973 689439972 928109097 607226870 743743049 186547375 694802863 142536418 673920298 280231727 394962361 812655936 98307647 949378275 586464429 952008259 192505646 128816690 370209463 732495145 283256730 902290175 381295459 381132259 344659949 131987476 737500813 770241764 977939630 845554674 618049184 366853072 902222051 76001847 178666199 79455577 374572596 311049329 899447305 725800308 177676349 389208111 792791384 244615795 452877525 302759921 391572611 689486667 695693931 376964931 16213824 116398667 883820340 939457558 321590690 426756951 64551447 624926214 158137713 85939721 681374069 448659274 862823003 894322695 719683347 645585887 825860484 530321627 924356540 862511742 651725128 367938488 963923386 310358920 896954842 981624231 868462988 877470074 933575488 676552467 544786516 164254391 835737752 912594960 860424224 664940912 75913755 97190989 394370628 789831958 566184110 325438741 556583566 873122339 583881114 510110637 263260618 947243606 291389307 239893065 55279322 598915979 440354324 72317186 923587284 930633920 231274808 691397412 635110250 846128074 929320995 731608864 896125184 379525412 327869 675408513 971816436 368506805 448449158 45803130 919151755 731290092 719266329 855270050 494701882 113707477 306416940 566018458 720453336 495720099 111998470 592247103 12122203 919200974 600759274 112730819 427669007 590975952 572637920 605900696 727686802 484079491 829570012 361078236 931926556 849240198 714099383 712103716 760420213 82144515 310547597 377968613 183792197 617683007 922556413 244703863 583387275 887945117 866640017 799704647 535647140 970017903 725376252 725613575 589379975 3173357 886361677 941866469 532327392 817236675 758860436 938420793 857651460 695995036 950848165 711956994 69282002 34339193 868331978 410458255 294627475 727529256 693184457 583628949 663689574 832300841 786509750 95266383 965292896 961856749 161716994 537172107 934852636 942227352 94594054 613224784 503693300 269810403 413700698 484208154 659243609 937472065 862435550 7633118 494313509 312592009 258425548 125942485 388779268 397029192 477890493 304710132 396609786 346025112 945409600 641383252 377165178 457873849 646813607 668123044 618190 294158367 505903218 589732095 87664031 666379058 233281479 46269742 545708270 73690188 504486824 745577945 140866438 725175799 255025720 534431844 7511456 779760260 93352661 117464364 147531706 705407993 636746859 612032536 65017209 887711900 343048608 475221640 127144515 377891720 290130347 890950179 11301942 616040118 131332203 235464304 690520515 827330991 984163034 67181802 359987287 388946157 713369921 987472168 373185662 800005967 214535677 514708379 247365369 294143348 407169769 867257171 896422023 174942383 272943242 55900269 826866019 14261787 264789603 767363870 954685274 905422747 71836137 277392539 341921393 529393314 553269946 582656516 663396452 478468311 897762914 269115473 53833634 487782222 599013433 275312279 657419996 267222409 428817824 650794572 447093258 241419021 318124656 534995736 920914723 368911227 385042593 897696709 696675234 596687289 803601594 372858051 824109989 728427261 70595940 231012801 514200040 135305955 374607717 679895813 649975353 57701145 109413148 271775760 617166172 619313536 22647151 718765037 375618501 545029241 645304570 364037056 649293679 220839725 839182444 97601854 535667696 570396258 460004304 742160425 486080919 550814139 597335437 580656838 476823562 283719197 110722965 470135824 974974341 407141256 475950216 890066473 65125872 864039267 422029621 706035049 986962896 716632375 682415378 808893945 181506025 34840409 439335875 330173113 819279977 979679807 693522160 542285825 536532087 220492278 628773833 100663457 10828060 249535687 537603811 846536741 896482429 959713650 786675296 857840714 108573482 254055959 475479947 326503936 820734753 80378355 404772318 815571641 310237523 532821913 806308132 105529820 595603725 289340989 52675872 531149966 515300957 375642680 18187394 759395402 576012608 359786201 287926148 912673097 45906985 316673187 484882532 732431011 236186310 619829058 88299432 42732431 193263920 59652933 658333490 314049309 918851560 648342136 73735501 503330224 120868382 327740204 778832864 843831994 954780983 792090408 529107855 587843167 908520952 977057395 514357329 114323803 249076056 612970570 700039909 218965711 168105421 927955065 533928403 35245540 898901729 403005181 822947999 807859683 732226737 410080128 165988667 167950458 883898964 436319146 425225099 106542096 998265310 47889167 956896046 402161271 383783709 512100937 214826442 127164730 369861417 193998683 254351799 173330486 755885139 615127715 295219708 173040840 391382955 825401201 147031121 610263359 711004591 702641902 325912226 84116437 247600265 404866080 570142940 166042727 67662695 427498506 902459105 996189050 88456796 87376575 633359744 990973829 181298035 982438869 760902804 932252562 575340502 715172004 869181501 462615745 201436845 574034454 301548571 278959158 754153718 736971571 896765876 634201081 809176601 114404505 871218795 297745166 161618068 793977375 435246121 863946171 262514158 75291483 217393377 972150006 225711875 583999883 968440050 38316171 808911892 706593929 377761847 215541985 598003030 23086501 930364660 603609619 682734077 861250846 706240019 182608645 140390767 743616383 120016777 732571954 231559634 898967458 825024938 768649858 960614711 505143463 181544413 187288844 762118184 370363236 441342698 407973976 568896 277292074 326974890 801925648 925661327 283166309 505039404 430537313 18164060 513695075 201433927 137724973 880712600 166242217 72265479 656677622 46645540 341579232 191057945 355694267 914118558 788187731 479735196 807714981 693110150 13205803 897333224 65271243 670086445 387211773 44249164 668963056 423571263 646043312 307721139 947635514 338595837 94954681 744349636 571332874 334522810 239845068 624326458 222923917 517094780 548540053 737853077 678609798 424486929 60347238 694868284 364977958 294280236 595120967 458058700 904073547 239534322 514431324 640950450 593266070 301807024 311785428 984813001 868715990 400664901 895488561 616296193 909597432 304342152 341601841 146692808 571223254 231324624 157137338 320619440 12516254 792261775 966527487 542206646 852335101 140270541 654415379 573371443 372376302 803126612 263050972 29071501 969134050 25762936 23598365 551409164 361077665 970351357 759915822 742136671 639458037 247284741 757950476 885431025 855885450 64821853 1764870 917158688 635866616 903638754 228954769 538888045 711915256 95377919 185345852 969020473 9709145 301793266 85031636 800430581 108961181 225900650 429066486 511142617 432935639 453273536 249911721 838611386 756365933 880059571 676181499 320571889 79233294 709300574 152680818 396573954 737874985 877628232 664678416 875851864 388604270 664702456 463541473 589512489 642982937 649738037 699387340 191626815 265635208 827015538 866213550 993194505 506949145 322159273 699616326 125036882 731761821 992975605 976137095 868270642 856909759 125401129 460221671 265535832 572208962 400831230 882771513 877790067 952362047 586915573 939761066 375468286 280989971 199964058 510847278 176347802 69774030 324139152 31234801 425281036 398072045 957396819 139412788 986582247 158305431 196802206 719969205 480890374 172061200 72518076 866727522 799536887 632576802 721757734 296236708 272523344 909896961 337863537 840831497 281180679 743109097 291484882 222339309 10249940 928705378 260447364 302973274 110483839 624727042 658342535 170780447 789622190 31010932 979762525 448711138 729689374 215641603 108280764 735389061 613556036 933182018 126797881 495550183 84195993 924075232 280756387 899907757 52263742 154207693 407436287 656328001 297859016 313553654 906274468 86970513 866311459 877688376 376805623 614669330 20937993 226926405 194044946 546222759 641969303 707829646 87684871 742564288 938594857 275614488 936836610 303056886 48801080 7719193 906717178 320135647 610402085 49802221 719913189 390918141 295978405 768019416 20839454 675056192 521027171 695473408 960704300 159821759 732728484 800716429 453634482 879564775 302241480 440403573 425685205 630726022 978930899 24476651 617411083 318038117 339953348 446381957 663679396 151092926 785855160 119329469 809883999 857810194 665973300 332935453 770763414 241250538 695032615 436961415 919327129 980321157 679317247 151453226 274998929 157745697 58260516 980851528 661828260 613772615 709245651 775799774 654374633 480504308 920880762 127547973 232143408 504102115 686278060 183395266 439056989 486289340 681289673 446124007 300409309 455373060 494294180 192735356 304265467 931868914 815270516 803055046 810143778 551086111 502945274 883560474 167957696 316492478 518220915 810382809 834398666 867678693 50075425 458733544 462254341 250906000 865360426 150236869 967059183 651532966 114682529 327404433 656529360 625422292 167687274 292895020 906503212 908050488 295166015 188680631 224952026 836146031 381078182 228055064 627024585 537853216 644294417 108320441 715330378 108424776 927400478 208050049 916277244 867367243 254617764 386627660 9500060 882549850 473050930 118230165 954728321 663179861 741535370 236094087 356971098 408054321 933672405 883316271 694787711 903118914 372750183 947015532 522442181 793457710 979056404 354484061 726126182 198650558 767921787 280933218 896674705 485695866 257247689 644183257 403051947 20278752 694715848 261174534 16598879 393013542 605615538 198557687 433872184 828585740 875626695 196527326 904208287 275726007 575303003 509431795 981203282 560252689 506140704 823506637 219668632 975570104 270820714 829824909 681724917 614812687 563859828 235047710 81741127 995299704 486769706 397051946 104729192 186675122 309924828 578571648 93358477 228615886 899333547 424040610 286384340 49375681 121562216 99251883 897098974 345837621 854272836 217367406 999711200 149144119 57827812 5077830 798604666 75969812 700496784 641137684 321032128 164271413 544654420 698559817 217209605 9609025 636955788 470327193 294437220 260006944 112054586 78880257 785969800 849449382 342554101 211948330 688062477 158674191 744590415 283480029 621589311 192413966 202025801 576521936 402876556 176147094 180378412 986861536 944578790 132955657 466887592 997763121 500005214 602098205 426010153 908500989 844130010 154407656 645587026 490027273 908449279 704330341 383672245 743284047 108949403 210821455 566385656 367474857 951284650 438897483 987051591 667842816 512875792 894577943 1701523 823384142 259200291 274129018 848295582 117107711 93332079 269302299 293017792 995179316 540273277 641799251 843569020 601303489 688782841 363658740 599340036 801095276 668820657 843233986 768925676 600695744 487122402 525623281 941276623 575967617 83915330 721188086 364541250 553563136 840772068 908912395 779175441 447253405 360625302 137128682 653920900 622347837 59233252 235771277 349759107 323227871 948258312 735768696 332833093 479440834 912872233 866250029 420944776 758820634 482781049 822474814 720406485 990887469 130350205 890318109 119586680 87380946 641308842 242305482 715038940 903054415 650731973 424243035 702943900 770734877 631688904 378392859 871681980 405490886 960332327 849583885 133277356 602281335 119652975 956141280 641287309 511665489 142637303 765761742 682665235 560798918 800246596 750310880 929635490 899347275 30382603 464055255 36503446 840816225 110913834 742417392 495310587 485493444 54722940 295327669 299901165 108327872 181419500 834010302 636605342 292084900 916790285 960033432 4640607 837411228 665598714 296275219 271923997 145160969 229358361 928692138 674290994 200518204 429233665 847471826 641529983 802947041 111193265 310719015 475710443 626090574 763361005 966970258 632440916 542830505 708392898 583390744 819292859 227068341 913061926 900108008 111197315 418720464 916915393 494739652 605699648 872048537 101025300 826677935 817010806 889226986 709945820 213833780 63530773 631813944 787033093 69681032 427012559 793748755 303423412 100529038 888485738 478970779 186049147 162018030 278648789 629676117 771102633 7970994 524820428 432370117 79505719 130085079 819885686 900264364 764060938 496631360 807944799 356858583 477972888 862835823 6741761 223712081 306590665 115801256 965401243 557156662 49701541 516713789 876782547 428256110 110643573 80518037 2621571 215121072 570717251 921484872 463746718 105362373 840362854 574973212 914495023 404249878 40813140 948384710 607679342 659781297 789458162 572108575 529499828 754947114 343769530 610150613 189501672 643335560 108905078 963545671 468307808 818823401 836573000 191452524 662044382 725604498 806529419 673592585 108982133 892612102 791125028 721015938 95090903 822143535 524027295 764966881 368945191 598210360 108949548 883776915 858384760 855674447 355480168 125758019 743198935 611048272 37701632 635377747 853074018 897091956 989772107 486130385 800698994 635591016 155537872 787109187 666654120 295981626 257949993 339024310 875108215 894890881 212537412 639149590 155071905 758618285 452333762 473264510 535690181 751652476 518593232 496476566 161441810 636126253 654785215 613487083 802225990 942514877 390283456 468864603 632631632 744445927 757793718 942449450 217745906 892862450 986015266 198392481 867421427 482634597 585495930 77502838 606873867 188757565 731794594 246136201 930906200 821161570 330422424 238753566 958953384 285930643 992909412 719059747 108309830 85146988 38633241 123075716 9032524 588790442 869150669 807800905 350806858 644136745 808262173 567572352 552494890 829319185 457949359 442223667 366533438 901518688 863802086 944391187 414385566 771825725 997599058 760803834 673231069 928184445 183439705 94248125 714092556 96723931 897622641 719066242 295687956 548410522 505089742 152743303 208185527 171556233 447695449 257851841 986475352 535831620 227857238 937482071 612891299 726628181 533002412 35032480 911357340 568439956 580403081 596739506 770243623 829478243 868384575 64971300 693262191 915319131 563995670 577424933 677134830 775937858 741675692 434796593 734936032 493230715 908705157 75954312 927249751 230503767 443158357 862482072 460790860 794692986 3722552 558455802 447840911 890200135 838003705 559939602 613232510 371011283 548481462 803549782 867311111 313800995 108997632 499838640 981332325 252351972 363085873 448002580 785296922 838894209 517950589 328913949 682727347 528613440 469068458 305165267 245000400 69153206 222624965 887394233 98374715 337533465 939541561 890411546 631779121 971753376 414642547 255452654 243335567 624037710 455390405 531273663 94048425 351157463 255181468 417235336 356966783 210396534 816313499 189494396 835699583 520478297 845310409 722600644 100149277 688469809 879427631 600198020 897274193 846350430 598337054 156335813 316898590 258562642 866778692 65981660 928688248 112736299 607973708 166590782 793328327 7215821 730778951 966186775 881691223 17008965 694910433 356767186 595058996 624534590 160965557 564837069 427320420 216785206 399039957 145143501 579490476 489285701 872152799 809282487 442956681 709126415 459167802 116756165 659672149 53815085 213920779 472992693 21847986 950178518 145799432 469902156 172291379 56302298 755947941 148998133 214907929 676774774 889666357 491777623 926563707 67582246 879783170 916095986 243838206 733133966 308570544 976265738 352639536 32126153 139357191 15439224 699523314 964743464 866571713 999188118 970851366 804468585 176855487 415106662 568947940 231874960 166245918 836877141 94043092 412286254 120824099 120785223 525545274 806221146 52033248 276566785 918645592 95865285 53685797 485600506 408932030 346555102 469049139 82335719 664513018 367320777 105589496 729882396 765646179 657099430 127805706 306859187 27168873 220910908 959968004 739004476 455069998 794115456 345008818 582382059 392572938 922667390 775253652 48967367 878968531 842726096 647117775 577774510 449655650 584616690 327327314 139655010 964446365 540232919 657890784 882833127 65895773 754931185 92447685 562357518 921174111 304441302 227147776 728782898 803954409 293144896 854152475 756882566 379629384 577594126 907838937 264598544 399285973 953442566 272943949 770018078 169859804 229941402 377645098 747952003 581984240 762696837 197728289 31364914 123522864 398879199 519810345 36138431 703061083 825815544 844358824 564515110 407405447 924697707 954878882 109717083 645997426 179428098 512493657 59463202 762663217 838319044 801323875 885934122 332661097 46311275 954150244 292318717 435223478 972625038 495127035 801903722 956825336 765629672 510069150 386336184 479308305 821579014 103296863 117068247 329090380 339846763 350872642 199311084 506050040 36183363 364348869 749409418 539908572 377591641 932537039 696719941 735840459 118610184 75383653 55374549 428227494 772962905 633398955 111046991 864409312 530836463 66870505 231068679 512514672 53519488 503203239 489788915 335625467 564221715 108059834 386491051 829001681 309650292 21670348 763321029 123662302 899681112 868076357 250861359 395609703 743009743 69244667 171874194 751098241 414716584 189745701 170441464 337253668 117617931 508119355 368961662 757384016 465607777 524914998 445511179 202385051 764405873 558963587 743445203 24858590 125054421 684795551 136527382 447980455 611215004 428757201 120296734 805073104 16910544 59589623 296141556 682873846 202160559 383020571 471254270 133599312 189588574 461256360 694620482 384867938 240389299 827890690 897350887 492301634 785931473 814511956 512174112 364693057 380278654 634612483 546882311 898575262 162107640 796696913 39582323 841553200 719793435 48843649 43353505 747735559 535767062 852955258 743491063 210761194 915629164 674017080 531084933 257120198 145382436 72474832 112048743 507912202 824010483 942441718 579821628 739457240 555281552 723761269 394682932 377375019 993902715 512393499 137054040 255840728 928757232 25775846 765657276 908716387 204827269 229844600 803858202 946596054 245634233 239335609 563313226 911977129 246194849 702698732 710381675 159022312 298664904 205623314 88471724 77545472 625852314 528347540 95260600 96136587 543688977 675791630 484572510 88897072 531765905 799891919 480281409 252353330 240789656 55343038 856634509 572685996 607333590 630826756 670237384 611134289 644858278 390111407 200139022 190631056 656790045 291127415 136698160 485157735 17303821 907488902 525902413 674136442 81377237 983367389 592223073 877695836 896128797 689851360 431370963 451763942 574644017 786160983 242669167 205383350 632601782 478125569 565413571 698230882 127843476 51321690 946767250 230556433 847003394 341689192 199205160 811800758 374859977 293880704 327504852 381997572 228176897 708150889 142226113 290642744 712226343 922544158 367029079 969237822 545668751 915793517 973403415 905193283 208336665 911657533 110532351 800602751 917643412 572303531 904622249 967543916 570168209 653602048 450661528 112378179 832896855 610909554 267514237 482673747 434058177 959790995 87642489 63360327 303543093 975794644 764910046 368325338 478593846 591365314 868046897 289372360 702272886 119228896 300496645 314687236 537434682 257079885 932302893 836567448 801267436 832181022 775242806 361915909 517823166 666908290 660272131 639146927 793857082 256295203 518008729 71170879 992489442 112422796 15558182 62986115 556171678 505083330 804422738 347133297 616760965 243805029 82575334 445544789 129998643 488073619 437267886 149273773 394399420 238715380 449821094 636684690 26535857 685657595 383206079 946882015 189849045 522995673 913007351 52866061 802759649 358919895 955408527 115731398 875077990 724537566 575836642 257893905 661673939 232845075 515349188 870450017 704623031 819152890 957380103 395142310 186840721 205454025 292710251 92943040 905509267 741619324 959603257 761324524 821419672 975696033 673844099 138456973 646026974 580115028 634182814 678257940 98521265 69155926 523593437 196106287 802398799 550749972 93497309 96261338 335616445 924838932 828914468 533963746 463947939 608160803 852303778 28683084 296849513 236152375 306554101 232670082 159388017 176691449 490945758 241769428 797473690 975436008 214918052 14423326 435510605 451369060 629970276 423086230 659179889 461496163 773521170 788864985 199645415 453232706 561883116 823667041 215086726 756744991 541132184 826829346 288510218 153602398 72235377 23627376 73946202 507566313 168034959 690954271 256800340 100152211 161663543 153127783 122205700 440379452 247805192 493156470 87766192 404110562 368873343 276545323 842148491 945353633 980951192 838197072 545760320 676920585 668867295 438641712 887225099 445389344 289259725 413373177 881353617 439552879 833066675 889876630 132325135 536189402 890059196 731503085 118759040 606345534 235844662 98924971 251490184 803819239 479040316 597574970 484475196 365377469 992129973 28085930 599801845 687569469 418664440 860649522 555869123 156591294 451500635 846350700 180464615 27195939 638992896 1774579 78573371 518966234 237093600 817602328 696300091 582298279 192349022 58886223 404608425 774050996 709635887 805046335 284308398 532743320 364926564 350761769 401709964 760700612 316653947 780294056 879476257 28214331 950864187 701476995 984757321 67487013 674351093 406451002 444124826 416824235 974305635 403519687 29915890 756995306 916494778 545591314 830282119 648514493 25515037 871537187 755547997 199703903 557702635 66224570 11494445 168147878 240607006 454721618 236161299 554225299 454509286 334847878 34066300 717857384 175479699 314754773 757931744 885154393 184604719 601612715 48714983 783827178 173501252 963974602 83814494 656231059 105133833 987150042 232279185 592591453 464806164 111299848 812700042 476733638 90190908 809389007 562078938 584095820 802561740 90682917 462478983 571509365 515300666 536964058 452924388 169326325 878289076 98327267 75065985 845785578 998122374 902199393 389362503 240084667 995509941 925803457 313335544 698792776 11341259 862097103 776003570 986653798 522510773 793813918 356075605 842322322 846047442 649901091 510206227 218201919 148193689 954436908 689828643 403779041 43390791 319343021 449023152 896830284 111880352 951777031 829722603 942045911 720859688 349083519 260902684 796547183 752155142 467349599 373020326 467148390 116168745 710955496 42116259 510477532 295013705 949286313 170558483 926796971 801067994 775992864 457049682 373886617 160042885 218811941 187203616 761433458 355327466 292912253 142148327 800907053 907859408 876260683 270148810 139457693 295623565 566887972 652996393 150818837 252334245 497273890 156221513 66184415 942787243 604318941 531527360 968076642 694590528 825670241 304897909 505787507 747010251 575217293 872326037 603063499 541751730 781637149 834979044 47080248 901454001 995230443 679452853 609802491 298630338 438472647 923525310 726608795 452003032 690862358 751217645 381360047 313902782 561977507 406567249 693989693 1807355 900181569 766786115 353716592 21963648 687843574 181920065 465020112 366721297 442802031 499052864 79766036 240976873 179191807 906141622 395484719 422308848 795022578 325264624 845087647 855086557 938287055 819906078 262134841 552566418 126245644 530542290 864553632 201952946 381250987 235076389 591325752 874784270 104353488 824258089 674033052 271142203 286167520 171662964 60995568 273293824 435066625 713744348 788124038 591491970 575753738 398266142 366052953 745897027 531027530 883676666 987746656 612096484 797105809 244246422 760858319 219142383 955749110 51260049 543672297 489134817 52934158 16636638 238607673 565008375 563982234 541709677 982114189 705345815 55154031 771737785 736975264 592699210 957851603 100878700 956007373 744745108 650743114 849906079 89208123 804451682 931144774 948422494 385901459 429012604 196944421 867239634 585901060 663187391 903179562 964912481 573690177 193485725 993198850 206244041 309765694 300166969 403736744 385193181 44503708 299530448 62010352 20709418 318386647 445234986 931380896 606243245 403452429 4333382 300698996 960842465 992944528 223832721 475041678 685643739 578173064 683887235 903863064 840072084 632194702 481295739 789595223 535279040 897950121 720635862 470393806 285564875 833847006 377153789 262908431 42385773 351281194 378733795 306019946 55783499 654426246 576074760 320717804 674726546 88985632 914051089 481041577 971577557 464690970 696935458 72906848 196947997 550820530 254061419 887099115 38762993 258446040 430765720 393465059 796956981 26208949 896730610 780582058 871515235 204870747 797204094 279770659 854117141 195497210 675170756 848062609 957322738 218342913 673119235 604548192 38256511 744065928 164625936 304052254 579393807 917166072 765141706 149846047 383924308 571047916 822234480 421956476 100050569 706868100 191284042 975918610 674133543 949388578 669838409 742576298 367552497 555876393 427614683 550099061 402507054 612655505 926027473 103459566 461514624 873170668 540941631 282093043 622844244 207159760 911254630 842470134 879413204 543679435 458273015 148831630 557988917 578966045 918483109 231658243 315228625 412554638 811237842 86415298 503641824 215602705 285678472 391530471 542119970 626255182 546312678 454214356 698386337 206834332 284286989 505291835 640494525 514252720 22980167 131251097 133912228 812268642 670255795 490806057 44487118 256441886 16791069 66371614 892675496 439364165 982305985 431971361 50482772 670305046 426948492 171260299 390756526 250968608 253507542 516505902 742977840 732001590 911880485 672452764 964676080 448674898 645078166 808077790 682250795 596404042 783734078 788382136 588324102 445520451 3776815 973601334 796148879 281596529 589223566 784321065 468891688 96278720 589471026 994591209 561645703 408687293 695792564 628021252 920506728 864404474 371654676 30908314 699657365 531114090 266761575 868064067 466741942 788315113 227520190 654075709 905668240 280704445 437054397 321170999 430585462 69761113 45769727 775651581 126857914 95297791 492006549 982669194 707950615 275123038 687616336 774826924 830911281 649951744 323639821 614686904 218812202 807604920 799574179 273939502 913421295 810647433 975416043 649834673 555682926 969385533 481017274 60346739 177129318 811767577 437859819 661865515 788665862 787657979 707894493 83337382 617706548 791922964 291125662 789812300 901647718 678672512 275205725 775030214 998457016 514815215 849553807 598374564 953282251 899215402 694240825 143482992 41980840 842636285 189653596 284950629 310158532 637076100 731481839 29783089 979923622 387551799 276540417 395028906 585801535 502865146 658138753 649639996 759539587 865898978 621859181 839764737 23710295 12699521 316965600 108324477 163957703 806623113 956868020 257432959 461818594 55775591 125396621 710006850 242693512 908900324 953284564 697292628 27269522 579625674 299068962 167262642 192931399 751450985 755688929 941273969 749487054 806413564 775773191 653555305 970603044 218410211 674433872 565801833 741674575 264457552 701765695 360843725 899122536 127429178 171396308 296194471 298927280 363949845 784282245 976674298 922622340 563693472 906308587 496970254 78291647 421548971 203762608 236792447 441538479 381767053 894358246 462244151 56289117 941096462 183289844 657287228 548888983 746216178 72067668 604269321 354049991 286605270 423983246 668264246 647647028 23828333 632451715 623457269 492605900 859331324 782598254 968327453 789842780 181145466 715208729 969305412 106156753 429252509 332056613 590468712 775230545 696517378 125141222 224693774 29230416 751817037 972146862 843403650 437386602 740298338 398957995 546452593 963762495 79091354 164818961 34696750 937424407 432803542 425444935 556015850 437551828 333890726 974446511 603609749 875782259 274194847 607051526 586145804 121667632 146253668 15500050 595045272 567119873 554452835 233952740 976124126 127726306 187141301 87956647 184449001 118178832 644090059 326796861 207527564 521497944 731912238 819851909 740482446 568977663 310812981 151210494 962391688 671709765 351819411 759901900 878627270 780755534 524831850 627430753 317468118 882026890 72991201 860397300 64765824 208432215 674249599 659534851 672169387 803274879 880949634 293697292 141943665 19998622 345759506 331681995 165198952 891781397 960180008 26346669 389334989 837801092 362837819 844144032 524687448 560647148 943444342 374264146 497228674 683284733 503318285 826150083 129660391 591400951 19139731 715809825 979972392 14414399 743188193 75197456 446644228 927644826 389868326 767476033 28818127 798147233 388388606 173262277 468930465 972985422 16405946 838570802 15854711 759910103 698576173 91995728 515984083 209388992 788745666 61936886 789464877 89836296 665609910 781993908 825304647 186177265 247983761 325272083 842988099 420649257 700572687 679090410 68744721 670827822 404752012 345460619 769366888 538955833 383804911 222715295 469161885 167296178 69816622 164268273 519719346 778880521 449254430 677388114 882711842 730122733 115796692 626136545 896458653 435953638 629907180 978125676 988857013 480677177 206068041 702351316 859074206 965856374 609345652 484926551 623996563 565927332 313045059 138597509 557890740 275879804 368010236 774159577 773187208 41573704 192019527 368540120 459719948 511558925 6398313 132646988 513775023 334785336 475610975 148419654 51379769 270476093 264822088 766627555 967776614 877166612 980796414 468965779 513792967 959798687 123502907 289331325 320220578 367624076 761802424 65385898 917616966 278622385 343912329 279306435 339042385 2070313 528643071 521322862 583913070 938595353 954065536 512213388 257676769 331054445 46614482 392244990 698544236 654746298 267791836 879171389 102101570 166352768 899619678 681129315 345705457 857293270 848464199 789641730 569742542 362680748 447376090 497304509 342353108 145637074 210694980 154375501 575407113 933827277 416264087 40041954 587469549 532252851 485086480 685381495 294532333 670601494 412541551 841997962 813368711 904192037 473076638 346725429 191823390 682983363 243620160 838273974 434339868 367968614 777626465 89519198 541208812 919058762 64404803 746540962 798460352 559407465 114455297 419339243 998225411 261028674 727351824 207495946 314890662 550739206 174353920 628808786 105438704 21676633 279951697 520012049 718510004 627966120 275089397 418161685 105293997 443364854 620306438 825716362 800774033 63732815 888402281 502741507 95321674 359852388 434238366 378765395 876567811 380971284 81399053 381778476 346255950 839164205 223804856 122100881 621824887 350794553 61799380 637511567 896779705 366158048 907678589 643242560 882671711 156755059 848705886 665073986 39633577 816059801 956063873 354942280 393191912 487500188 987966259 865752072 120909811 869740009 457924718 770496274 242613788 542199004 511438346 753311028 373539936 66344035 249529455 681792496 446292031 21866264 85629091 126618399 645950832 132230804 22794167 801656523 927129624 28115610 778088985 334471819 175173912 992572632 267587148 740362992 420205613 286225269 291137093 832332284 432879946 862441360 270594975 261767553 111541608 770997955 225242068 607772734 475745541 955774747 54670796 396202750 265557911 629311155 549168402 388643551 958792766 625661024 609574467 141917823 685857137 542872464 461378885 16148642 340020915 869230325 303262335 651109912 593841255 1231464 909647314 158390974 353856437 795215704 777030697 492945876 745399189 378118113 345353267 546043347 196226397 506052583 585225608 710165850 165759934 680973236 343056476 783967228 967554907 469168778 596389658 674765168 132978305 478333120 607264958 772671300 731750239 129146031 268389038 888976686 477739828 481571085 877216232 836602998 263333973 120260129 407306448 679533550 75148615 697023776 622267150 884269939 378040926 915815644 120512971 263428446 883951212 577127112 93462016 785530788 400062595 988800000 435101609 120214860 650117626 994043203 655479919 629881080 624741509 51628101 973478899 437728050 721174281 363341916 601065338 109684138 3117509 362200 967035618 44433560 45524552 235837532 841856884 878077690 230665122 422166498 542613904 542189679 831586344 759615915 846842340 907837934 684101 363786631 627888974 302156217 721612451 191087325 453170326 381968898 825826153 791988533 794617534 795334002 185720995 709787280 544310527 475132245 714195179 272598325 603042481 89796913 705855447 847327456 668498663 796346122 615015326 607546700 838073525 472860299 279306975 679910960 918837785 205138957 989186719 673138194 80952229 397513149 470330304 337503285 665145080 892410191 310595211 912177452 41606941 644523877 83697511 623514514 953439137 950922502 962283965 214292956 31144623 797745149 625411665 567098481 645664343 857850671 858660094 796920407 574888609 718983624 362095611 607490382 164893376 794776823 733614846 871102476 601470443 999729840 243070260 824025426 162264588 585205986 331459221 585800172 60894822 889139937 612989538 558602900 369171561 668982531 772849259 483994520 732615931 359622124 69340827 370623273 269796559 138415838 674905791 330309371 604683428 432377423 323350597 152218786 547587141 262052252 171635918 920111667 784659875 170039138 572311330 46294700 74767576 580384637 974799794 349314885 618607428 460253043 170278446 929611622 711446224 966602207 60510262 574217765 535366044 980079596 609676494 571636171 918556143 660774844 358130611 720087058 443312759 937425414 938187928 542554348 979100030 745808771 527479236 268648346 680009759 435385122 696265378 229902233 428874700 978124679 891049560 872730525 250315093 539827579 366245632 162974431 65883881 482340821 355703105 965620913 77003154 642948412 379726214 74938297 82436698 314954509 756815616 572046254 633993215 207387431 280689901 829937141 558368375 777006379 173570815 221926563 738610696 701661199 194748369 800268017 943800965 4751776 458430707 574839638 377634588 229994980 741754166 550095437 338459003 389602671 583205398 520379092 102182314 29041732 101351867 210533212 718613114 630327942 722800456 292675157 282413875 604406343 596195644 593607201 417411644 253307837 614322538 28121360 219862756 984235502 645066166 276534222 900904045 722394397 629424024 708917468 379742286 38710612 298118866 476294787 672748376 930430151 472808922 901266653 501325929 375611836 523965787 55921894 787553405 838547177 744793595 461335195 372617388 828414088 386909843 644936508 393187447 339920685 306692009 861238485 888727157 29400340 272355026 178071202 890703268 604550795 32925348 54600532 548639528 180969704 839671801 412313752 242215313 389451299 745819682 661458358 398961341 679264656 634138074 295607733 627591676 322438727 321101517 635930020 317244223 860961995 180954932 397972740 687994391 355427491 845601631 643820400 15062201 915572755 589375575 917839832 619214869 288232455 930593529 289228203 967186432 238154675 724684006 216771260 754826169 174984512 346427529 701060999 265098150 489438494 652272541 563398156 40285413 657603536 354251164 172227614 970386248 320879967 109782203 71590721 289901280 273219645 724551018 109553099 639644272 21871578 216904957 680645740 725201834 972920297 434500505 969858779 85620377 343197220 280382341 236202988 890975854 322306399 3416287 592978466 899487023 796122579 311044866 364594781 543820344 670194669 504197531 129466047 720520548 124828322 422585344 954667848 102105227 962795202 796329788 977958904 239841469 28734396 45829308 742516893 844892382 125464517 103911991 773617747 251223875 410550674 116406569 633491989 355458270 548769468 282800933 133334045 234855997 380998248 736803616 994234620 532036188 840897630 980327112 155696236 62785201 738675944 921599222 306760561 403203296 693396700 11349907 268304132 307453950 371111717 113254128 93976779 251146680 105716452 357220421 306678601 13792773 87592517 407989277 528089600 755167542 675373615 8754822 287346523 35516538 526698993 822412802 19432966 974152015 389619887 46705921 504667262 297620515 834697609 867878979 739646952 173001642 979621524 728377988 333364331 318997853 957190108 228807769 883510524 533346114 732416745 762345160 144336426 373064260 146378267 579810010 280717345 331890294 729353570 234041445 697353456 472561825 374394896 574546996 601359493 71714059 171845111 619169562 552218873 701055487 332151903 524102602 540841684 484136226 773385073 4768880 567775963 630483872 9724004 101419514 122654130 652001655 594259673 140836815 564686350 909968293 635429130 88959042 532794420 144613965 247270341 843144247 499259412 365301689 936086702 977241232 434837883 367523094 308296011 660124956 558234007 529670593 277032851 41446099 903501038 438058680 5077046 302705538 754158333 568077774 661658972 941904017 138688103 762832122 552639131 678956481 698464003 419933997 822179069 977775631 375579101 811476755 389863531 198156542 529453447 959375653 252291607 814178179 531371685 154454629 123626663 643395591 401663007 599585238 91281328 395288166 544776258 637024522 456563405 321376019 615418905 999918974 983623007 336387427 216688731 102499000 600118567 282416660 808609542 256103933 163577964 820953413 46529520 695540947 163780866 6464207 779456578 563915674 632507697 425557559 912646477 741847677 163069953 136032798 959477787 43401328 876313825 884934968 992477263 895224090 259067024 963615704 230404459 390651248 461055949 179523686 337885317 464839348 870719518 771775024 611797439 892515071 577797090 316689924 655063928 248379144 649567021 523770345 982427852 881111061 274630328 52404853 541512628 339683085 278439888 512253635 499891945 660666750 151183182 35454340 661596837 141104574 146455722 745580399 515352777 628727092 551139088 112507920 30873427 783453844 641721871 36269723 39310894 568074626 726459721 535456975 623432435 812496196 353464942 952134924 208148534 140624334 672218684 167585805 309684051 305166280 920063438 969296539 259384358 429260801 686467390 513864833 986784001 397369326 521535105 373989440 611743047 352548408 509692667 520431329 183172116 112089117 332200282 816480082 852795294 831989709 416580911 63148168 887710357 778842584 357739473 400584367 6387478 160465696 324051163 732595643 742989973 839071022 244086679 876928097 350450240 576805783 650408950 30058637 692135403 484371903 441140550 517115322 755210353 380681060 838552204 572672864 922194164 630880303 856781543 72430898 925259664 133270884 852405521 381237873 576728289 187972146 237607187 751325361 699227960 355270112 21168606 779884063 454243339 558857687 173000939 131848174 919305932 425662916 128241322 890337786 570476369 467829499 447340449 947679956 561218302 725389317 580414353 577391264 625592358 218533659 312312952 656214663 669990057 346969524 652918275 20052180 272594347 114819113 867647442 993185821 919228810 606739398 285529037 304363488 900356808 856526423 593621329 956216438 126980545 604347543 73950612 834315196 802185969 846606904 163670465 618248971 433983433 827529468 69947136 784918870 675201775 76333961 170709686 627095454 579398327 751271087 323503528 533603868 19927155 825296790 845532994 366344262 373723346 671444264 628716039 437050973 978312174 725475427 846664787 705117681 331428102 149697662 649038827 431287685 496122117 976514546 221742453 933011353 445883711 938497841 879902102 430387166 823864453 168605727 986001927 218610299 8940320 802229001 429742884 247245495 599833535 499143710 992954697 262460983 687240765 648095595 577621633 244519607 298724844 301270257 852072703 541576690 374557618 95555970 623788034 769737067 963195120 414593227 790667421 345655760 886432438 890231654 174784160 992938735 827738120 355057721 927171132 714205876 879251614 677764562 926246632 380270062 271779079 513549936 81287102 739104185 862509243 281628332 213832559 566789110 834464359 989823583 39593029 313306147 530801235 890647616 661257041 897722089 507703405 379349787 640062249 337933055 936960984 733777802 797833680 766392078 21161831 58042064 67595591 185090509 229210198 653656441 664237830 802348816 984435254 228474285 513439772 339545972 83527451 295610087 146633379 494116490 735770865 981157341 603545120 851433989 726175919 394643749 605889422 94136447 448138334 319798959 58088728 428851212 725919505 809460068 480442242 388410043 191133458 129345026 251515491 632868380 392538401 247174939 317119650 453569391 576983117 613732104 837372472 352082007 488578988 404271165 513769466 269425632 224109918 548613713 20792984 106781804 344986874 632403102 364305984 816110679 569182975 962851540 122713119 373689852 755955657 873438971 901816094 748891243 656860717 953602375 62583185 284038521 348450732 326742615 481093132 971999376 133633803 883535360 432727489 430986706 598973953 405129477 529812241 267394545 164484505 310147015 154208949 339934944 39277423 606156847 125641100 536040019 53922820 804188807 376453095 590270534 968396212 498014335 982907943 111217783 183466408 961353036 388111752 203090447 400756535 348873573 59314436 940772456 942877250 445897694 839685786 812871345 593249510 282401908 485289128 93608655 609184167 937101068 650661506 115194682 632678569 327246814 146745620 818879864 368903656 218988442 164852224 693726784 909031167 635382355 160148799 103272448 231557404 583686444 12835829 701723904 655585973 972503329 490505174 526759704 838267264 763978559 825665449 50772986 67081662 1209733 229528973 296160219 670458936 36210228 475510208 452129778 215069558 522538543 588867600 763312079 665697907 715434301 348251410 462356896 82411082 554305157 184311739 235066243 668262498 134053355 474767851 715444302 451341006 258627004 48292413 938178884 201861526 792495037 93081913 35465179 988886305 413214124 316208478 48985388 912673528 104972097 468386740 433769545 884670904 613902475 141161609 325317793 808007183 727266680 216915650 885723704 742406580 314264338 703029070 199329538 920633837 570034113 608106769 121040062 913107376 395262495 998003302 795720370 324740510 942962779 960629975 663774095 147123836 120813608 212101824 784625565 91953366 141257232 620438032 683626156 679871570 61219218 989753367 30284501 593338016 753276442 878148930 32710599 367312602 811024514 833867144 229196026 944873827 55133335 803773359 272214911 657262353 67947159 104123100 175050789 157280357 34665443 96234391 122402495 723687597 804195642 404091962 616021437 440353143 752112976 204665047 556304499 768638712 814944445 82002013 318272280 479293767 589366201 522744522 197363171 350245546 234976376 59567365 110332148 955849146 363801627 340722130 225720813 842160035 802700193 655811997 728990654 320888113 178727447 475283731 852844957 376247470 974140054 519354429 884611116 644007713 691576880 683022955 530756707 509851099 787562265 355891486 777086736 737232149 870208470 468604303 594014829 100853644 391910709 493660073 6949357 672377375 794753409 139080690 646212980 609426146 948916183 682298133 525437809 791853939 298571118 757104548 739217973 395495329 12872112 301557849 738176231 917938006 592950719 567792662 445934469 7173272 561604712 959986762 211595378 256694062 128304122 449086568 373634332 527358506 388326015 497202427 799371014 60613737 591816482 348684486 904952390 14428547 303845317 869252991 941986636 758008397 661194140 722706854 872314885 799478916 160861074 992643181 580526763 196434346 99340617 897882367 434349894 553873913 185399294 740639654 942594349 560136256 868967350 753173437 640173890 717243621 615510154 652983120 908953765 283397457 24949688 555960208 396686515 967038901 690727927 678107943 403295003 29729823 440807647 611314058 682927324 552653708 93316822 966803367 570228333 670412854 302584884 601869173 201990275 445452595 819479421 273941822 635173751 42933220 591837649 386920571 589791430 517400170 302859890 642681794 233614593 103508214 896884490 629904340 121593652 67187616 532200351 188939771 479354243 588846993 901141201 76026141 209960982 594963813 342587088 697626848 919179281 513150105 495618894 993002073 783995354 248248726 162637062 947678523 947338762 506642498 29892582 119099466 339756464 558018609 693253222 244744679 12790514 870190184 562647896 193765912 130825000 642134604 278654019 705114125 558002960 83614091 771290395 821540562 352936092 705842798 451017567 760279810 278443482 924272818 45201146 72155512 517053404 284557310 727675478 261732439 310787766 520555602 209314645 742621160 12770662 231207005 551458953 467961525 269371997 896564761 790490143 97380680 811353301 448547368 346442093 982440483 865113945 675757543 304278340 182383065 824889725 969294624 204399093 731454200 673732819 793634276 136445430 460970084 5852842 410674675 532676357 868448952 757098440 59743838 351610625 588431890 922175116 546485172 550919358 777288961 148921043 598180218 119188761 891118982 24874065 10368128 743128916 393527277 200476145 315613281 610515605 481715561 124963248 799030455 292308032 807760874 991674629 931075593 456538367 782059473 349667492 135542452 254903332 740441891 688267174 473897697 80382683 920731648 636887153 6893668 70323367 2928478 771563447 662636099 648247412 319407291 348359369 38494141 115287058 629475561 650409757 4720256 917440844 912450413 434408552 367008721 679907193 276375786 397144870 838671850 962445786 677094567 459012228 859688013 250709047 941782484 883123682 751244785 67715955 344847025 415540868 510485798 570424736 826597048 429843828 445345661 696820072 579622825 244185130 933108140 978593985 650007555 781925910 586471040 744114766 46349400 79779111 964175672 69891865 655119589 748314896 570762410 670217236 378776564 578974067 663982446 523039309 112082564 138328486 791739914 885421777 124025929 992419183 765489609 711323679 793167138 769690782 592694257 193160493 676543042 949044834 477664301 913727303 676160734 54702532 573148877 302134058 846491433 136071460 820385816 823111663 877793244 749535657 997010153 369246267 373728810 65146185 466042092 256182520 429123142 775570333 183383311 688754301 333908657 497441894 595143786 900780336 137980786 53298840 713546428 191204589 607815504 88230936 137748960 74264452 263719508 958893377 404486692 442268031 604996864 168966466 34200198 860782908 335771003 951913431 919723997 280515530 982525640 4980994 912654688 545858498 510992558 833513718 87672039 612239752 976001590 833520832 759419836 724041020 72303785 159012119 218150061 89629975 709421658 118180341 118176351 149927402 705830842 467442001 870525853 149564768 275389504 996748950 457696267 961329108 280580845 970914981 29018907 645236614 173405246 927203197 975925111 999233603 299918513 760946359 962679618 282686453 127704574 593045338 47287328 494057268 758599828 548615502 958790142 242985416 982157968 384999754 798900154 53722389 538490571 346631715 827925702 648317552 439132679 88126953 995224105 984194307 252400048 698013182 329885262 118912362 837292446 423386125 758191236 636604134 921583056 73327602 230651992 408088716 574201280 542110970 777429953 355382560 849660086 714509350 583489694 906367820 862496421 124346105 802059329 819975136 921638084 773567555 595546259 322041902 419713346 704245130 395782252 930008658 814884019 98406061 728388926 729937685 320111346 459243569 933175880 698423525 784427398 486618231 650268845 821209604 353864188 184997181 115741093 592508270 596649518 237241922 980455447 699363049 841202904 106493678 454137228 659093209 514839761 768085079 86991209 8388396 818879656 1199011 916306246 712684888 667573653 496452187 397992164 63330436 357211314 67051710 519920800 752910961 158479673 385135718 114365256 413803835 216229527 578824080 779089117 484373599 760415567 854508671 643146750 897967281 606119795 485624702 263517517 403582184 866497496 197047394 754518562 836199684 839543296 779003615 274101894 789093280 749774152 84202748 243153366 811761003 728338337 217397370 226140910 200009530 910282437 598214811 828100506 935054856 410828208 257670861 448464641 384038068 642751032 97102835 259702414 528431613 617499538 661915024 169618964 919882976 811000523 515425502 36113188 85728641 910806287 791799950 492730206 682770243 970280185 487319000 200467866 868743665 916817690 319862072 77599416 299450668 590657149 515371334 522975307 353244621 761369916 750577320 155141920 908218978 458772529 662905111 67850481 971227347 119119903 924971282 108889254 913232188 385608216 244264937 45789717 207297762 947477247 696881405 793831681 330886486 312997239 89919447 586849468 189177212 36850607 837968777 560261006 984555511 903987142 196059766 646331279 919756720 334995185 562335334 190030474 216695824 739829374 356943775 546059511 981594608 254652262 940628964 788893193 104182281 34107358 530920168 182296657 321400722 71686043 926304575 961340136 803779092 118755165 825721682 303435138 746557145 832838412 162147781 475350270 690306351 456322843 337698593 973842287 227414170 155801863 968526469 193093989 350755439 616660697 890692888 847380483 629530494 161723437 621961642 774184017 812808161 422372639 303022265 878058783 582581234 158459745 445456280 282609106 198419248 480784194 132601 632546439 178979243 306675394 294436653 987235783 272350710 721960841 118453597 145350899 50312408 116644092 980219591 746484035 975011716 227426761 423469679 529061322 711189722 27714181 36120282 272383919 750782325 332581146 555829521 386684150 739427298 539642193 805687076 850374026 209837019 763125883 274436927 642690556 225984030 995817500 184867239 555780865 762324951 749892439 728399709 630080823 221363899 929301740 571596284 535546288 431507038 649656328 951755347 702955179 32908941 862828324 254836469 68915729 923013450 482426135 974230277 358270973 767169165 939900276 361517068 929146126 596171843 841820007 149308733 551906865 880410003 433910330 681639705 917813414 698176991 511041894 876705063 322546807 451607899 830875886 234832328 895406291 942314080 836748582 189232294 304011245 68638365 573643182 875800355 769335523 887972248 791514325 141449827 86298676 590820472 431789670 951615891 624578423 578430866 17538273 945916116 650647464 773741010 376968920 796300565 481295639 132374041 889612582 188328056 46643888 610387031 333370199 361482194 371298030 138232338 327299074 33643148 596278543 635727943 965324439 635143267 380024306 34910250 462989625 288943297 438229944 438502250 267230543 215672398 987246002 265584765 992304740 124207906 127139259 330851787 83430772 729171129 50121484 287881598 230454385 103289270 355252890 679795257 124329646 11433246 635331407 152220815 201532327 753969957 225688701 738454055 5191398 820947238 529967170 755169651 677718919 575058904 359379686 457738060 143844671 578785449 753062716 75086111 45637152 720848264 193900935 227787184 837271005 196155500 199163505 31179413 943194862 596286862 47481835 793832949 990181742 410227070 509712545 224605128 556196398 827784911 456149906 963777308 476653704 465076454 661025356 631511522 417045604 900293432 839193154 79523938 940160505 612084616 722068312 921178181 663302387 435089651 362325560 764011366 361918731 655429853 562111713 620248489 12109465 37083376 173889939 211345097 314976900 79431332 9879050 904993635 349352042 611578367 105084256 627581513 511170151 831524758 704999239 426954151 273350384 394901562 463485790 353069147 847669349 137655866 498521218 695196690 188593836 538476134 428584 207473103 771218614 928598989 871645887 574842454 657393186 69967389 536925470 914843482 887319295 827798466 593530583 799021748 726198520 609850928 804408007 297891610 185393886 960453015 446691663 595519751 836149420 283494189 816561277 879249434 395738117 412608482 483548367 654042883 179930954 925575999 505176982 542284795 429513941 992185288 777299662 739470801 153513187 436014192 841014202 944307011 173891342 26428444 506540721 529639159 262389679 652776562 987042050 923219158 673760523 848229908 341631234 391714726 615224893 110328715 218445424 913570097 716531296 215129695 675229168 343856934 994783934 89133860 854456213 781369932 505854520 630221885 244617305 863212622 37324416 944464121 330802152 293912967 911117739 286548736 433933083 390096181 148742625 956429099 785864292 591354133 424976069 509405884 522903249 948597490 298564686 662795697 114672161 308673435 826702541 888688081 2201310 517417648 733192175 621653703 990921450 653021139 298140585 180136932 897480920 567699754 481092494 657364606 542284066 760062981 672752145 87921973 184050357 727695236 141346685 220799094 702304762 979426265 55160394 171014397 176747935 67615340 210963645 182187202 328590122 145263975 129831590 987673339 331695297 456296744 128647712 315308604 257196888 46712173 396470462 960551635 459050989 901922850 742854185 900316163 2589537 970010666 756044719 165830130 990384135 677615027 910947357 873650668 29290452 257822649 650552839 182844481 913086851 662032046 446345704 109251315 280416848 518371544 877445089 35036208 742952208 348126104 423514465 751516910 332807473 600118682 697228883 996613321 131306421 729622262 222290729 557613648 86481547 456659968 761870618 582990353 647857675 752695327 280541533 542131214 174952530 917952157 643860534 839259655 224043718 909527521 839845690 325852382 627957642 342859697 411866290 942472639 352633932 163184511 492100037 947402197 272114797 661325376 772556658 722898208 689026311 176093293 608157066 522645713 314073306 353309329 334996383 268252728 120110139 614311650 305930871 447096397 701603065 112616834 409224039 814398687 47991255 447044659 369788579 1582306 4672031 140916724 300247481 282427588 903732931 383516510 560967458 99591462 359280291 208981976 272784883 386103460 938680655 431771249 511205098 385567735 639895624 539724554 750897824 660156923 877572033 276074552 677772437 413724448 699601324 250793781 784676390 25115717 189465638 276325542 216407537 565403452 958736641 893525575 407750820 238278194 703362237 142367392 163369020 613352452 299408830 985499587 767675675 526709282 745267223 40393552 653368048 462977400 247335321 607651262 739547961 950695757 519400856 915633288 748643490 355049126 443706081 67435720 683877675 887308554 945526147 160484838 936536536 581506920 380108111 578429120 288573404 267319936 708575838 697711716 618208145 864672681 533514576 867741719 869368044 195012150 165179108 858583659 241688037 599014715 196178880 774899550 451866829 922929756 695226595 875409001 736627062 394177864 528984872 23132218 92740997 337089383 108214648 63094185 248488910 797649051 261478435 293518650 804092978 533626532 203885608 182348612 204940246 444211157 417291470 636697205 828170469 172102075 570890159 272748571 743462727 362213853 755632146 250187647 614686342 781584112 763849494 883858159 89471395 732661276 306284308 635447532 359939791 827545690 721260576 811289726 125318063 853068348 920978065 947919386 461465504 601989425 260119472 249439065 77286016 212351061 844884009 566967768 204825421 454631738 609343028 466601208 753605204 720209884 66542935 10900666 517792651 775314526 769956530 19963505 258844080 574434269 139100951 849018213 558927789 455109571 764523890 561217305 110963846 226121776 83872988 315664306 757598268 306035472 84294819 18840928 904608464 881277464 990569007 733434333 336695830 455169042 286666718 854111552 301129924 671998865 332927487 108967630 150010470 108558096 229273954 154317189 793332346 485808113 847166884 587843286 911353250 19420266 617855089 29099318 697565761 778155038 145316410 91283808 880993138 202260152 728638478 146063585 659561357 928915089 145117495 931671235 821079137 336511326 261151213 912869315 637019549 831043947 813221678 469212861 632837554 589717822 129805986 637748007 511102452 128808829 372051163 791068481 766358210 811786273 3509970 975140775 84386864 538904958 772895547 560407969 340210404 545752800 141023444 412066932 883448929 944034046 100236476 940388205 319939720 735835757 960120149 467305528 533337387 208398581 840356797 893179419 566571745 587285076 790100423 512926854 204555694 367656762 22484296 774011753 174253512 429848558 499164696 961807965 230534788 644208048 377323821 841828025 935958110 331395464 490130370 124842440 651866612 292180628 501826649 578693519 424884304 370186471 941191748 939023171 862811698 601404080 759770880 8131775 664011892 879872186 411555123 151802150 828017104 975387171 741107793 563363625 331172404 285156512 63701666 78173885 503333125 328708518 649484448 526491857 584118836 155980916 122949079 157043070 248969375 603484309 172788382 235996783 404143900 71671607 689588119 468991131 271189765 606982586 43607090 569019796 342786514 796932842 723171879 842766292 430281359 461650887 626714118 573599367 242499436 90990469 907930997 845069258 72488309 272260977 154733707 809227140 372306043 62482651 594221779 640974995 572688657 974354046 99012494 102463264 289195736 856210682 834196573 649879267 523661491 70286612 874848791 691950479 661207143 328019069 577984352 490350631 249272576 899662873 135537062 55472576 921337289 396129105 247010817 324807897 388882492 747508804 668726687 71373836 448920156 56240217 257275310 107188478 323963988 307755982 32348127 848617713 671974575 804736906 137108830 170483146 230221779 94688241 845533884 429681823 224727733 989103809 639920304 880296433 448623188 528646805 3901893 158362967 263624537 511876837 509552881 615614890 421239884 700720505 800068892 141144554 126421597 734621510 337249051 384465372 372480584 568684147 134623221 382442696 213213618 654408323 654978364 445740179 352780413 183168487 240956333 749399329 748165841 816571699 549169003 941808915 638322760 459362641 682961567 827795877 412258416 305031626 930937134 778451698 247448961 390897536 161739095 886959972 312457239 833951905 302560199 44110580 963033291 900100573 458448195 748729890 497061192 408386855 741915118 334154661 250952578 958581517 718777654 663246349 969745070 184129776 179200644 210320405 109323111 773989521 424891033 203823407 810481155 664859469 29909124 813340297 945541287 138030840 567851482 904251202 368719187 997409372 926748929 820262362 202361352 801980706 672028607 177019106 473141057 714780753 571988978 738842059 53502943 296377980 841909106 642619708 706494291 896749375 521188064 650481328 723926889 947221535 347123211 884561261 200438170 223285167 535153711 582224137 920097118 902706441 270343931 229990263 312216344 968032365 140259964 556643755 80896959 406238477 17056833 401715767 156544035 615233083 900131354 179509554 209343360 170922863 174177756 836178159 453327533 396321362 132048582 723222764 38641519 880613068 938249462 183793202 166402170 168493638 974959823 494665979 207587307 961642220 288927183 624623967 884151776 566121379 219318113 298455777 512836577 644023630 965982025 3373665 184449854 799674124 20390196 972836816 462444856 659411756 101827071 721093148 420400300 583722559 150859421 618909565 87943370 676421799 345198496 50638450 112246035 137997623 675495942 630373911 933094100 517596233 851232385 932172506 933612517 864344095 214235659 740246174 414681393 381131212 799053960 323601096 186407078 740915022 414015787 891807974 988505893 599656096 185142223 648804704 548534724 337360608 538280523 101655923 582471851 899386899 45989197 700757138 598027687 89745833 961162403 184119093 669957706 495402962 937902384 642765650 792008569 99751728 42918747 503528612 28320832 497365015 163960530 386729528 153357145 195380227 302560600 91022576 581189547 407297756 170161650 97832852 950112885 636281112 726582456 304158051 243420955 15642072 781630435 178844963 936872959 220020211 409687277 763800408 141642530 15718778 397019631 741446022 917768126 720838144 930085208 255877372 770037305 875949325 300329293 881487594 568803615 205207973 561990996 694996806 351950460 771081620 27763100 836991801 987421197 461848138 528212624 918032369 354806809 394227092 550086290 327644805 690626386 363523784 523155787 659186445 824939079 662095348 995187097 74424835 71527455 45321050 920766780 108085561 194498173 961825250 200136952 365566046 740175277 555162398 512996833 930415362 464356055 886373879 996808375 540070508 270758395 775473618 443609022 845889139 111967702 557541708 896766368 35877478 261446579 292636508 185481499 217742374 184494768 659553540 187024799 987238135 199520573 5120852 358411946 775264360 826440420 422816463 69583863 663473402 679464144 689112336 893188737 88267432 74624231 462483761 234680602 605210908 8985298 490592854 375050296 609542038 507270496 35128141 159367310 576010139 60991140 601250246 746930723 520747153 744124407 902680342 275210902 449190740 665498017 213100282 493995466 287855014 605407520 510791130 372455336 528352348 689433882 344805927 255709400 568762073 415218129 200946345 184012274 342397560 1033915 492400460 767159068 923483829 16329929 52653420 278239730 237743343 831903058 875298256 674283512 488124369 946763883 23234003 48016829 612064217 187204012 28229865 522368470 31007956 355438618 96271955 194904659 713988588 874074425 300035504 44569967 779913346 108884169 58694852 954624946 977828395 79560550 714140490 715894101 814147482 509714590 983112312 539317711 196314674 80700987 770039195 869874308 450568345 168349230 250792443 911735191 622332541 564972815 524523192 874646275 990192605 774104987 929743626 85433797 613904730 384872894 653505134 117604116 312134509 914595184 110774585 117507952 53892157 756483470 111550804 649672779 250802771 129582137 354481560 868507831 894161420 992609339 676099667 775163265 229764598 815790937 679127101 340511405 829379215 905082740 665340916 591535461 84007062 273062772 193322533 12819745 946671132 887819899 460479834 460371417 488683661 250150107 421572089 393687487 247782389 412342403 814267080 66267656 199965109 924114856 699629198 261173088 533503297 194891576 588317866 447097091 261826478 892187077 269391156 158443105 31467704 994626417 95155965 48683509 251178703 219647276 212954041 881370199 129185207 608882913 311968461 118975359 437317794 170287202 594051107 117435757 896951476 48274538 45883215 930767220 520707125 448365316 926373806 56625360 742807340 738705123 808008721 423424006 658569723 917407755 924842230 970081617 847484116 23777049 542421825 47432228 369287318 79492567 226059400 605503832 601482820 56199613 615351061 633985799 512479425 557316747 855176596 37104959 983381855 595773418 261698208 985577344 75420143 840763301 747531752 346556545 14827366 411343049 990012406 232031914 914283923 798202006 968769338 786769866 763678573 435428582 825883657 788489875 229098210 517592273 654583004 319132166 834255273 562839285 706347362 167927151 736009760 134142677 272201648 988125824 908346301 750816393 183299549 630149601 290725716 106326113 426315567 204657405 232001774 756493274 436974979 534461471 383503935 738246783 198056694 617547145 696311176 291258518 882993988 323585622 118371828 110980004 351354541 519184915 916090338 441290369 946396791 902685395 858054255 497764616 377005166 175199259 721201224 665924693 309260434 150449891 871176881 823134535 258322410 231253479 873546318 650544103 583946339 187118205 824734416 735711055 700324683 871445552 730867990 539252968 530126648 623539069 914369129 23714983 112836032 765780966 386138570 22441414 102990200 443610015 980498843 643389175 322768907 206540507 325516499 112137119 34679337 145894653 453698191 507022570 722885809 445318815 919211456 448654825 667172303 732442570 208555810 867608204 230570459 999274833 586490363 463696493 67127991 810462784 731158523 656678556 784359012 768536740 875525103 221628158 993369282 928627169 881437053 59049789 231192276 743282659 722087477 451909063 863121386 243181748 179740713 364929605 927547272 392391792 973812677 31245329 371997964 611516791 679794531 906800080 493592162 10793180 114386708 751455850 351882605 904842147 102210067 276451047 795406621 543261360 565428312 580781940 448694802 295327249 129268905 296674697 264505272 420150978 653084167 937004255 445156139 843178558 512929225 533139420 162117146 772393559 863878054 82430469 809116259 294161728 851209180 168161082 486416405 421011235 615486813 457368735 596566843 40514901 288472464 349435734 167253760 543359641 424241265 676970303 551861757 113804652 250070061 185995721 210090797 450833996 417578608 886607816 260570224 345690429 631638644 596524205 134913454 862604370 209278619 487609929 240274833 55931482 402948952 920762877 751758205 597737503 134146164 448724089 469648246 12626077 339354916 807631403 600683189 628896209 13865785 688263657 524697895 175462072 891148413 768816595 632656462 84253206 337903193 119916061 446857648 911053331 286345049 451176372 825858232 363387265 394802309 829777944 499810945 677510130 408815365 419818147 381124432 995034043 806538618 443687135 32461780 566974864 188716258 413830476 437101906 85665181 104008537 989014540 776932132 548552319 149900133 487754318 924890870 452321306 425588902 877974912 920770672 642581848 661806739 385630120 301692439 190798273 898867512 783256984 2520865 472959391 629497264 489180170 789863895 103479301 989757 288176258 102889561 97700962 126367759 455560059 779630232 937279596 468765673 956368059 19018917 889823592 141489798 365019455 347595999 663449212 20132562 861096719 729659188 533858257 943409902 247235428 163637397 635789584 9978037 487594361 33187466 342871490 75465420 167630186 229840093 85118268 402142122 934089684 203839800 410575683 507141642 518607523 275453133 588437351 395266172 737259179 7169246 99359947 129282730 87908300 41295674 98418925 690658448 79950881 544912344 302161852 875831041 414303312 692426016 949364187 679027 990761699 428771924 294329513 89688681 578004732 773854786 760081060 855305816 502463175 318725638 584032740 623415940 227251419 999128471 415510404 476750957 59878758 615808788 159063565 733781932 896062641 978152111 693802705 834124420 690056471 738589116 580224130 945072450 545363763 769108054 919261513 826610791 729280248 441678717 511116499 325045497 106896665 803833123 803889050 514020387 871309651 457189176 592434550 871426157 183202943 314922288 565963333 23678275 656576505 562028411 417135255 899334315 711800207 754036615 371375424 67869474 383289318 642955134 961145853 693034537 930959617 874941536 157974157 766224204 22653618 258977191 194471536 341921056 682153545 786186751 207536482 309992327 12364179 532647344 870609353 262798 400096651 720366597 138725689 870899136 301834366 710227329 792980777 521712129 959258254 24452357 728250271 971592305 708251012 814209396 835006128 21193921 945641100 439759333 997266669 546183594 270617326 738262144 514973020 771564531 370649795 277672183 66927700 305168850 708199241 856156813 125338183 456284550 618685139 467616279 744781749 776281551 848409130 531052907 799963558 350208712 895703203 240908780 923590842 216633541 710954919 721524052 563862523 310323911 597965741 217604398 544880191 778926198 337738169 541840441 806461995 343721257 945688439 337759556 866091959 146272931 789331113 253272427 123258336 415079771 548121431 715538573 859955203 420939789 329072401 556537505 650071816 370389322 116325765 585025026 564242778 307878640 907222788 265250901 926802445 418990508 870442442 912188181 726966820 780410619 940244167 111719174 905158985 691272620 325771313 566197134 264444000 812658249 927556436 108192489 647614433 451353489 963120301 753058234 965900636 852940141 850190720 370384094 380366306 3326533 989956631 897844700 782230630 508089773 57330294 197460896 151029377 443068392 297271544 512923197 714795091 664740511 832932347 967669459 737000998 947357567 738297365 367689316 822870791 461806025 849347400 211252487 951209108 431229970 94587931 135418824 880933890 599818830 879100101 693354419 308659162 63950503 853905938 435773321 495565481 633082915 517962859 896174345 910701733 901761807 501803086 663877256 311018721 325599126 137676005 799324554 22641795 910927802 508620227 823173085 679733473 198104937 151153178 470720493 587127497 89137784 586653179 756836250 909950201 115104581 537461093 79742584 24416296 813485022 486321516 326376353 539794511 503304558 141873736 749199796 406420019 961975249 359359953 351702057 864224803 202263092 654124223 200005336 612661546 210206326 622149037 118273797 48575188 888659215 343551639 311313073 877114608 700579163 652276980 951122724 909162824 92212977 384150381 573000328 800419938 621872984 640821465 419320797 224529916 313747625 945658183 655501519 612144447 934576534 888719535 548364993 600256474 585160310 697122549 618829264 397851963 457813425 828947567 546747653 945071347 566578204 82133954 385272843 571565957 676131047 919634485 244420844 69122944 107232863 102486705 651094720 761371404 759404280 419828507 170604041 211096054 183803922 57679305 591321818 324362901 248858896 868308593 836295294 977225946 417846189 781859501 456088826 164054954 816482605 422719080 330721879 324942014 659540959 931343676 799272671 570245854 842212077 662739856 414580604 264922557 948191971 346248382 842880111 634253238 512086570 563892533 104618761 965661693 65854169 900122190 463597037 633114096 850456961 59722481 56030339 103638041 529054404 158197451 730232720 243180474 920064248 113545300 245254441 845735616 104192995 845488438 574965781 522862485 584912646 77929065 142697140 720708859 348459422 492554141 621577816 593321227 87974350 262285283 657189419 278761083 604549001 351768454 487690600 935691714 528919637 502082006 128117755 684268530 492563043 604307762 266789823 957037339 469757677 744530839 716858611 552405671 314894413 759404916 718887443 6320805 28429786 174939200 379197579 742679385 583516600 225551288 807557451 465676903 159519480 704197083 891379853 693068151 101795751 766864865 326825304 857675703 736515588 474652065 998940002 480870220 654145413 712985074 234269236 835152661 994221674 985751038 698821309 163522397 671705867 695674368 775994240 405467495 340605418 504878098 337854709 928306094 645737675 526407930 117066513 519705848 736306153 438810428 35158571 53875267 717403758 76748571 49075534 960076929 187269938 680814159 17413383 555870111 563141129 719577282 600957143 821471261 821449133 87821739 667893605 653279397 71047075 814379269 263448882 734256978 33486871 663077390 69841508 908508351 608677212 785026574 908475443 561640643 875126091 767611807 361818540 545895223 172433698 503646003 921592640 432369252 976307248 146504065 198265381 188209119 393997210 140400529 58441577 619513443 147699365 876250665 37904913 312262146 860804987 841831326 875518000 307905835 564401444 911390556 116374878 913055488 740631712 165872627 34490771 717432126 849935187 301907020 525905634 402268336 2544546 284881705 568086526 187892062 800373044 580187795 426718421 888777749 509641897 137856890 234398991 828925033 803700788 838865760 549381489 630779954 45817629 301891846 432001139 365980244 302883124 702422985 444951645 319109777 540065945 589543223 415939055 2615046 729707863 737761493 210963046 310752760 522169526 161042180 505275724 552438490 743199886 78197149 924729769 79064347 688317212 95705755 466712244 213874103 607690010 241950633 853737304 231367781 457637899 556552674 92815281 44365527 261987283 579051207 196425835 119280882 467977199 621454264 212598270 803948346 798430938 925493635 814454611 92943477 201288190 252757407 520149154 147885358 633561341 24539898 919235215 504309335 350193549 911733226 139144937 184125027 866033190 530470077 148773034 706953214 294701523 937081685 740769386 756135203 499586805 952029255 551758860 738576361 642700161 123032286 172515754 41536690 584913578 519661837 902299728 327498924 58444120 901581212 59400306 966942169 45837477 485789061 470672475 447137194 304203068 455930537 677040777 901317824 533468042 905845176 522579902 271183906 744028602 118722160 728565988 674531807 174887352 528751301 352937032 428324380 300364128 547917687 244288474 222394939 28978136 92791149 660905406 373656162 263026137 528456788 685179886 48092122 245849717 873448590 260435999 186599705 601583243 554587141 722177084 261282956 3613819 659620610 395791337 975614048 752104203 910386450 802725235 493771655 972078246 834792172 196990032 139370542 173984936 902881468 412061049 332786329 199739698 333747369 636439778 575570312 705283642 983891444 154615097 302254694 682085346 782090200 639545778 212791107 393077909 508098755 403012196 846803498 462833972 222951410 976965728 388401107 847916882 752002957 378044815 212701711 906163696 311418846 52836201 509406428 503992715 251061095 555818392 830202277 533779700 548620112 366346906 155798721 748597555 483721962 400284782 55737444 129283170 949168612 599047531 525860268 661070336 264162062 256895268 865936770 377171362 522982812 908838740 295457376 537046763 73067438 117538000 180472480 512830754 129336340 775457354 582712355 200103660 381852660 605027404 515505375 396371223 243388293 383174833 19297642 734291351 539592790 565274326 516311596 694240026 677185157 959548024 789480636 106026783 457924927 21300361 489159339 727582096 621086703 64189389 980092954 46609314 709022641 472033216 296478981 534815754 294859500 874273538 393509097 585544512 600648493 436041963 514978695 683710410 285662358 739193635 210323610 599097334 355819336 292289980 254111018 472070804 451067631 141979252 510099494 94391218 388888033 521109006 550434328 703960038 809732124 131879212 918540741 769771723 428120073 769356654 640536338 432700487 920238782 146219853 821782695 747777012 552767275 995134834 557114511 383252957 385508197 372077494 575622601 810247493 490879489 287236122 552244161 461446911 777197232 454618808 902087398 794243994 505859492 442439176 858815667 489755703 948734442 811279108 213014094 713168475 302013278 925662313 961162118 559808894 408567875 608243170 169896049 274512026 295801994 155759319 231438093 907700282 989998533 438226477 591339872 324572398 833786732 818512325 406728080 492673745 637131713 574600875 380744219 760717389 32116363 193781151 922228595 455893718 792357264 500881619 47382905 993816900 18191643 41758671 774042507 398831102 784947576 742110450 139689614 334912844 195117057 493564448 915322577 508456978 783140527 958351578 721847979 129016855 916405773 21801809 958332841 479540015 822302762 264525320 34668353 71645187 840210143 69062400 132939256 190311443 610479542 120539982 967551795 934757176 545592055 690068185 373348799 104666448 195643190 37209082 200828682 261091239 571872602 597707674 346889085 88787749 693420514 957849345 482187070 841299725 717218540 367113112 23127653 31387503 355742695 251797518 357206563 742983787 879513046 98186942 350714106 832852979 73350102 264125757 489744494 206870387 975243318 565477754 712521741 782541805 690874812 851734826 214746066 940097740 694857112 215610778 606870530 908904686 607915181 738638809 972831449 461277669 346567760 357090280 856748046 653835902 306710482 820864813 757586228 897059639 255905636 290674025 776470151 944516368 791191283 97750209 572785165 326957717 609173886 951222594 542916335 615173816 521944134 423471131 646254148 752348846 674369198 263088823 457264831 589607123 96900074 975303626 365242488 752747580 153475629 716457663 653690784 107570586 761586042 881562026 852772949 367050083 383854695 243933273 951810866 35915724 928157413 938212063 129557484 511927523 951653913 26834805 838212668 207834837 661745419 461895587 253723557 461312661 439745996 861407528 414552018 195213895 866073133 782409890 777118153 206707527 483886046 351569971 826155952 878490821 78245772 917079970 719992455 703808450 593733583 803708273 617896528 118262759 695853021 902767621 463235964 167678117 124738645 955866480 941346535 978607846 196781227 768537309 903535862 44034309 49426038 6948794 102469229 350177987 927412722 282049160 558403375 126000119 701904161 104373652 975454626 456877975 94758982 242278814 288347498 207108971 622418256 254007980 163541373 811970059 900906471 781673505 1314995 497425304 353863973 545317880 390177236 215740957 773882984 667408311 279251667 26430496 450722880 705796576 702393647 467519049 507426974 304255589 867124280 25100760 541643253 381744945 78203126 378539024 700419969 951913166 704022249 884591857 474337441 402384339 112608303 753078954 455450158 347654660 480042257 556767914 330055720 392897118 925888691 882215895 202977654 414570659 39660614 249803324 618749183 601905308 655312841 423400470 267734259 892323340 107428202 266389320 121379098 344612411 663679115 489576295 905724196 467514647 959114504 492837434 461375768 131999228 546859802 541620355 553204657 444778174 69431589 278364938 789018910 54733100 209138657 476428859 925764851 286431810 999336693 644158456 800301431 207983822 795247525 524423649 21643079 263166260 496315595 220417782 820233401 617419160 739732093 630169246 866912230 977474796 69841229 769656112 542892615 497632820 797077810 20776781 675282859 298541022 680641029 599718391 960108267 561062627 389791882 428803144 834414520 649315467 260752550 985483085 84151166 703062629 593667352 15060101 742674769 42265123 659375612 557984099 974507078 723786804 917868428 309227705 678426206 646653586 180514715 688705650 202735757 415846529 716468447 70683070 388431383 334680417 930934592 183224249 569081888 567954971 927199370 262279956 91583455 844294840 556313206 595369507 796183444 750684990 948491331 69113435 995809981 466258467 484940523 539830382 234300402 447675745 323915995 865132264 825758293 547735495 547885749 466692059 614855398 696246232 170537319 592156075 882951904 742969289 593101709 314170967 913551341 524997107 995369078 940381071 406021253 97019565 811406564 756377584 574914576 933441956 593032715 198905291 434484539 91208826 86072285 950167477 319723934 760216905 699153345 555129568 688496307 153613575 291607596 281259698 143291294 318537211 659433837 670498349 753081844 653770238 988133267 989979302 322713005 489212203 348093646 339862150 526736339 829957176 939460601 104060993 37440784 72908150 513630820 13165036 848960603 384515492 398712031 87321464 85241666 962442302 126824139 547403865 885928537 41506297 747529372 527948012 86262187 372181602 60311965 279996939 186926084 903682436 274302221 928260260 127995816 233151559 155006797 827619992 226504429 859025988 824730228 854286285 597633465 223395817 79748606 7818859 917872592 542928826 42312959 966156468 389108364 962074149 292235255 671297448 241831291 294642720 913271262 791955507 726885055 430564274 504323356 770768110 938195796 429650136 583744059 576199787 274430874 735571483 39205474 798593568 967316181 795199701 970333082 94421233 366874631 363041840 581550090 362560059 679741318 605498754 529867258 840959805 296278401 771351466 373200311 235053978 162548385 721713732 251948656 983494789 901081885 582428486 497315367 549744516 928059742 604802558 611959150 599405472 651221087 474558711 408614365 196422018 653395260 66770858 29296127 891029433 52345440 875883879 486283334 601872203 164393695 457972356 660379144 793152772 953434161 372857503 544803170 39117080 99556394 97510992 6199334 82577897 837062359 800929929 130102538 215808135 728497668 221133049 271124214 873665750 542815618 887454111 856057085 807036730 823230327 413291908 989448313 338201478 821108289 196924425 337742500 720090811 377380715 216254214 480621564 756290231 59323229 733055785 595015664 539026174 835240621 808229195 668987534 273783085 654010724 538017476 552843429 57975706 629530410 902793122 996431024 532641212 979171154 229563763 46382646 302735830 725119337 421433839 47730206 164986825 803246705 897700157 446144922 832044122 891444591 969382759 210827772 416486019 135509061 713455109 774201949 866050485 250538270 170252625 219267469 906733645 143121712 839887732 171262721 981886057 507528164 186915904 472178362 783283555 997515178 422833115 532247977 565624460 778931061 3097424 656396694 335899555 493574552 97824421 213911915 39068883 211307128 739047568 37806062 867783821 614099512 442749990 6030603 317007096 925669660 15461436 566832592 94514984 970257235 889647064 604303823 540851704 677889098 738813309 533483550 791103107 239388355 370236072 654774109 858711048 766083383 634830268 349128137 304164229 727486745 61710064 527895680 269769867 380580736 758805140 60907474 723116186 590464490 873109001 658469814 605180792 237707355 604430661 557094428 20988832 896805035 825044558 488792611 280304164 636249260 75122384 266844194 847769281 590932586 196316218 411708900 540658695 904398848 296038046 120451532 927552305 421510224 281533843 486775435 248652336 236746365 443520011 415914522 201670959 839405670 838087387 840765323 42127602 501985597 160191897 445458269 293977483 574243617 68196837 29837683 626788610 234848330 98091538 722029052 346391425 892449662 557692626 422025767 349312120 582861753 407916287 386675071 553177454 175002550 812509353 930613449 643088028 664128267 659971116 448965812 77844059 144275967 425766820 839241580 29837230 609784138 343623239 965159504 895947466 561037274 420720689 28692641 230017567 614189010 146192930 531616972 562443755 396216465 574307697 634085538 422380955 185858821 845990493 116846442 610308635 704986063 295499849 331491837 32181196 414544906 975735598 328648797 654249242 230310482 614014391 535993811 641799122 69337254 760732150 976799507 161839732 360965437 93261132 352447410 661345673 328113154 884102987 231759115 408758548 822679131 390325153 168115111 913025561 241097486 983387748 867677039 217289953 599578186 886786402 573395842 149874761 295320418 48144498 653905558 694585137 825883271 762905247 818592570 978516860 832449022 166285622 125770446 935559776 446815117 416462477 245864793 325882242 90672710 668165058 378649834 217508842 154541249 563680335 540504195 614845533 112116898 141961058 814977806 53306675 364937239 761516833 100100866 300388543 135316821 227952701 252324614 323671916 327076333 766496110 224457509 387863924 630293007 618806810 973934088 334606157 554290603 924721996 435525958 897649509 343094997 287109966 529957371 319016266 430218693 822111620 143030379 16645286 355639211 822222683 795107067 2456419 415721664 349688310 543170563 873989202 851457320 775352875 32479071 814232554 434244955 509609255 69523864 512657461 753018632 245056523 992463133 200167310 333436625 439520154 372616258 603001994 51496727 441714990 391232295 155662107 421160915 514242063 52524225 785361657 143981336 768674414 161525075 407807516 319279120 927039143 103822221 889296541 857492844 845762699 100338500 579193840 14883886 329124233 805284533 72105923 272709970 226993343 847783842 784617039 206193176 764156907 682046156 263378724 413011958 171282628 561167954 67409545 124055708 445200501 681611411 606958690 235886364 974325065 317944753 458447775 462755098 548193275 954550765 993548150 195622538 155255429 670645383 666645110 785351585 95375507 384877343 299663433 481311326 313797238 293053639 650566847 479151522 43527889 894909306 577457303 336616361 263879245 948299335 600552670 494365394 102505300 519375656 396557688 687128488 23894664 169334426 745786544 903491852 487175931 196819789 764500644 473721017 286903482 566011272 712140278 608265417 999647455 719944249 423546598 875825518 449585036 230094773 325414629 699367480 880676975 540702692 813320929 921470300 659213968 776598835 478742571 254346506 695104501 166884537 666047150 748740716 673847984 587699120 708463954 566288040 115205329 590890888 411334832 939482249 66157024 113588123 763672304 847362127 273682946 990791014 368567781 893186650 331079521 957526616 64059751 227121887 87603883 869736985 504184091 444927663 992847053 331628126 199625585 863885087 203247327 140839840 83905726 272984924 824146318 810420404 106438989 909220495 542627900 133609120 766972290 423625008 516313837 118640610 158650636 843016326 847557650 938115680 446594875 254521103 927613602 927754999 819725643 128619263 864467751 895508483 380387630 801924232 383878999 994229247 974974861 477449928 991473119 770696487 686824297 745399139 458958424 691702231 440815936 750134165 245427410 506041006 525816960 577128425 917986936 512398107 833638262 273768657 127364727 827235199 941158079 547301279 210871201 27015474 13934424 92188362 150617437 406125836 918162680 605374303 150256391 938182027 173386817 342455136 315167291 465643373 72966620 573064358 484744049 969082000 134403139 725134688 55651558 775037467 338484260 211525587 636764490 630370012 861924303 287389262 164783599 594493470 53782660 739033600 539139237 972465114 610563659 775208884 344372531 815631622 903022807 461252477 692723739 751606532 785174718 449655966 796119279 886515901 643718700 145414120 634410523 408502919 862834998 389436312 137970344 808374779 909346405 242075559 453332209 476143573 841885705 546694351 495257834 220087425 238631562 965025534 849202977 11386349 36836818 609855899 525372809 691209367 87019088 567367030 495363632 606991699 59854137 998372041 995550569 885597620 287610614 950261592 831345416 706828797 632133908 943878275 928542045 718421200 710179338 671023124 32135113 950429341 648646916 786492847 508770056 210288330 570788941 270730716 549102309 528503019 22862869 533442153 915401407 69811375 587933593 877537971 334269376 5999836 755725993 331335178 74511294 864438009 95717855 296080066 101538988 357899199 684682020 581319260 652073840 404194983 407355502 48332797 409391119 675198513 165700861 592429143 799518787 882144710 765378387 606107770 354834610 273487242 895586111 946615359 478206348 946562565 745924107 616607916 53255622 133804953 173185630 566949019 797719424 442600478 143099703 153382519 120691390 164530562 118872036 238730484 818000077 8020666 737784271 119136872 789050269 574599213 966467046 602129351 530777977 356561408 192271608 550122032 940644331 871193284 900012563 250661857 73301806 689127010 194022572 731541849 487373314 876299026 481844849 554515098 791404111 644858711 16447134 370434190 858339337 520656933 971977099 46487086 528055905 356314699 450865780 769010444 119518757 907192756 906058371 927642409 361592362 496756193 154731215 486412784 546354318 833827200 49958944 772878593 666527656 971246750 803172890 285223232 157149036 588745616 839897219 582119046 805724732 805363116 662022373 386034842 42469129 857059682 125604180 28764210 405414066 16266004 430024634 351907444 799699500 930274068 217651743 713513916 65448691 385346712 750620859 609066085 895432798 856413904 772145755 150463561 397665889 213976743 704565426 597202441 880795281 742903711 510656936 313831502 641764038 806006127 95933243 665291721 299988140 368901967 483887556 895825257 250584743 734361299 669120016 351017566 228755049 255366858 607459791 320802007 130414999 315361050 512850180 262471874 142106585 128907591 748131963 260184563 51654680 396506517 55523987 619738871 631861871 809790580 216775036 430090526 212626652 538363378 427724199 735528883 941373210 191806161 880313765 927704714 899018883 946906538 59003736 754201321 55319633 855510755 793815925 547529660 911508928 888918727 4684308 7210265 957509200 71295693 408188859 174359168 311938563 83277067 232961164 436210539 86615466 491622744 294457308 470184608 896979086 740934625 94177498 577506996 422975468 180165106 499993412 387637507 952547518 575323754 537568710 472987644 577298224 330106126 307047460 647269546 515254668 227345870 665741718 505346402 437157308 252839816 181243841 336422982 949114627 757377748 592133686 692834002 433373575 432458015 37615622 546812205 785289193 124981467 900438255 38767043 681239126 964465154 475568892 358171809 683617838 211466558 898225528 179670346 130179556 587572281 654225947 543384304 728657131 867574437 678103125 807570772 956910915 985705875 824443942 973893883 937162281 460773291 487204546 538019092 150900556 388808821 833022873 665781695 224711811 947562728 832882466 726529767 447070657 708568707 626609200 670162585 371007152 738639273 763340536 202250762 465349991 585925772 336043060 528233421 705418407 588626158 225913009 398577257 41484568 456001813 311821334 761699886 948420052 897469921 825049584 566257613 200510315 8072936 607088616 739235904 271811505 665648500 380684947 211127729 642332784 130152266 98276185 992478048 663089465 701253709 551987295 796194436 83914681 672281942 687561684 957795929 702366312 768386400 681473947 820940695 82370862 200961019 829775521 579020154 400181448 63966549 835275989 142307718 893342942 792156230 296756749 883267005 508774683 716188716 327480599 581558633 366078964 590440559 173613854 478256427 659058776 175241879 911028067 211157073 971016349 246505247 87561473 34802449 582797520 908058092 298090385 186598877 870695286 999036370 112338242 720572032 259924860 133063574 317137118 123693639 650899769 774304317 249007238 953929460 285158571 773307475 885186442 649779653 248086059 775779442 781629392 485435462 544368595 913147005 278160576 693136450 675524477 25324829 22776318 560027376 49063834 354625116 894167568 567984993 627315210 250355157 136141137 154320821 438359812 772794525 745066359 752629091 723068467 816426046 862591029 826954932 821574557 16612906 961685612 985585579 737068406 922535668 559140859 746478992 682990283 181527361 794456694 373887502 229843640 479337394 348179568 40338281 546932311 128633231 227868694 790436294 279851727 570571234 660238555 681844270 80921306 633737816 541339688 350828818 429309390 336699906 228949088 302912675 298365165 95738367 436619524 946865060 297596992 934780360 4453094 445617 741746151 303472764 382131442 93652663 921345914 746593846 710399988 740787385 950608405 943997201 957109864 77474557 803768846 51801393 728199519 241035850 491856469 469796807 801176917 725160172 410624968 400910096 692037408 4823419 496268083 662706799 825344784 748819939 818542770 188706399 263161211 20753470 581463972 569521338 608905061 472334178 45872967 884291503 882721639 690231876 908445404 259219913 138820420 810390563 624121684 32772936 244265880 169705497 889039631 511369941 168306637 998796384 388084551 885129130 70961506 655597677 347908710 252664651 62585896 585222151 305946998 583450967 986528788 716089217 821460452 803658221 142066924 939515123 675504533 469657286 479334336 235614616 576242815 195171292 126611639 225054614 481388706 933855502 346527626 188719129 444223818 352530702 418742619 334804843 891708524 810145257 801248748 329239036 166194510 284564064 461584576 942280061 631252046 996498235 93297862 344230849 684076633 198668904 62706943 562539083 895918757 389648534 592015499 83886988 408296861 576967551 629584543 243196546 222856973 137399665 711007176 833873631 105684432 481099080 513547202 322992148 351286409 839167144 245474146 237280462 441005312 81555518 720896526 215531250 610803553 369017379 444648599 752702131 918073167 838741609 204074913 366098472 488726560 859070864 663636973 859471584 390975743 885059385 790503002 801944865 314454141 501288418 514384057 171430079 325610118 785129402 759548588 835424975 36430577 247932042 460515222 823385441 164018808 527133116 898706718 29745495 118213146 496240923 570141623 513516034 969905764 604746692 230345837 9167314 681644426 188898001 754546413 932969519 330922056 928684956 8695459 582087400 720052249 39152959 182391352 457915523 935308446 423773697 642765218 217748652 752877152 921203015 871426530 809196639 35539009 94193924 542973419 385448889 195963267 599802109 149645160 674132966 777158767 628589558 418618130 438027526 308035897 636128832 748291693 153892883 802121413 597047652 709670541 302455495 125356779 632038352 557612711 205985624 276862236 453006166 913421061 420698363 335483073 775940819 431833646 585820960 810661930 880709719 618170371 707152118 869089939 945322669 215210444 102328617 691771976 382923312 916160191 230108233 755988206 302878831 25341679 522515074 583286163 539387545 810818032 908635951 408049966 355843357 872480960 249268035 859092129 773778565 703931734 567722199 628548247 98485018 530522458 200555653 917691063 119340231 332196929 481502880 778616226 202595695 935024257 141218232 570816670 360066364 676790560 345792015 286885353 941763409 436781605 204951047 811076947 501241537 385062899 195762342 60547947 299333748 788680065 657031306 629867083 72707307 829258808 271927782 973627777 858476615 404834158 5625528 713610920 396650273 785758682 72872623 628375504 176856799 570593573 993950871 959613441 425395960 173184743 615223749 863898800 283091609 27213098 144243587 327614644 539083258 536689458 560777199 803301455 964302158 415210636 930324890 695664982 209081226 84329153 212108838 337389847 279421182 343598202 60687974 455500687 688436109 562305211 810463144 758350546 886326652 103549113 43505965 210828641 541973993 969309593 645065788 257253155 665924836 104915623 635346226 869706681 274456429 719933487 550906458 583592425 830250808 561688872 600937209 971475311 615472352 258175042 611884909 783760100 377153195 895330945 164846549 906474845 815200443 798481266 850189384 544639977 348290834 620781820 267047462 161137911 938945336 645459071 414911291 417598096 487493795 700246506 356784346 497654645 621663003 126672043 281360760 91534537 798669889 361624899 560811925 405687558 553271171 892332581 549195815 370942234 336835006 882174844 719822393 713220904 846874019 933441223 298817070 390240375 275085805 764647801 19636815 593170716 970649008 645134174 289895021 955863139 776802933 325793866 152517920 112262606 593011999 132586414 825130674 499274135 446322663 943763578 320901034 54999245 329760460 477419958 784437789 875160341 626871995 536197411 536284794 253818273 529410616 857546234 527877404 970291585 537317587 420901083 433845265 424046189 948233153 787720614 24390285 375489479 15649608 660837009 941243214 214372936 357879859 574976193 295703668 243777317 601484549 655907929 834294598 19255748 962802980 413886650 927748487 585305667 289641255 729224953 565427536 798932807 13492437 719572766 180770936 241041751 538736559 433309021 892657938 733019451 371213690 19125066 781744280 104910809 566590443 362739246 865544961 840073968 350368997 578480089 597250797 384891809 19013098 696573549 363903739 131048743 265071065 204509753 560079797 205551924 599036551 237201578 479633989 486958980 954073360 1530191 948939264 918162534 137693424 794583939 344421371 99035357 522305142 221810145 696169676 91174812 978381054 648490809 317032684 131476363 479105099 729124481 90169639 667266034 529909215 254591996 33179104 865875530 606787104 917033714 649039878 337623516 985819303 653462544 325598172 234795721 2047253 446433939 246308210 522888210 111590571 548870531 76868714 584017852 796163278 829346101 387002884 491815570 910594945 127545526 123286238 275388621 890151204 284834961 378842653 195277651 879333085 762272724 90498279 988542982 348360177 563923206 809660018 993913931 768965563 222819787 691765453 646092965 594955619 49265066 242985297 300703193 129181198 34717242 15775333 956130074 781699277 623461210 865489650 53256331 880530210 392251416 789832030 640567068 265081309 571823534 675037947 100743261 664199762 104115194 810968635 296992729 926860845 365594962 839169649 865512859 189136140 792277015 191468905 339561610 364097583 808955026 805399135 467036198 939799401 208185040 526920550 3153356 495292930 941290590 198159498 515088563 21444224 910572014 996411692 856057133 221739072 402344517 475820957 69526315 777972438 390884572 870978446 285599785 810449307 377447325 172901683 700812719 974788593 496521614 861266073 640006450 928693019 999320655 864776248 813668146 954680283 254123307 996708430 693636458 117558190 596952369 682834858 228706950 180836588 621323353 262784816 351845131 481098194 976188348 944627336 850412322 902780231 635398760 557323910 701702641 458713913 271131324 284692416 471307347 81629808 931491892 985281928 57211730 81445514 386541241 399343079 18375893 934376929 965319407 931029824 853510888 772210397 223120188 197479849 362247089 890194933 929383236 309701603 488051305 627553933 131277619 364485407 96595206 84789541 445687044 885823076 405037338 600509822 965312757 81678955 849256601 737631455 54835590 33049914 177301281 175554922 892899920 679299556 84144525 790955558 483546306 9687525 153091364 454696713 518563084 636625235 152540910 265938179 529689737 145560935 37873504 634347306 809922615 800624495 299717165 437230607 518300096 463386753 391971425 794767686 699252834 889225155 323952761 631027303 931586301 203803191 92298408 503212142 498559681 792418470 917088703 185190953 320385749 929222251 666607082 70880269 422285467 372660858 616548356 205655606 219016679 638006367 28277771 761808247 592334833 935567446 724884939 716506149 614171696 433560046 960819261 749708821 552322130 754344392 847894714 811293749 381960087 666163717 613471836 237105297 432485454 324540107 193893473 910070276 895755565 486228814 992700672 936838781 3595320 106149216 228123400 677287366 334243443 642979314 810513853 396509836 975655121 199599446 728431835 347469167 226648163 17898323 826150500 821176698 784835822 787028790 441237560 401559670 602325261 999017204 905562674 373278011 690227550 141342909 822056476 708418400 328387467 524393406 680082416 172413462 177417109 411595804 421289722 640802141 40027719 547806194 168691951 782522921 798826698 917944120 19876180 779558682 676693447 6286336 793744842 54691913 13171261 420129882 397401491 534293163 598642454 906888881 267727344 15483373 743832343 764799034 518716112 312495133 788937214 573799937 3992958 171487355 901029028 516398608 48628363 587717869 897604634 76415863 346176674 248347924 348977874 278459022 681943566 345079667 333743573 840763042 27638615 892980153 348590235 872386186 595959302 491122212 791276444 928139956 327663330 715725950 852394795 443883090 135657434 45325562 312742692 161544453 277869314 913255286 900539789 634144068 162608372 687825067 903236185 888257171 560051649 34504719 248499451 921051476 154207849 751036247 454895452 387444605 191782346 149384002 711671051 391350250 663965 139994091 370805310 966152776 374280012 484614025 226066230 559193572 505793191 591678874 880780901 94217941 407461932 655395635 671611331 813776539 508927865 711673380 178392999 136291205 249032179 597595755 212240616 422575553 785606106 458009706 301684781 331180401 424592680 772881853 480771112 686848158 566964106 995101181 546355198 704577664 605424903 129148329 75763338 691748331 441389451 855172096 254602418 482941422 264957815 150306544 943874657 567643699 412963718 559362173 812407557 141649951 5994924 744745216 693173195 585460873 33348323 323120986 776158349 19435958 561034503 382108604 905953974 746840856 774734561 759868929 119579644 4676590 715937500 450690746 650529166 732046025 273626915 581782114 279739960 282476289 594008710 941263136 930743552 528618838 303459500 650682569 667870119 665711309 961743217 341511066 904437966 938623360 47464490 191554334 955963629 902464564 424751756 154967259 499104817 823952584 831939786 599153871 622891092 840286869 869086402 777172807 57647029 704368814 505721551 492439029 313141418 729690574 714492872 126158151 221457717 340084480 125678928 509936642 327186400 703325851 495374344 273422717 521800490 311008649 404214282 937556576 629104995 770699976 7373042 497536230 396686199 579740721 450397849 854040722 183876791 386578290 268593857 40314721 41311807 179109300 285558175 838128878 697166210 787648358 602966371 758277179 167924634 323481148 277466449 528424175 227836237 641828997 75198439 18877851 814182286 494350197 232528668 634816839 567893331 917574956 500069409 644046481 2356983 161645973 490874306 70823086 872460481 688872793 431419156 198115966 336807899 168511433 389750429 373487520 948192460 87407536 387067413 300844783 792815421 662318910 332851465 474492182 127302984 595564860 658717609 153362278 105528579 921365609 881103216 362232783 613919473 84288704 913743166 392627875 155779302 318252567 615270307 961430259 340653501 114301080 698790507 264912277 239112148 147843614 691008983 580997736 226727504 51555427 926135907 264425936 187375460 116343066 937927902 619096052 713154394 870546010 873102582 683742496 351899633 401509547 548896075 692945373 2358572 677670037 881436918 827578218 491246992 65573189 828414379 744767485 226830060 600588094 129644654 457487343 617004044 276746614 248156843 12548272 401834022 152231361 316867343 953755239 419229244 43639264 694366273 211451966 141781120 249245001 999002074 222297530 196028626 237046854 934411382 787120300 598710267 173240000 564938452 716752720 479275756 92954970 579768424 610864440 641234514 239840966 284879716 811487337 436623796 912198341 753565734 699915394 792667866 567753256 407051364 38120931 355681582 510435979 486527222 294305402 846398631 69479957 268980623 622875643 879588778 871346734 826606299 462175700 691818141 748143076 531396796 408592098 40831689 300319939 958449855 145457692 758655138 488350945 528635302 437816171 193533139 798897049 150429292 953931140 416847851 529597461 363429665 160853796 820204977 333148402 19505845 11116024 169250602 256625515 752051059 279682885 155678677 588974138 623742797 494836373 377378490 145763656 936811293 746316636 951536554 960442058 664772017 61433008 54680014 767487655 614988106 819094968 157676726 841471595 131190655 897241617 677910365 281678748 436299663 843188996 472320914 606118909 715788691 866229248 166318330 478135817 155664224 46559219 102304844 365126448 759498706 181545120 211509081 811163715 207126421 856002322 909802598 259081289 607763460 521868476 763762850 384283324 316911001 816886567 628286402 890439447 733531136 747011192 682188814 127797626 839106379 370497562 39891203 753868226 344576311 84952023 882647103 121046541 339016443 467104510 172226166 836259545 275117672 347195893 793857479 77476786 505637042 831752488 588098562 423751172 21024603 206392206 393021140 795834571 933651276 975073840 617572999 169850240 582671702 29035043 99258108 1684329 358079125 745069775 107172996 886813504 748493357 410675484 627070144 570877263 774512601 589522190 133698139 497080075 401154726 122629966 641862456 901968430 946987048 47936497 393467461 344143290 216124928 750009390 939998263 124407984 915461566 600226773 711732128 604124426 703239745 645396536 912657430 933423805 551633659 659798815 830135262 279269268 221363012 97538961 517165995 723150102 735124403 7565207 274064721 432179204 824312510 771344935 582094212 209735062 700088319 499202506 484160904 797385182 418120727 516069063 918082529 330698018 544538116 631702284 345139736 284346465 973174 508021792 444714724 710694559 855217306 481320758 533095445 721079398 847260924 630623977 904736942 536916876 188786576 907039340 478923893 253631182 832182012 24920871 458678472 822413804 576274989 375594240 805226384 11185341 642366178 422806283 264832440 237958585 234871009 35802110 351538017 44503443 776584819 552893376 900787785 699447447 115042991 439977850 821496154 877733252 56470370 35540776 676483405 438743513 592677369 443764105 595039267 479769140 567568003 418619841 817143161 736324219 116060031 67086976 597320541 718882928 628853178 749787913 925581215 793596035 801373145 522935661 164500659 159191945 102634970 211142007 643061778 608762644 952810985 906763918 736197369 177891595 147278015 614060418 926473665 832933344 269300713 300547242 303219609 668267269 910904556 57236556 680364469 525908665 2829208 627432769 810221371 781236839 7007626 880736748 554160145 908276993 953718586 980103435 886425850 908422652 953315228 308374355 281545073 63687899 767821841 995114316 167076643 147037152 999768547 598467444 971812336 918075582 811576110 994558415 615848276 166327167 724150360 872339710 226054306 822704295 278672755 702693256 962879877 103518954 251277486 613454820 284392274 296962015 202870809 958398610 481123814 520444374 506398793 978799951 617243393 136917091 898325595 948404629 236843005 993138644 493029645 441750734 126781717 905469980 942919238 590354384 539540554 519467523 346136797 422202208 60307520 862870321 515174533 472986553 210998812 940031455 525329486 702453691 878786418 596709489 477755875 271289486 238017089 507078199 152728124 964663755 305773448 777931469 609008607 450838350 722624428 325848400 632032730 106348197 607739904 112575843 979157761 872938764 908962737 355937211 574496675 800044496 287888160 796378320 154674307 220805800 323839718 441969005 657346453 79989274 377468805 839775673 26449257 988240260 809591847 947332950 485246002 525681203 226489887 679963352 845329546 512855970 359527760 399086254 417619729 706375919 433225289 221479663 490990707 526614659 175845239 763893998 290195402 551471666 923811017 122462605 695908735 516664438 239013753 159968115 979098954 786404972 560511048 246319723 383734007 633496450 415518160 892700826 689980829 497468262 340095226 533957943 229112172 990027971 999965339 415365210 239121588 1054819 586861778 507054891 837902063 522208665 355714101 658225505 884559863 644712294 254301196 656748730 47038300 832193545 918014437 577231421 27202425 61957350 201387063 909542719 280984531 277437060 164473932 624061051 399673735 262798729 591315853 500651333 365900460 908174883 372639405 501224232 616746490 382705567 779225822 706414476 512252532 156648831 685240894 867805619 913691041 682853951 963005296 803246111 875364126 270616391 640469882 896107646 265842510 385418368 322659292 740172691 806193158 285489211 310175010 36400029 571283139 913867541 474174329 106161094 709390792 127792665 361163268 767375791 161590844 118802887 970217155 313215507 362158243 373296086 375361919 614386194 232277741 274073335 571696802 405585795 533025955 626756658 531577398 227838678 605355674 608825932 14676704 869545522 401060796 725900313 167710204 86555424 239266476 603550720 250490659 844892068 793879299 989748121 933202625 932158359 501620238 76522561 523336445 185618789 495776621 199038427 617510550 532924285 438304057 558978022 576755138 149023184 51299747 487534895 10851755 372461708 346350477 65014840 179497503 487494290 853757106 370376981 97950711 51523100 815941757 299468229 266864559 190153062 301493882 688662709 149190399 950831167 851990814 787593565 269392578 420929164 117099971 516477037 810246811 996716402 725686627 82417 425691428 891164130 59160360 115980401 31971656 923255150 22182970 478494558 367959696 666633014 578829387 129003885 656571209 15254544 699505654 552400530 546246174 179580565 546904454 613490260 213216837 835218452 40783211 123387532 710302686 732665545 278765286 565291403 263729148 42441977 436452800 108105524 898093829 694247760 6056186 607252268 498334083 290787983 537820771 937476486 764344642 26655745 489385722 384743371 162035790 586845160 514580924 416371275 191214621 738194283 619427469 699820511 617600908 944149998 479005059 465499954 180752588 563675063 969672086 367494272 340869134 404646281 304345518 535579912 425619252 534135567 565923791 193465260 867696429 772084340 371711410 363100877 522310825 967414367 629230021 331939281 413428273 350996685 613950348 261573927 351760925 621727710 504674823 870854446 770295693 504520992 523120787 355271625 905783768 248078196 627379565 493778319 5762507 360574068 289772284 882644438 745905976 775109842 619832158 713603796 220539011 265663154 900684123 42858810 356331863 226996995 180637470 285216270 796849893 813577693 700519959 247359763 104679834 989809452 572553562 749133460 982313943 833059226 583325759 9948166 342316665 258666707 97241361 120242186 510758340 670476259 324244498 637406959 267131554 205830391 200557394 582153263 465752473 98274408 856228615 744231821 302247827 519422586 371324368 633131938 173564120 879344723 813532 186996094 629257921 486586972 138896165 835963071 264337704 455518882 644813122 738173054 132357799 214144656 173495910 805369016 379549097 989043271 477685679 524928244 247005524 324384186 542013693 947151337 630729899 339783282 853866253 811281286 136724663 607537420 821729905 580922666 669790285 343421330 186739005 79171708 858153337 981804627 642831052 287244501 982250526 441003101 416804447 790293679 878120086 189534020 239916500 428540779 27649636 46499288 58723108 904151500 898458713 277316191 22988315 152608068 37636268 744524825 48502069 623858057 791054860 888441249 932924050 582524205 425514814 411067820 454271834 313932293 908346268 230796660 456151828 754002309 968466513 818540149 959921917 809245527 852737357 756456168 229955975 952515007 640082232 905910327 600757322 670995047 604779767 859730693 33830619 315771139 764121875 209014497 486010971 28755702 661935299 716685847 555967779 208448622 384699622 459581393 368494997 683378565 601761970 718107074 47544728 441897380 702716564 423688860 523435823 441537924 313017485 890089282 171890570 251629884 335317791 853026053 479851091 535702453 233896946 838225506 181272548 852733643 813022779 599999994 445589684 978269731 474431960 61744028 839248988 390187221 39633434 239443960 687418834 284777731 941781719 996403581 931867354 181205711 645364708 217012709 381502608 464583738 185563548 888102260 229239162 233968132 286524396 722255744 457145379 223504737 760146733 741679153 214470609 46786581 765165662 345449285 114452284 589430979 434838597 972591783 487016744 299710436 222183526 477104200 184245949 853146827 866080907 156461115 201245737 901908059 486568198 148397869 75579397 207143167 614161437 119762171 36160296 250471980 605977564 898148487 755515160 601384693 919723074 471268614 477720358 516146362 33798170 403105747 537439534 447652351 364141980 805290201 331454465 814739963 359931865 762653471 640097183 888640421 509201818 81346363 592380993 176988197 111018655 858756230 17153378 750226976 114228367 104942252 943951702 976020350 791318903 36824839 352490635 564802136 817707760 893397669 763198815 160233775 87402363 192896603 901253553 29432421 735003615 901724914 271213736 166523890 163953664 361710479 619473025 985323655 358051035 648954364 115036578 470926133 813564760 69721526 429111732 818313405 779080315 154744941 216226124 489819944 986875249 438131578 291984028 520478282 624300996 480612342 541790847 114473337 408749533 160789809 673893168 547532012 377700649 593739683 815064001 65608282 16069426 632898231 992538065 685368245 867435168 236255102 412103801 190952714 705012518 885302212 106560767 913377516 376945000 750233059 7057562 27295067 532922871 622895533 46723082 961948018 691234786 830473433 812305904 94968210 751057353 55872065 508827800 29948194 103795165 951347844 201174676 927527378 346310881 245490560 681457970 513803032 674648210 881988524 412929552 873577598 764334053 511657937 887598822 939141982 532690459 53549064 710058331 386743731 395096952 790304798 27887053 958957507 804466257 909706517 779903393 405359492 468805445 591847024 493117025 259424930 777251747 416279923 905563889 734009773 825855538 422186781 863738493 510483707 842054576 21718860 916741930 841793741 972409494 928313985 473793534 392713316 4566946 278276700 540932913 100008206 731147952 529460160 67460022 186652864 824849933 924653263 621244010 727046070 55495572 364101514 173353774 802545618 472813376 816734469 112196061 777466319 279037325 90695203 599734323 916089900 675795186 209713088 291384407 761826946 96216621 372401868 104998062 673889326 339273120 140355474 955812990 82392583 249288438 37505940 263653260 395785458 573663362 371911179 656402659 416998438 545694569 636894900 462124784 84365879 856094277 859441591 868967941 212938575 299099574 70541379 566828454 839207882 132425874 338634622 289033896 241662445 690171050 257367763 385587698 414993515 242487498 633614503 137490094 847660045 64336356 890982724 103467548 503028994 701889249 48466566 830910003 275023673 555148126 129748479 374340281 716116551 499314159 510850644 742211678 253608593 686935237 941459767 75852051 885468944 990570780 698278521 631880635 873751458 733227772 301379335 273860706 291490641 576387210 929246007 151889024 476293189 636534882 210042589 105205401 539006064 45555736 542610704 292566337 748261136 388972676 423156575 981478477 471210651 472731751 854543416 104720688 884312887 227855941 96399686 212813018 864039783 140299929 113565540 825471700 288945331 381080164 928449707 444502550 861687530 383359568 713174251 442214189 147942704 742525505 325832059 544548059 766973013 12794481 723342046 462415815 727207994 770335872 237782174 425096003 346901038 740591523 164189625 588433846 956157430 404327913 746055542 825441444 680234741 446194399 130136481 366040594 131851287 347965548 188541058 791347607 780724346 109775050 527803243 476197813 973892967 728759911 491984941 758566879 831947723 80102100 18505683 764560415 581666352 947474062 550347366 651435000 328535657 820575955 981719150 717088 453810022 480310594 568952958 610775618 135041141 85265058 127116648 334551704 278595058 852791994 759746205 694573527 688308547 389914909 631401453 947332301 977111241 280109297 934360952 383475444 543870094 243525738 379754740 23925266 606910085 308316519 498614532 890073721 193612026 142118270 642248607 438080937 538841523 322234232 480366295 971901393 732678361 463332542 681694085 600948327 189308898 951190832 363406551 729103886 779378855 102690002 153092020 589225180 874546451 407090164 340609881 348716435 58386214 252148172 662001062 896684631 833283566 234797856 845726189 820455137 157670815 65601008 997264635 740508961 43004225 833398406 230037979 455621015 96129564 979236101 263294647 438193141 934889163 217721208 594030819 299638978 911439491 69452787 688523881 372528423 315838322 995573622 410452525 703600007 677254021 67135482 550310900 337044127 476775907 237736406 9633580 171134291 281889102 347183753 742409740 709285815 107415463 459254796 401995045 333680931 733434168 746057582 730175363 971344655 879031687 266617881 470206612 828800209 934202765 232802537 584096540 349972816 724763494 394043484 377987067 81031399 45846773 819836533 982357423 85121062 102520910 157349892 840464729 136308825 78684251 430023640 762698437 108414243 278373338 949579385 639113975 617374551 769827743 565372882 865615808 180391733 416027586 526010442 103074038 693603765 825789920 413714148 683017203 921358788 735176858 313724361 573227445 271969004 291843535 85152048 498484643 528041397 922819545 69427108 659948324 305841575 541634405 916628380 73999193 181418879 821948823 939440320 407518125 582961499 229569036 84297752 478190592 81598047 20812934 388545049 422075059 299690669 837992712 838238227 350949614 205535552 346424500 420111061 36970911 478408216 741686613 189734228 740744356 915562989 300606229 779341275 139393959 151023474 5711554 659071947 945963882 250798405 557052461 892742033 722966694 860481551 28744024 754550660 221622460 498933192 549106060 997206767 655236834 370611381 628108547 587466442 462727124 227882885 436103967 909287233 477293192 882028386 998539637 533504639 190797249 512298118 847615387 958396307 689329336 228486864 820821292 748766489 11317003 432541887 876795969 758550082 627282901 944644512 205181017 297511748 128013661 866895554 144241546 841714806 123950796 742865105 572225333 643022725 154898892 308091460 696381015 982004696 459367453 945925547 214671679 87606537 490158825 200717729 816090423 897606375 843445126 27674414 180374244 528241836 375329258 669928763 344809116 33047599 314088260 900497655 219860627 631909155 954123133 987478478 764580376 607644256 329465794 96452279 988430786 621942461 391260291 674363448 481244244 933470348 439330183 157829357 799149682 404334923 143919419 827008923 730355972 842533473 584988915 998178416 69201970 556349044 794044500 396846362 341753924 133576523 843760075 453334259 703289839 905961771 807409139 206018801 234862211 644093218 1491422 902927664 189652533 923349779 419028115 59175973 364647780 597373685 781626086 344350076 178852833 899804633 181245689 539323343 951254823 830978978 153427758 651852013 987554661 534048242 502131494 726529606 27070032 646668128 107585632 527005825 374706209 284476096 196891041 954971130 613182128 633479210 483678718 183151453 335218301 268587352 518751705 78156629 162225551 607395971 471675782 948438018 601736899 892693037 607045405 277332929 109747227 388949800 655242475 853471008 110748566 531291421 639602975 464335336 657928557 631528673 340816483 117039623 936714602 464264997 33671381 540320780 928908353 665202383 766880781 915072228 296938108 160103282 122278383 622352882 483984801 324808094 370823701 517885932 754159900 818290081 287566961 993802895 747353515 464942377 281596863 6920261 508484749 271523950 435954155 686079192 995102027 168641488 896392992 831417286 966978961 410840463 960419525 44006939 454052520 923432778 836003613 932886310 972865407 472422804 444480996 770140982 180718237 597149949 238115805 25465181 67889239 730235321 321186622 825956892 753202096 405755845 688676597 903729282 981597154 453430558 237506716 2601871 870228937 872727391 845583790 821940108 280795952 32026342 777692804 303048304 7290773 651551797 878921196 537128494 19620445 907755051 481816448 448544606 690552057 375739700 996701555 746908098 19225262 103456961 638576152 801585151 363278442 355982670 655256571 937511411 811939858 293817702 610612707 150702161 993452663 306069715 281768047 335368100 841045741 906712124 51363089 947968618 833312912 844362372 266779818 202183921 666200887 636855934 32822567 136257781 42371764 434903940 155752483 921356047 357513541 477326494 582233280 386868807 193410964 279522095 738045331 710164977 638347042 32262614 510683986 197056133 295886544 368326139 733323120 806842641 398186390 185465486 55657053 857523995 293801478 627427235 117332696 522307736 77995189 76725096 472919495 594178033 21280117 691354152 855970955 901102548 289754466 319249211 553910069 67542166 217605113 844456728 205773238 816298138 160610973 581531467 148913882 250946248 244715514 338274178 550270983 699702905 585820429 936396682 433807984 783119687 294219643 353483577 533660374 995448135 774664547 911261707 341058016 850393580 211867679 238633477 399592392 704831261 801336539 894839306 155434064 600953538 975202850 276784706 738326072 188517587 878011424 399752990 856952515 411955465 949984487 479179447 708809492 953784651 784943233 357442183 95429061 460888456 230013013 32966417 632292444 918018050 101887728 633696866 287377034 518053672 878914510 976390345 514352806 844657483 356733239 390016203 241806194 571255570 452278670 704712719 526755163 566541404 645000488 539431711 373607381 623941905 295097910 465063202 679166610 137510418 361333898 187232119 513090516 606632598 484108774 406347057 445902895 773595395 424870088 799662229 869223987 580021071 338147032 513574400 711463137 480705190 950493467 18455093 755650810 411174186 223441758 353554150 666820600 889246628 801712611 286562405 768710761 128341621 53852141 65634804 90848946 724089865 763477612 434120323 547092467 140622707 222418438 143982942 810878510 290328627 506666718 467309263 227729488 186973334 395809750 811953305 761271463 84759673 590338815 871880944 20165010 928711113 204934629 224082783 72433779 836155349 373748380 443244381 268928657 594374240 320504804 911849136 312293956 228786923 449120172 889209643 611951340 651253606 801479079 448897161 840182920 387220733 369616909 179169918 819766486 725115509 246933646 757308480 327153250 747051701 861315850 44673387 254805593 641427194 991758438 349034310 363310568 562776075 186396384 427313947 594997238 387506240 989000500 488877594 524139356 459522488 6213650 86026311 838756748 442891062 438996280 580635057 304413767 902915726 901175141 559147135 251627592 938414541 46056302 608746700 674846917 938142284 34843398 154539012 654490439 633050406 824859840 287110276 954428759 744951501 797224876 632826558 591826503 536453259 78238448 923639439 619418203 925236253 950425519 702172099 19336627 92662661 735620497 312968553 738247545 144539867 527974701 419303650 77047306 542081095 164882620 243868894 672042577 391595908 73166967 82155708 46272846 112671178 382850595 569937586 250681027 916693166 852510452 147093783 192428937 563708903 847645906 159801322 605018784 819184691 597323962 984624891 781147784 964473640 20334263 375049669 456075280 91643047 654937702 977563510 302312591 458893860 374710557 420327548 454586335 974288537 755291067 444122896 965119925 361169951 652575498 406852576 660784650 560832273 619088424 145692609 18804631 942370171 916238372 25271275 604096249 711752407 104965019 793126711 36510657 270087777 699826217 830303877 724411385 776681480 137319728 696539297 405123178 920453076 788046099 631270695 882188571 70052905 997813803 923149821 564470755 589827040 463236680 103408608 550904266 881243535 869314480 777911535 629113123 379053382 838694610 886703522 880280346 829408177 707324873 875975817 638534168 288239150 337842760 376966223 209791547 495545189 663662207 916244349 672344590 472488065 473725786 647680334 863020980 873368869 747683432 950061768 446648068 639620248 282951602 55817250 39026852 662178598 360080784 909964446 228453280 793423527 527456366 487250171 915359102 582759593 224293584 880016651 982480088 531911349 398183773 56063792 962088221 945737756 719439257 428405794 558457632 282169321 726512071 878230551 900361910 673749571 781740997 374686 59415215 51062294 558788961 685640390 858636903 42502874 120074805 455402963 884777764 458366194 887958799 937698032 466822616 245869934 149225877 503629690 542966909 129747095 525191124 952545522 862374274 116848094 33703429 932346493 354287550 746138830 565340631 977519076 107005227 106659022 246720321 299563745 886499385 871897657 710253766 156465288 849712526 769638791 256616408 441723093 298133038 34156863 664375906 226519074 434998435 296426704 395403301 991896789 347926927 649855565 214973695 867853066 851338414 450692851 496579525 750621431 560257176 950814223 243216749 856263016 533574803 159348154 90904791 82008856 251916269 974966888 711042261 716684559 668760495 309313354 507826693 134915613 43625575 371264122 696624676 185513603 419904338 126050320 675962365 169937609 302184362 187147317 49548147 509119814 284937473 368792387 810051582 424311254 879068841 35543620 366978371 187052882 924191663 940483636 228197745 332426386 687223448 902656932 832165433 515910925 349332846 322046603 250414510 404299971 377232103 565871366 454382530 9231655 2342702 731905500 902054584 997041742 870224861 34282927 682152987 219604599 512356338 309188728 800532904 188556666 23112476 679454071 666057967 651573916 692732038 563394263 890438068 404921255 705987431 774537443 993274299 307274537 621312854 104617670 899273268 569255151 752091309 824966904 265664430 760899495 913154796 885524033 857211780 178841963 981473635 710974611 944642711 616012789 757241607 884979982 14544883 95548026 829667471 948924345 634510092 714916512 49706925 967162783 48340428 926329509 929441741 297146229 359032454 233046223 800733133 767028559 317183056 523121158 801559464 462666627 6778450 438549142 339870685 519128521 175478252 224103278 373420797 44552685 247500840 864504644 662609314 569440453 747702678 554967555 315652048 782266364 832581754 39598824 317666938 426554130 845690135 850933945 417245743 806741282 572792555 650823371 883508703 254734936 226208070 648749495 301715574 504212911 456010270 176501051 815642304 1765227 724717518 701002372 759887247 906560487 619092147 203939079 220105703 774505067 735334574 491658330 733624562 732266404 250698778 649412295 223947286 957262483 474326483 841835452 358735774 442476274 577078483 984654126 760628484 432758810 21061305 204130111 850889255 281197735 19252890 706545114 961315474 749326338 194124153 960526491 52342719 911064212 717586819 931967363 343108180 807602783 830168776 705536462 857508885 980144258 589425480 30473659 186819989 457129984 114033994 840606222 623672758 935681685 682997409 209205123 757456696 858262158 636029692 426612450 616072297 889693969 98279599 487583415 971866632 10387034 526905235 685788924 739256235 754286280 306557191 128828598 935548384 452681284 844695991 789726712 627456256 396925950 973823630 994449429 932633263 916564544 905348346 633569519 101601393 929213653 119612501 78527709 844865193 972599596 355854758 77205337 595073804 995120446 792996960 342312375 217131867 869039373 248775502 905329452 530032625 345159837 134980044 482833840 158898673 662147716 150019906 261048250 42837415 666285683 334176915 243523193 659755511 607110535 248953292 861491711 684170898 206770090 567123060 6321219 268070140 107077868 645983393 551423561 866054798 920124662 746270303 542219356 981160103 789967324 208583779 542096019 821804224 244695251 414195203 231637238 661319127 294815356 498786337 806488493 470446653 672371978 676520308 146853901 950053528 990539593 353130618 864665715 522258547 530395561 781222341 160331096 826292616 171791999 556433015 991634571 561752621 707868317 610896210 986960192 244174184 841983250 420153805 427519898 238563069 255633502 567709073 968523358 366083571 581531984 66952504 751377554 771858152 434458993 814009166 43045194 812581394 449676145 437395395 467765102 231210630 537537130 591743806 322365089 435436953 116798286 603273805 934061336 607954700 110153637 974777795 821759404 58108739 506295163 155448959 644048403 132126590 88407592 671088414 322042073 759231609 840437900 792612079 972695216 293161771 327958266 385041944 138826535 992115356 150819008 735552865 515978531 586525877 783728984 736096476 805499624 219316099 720766705 854179612 376604728 740872491 49694171 223815269 935720848 265426944 519115428 409987276 651597054 341020252 94744064 913244158 759413288 993116682 540736017 90469311 136393477 21495703 736010476 722356106 880231062 352363547 684415596 154214279 489038802 162514544 228928037 17262291 159021418 910043398 369413831 987560939 468078753 236848613 100339671 62749772 801043898 207274093 843313413 311898194 806032028 727109701 313463046 5333019 296778824 267444193 38303320 469948437 517656255 685237084 994320656 485122045 975727672 472736158 51528845 460547246 52420813 747875518 60871740 410620477 455610867 142573612 825667654 214339353 258571765 794096049 25438312 945833714 408602948 805136709 891150353 969136844 423566630 757525300 807558851 111463010 836419484 868711469 457267518 31458035 379156052 777178622 27552549 347881316 814883579 822325448 350989655 542237906 318773205 459075481 706320043 241506295 172082879 226081267 980607800 895603478 278397726 712672755 196518974 728353735 626302312 565373039 205242617 544077231 458791412 621028809 357720966 375698939 843076395 424020366 660611639 403115581 278300131 308804277 797244814 351720337 311607686 36406795 542608773 527827443 650150211 832047495 267212515 86883169 383200205 849209316 740742528 933015217 383445003 145293021 713561742 266017200 516687272 873934824 60489964 505817148 656638811 857644073 160037948 535834987 563595488 962527111 591236387 611350521 82435377 628391745 763672399 358367682 976018486 143557460 155529856 184186364 381964133 792187569 412159656 586977563 326709750 516112973 380491946 447904099 711638603 810315408 638450737 727364825 612620773 788473503 527959982 878368893 575857204 36095456 568277873 959694309 45465956 837490603 679749176 505323524 780972570 222059319 946588244 54957011 599300131 725463332 732804078 981410421 609846669 300973383 802387698 508965140 970931835 507712707 999792904 64485867 433765744 964662621 694179918 368099274 591237919 159082939 568873126 240552708 524489776 895701665 282078988 948697568 453472673 692051163 475957966 6763097 708882645 919796697 23976490 739472778 942258421 166090895 424424164 320147100 651105285 557498587 381845674 378805027 643826991 338376112 228416859 149473067 295589782 499456823 620684475 783217250 458772665 185913835 9636567 672430190 544569313 859382029 40503740 102418369 436317106 45013465 54409741 536668886 278169748 136765234 758589905 109593950 709163910 819785117 731121387 901994171 763847080 283825997 276788716 629994640 832856686 711756031 864140621 849578213 296336446 937022833 293385736 964169207 157959028 204268504 6519846 424017796 956570661 266827567 698539881 74790325 125492000 368961015 230326579 675157895 558072298 783272787 718572242 558312299 956558275 955436643 525561353 425588324 62702557 160174571 230713625 371304308 699516998 522653237 555699284 278108270 260800545 339005011 112813503 703095734 598541221 561811915 440396461 204030992 524686128 145729695 47366204 124990708 446758002 259153673 432096699 417091409 556940551 696319025 565590783 63884289 240456131 8264300 221599264 385430539 775412534 935687281 276586644 197854802 462358872 802608194 85392092 349900825 67920035 373400318 817680307 672722730 517535460 141521590 916441574 321870504 563511865 89782818 516818710 313556512 415281878 644647890 94784802 424399105 783193926 52162963 528946622 281822742 633750126 936270961 1585545 603653194 896771059 145431921 992506925 719310110 545315448 394798228 876357085 797239926 914529119 363586182 303945029 712657993 469929079 500356662 24364053 954867080 714282617 99681751 33307710 234191256 328313627 980928060 560703288 191508622 574297726 868644843 507539544 789489886 531522171 126900365 954700904 636505576 302575191 477494371 50254155 73739453 520954647 793419908 975734337 976259826 889694219 700874449 245451978 428705478 613999417 412283616 268907572 187996226 634181842 171148403 780448244 742390541 814197862 347475180 525208608 171464932 694420960 517945671 833280889 798088748 969332290 781619272 185463721 429668530 62692172 227031652 343522075 153547546 457903612 203953475 723105252 187461265 839954850 630066347 129186024 61243677 729691374 338517773 640455280 900412695 977188593 525642070 418741834 624906502 35464397 652447625 734901901 587537147 446699718 282926168 208759626 171751092 72269165 734970521 24804393 553052492 185210459 878089897 708416522 287878169 265730665 482972322 180265063 788266587 873638444 982013841 34884079 63289068 920096789 962836507 905613671 35669469 779939793 181351180 807284273 97282282 858673728 346630828 744412582 538836445 574166374 934498518 478589192 691738667 125029910 687369432 632996895 58303560 696276395 971196042 557278109 33195863 676762814 395821214 578025961 620638551 599914010 210099593 420324045 403458568 41094380 782371654 344746628 645569714 48702418 961847423 885819573 621715569 497397182 566557135 615792902 208775698 435437583 542417130 260454827 710980073 489812710 388898435 748475550 589901562 614118369 570763223 502524544 914270946 112334361 610340478 96451607 816053959 270927732 687608070 495705219 97721914 690343742 452806679 617668120 276805974 285537147 841368703 628364669 448541879 90563603 662196788 706377151 331064884 507818429 748719272 899158428 429400112 578227305 869449389 303684244 210798863 56527133 741896942 813802736 16499948 294119813 836172522 539490545 67267972 164584724 777559398 509271868 807630244 522265632 812668284 473035202 605180940 821043097 816523336 786607383 481729144 657585058 182815577 959679514 479201262 123952392 450353709 728414789 526574515 11566668 878244959 491572853 613092935 97630818 728485474 220803060 294519659 682109067 605836441 273152777 409505126 934446916 798787090 882883081 525594289 220706264 112562736 228382641 798027023 804108421 259547491 51797744 814217138 110571853 579784332 801868815 625776718 995879226 2210711 480401288 499449683 475033217 299750028 355352636 861229748 369459540 275956205 296107516 978532838 690814719 372195556 466725679 399882510 889119887 665681233 96880304 995516216 292435528 790982692 119987175 385964354 417681205 354513338 470990147 221208378 258237903 296732045 610255895 885522104 705935665 319721707 984435043 545684742 356372471 719084441 241199594 663332994 319733657 551054408 292656913 891696543 311344042 183182020 817883392 685623411 349484010 485039419 934937001 226844402 853893046 213601018 325811926 403962746 619515475 942125531 281285826 525926164 976676081 418484548 121296641 633802325 218382645 8701991 670573367 567923193 705319141 1664801 557847309 628472750 66411094 514456997 765133551 251604605 8840806 5535072 166174839 501997719 330656357 552178838 101407572 784891263 330427753 531510292 883910299 280810825 215010323 19684893 353042472 986165147 244048201 549510071 739089246 339344263 28898035 792291721 219494446 26060707 23298115 541528849 275878589 192228294 447265583 888916147 370862953 269866357 818376486 259538897 951583142 613249738 553198190 510528381 660743042 512215183 879951277 591537377 62504857 964395528 122226522 922535505 365895309 40409655 431314602 759077217 553113985 912301722 121122327 679093898 206018096 521924803 308571674 453816084 712517937 580298202 918577239 375968560 172583110 685629790 422723015 893267097 303190102 496993078 806816918 86768008 783500730 209131706 547539776 64443536 142325942 168621204 156300574 726434149 5498455 837855349 360914568 242626868 853180276 27680329 511204763 817894758 99227469 669652179 437584973 260074817 526858305 65222711 998159346 257543953 903446033 225674972 146860476 555552863 511517500 517378643 423084192 668346720 444786844 915718504 544856391 70117873 844251711 786010717 19176772 890291474 224991802 879025495 702778061 827185589 385933900 507083819 386623270 764934873 457585862 140482315 825720408 722632342 25167722 409313702 60093311 894497279 56610177 846268701 105511423 698848361 599707145 824999408 968620030 509693133 641076511 735166136 134041649 403359938 633419922 970824481 838759491 161483502 777793111 802596917 548462105 230756071 27065778 385211517 717193551 542268183 104473895 446268662 937559515 242148718 426221806 104394432 974463524 811653010 713306693 885652937 963822197 712473365 417317527 530901460 329787411 360141425 136016084 718074893 751579454 528813511 818628823 955114058 410525563 616995192 199659379 338893489 65069158 954327871 620016323 947605910 295876208 189625267 119117294 993554299 411844855 690788447 274454706 168393587 359697515 894253672 640183621 465491441 666101094 582052885 86571699 936128781 798313892 206949487 991835962 795203249 907856837 740690967 887870157 416182134 22495431 635963310 139905169 752644476 450271424 62489921 754717315 273189203 818797640 48153381 384087230 893902028 437689930 383757477 810194335 847158617 279274748 671694831 88358971 34509639 711790553 287740509 736626411 209044642 233516399 365569493 637856212 301443918 509113338 877166421 596643423 77014284 824591909 68947744 227544872 407763606 503594417 378734736 712728415 232583655 585355203 925969484 412798759 636505746 113944191 465989186 430513862 385775045 260397019 441116888 412943953 928666326 876454160 483000431 37596664 502923188 917782087 858250450 69540956 97343279 628204770 841993860 555850901 921772246 274301511 62024945 892707691 296331849 209499817 164464942 435271101 231300714 622440540 455357857 426523246 27811504 12945911 995669049 376908056 970095432 429366753 86814506 991503142 477104591 96764714 419513247 145683476 965914775 267838428 863388073 571439997 477233071 766266781 580264164 32755921 129789035 78676023 718254748 704553144 240031157 8587999 609018677 374727613 800627073 91076250 493793457 102093426 620038934 581524469 778436592 136249452 292244860 621150904 329763477 313458324 148552952 51236900 291120342 456083881 469598016 539896292 37430237 302704952 998590874 58057599 851386837 915588276 487855000 166061331 756442908 236619173 527493073 275116689 167723766 625266213 574632656 654161766 937902939 234805395 605751715 31591393 964020148 716633696 325043880 403295684 999248775 588744224 424301467 516602608 211648592 351914356 584367156 841998815 390437355 264488946 276683774 480439596 428197180 834265492 332375259 31136408 695543266 826528996 472488714 12028808 30439629 669728292 927415672 476539452 293106792 647030526 731839246 706497630 405270037 773933224 598922294 323199600 434220860 204681943 370163067 491997958 13452956 979801732 370174113 194458931 897103475 736867230 877507924 474589886 964290404 758871753 645723811 789942492 678476458 380688081 594434949 899187579 818759310 350558113 958917864 269345676 797808049 126006541 542981354 773673731 890722332 492048410 109918369 207319746 871775210 722704947 268298437 66611693 133162759 653251547 963706143 708435907 522389353 988366487 394529951 246496474 378220857 906337153 785535649 448866017 796564772 754727579 767344317 237318937 788160576 95861511 941080726 443575415 674887825 581801022 780786967 689582403 604621140 986446227 954318510 754823174 56547183 95342142 898797719 369780872 528913610 647052298 724393937 145829360 539376584 953977648 782739839 34926667 36219627 725997754 588618020 391455900 993779711 8945796 769636460 481693014 845289991 265748308 909385016 890301841 804921842 549361128 367772640 905417483 762976907 568649012 129115234 124659916 825590026 866591244 311315277 697060965 206328275 303706095 273862387 266294751 208379306 595759080 319858859 328812634 226807183 7152315 43789807 656075848 677517804 339289311 96645221 885692256 153119938 354222893 181667346 121009681 713981472 191699277 775116963 175802779 909694090 770170447 399233586 858152805 650139029 444105458 646315387 885719670 253928054 805454143 189558588 799182853 644573735 277309331 849643809 304188776 900654067 950857315 387195874 87694223 327113441 427123586 569244724 422227706 189079968 267687385 66288567 416071757 246103969 704300160 675654515 973624982 496871531 460115901 32367098 429606448 614931367 526235947 989886289 781988994 369372517 322685648 839659240 493433235 985636118 41523310 226117111 271113951 342336212 914057121 862632521 235563941 266956520 577907913 637315998 251729452 653038457 897384188 934450239 831492537 320836194 337610030 665650761 166275156 218621415 59428329 867127417 627668803 291842631 223876222 670888377 435531942 429553757 198953400 845005478 580094307 467018101 777332601 333201944 963796701 994852616 300598590 86809085 202585923 357551181 526978990 64274460 102740355 156407813 171379304 694583694 921328813 154624061 704604019 163237212 254685383 364619615 911737550 200742672 756878008 294895475 541690103 658700502 460250767 626562142 483667018 692851234 575348822 754368395 748686910 854084524 869886557 27370478 442239559 967056158 446733491 20372561 945679352 242897912 71436904 556189013 652745250 385473771 445765710 387862492 351058246 334043621 691977025 49348918 890138236 847312608 252379219 132976251 402659750 653437934 298391553 556403396 840471383 136445481 22466597 870626052 650000709 610870414 483277665 209133719 313082351 526114825 690804936 427806670 255122604 694820077 809404047 817813120 213315078 696341620 93975327 777036486 291581527 482862350 464361942 636531651 422156651 462427798 103682154 240691314 356220709 24406591 867137052 299964013 173276985 802590008 722747720 252303569 235650807 664211111 996531022 48172224 405339198 323847415 936719516 381387775 260799488 977733843 804852455 232111196 781530656 739841237 932420293 560785280 918972082 334880400 275358608 592245773 673744717 18334811 782259646 973473721 569387471 899242140 166417784 247514818 373691339 594219595 46741854 995328124 994092306 554195960 327217334 312987150 275687262 650558760 979384107 260606516 301618466 218681889 889610842 985998970 788909677 466655886 325979138 13062266 808698963 904188963 194534087 407708387 747926834 541069269 55681878 98533554 387911198 931798696 582725286 70142081 69275430 761487356 834055176 138855334 839447706 528869779 171529790 767566934 625625813 188851215 937254766 529811695 201122222 54941773 179345412 188943768 389883539 468428656 814674827 27304954 288731501 970548246 196039376 969460689 168919267 212068939 835271878 458486595 809680679 193702477 863064397 716923047 435323549 603273743 418817144 798006028 318518004 637148180 46510945 535927571 140379262 438768904 959137947 536289302 85619950 475353596 571024405 401583710 119343886 594636865 179137430 375606703 535696245 47671744 461413684 780271069 810758847 621932525 577023058 869851022 528942658 233651123 730834407 232022630 938292997 619964667 153681255 962121420 98477429 793080974 218003979 92146033 983382765 845538464 31734744 860703326 378805169 301381678 803425333 352239737 631103057 987300050 880780183 321579108 82497038 547115536 416545266 134980962 596931708 910261790 420276431 133311110 870046402 179673526 79159895 942535034 854482268 546677283 349261062 93689702 819883563 842115214 335264348 907254682 85886425 116042299 318410231 436052241 204581812 375416904 279275837 339771349 857600673 56257937 342379200 457467625 844017037 535497328 226848191 758905813 837200219 570316573 198673453 784198788 897841415 875451960 434347542 926252492 544046538 178659822 928209214 277651141 172581663 135065552 47341872 894434609 130483673 828784023 589261068 752824178 396537655 979585465 328544916 399184511 508602658 244946067 124478232 597465547 839330276 679945752 365818031 4255540 59414179 675058622 552747060 225921763 572631150 509050395 578250024 569074251 192689156 718643940 158569622 49223003 852714130 756313132 339894576 519220804 931623819 175874079 445575332 911927901 977517266 296084301 502935162 600048584 928781608 423972140 108214126 41516302 829794723 711371033 750513434 904522044 864483002 36350257 169989511 793539545 585937919 815068855 718019380 859014735 93499825 990109766 180278311 784750591 457370205 506667510 587956990 998226663 761883880 557125996 14410578 77570199 81284452 223666142 939947966 450739056 135576552 644138223 534287799 696267877 237310156 582485378 590338918 270804181 675070225 780904315 74945455 458881159 736231706 862034121 72588483 59550401 474047678 806987771 279079038 529291205 462833302 908516047 137253515 97346430 79577296 284771447 688327697 117689057 581859361 519760235 427906650 515682219 871007725 410155967 107347531 737409798 213434528 6414419 302762893 968728452 581734805 487675174 989392351 504844296 997640910 513156 345696999 13999035 914413288 377880623 849595222 118497003 758307157 981816936 376526119 62143196 781647905 114567591 704150169 559719516 325032620 300015609 580858932 229552698 666587280 695224377 54715200 511312619 339937923 543905416 284319400 228539875 256480019 380959737 822092671 68149303 31379363 948701278 309067999 900485637 62138810 101340833 361924208 800649914 661103360 264002053 697272718 89428886 189517898 585607250 962510447 42711616 8701191 283020919 239630869 166496789 205896157 48543884 589470505 685840411 641597684 971461316 30272406 229109854 144998026 509132179 589137391 938659719 495460047 888842757 259542364 195576453 879093164 807405458 333162932 320084232 910434774 322702386 160464473 857923107 308053472 968781635 503900456 428434607 865912656 357906088 905536056 459592205 408844922 251985099 432597951 414601109 471268552 519274715 101975555 457187977 723770058 56624425 685775864 387955555 574909967 205755088 68471287 393577935 202495454 869322073 316948150 459274907 934875030 137048246 447589 21186126 509138843 690008457 532572476 856012871 481729434 903708007 867661268 529907955 418615299 351957407 284824405 86607245 725710625 130914228 854969791 10419545 111803302 737928526 798621024 95916902 919359369 826201351 556139175 621848019 66100042 65653796 823074511 339874491 473621046 798001894 976438233 195389811 657323167 89870215 291335073 72490572 889340684 667799181 416120356 44837103 118574307 257297110 742966552 155169683 242187480 474347455 328673627 796193062 46095799 160556029 919324568 52929692 33641092 146920056 767741238 202031011 34563125 938160203 83520510 963330045 194888840 499770213 166853958 760891182 981921800 220548134 830352209 496777146 355504183 535726932 950022251 678353911 336239737 552702209 704620395 234486991 693046481 663035415 285198020 397031358 357975036 65439607 487964055 128900418 853414401 472186939 75378461 543485116 380707694 12122519 366972249 386602762 227835232 990722179 400790412 118622918 924783168 98531946 849510843 335275276 485856569 132040099 709027402 960312810 297907471 254873754 901225507 722094236 687192480 627277606 421700105 515303533 42005106 740576858 517871315 307743412 252846968 676780111 445580690 437791778 869695842 379636212 587121213 853585288 391085241 363764813 123132038 262024574 811856380 728062107 647119803 88594607 227252484 424560936 464191987 52856890 656720512 313608109 202772209 880329052 958943700 111408719 214453666 379656487 972347002 542858708 158540674 741850612 506666368 671553095 253259139 440836538 113001938 996259901 900174699 473709793 61111678 994783102 365869802 825526497 659838394 520471367 641680371 252516670 485847195 41785142 284308491 879669761 547575152 136541604 422158039 559666941 206458186 916248451 728298344 292150046 493391815 778311118 594611930 576933866 976390535 666158064 553949017 229980585 10007105 617430125 161069764 256073811 855888200 801188269 309948986 271300980 988690749 434104075 286032738 746740067 239312795 921904611 184859643 111376121 667590775 70960992 480070238 586820960 141339804 618328639 25723012 58361506 327552653 430622782 85748512 305852977 199744033 478980889 207657462 12321352 833314365 245662109 618748693 780991028 576363373 917731148 316649121 489853386 918900050 566601917 816169229 495419859 242663244 164032533 705932428 505874883 442450112 638307484 374434769 381892758 246942170 425478751 580715793 873966905 697936251 943282723 930407247 407619556 269197324 202658344 127506513 446846464 494610660 960199302 455688846 214852199 929996255 854178337 169399402 625066989 581749848 866335347 36132950 382152640 348416098 375378837 888325600 607885157 1651503 775768965 801294958 49743993 710363545 171866473 655461405 766410042 443054298 607078181 580180626 824940224 532571668 866374615 815283295 873128544 634383205 649011459 808630631 988637925 303816416 506504672 748968148 922428695 264677486 467794514 904849585 791879876 711722296 335623390 805489787 11011177 865384822 902222562 202317366 275031261 426340988 450676846 540205635 509936523 408920408 928170818 839014929 392857545 767777167 50140389 649493450 717507178 910413632 368990684 635575464 102470847 578032886 272241710 139093763 322228940 482321156 600476482 360738039 15378612 573449523 797192650 353761724 911793451 555027946 539738112 850729886 979881052 720093947 710755247 226082027 641394218 883970291 206602900 203788294 877034859 937442142 459022868 213824130 63105979 489052854 579747987 235214248 878030184 243335538 590997454 594407690 756118529 967174907 404265518 633870629 106119003 338532637 193596393 956869968 999390712 227594242 347351232 650721809 485190863 380245705 726366461 905435382 595533556 603406114 140188731 654854704 717790849 336864327 260946884 85409785 435471438 743152896 519360890 409319999 91130409 903015948 441890477 27747709 302227395 148521852 94502055 17392463 799637238 730568876 652336340 797352991 730163123 292161609 205790052 906174204 766222783 152932714 924031805 333454436 810122945 37930185 537383723 780824258 8492081 733994086 195834026 55918650 790040420 725667926 78569837 584363248 192317227 242913033 470306863 340694787 775691129 62694225 826008510 51689348 214773045 436627417 102699978 170454513 375660792 169846647 742118224 910181980 272659285 430981340 519482237 212021008 786699465 36943644 672802135 973797986 869381337 822535149 713322029 761382303 279192608 172210604 396801505 664766606 994860483 61219621 289506507 226214371 807490500 70613697 634458921 138249107 1327101 971460963 942417143 37640914 981761646 780472454 730050659 866167795 30322538 702008668 837373498 602052576 470058413 778744119 531027485 8020224 945671191 128152604 968734802 859756189 277818200 967664537 473023270 371740011 373558365 422664782 866980466 241355367 609812606 73944255 328621914 916656344 967408588 695526282 184579621 406449629 173515869 31199897 986238203 118909180 684877379 160616199 822170333 940265107 189651681 650925758 174185412 955592864 328338437 230280958 808662363 842545775 628295176 895379165 155789155 241851079 153346772 447325405 579270372 85708349 692177427 610140366 828373172 304443641 458338666 974183925 207222536 451230784 779908191 150792822 375304330 829059689 602658993 497668165 231186655 548649532 389164531 126255627 568265876 956389056 622237830 155134764 723327882 976341473 908624533 76610799 773653423 306351304 715384594 308977732 659864764 394097806 442819992 271406514 34308961 619701600 798620505 893127442 764951670 880147153 797385023 846800579 853813949 290043807 516153406 53781570 819395701 94325925 70129190 751419551 926617649 772375790 573226786 970867755 840756166 622735801 846710219 355417088 247590978 464982136 149665106 618709319 841506311 391894810 141280862 813397982 599815582 410951131 96626015 14697549 615285567 154595450 57341198 76451195 210495652 512504577 950964832 674866085 732248510 125790980 426014219 294837573 305331573 362021455 404654993 162578672 90957834 59284154 574835722 362298540 957027699 238713290 436773571 876961781 109272472 404970302 636852697 899978283 449795368 446630612 897630695 912404619 809537574 643188944 506971650 951505969 159018027 243587623 959222314 681679065 449247628 541819128 596827513 428264213 9826848 782211682 777796233 366027146 397278466 132150019 392905793 389783873 206701751 391986092 367958617 348267079 62902431 696555312 793006259 750682492 500518445 722459600 159318679 788911379 383482003 3323455 935445995 499552224 452535661 452363905 736962998 847101404 277503848 576949285 226003435 32687076 38617346 49178387 95783624 73560071 635972484 133193987 985137939 879217072 771851674 299873720 593366353 147284029 907465222 419846542 298200718 479403586 92954346 505250846 106199558 102415876 141826239 582538044 11243406 297712790 872231630 839297485 226469464 439669334 108248036 403400500 157289031 599659836 134783178 318173223 676845566 777304540 166831065 121694614 952617614 873916413 395444276 439799556 437631050 399791621 399004775 481461916 201670893 336841093 990162266 698942595 633131224 354876710 996330785 77623492 423696148 503415027 380406522 984966527 500781226 835794314 738867574 17982172 73877609 80148100 77522884 477505906 633764083 904042982 510529321 330135952 676586392 245481131 23963439 490872855 949170609 256031845 855745190 760946437 978718142 917100324 77053752 263613390 43620671 595009689 564924646 990118340 101742546 939355 608917465 372028433 853861472 77877327 551007914 72141866 891340670 525760816 232911829 167117190 316764932 230883601 49497778 218709279 595970499 594006841 107861331 116849235 794016605 883007269 155732095 984693191 35361366 727671504 779601056 918132027 634100640 439135615 208535212 741415961 897430800 482903732 771663434 831993280 1202297 374025259 48191153 563380746 886591739 277949574 218315376 103092186 70077716 438601226 871595613 766630466 670685515 842247611 865341091 3199965 933640135 572569153 265073435 396776925 394418690 690928336 933827376 231581762 196025134 540031561 650541116 26591948 410198302 23384972 841919982 296323870 527755070 766774382 687627203 177144323 746710200 766699740 242838301 140865892 740498769 790822944 208261395 879642838 360261876 803212029 924526273 42301924 700332074 133073678 592063214 149592137 511564575 809793110 737924182 165962902 140228645 557323286 853129649 216224455 260992992 761918801 338176277 124010675 635181964 424673321 631837119 508684272 267588034 986028045 947050288 990647630 799505561 855525752 650906705 780944155 131046793 143618090 456094756 197248594 430518738 383723196 754511176 100774606 529073158 210407183 356392025 290543886 192066505 363570874 670959210 925057801 184551726 960812527 962591718 609291021 653635142 382103355 934840910 991117967 623845160 369412619 986163373 136662489 804880858 93713718 423949941 236946440 969328713 60052049 947750120 211293876 104949620 340036866 713397162 386946507 493040642 960042578 56307034 275229072 378475985 106238411 966754379 64188770 746938431 844591402 262700985 694475380 388522388 117499174 856264998 36753298 911248520 172515620 780582053 796332 898429930 803685193 634903026 78385579 520755847 624822455 115326079 961753563 579821548 388111849 892879900 572278694 212501716 661567337 48200940 493482116 292939920 869561863 456019225 359988883 3608579 406455837 435366958 629116498 371463378 97567510 369224320 988042779 556383895 689395231 300929030 199597079 259999653 821005015 607152506 536786204 564258592 267096790 66668212 314243666 163757523 580128243 657793980 48170049 125458941 855215477 757458827 590529530 100761958 547120234 431417855 398150414 57776662 68159863 655755228 999836021 400762548 51209074 38087996 72970814 335697954 174952934 301756145 625800660 473673918 565813658 748809575 900611283 897979014 29547467 781197634 490630763 564563577 331237804 688261512 724116289 790678617 376565257 174691995 879990524 317758141 839440937 627911930 628016918 792533173 711742695 83480778 678739418 633487769 34515127 822926197 373893487 787235995 910641978 114887094 774385250 407972535 965490405 134037724 117639802 10638664 681052881 467880622 242396413 766536749 922189318 9125770 836334143 245016978 859517794 725610266 284959295 831106056 151780195 112102427 956853015 641288492 537699477 357307595 517067766 778560595 426673961 49354864 244797744 481171427 106068240 697286745 911181950 7129604 109334490 43694863 777833198 168887831 569581849 699708124 923314276 381548994 574211906 664135297 444101094 795982051 796885562 628835006 40541547 202511943 760987899 2425141 127487492 138540916 805763860 497655916 943069540 77388742 762460332 337843186 71953594 99720689 496258435 80250094 312107072 596830930 345985195 434687986 152219049 493365946 620419320 439781293 779750336 628072551 452891814 778148615 199463060 352170499 905892804 808146463 589752288 17697103 447031805 922419170 525144913 487821968 968952341 401406909 747632312 695996868 360056489 146742132 842387602 771578612 160463041 416069593 761524176 123830755 656672821 286725218 484045360 283235494 815048504 993889219 392139174 659763193 722206164 738565610 342189214 27487588 729628695 86083883 281752206 758070491 685658920 805415834 413010964 491451777 951403711 863366922 889983747 655264452 589856085 388986775 578135781 654724826 657466991 161627568 677716668 396368929 870865831 801256035 736376488 811317465 278901872 460582871 163912271 967162728 461267609 929094691 921552558 999461845 910767644 383089444 528487580 312533549 75026301 137715396 997055711 809027277 294921119 57151044 44517741 396653512 282023222 617330869 941940550 803513442 349336405 416053096 556449162 777196938 298928875 418609038 299319718 722701250 250079951 151985566 43954096 520908918 322400900 880075776 136935996 258232562 102172696 614266786 433667098 748733269 63529151 187605578 753786036 5503092 369128737 773223203 273844780 116028385 977734638 825079905 282774737 858646752 229225484 90623982 126140398 351180456 203000234 69734115 368355199 873925443 18289557 259198482 7666876 992853889 153158020 799878683 255051994 173656452 71004685 812985950 532482570 422393490 299744231 320218442 310335359 312489484 305236883 214302318 6320713 815478003 423250904 835535455 288062131 365543971 128480567 872139501 523342800 327646416 933844722 789152314 418477925 512701071 546181988 962779812 886198957 257511637 5143407 756771450 669072003 299668210 744103040 169931272 641068604 812419342 461989196 670413521 689907127 893610539 15712044 278816036 32723151 487515410 947646964 379196258 990359392 572504854 122317788 234143416 316756149 654613372 231114947 773723587 810289758 680424602 903018133 799968873 460779695 461302562 578401054 534525824 812552910 163489201 296492032 653922848 532398918 363493641 782653680 316131789 102209063 631596448 277046682 657533522 193128005 888250183 857055037 203370774 146771494 99498836 535620415 751631390 545348929 767642811 952863925 87312591 537286215 681568586 754623483 767823866 55510376 812995835 284174576 849017709 780054461 634449825 187595839 425830645 457008809 73924777 17583336 57847961 709803922 962250594 164191173 606824393 758910952 671357565 372943609 801512228 343045894 325487915 631448473 705342151 217300597 12133243 707143861 565107320 803050045 206195003 589825227 642647809 963134247 337516846 643399106 635683211 965785120 51717062 803418732 491703295 910397371 276917747 643098331 627482444 407891555 368916136 236317236 109804707 303035631 150439974 281374305 747149709 309285469 602563037 655929107 824150941 952621097 532157133 97460639 628660842 476526493 779583797 673634363 768951129 879344704 708380346 930318375 338996152 206454596 601147809 726818844 267046724 795998278 27501083 854148153 475546673 340556546 54808218 537364213 845721663 103580084 410457186 845050531 466864634 733488407 137783070 983701627 794630644 667729453 536392460 709122747 822179084 294810735 443581162 768379869 236800139 888140337 713513783 818005695 262663120 692706236 725727817 611035428 479505153 643831031 540757757 843701704 345023743 785577360 758439515 963428255 915527437 305613350 138013544 444001632 204789846 402226446 597956971 830410442 97146190 6865301 353255514 625772544 770537310 31210147 743297047 869646459 37554540 315780842 130879069 952986823 883659878 38064782 510810042 532894099 41675056 216228833 754945493 428551999 568171304 303063438 790342897 591039026 791345800 68245118 748626258 497669662 93918062 505749461 377282921 654835374 313071574 600798408 946672619 838148110 997311917 520284878 331378196 938148777 242718588 454798450 501092942 985868802 210009120 3328485 221034896 707744163 787248020 492921094 519677917 130504721 876236653 635174487 24245988 499324638 475830779 220613494 848736852 4524190 206670759 152399837 402050431 250407085 539196670 467603363 997660885 666237980 53576034 410502002 935008378 751740288 551986314 520265217 358220934 116959770 893024722 585476485 456609794 34947663 25090141 679253080 969695338 821442194 7559365 95997264 179774852 338702704 306522995 340807568 358821912 563381591 217171835 872217134 200508143 201781785 58637810 715936333 301922290 172819702 533523789 654838652 855392111 105608274 630242211 211615246 715715267 548934878 26171633 768388767 163659419 353350304 977244152 595475732 96909432 761078274 619030642 171745682 267098817 748525269 633916720 282597558 756563846 770416823 945385666 681546128 288471255 751220222 724497485 77373031 163645190 81832132 374933017 110438492 841232298 592500652 909729190 815851403 642317004 490111639 827665441 761217650 947564019 611525459 511947690 154683632 326405149 5372083 49106410 437700013 239725192 938410967 203049879 705993141 224418361 606378135 264041331 707610178 217616060 729554464 794031528 146145718 274670645 247119459 157031744 82479882 969276854 803446773 26696063 634836622 536370292 703348567 647797408 452657587 410977710 1320204 177672841 148885301 698842682 499078752 415163239 676734224 372899106 136962450 713380854 886635870 44077359 750909243 2041608 715506193 325064883 917852301 358741966 624183365 418857505 994249667 665790386 642753069 961243725 88028319 10076173 894217351 208574966 250070625 170144334 528087542 145077151 215305721 197781575 862951213 918178042 607507186 383797209 461268671 477132343 525124000 268508021 799461602 32532623 849571199 160720915 977483675 806178459 236210614 468779579 33922229 574760641 928034004 740191361 892895288 562613941 255879502 973413382 823650641 574357684 85167049 362157035 751987969 320800559 405625920 639425183 951482331 679654054 246711142 891964821 8122608 566516472 935632422 726249058 4586003 823946575 584814318 277906573 518295671 357172459 659476130 907747245 566035523 487286227 843342911 834010930 665756584 72557387 518834239 37889824 244632371 258932301 457322379 373952842 560141227 204076766 658924197 137968641 201345939 22412622 316626963 385338648 529375169 859631463 130522579 978131075 128541084 929405993 421232390 886544251 426302168 215905170 622745514 64407683 551787909 58572019 226671331 271162893 388363978 893583573 436428766 732873403 107948269 305328997 316104947 633754907 801455658 345722817 969094306 34038952 5023929 674871347 183043934 267550882 733102225 840747902 959038708 256730421 533781435 398130134 624770386 592303475 681272174 383752890 304663973 30727185 614349845 74735118 307766025 883473981 226645253 232723337 591060872 243521079 778511304 91171636 928552816 564491746 417824989 469592620 521405774 157706253 745500121 451294285 849646673 700186733 647270720 283031616 864642487 638550011 77838854 585613127 338707127 474789431 67981434 176716344 745935660 352143246 527338276 520010669 923867723 329834876 561514968 536705770 861447111 919704697 458695485 234310949 428447343 381774418 363109342 13676728 474561821 603248279 730540810 557147372 72205592 475506582 556311593 457642603 83718191 918363341 335028533 819308048 402632881 760493887 769552660 526251681 908500644 56716786 752491558 630945689 606243915 543736723 797914174 723507608 777955338 606586847 667240931 736126164 896466431 648851713 239113536 457912516 819212033 363126623 587242445 873752081 292440517 604465076 778066889 395102522 714714357 426439907 931786196 58208699 553838693 516886522 129971370 612089047 548881825 977987489 88858564 463836582 669477958 651769215 903285008 659072813 643586107 565778994 737274255 867471035 696186401 909259725 844255452 981749208 575000848 933119607 554338507 555163490 907518080 73613017 969268709 214214430 870915567 474562756 6392035 290440705 79835929 763849545 505435328 576139962 752885294 96253837 123831302 304881324 910049411 884617866 332155524 404109357 633967997 440416043 371638236 812358509 644873852 14286924 843283610 868284086 487124642 91775215 445472021 750192012 454373592 72511398 262712844 448307717 51703989 761880791 568906040 613340447 908023887 387691721 790670161 436553148 735671623 189849037 198114432 907704183 494338118 503621122 710301042 65541928 47367644 185873052 221826505 738366539 51021398 191318802 99941888 782276992 165157040 387506842 298300922 260866286 629424915 278259628 374337646 562110602 544418847 995409510 915234992 761087537 674048034 965542425 438185890 416764553 3589081 130999748 503260065 480587640 962794378 447589542 254545202 48492109 301028235 167351251 492243390 107042207 741554787 799686291 658786630 601908495 22222859 516188892 729339960 650892607 796597776 49570663 997174567 821556208 899820424 93616691 745917480 287458842 924505458 712043004 560989239 505111733 704367444 480581123 289563004 834922028 148256614 197511482 789814331 798177451 223036555 687685199 815670043 112884548 403555713 805230220 282178571 774729349 255494007 517707451 65760621 381102283 424106944 349653842 614414130 365353647 890761446 367012800 257648096 289967552 929109576 831002512 547872589 644954872 767502724 480749418 733805958 974449072 261625661 87562820 959968418 528074218 548161066 474959007 659145113 311415627 388801829 615281252 580784807 816525379 244444084 114671490 215603761 535007632 791956094 580557536 132969357 610054638 423499256 223019785 176595744 942848285 955256035 196111359 222341592 581862721 878517518 828035563 864338015 237875930 643616069 447726236 594271943 117648981 368682810 942918289 278774101 542719924 441436391 503757119 476398327 554027192 437661115 803380067 321557059 237896531 16427479 552132041 368010153 633878177 452311176 879311624 189907892 51048196 789125980 671430061 790440782 663149038 234519278 247385844 478257587 144604263 697372423 347380225 937417025 344080652 812155968 557128957 443905400 468869209 316724464 946353117 652548218 270917633 35349224 978006752 565332996 304048741 348603790 825757701 450109996 574404508 398788831 756916869 545988437 741921607 296815403 380744147 392630916 885925239 531043875 56866368 616354217 774782923 442405930 968598656 628130772 312459964 156476589 463859868 495929611 706783710 841447767 30661210 336132483 670162637 475936010 2840305 356270277 903310558 329257903 78503298 170194915 367510743 643242064 438966445 445278658 482001743 637682539 350311334 677082427 177913173 696976220 240415466 867936776 87147665 267907337 293746322 166404301 141428616 747421399 765866330 445312416 878331123 466888516 269646655 256647536 920470928 360429771 205004038 971789847 395770974 735051721 321552548 619679777 673555005 327537855 970555542 883613369 564521767 167194817 480715990 470336535 152773044 349253521 89920165 901906836 858990469 536928509 163003797 549255011 42335416 213187390 638077385 553078318 209674593 305170549 184500096 242870891 505351453 228572092 62161914 877946232 181965624 142573813 151381976 20747120 398094842 568980144 166426031 247172056 326727439 433641368 145334771 275958490 70978486 35830022 870267173 472500199 185572301 297174302 581962606 80809239 661920658 394351144 550170785 706952100 731853475 632428208 832829389 660760721 448123511 782800788 81807165 351368508 679521607 2637563 675998017 354900907 392316893 66920039 268881915 631214140 356341868 509283518 344439147 687964293 369970476 705541787 929529861 700640389 636240013 828653146 948407922 175750903 5333684 327793334 363541292 951620588 275453614 266264628 273426432 40051634 674386784 640088063 773591998 444825997 996358435 78476140 296632197 517894234 895432247 524052 34870488 648328217 713537473 723600966 290760040 587104769 718592433 693683215 77076039 256409629 490623826 815530209 521995266 119991202 811476673 710105754 635464879 261587140 149962867 935701237 471594237 136500965 775622224 443782904 695024659 522061880 527852950 832915412 324455592 31627174 95775132 271408499 901154186 535571574 963122047 58547291 772259326 772335326 349488892 807733231 972695608 176833542 954370064 251087846 769088173 225459519 231439963 921457911 382335309 844241673 311413869 423562700 289627946 909154088 886621386 195991336 614664391 983667896 15644869 298557721 437199725 755907805 590795330 15307027 150406564 137628943 975868765 868163941 828081753 842605901 135044363 678401231 893077009 680239159 111665362 628130159 222636111 525480950 178257021 776054484 180514867 195530466 546103569 761562593 56333977 636798314 602816465 553145185 723543288 374637018 919463090 695402922 842201803 344755847 960692117 146724152 910628234 743078302 259018168 308114645 18813469 963798191 972706247 179801838 382980912 36839106 910033790 403566893 279154818 82926454 335228723 301101186 661574133 111898277 139897178 464517006 891750237 935544112 358108816 722445444 84066275 216237199 863150422 424966731 144173332 201859630 888868473 92090565 562473838 405079445 219289423 930212185 733760240 319921049 626679163 362375521 566526987 81283504 56427463 10436943 534375634 853439209 493355316 460510637 585711963 613697469 360706622 724957971 779070093 241672192 611425552 292314848 871160901 212036870 354379834 621439113 697958743 860881193 562266533 531347728 763846064 631236012 685363491 719258759 705567816 614168659 109142529 484031154 207927165 690845138 245857947 351809745 298518350 37521369 741137767 943648334 831518447 620099893 160124364 115935510 769335177 860762680 951178437 242788565 310492294 797964786 787346689 847723075 352844629 385932185 639716944 562118449 412778634 59636427 310198521 394344560 631345750 229331792 906627931 813289956 250606776 717971623 55169249 81202372 265313918 1872776 254868369 11486276 40688039 613227705 426609324 168808911 488750303 617312218 603365908 613957260 951985067 655605333 210853414 230017127 405502842 337694014 239775369 291347749 842333548 83876001 921368394 672852196 314797754 337191193 794750519 734459623 740134341 961379484 314205528 515775520 187003770 405470538 163440519 543197806 407810054 920859847 554243925 87632655 615474987 874411633 888113356 51040997 285713382 128504466 535523949 981335201 680570057 382490130 435905144 652081691 260230305 400865038 638943497 338272872 616412512 269184005 623582346 276160525 872167241 61867021 40519707 540664348 366741620 794791155 720752248 47112135 675096206 597967810 209940419 443992694 814631515 44835282 265640359 968231029 625479732 716977364 421687306 712288363 585875071 795699177 987859855 345451221 268059018 836878826 193230550 126550915 948193017 320182588 716883511 725546633 519960213 363865434 238727776 169230379 853446850 973323355 354033008 644339894 72802749 312908623 83610413 556976326 79932179 251532877 22557072 869409720 162990656 443313378 358024597 631359445 33278702 626944116 767599644 799935318 603774409 888987960 249542023 39471712 112029346 151546739 714563163 603496411 834529094 247809440 959016248 187413917 942503522 77118145 860200928 543749006 491389242 536382513 790008556 788096045 79258523 879294403 716692385 247441774 343810601 570505629 735804884 714107282 482919082 684789212 590661778 914561945 465337657 647559773 712487589 166972823 473025032 58037680 186349178 563154199 718945955 411886971 955022971 826634790 569020083 417416080 745401974 396316844 320360121 506940474 287973391 680997813 845848523 616514925 405746988 709292344 906467117 735074272 415385916 671069415 49387823 541604594 101594284 661010375 425480740 276843894 90774543 971046555 129929976 533400545 233682242 295063544 59921849 638648806 103240986 604374736 440494624 385708320 172233794 966315480 596468722 428672977 816828195 648943852 1129253 652883306 402333076 514275927 258292716 546897281 182459732 143309526 763572127 932396068 915703075 557413099 466700644 189939527 116012122 672956655 841712801 59060492 555082120 118031354 934835052 588925523 321203034 616179648 292276801 960028264 85585524 353176915 796633299 556459483 829798415 758173175 646381938 76593217 60285430 75969363 224687336 139391977 770325130 998109074 469854917 471756059 142472086 236167625 803096405 818218704 451491152 872004422 699613969 26986225 508220519 367473889 444885918 693746510 992666980 990480785 142046532 973837015 773552622 988450569 438600004 707810529 989320067 520809236 638382717 495881174 194845172 117119920 986424089 125236087 350931094 130215676 74481268 525084846 857709647 819036026 883352801 371856638 504126280 704111898 262826313 486796682 265078448 206037014 252324808 478542021 197231609 104488821 570061366 538035235 426085486 146623602 596004010 937508487 704952496 733029746 262117974 174541124 72007198 491104479 31025550 405821728 261512589 722506624 30620062 451416029 372779516 811800254 354358030 19378145 478980813 578831278 382217555 665067213 613065150 230664346 220479030 379574451 365887968 275765350 561600375 464771027 578108588 488376585 150245404 35070106 874020853 731608473 185769525 556974933 936585459 102654377 226534558 959331956 292690263 67192010 676878017 641544692 138749934 5452564 80054017 755847140 421553650 249826831 228006648 822447538 615728834 707003101 27995101 747114895 900407283 365926721 225629144 500939829 585842623 730970360 581807626 6550172 548191808 800586700 473127009 214811393 505227230 449111922 650282352 211464688 193198291 675475505 724696915 259130452 614123212 157834908 747705973 595940817 239806847 29232697 324712240 499136498 905479408 864998322 570058013 521542058 633134509 970311716 31891667 143817125 336059861 621944187 612516047 21430106 655621403 35314394 165764134 175585782 248528832 275456105 605832113 268597399 315935608 134438545 123289728 328915298 613105862 382449380 832290777 522807676 193945056 298155351 103294573 739232735 350137139 891608926 964139164 840051388 717554768 967938891 254553382 226405779 501348734 511072356 652306099 917742974 91648220 299410795 653426439 831219268 232774830 566707398 952452108 787557124 214604956 1421158 52769351 986467759 602147426 273539258 498693335 638832105 757793413 183076571 745950381 660053648 204839916 419940448 593493064 902523870 956077023 495774052 52352992 736868005 682829712 383099256 189545109 385968342 729955610 101065086 727755909 949946718 199643684 560107285 858613568 854588231 696731709 459806894 156781861 970622391 171236946 748245540 769200077 644375800 254382827 90672533 217641804 38784809 379936902 213332978 859534431 410044444 309910481 863933348 200295845 516156447 389437546 590767591 417472469 441373457 920608307 55069426 733822475 515071287 128235021 479059453 725651506 431774649 850172016 643211683 839411949 242424731 329473462 959065380 167803889 302658475 404795272 19276034 112206304 369350981 728658592 126979928 469304833 272195427 323408963 629046359 604188447 661609432 404750378 769641120 295823698 601866316 864432757 44808005 697244795 431953616 385377137 500687332 814434679 882893077 933461514 123569006 219463193 287004155 691740165 190682887 436703234 540502093 687278575 427886808 95088724 31548058 334319675 953945110 656941905 19729382 195034778 62277705 885940594 106073244 926990767 408795554 443630348 136439005 181100512 519171033 76737055 899134403 671513438 554422519 224060524 427960647 779277015 48705927 52320990 920554424 661936780 710498440 266289986 369281127 100442545 167651400 585021519 876526388 813017518 224255227 28648631 453181285 163694071 704584589 770783952 164838264 297377026 468867169 629517926 634878658 841294146 669465412 317463995 811813095 329707814 198612091 175684968 457427488 365453764 635808901 680454271 695932134 181787254 402812717 664463615 550494525 355513920 325933097 21387682 159523925 775283643 947656479 217688522 335949577 297252450 953374944 404916776 683018885 231531380 880194933 141260591 517604168 526030923 665582831 73648405 296439081 770519075 337661506 304396084 806957018 551201418 889784051 120584566 797311826 360189992 981580222 183631385 129520900 894746695 635554721 649602424 173204125 287342906 604477440 834053684 636013655 591081965 467667527 260251143 614809674 619035760 756994491 661829446 440625872 674101378 916337806 269124239 722384251 232063766 900522062 660106708 470450820 221284820 130766013 991321365 780997899 62965610 947261882 907922534 66501468 107835729 964645819 741582675 821384486 625006871 84617910 151181821 652901205 630407961 738909151 186424659 143017151 938706668 714399469 858326009 839915103 360521270 447034325 667523353 419184957 101787045 433870346 929722240 690882524 673472204 693000332 826246108 965109547 784096270 247159747 588317720 365865989 39299855 715723001 591040469 505441400 792115663 925813217 555660769 68609804 719508610 756541705 842253746 308680369 868907441 730155698 277279598 589716057 728438358 618130114 414887807 672100619 569177719 171012409 226828365 650723171 368705739 707245962 701079177 182194256 348683531 149729868 468785608 879997235 803279170 210509779 850771799 424119283 981754028 176547765 767078440 615764037 999274685 155153254 281528098 869652556 810840669 660488095 905989893 868512780 198043274 571914759 206434614 913740196 983383348 365933817 970481670 434518839 655436280 423944531 403587323 807512819 858260316 706375546 178594840 754287924 534818725 195305654 789669469 79379575 837200553 17627564 289910196 743360027 45320599 732931708 730076921 657351785 111071630 210836740 984812213 972308234 881500475 641887004 975638716 877851488 123270909 68495931 112711772 596475416 994923105 481724429 583720437 757369169 855188375 955388578 762819573 450975435 275008556 38399422 718854957 187806067 799398996 458996485 553725020 28049019 450546605 58440826 565252963 819095630 845977908 310268773 912035470 425514033 702802765 410506112 946631307 970192924 669217179 812139201 705666407 174988697 13231538 209693679 995995816 664761395 693485002 690544219 178179147 78198594 784068948 363364622 497179485 93678341 368536711 89226547 391825296 650072875 930854147 160148986 296096914 776503803 147534761 100859695 852630373 509537216 40189622 11544854 576241076 748297411 933767950 965215225 241236510 489683125 567804331 956848072 852997163 620299009 696719043 696652282 732584580 361834590 445507553 828806627 524910673 165196085 525650826 434502766 476847608 48293874 130387410 330485266 343129397 817923602 809936419 580078788 28322643 547832057 244430587 10726854 846692965 600640794 595684359 314461501 848957086 874848663 509014570 193290224 793732556 161372125 122365220 618492712 250389692 321144524 506968940 419718987 134227710 508033471 722775929 182684777 880333636 472421502 672979469 430619322 94962084 992074720 885376543 368291623 799274545 490678002 683917536 249592477 545323721 562717938 775592535 196674769 708514537 187110530 998549783 796710562 280627545 842982114 199159299 126702309 215187116 621189382 20231729 103589903 857484366 630575854 330412580 398561037 324374623 625966824 748280319 441051987 827194672 158004897 251625917 210586459 845789009 866615705 74889345 776645780 170737658 770688974 259028741 289113227 436368496 419162799 586187459 988724637 209922249 176780307 933199618 43070642 341377078 762725036 287441597 946532988 818848519 478287803 698481895 43060366 906496526 873838867 448689620 571654148 417281584 746052308 138132500 434090114 355851857 167294551 536632109 952531254 796004128 449975392 96006547 957378901 800222322 726070907 923777687 841139627 789970015 686087631 625294687 819892993 954065267 391371705 173635075 121761651 78913438 40881096 314594047 970774881 316689400 54261259 13600151 735892847 219911834 108422366 64144652 639748183 771824557 506269644 346270995 47987722 88954558 422794599 245964668 209618355 574786587 296494422 629059007 163281630 519322596 503770560 482655704 704462159 312724684 278565186 656768493 919053912 902917140 395438095 846095701 39125758 571879581 900335454 230354161 676477689 544978978 408842315 165155392 636536577 512420504 521106225 530149920 405814557 960807070 701709473 897055026 689874283 409544240 796175818 409065484 73267508 622123352 1032576 655472821 581791904 603535899 843227655 845233531 796474954 666897017 309384870 84786797 370597657 535983877 322293453 231748371 713464399 410363841 12923763 432354136 119120434 61359258 995041310 947191352 923153276 101816330 67479327 310929635 923918904 986434990 925387225 594813472 624686027 41460391 218751653 189407535 820088652 193861350 529821453 240110018 890509778 876253094 303599457 920018288 971640691 632869745 498487408 429742293 552133622 114935757 668047029 215841983 421045591 155875303 571891232 377468215 776918024 210157602 775331171 762901679 564656486 150015578 552588040 438904383 651610484 808919878 132765741 181946882 603987673 281637564 447227659 385122329 446895663 722621060 109571019 709403705 409999201 848780944 378171392 253725519 186096744 512268048 797125978 357047510 60641787 440001753 796252309 499855854 908089450 67447460 897678499 754262868 636450995 869977303 307289529 334751884 589569772 869825873 758860151 740868486 646971652 143365532 160813504 98175132 759790745 996011980 378676489 861430517 532800948 714945251 942764487 127684997 610139294 217245522 749802931 579117884 610744567 36439688 844247228 71796319 518089305 314716527 833729608 750908015 231015027 996521847 266622691 177802206 624678760 400654837 974124819 988985615 992267817 397330519 342009516 6540616 687354655 197058412 376554297 803469369 873118564 131365872 89379363 828185655 985203584 113543947 987689190 313040870 4139397 865908654 185052865 477326921 801608744 311041371 784356364 937896648 139061597 128433544 994949402 478855173 504868813 242649580 369421205 112970677 89895406 120387665 473735521 170472403 179391097 595148524 497671240 387487328 426619212 636821740 792562826 665758588 751394798 508594283 493776982 160508665 172209014 937143431 62276790 815303865 453706358 439447444 164057438 351798664 454133114 373680147 288830272 140636891 347831109 271797842 692367241 881273236 870226998 183765409 45089245 349838299 745709331 870013617 271968540 761785618 932496856 731401102 174361360 117689250 348773212 648446769 428760172 765219673 98678418 386209680 628130566 561863765 842842357 833167904 217282168 599932634 946269963 850085271 23317714 607082205 786243848 98575748 585532976 278840612 13341697 279909485 979135236 473414084 37869850 856661142 511370043 219613396 329790997 859237134 164510628 690189472 441709563 152554051 770008568 617292651 128378223 227282749 583234726 826653571 612322050 374578105 16333202 564164238 923979791 259861699 743080421 394074769 346230703 135169698 293402881 663006095 492618099 779037268 157768553 692049052 872174526 629547154 358246444 84129590 212741213 607623039 163968166 736058912 716274611 854246388 615496505 655082034 765282533 21211800 224125914 366440388 885952814 194471634 568674188 215634004 619890792 660047351 485557332 828705506 985889927 519088234 140292612 646729327 817311799 532332280 357370998 381135958 802379022 291646474 729221526 309201528 956797463 680244467 357543760 356910583 120103292 786323007 823083233 38123611 575842202 599549125 310958339 311498051 60901891 70812586 879108579 959934044 639689420 333478455 600151948 628766577 115226195 626410370 148525893 436057482 821014379 722323347 672215987 648989428 459052813 839614602 804351475 655421261 820908063 360628025 63119359 964173563 872232031 527518016 978166748 886662168 78392132 104419951 684754274 873564189 574668306 449018875 771295138 550016418 612310301 110555561 699828721 226975402 403572870 142625069 605420111 820410181 121810371 84981613 907645894 911529861 666779783 144459572 879435742 829305932 10580512 143039750 24034490 818222173 411353533 168371631 627210610 125977828 288815271 865404763 672738798 755026785 996906845 641048759 693074038 584407688 217161143 71335696 776068261 623881477 377937617 188794582 690199278 885990170 813564442 966646574 557626809 179253833 242938115 400908521 93032365 677789617 789629240 846711577 422145533 561113202 821599912 990249895 265637784 216194431 214568259 103505769 329113210 931563226 841174043 539356485 700218875 643234186 457293147 592031910 837635811 886862491 657832730 614426698 90021737 241197349 782307981 815760047 520860952 408627288 274210843 662655846 923073098 884933727 740030167 689287019 797392501 79704384 114632919 707222373 610182423 749994554 444405057 789813459 438635679 113467432 198098424 65936406 160881320 258287064 624445958 717418185 363549526 262106625 263005530 370471846 980188531 664011635 709109211 257066297 714361495 786801315 633201617 366118356 826281306 853298921 772929190 308668394 828287878 673174425 449781348 199145197 812111495 794689819 647928241 554445025 150214930 118881672 1723340 10252374 511189163 468625317 779921337 675235561 945507180 72690817 328793487 661185193 502584034 643451022 870009380 732228406 113877492 464055584 240681465 289087160 139019897 505391488 384532789 685123838 528083020 647588053 191746653 849035969 534299883 936610311 806218375 705877501 97812887 724371962 124213109 890764865 124609163 344246862 587910964 529623928 85964999 431709797 771111708 558973516 446879890 646894442 861849878 695832718 993793578 997148785 983685171 924409026 252950796 266183813 771517060 994094426 552329399 788979565 300933314 608629527 178773430 586089097 711940023 934876176 167352276 684925799 461779857 102887824 334609035 354237578 360219480 650940583 363936798 468963148 397821842 216485012 298617956 775644471 218080989 186093121 632609119 850632916 164498765 547662786 456983666 102916547 330062985 955236312 596100162 183889937 91663311 743887380 515196134 619233427 616476462 631627482 590669534 996289449 371780652 411390334 322617793 628361717 879092098 388754589 164964901 511832399 583641947 566479962 421774411 214306997 853414094 395902085 357918687 149571793 226228527 952150562 807206821 197553181 9952432 176803377 670121624 275658013 602337416 72584965 69159072 544059173 856427430 476154117 32470662 74680223 405671261 535826183 802354949 872181023 41320839 107539103 291298072 363531562 949457056 914867392 666350790 933667139 347981704 989575096 311886540 52862567 339768043 956274452 428208519 659384549 357597119 98413109 953950365 278696224 689024376 836996488 203605167 699231822 969660359 909289912 179354621 845108838 207584906 496835707 488959796 371352170 252481866 865740069 348066531 980123090 471538901 639629188 54409280 395856079 408080848 869028229 39866052 248134032 424083545 933086796 88421091 591574254 56425270 491880480 221170410 644390767 819456063 713207002 297497822 254785846 285423916 802352419 942665074 66807973 184540541 985477910 653798240 591532117 111063575 487848009 991130645 775217270 764424401 414659431 619870274 582582735 513705868 945914226 841141281 502871076 119839713 883647091 806381622 457914067 896146028 6215758 37955637 113148302 847163019 463226616 260538151 332108959 162294289 349472564 644587105 162191345 952582338 53791178 164602444 813804973 597256226 272019964 304564667 863537823 599882889 49195765 200324234 629695326 177888799 196719979 301995063 34022810 540701083 528325165 95345507 431286491 986064588 929152564 172876099 299099745 2519715 538046934 603320946 499607198 565671488 83229759 556088740 134125379 475799074 233465286 198314094 831524909 698079281 494969344 426206571 645122055 976722912 799634759 71614759 963247331 341937967 418815660 535125141 308278216 556782940 982596108 728523926 255316329 9569796 628218789 420382134 882837493 254753132 618268363 881422046 776005425 845800409 773835283 634604563 269382368 271859466 5214046 97209456 204850641 646848437 556652457 391323386 827008942 222532846 793471871 900983916 231811365 632173597 858082847 16926481 889077295 808792776 825631891 585249095 69388893 660774993 359045515 854261107 885834962 884312636 270973764 457784261 523055918 518849514 907215944 487848048 491103518 52275274 115026373 22457834 940129166 675061622 321883462 773456384 155410161 350129569 377989623 213641118 872795223 943434166 519495086 156862532 757906442 60483216 833220617 668877248 74759006 76160308 156415111 854082864 532952049 443842485 624211849 812418247 434540810 711069186 806191520 824502502 136137689 364380208 565949400 891071434 70274228 388746609 22624145 346612873 928642642 880199076 232118227 804608014 742691198 415442049 162969623 473161359 120079348 638668277 85559369 734817283 256977206 935549152 689962175 135004457 474793682 383683154 445394967 845397031 666881356 768783400 620431744 350449782 920395848 110635265 277588507 680677194 191091667 431492135 316203118 299572510 423207290 926732275 467788405 164677724 694756338 733946425 23211702 265940057 588442565 979768966 541852438 773323081 946993764 943084723 847394582 379161844 396041593 669282668 845047470 979968402 190162538 70927753 664913989 642145659 509688613 673932855 419202719 71746263 305610579 250002456 945899106 357389859 595328693 575706078 876472391 219525697 412817294 150219182 501758730 942716458 980506588 878634291 520349937 177963352 836283722 871662752 536396158 891438333 657681564 999669700 551620044 375461257 686696924 970185002 654782175 312989438 461638103 791525052 833691321 697493165 727003145 422512085 604112679 316642498 509172814 731910317 248423020 312355138 159040651 170908908 124973968 762852456 228669192 336053231 570885599 4067873 875262824 205861900 635135549 786263255 721212268 968252362 846257261 736545612 769090488 399052091 580299436 731132120 400434150 510995301 305722668 851166392 286841065 467416133 520819793 35958419 199877822 283479605 976550190 930021248 439850480 464102588 482327199 115484449 961489528 792830411 795221228 916713653 947594420 516901521 875347147 650421005 953396219 62409984 732320057 675753037 694627745 264120134 335558935 771985724 410398829 612777330 382021056 767997339 717149304 65394023 860437176 920371137 92997640 680731889 99341276 295529325 713030503 449253941 811601453 928993679 614622736 509050295 481308183 477077822 427271775 428648181 650325704 683924116 380528838 526355638 662716805 498204352 741622982 167689900 899502566 839040712 131747323 464310229 656492932 768221443 340756733 364356448 294457365 588416258 715004735 664038423 473508777 666088597 99893735 759215011 343663198 164324182 311542616 992509261 276183278 95773892 263698119 474529135 601339330 77867686 836444189 278497210 624208671 729017381 549731737 803252565 122277908 100692115 485938692 211866573 986686717 910629917 972650136 381643661 209974660 411886637 565811224 952965529 78970067 96540545 99093987 142773091 170615867 617662619 33790916 781158893 72492367 495806525 294230128 411144592 824233844 853725038 821124315 237688059 238940329 766988827 909683543 214199000 567803966 540114347 523642726 562714404 107380843 891673291 843575928 341670106 785610275 814513810 691218052 250653450 504185399 643878603 37112333 477831874 811712162 273395511 725335316 34819519 842277780 321769784 894229997 929695184 567637473 410710563 359680607 177114485 885469324 155620417 198494774 800477086 648791072 454842332 582827145 51092183 775853757 160760111 363614336 477870625 710295733 727080485 34187938 853191556 449245017 349830272 718257700 479435795 123770901 666380660 344860455 357599287 236390299 246024522 430774168 797701468 804151066 166032754 464467822 407107781 437384202 249114522 635915011 449048499 919015222 660277128 412383786 480825063 847604027 419882844 23349475 681473364 771499083 619355968 417521733 156940781 567628472 943232743 472222381 937481767 247053978 703221760 883094893 165728995 845657430 641205069 520885407 550197441 534343588 839350802 218011259 859915724 530103189 273424330 418570439 667951542 71440875 734621245 813668876 947064465 966828228 123443194 784267830 362485988 123901773 223724463 424907927 879066578 926215138 164223334 578456421 573817115 5233430 480422991 102844824 866600861 810862833 730391064 868356931 335957786 94396050 848328247 110173557 30602577 803157595 763347859 290177720 691200971 4154330 595077752 407227250 568460240 430808193 174999596 80877594 397948751 367404595 955588297 344113111 665137230 671854573 665093902 513932627 901388942 183809094 642933704 835196031 506729131 927591936 30531754 252165274 485166915 412357871 990357725 3471015 39028785 502526204 438393013 650578892 475962626 8146549 978520926 501185540 462631347 817118424 830021830 403002438 943354715 869528600 170361428 68284662 829770866 100738110 160555445 461812623 572763596 634290603 602154500 947554988 780724438 287096865 277295998 651725360 743429889 39458935 184130785 957002825 991162643 901838919 488747743 116175365 147310550 928733879 53790488 570725669 192790460 294401608 534230792 327588766 195835827 854538745 757885649 450824921 842237223 784282212 829914426 688301566 61928212 384589464 592364451 850373985 788714378 606455945 104806532 806182690 781579744 961012571 450935350 916977292 688421221 185732946 935356909 639412436 537679666 585269066 552864358 247840913 354141168 491179520 148021926 994563970 346630087 202162148 421405893 424121636 706881713 695318700 187385482 831071697 939259404 820987770 671436214 355462782 283420840 135094963 928362168 32106050 576265954 856331801 289781326 366295834 660490653 966813328 453779574 317723618 921220698 973412231 588205189 288915516 702009123 838917075 613314253 998472896 996475144 274587966 117810842 209954124 213885631 626181404 696402683 509456047 931137164 532705274 749109647 966704298 316334169 591423251 13179760 126025682 887722715 495983378 726718146 305993838 515867049 524201476 856095417 433727501 927088164 576301645 721887757 152152301 110678820 149749915 681035384 675020844 682471911 782760251 733385776 113477313 610950590 874196554 320679908 761919500 675034462 220953105 782924603 222794918 910513123 273594796 879254094 349988394 208697229 523714383 658088343 381382804 266746243 491465381 711815019 674331791 954797017 263273574 748295897 778167780 680426362 335497071 225902343 406465808 498643510 389144443 720355276 936524423 34351424 625578298 141228687 10801997 67433121 135014993 975227686 785998673 16018131 335989151 469636443 145491322 26882236 86045768 426193135 54142390 221117734 843903225 415450514 451679800 354037776 78862535 209873250 853143567 602369680 111238547 695148093 758794814 954599118 284765395 755879501 765645637 28988986 807418021 266416807 45235524 555815556 131837575 832361968 858773261 348501039 622683292 454815712 672987475 791852775 900823574 618046153 983310683 308646477 561092083 625374675 924819478 753921065 31461975 591442311 115832859 199331431 880041029 750602521 624149706 535985821 500347436 867516976 756347122 927624921 574015082 417718699 611710152 165455518 78126341 196411997 632601822 552609723 463600687 881723927 749258827 197219948 215426973 486251551 98507506 821488364 106060117 929676738 535485107 456221074 586784095 959248708 174811289 255540900 221541568 812493634 777537060 188452983 659772530 900116893 9049367 455895252 637519389 685249058 17426189 636428709 76572537 299900571 201498457 31468309 104284906 466520058 2138169 923670851 558926160 338131349 58119166 400432664 10075907 875258348 980168749 854907034 226197790 226007529 584019508 157349087 168569627 483831232 421296346 859786968 672361443 284442188 524289476 891992946 549926030 557511717 924997779 134877179 839826994 53743928 958622072 536849883 495169979 539662655 743854681 235642037 504649324 746699745 69295313 276975022 519020045 466930110 952709009 869734538 702481278 907537792 546606980 767829649 213699908 907930059 431192390 462885340 888867784 399999914 196057643 521842814 988311885 716476886 669938262 467715968 7189196 440640671 546835244 677803861 259520342 242672668 615321372 201284607 358344409 379520031 906368515 238742499 741169276 141533829 175871735 135066532 476926065 676981595 791145095 211027900 183963419 967581406 786794043 371800316 495978654 620791131 890811102 351174436 460626872 717046759 802157994 29500211 417002589 229909404 37921441 533477123 331071024 811833447 265388116 916829512 644847581 482458238 255277146 227322049 135227659 181709072 977538533 564095597 684706111 966984382 871615068 576499445 694923905 996532098 9755919 152779353 256836425 358522100 825068947 91090794 767208872 75843443 387966389 215637135 196641626 41686342 692337282 821346417 14253047 987415165 555435009 161911323 458596332 785730720 435673306 54534397 579837070 491298855 12174797 506220566 232926782 274740525 253334463 404098903 39433069 946012223 695062338 732391713 691220554 396010035 658695870 829098133 445362835 899978919 346752 836428543 498872777 576838199 167943223 40878201 933728946 292996862 11317726 495834446 924470889 502908056 461764315 216263076 267002172 826396217 382039945 13547261 962466260 758669080 454842597 935986523 390073372 817986835 57302279 395603953 960010133 977396000 804499788 622507048 657338535 556383733 605176517 835525225 195095140 191910237 33734025 761532339 93059692 25171398 185777051 640412375 957615268 130552025 376527857 819036055 512075433 632786832 115574052 815033693 349755723 796479960 901772025 970347169 539547979 367262890 24664808 942177494 351278508 144642361 744074318 332492250 458880566 326537559 492599342 751232577 297905489 568797442 896426357 539056489 346975700 903284789 101793498 467697942 959801958 338667968 661394551 716981489 819881028 863398220 564107440 302955179 153382522 442881719 887159003 901504428 132225344 55846481 279981885 339070099 820493103 544601586 567521032 515301487 288000507 85982286 931591074 549637246 549834038 728512 643242647 674487990 595551328 97201386 584881101 253708549 84199690 626248740 80615210 210659646 317758434 897785430 868856974 392147682 509236673 688236390 681732393 224668704 426748709 812656515 561164845 538081007 621853091 869432973 910822342 474656509 545353655 842843026 901774722 91917514 64567380 525246091 345719141 173582233 950012232 793307171 150063156 345656934 531944092 524912897 837645774 86523214 189698078 192900128 769939501 749228528 366695903 656298410 684329884 455096012 488816766 147669736 976684581 195354298 570039979 76752356 415630805 83655025 330442254 690568329 295844453 1549139 842539927 403849305 553054896 238200144 96366492 484497431 613047416 909206754 294447794 380432412 701312966 461767291 98323571 873010397 789697584 793783322 425985747 81899205 60012587 387867178 934339753 207714979 760895886 744017291 625357100 588077116 890013622 805239947 584648185 126970407 498361607 796981818 806458468 628181959 194132179 338908079 97425945 695643586 189411892 579648228 331494502 559268746 951850037 339508380 368978268 588548351 774069271 697291163 60174047 459319772 284017723 744672039 297187366 458328576 851720435 585613561 224575119 794645739 270977811 17452651 222764347 690823059 921962795 619019209 316772665 175811423 95348988 900102765 483386836 735904041 794148330 963796402 680923385 819565347 567268278 164296940 241453432 153351907 892393227 493225944 597523389 893782803 721399825 8794209 109916014 286214313 840641594 616770991 942331140 315896501 423554003 566253115 955536429 363241008 798984753 59403095 408144286 907971263 534247114 619019723 944485485 603385196 276452872 104958883 635050733 65640021 435160565 113672849 504610055 492428437 602410496 91556750 810011954 660180300 383114614 61424469 43402181 597686208 371270184 61957129 474035136 153321240 242444572 498885141 845923882 508166745 637358757 500016559 912394680 830067329 302477505 661034677 642690342 429481283 70317600 58375058 622385502 312140666 445065145 234887672 261834605 659449889 198505147 124523953 570367209 453006006 572546814 375428165 602161647 746717883 424755283 715827637 594483422 613895426 717801592 513387314 989661528 444109210 608999910 722838829 360301960 79078634 965339139 982356236 643048270 421091643 726270768 908086495 221495483 450018204 669290920 618380101 537793533 736216370 428645022 151612582 876489698 42442211 370240506 600282184 479253047 395185856 182287277 234774752 439044787 917661834 293341540 378557534 499969146 615459594 925983750 973561539 919525162 727478043 145895167 493840101 535196373 217139518 819182566 80094323 536791413 397533191 2754030 721615984 466650145 627874973 428807354 651704774 660163002 755314524 539154176 250195227 444274227 524685082 390288985 464542871 492886726 969920785 15629675 332679923 314538283 160996118 730519584 190162863 793493727 924347442 657990078 54012469 796076259 842914953 505316538 124817290 672293012 501914648 782277662 296722997 33366516 370099632 225628162 517971073 776557513 755561192 451724663 391932567 254629409 71015977 358222369 557130648 366766291 664305856 55313509 607514090 857099838 167280615 360700739 681049538 234985303 372976862 679875615 839769251 529917386 916367081 932308892 592255796 410287641 156254695 60484373 660375250 489123739 991155617 210700467 327276826 848439915 702112575 907767588 723593467 580464381 328379363 893380160 833322972 372760936 903047467 386875920 36110600 773302191 705035732 426295949 527532035 454210668 91241168 258821856 202026811 251620381 217422556 322015205 351285860 941949590 877032191 321420670 204285257 727440936 739307968 221479653 249952657 727726759 352561510 583367949 551124741 570583997 104051327 948004285 632231121 62961518 223838487 549942006 114617992 478081061 430335835 549655091 795376606 894097095 506745639 275020018 734081581 786688377 720189904 644095736 463810634 548198107 911951981 262338395 439347465 355909299 341789916 379548535 879034314 146703811 957543250 790780726 267670870 268666942 68455252 529208226 282577861 443783374 471087300 710841568 763599236 307022380 849971376 989266386 756180616 18326711 487739217 566731155 820958469 45444650 824013018 110339233 66681023 962351812 819768772 396804742 978971445 991627036 767248186 260869921 553197771 838620461 922043152 28887555 234314908 146666683 136622645 218752413 987756654 983151627 360353742 787686986 955060695 244251700 220453002 78131393 585667822 700092737 441382522 268719660 488866856 126587589 274455183 89497041 113329785 634588067 636175397 110848372 777817668 617230625 242974469 396719863 607297093 516977800 249048090 618175845 938012991 845870743 160218442 593827113 140046572 528165436 759784427 745230633 976755804 883313355 157876784 687600266 296279546 192781510 706564006 876686764 555544063 495525211 912796464 17623886 244979688 682433046 30805401 745206043 753744438 782846357 28726968 814932597 370236695 386491586 418829803 97036229 782472913 732511118 925657293 873763484 927165527 912330191 498112228 126084456 890202448 154428114 226836001 497079926 820029335 311960633 559973578 45322076 403150098 224039859 891641297 398104052 91491504 308502566 397747451 484776010 139670511 558209231 914531005 44721761 138094849 997382496 15503398 573845222 918141558 100121435 842105909 58361674 687162051 329628374 599852244 424500184 621061310 775934739 417230209 872509580 613505053 891082883 606532172 522153494 893971551 427881207 682071794 365777688 634025153 689221800 173076375 553267995 102629099 433086952 945497835 298396331 359241373 803411818 358751118 493888150 842866482 162336518 631511362 89323747 609342660 346577297 363133777 335321231 150568856 713046947 408864123 342100049 254832536 97614872 618904453 511561973 964509948 831958161 266733655 885767159 620030413 190397684 141341755 887751068 58987586 595995541 441819739 416839920 586677884 5464784 850380153 81466921 854935211 913544798 522704291 493294341 116041146 529826010 541430811 284092270 83324522 397780773 817044840 852754073 325679657 876112243 981068107 588894063 564409707 739756755 780501002 627969412 936267019 994899629 822897654 706790007 103395057 69060362 160391320 828425486 605483700 81638834 799479355 890889234 131651002 702058477 214839590 893063844 981432384 800401768 755829881 715653143 706752765 736195232 695747314 496327115 795871593 669355358 226089466 8065087 824551862 140925548 724657480 423658270 31147853 659308326 919130755 271878060 408092749 441057539 326799631 623247404 103462984 7030913 716881003 50449608 280777656 306796258 431428648 114668496 955097795 978407382 473740386 164694890 150465395 528230156 263414343 417915943 479708848 928429443 368505443 114714484 617585247 221417529 882886148 427700136 976222874 424301459 361990548 844240423 951284857 585571841 324584235 593514784 222709517 423790989 921888983 566835839 467895412 816681153 560395102 431886191 957928200 570734584 429901256 758732985 186798398 671152649 493051532 383477117 505768047 570020947 203807529 405495181 987180666 618802616 21177461 574538161 706478385 681808616 180075042 744871855 311790536 849139930 25918038 19992987 464138271 745708078 964595042 966131820 844926003 455952857 718688502 302266380 212844635 433525239 497293131 81632128 706269764 640885408 137982760 212693780 15413593 65109311 751861436 853907436 60383063 71500786 444404907 755782563 583745620 890975182 374647263 389113160 497643693 232171654 193323624 344423256 700588122 704700741 276329805 979080706 71169169 276227107 984946103 399288348 834755778 984428986 151942765 573108958 484713585 783270887 353006627 285482197 825356606 19926016 906488541 331563115 389751275 259770373 720245475 7252971 705923972 609425459 570132442 792139054 563163945 685680574 197832558 730920175 641580049 110106556 832250596 671721749 883324615 437404077 834922152 640503162 469549944 141003878 859836468 769697390 404050476 1699626 457888091 865851452 166158956 708501250 711473028 552498439 37488917 981925808 677210083 305482355 166860728 96283049 633231892 808689572 711355793 453687969 460948013 997744617 73050536 23481566 556002689 537095432 135399117 726677427 412218875 963451654 403230634 651819427 102768143 45087296 165234230 465669919 298130576 227615093 159794115 207229383 413337906 232362459 333524481 901665941 288203346 357787946 734802776 940142648 84161179 756704462 48968339 135170810 162611468 729734777 872858378 778761180 771442383 953619475 750295812 648335125 965840806 435849661 755955736 436622489 382444216 74413017 790042497 358200564 349679853 12587235 371434284 848197010 245408740 127534398 438722827 642065534 272492325 479941688 992683507 148373764 410364133 392706293 657470842 604934339 720448897 706964903 781703979 928526690 108092169 212148843 758470437 827005134 698197067 140844099 262268865 424479640 592761204 91528703 565370907 803541494 177502342 685371931 969215606 120340469 43540519 733197304 63420983 399278601 495183937 362938455 441731213 800156985 237681517 903632368 745176446 841753500 582682387 670276255 869063236 103733508 811964991 899989790 633125237 635839056 517022021 413575875 591001551 54255884 156747124 339786960 798254921 907627733 705301018 550032289 149443277 150810455 768502327 581908559 328066481 591579785 364370058 640320295 498380549 619960238 542018653 936880688 278126015 823274020 92607744 142049598 766455391 888447349 299893607 723006046 702076283 288615145 219055013 328581152 468834691 236642537 921830281 220506445 88256934 378673803 864844528 989789662 161835123 632616388 598488844 509131487 602593684 353692055 419168899 314019477 204995010 282534682 43751758 418279143 713841178 776256307 297244549 656795141 725765970 5517548 937508642 573223158 992571756 114168103 443129930 912836884 84048642 358771325 843527028 161045473 986518167 641256380 853479167 918842506 967347876 786787931 19251704 813553954 799628435 375944825 272876107 103789562 270564134 571038297 469791958 281560285 383858051 400551958 739687635 558865627 477129160 111382181 655948985 496125474 59938259 135459816 481055789 908886263 874831115 879360128 8706169 986638898 271272067 936117917 764070271 764586445 613442641 970685549 592187136 418382175 768440540 757881504 5442100 174643910 63468637 128055721 56260167 724553694 224776861 719227992 532156627 571982209 784518339 810394325 367201424 343434542 603521629 945012589 426772135 82398609 666862832 29596296 844878903 782141849 479836 777775174 898578793 712523970 728686619 942969335 308562672 521765623 781655031 344282644 20896595 103424814 643160458 608556293 707949124 183166731 915710114 125707763 754195507 915147039 218911747 261817336 299899158 53510893 850920725 386534482 147060910 471160642 312585852 750542630 456851012 905040728 409308041 223307148 442175766 92904923 447593750 96692603 352820769 510857557 414111082 228739145 545057461 672882746 401486654 104061745 556251589 842152680 248946866 978597722 367734648 901629023 173708531 786456446 454055305 441733121 303365117 11481635 719542637 368035977 783547695 331397122 685805602 171892715 712800070 68921726 732101359 863314947 566649445 846372363 819068344 359379127 213301313 447730369 243179958 758504875 24333831 982613298 18312209 967388021 441995507 711182024 647039497 828108478 945778280 442296698 991595158 734779209 175438634 393418455 836129368 738562755 816179446 237221294 853860814 505392221 122201703 100869071 917142584 23370423 226438095 81227468 515957492 987700049 697834356 87346984 387047351 391118786 245635498 414051738 889023699 30951922 904275392 440897814 587737346 21997498 693856149 932708797 986639263 164168770 90826842 960422303 383165838 819104067 404708898 203141334 650077770 268653509 746654320 487449257 681822509 10331117 690892645 114563849 538184964 781508007 140741755 868168796 906249178 535679147 692480818 981497382 572043948 621590531 811708570 173905541 534786642 656382061 121900071 441814079 713602648 441848239 565168477 351988286 688745364 701798802 651913016 66963527 777812887 625930697 765645608 976061977 975443611 684328506 766017530 967949832 640876375 145898055 393615353 764529940 210526765 804570241 715828131 174336993 98340346 237728783 23662756 134167475 268983250 758444595 949668470 368731468 914210919 518026279 582782779 321263537 723124286 87850771 922662969 357965131 148690318 544166725 665403293 86294768 458841063 440352264 346822708 689173063 93468804 216789945 709217301 840293591 51450508 219835775 478543056 276352606 500020010 745314788 139823309 339647 564226289 326309377 778871510 361191727 35268007 985333758 303827926 424037983 744523990 513046887 513117633 571005660 214740697 207602251 86230522 309937800 696999086 949077907 290418885 608141991 79157381 986644344 306808158 902221082 696723739 668981452 122174069 463959624 135052931 874331507 144990727 228478034 169836270 553396521 840932943 777220006 972815646 73238912 949722602 387405829 187414344 193666307 774663494 519995269 927102505 976587920 607577747 68770979 537818977 493259783 545862756 47436801 524929594 789904417 924781101 66267749 427666248 368769776 335000911 870150573 869232931 327392960 122072505 468372240 16484795 391116040 394098620 754523874 366568806 766257848 687115531 114445414 990487460 270198963 343416935 157019180 915836058 658650744 114978563 191783240 305999434 106103776 203797953 302286740 184993372 537135658 995162213 673610468 373543253 598754576 466291689 276922046 566245501 260085296 829226812 147399595 518514123 617340183 753705113 673545149 808434096 17617263 246240239 937101241 5834655 647208554 145973621 74015139 148627377 570332189 607680554 88669095 46009701 317580997 151549202 584113007 74860578 895700889 648607263 840881722 208680596 406704511 895422062 126887449 234706450 505696659 389209842 112786847 930505254 448026297 38552538 960339905 743411239 443025578 762822115 960676915 551389059 639717774 684399892 240292705 385255533 550602470 561502692 699548410 448837098 114880882 676121432 943551226 931020359 717580448 546408479 96493127 143901029 573107602 152970207 342795259 881012537 218082022 810511850 959947772 230783453 211607911 266351753 326251286 894038687 325012447 569169172 858091690 401954479 311102230 447472419 556459990 924952428 798772782 954967364 499376211 659672160 679400817 561408165 457176994 48452077 130071516 276966176 183439428 846508983 591308975 437189035 597234852 971642553 947359248 886611585 689106532 3605067 4191178 258209442 822077153 11062054 939674974 509520980 683938987 482775969 117768457 323805278 695628313 160330054 183712323 601563558 523717622 238832825 159547276 746616469 791767555 167444596 202586643 522836984 390817427 553610299 745132359 398600581 737643572 876255075 73685331 341694558 644172794 926433092 312729766 567285808 16939683 920224716 684295493 912379436 315857019 548533799 776067949 793413031 679393421 642355653 779035781 166880861 84347041 979103277 234087841 954533995 890800156 735775291 607743465 235263617 10637326 638475780 205533464 945079160 529663191 422644837 780004629 638218220 860102647 870182715 28012986 816504470 82374146 378678697 641024349 648924337 193978079 643432116 337365252 157877379 606966816 212177192 944427504 335235474 360658201 212958347 296875277 649614820 779473594 992831390 550241045 585936130 720888252 332792437 982837657 820735417 445098585 251204258 23899050 510420369 929584303 157181139 470444570 848799549 218491497 498338677 613714398 467363392 28590566 58880872 93436121 804608296 968616556 669800532 933490939 22262949 119526537 686235390 105014530 131798852 277499942 358602892 975034601 921283055 751422448 295898376 760976901 55475008 369922845 24695829 674498876 364763705 957515575 258248777 662956002 277695502 596117955 873265756 278692620 447526318 145038835 496763822 858505869 551244387 544066478 980880515 358336886 474768521 305154297 604576920 385038566 717956626 586339303 631272413 199557332 707306138 679900300 22067326 869826444 454027157 972755054 815502483 274344411 321587945 638061806 448203916 393228308 623163359 693163740 148103407 248747560 154925876 880181763 801334939 92626116 207075399 806125209 435711837 814941425 846062989 161604033 183630485 111277427 388970195 595952166 339711604 490496255 169271427 271203611 977384690 788090768 817932142 480625387 952286640 66556830 740032183 10212776 975020926 811500396 644173818 533576277 455292174 732375303 808233968 247341057 118945238 996750307 464038844 51016655 442501867 890478554 777165482 619923395 652671082 952613614 630269459 787273901 778957110 288246387 607965754 548594290 139736312 215712643 763783891 775313967 677217886 72460069 537674545 175311161 735883187 128619536 188328425 802325488 798127518 149576929 820240218 350436026 318511888 319099456 840328904 251640423 700950403 207447728 878187131 687106958 243362816 849536249 796515140 735944833 386273922 276091160 354415806 644153559 443634395 385773736 409705227 801056878 930371400 287123409 672488784 449484168 497876801 304518632 413254448 431306708 128224069 169292624 450632622 854079746 671465703 420897849 699514480 589849795 21019114 103846651 954343924 39496961 970241857 702413758 627571117 985726042 555916751 940278990 874323593 741354502 799806558 525995029 304630202 828705387 31625362 396500853 100418073 473876654 463990025 923739201 307630074 394382565 986071411 74269692 686441475 634542300 936648085 430602626 906893739 270941206 946192560 795052008 484185774 558188561 297087106 174413864 552883296 385195942 432997296 62395027 122352635 616889817 254891830 442277401 220293199 33144089 366215386 730678960 932151699 71177448 932491926 283418723 546883541 657974464 532958289 619586738 491719205 168170028 541866789 689334334 656935660 423547970 579497760 626487907 64813630 201745206 567274179 245785813 899180511 474135098 899757926 784793142 509501172 243693627 313692119 666554775 841610460 250429278 541201614 712792799 184341044 378880496 330464681 588084079 259962484 118372654 57915072 793265512 545515047 1231832 666100815 568049360 586843677 424044199 990046527 608726847 405335732 726009326 220038665 90942366 528078763 428565427 189804191 840559654 725635987 220992631 909270488 640695233 554386837 844330474 292443730 232124913 458584208 210269361 850886748 674435066 579860048 882311541 904462589 83551567 258508361 423292050 892497701 84162580 152126704 566746646 768924639 99603690 501463298 693465237 56562643 929216281 911209980 506884001 14957146 681551053 65410412 779146325 441339940 939635717 149663662 188726252 902503924 904210771 575440257 44539880 119650280 265072350 913853933 927795862 932940969 852066466 315521402 624627440 158969869 82879831 170785113 798444870 931130674 294426441 327788103 26738160 387861316 608526884 78687285 780545273 198257182 528471493 713654895 299791735 936975435 89520265 41892327 961591226 630903525 612732932 263681512 887456157 862598835 553725548 433420454 127646437 361873485 395722943 69351295 840716766 791436707 449342697 170277700 885171499 287011103 5104860 188240673 166933459 728985414 445569681 309552700 535224764 679999865 274471111 701672861 303782836 759825889 538253146 860525746 997721135 131182825 399451080 512972284 897685456 200176810 78329499 263671163 905507441 829541582 301710546 496084575 325946275 540149839 200967953 895362045 717118493 276711808 22482349 346852194 919551676 499290615 172834436 156772890 513889741 601762378 896373014 891602712 21830232 266103011 911227709 75030936 264671033 386380747 550246949 786399145 301300992 359088096 565292147 564365624 250502906 731446679 590027207 798296746 371057045 468400210 155922537 995517310 271195865 670990568 848009401 126724473 752643910 740950404 549172730 884539267 184562385 946734505 17978822 805055864 451443267 4895356 262357701 373901586 75294708 950470217 210291379 74969925 468081928 98393100 17370690 30189710 195915451 178759401 826289894 598627122 605448342 193966567 384367412 162689832 401280387 607507602 883432657 532254597 886033966 873493350 977644808 220044451 516684183 814501791 900584728 547836205 691417599 187980670 663759534 145836632 624809027 812425411 589105799 279405813 774396047 810448866 943186519 73797437 93860612 50189678 772042155 592507087 622744313 453734578 581695330 849470174 80246284 781134045 48360463 128166543 955654370 800009845 620540986 490946619 103749879 835188533 496211862 146934014 467460554 589442081 592589712 900335613 147455129 116859955 672564001 634888002 22686466 192117949 632659216 620858476 244630627 668212885 856638031 814291632 536877996 7363568 774253864 344643637 52388443 388835030 406873779 74301698 333115872 751930659 377381515 936393224 558292598 864275176 240792894 284297031 767087424 31132851 156352550 414792822 808036975 811294764 76924405 300008709 977673263 349102110 588806991 612345528 692184169 970739328 954510544 480773120 507100515 367719002 378957882 207815670 645109373 284338563 582255264 354241414 619609032 860702813 324743742 163422288 617697193 416466277 358462353 716680545 761490869 722915018 742551848 666122559 8655504 714837377 549632199 768290383 73829419 168647841 122777158 885808153 787195544 707928534 370612254 882493491 759575736 699612567 463230549 622567180 878431507 851183405 790366196 439154948 31629868 893953559 654265925 845270688 266621289 171487478 820140324 567201859 32403487 98270553 293402775 491233951 898939108 608430579 594858649 679745826 362563034 131802674 410405447 673480783 771089046 473130693 932068438 945136153 487922562 488899052 470562344 363917873 663796617 879536012 572624333 425355209 90823158 903908391 168645157 567814462 673028263 404216402 459044727 335022210 107614010 603974489 473438478 583019499 802903689 291030212 632416601 899187461 551352673 12708887 641144985 584251525 582545717 468024740 529665316 973758862 987660863 89799328 107717885 488325937 338002475 651476504 606172511 532375287 488602079 530110589 462815937 491972152 792986836 911022294 807973069 908932830 71846763 145108397 527501118 952609598 615541852 93800016 449090240 27898679 48175543 568464847 306796292 101682916 595793492 647471425 940291876 41648179 260097714 705070699 508517974 406408371 611280292 95404839 763231953 835035451 997541926 193455867 770368018 567407038 928237506 393465283 175625702 196461173 726579201 31193984 191190221 125490303 896099034 886061417 807653260 759647076 481107503 814675354 204969263 941597419 941668187 556665421 276523088 283741168 872418740 182838258 695460893 45825594 169222155 899596187 783222877 788867615 926642900 805221784 725596881 572735617 190027571 367551734 494523510 810486487 164564378 141060902 140385157 894438461 744922557 463173059 692613110 795001344 118992532 666548372 575035502 904138621 792050542 817213890 559045389 601201454 378795530 457158781 850606694 702028892 626123560 979936896 845667661 986375306 192735627 169327276 908064622 982561271 919802263 696049362 330465500 39131416 998923826 714232924 313264178 279149221 206785971 913357104 36077800 934498286 624383280 708298280 366465493 975750836 816637126 909239193 685156801 382070692 423581544 601200255 425343281 582492049 63344145 163143210 927642639 84342235 932781580 774556515 137284202 648884575 479343952 661099477 523389845 923076015 51486581 949943911 244804097 898689614 184566660 780000641 504371334 331486404 830481310 680358295 464618814 478279683 179548354 350825527 544627544 127342059 950004053 37958901 617223919 715462102 858194587 732164727 255384656 168772327 213882701 655230451 892595306 90013378 455612929 805757999 16992680 532941242 967669220 170667172 398207433 273859317 728140691 516709927 738688773 916329196 2650890 262462990 28344784 246834804 62800859 850303046 694535682 770817767 686868225 921724039 145475508 439376703 678468318 171292994 86191837 106597713 247943672 667476761 834584083 249953027 894568206 222983519 12055987 672659106 648748640 566277800 905753442 509862000 827495073 274871320 607358424 498578611 217176424 746706566 6048634 667142206 227243380 208728061 17313419 558408157 335320071 600913527 486453634 75317601 916261724 549184802 302987435 225046215 50653640 962443785 352377595 452919991 903705951 580690093 630532987 173471307 718605858 112934653 937770692 382441383 724206910 581945524 444375095 235861333 778940161 667859006 655237013 576706154 785047167 209652352 995193317 75786452 849568163 246469608 279336105 941208137 46667 239596839 822161300 573064018 141141313 420216331 123721509 354164582 798962308 356725088 287685126 451871094 830929777 716640415 829933823 977291830 400414691 275791794 863576409 214893404 242517274 305160983 244765018 214507427 192013513 676029875 597699816 921726021 582053704 791796712 691695112 85226981 49372494 749271335 974802070 60796761 293087057 564151231 274058607 797248701 696690701 729281533 150038416 608864602 512473955 199890578 319723501 390024793 126007987 617315285 605690745 800297748 859204646 814900851 238761274 24435803 250598124 770674849 79733536 87985538 988712730 279988798 729635201 248448858 693614348 638254856 304677112 88125333 269013737 100356043 537482860 130408166 822704074 88073037 759810241 190328198 967175150 701983310 911254016 605503984 57004776 911823982 655859149 556341880 262403813 290977339 400873217 789862637 461737952 319475908 903662002 918188376 8974193 924294863 180707231 456328544 225159596 112758963 348435969 771763966 955409251 599738950 868148878 166978523 754798285 849316061 510373070 542934573 524855286 180398031 120470569 822137076 442233102 709101704 86993957 917964167 188223804 924854538 105179546 298797636 686049853 465799273 988408092 600687044 112104024 710100514 495655135 121755540 353801660 666354905 753987231 620493954 834437117 706882229 390197501 453527688 283560943 571143247 227619455 865050691 45465448 966326711 193022709 2167597 235595294 310067104 470897603 873350413 398057683 407111860 725809475 150462095 594200340 398718341 280608123 194023104 481244573 931338562 66939428 129294982 354880946 256460448 518680189 120735681 364083459 666825188 824117236 390434663 72655268 568108396 131174678 614284581 414479298 733594178 968039716 213039597 142206122 409137930 616720438 310460885 969694817 734928029 488374085 829605136 253142866 720836890 136698931 746422338 431355613 305770248 268640266 144161614 814776560 113586768 602377264 511748658 856093435 922084492 642695610 753626704 618295796 698847580 587403366 444420388 836518757 690772303 161956012 72674559 28744564 93659237 486766581 401967408 658121839 320928534 804106009 311565931 848832116 219333516 235959295 866836490 589537080 805808656 359638535 976298875 491070226 328709969 630626375 289047866 764984855 359577303 382821497 322195256 525434774 811106397 976290795 957826780 186560411 363222180 742526342 822543474 729092117 784666138 535010933 192236281 446972493 155569628 780845759 15458350 857410906 559260340 605140522 938443767 191260912 999192528 687976070 235211510 836998750 404048381 382848077 808219318 491510870 198016779 64656714 876814953 223284254 947129205 171002327 873923606 905077456 564728803 427405380 146086005 284395793 229812793 480465932 410673503 352068870 527589392 784356363 375919763 754076811 420400316 391790603 253308906 507029851 803788995 51444031 920427703 443222983 259903021 628345778 993479325 497404444 348497153 757562328 856439194 593675295 840881046 287466468 871982391 519299136 773205412 837077706 523088453 445304936 556456513 676498826 783502857 375927196 308316037 744828287 524794039 866566310 45364045 906135837 47389513 320804687 559991390 241272341 429623604 59608236 851990994 862872516 971918717 311096103 849251703 982190998 233748317 295024871 180041157 582265996 468596628 822196457 732831021 430555227 613140125 82262687 708230960 271385489 621714815 339346978 317829656 640658340 54313454 663622712 269187797 116322250 604010097 968719008 522486445 134842465 487779118 370434730 495954610 629660200 266030860 479669488 367623786 990748490 618268956 610245928 358923380 919437938 508550712 654685443 644979929 124234488 338292667 147021535 414755786 93634291 22280064 570876048 96234687 66133777 706618380 602909864 691515675 952945907 48311867 830785608 593255057 380777220 912246073 154018171 708363669 675247463 737311332 901861935 940195599 447896301 702536316 90265404 243149027 18222346 65918457 999442792 910863118 83875840 404246259 778867525 661179857 9649118 93182995 260126388 785126280 265489140 23962831 92051992 39285110 857139346 802530990 795592887 664352909 519884675 277302929 985111509 144636918 472045015 317301722 672999156 855943688 985720791 837161562 608560849 595131187 332982612 154681364 519785379 791597582 841463414 87620012 696907365 557377152 13070715 940186994 155773316 373119836 545925799 430229868 730509391 16789984 399527859 203461960 327794467 963155456 484100571 192682753 996488118 837465049 905160144 849245175 624776051 666888259 54863487 389564146 824386577 431244353 173199585 468761342 368515604 65269597 456705859 224584434 618618532 911643910 759523708 96037084 611344404 222139704 771267397 618874522 373216656 903595108 404330744 210781531 653124351 549839779 644814721 513006622 722116182 297105385 411709416 734901704 604266945 71131583 359076580 242132776 741153198 470252826 371036260 360198051 658482049 466708962 314290546 522585798 943779175 449055061 363628821 796263414 802662610 444170187 693567546 408517630 67143630 555345488 844241021 186173593 19912484 477345258 272054304 497493186 122537158 252383557 534731809 526949 114005500 127393850 729309443 528951399 753593092 184983322 995351485 323644328 47273709 285538600 83004033 983407848 97234427 761697182 961991444 923670664 983331714 636797464 723300280 468386551 887121968 942129619 800752989 623537040 237234582 846703770 178906263 373065290 31968449 177485848 328205728 777604666 990156093 38101348 440657142 561364120 732744104 950755728 265012313 164886582 758889060 576344460 472151031 456200862 228694511 828342307 690193442 583494236 555185074 215564835 235490845 681985073 142495029 348547497 390606263 457495082 171781795 976980196 754084632 110711291 649187472 877310439 857909034 999598511 970459055 249253894 509676339 166032744 617530366 654255359 280967689 53372514 194919246 419408799 228298402 683512015 682451454 353469780 168493344 120407383 374462963 516339010 323157823 499948283 140006024 753428888 58470661 709013619 94784135 883601259 181664422 721773114 513117675 89467998 827686520 181549910 889450083 616819569 958633748 854055500 794555930 144841591 257146355 669827227 676424080 73917298 496706634 45344115 37397344 728718172 669774375 349333514 156107000 446699064 141885766 485301919 945237232 409643665 594925026 108607022 10568474 178923319 686835452 496962414 785205634 497616862 133442980 408530917 468498362 164255382 85211432 354469983 54750614 928878471 740334833 558230085 729371654 143976553 849447924 576627687 322818396 465262183 638858081 130512426 929845043 150210547 969821559 60003713 489942167 330729399 108268488 195185286 21684751 341065698 953218702 539616031 271103431 99352579 402214087 951201513 636933950 841004210 729797500 768950585 51894829 196097456 430859140 301552157 930569053 62414420 856060010 767021772 470770886 936600504 128293463 956474967 270073634 956822761 99698963 836906278 649424106 200743268 144129822 536593003 884234869 803597395 612465493 489056246 639582726 203886973 21565178 136111959 364850180 319693370 115215642 414933011 889767925 600437597 439971099 490688446 741310252 388072525 515859689 102278977 761477139 309277392 18516431 773738840 707227956 219687377 122444654 183050716 176858768 611693528 946496070 549756200 167979064 33055196 971058506 129238970 252748098 573568097 266070775 907323270 330197958 232806752 876083032 404536527 456219807 597080065 538910542 388624394 798269515 369255980 122044878 278677796 479315536 196628652 730923034 12772624 455006237 123996074 470718548 426754288 47557984 236247795 944780497 671340428 118911012 855078157 460654383 999573165 744072566 39811030 70334816 618026580 922646684 359263735 901163014 164756370 298224473 743442379 447902310 444278218 373915729 384624108 380181416 552650984 327280623 252216633 533043786 871141517 28428893 633223600 553756835 331301724 206080178 122474199 793612936 374351529 368278427 764465957 796680116 109253680 760719100 563920656 288148702 373833719 561759983 771622770 409422980 523125717 999727890 13361844 93522506 358593433 494022540 978476862 79767645 296553327 307443812 398112645 940437390 130520316 47220160 684789462 529808277 348346719 48178297 306349131 197877708 98748063 758242489 735702725 932160197 755040189 919123273 588373276 446973440 711799799 748155252 541556454 763659722 958724369 99841425 702420497 240742372 585158996 731316849 768306060 186393347 180474344 133962936 946168248 598969379 399529671 781508630 193058955 722624144 457588312 247511324 178365988 169611714 361614332 119133337 762462214 163808274 915877996 101159649 144849448 890099872 88274584 248862453 391391513 419356357 778521293 808555925 664495182 46770143 101671906 656642025 367084248 317544888 714668296 977315568 314950904 557516667 948069957 7659885 783961322 486075099 747172692 223393888 202220121 514108612 934448730 664704604 729002808 99141795 704150885 828052904 472458108 778042272 233806146 331462952 861992031 909203849 864876032 238854965 493368935 724920432 822493719 899122701 308845517 173652265 944602568 639602719 489341304 90434424 869053999 298866996 256444189 346113157 383401078 158362407 453200857 450910195 679300393 486305439 364596095 491562036 694157403 92529601 625619917 895823784 87556909 999644488 8439117 316189602 263725559 710832456 411442405 658025781 109076266 231135559 16165555 434319028 754311569 408378394 770813998 477453687 697503768 282997630 925711353 334186080 359339015 188741835 54321493 899276322 102327873 190429605 186575935 262897014 468458971 456845739 458987206 935684828 398192866 407581662 539981386 983785197 655975785 817625425 634279713 129823154 146133890 724644441 643567252 504778698 77517595 145825016 17365829 868668810 767220183 539200576 47294867 440794587 644934944 170597064 816326384 587686011 25154785 677658356 84416733 949730939 351975500 859056159 376813270 674707291 950480004 573981670 15693872 843492742 715370514 144092846 502305430 956889482 734892789 706025446 631889380 146455489 518318377 194997357 423050530 960737222 305370826 955909788 908562290 534324776 523988748 656927775 51416582 585112302 115265295 456004652 264192400 534692331 832832234 156789500 699496144 639227244 561746826 55254947 723519181 902665340 38676915 950664642 117696824 151881632 823950371 447549284 615470863 973660688 503508260 272328930 631681742 754550517 85217332 932266773 544274820 94804564 920410946 185429346 251455493 404360151 640381529 906179736 172413328 642085990 534916838 292462726 195837897 608438205 300609463 831802993 723036244 973649996 212450150 790992291 375484461 959983435 60498284 466219221 76220915 35019729 432141639 70386898 491240858 36657116 38171634 503288098 149950213 71858295 893406094 9095659 440515980 141608032 610233730 556244135 252520528 402441077 804144159 789952625 674169030 977323733 978654568 195100518 426493380 392950115 659917575 891448351 523653915 387567167 756381896 82721634 103036490 733042326 400160567 140075247 447766486 698777432 238121250 161891306 361221925 82960864 277232966 865588354 577519726 130217258 922620344 327852828 699543097 687562061 973379865 246557337 482447105 490073015 317913812 602919320 846472003 271141706 356855986 122059086 90060787 762008292 271809939 888636389 805811650 874768298 256065529 231948707 347210993 394147697 711242113 982849749 467814599 460190991 578566444 508896599 935989906 302843385 757571450 378388374 394189645 182205417 723471246 268471047 992131454 371610768 792832603 110690589 905765307 740510831 862924261 270994063 531761345 176186688 767214439 894801321 455587492 327596555 723166862 278997657 316871508 827149093 936837229 866667331 358464820 295337452 247920961 189738927 504322423 659357050 745712636 166570336 583857002 698876370 196133109 986943336 730125277 998647547 640258358 245329291 176851623 402124384 443950510 661046083 397741942 991372914 1611353 240148754 576835423 182873744 581487762 710157791 36212726 623768081 935479924 456852254 238803056 581092049 526063287 137507687 10730760 591862806 594262366 556579089 282273489 100336164 20043979 137649975 167969182 849358190 964013313 502194689 954180853 848109243 591681209 62061348 284866691 792572204 897813572 714681660 792703384 67139409 986980793 649950627 754813245 796047176 919958448 912132247 73958008 894389185 501237326 121387314 273611946 694149700 678503092 824432898 5858788 525448709 584436868 176667421 471224346 67678197 791055392 980472592 425189896 639125752 505695029 655281880 203312455 130029859 877104014 589742882 42755108 767343730 62630643 700350156 344495331 24710744 202145076 806378114 217641801 82195457 770619359 155565222 748774448 987825101 319806363 282858832 553320919 125063036 43901169 105611122 566411647 152843336 129937775 593945605 712575583 713545077 43925076 730537328 244416231 737188550 461434697 664419264 571536472 318862910 643417689 123620610 262003517 778843390 64812532 421979268 643903985 903524299 536269462 562310402 338013900 858087663 569727547 134052082 967067796 211821713 957854114 904832514 462161929 71580344 151211607 565837870 967376188 974510248 278113130 30628468 804248902 728154522 26808595 611454879 846265782 121077399 755771012 257474823 261938203 959729315 81227743 514321944 187120052 733663946 146106498 807988780 216225817 305751556 664675507 556097377 205001235 928144611 747900290 52225431 461787573 102303245 154172614 160689317 769054587 62921651 529251086 187449644 999632764 288538934 183509850 36329945 610360739 740400888 163738203 611825110 52032173 863092767 156031849 394641856 187703494 155270373 805873949 516654374 93304596 641812429 170121496 743169579 185181784 385470155 546358214 363936451 686408665 126459111 38845925 310121972 20629184 679933232 123789847 253279792 139671519 427433049 982861167 137225069 724660895 852687216 678511305 720428430 240552327 744025807 204553255 886986174 576696848 41318251 5176604 24035705 726256545 161254825 244971743 546496903 122868090 539965251 736379227 371229168 923597098 686471540 462186597 518031509 405136287 651065471 600521887 320176343 819939704 987857733 401735087 672422132 652085883 188234460 626248889 672507137 624816632 240426231 145648700 146030846 826448973 225788887 339076026 740730637 887313948 197270568 172592790 282942161 437855897 711945323 29038433 227513313 365645464 884512939 934609990 324868147 757148603 395125066 65671011 148332639 211999081 864909063 524699880 196991195 250887580 935867016 99010018 700670488 138621059 882789725 186975831 587095361 151156115 807182830 959098190 198571813 980947395 451754116 405422681 475530829 911640740 472641462 211249423 92370625 628884577 245788249 90208581 199160919 521878578 744600336 156820993 125471694 801977199 967093614 792343834 575623292 739888437 826580459 160302174 778438429 512914564 926480221 696854544 919135296 123960279 25936798 448579873 276282184 855625958 448410988 866242633 255562304 826535011 815588065 52405790 738109877 381176644 712707312 682906251 324207023 873126789 908290910 931645834 357783543 715057768 899073482 348441560 749612714 867438196 813246342 276259352 906820803 986479446 600086335 457066170 702913738 802366380 776502168 270017171 381885095 688248575 730558104 865091307 969636423 308687271 916759316 586289623 931823177 826973591 899749890 272510319 765069586 452161295 547906968 696485447 916200321 206495816 623296085 638981221 23256839 162498018 214336341 355816716 38629530 875981158 937618263 645112801 882655681 858181631 372742128 512659570 68400292 792861026 437540216 870217950 86042300 95194151 975662432 186705140 595146292 551776525 306148682 147459214 983198374 516996361 805070699 543241749 384797944 215288003 885667761 442323516 14152819 774838421 782522899 228634531 848887732 697815605 132023306 618780789 761510749 518011316 591985194 763492388 842539901 382383902 810770152 429091010 710769651 930762337 887781114 983990954 707409667 825127263 396714989 237856898 927302828 998737806 316625991 418467965 817352601 537893190 674755728 430461838 769011030 981755738 441723408 487321934 812590599 50797721 606140748 108571973 523239125 628918069 44558182 364510246 841722108 868261914 117882786 610123699 529482349 785843061 866125372 681823502 128613978 484691104 210740194 289842713 112143779 2355860 240718634 894535230 127256323 187292494 322370487 564066083 376696778 815786450 77385182 489663240 24370891 655107218 42202696 190932854 3822359 226353251 229771974 399538464 558522033 698915734 624738650 247341258 779228028 243701963 928445510 799265549 842189199 384203047 570308596 316279804 882709037 628416065 876869565 773988480 652721450 662046599 13236879 9822657 608691272 912155425 334037351 393798269 897432305 933781213 700947646 429140030 113779436 566805716 50662916 541352308 740185847 200014982 792032077 62611222 24643433 520772976 921561855 271154263 809154552 810601592 219369391 177447884 324615821 682121194 374056697 754843731 585706182 19809486 65430983 161683073 263055004 629624179 226976155 636285711 85376141 80985151 470134815 239946480 200511293 966526905 147882464 46708295 969189065 583815181 266457133 727071859 809655588 353728915 367274049 493205060 222993337 552448435 567300251 547685536 361033525 13349635 23005870 546539350 741732523 455429747 303696431 994418354 628415903 151107584 991291513 495526316 34896979 738385802 293436658 946893956 671688943 817249573 820929033 950747014 524298478 732320756 937763537 571393784 748458098 771289182 674793122 792036737 152992625 374505757 474231474 616865675 854232178 240072595 437390266 38884552 237637411 292696599 3348246 413545801 767253373 65439437 593059292 340170047 805659783 460978415 873919231 701201992 186413469 10599545 997955274 994143752 860938910 794720206 317874300 192937582 241892182 409586060 209620915 879719223 624991024 104663822 480193516 61462736 638661600 857300762 477627192 733788647 634404531 304807435 782201017 83326945 753530238 518647550 232657230 505062567 8908182 927083961 300084399 88444636 37079102 829500657 490385462 540972623 171197460 384721262 801642439 129664715 43953254 945049704 863863928 380599167 720307241 646534578 997708860 714640549 805508823 639555061 205283157 404487220 261844503 398411168 12786109 701102684 533985027 299189563 906062319 329831147 814259177 29726896 939874478 377787606 828407580 762194303 794341794 204366364 27632496 87190046 57283563 467894985 578835234 901370130 103133150 784703116 962550633 671107223 707987385 630341129 500476658 505846206 148113689 823719984 401484033 87972033 192261505 631026826 424399459 725244627 757987373 818015973 851988885 402745496 776095881 967243907 153313577 127942142 372648257 684943211 566319721 666788905 429108862 912763223 533505217 764319508 612863386 696439306 901439884 543656784 867195094 269615223 675523303 185499358 117419350 921887261 297952169 276564797 344486773 82064518 624771104 670436628 133262732 496470899 536465192 47077037 247404369 29083611 197632395 669924389 86457336 359176021 756818860 146302074 301907056 195380354 70417778 731977932 763321802 165609593 325988707 842698783 586158313 481599663 107542836 840290626 850325867 736093450 171569720 897816544 51073995 767630117 283974851 810464551 622349421 622965284 283345124 662952184 103832089 154583694 851335533 849028424 897836419 338485276 592624924 123636174 84977285 165377475 381199399 557293929 710420125 421742002 249107040 295981456 64878488 404825575 305624026 447579981 711701419 409102378 370094498 850610793 192564868 43835732 412832959 988827256 497024628 75331310 587107414 780091574 697158144 265924857 789400038 300191860 489299058 704443481 49943308 135447979 841151655 575567834 28511430 666350602 251816723 497401212 125561415 154367063 391876977 778566526 431826522 962550411 516958652 632424495 962517466 71169490 551669199 197844996 911807991 779415848 651570532 421397865 312842867 360612179 992068348 970015763 733729298 585200222 384816190 223611009 426228664 922681722 858149018 987622191 890026144 999178524 766229532 737633661 201235446 181417319 545982848 978502449 358358894 538519227 806088742 762440077 96096551 881503678 575429054 705798170 331061583 899269427 983704815 52318785 539607204 856633457 643673022 324228019 987982863 982548571 901765441 422253637 383791607 587430043 540950523 175734039 377276554 876203733 73479939 40006972 648887383 146991716 581024441 60118317 440099833 122845278 674008262 579095095 984310619 447269261 707981087 145515653 883465071 558667385 95729759 729978996 543111595 589771033 802700400 490839252 650039600 810550341 570369699 31405444 625212276 447783630 756973529 293776121 402139263 486896853 78566508 704170870 171558895 539793254 647670563 740138860 4080701 40764298 884352615 941179111 85547502 961528813 892989361 574308267 836373346 168776579 949995777 4973180 207354512 386132266 568695341 81880431 387696918 271010908 2107181 896831906 651591671 899241646 729931429 443500093 606495966 500140260 19367395 15801319 30588690 686603591 162204953 885316189 172815390 490457077 800626301 703606858 611998300 853318368 107882979 660208054 593867068 953163422 208985776 199134712 911689057 401778433 721975563 250371941 898381448 748825554 991583446 512664531 234758244 134795422 86462047 639873918 628595663 787760325 499770162 725360242 599034552 115532036 196341293 53959382 312652392 654853452 440292786 363912094 390352560 665935994 755314773 550750855 661508170 980552546 362844034 759976510 72868643 579041719 920373984 911131119 955057139 866068584 201537238 568348397 257309628 25550154 493427625 457556533 640307290 661366681 915082942 795174902 474935698 180719888 802548161 265250505 837651366 669294017 63724581 934858476 67194815 232917425 603647876 547864629 517366556 787052320 402317606 713297360 479973741 244965663 654780588 435551923 559959403 541226451 574238282 199549239 288660493 528353496 365097688 708953995 291458815 319556236 106674174 89511955 160971186 769709261 376700340 556390595 850229426 738200827 109292639 350514305 342621017 33326431 737645515 265844541 845062292 767717005 569240920 582420860 623818356 677749345 303443805 438560971 321173180 759126105 681825397 331691842 70225774 285162546 660490510 34835284 53595892 353957399 620116444 612877736 302769432 981566504 504917528 639087123 127817086 512231926 656523894 927430165 685142250 824579591 263245561 120815106 640152344 114343332 289389665 947602452 761472502 346838902 346395736 512261768 483202391 432736258 405017027 130226323 438511824 548959875 80517836 985946408 813272540 681857409 566688763 300454121 183093568 978525599 415139508 471571594 558803057 395657888 597429946 486524713 493190044 50252457 701839404 787944673 206404625 340420250 464687144 744029718 741347901 496775061 935472304 359305913 899995558 802747199 762019819 267561867 480385494 737118015 637686109 399651283 738077166 21415910 876270762 52393979 633440745 535831887 948353994 759605052 30527693 385132203 314383990 106260283 807625491 991628400 34435452 219805861 505056802 567963970 160376379 372755788 62363042 895659280 918208726 107183479 238147852 693237313 480402108 934999463 885841378 133886778 690969116 543188199 563024746 65734590 725911659 612217568 282197915 575230051 944339981 604575026 176822356 576130598 253567677 977156998 747406356 809511591 19349833 323108246 377915960 266842426 472625907 491767585 717275798 820593509 879970770 267926379 37414693 371124990 330764082 23475369 611819294 456109108 425520914 586363207 610262496 352382030 411057161 954365587 770184648 428434168 986239324 514411575 881689743 831719410 957749143 100068613 696628834 963122341 354294747 666824188 409350205 624346393 277922478 479813148 768159923 770273605 323069714 829803066 753671281 395752353 638536980 372041357 426166566 239334002 802221056 519590942 17372005 490836746 711310417 711768489 781197418 243801775 255974023 930189252 112004348 43641531 21906274 322875196 598341665 276213589 437941958 397657856 335858643 351688167 603899050 520733871 183303153 180698319 465199206 573011252 808222809 884451839 296356336 33027191 617818894 351425562 624331566 567760307 160684248 535187715 74369303 874221874 10586067 995656309 171229628 447577216 536834375 648804159 143967811 775254428 682618103 872242924 540386493 778977839 938520063 708914897 284978270 501757732 154445388 244571949 260271917 472540318 309533867 51197451 205833322 53270477 852307741 213553864 853333553 846395077 221869737 86736229 286123542 611441907 371351110 296539995 304085046 272774424 373342771 788111498 257734851 469649500 420847948 594350906 530927967 72933284 972355890 747891522 103166625 640593739 63336827 772120427 731708552 944804666 346606983 914137706 895233837 37050002 580933445 171164103 970587665 142821843 393298806 992070807 327833126 249475196 242817256 597564790 706351683 233580738 841174691 419705359 110366303 357602529 856471849 343795686 995189974 574512778 960059894 923225872 565019176 175243732 672739217 228869109 932521676 311528334 652981646 394131179 189210926 836243708 327877386 886617087 970418948 35786613 743880600 572110646 981592999 691982624 28626779 223162998 359420471 620481180 105499381 427267284 259595990 326513654 653466620 316688273 908285713 380999024 902057458 870478763 763958474 484886715 636969108 255577544 895295664 241442489 108700266 654940777 220410372 885027314 831576367 411229999 535956930 300852857 151102189 820617953 451629390 92969392 394313348 876667600 138203261 778091993 992954485 808876268 520604444 650549682 846960302 26199165 95142914 797574127 627316773 977991831 187497775 408339869 127503419 707925975 379292948 671766821 587937567 155370824 927448736 519956033 674660096 423950680 385976027 919208936 422841064 416474323 70968080 618685122 781440013 851885843 331587631 168829094 344678528 875747580 323871479 917739188 112626745 915785951 189286428 239026589 119121462 682434818 245072935 762476855 698612263 309810666 323348999 406160131 381483723 955673736 977000017 677212549 210088033 759372804 797531976 35941306 143316744 669829157 815881235 754929643 739385997 930534963 502050086 578586610 963679688 16967076 234746989 225767055 625950456 576306592 318133722 873538590 880098933 10509739 67745177 339357277 93305634 77577869 105078671 871780743 517035836 456399161 221220035 571854090 688517660 876351518 79217248 932381758 576167709 619933125 395958705 791692761 188777 356569135 306218053 528644089 405400309 922869551 285690871 727340999 950201450 476428268 986259107 254991743 293086845 364495957 390743808 119303044 467723324 988097606 667523368 368594204 637334065 913304025 515002253 806045771 570157420 596536006 362668799 97578290 651552986 11296096 374065041 750415936 452298527 640796027 108299507 447806040 863560703 979520538 811436738 819138799 747916198 143920510 919545964 411631163 939302726 730126423 102507737 530161291 745686930 102340592 211221004 342928738 207610300 302322860 719786120 30884380 416890807 86571862 619285665 873958764 286573287 942553063 248135681 6595185 338845 387247756 358349807 116634810 876597681 894206440 375983904 829487004 320563499 505810361 999513934 114208129 430446856 153158392 600035308 979516335 321962936 135862458 685096008 17968282 118018531 403851858 105601389 477793156 214167197 876283761 115840865 326803605 331218350 34021927 867152005 964134245 50566752 47874394 430849763 37058555 300314043 179680242 593071366 943394420 355549932 171868151 320425872 634377294 911932408 430337777 984979253 150180574 194867498 904987585 947206242 151084890 177424866 838892422 909688276 638413701 789215961 159241313 546975136 191516586 197440158 183300756 356461386 653883166 156116487 539409902 487381196 291036625 576877361 739572004 929802600 326371713 332197717 261777808 740081527 67990731 317313289 378085413 595717815 454188685 246363641 239080017 394675366 535803063 605296130 684495780 850665500 517821518 936900058 896241897 914885454 460452322 539607869 578313462 123080956 117238311 278251733 745972621 893565411 130189845 812306388 426932927 122921417 375476970 693417549 549697453 906844521 557654883 754215604 242593405 894701522 42735963 976840062 660323640 623956734 852115375 130381746 591959666 277444785 829392117 581600912 435168750 430928773 777137707 890836496 230511063 110277173 317523816 635040176 386836675 730646296 544737235 814709057 160002312 460338468 828387263 345090787 816062343 926751080 287394308 382155985 632525831 958101054 923645274 959995345 383800766 721889398 561817636 926388319 63689260 75107075 166979451 646880540 753242300 434504240 948944404 712374612 923289197 879298576 329245151 652055946 452826425 186970737 346771922 122366087 864969443 103256194 98971605 890057410 720215550 32954282 163402898 427767358 127822378 676458685 109761026 396620450 238559834 820893950 562910900 644910679 786375466 927349648 610478512 966506593 656631909 612362283 888938871 950607723 228789205 967430570 425528659 3978473 950801798 240027796 541823229 953030527 446462755 344511553 757942158 400273632 155499285 964506143 778346772 137993153 693522532 377968376 340520928 980499345 201465089 207353008 746060264 153860181 354267390 25770340 789474571 573341297 480392244 354629813 209629049 388878348 554888065 9764361 81905628 257840034 28025711 311561865 333599595 448306502 587638091 637081893 613728805 933317496 15248816 41367945 512930685 689295690 246328442 95521584 563427345 112784307 717387846 8227809 894674309 553600013 268902353 994219024 434591417 374197729 747670736 617052152 635086055 388233386 849967494 605233483 727048431 229932757 743151908 35548213 531903764 422615674 929690384 750393166 861829217 734973398 164466706 759266315 183741298 815024837 220503031 684669036 896625882 62508655 886025931 944344388 539478228 682905852 722120139 800866701 416870130 583615375 247723930 360773630 363807404 930797350 729339777 632233 142000505 915630952 406773123 251903648 838426816 473793396 766522985 701987564 985530015 372634515 580354108 156310619 619250546 525410509 753059564 234329694 601419 875633328 454851676 374706736 125774341 287925347 726666083 527279579 452168644 339647361 918505689 2990846 466122645 706056938 508748921 541828588 379952881 668633876 472959555 246202826 918339265 196895503 941282074 594401380 492097188 759315398 901324729 966571807 715060082 579914810 862060607 425401224 902843928 953911769 842741443 879368830 699212529 858331704 736734591 638848686 130418726 567641985 521879429 354657428 162935367 662348773 200975635 898179989 647071292 869719640 788886175 448329867 748239314 386373942 367025958 758857578 33501227 738955635 694436611 45682020 567274165 766719029 262655245 920125347 461657888 560299231 279494863 430024887 470490080 443790182 89350007 116496686 97691839 431244872 629468782 165512240 32393978 584659634 985241659 108399277 688296858 874749244 659307898 713247202 292245757 830068514 618538197 88863633 625283049 393118343 477209246 605799638 566794421 965651293 332233809 17728756 352451448 17922671 22356377 309082591 920071618 440670395 6560038 748912941 335798771 820369059 648275493 863411088 572609850 211722310 31638271 301436942 186955383 284400298 895509927 947471456 659065325 230961162 684186334 659119025 113121642 511779383 488407672 727289990 33931324 269518172 153371694 12936030 808229742 551061836 391655177 805462837 135656520 918927134 518771117 909587770 88022756 560238198 1198947 885990348 777909258 816392731 629753944 978089507 477249565 163484899 246072058 592426550 894625527 283313429 725078354 450315974 803776233 979430246 604559034 100706240 826078805 203596903 975016490 370714588 529025005 521976584 239053076 662760517 278253883 363152180 659741473 260536173 539522772 280002233 501346655 110906000 401502605 891216382 9422316 163986466 233528449 437698184 739531626 267090307 257705072 939293150 487586962 522026567 204340917 684193719 414705868 917111075 470588761 825147779 983270417 409484326 46046060 661649112 594312545 840464649 674618428 941808107 534887395 663585900 267180500 661267063 349395992 328344559 718315679 901511289 26223158 599873140 479873222 320427001 674400530 69998655 557392288 166705854 201024320 304148015 571823866 27728663 562435519 573211064 162872347 737543618 25430334 139625872 537476056 937161351 377767231 939632348 676895040 400671601 814920748 573300328 468329578 547622535 765392159 210243441 715314048 369224016 705696022 932246857 91061163 570745343 69071477 792018184 75547562 497995426 365111027 947757034 436617956 617038567 820970046 854011956 620100662 185918587 850489683 835257969 68318033 838892873 295185098 985026652 334568794 778195614 95582667 910307870 375892714 779122120 31688031 313457395 26353152 815955218 860972010 786172971 237061125 501514002 895850115 110514211 475288590 317680588 785199215 466933547 121181232 31800722 235944140 859314913 223874663 447104055 676816866 790751392 486945339 125018066 889289354 195707924 833329344 770780642 343222228 942307014 702698572 89475592 805188759 416066770 907759261 20178035 191613423 973712570 376394857 59066540 60687932 669698122 951750684 937621504 731182162 890303921 60191232 922835494 607434748 888493739 643179507 975723018 590134813 815159042 705699605 59684985 89692172 441948825 464040607 252031157 626958754 956658832 55451058 493841820 551880855 842959095 810357583 59571699 279078965 707971242 684173301 385199950 243123092 848773910 906541357 278217247 312811397 168613965 648787698 684998300 656664233 334505534 26764092 349686005 638228816 149048445 829058884 356667181 311007060 601069969 321858051 669580745 981229971 975496151 203135541 43178508 653450294 989303800 800693465 115191684 892948308 562411263 921194833 709403437 405343116 199094832 666970801 528639154 373933331 125334265 263847168 396107556 162103578 470243929 298208968 992068436 195412120 449523141 848761590 820093344 557684868 766168804 367617179 759107033 95301031 500340381 258663400 271126121 761701735 863600418 415463774 482345887 261368185 294582001 674878909 411021217 959069781 9893056 814222136 54926627 628336764 156117546 916666554 245203688 767337323 937753307 230011171 396793876 795553305 855006694 594179654 613880597 731526150 564142142 178230181 730152891 766393839 906680186 788479168 436462667 572943276 227307658 542463628 132521988 821839051 613699256 512715273 300092270 322702584 887913596 42477497 796396751 91438596 651864552 742940486 817083163 967630239 596811317 42527273 91795819 413274764 229099796 827251392 410286325 502591805 938489450 434492041 308756508 132097962 604537669 699449558 489632237 859714225 680151910 554239239 477705627 837492729 431721122 646626622 979152312 182171417 906061490 173815510 418487775 890955341 293134857 841212847 952295511 817786234 57668664 678736233 719776132 602136012 497203241 876327077 800512336 296195324 260937254 775711480 206116321 733787124 183389347 227614917 330931732 474488017 548479957 282855419 698753876 444680185 999748233 962661836 606129901 742999500 697131580 338773363 135621655 818255528 116803609 804821982 898174766 903106266 265770169 734758622 643924159 355900783 686527480 156580737 985640361 195064802 409872710 83352792 275014822 201662413 840887697 724923935 310582646 417147651 801660336 39111367 296735121 896944099 213018647 139249951 692012950 43468327 729928937 660094037 108421455 440079457 733009483 193718133 639746835 268962819 400009994 75993890 951789660 869242396 451275814 835799700 435399251 658643018 671774779 285792254 441030301 334734904 20482362 516741841 546735721 533640930 626321171 526415215 217332669 117328276 360782326 817509051 157090593 302358724 302278814 924501151 530915373 45053439 255399347 615968717 479226334 451402355 398982740 157764537 892816441 628286556 62269826 915157731 583988828 447542929 292931700 476377667 399034539 397251782 112818031 651844908 658686185 780341713 619231497 180823280 869392242 60298166 921217300 665634221 907780084 780089390 444674068 908793570 444871896 405536641 195192287 249723685 73447256 783996750 493609040 221792065 284990450 868544250 806897025 8369975 83216102 251206456 992922518 954743591 980669472 598941150 191675244 356805770 409280678 737775712 172511723 747499898 80837032 281247582 403310719 251529304 943790473 122263044 702299752 708555088 843907463 368077146 399686326 318515053 696528460 876401897 303806729 394199578 84516076 378011288 843414183 844695408 790058877 236337122 681878687 843262152 956349483 509458086 239557782 614381707 470871397 390276443 923392731 902273280 722683485 726422716 212893389 73294302 203057594 636922331 125502220 77963711 964195081 652115910 285001238 233770496 563742171 46252705 134342005 835901113 929985963 890918492 114012577 736358410 389779273 879540610 791984270 94509415 117030447 405568920 427779817 980476173 715179146 745770408 439448681 695892022 579716246 765081324 204339110 777042993 444851510 389318204 481593717 262961110 984754469 81191067 902395059 879724872 756936095 278744064 668615435 689482291 396317662 474660684 266532927 147883991 663454455 762765682 474233897 710881342 283154678 638611968 214453068 679907412 769072050 555354979 805957317 968153073 963336188 974424833 189968975 331883428 87972304 643600929 513248641 817410181 896450565 63912161 760747567 199435325 235323734 47101797 646873132 603200617 719659328 986335325 14696290 356199501 800162229 134001304 665138938 704604714 448409177 889166329 826756658 439859259 923799997 265716090 522875300 952755125 427363328 178340880 234352332 362811363 768356649 642269106 533794634 350016431 321362363 805035138 607862879 845764364 788573481 42122526 729420069 773891549 425671582 844530207 211755885 626067256 680689695 391221307 571376369 385570203 236033236 404978186 935211234 676044854 27492842 878634957 223936574 550926742 716573212 225650906 221627834 542578557 711675558 85090242 201683699 287107137 212859135 248009604 919106212 228515602 996570047 557783138 995996579 508522481 315930613 279205455 238254040 916627939 337093214 449242138 213493164 427179220 967802117 932869897 183930622 668403659 358221464 461182705 681614363 717918948 751276788 630845465 523692818 829024011 112891396 54948293 909763713 497733802 541289558 546651701 719193184 825694721 599435487 313269914 803042794 251436985 692232883 445950209 529531140 221851989 991661977 686235948 410109837 41827310 171983817 731927349 443066570 912025391 538286076 296796745 216652630 658325418 942413998 357048195 737922199 814606535 949799544 103201827 769234034 297661792 270417872 128605452 760382323 39618534 708245195 196211379 634605018 984663325 468324433 315385924 948907481 443273136 303433145 899336405 349266077 463491056 309759806 541794139 425736862 513114952 808501786 313612021 366353520 847383609 629657976 454194776 391602341 952767208 849768513 572470432 8485503 784837651 746647295 482759148 899617660 146681984 791966877 508225672 267250558 235413073 17156505 871617284 838906712 544759773 587753026 108760111 936352575 204901032 29971400 671858634 896854339 785832175 285330911 536400232 674734356 613026587 242594237 112513421 429207414 134709371 248761024 44632785 547165728 158597879 599878060 542071500 527391915 498133787 878907897 268887374 168281199 297522837 101647762 381131484 393372828 445665643 206119676 107481600 655448630 610000905 746000897 587039294 440860958 281562906 604823008 320836885 403875302 104690109 760091153 943992614 233466171 138762476 799087065 741091636 925977778 495799998 35328270 246518412 699407146 595061085 384780280 589482029 449338754 496627575 632152290 542093680 614698902 265202412 999105910 332921109 61675344 270522943 161128543 993178227 909938573 567561870 820914901 943651568 525095272 566824698 868841883 46919731 817235187 465100342 844905210 966734428 331063337 233432529 281874616 471223357 842794369 578382904 299061490 401293590 176778526 675026437 873915786 778679843 989019681 635049884 96748002 945623577 714375536 628044608 692495325 320278580 922969160 519071283 34872520 516040020 376827038 474912150 217617402 754597845 353909742 875780874 743328813 35194080 417336306 927207642 302130261 899602826 521059065 766084313 997254330 225513409 50127811 418814117 99386709 877339430 25501679 338102800 198756477 72011676 435718880 330565998 525112191 404171159 720299874 17829261 420006542 622739803 155038097 566339482 352851157 593654923 230989474 70908173 278086502 140335176 567760083 146405506 324100710 765907379 146696975 809168417 930274696 86022493 578878633 194705910 253256700 413884784 520991570 893484840 26895223 81309972 304931613 298076129 754435872 42327826 924198441 289759281 815311398 723150323 374401102 743006655 871156004 578002628 811533401 588992380 605110734 221303715 120352612 120840706 586279024 488683993 503229985 371442086 378525562 224857552 863837828 654674291 400442734 866198153 772940169 652848025 64267584 712488324 807383672 896398105 284602114 474304415 980099280 81771216 789054634 324502525 221009255 741952804 948153318 536860188 418352921 870995203 308459127 624193617 990819349 124982869 435402425 270069216 641163829 554426904 648419634 584813511 500522890 446452851 924637959 713912573 115036825 282332122 975371698 870975617 228354716 241497413 924832578 957517439 387184104 12037530 841481891 237771555 657600423 64649778 451736859 963413217 321139521 64957972 278428839 980154279 980265105 163022913 832828196 229951075 174504788 5873543 622285193 269149859 847039149 5624039 989994858 788073020 20442480 519722002 455947141 702691473 966852667 28116298 659279050 44805304 123326828 371658305 819593828 165820587 744081522 524846196 676636094 993228384 731619612 25789089 72233114 432878147 767730516 14787144 517300867 684437554 217587409 78996111 15638660 769847037 59378766 480710137 974093426 698099624 1342366 340708305 215969835 322706842 918624714 869781589 906820546 576693297 20009782 337397529 432454124 582257609 564984189 38078973 330667837 51954753 380123123 77715427 909497042 773059431 859159770 533469393 389422809 969017586 833257594 356051027 62900212 403289652 50830219 306879483 63239137 298101838 264677409 932796202 224803371 765549650 698324885 245529233 748378164 735431824 578365927 486805657 580134861 683616608 807732642 631507481 607325918 739185784 50405648 577891372 53855790 368817294 886674159 755951447 64664264 21863292 954223559 974371248 709848261 928129732 402358723 766538107 252165495 592178008 667650069 174669069 699185133 781224920 137767556 859084117 888253671 984036536 479252136 262941907 800492183 154913861 463916203 485556226 296965326 440632156 22406158 567327019 892082337 66513156 273937303 221816373 849907734 357862826 823179053 632202895 939876820 940171332 827470266 579950833 800082612 138388223 43171977 983259004 76185785 341024815 275298703 990099918 465452926 394884094 884912121 193645579 905084473 982521375 303241668 509512122 605110300 522327034 192757858 278497511 176852565 69994447 429307144 330001502 99990118 673089237 932068028 450112422 941819509 781452638 497102611 559285585 249390814 371688530 738900820 661792254 10474359 997593137 614408288 592715348 488268782 440108372 249328755 669716859 23135304 673100610 930373906 758593714 504322878 105772999 266274027 290775936 835308279 981870443 313662782 467792483 386564565 45337631 419032109 80721195 821770440 556743550 560360286 46123205 964066095 550709715 191036522 459995846 133895796 177948775 702650949 716819434 390087207 600864938 319333218 556166937 725579238 867110471 451799613 986648368 48951700 472812261 375022391 229756107 425247661 908822096 849767446 760391673 202341607 233347564 294577811 605834157 582810958 442205457 740263900 905934980 158569837 332649724 754080167 279412679 584030273 720855449 162504421 908744625 638731293 676011756 691684172 825308148 17037803 892698989 202753314 367563488 135872240 418183487 496978814 860860557 669457092 296787681 934272608 740315452 963590455 355288893 86050344 704769463 495412832 624899750 850466290 721378577 63734422 119841255 981518736 488884766 62626461 607750862 574278533 132824061 143325743 454947738 341393542 913092985 158574840 206183575 896706485 733488792 630252233 342395558 583818196 164799725 272785200 19792982 670560856 887762462 278982077 111086878 195999197 296796680 770001145 722249028 843946602 94660487 546064080 817914611 555673151 723339428 889377556 532791342 214445013 319071466 266288549 393784659 68618632 666313239 622884649 15513999 967459543 199711846 316231127 729483977 551565742 367275630 125921477 586755379 454812592 831297016 847518699 143886522 113034340 408578671 769850605 327703223 712815100 565443590 826504278 279057477 116976367 706108488 836779972 459022272 806446926 32615536 514621396 111346297 696619558 301618605 403247331 923518875 821981189 461706177 323153625 471338823 861571246 331659398 598101596 51920228 765474214 693156040 42933845 70809272 560635130 615645973 342858882 987846596 587462625 764617943 591674437 485084428 535826573 962850820 28496094 652834752 435967888 245890425 477497937 129548384 279288441 984549135 211218101 572073352 352430764 345308613 776146094 182177643 424278847 515415108 771851848 547310993 177337505 382850221 481738322 577512865 688469057 834799193 424119474 744011569 798642654 271779911 468065307 227387851 269449020 78263293 135563063 279839257 856222876 721229580 31571057 720296056 820319373 430754333 278744401 57774506 296443658 455344519 350658956 845625037 324285474 103076296 588434197 352289739 94885874 80295776 311785099 116597701 761513510 38769551 869466865 664771939 204918542 448246116 241650722 204516448 853344349 557249173 910259526 860533117 617505919 352605178 469334703 649211877 629497125 690547541 487655345 196270976 615263934 590225239 248625160 215513270 523902614 949714771 663883761 408963904 499145115 170500174 571579475 944372180 344913289 427233588 222792988 345362328 82994333 274238087 73709907 240042760 894263094 952402303 125376737 370112724 754962204 698278693 338494518 735553923 775552021 608045817 296381958 99788171 168931604 717614808 100597837 577822538 984876955 383371764 748277479 806131200 905241819 233413552 546724424 205597060 310890742 707186000 811314789 603772292 790194841 478456403 356487610 281323730 630918290 861849502 527111347 845233495 733177010 417510033 324992709 661679300 292530344 130490267 189533859 95112149 344058483 68809866 592122662 206440784 694062474 561020315 310469099 492144913 512943609 748701920 564430608 106117454 155624724 113591828 999033380 143991815 660863870 667436667 505356069 365039671 220060017 613361383 147275031 626150452 120515432 668786811 926238373 59848026 544420011 92708838 318620430 101544601 584715236 461284790 608772546 216661071 705252714 387561883 714802329 173107324 572101687 595769077 852471684 901218301 45982675 27768831 575433959 973055074 571838077 35408255 125369577 765485004 779833914 970527574 578556885 179405287 967624835 775297946 394892237 430319760 634709493 275068167 187588094 632659407 544275066 194119378 710847937 988941742 33534246 161554429 189385325 925833434 778627439 115014054 776764018 147687286 735248910 143977397 642957434 886205401 228430785 157120548 206659679 147594973 774456467 321796352 561231568 403586211 32616855 719288953 290237807 200919259 242768759 358222901 275704661 121371571 421347934 8251130 4690732 231141204 689916835 3742768 705449883 883470905 83338738 939484104 606714731 219615272 368624270 732858964 878015684 442496326 357732219 890486117 925865789 85313621 748132356 325088376 872972212 971820654 403282613 87642407 11183490 844851223 800707310 610855616 586703191 565182936 544924167 322647404 215351000 538697275 226753179 838379799 561292821 209709023 525569827 552337461 980724656 472144814 423627643 244904026 893227632 937923755 187024633 661691243 99079534 821734524 979527677 106280462 65893558 20733138 54279551 664986146 747640244 236452041 150959934 223924042 195045809 805044110 607604609 321299876 850858931 724019846 663749840 656968924 291300445 894757527 463902412 353476003 288274195 866919642 27529131 805297450 302769325 315361751 846495504 337787583 722544447 876774730 491586384 656074018 295500495 161568508 358872079 916269409 21573689 756354838 155343228 736986894 735030235 469542790 482532955 821206542 419307806 374655363 821605964 682367702 809465413 872010060 961380298 159787119 631704571 939113625 469655789 38266587 307458428 641706628 411326134 674537179 59460696 256651486 883217203 773900808 326393460 653287984 883543503 908902246 199678466 555287294 584742358 451752761 50628676 969649790 538616971 454640783 696415986 798554217 153993398 826941313 220955164 694656972 858901991 540972369 790968220 99184842 624458888 543692653 292520414 221223981 541966055 819520372 202298431 926867383 187323022 372306692 101362326 317253365 859902810 38918273 30112358 385109842 435492351 146110625 818487414 82040981 978290443 274503503 111546482 471060005 839251690 412828365 585425344 397123824 439447237 573504532 182816777 699783403 62877226 179107382 91287256 525938607 822838893 696627589 329178053 150454230 509009968 170739357 557790909 440500239 901051423 13073976 820730580 140961783 967549817 769462239 674374465 742338400 462856212 735855607 338042991 681517598 854237841 975549046 627771437 291500149 367998131 815972985 392246256 56936531 489673525 695161500 159045994 924400264 971865751 143575253 414415250 797383422 91540504 835244091 387232225 87009542 127320979 640296370 354330860 620902013 397475445 284751233 624193327 763575179 623196404 937502883 328679351 532899030 761174271 890598845 775549538 180263456 386962022 219906949 189276940 827380823 820028588 313711194 726974828 17293717 736481451 379793578 224028588 456174063 841326698 422204887 56919230 961208687 817554862 103513537 768441317 423755035 384522054 823721727 399606467 854595127 998757303 395295910 564364805 304840271 674681549 896174010 258821107 176915127 630883634 536817147 693946060 264911529 319212702 410201667 758096033 321615319 688495118 264803369 71824364 266229783 352246211 942682599 186551329 838195666 329672182 455594897 140972336 41928728 981547192 763262038 69380330 607001296 959924380 901925081 916267960 113524616 563308006 614944597 382500958 751614110 36295757 799294951 186083109 234296238 714347456 970364529 140887052 35453643 249237388 875772929 192530575 404052568 286446682 35944796 208040932 841374445 864591689 464840509 72955355 368349277 56770859 517590682 252145099 409712383 55843960 209490406 236710498 356459985 888733353 996574506 400866749 884918482 396004550 468351303 575808020 279480920 859829779 921079294 570137272 698613068 673669830 362760376 167595057 785031455 137652906 115329004 87470214 372826 958747940 265111511 227682788 433304798 407193053 478210526 378069537 565058606 449941403 356249497 12541641 568918023 169905582 930587843 565727307 116909240 633786128 612215740 343740606 192285637 546258444 856633101 830722619 718583446 816528815 881516547 733089930 437162313 438372781 364255637 546843465 663054324 484921981 723154780 211621662 365641018 671225450 6732088 363955029 806754373 506124109 636621658 626190611 11768567 412740805 991663422 565924574 475699019 225675595 849646447 603551221 990352885 419765064 698385398 251827658 828269548 319828331 593810558 312733392 140415967 334363031 232046621 333124013 351162584 808891384 503886407 820375947 853568697 962887356 21457291 434212350 105265148 158747598 768599976 442567344 80345620 7750943 980012026 594631662 230014882 393890438 733189757 733071957 166457788 242988870 267381244 22694825 299756675 134132385 336208761 918934509 43405673 487245765 83749055 132602838 51390108 89241132 877888868 925126003 846621785 417040451 29069408 935998844 412810316 252230379 931971202 640856490 29780485 285333997 881007867 112357479 97314721 674817873 265640087 919732015 172272409 757577003 9674024 12663706 587763613 388578169 73800730 476007415 976714980 492457542 614573031 710579794 658730269 230444657 709401372 17382760 101147111 786807007 828155339 51994312 78612474 347071689 479956269 265201677 888272769 189578353 352817385 717913133 581365217 981921608 191521739 413906469 621899578 406459880 385308052 471947947 781587819 686160964 991788049 9714795 238464303 923156189 412854715 771794076 498988622 134159556 503713565 451126797 752975317 164029921 506544794 74271586 904224889 576154769 777559949 904591830 750098990 676156345 63689708 894494193 758450533 726204986 889949147 622192877 795459711 758279423 558775445 691205799 274696418 124700547 927716671 101969330 95019017 336457265 525253613 975011534 216348954 247157819 580853183 799921217 452429446 209777635 950475423 767445508 544751680 177254596 5898443 736330780 303528681 68076604 883189677 113640366 298721092 383471441 449725842 939238119 36221355 410511621 401885473 654656035 933836491 985290908 215878933 630185384 980687957 178573303 919612680 288791164 509222099 861038800 789712050 993777421 999502232 728002134 603194528 169621322 72447254 239126382 785758530 254146597 764757830 259793965 416805155 750624084 538225834 824621544 517527334 61799742 383011422 328372007 266643817 579477258 562423037 629211276 265186056 482914953 704431110 307299071 942024867 552623920 233279267 293663401 678936881 923314739 161613331 364824598 744846648 123179644 977436179 112351592 110333146 68939145 751022033 865397749 349505936 127474002 671830857 954311642 561243402 148759548 322169428 280947539 795829930 519409304 379138997 104096610 736537025 989545862 273936250 707150832 869278671 466638963 16008927 260386910 278891279 715389713 566469117 110351189 943994209 295406663 791469194 295697044 509779547 350214280 758401928 227997709 818440161 101440714 441541337 983554996 305046946 798916291 215606395 706463567 857497725 513329525 991727834 41424555 939483198 108955511 67183989 610868486 212281817 876824964 75182298 422124522 254122497 110056329 526328558 414347407 524079979 759453656 970308302 964027643 348774518 239292900 544885037 208875947 819328425 571856699 504456429 863257719 885291465 352403658 529401680 468957463 720521604 807160805 32531565 323293239 529730809 22677780 566582269 733373143 971123427 249744278 870107295 223917224 741964365 561730600 89186157 629203432 180529432 723374249 331715934 489631772 872443297 733923674 277974682 57334532 722477084 456781528 710004047 744900961 66103354 566773569 907773930 136988814 439602633 743808611 920774676 239115865 560607155 60812854 361997441 179234847 411243322 85256205 965554046 743172727 576785392 627695822 819529514 677927157 83129922 731972993 345199137 451237944 893186460 475964327 402207606 642649918 720408659 443928116 981053834 813438873 152584218 1728261 78998607 678041370 236439544 411972249 523337999 361326208 686843219 297646366 589553951 703671902 148442278 444022137 377786256 416686261 98773258 906683950 24149627 591226272 927772434 862501560 867077932 440786702 297568813 215746876 478372407 167341669 514285352 851298935 381676631 926694523 7208125 251438944 524321871 214334525 666223215 64346286 942362610 999960666 729289533 97281340 693587111 182438332 783011398 304957541 249937819 574058191 679303166 67355860 577778647 61634219 754386848 680077050 661874882 702079320 153681663 637113824 442942604 237653647 973140973 92936979 857656661 871617000 378348844 919443370 778793068 703189831 270123425 126752102 521611651 340095224 388995517 541325085 367315933 180499358 41936707 974944675 712966129 952556578 494660170 568683219 638637425 679132343 400397346 366677750 935794495 540262285 506431829 491036016 277530865 447175774 884752635 636291564 814305348 785255052 413084458 367855043 280004725 450736395 476048186 54793721 527622102 811417797 711869444 980918775 218504476 897176480 531688290 254789215 436804933 29108807 989241155 523557741 649897032 577260783 973433766 594783712 316051393 779164238 765579151 851479781 87558167 786607401 377784473 576153194 167508977 411640567 88307121 871692149 691639477 368308771 324908227 564193762 198032024 852708416 572167767 5605224 770423862 330432165 363870504 746434452 584545108 787098325 272226338 191849726 779944987 547090782 793197668 348145017 27535630 76068103 128088524 466875543 68595705 708891898 644951135 411209388 316370575 361628656 87481936 978884689 25893749 890301039 497261990 764372053 248432814 91100713 702375330 450080450 935379575 464398304 463272652 868210083 522431145 43692159 574628502 585348682 765324434 402381340 161356193 560486256 173702653 31768873 537239699 907438320 514821610 932946892 953157540 468997110 746414075 672215695 760337086 277637356 329214161 565683202 985403412 787678914 544375676 23212080 156039127 385667453 707691221 749411856 254340464 258290880 18435381 16823939 650566206 269392823 123628767 884868208 106348641 102821237 219142328 2657834 736155998 530182669 302002939 395619412 905592734 351884407 886182600 732616326 650595896 530426368 640066206 652161617 995696145 108918862 405050315 842827322 840410090 621612053 268054241 843442510 365930052 234192254 8752253 623418253 801529092 481650454 284273403 365402744 110492354 724547978 838867683 833748913 619276749 814647829 317890069 427153270 112031108 458852302 920437661 101164339 617465040 999004802 97161055 839734791 154666146 422633005 302249677 319777392 185056021 130403359 778475519 834144903 45024388 734610122 469024287 156159530 79328468 611530981 881819434 125352963 959230911 318636066 198545276 180404950 150200889 330187251 771275154 664477654 443351374 146175668 813649035 485077064 839467574 3516690 642150732 548767205 471743750 1613671 590347648 81855353 757459980 91782929 313836273 554423378 914290676 13642000 113943569 838737053 266697016 876561320 918774020 491667658 51207486 17174485 155174109 47942947 684571468 488181516 260332481 895307413 870689086 356484716 856123905 651654312 756514253 844023138 721109555 623605634 17381489 124877862 127655045 78894198 929166951 891325338 345362346 955678335 639796545 29178911 841817710 626560173 810865290 776481479 685096615 874441370 529567801 443271231 128594600 747354276 805242777 868784915 813244615 471494202 731014155 352040596 1571045 451617412 727572414 117728373 325785257 822841089 87637035 247971422 649727717 196197027 137481086 567655894 105279125 266365636 753954622 219538466 224355719 669310387 478130775 920121881 667220941 386573390 557450589 328305632 956860533 324135059 917324812 79789037 91514566 571561558 210482042 762477192 153184092 37780394 318638093 82926557 988393325 283937012 526599136 985323020 829858725 713009562 95902913 535174375 63355800 369401023 776444062 696527543 254102250 717546406 279842200 452024512 384766824 288292732 931470832 826148494 227738392 897027985 593508827 715498703 944118759 53203836 556563143 281196689 267134222 56706499 359482116 742837040 90198827
