100000
2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 2 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 2 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 1 1 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 2 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 2 2 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 2 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 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 2 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 2 2 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 2 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 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 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 2 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 2 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 2 2 2 2 2 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 2 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 2 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 2 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 2 2 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 2 1 1 2 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 2 1 1 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 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 2 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 1 1 2 1 1 1 2 2 2 2 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 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 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 2 1 2 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 2 1 2 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 1 1 2 1 1 2 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 2 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 2 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 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 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 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 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 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 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 2 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 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 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 2 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 2 2 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 2 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 2 2 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 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 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 2 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 2 2 2 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 2 2 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 1 1 2 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 2 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 2 1 2 1 2 1 1 1 1 1 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 2 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 2 2 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 2 2 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 2 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 2 2 1 2 2 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 2 1 2 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 2 1 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 2 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 2 2 1 1 2 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1
550384826 425848462 678265201 475301687 683773078 259909736 710720317 328403998 236110961 164152857 453638273 66345581 184914160 721041242 54444351 516683946 999747611 153039188 884758530 464261009 574810781 756978715 367117013 530828807 240719595 33868801 990666534 24673317 593368872 629911430 324935536 389375380 478817240 87009404 516752220 823793993 761012577 109646414 735557437 272136339 828440368 223435589 433621284 593218903 892842053 11042506 82416397 480277671 387939063 763577570 140165361 351771875 613140458 630096745 263046413 92513696 622011968 133054079 818065173 768383697 365295261 456396449 338250827 556041020 430606874 962284442 553792504 489791313 207416675 511145887 872319198 580940427 848676265 281709030 299741210 77990529 501408546 501333015 700599892 325884819 904077982 288720731 849653734 87217920 408792978 781958554 800771363 766687670 520210157 186307455 154353024 634846427 200786627 290896656 290705411 531001586 941892030 653575169 956711162 111602208 741217538 5543604 965324196 950877173 827354045 580699598 568551543 751762810 36816184 471920060 89879662 404551518 475428972 987331968 418971629 495145558 526211312 777811044 702420605 932972624 540178758 380007144 435581716 128217862 84508451 909682284 629138726 762097428 662671727 583077531 296560803 358078679 474456484 595258200 379262567 484143636 893930666 439835162 810729324 292833584 86938776 446909282 394895414 275068226 447582343 722622931 836582636 111363317 404242698 359116024 967405209 772204504 926311705 631256631 181030453 269339724 776584829 113601783 883584242 676446995 486617432 663065722 66251908 574203833 708514238 398127541 877230857 315298022 494290308 39725526 822980769 281794063 273732823 940734274 222118162 540634020 510148632 138147746 624990811 225220487 742741456 504588220 196404864 319900088 873422807 19470407 468505045 708878593 958957402 898016080 749827040 385736606 50097057 437409210 894263884 446338693 467495616 857883249 702583373 852502496 996576271 412809027 402680624 83635116 612713967 103964841 533748015 594302647 275679757 192891528 639880125 649313364 825550829 11137444 58171150 615966206 970398729 812592092 341554639 464060198 625746556 630826874 246128752 588593608 61279818 929219437 895811573 719767359 379549331 43141349 365192783 347692014 419569685 43262365 179657718 291235008 372796945 466081448 52229094 757089935 147130369 182156351 656971765 563874707 746848096 10387232 859892737 787676360 46303781 906850737 757735542 569738560 48533403 960734982 312989124 833599280 362097323 182057203 840864299 812147225 871589112 237968586 281074238 489051977 123171670 354373593 120695775 128859892 47253460 659142305 839008244 387505022 714078925 33632084 443344324 395780051 255885497 902157618 337136059 392551632 342605628 221687957 791981416 995476418 240472020 46073717 846222149 919164073 134647170 824895763 529689931 748374092 169347123 358489200 316593490 273607542 994775728 398108316 858212707 669294769 625804169 289187346 503482300 364408966 487626703 151561443 2506306 73538227 58744738 641755138 758151551 566286875 22966909 261139224 638420968 870835950 501368508 121746104 675353545 801675068 376662924 564689256 29936091 160318134 875644163 574659391 955144909 218274562 397444472 881171776 453344560 10339297 29534604 340575550 875022267 905849725 583354489 93607774 959709595 766807452 585555067 151504002 831841859 130681878 156203412 648479489 628945280 474940957 487036779 857993194 23910058 778292062 282514960 133657742 787425433 502584741 992082758 932352059 695664308 280488392 129817591 669356139 858746814 174561596 994353935 947049067 813168851 23630708 71691098 652170384 430664665 154328380 688783547 301235307 414313583 630146619 265865916 814395660 474002351 6578864 725302265 556743225 688051381 908712096 238465355 175413336 878028579 395763934 873034717 91987468 988633119 266546447 381673107 226407987 640617813 256810620 110415771 674341146 268141122 504623095 837294870 900600552 281753366 841719131 327987253 602112559 956599389 823671237 285734108 606871325 747570473 713768750 532928533 853478449 557074024 902542709 908094493 41393703 79541793 374618604 536417406 546455329 873538271 588179379 336208781 635979339 112031419 645310599 194723105 319019287 662381570 964569536 669636522 460752614 486935671 634010488 254770747 924876956 227050321 552786366 205745492 656699904 703284694 470475369 167521530 509204468 341080543 862942719 657150247 224684793 991158518 754904809 254750919 739635519 253009412 549430025 94862923 696902685 382019135 231438280 609261535 737008275 583022776 221244051 210490522 631369110 194309701 969646801 233280182 781420 972909691 623737115 132070667 443108858 190271429 298063458 290159666 259195539 558581265 707924391 37786756 724124085 998171979 89318206 931411809 602176035 344374323 62459070 274643158 883066436 199062841 790519119 892838404 923876943 794508031 866809230 779750660 710799647 170642675 269641003 460091655 865913598 839216379 637198455 960965651 946740327 830442510 886768925 807459651 114961410 318777263 770805744 149173030 935365054 266466707 622426371 717355117 296726060 276434564 699350837 508049244 86162486 593061576 704299097 851608003 158942864 700609058 468076447 335695324 322009929 787657142 864004413 276788718 836121118 713476657 327775827 348734818 776355579 75917834 989942634 141107570 607909574 313242235 962297841 676829162 688525258 928715010 585582846 405354755 811111396 475328669 141717624 37503821 433618664 804085846 484918829 716758537 852604997 459637213 4533548 157592492 21721729 690104141 94712662 115720875 679483243 385889539 157406036 706803337 334529546 853094920 234403783 283211791 743290515 447319512 985569347 968240061 492506324 805189747 6584761 938884260 290896881 98987812 699057940 474095503 739915901 906816524 422116552 627585269 21508307 47744423 256589194 258795780 605763544 542089106 717734945 457683040 576994062 811460942 367053661 241516770 330369363 103931248 354635952 647580459 204570688 857032708 341564734 61269821 112513811 730816263 105846122 182215781 889158658 48183313 717733586 369685853 449961684 277475517 722725536 362175014 470839317 907734702 107733359 740551091 919817118 33753805 397770532 816822207 750864297 582532123 197445868 992296614 639979230 699207552 533244081 856441487 444040915 20067637 261644830 794086796 917782715 644070367 643627259 65960551 250716708 52966057 578598637 934050044 823243781 564315857 626270819 952987595 834229045 499940637 546148071 621576109 158858011 826063068 883664383 574231987 366380906 950691606 211217988 588049522 493261157 178407356 252980594 319670805 647606720 8516073 846738409 97821102 814334799 681604117 511947207 962862099 896758915 949692302 522785182 722791262 704066069 486959496 787095790 487012231 518532941 702521506 134612869 969011147 773212282 820731795 564534438 884440961 692786443 657486931 199980394 738485374 621749598 602339056 731494614 635371879 255883159 248937715 99351767 467845921 299951555 581113103 367422602 787528858 728213320 189806659 277139647 717489734 926242751 192030634 980703880 527454618 886808067 370857565 439665169 18326347 858936853 303866797 790004615 11775943 426255123 841170348 388256066 763984176 981308922 723539893 159246720 810439864 211914755 217038615 592206773 993150520 583471080 511090210 914214245 419049228 246573899 335015451 856732786 207501432 964608799 904508310 288735717 848352433 299918455 372641552 119932696 859241497 384196311 645020176 968611673 217001325 298194394 438825035 572287571 556537486 453895421 556438390 636940789 874420611 22221626 124494471 370089791 706126334 625550338 484649781 432652275 808244534 16840870 589644039 592085858 675037413 472455371 693122125 38937274 780434746 563260624 441231206 435362275 951195421 546247172 962280491 724291597 581855987 312055029 364694436 791803860 124003727 971496039 551326212 236375397 541141206 508536886 547019368 953303328 829331508 314425954 546479418 946163913 116853683 964778365 708194102 790435524 19475180 385872638 58772999 304718542 47348077 90609778 906904301 392017016 609938583 608221345 49804982 798861661 270587385 606552874 868248379 330630196 509719200 271393006 200815140 245843975 284991147 187193690 832625806 836157442 635905780 297062134 832723896 317450932 656541781 752370781 197236753 388370266 873498649 818921270 700475605 472358010 939679588 94824279 567902693 924765780 818354667 412800510 880486606 248450417 76084306 172049463 786940157 316747584 716360797 407638989 118393855 463436104 449099143 950110712 468628929 109594663 570555297 878928736 534659118 83007347 745212066 719335864 825042374 698191189 59437985 726079329 739472502 167044448 805248552 289991179 204018686 414612780 594284519 388811174 920175685 247024781 368463627 575459166 757536439 15588317 983203693 434230847 517781189 710899689 952017695 418770581 97577427 201014345 800284577 397736185 742339566 337046994 502765527 650174464 881908916 326668148 138445172 571349786 430196614 517808256 350407499 583420981 68260918 34655473 686148816 825105555 818010200 295923008 922440676 194615963 536349192 56548362 455301755 527850617 267392609 141883612 556060601 120813566 129252918 507190212 459104206 15214760 831397952 62409678 777527306 295625151 755366448 208390782 913871190 242064652 534470675 378688308 801537139 822484580 254765576 219977354 144704937 169970159 842728325 841902635 492227204 814801794 321401985 713662818 308012249 235673104 736117556 666403666 47372107 993048090 305907120 317082371 153293143 732546911 843974766 298583095 489529990 985692632 374519971 957807547 399522572 40600697 268813684 317245240 26720701 888648510 540414964 483244743 564756775 130261346 658274143 93324217 594766505 378982359 510652944 258482225 297855438 249499042 348539092 245545677 834578565 227200676 834344818 284961839 483434245 904733527 139212085 902482252 888699282 243784107 101283712 251067589 508421338 542249001 640790411 176591180 816187589 257410465 255489668 124909387 975695870 642603773 530731202 739005768 93968465 589443241 119785679 857893978 464180600 4376415 147660803 205928406 39508498 662265712 15343760 155678503 567179561 640044247 243008764 635664563 218432185 294594132 94222856 782543042 455254449 657225227 738567832 782288345 833181769 859254152 1042367 539050399 685229183 412970303 464929322 151807935 534584395 790170085 869406057 652373842 682687921 641094952 621283716 371661090 578999342 986838479 886768761 448646939 861461126 102851897 937250006 558973636 944905447 809741762 842970821 214843215 784568684 419185055 512357893 465314471 348177826 814381782 169282181 759207915 850527834 787744153 424813109 833497446 225047043 599354028 652579500 347610708 964303545 204613953 128866496 212979348 55072955 990430181 435388010 38909867 785540901 235732820 31197103 935639857 305323292 66555467 520468134 858100436 407468201 391081108 57026053 10669885 466107565 249059201 606311062 346818985 443132150 896273896 790067242 334923803 670888495 806470024 869555227 289123929 923311007 682433849 919846977 687827192 524071900 619970915 438820361 385883731 413521363 451474209 820579540 330536242 26397072 364753471 708163777 950140859 198608211 972379930 536432827 156880500 147947073 383531621 203582288 47736674 613714041 531427338 798149776 612450328 356675393 720167252 384147717 39788756 289271771 635879449 315960999 536018512 798857860 947295456 756376174 908871863 944840473 630564260 529299274 42829129 742986471 2150426 617349674 954393327 939716628 768581690 480044131 299725455 118761141 882188101 329646689 726970973 509476040 41252846 67441915 760798809 588029319 438783872 124436490 437285687 783899919 875015787 119787243 32298277 14979720 748347396 758282019 241072748 692951006 938536154 202932437 901772673 351783026 50479091 710897236 734656840 786550136 473194285 827735064 290870081 846741101 238578722 368253344 454009677 669137367 3767333 430310776 123286849 545931374 728787917 595926629 858374921 16848379 236368619 707132816 446755215 156684507 15714444 912131070 726787901 635161547 532820899 704314057 556076660 839273580 424396556 278572984 39282893 138628575 44122710 731256314 267716908 634703330 545925693 606399223 53413858 439230726 735817867 741219600 45408533 840643898 39011859 180266996 965537785 546587447 536042338 683342086 725987907 905952493 651958908 506865338 25786306 305555589 324926209 642509566 444910321 1784040 945356099 179052436 862025417 591126820 343730954 338563668 940104740 180594343 325756177 480455678 418399848 76208201 146635511 814692908 103640003 274301699 959244670 828140441 309665889 293954700 44718941 134757559 460118548 533797307 259080341 453008836 4331949 495302444 832297770 907515615 467054008 422170230 170524622 731963795 49488482 625884080 346975534 532117584 576641293 842051156 434617577 408195544 16583487 972166813 261664225 150898528 542481546 29461134 467456852 558973947 966333477 19177715 70286001 81693559 55051480 506374136 148579005 302089420 194707445 701218870 882966184 847872825 858231839 129519883 575321512 589649847 457820816 995230842 578055968 251398924 918887899 876656517 24659831 543714225 233737335 365546468 783648751 804052956 79686006 550233553 552907070 392823878 374789576 646121321 143004510 92172751 795304068 441756826 986967674 243428119 356755106 574253798 939743842 62785707 26021939 353819038 223671743 91044125 615707618 478190592 891805109 807853899 619569678 704445084 704277896 659079077 825729568 481469357 125332817 994970861 475903226 518074880 884787728 756432953 456718506 706120787 833523235 600167655 188262667 452888540 219339621 641803497 892973497 500640035 979842636 83412407 267684193 902208386 197011328 198620006 595593759 97741003 334780582 751991873 332527199 785387088 209614451 300875975 542839417 173805634 167582643 980950227 749924793 778476072 238132431 103821571 549753795 910723341 216777511 228797137 232221698 967306864 80335356 521353076 259981490 958767307 578921427 889376515 864363488 399197574 988149434 156694557 221587389 578917601 176104035 624369640 107831409 498840944 759350440 917441900 677349153 671912505 467619613 90171857 939120143 715701703 664018831 329699553 457287452 838794382 371211803 67418045 213887475 268565668 624700693 809084213 691607548 392303871 609915174 282599755 310807316 342058744 918642177 133930250 381053401 778387687 485857253 729273534 491809312 96767268 938268906 137251742 975057581 553507291 144372925 88500926 105435927 982666374 304523773 992777832 29586792 940809951 82625677 398843894 128884842 410160185 956948338 658215605 618621236 36713839 214834716 355752882 592703048 758588400 619655760 495234271 346450357 78140997 315272943 680850512 398694635 715374389 66834127 264108014 723344044 642102821 418820941 395784115 928247512 227935754 558417162 898942795 169210880 216544797 945462624 457507983 659544512 609645905 687347186 269913279 875025548 49515145 695517482 477003276 632008214 573691911 268880513 201555220 55921263 562789668 934201816 745683034 512347079 807808841 296493641 108337332 582073484 754548850 717392878 741167152 299454082 533397490 89883857 10238367 149757910 335813150 536482650 560700299 641927230 176203514 214186829 575307813 487334153 18584390 350057366 220516375 52336867 816248926 971642315 758111824 862493990 415121295 166297276 695994090 291818198 662184516 895733571 334945860 354775162 619287070 272064006 200700534 617453328 675282115 188015854 594595401 186185608 360145966 734493717 720723447 273283510 782134649 44490531 941769829 742178301 747682036 941637622 622392366 824830836 769847253 375200882 90437525 965486027 201314462 939874515 205898353 863028048 603236591 496277717 730226201 12032406 698925092 773566472 676890068 959699427 696974910 28492245 984927588 315255238 330504477 618313653 944708432 470997671 870634433 461423461 384326697 33775668 343529906 61075603 381660260 470097 762040759 676558177 327490588 965516099 907764083 648712558 774400061 283955005 686108211 683416184 74303563 323579243 997261431 382049180 640674028 57959165 223602618 289388004 666349521 896176867 460822550 192307395 974619942 330480197 830360429 825859407 372341095 529481290 278998308 550892290 251049114 680180812 81496736 355149676 720731957 911680803 244100103 574171087 978442898 960870999 353489590 338982539 674550742 959394613 132597387 487239855 216383089 5444475 939653845 343500333 774834207 486903510 911041132 618333386 620228931 163874050 968733023 958251118 962946076 669786852 229719037 439679280 175308964 916142343 359955289 884927682 682395901 406179427 27784290 961569422 461170718 684949115 287941784 281678791 806230371 240296288 860110900 665767526 665294042 198514575 792947288 371084050 83371414 152383246 354361176 402062638 114445578 146672331 797751476 967401903 680678694 912077263 373068835 987495009 463847218 660029634 501924324 717686547 128847474 355915403 631344926 540032688 285875311 41158858 210313897 190847744 813527913 452607890 791157521 45480017 867278908 972648134 86140475 850218807 448574991 110210630 686071462 27026041 341680103 652188575 621710467 237880834 440158767 846860578 297186274 387710377 903757391 373767210 483422795 605745526 834475678 913249021 131479554 727998041 861015357 521942108 354053902 733046998 960065674 420930540 569098618 861955063 81238259 38912091 350895001 169242721 226291682 274872209 544997252 359618104 82300883 980039431 632964422 109890477 145167609 738334300 135335352 335947003 415362485 680851583 312475284 606812909 755293488 54217823 601650484 985404920 167182247 373736098 225007412 736334871 954770581 479730453 542075164 662210900 956179176 518717952 638914222 415200660 110560983 787926283 756260307 619226934 715094271 919437705 691749882 254855026 904197337 105200056 669619679 357506609 111307632 964697767 264738618 670843490 902490233 799740522 759670017 861139750 41621668 947285003 540838377 800607986 819118185 735425540 719644413 517102016 757726974 636393722 16374323 287737498 203405113 10658461 542091044 2914179 969916657 847623155 556222141 783804949 959410084 868661890 672984608 401187657 198955902 269500853 258595962 174533738 597881942 676683439 143619682 805527945 911832518 493353144 135202770 691995940 409230449 86727281 482547277 956732601 653450058 826219512 734247708 897956236 506386938 262284428 314873300 423504780 223123081 366092451 854156517 101581242 922461151 287601257 764189167 364359424 444578738 480914529 72963829 531547049 701349689 572011202 24365114 620503093 357326770 930162535 861426870 181812553 481365402 695691875 554792626 475739435 94330658 96188593 701666941 284048353 429332858 710272248 826087154 625206637 609492785 131628794 494479506 458222093 442932706 266589404 449649124 263972919 475613374 171498975 936248156 966942413 234711378 17927279 741543593 122337553 465256059 270469620 644566274 543997180 554715224 109441496 164034302 999664570 373301402 333782327 810525289 265505506 632711799 87624896 949331574 155088291 114007843 939608881 782585390 602692123 855630289 59820302 609432934 387618031 135894488 74686510 74476288 567353806 809634482 539434376 626647169 517008173 761342208 620271950 393252805 800307333 52219356 740357012 1209543 552825998 974836365 358844690 108189599 154098589 566510755 846161525 155257471 57942170 296415522 669575358 551015338 396975686 885080960 709299601 936443024 301333517 891213385 810892469 245909893 971408748 133376333 424905120 79462712 295460729 13445170 521314360 842476510 624158838 496218174 457274395 590346232 358885715 678536407 104678417 667892259 214220600 680586475 592101364 666319392 538916429 697141649 599650775 406875198 279102479 885880181 729119473 51323269 615920618 541104355 943398574 139725475 462740680 587190870 245127212 854525387 753145252 284932786 647267791 827424547 441580554 511857031 160499888 535512439 619733757 631282239 974357748 805055650 940303116 708316667 60098814 649265082 514502502 335652498 123445794 707602443 636205891 608900528 105226248 781173685 845622323 958707334 476280706 420573856 584990559 373331997 946263179 522070843 735908264 569375694 101851628 275363505 70556328 815498470 347982936 104357518 271873450 390316703 877987690 116432545 983664730 960603902 963292949 823070735 525483272 970536951 523542447 737874428 513717456 579531991 858496747 155951326 206738362 891564260 61423090 162691252 601647982 935145034 777257254 20454774 985402118 709890409 822295682 351059197 148231047 225306667 151024977 619063602 73145090 876766319 151864545 489891966 649063637 980235499 179673486 143426069 672143053 484069939 153957143 179245033 485502290 701294918 987476736 185922188 593822926 867495928 53701988 340910606 178426308 331681954 783485149 371629124 554236760 180788132 660444720 763755035 747766096 84846700 663305898 615525471 361865162 155005053 226247334 778782051 292833060 165197500 433163499 490099170 618102439 672124875 132659854 51017852 745872767 402944274 101863083 353364644 95538633 507485923 118477136 851841787 550252779 919922663 901313465 821075543 375038984 790002505 763349454 806183599 541152494 331120491 368706766 940538900 722736064 417629130 323680751 79739826 126001259 335164955 84149103 869163291 979134748 218496293 519953538 788242760 764204372 480651813 611794634 416171087 316925066 704337451 543174208 309060655 104939560 487328707 985849604 686336253 147384746 909569436 393116513 988334145 8189130 413181352 227199745 778516014 306575229 835208919 908332333 648966299 974143537 747715963 632884567 394265165 23218428 499794726 111756999 647203660 105904822 807835314 292293576 699900046 733768569 554323959 75289650 187210023 969520116 796139467 882750084 302219255 660880646 915866818 521258267 14263462 359804006 574381439 559255842 977962315 630276224 301638460 700163930 780797069 648470282 2847984 704140580 508348695 228677242 970674086 13745016 884188280 469837338 197689293 545834343 543969710 868574810 859325011 900147286 361368693 226317077 732861812 841769573 628399697 240058538 428207067 769184910 571317244 762564409 331761162 80506825 327361687 582673216 600277319 247778517 419293036 39774449 868450644 240955128 465715463 240128704 788977841 667269002 51898060 543241751 521033544 37872618 897966615 724904623 424984744 430257300 91623751 37059268 684682754 256557454 933656879 222562449 117630681 382058528 946831737 526930626 696054117 307646008 998937113 97746482 417064551 61602505 403366398 897994831 692228016 492055683 866206653 857880528 958084477 874141609 201543643 678664508 338130476 801938194 729778781 224397862 709225500 322048133 903613026 977246281 12258855 675240779 99677892 617353198 112971493 551254387 643288 220565150 195198638 289118372 790701514 28898166 668069225 311609740 456074802 150515886 258452619 944725126 199758808 220440172 830755400 245644985 546869415 663220865 732562410 446830719 83217603 657283239 146101551 77833550 305633297 746825488 201781807 935820301 158453936 251905321 808128674 246674220 796005512 186040041 294437119 566871414 341808999 122918791 894147985 597108495 91982445 779255811 25173253 60582057 894850323 344742426 898555454 473054123 70755081 534521354 518995870 958168888 921678097 370386645 726102891 501564755 361104922 580842056 2234690 298539175 643546161 831308338 410534641 811564256 705570538 302678039 269024716 939148106 492850029 266495282 29325867 605083098 645369 374060271 162287818 96300080 584326106 542399032 773919666 427261675 210674052 145581875 181024383 811677627 803675019 489456242 562625424 564050887 746167076 62000727 987018343 957724939 508572512 337559208 612783918 49461516 1404399 497260900 774108554 640824048 208327678 438443486 387718432 755974089 567481498 690560282 623179160 853334268 654551485 324227769 494447989 908711162 330668392 151316688 902452967 308919273 165015029 824875098 589436413 669471298 893625095 737930036 441067164 929333654 194051629 471560157 363619919 313164251 46746889 960031891 205865847 462878130 216652258 814751693 156244294 436762321 289915041 578238519 260112903 754518054 189734401 328110523 987819549 683827557 496448720 589467032 318453990 85253939 228148101 250407378 394990760 177731616 207856221 936888405 693454135 356359777 246968541 806832698 385974149 150100499 42584281 22320609 244754897 559975152 67284855 665233436 837472502 677344542 22144376 300504141 460563290 613583429 386486330 284001340 672389838 259907213 412798774 521649400 149434631 328450366 555551160 673501481 895885528 53085413 630842281 81218935 744868709 58432533 874684146 649940203 100993318 659758126 263610896 900454879 222816735 599933138 872718316 849919210 72637255 977349672 837571520 755412935 912280566 298671728 82067763 5634010 602280167 274849288 664501242 21409080 561339747 440746103 520706360 108422361 641989496 24592247 824730106 779451124 473781829 991796762 71763176 276068728 138492455 209520397 328827347 942112999 774159638 985722762 1170876 385383768 256571111 766476620 651999931 304853292 233717054 523730238 644262901 742416229 320666898 786800543 26149213 776098070 707776387 141193176 403254867 837074649 168639897 109083375 108267025 333581035 998920892 554666456 794803394 488770723 648113613 155517188 586770434 455291070 711560178 395547751 670897853 862286600 993062093 336706218 357809569 755583067 522343440 66556477 486463752 856904029 964898136 564759778 104462718 73939724 818244052 667397839 190850837 211973013 728123875 356053343 66333176 5732746 560064942 635555239 813957075 71757664 717766531 1691150 264101793 611908398 465646110 699695910 152635000 862998202 614313586 542023658 843609135 252863776 268745360 338601208 58771744 641608922 779497124 695843384 333498062 604002209 853319431 131512569 542132237 788995209 888488420 230152836 550813860 509365522 300878263 459771571 316601780 907628269 255182978 943598885 937830467 107669234 998151854 724842397 814711873 642199287 840123237 528434479 520961935 184062135 461612849 990840543 939310892 316046658 239297776 154687826 972368883 340487202 3941073 263916689 842906851 421594252 547785123 470138406 394695130 169572005 91197037 958906297 48372779 284534563 568778356 709037194 294303098 710462567 695559657 144817987 314192369 287681006 434638608 400439084 473527511 52663354 759818047 637475887 965771286 870945548 867309589 208158245 338649992 188739859 668488312 894214461 921778939 860129615 761385804 297331863 963789678 279619726 527584373 258258160 550202975 548862665 19295189 202579158 863944816 852281583 538411940 959469710 582003207 507971574 152240561 821265813 595314057 590317326 443719876 961237824 608404603 281196774 593355624 531620220 714760067 524060045 183061328 230552937 297621366 374916481 103849543 644540864 948117236 90352848 760142796 312849232 570082752 927800774 265504077 109265744 869578008 874477710 275291892 523556707 659706275 701681395 351395289 601694162 616705991 280716851 880706427 746422746 346278264 236251159 290284133 339502043 930949679 204729601 525219116 275570328 89198740 664291544 965720433 300896714 216380529 205595391 546643736 948867981 176780568 336617886 778998924 897943266 188876208 675377969 700940863 578874379 203750767 745722126 759263598 107321055 235939353 851695249 443264248 745911966 638888130 268191136 273880004 278768109 741895146 293497993 203761900 341323928 471654949 454914106 15639905 934826883 201721910 595964762 17813508 509725652 366138340 110691300 77681788 697340034 648941134 903198860 759553195 47418145 708138373 582044270 416039991 911757044 17551154 343942107 880071421 327522413 842002760 715487457 271332714 546459027 710662882 911580774 832667425 977388118 836349551 374189844 518337791 272191664 25874781 74102243 23372412 491805476 329286654 378726128 5485322 660076436 583269740 829876975 861775734 847258972 121456516 550119481 121789820 749653721 591174546 765249911 443150062 85612706 536394293 692221335 483948420 496849788 813464943 424298952 438420151 413367409 78160566 574286020 967983696 852326368 625139879 864175065 662141095 587295351 173108207 351991634 988154802 89014451 480137732 155221058 704806509 920840409 109488108 57338159 387549234 165756352 163599154 825692920 747654933 60808885 63479904 8412548 790962484 923048410 284937476 97484289 441640209 473433663 370545695 371756716 341424226 152548558 911705419 135623752 46052163 352370415 97043118 878407187 565604533 981758780 506422280 341336910 489544256 478127180 31606592 525045268 421272330 721867540 323927631 73679686 456617641 746214032 304219729 864424758 847751783 670166404 21000202 624608786 603727439 719100438 944936795 126273769 946458081 280069287 221779064 189183541 857409807 885243601 15627586 761590419 811738662 921762690 383024409 905763427 582047626 381230894 992664451 685818574 760744093 768977164 286856320 616775309 82809182 165361404 790241341 572967338 909738616 472333271 603376969 832032867 188481650 829335499 605952485 763665140 608372046 111684558 308349591 392500192 910773338 575546306 445357217 369694172 541737214 267218833 857033733 139166292 922510218 53459057 540491789 572312886 411894408 568608198 616325786 289483354 97377286 482000374 485300140 802714093 955561459 465043248 937881322 645200913 571614995 859503458 222183670 857025884 972054279 86988649 959169306 44150309 808358421 933402732 543619463 223082034 750366571 651459585 232656658 152546515 748062532 676427745 131585182 30557842 206927813 429596496 277747221 327898091 842586110 428831065 843154447 424781665 324558925 772870871 251566265 880989352 903973626 666244648 846861089 321968273 360747839 964448232 242555146 398045099 966726258 477233202 800861402 516461152 397322363 105897455 20576615 646056172 463164176 561832071 533440342 249026348 475911273 685761326 94274721 727270400 1382274 129407971 77778200 72317901 469179200 919537689 491769500 866753467 999312015 517802234 365549514 589710898 198737383 51836695 652109955 50474570 536079149 357899936 140224933 909991163 279874495 36667879 224636249 739758306 836516303 973333290 984611907 126477176 166823520 660191374 330335498 715796816 274204410 252734226 286687136 266376305 312100735 659288026 496021564 526800852 835079090 892907203 143922497 234208770 581904433 883948075 925715577 446674203 795328940 681219104 53489276 699283092 556743591 128562689 390309264 636958400 666814382 977856819 844378469 22105819 28427884 95218201 724425120 892913577 423877238 479657807 668112303 765107071 24684910 930964653 558314957 429569453 146240441 633425018 260747389 269190115 8456874 741693497 69001502 383177931 914183894 128331601 113220476 403703611 530000364 112141858 35425277 465212784 64865448 479082257 850432633 301872153 258003672 247869586 160244727 10844461 91356384 58264924 378769199 523900264 568088340 374874897 395204205 228657848 497496248 288318925 388353381 690069895 395851473 589126275 222660743 395364110 286905145 201760401 681499559 142305256 744934548 365256428 828321512 207621170 523713258 375816906 916970679 138234344 928399702 686134448 573354394 919042667 532354843 294134884 582082478 318239965 938344227 708387685 767724224 960845521 644340672 226310599 987107042 29059775 564820184 851813276 341604257 23425803 129794058 22610069 932422901 789224365 13597696 39209860 610777308 261717549 57222785 551023552 274504533 621292613 247788121 998684288 103690500 359171283 414457470 742710867 244506874 901892806 447470480 248206690 261838533 194927619 52796637 717580830 722908711 472791761 969857500 384494749 608245915 825709840 28802597 341370581 509722361 42123417 651975715 761073475 538676551 590127908 46374145 502084818 622801681 309775316 475317547 915221818 484901736 582550069 714476495 298757091 473618002 86536357 326453435 751501427 109773751 17825820 650092565 149567638 99085990 354326776 460001392 358718806 909767044 302454998 424230190 28456750 825428270 926556728 941512049 984974099 972340432 906480744 722792718 132767626 644960902 824077693 537234389 971997047 526451724 974011317 787193805 567258264 419099913 616775060 476119061 335816728 370992971 609086761 618617283 341160116 558498761 473956726 987834795 166226772 107294446 903510200 556163830 49373796 997903245 250081629 916365082 453088008 795873942 731675867 8845049 584462211 390642823 28768670 795623074 182414393 335282088 975598709 245366150 245786064 91781797 280469118 119719718 300765874 107923887 366240112 215299375 41903561 502981804 794420026 936851771 766132773 46198048 658406100 817875702 211550952 458165489 872587986 592699066 27934789 936338022 50273377 911777450 876468855 456197069 480827599 326669969 974004278 192344725 880630819 690949353 998775334 288025273 785760555 53962249 910303188 710593080 80300690 613094019 580843909 409970831 289179881 539863044 948848630 719122953 213140362 787613168 504608154 685685790 553073600 148053546 250028176 877778407 701846780 156483437 370954849 507468744 542641893 936931030 952713770 183305721 853197066 295419839 64879728 957854891 121814394 280924333 386974633 857455811 563961330 806653116 430366936 512456813 976697455 880769550 941200065 210689642 691432954 932086683 273672007 523510587 177728636 461919463 979160893 801124788 977811312 976774394 225547826 298814576 502965406 505459778 82057616 549231067 412134849 895646682 820575514 933962453 507260872 825468703 86792159 571278708 879060743 385129330 572491692 137110544 477671064 134943677 580890144 376774797 477564142 197106286 968068741 725654676 544683243 536159054 226067458 714794687 721410675 850206754 257035033 15689380 651642976 419058758 630990383 567692618 911975539 73703483 591960194 858052122 62676329 271085738 606533983 903185161 633778423 375180562 17481493 157465479 934511501 995422804 830764378 819160189 841767715 609732977 271412317 543855548 176690673 403815365 189616085 732661579 930279976 811315667 380313599 344153713 408573315 231706532 765377079 975804827 570294281 324375103 277611397 185210874 504691744 910981472 295156968 642971653 683892310 830225299 975609616 890135460 961036478 257458237 143245974 673827989 307382868 202848222 831480104 423257059 768522820 73048254 453261932 486310825 837140163 507433075 574706608 240677273 590374768 9078127 163728335 675292641 450678084 227236621 250157622 105353359 374029977 687706611 971581190 378478781 79177072 967238559 299233850 834667530 623926967 319407537 947970628 229007143 730691502 341621694 295863099 536555699 578760280 744320304 355672158 466439336 197427862 138244959 853282077 515811957 203244975 516761636 290999258 99934981 279129017 502460564 253333817 11057716 395791828 429612485 313867850 444776511 576185753 759642923 431349253 434991207 402995436 393110361 758904571 281358871 902258115 873806917 516422171 200513614 904259558 459627829 662249669 783685358 11011589 114964851 730131922 446360471 963394108 105153243 367722733 622574413 20922462 833605714 147416234 187708165 336319905 556053882 754932849 958260789 662569238 15509691 708794449 94188511 855746752 510410358 190818403 712320751 797319858 313912030 356954883 647203262 638110124 581712800 920777630 401652803 494475550 490315969 230733413 859503527 460941304 350923157 204132066 202152542 126151216 835525289 964498577 717310067 559241916 125094767 760813097 577894074 516336725 821490416 481026200 911104576 269458754 128315328 487060789 672542184 647068139 754825329 902276724 132744816 673251453 117296025 601600208 144890572 302425507 621749463 726531465 541705421 447935597 774333398 486905783 723858557 655322203 778100849 166590367 393755028 986075668 670489342 441980650 362315172 745391263 719639286 220726925 156091445 387450689 396700225 993449956 741905621 629607444 697176870 547024583 473763159 834411577 175097350 744120421 22600887 563226234 135642478 586798673 794247413 791255785 750114531 784554827 110978078 921710236 897590941 265253389 20639924 438386402 990577134 525608513 410776944 295992165 803807217 261007206 109603589 501102570 773208536 7901707 800903534 541918682 170494760 702674744 919574036 27211739 506076023 205450265 624250238 62968993 182103064 413250210 241033831 152946022 256535037 408690717 273012971 372830671 48247558 622654148 914586865 134568135 258144303 465216202 307011123 815748643 955718442 251942159 437203855 947160308 614033391 573429216 692414017 572792653 578424351 987619669 161495581 488590260 808745411 954903710 499776838 42304441 611990821 239288035 249266409 36169557 753991784 412019018 835038236 990961963 264192198 281950313 158741079 47654989 194085576 763523560 793552544 93136684 548090582 998933567 857505812 676885692 379647402 685844869 747246777 160472326 470556867 557410682 673992061 398798881 433447599 478929600 462209623 120920727 825287756 531024502 81137602 734477897 757708319 508326262 701730711 742807016 469717401 867948626 170810215 665981072 671839611 370070149 767054401 791589026 45188550 184414915 138252694 667791623 407141893 185823791 938791243 677325376 937304489 148852006 526360930 231459782 410530035 512937200 531871829 531042325 522450018 190285745 305049546 49594888 989557625 506222198 385115307 514540438 492073245 844652478 115753552 349490830 789707872 916916778 970081250 657855821 491253852 401911119 990727161 216463047 846600194 280527674 542819891 393072846 583410946 208053604 483477124 498131518 342908198 28060125 628700474 742211110 452224381 339662061 131905521 586267607 178750500 643105168 792386832 768877557 313465906 333383474 15137429 118015086 239303967 182295410 578576026 759912867 426744855 1631665 497193840 634634413 826540946 49542517 602602132 729270412 922287476 141858328 771592113 36688633 989869521 716722519 417681230 643455913 365720505 971375270 565629936 565365199 213121193 571644242 49254458 326762161 835426183 413103938 885379641 416207680 164280079 100061787 770191303 241971813 82968300 445126202 813620960 375857804 402339115 850295616 721808286 872670414 101167098 937344696 897877651 857151491 144549755 687217877 579585200 849679281 226084826 840797718 671788592 597227276 23584681 285958935 298086588 713101754 67589537 815266912 227470848 476104400 756628401 843158485 561822695 354327662 831275020 1069412 139731489 286142269 314388679 592527585 174662997 774929948 538911977 561456304 989389213 754286156 741039372 567492320 386692873 379076318 914582372 441682582 385014758 418383788 948726494 548438308 164782869 845465952 333219282 474132880 350190116 446457797 935057987 365280518 428271914 571879162 334093197 697490615 838905321 926598263 214930473 284865114 17256943 813311696 624845553 765652404 497333284 106489835 196945286 920323732 117582897 427120552 515830418 816446884 700232884 684649398 422965175 164442986 860763097 979835723 361209980 272621537 723005561 561184765 906358930 532318421 118303273 428413574 603553587 800254029 398103889 64457034 468061544 928677950 279586167 815909233 930146492 252339127 738834966 564914171 808829995 743773264 371684221 73988501 729789310 275659025 216220180 698841235 672614814 312794044 496923230 13604772 192138221 503133620 939608843 325561319 743360843 898039161 770098939 755752175 594585818 406862000 221037776 438603089 720655332 880646720 601759615 478758104 378313643 394538680 998029660 378385302 113000955 383257083 114469946 694574913 880686671 180588601 35361743 844251098 146764787 965644206 143272552 794182958 346887865 170280133 993982265 310490696 617371499 846715628 716789636 311230475 468864773 138038331 260250426 997940488 988506173 331004491 999655314 898302122 14669119 964223344 785985043 112358823 452002570 110784551 340803572 382960685 649965693 255879052 744463789 137763962 466783926 39066811 356332378 404270251 729151391 305395311 303682864 879371240 868765214 65370879 555852412 365072302 801268584 989975485 833189305 989040589 520349032 432480688 603484198 513599239 108339071 98995152 351087067 885465271 542702194 24527579 770735734 52143346 415996947 223719561 984971009 116927491 708454417 863084522 463426810 774040696 414012556 683908888 70548228 899567625 376477803 812687658 659590011 284441776 372458360 579247273 261775178 241078401 554683541 164028600 775760794 227400880 274256189 313175776 354485381 639995072 442366692 728739438 180771908 305387168 940130223 773188504 321456037 563126394 939839777 860612518 216611941 615880024 961571793 121415211 707342722 737112277 923608326 21051363 788447112 49212983 43085639 549852466 836467456 504164333 499053344 67128053 420694216 133862307 36420863 983272106 420483008 516351606 219612200 210585477 348596890 969262483 758794901 716350040 609069782 315226073 380029540 103566619 841943427 962815424 433208607 282180165 688264123 889762258 202971065 415104754 45009695 245400304 775496765 749920867 946828722 637899526 274872132 357920729 418758615 634010122 223529632 907107206 631714834 654531230 758765848 487082225 971951714 920667489 637417984 120645780 263566259 92327436 463550699 534293024 778417041 215706462 185073264 741810959 970362499 582527718 974055793 838795008 316689584 857718380 423102498 39237682 431924893 758852882 717140851 608446425 603323047 201618150 763153027 366316816 720044800 893828392 336784181 615536786 872027408 57321351 62445772 890515725 597070813 473408987 58161609 984767092 613656758 138193173 372486694 826757890 560382028 532037672 636714819 781596369 211138841 700914214 246075092 102526552 601959549 78176977 730884675 343922178 395592288 363972468 230072995 951931661 907466147 588312479 983856365 126542809 891981783 446983712 985190388 527915471 201090743 665749334 633705790 374888812 274102167 821282883 657810138 525281311 154072798 231232312 278424881 728313907 848148875 519488134 179639385 102081369 466656773 528205194 922482782 94820341 74593664 23358194 976751059 961600614 38994456 614847274 861949734 948454738 878217123 737408606 990134206 901956924 584310092 854814766 790002654 299431428 66989009 593200597 146568381 198817116 247187422 978617185 374472459 410770212 771150451 751741423 753809109 344757190 152652934 357144911 874282658 506636653 756545243 18566930 278446702 933054790 150664012 925204655 430948152 680445591 107473251 559431758 65786532 19953212 440533552 733002878 773471627 509127669 341782751 315659284 504321139 932271491 216360541 311655716 570320320 121923609 672234153 840977800 386202533 575330767 205715363 772938289 936114935 665138881 24631236 563899517 718535136 421429932 182286820 633603012 342993461 987434598 162691877 769893364 684351771 862849808 183562390 85530199 455336078 435374666 273218175 754164675 706924104 143402684 192003922 838786540 37686958 895410733 911556010 604843039 668371614 84600902 269886249 954676537 269683057 747525259 691015044 930139186 619501320 192799885 204325624 783666065 426278981 275183389 467618129 104714267 935865289 979598756 593231899 922819891 83427881 488790874 337654472 189274257 873014811 438527934 481889392 532437863 883094046 801081052 554495932 491546318 812449183 501404462 525355509 620829228 687224640 356065968 347518776 532710969 588218258 824789017 567480874 218215995 457852421 687188706 43171162 192084450 694667561 772377471 31997638 394007125 159045917 189057011 549866990 768516624 911556280 534362243 226063113 981894601 936515490 336572838 633878638 648323163 771277907 709656746 285460263 950658438 829314259 940368933 495938754 1424464 59499322 55059129 920442267 88973355 163136088 902368177 624221751 820564491 917277013 489437291 974533308 531092716 947646027 737353292 187130390 831897225 749974524 160791474 767399995 986337019 97510307 276515200 670699125 464480510 225009006 449843254 924783071 252467922 140822382 958721686 702855761 888646048 578404833 187133364 508147140 321603642 440159108 794067281 853029391 465753979 309808340 162114952 117192118 710714365 53801673 155744881 264896381 382790411 972054857 889308778 138600619 256019006 102214699 552276556 479520289 665803325 227047852 94887028 601995941 175518620 316252290 577431652 606292385 404858204 53115416 497696150 167920589 639163914 44339850 673242005 99141506 935574067 146505089 957180221 487112054 593675627 402362145 654707778 608645510 345039119 199526060 873333230 164208626 402036418 371652219 649534813 167982635 9176396 704445705 409938566 70529735 243753886 74301903 442207894 238940934 198511942 625017028 351446109 582210619 467820829 510879415 394624044 415933246 138065639 928520752 927616970 988224204 907759384 577179046 856038760 507309976 431065546 740222195 9170983 919006341 309891992 523107578 566167099 965359448 190571928 786148536 873107345 211975699 343207462 654579347 579813569 624529434 916892922 148894931 204889677 847959739 536380164 940255158 791765250 972254185 639990052 355810059 576729027 16801684 370950805 71107343 317794083 99454007 191698406 217186673 636085007 540930594 505349590 569986716 943551818 934382266 662451739 303264215 183964511 474311383 18556309 314216014 26144572 363820472 382485459 361029995 522764634 454872300 510081438 611853940 714322863 373143716 595491199 32689955 890008509 455688064 349040389 559027653 225207186 560074807 119272788 34639966 262445972 880828789 974466309 913690461 144900475 43834546 588229990 530343031 342718273 915159588 799529278 366572736 819777348 163556406 681486967 990032117 989457704 12698388 625145272 413307081 192037294 135206362 270171593 102144677 492722168 323558258 368587876 990444037 523061509 210321734 3261078 150906185 499265235 270763881 760814975 629550000 533212106 333496211 801321736 915421646 779774785 674671565 500169577 820999897 661423555 91772522 931849096 609708607 638485317 624230066 903137779 756019930 216801567 472383655 114021923 954942093 186395688 433052712 352912795 447182112 592325453 829288170 846855575 497410443 558454047 215177744 119935245 109287891 640427389 825994048 537240455 737848830 937708649 562418213 116672034 443020698 804723728 516004946 620561050 196868239 993909377 565075960 892270091 432081777 881257051 856856158 557587951 379034623 892509551 704493230 421474862 114186982 537823941 52883355 432622400 222984610 625104363 942828257 517626008 691610507 430090623 193860113 146716533 946445073 860620200 438936181 619633865 319748693 132700243 293459459 122043984 68837718 780113382 84694358 488211637 481953854 30354473 318952505 554497533 782906872 749651947 175400581 202666623 966126060 679275514 293902362 45342004 710855360 367587524 95766518 529760560 646336175 492938427 477180964 696926082 366391902 21614497 55402299 181673423 760487777 241285103 510647520 272767834 924557417 766294556 165487099 71350872 938432026 813673851 239381207 270698806 367515102 263429396 870105809 40885190 308006933 460055361 928640182 962277935 352288534 989486706 936644527 604715374 562393539 296227862 451033606 748451155 167075944 308249266 175063813 446868895 88535744 812151848 422376864 322411802 43925822 195224540 941657963 789758902 337489994 665269862 772807753 318725961 339161028 230717555 585533050 394295612 6722670 233525336 454076168 414103184 493195247 120546964 338358289 43455711 769788641 99921281 173193958 88516883 880476874 485884140 312883482 352132891 933332054 11384529 818646324 519604204 333555850 901476133 841025286 216619597 451078083 370775067 954438765 866162250 163703412 323624942 191825607 335392854 683506521 619789531 212339284 259824512 287020987 463828477 39660561 701599483 323186552 640371670 411920832 458567457 847175549 998995110 533847329 344210160 439201880 508470059 460739352 399564255 57700716 977143576 491554518 789282953 652490847 547547893 54123695 127036140 769897419 893528565 259506282 368703322 860792972 747966522 446681934 697305123 353820720 720718783 530410123 357769044 357915175 73727904 237270496 744933936 981799174 239664691 766362800 660142770 616168039 895157681 494498301 526062003 675249724 494822331 676921913 234818832 352837369 354744525 522681269 148844744 95165913 729671711 30966867 645167390 527777488 39056541 409786957 360444219 331841259 557880266 195917963 914584907 889462528 260511544 948312550 533962296 104417090 904921955 12931599 782986261 524371263 269102451 332123828 57944093 646767624 770266063 805066752 744101638 726396109 539620383 278759330 425356374 748048285 736818998 458307421 985908854 570050189 603573429 521616565 2112150 680873135 696939727 585890858 444635323 790820744 666414545 503860628 401066906 394997680 857707005 754100612 163126256 64120401 579615383 97138214 735959170 750367582 205077524 53262516 139506282 921730923 254034728 347510955 826884798 834610169 478093510 648777112 95702619 398626614 585949365 222675945 500264920 845167724 453288885 814241715 880275348 322185099 13459433 315499929 332081319 319912100 515595316 251457107 929082869 466358812 878177032 555218445 241193756 139522402 787488650 701488543 705908016 595928709 474341946 997931999 779655622 247301328 660236739 55312466 640336833 394127326 780466721 473220174 693321304 269057300 374576804 165945744 884616069 419812269 71224422 223383728 533545800 88059177 740256269 797286804 169567153 571788847 134925124 882866417 501417976 641024848 361926928 483650570 620429730 717875874 487284978 28622262 710269577 971726640 993785885 258993272 71017230 32774123 655129251 883078945 692368012 716230866 964549479 867902715 385644268 590993210 988942821 370306402 171707031 641322670 954233954 55136328 267388764 889359 730308725 867757196 231399347 832892053 137273079 93087025 139399262 154976317 230228946 55981125 84120024 851628539 730318078 428807301 84192770 644316027 968044476 442936983 352819150 173380780 38738875 206615549 544446558 502309722 217602874 702186650 65865193 998817655 896311412 859113500 449645018 290915103 641975264 548125300 301852170 569226277 91466873 486406541 905762136 896398067 495874954 491227413 871306135 168088651 108454241 374963808 545569673 607693129 712496323 370365269 803841425 382640987 774130251 851013055 754747995 626388765 526610572 284414238 135210845 131123303 510460 569309743 258690149 189897937 413635274 467615507 486846733 93502733 329189430 321008448 611805082 745651486 474541544 589098761 665173600 858132946 677106274 935874665 485250880 118478756 554455945 863516531 543072032 5385882 807380638 155467570 158099739 93949648 474661032 673747933 662408731 428140478 616719773 715820891 966173164 819846543 452823238 792891420 860988735 619369396 311891892 202538836 930290503 783592907 521956515 491886278 506861007 252686789 605522421 194734972 848596969 376137020 42314780 525806944 427105310 193994167 332166777 416410667 702313989 247436891 331585665 86915851 151834461 592333405 551243171 776226424 260773836 315315976 282862038 821935172 222188335 234013657 193232323 36571474 886867667 60180817 125011486 104984549 10781544 26981147 776315783 475084981 645651598 389131390 152176754 724821167 419046052 26015482 185694016 181955445 921778507 414390502 172250138 894443626 881760440 145056001 328162004 176440191 582307177 21400417 126949854 719658131 484180466 670383229 846318754 393033290 78569846 812189221 213072349 668350596 351137336 702127797 178093817 711053839 633528112 954605843 123887289 155537358 614422842 47210450 916827586 276856252 717002134 903469797 674650422 949774579 781100734 741363693 481682797 240354472 395055647 340343247 33469446 466686328 757325403 597005470 957727467 198169260 910434038 628315222 94353456 486534495 719593244 305454852 941815549 685333503 741763075 212682780 736222009 683804665 379185445 228281456 342048786 904841448 134724930 948510876 524328162 969049818 628293745 280451473 934843953 258813607 781873096 566146786 287024623 123060897 765098074 917561921 690590454 891494147 25925223 341925951 885146285 922907103 289457826 948243455 395034002 654160664 592501131 667623024 660442882 646750676 311507259 192688978 290001387 459002308 460410992 834003384 101259291 575966346 536558570 283976113 519456381 239112712 46082678 279017493 874410694 269238351 137061838 574540505 613077925 242932336 965614148 338849349 163406568 998687401 803614094 248077911 819511805 367592328 366959629 972968194 324810436 89903383 811259813 273724382 460836114 998895281 963666153 364933686 414521672 72954035 374167404 722157403 844614129 586538125 925888831 598388842 891331363 864568317 201983696 264730886 85888007 607335828 985319650 593748484 498184904 126488998 806416394 49379797 329948673 416722997 108799347 723806117 157319301 985114660 976049834 746170677 655634286 206775782 196503464 799238743 993912482 568369434 31374212 109989706 594248976 526853671 869328983 162268262 626692051 542174315 794775087 406451103 616092626 717467192 976141194 647558690 814164955 933270255 230507741 968895222 855429431 977052883 72320070 972418785 62376358 286272304 464771199 471664960 926259002 462546380 672924103 486163053 749830785 698515434 308073618 567086842 786330783 61888916 883388009 352287947 673971376 3236397 478968773 203338899 323760987 660303956 258149121 47644264 284789740 587160961 709879099 363786584 280902568 467483635 584023882 996690154 4721360 930202038 129855467 228450607 22388975 230264075 576856447 334296215 380234877 313954751 305008377 837193806 479015236 920385228 954413237 825618187 698267051 36423096 112466737 321118948 960513078 452152876 549564225 236443572 151914764 239529841 135471288 387633143 268094856 463074305 387665728 230859473 724831369 642984804 119790160 337125138 39532377 675743007 881012063 422355090 442836346 804475544 453269539 546658049 235500881 758453330 132256239 67731010 901415951 97590165 2684186 328441845 549984517 756349763 838955908 183219271 145884029 656580637 591748761 733552400 207895761 178748972 901214247 567061423 710766947 339476441 714429515 709929583 743044027 771847708 184002833 678826582 645338488 500054561 232349626 238922323 993766894 645151816 742525793 821891139 665413391 412392832 111401388 709002975 30918153 959807139 232329859 423448731 90435325 381293161 494203415 395152263 26655696 627937750 663736834 846481093 178937768 66841885 377447951 81066358 962132156 902688987 500725843 334462264 804478895 200370888 917415801 349242282 103553851 21434759 451450635 417867540 241993697 182730818 930590584 26435970 777432892 849793456 588861599 362335693 207527724 943411466 273609132 197981197 929355632 221124337 931850324 28114926 380658766 911685584 442654743 361758210 449873734 657331708 916158446 435460018 567613361 590300579 945155048 148696392 206221637 691702654 660218051 744082500 635446197 206536773 445634345 3403685 427842361 172873175 973522435 37788456 261847895 374386063 315980114 863656225 577936553 847125597 443116325 17956139 773395210 37544392 939844557 677080462 151967952 445681514 250635294 270687657 110804971 526720316 410726866 337981299 577956023 232353610 259143947 68680204 668541054 829176393 558657816 263416329 590530513 789329699 345965787 345971381 528641068 498010949 830351404 233147597 804527768 965535974 358028208 663811316 662058003 958721668 507985846 26397075 360701813 208078714 808659408 860727689 640307693 294153775 950426901 230323793 611550724 99346987 36332230 712274500 662563238 117733423 749597203 468701834 98211423 342377880 150040016 514856749 470567406 443480067 197136107 433609267 792875848 78537469 140000144 872188121 596746854 657733942 872655782 33309536 708638662 451513195 850781623 793936504 910897176 856934822 642906966 786755969 569579466 685530015 347717455 942560831 154589616 444755094 726909145 186698745 479590667 729593196 201805790 293742941 55348779 340972676 976650563 11462723 887520748 588988186 534038169 996523072 598398747 744240409 940289279 351969569 246129774 215253870 692058680 802439195 99227690 111483462 912167993 151893450 409287746 917437822 193460478 882635231 910877896 671514046 812879393 320818595 371921079 326404629 611367422 982433718 715387545 746624373 731282351 404090594 547968729 71776649 509693778 780481282 928915672 480515207 483449033 82804200 153723380 514822708 270453954 681233196 782539321 854267251 177766794 658194815 201327571 525764296 244242587 792467799 650491674 584261216 178978380 704766856 890856993 856344948 592482027 45898814 67602572 545895060 310220764 278300175 802618130 843333233 442485211 361033997 185911144 931126051 247151075 550424232 515803036 886047429 845861327 539213724 42467612 501161465 79051594 29915844 24216667 613714120 812703357 217434352 807917422 357414270 670455389 28090644 99305690 987110747 35833928 167240198 516228032 470034857 124083168 380838075 508761680 418740214 573487828 975495511 666018486 440532564 767683944 838146276 605745629 642257415 362815046 810524109 756387665 441751214 871503253 53551334 739221724 814688798 366403576 528456135 572222607 293441622 309561056 984117284 574152530 107254664 279925914 324584367 513274642 374085449 914005689 409213928 232612419 313280192 147536307 329867760 879144219 182901855 78116803 645124832 792298987 89346075 192054737 523839756 495635165 304208889 76364958 447647211 955465516 675828162 514797754 788633117 109434478 98042201 573128936 846622526 49831342 641101975 164114644 509060899 11653423 582682426 271493093 253296958 852873592 893603034 181976701 826280 38060379 843450979 402555357 831675292 370406059 364517855 340699200 795565724 89505398 70759082 176350182 664784090 128236754 60525307 834989706 776554275 975833172 15115495 163631186 907313955 342835398 567864405 260737596 978285066 459427595 653283372 407312975 553732474 982875917 283075245 994180914 204503989 131693961 558523777 59210754 663931953 739103090 639750971 947278196 359971587 782138724 599985013 372707737 154296057 227137439 633180920 285460121 712239685 285599515 678992059 176002685 783197266 631495591 921816227 367619026 150894244 730476712 928075612 477007950 25341922 157808082 876740502 781918598 589104597 170229447 998147460 71261615 692926840 883253302 392291977 901040137 67799456 30395185 119992086 3456659 219991295 538693378 120010791 497977245 258879932 518350642 261253840 516106213 64348142 1990319 503700599 183453917 722687516 813029182 526651123 881408322 821505195 381209087 194339776 688345765 236516281 399432555 95338198 686936935 65966961 600897073 209927872 914852752 246731119 468839402 568278392 28569115 658687989 515331076 665935186 344717806 809108978 713494907 92782467 219283131 914173840 540950762 516933552 516177433 789623678 529538204 895214409 46346867 476498391 941115310 745669865 761384912 62973671 129294120 123281574 405725522 846049038 72019265 621789628 171240218 927993362 186856692 783439781 152546413 822818472 76330846 940769037 745048990 902463269 808324636 141926169 368578430 77450824 66710972 761709675 578329315 759235871 88450695 384610788 229738988 358447136 930457432 362026070 417014904 954739914 604098907 9877584 780982783 901683298 252445281 272315969 421271221 901550118 888713721 877763177 990075481 314514080 792332424 398907711 956122028 423719847 907273223 355277036 17466166 905935821 367935051 550261900 246551184 862806668 488922148 253153115 435766302 774646752 298345679 631946946 606805558 806826805 133750799 304743087 252568981 632455069 317052390 903057470 417903349 620083622 317197430 151279603 220458486 844235611 774999769 237349307 785031033 682397102 875039971 398750668 75302232 123085292 309147635 168331992 514189932 974377791 663045535 130635855 949459777 132363495 619223873 688226375 382020547 35384595 717423755 699705000 108665808 712092744 570071768 987631348 125598461 960179572 259784860 53230175 499433249 140868793 790428092 76652218 401330311 323312497 233635595 26156864 574196683 217978914 197442066 879321468 374416737 473541478 21291586 574618250 414648863 339555155 418247479 703505631 865113939 800224167 282728277 363370166 434293219 491407000 384246376 898741681 805493274 111289887 969967296 390436671 712287735 621099608 888128764 932264714 157475318 16854789 84340010 77820550 303454468 294881205 716202784 497416083 890509035 809437566 425434078 540632117 971025215 502286967 608653465 321630690 610438598 570112805 609163474 844765589 56256169 141824808 925040189 395798525 522016628 461907562 771807538 918040986 13797864 620707224 772024443 33336446 495735550 437518883 840042105 942530535 138151639 235054788 306407753 925827918 385451331 627341693 554308044 788388189 545550852 442934580 976763620 203323815 895436921 763951473 722278877 716526963 538813982 788539732 934997728 637601660 830802694 135417587 544667189 492773217 545376149 716543721 190757761 820046924 797707246 978939527 624466757 497446408 234767391 767170895 170611946 187549408 573134442 333408462 678014202 700362635 253296788 390350694 336278760 661305371 686316873 29831850 852876599 915527450 553858954 820949070 454984290 681508077 376505110 514234918 107275060 528672671 955372884 925230953 839860273 177981972 13509985 351482747 353621842 332180125 767036953 750118810 669839687 763209956 17795289 260430623 288937164 532489855 8743324 751229567 143379738 140587772 513838626 951377619 287813083 47536438 309008328 321674264 462394807 373861426 784881788 538768903 717801509 161499935 381797208 478671518 103277802 951331811 891008364 169633626 48653720 342349688 774657240 146232487 492460721 463241869 542834324 294186320 968902236 442098331 635746169 168821328 959358000 439895940 480641253 150138573 37806061 337324139 836786098 719790078 586539006 540993875 891269887 658928454 724780413 199590658 984390447 121149217 592200720 688942473 716013219 871571815 832964000 92334769 930741159 47856070 291450295 411358138 275446483 986550962 68555864 380772204 37707635 276437241 799435308 203341682 812949292 654472448 834124350 797913974 658066263 165817817 380526264 445633232 77271936 502142588 649696136 441694102 237357256 676566005 449136965 961321823 370767845 254228150 75601051 888801993 164127204 351355808 566975567 795900037 820961539 686696246 426492211 445441469 648741898 8191051 522330970 992869243 579930767 773201255 435043313 712045508 954459404 121647256 847399213 370028543 115259330 422426223 349513578 391518498 193197161 831125794 108688990 400051124 731901287 553368455 465013812 408479353 682489944 382024796 405377553 157858185 30598645 295246724 204539019 756549472 624114879 613286933 641295743 25330128 471925663 776691170 649298972 647547598 578149895 991672681 25133741 205897624 470193673 437242155 99121337 691373213 218213025 437935641 581525406 645724068 887262572 702708050 236639984 182145354 973967273 500762738 565171628 512835394 4677265 540594904 749571434 312956522 570494239 634253787 49753228 488996756 95702896 719595397 334811830 363242804 183382375 362023261 197101046 915291324 927222251 561831990 383920348 977721318 388639078 101617752 279112745 803289550 737532592 78547548 125791786 652392192 764327787 555636215 635696173 951190722 771104948 948796601 107233923 928299680 960898336 185052757 215304784 556863078 877183583 822091660 385429256 505883214 767478709 180357442 299122022 722309980 938476850 590420592 192396512 360298368 431886454 842007954 370616270 948809699 795246078 403726875 884017246 151980650 778441501 375840957 100353224 69139125 481845535 332815145 6957370 159738690 54709969 671645427 587552374 938495757 194020787 462182638 155688785 859476843 653372407 407642715 819620659 291779299 428063105 880892340 934057531 363932272 780549994 174998114 740475687 681258065 576044269 104019644 875162033 626615145 129688895 130345570 316930333 398612681 672345850 274497729 638971452 335771415 935213965 278004642 197924305 84494485 819183627 874621514 42565324 212928507 703991389 316755226 816910377 586553351 374788867 931228576 545087051 378811123 118917260 583562809 231562325 659388036 802092375 824092580 139051834 866815731 270419358 865457918 198828033 921728430 874734238 60035402 563855192 577019610 630679049 757026244 492705332 351206301 170626224 20786524 993451200 676440839 489973473 432391156 70591489 459506192 868707311 396371081 97846579 734015478 120914985 289969971 212457220 267701799 105424627 129585598 728621747 742650240 993364019 259706279 444337349 203963384 712740690 184068100 672103238 461567653 836644819 397690915 589727252 366319243 466662916 793268857 611191802 845622814 564135480 546761279 745025436 823081407 430309522 129066813 534372731 626629806 857546811 926978826 909586965 493862628 760129420 340504670 165957655 354760251 752534544 977461936 481948707 415195112 185693400 346259357 213056774 156051076 267225316 467243923 613946683 687798615 304037464 227417181 785465879 241635001 452360123 787533694 910583060 799779282 19142722 313133273 505997284 556371849 353045832 942267773 964649198 358823481 441109063 429751029 733965429 957428981 664247053 482168253 723071448 674279427 147346833 148209755 146020179 24153374 521231549 902576124 184664872 594802964 329394640 973224822 475977167 235417963 685076652 396522864 508142616 808878218 700943927 28523110 859408960 773513686 522661552 890135161 755382261 595868359 869268340 974036786 618763840 637293629 587629600 636302196 667702374 960280676 214844002 798382462 318876407 319136395 266035802 686902100 546854464 794703350 495958894 110115785 397131742 462637733 530134082 622698501 678686317 799557298 253836211 475575106 714912563 319965411 418967787 325013069 636775828 468753940 9076809 917249904 599394985 283329067 467513969 914728479 288770369 970382279 253161196 479684376 527552850 758656205 225160912 885804954 171153290 60674266 884570001 750911274 474627919 873031273 607837860 397038136 228726593 405126140 393936028 96068479 362980884 700520261 358899737 415850060 516303369 520427603 960292661 399971478 111927947 577527373 399227409 211355364 675406999 947432331 109188145 341137330 563802689 121987965 846154232 866673785 971210050 529875215 500669846 637163292 443792035 246996898 93188613 233083057 655039986 647106728 232269879 854633816 595449767 294237282 388370900 438205856 29546267 495173309 190256195 765265061 711898976 872661529 734781002 145543361 354377166 108547000 163887061 275627860 84723864 585348076 903874105 964342329 512815289 781024578 973448863 784359756 65000140 551889993 624790251 63237532 32941641 779887367 130930866 358343773 31941030 269087715 744163673 529573345 844179242 221111700 761171778 709115902 451951461 42008789 19710750 659998951 23995825 808290882 542009186 537274557 502250264 306073719 289710609 644442575 249819873 191386806 252600053 654253381 237236386 569815454 678599905 629526269 32690221 807580194 275737178 628949223 689671984 802184068 184155273 696131614 34656389 538872188 282161238 862996059 817774562 101555058 787475125 996536731 254090090 384473839 32392336 838328957 47442200 864948144 817539827 725721799 172771645 70124545 392371505 938734426 57692678 532970971 208246808 747938925 704462528 356299693 421536606 216610076 47744268 334339627 447868069 276214678 232780297 468885609 687699367 197764072 517537146 575449509 721417792 808955719 498743619 895570396 765016639 780744496 715323874 159020819 915589780 384689402 94354636 473207981 203269606 883239863 229372078 465323058 220276259 114084718 704898499 818022242 203629552 427441927 574039545 412239631 980987547 462015485 499500365 462583733 553082430 701264530 134212070 727966533 181240902 387806319 872602312 967329801 78816476 126384524 960796736 601218167 858482135 569108386 992647553 226017690 512577004 557510382 760828879 870664399 723705169 832959950 137142237 2589873 542592079 740526241 775898690 588140331 328675028 434351711 292516027 569272443 279496471 981700406 996179543 660918714 133681478 929398728 881487998 543172812 282336633 146494049 559481254 207178687 75358817 231325445 65913641 366862565 260470156 589078957 824718689 971746962 942540363 957686323 416615704 752813825 421717399 536833565 259685485 471932273 204647391 713060569 140830286 894398848 804234030 424787430 302199646 380789395 490265847 236928687 765959055 992035603 203982515 114968371 105897240 960100534 261210992 186691932 53573555 220379426 924429401 672986020 303558331 514215738 539259943 123815364 560526724 557928751 963154404 310794101 983933662 512526165 851589004 526084425 697547450 216258289 492131166 572344886 666954432 759724156 484140559 396725021 137861014 400574189 377226074 546069471 876173256 891262696 446113174 648039619 259905277 985384487 950523462 461023650 295205788 66375053 917470087 163829389 731832783 722969038 429970067 621305766 279403107 903661390 532754447 92715855 95707178 413146402 803938208 121958007 921661246 714782076 633398161 109190517 607027422 595685486 850377902 229743047 323551662 219792439 216509911 618962522 189855836 219936683 920289055 839195859 364167958 442915376 149469664 445877448 561836642 542763268 655220363 891291903 953016722 781846544 795099558 17191514 727375973 662425366 510106933 349821764 691048 562216539 565449308 572452935 485670572 778003711 879278671 593525738 958206283 510660342 581266246 199656720 985362296 123904889 385338310 496137417 841305588 543843125 654460045 908647389 246888490 677612583 60637881 933391448 272694706 178120905 868474635 553666186 749153851 447586864 448578431 855254887 295851875 945095984 893099078 70230509 876094778 830012182 369391580 7342110 782863693 700704175 491930280 230297539 781146162 784995367 234386669 364833871 46172160 281981201 831505247 718716020 181393998 107529076 255871655 356030037 829209511 93607635 129788910 267740146 648700726 640422900 256835922 414982169 289033879 511917285 707185740 392766168 393712931 583800191 703365732 108405918 771442017 718686496 660055861 510171699 257845686 29143875 613300658 482491643 470737465 951695780 834998604 802868847 305063748 905804941 528401624 282019226 914722665 772589127 225987999 543453927 789466991 539751208 732072584 566273413 884656526 396847513 864489371 632560757 538422896 107952838 569153910 170800147 941917637 154645918 204419660 965778142 202747607 32949966 47228588 521609677 479299570 618723740 912672145 404283452 921950410 654900081 853198469 961730128 484437919 325185005 150513539 193131470 276128092 809019287 467141645 42098333 702310180 842173769 574844070 225702111 920701625 941303512 759609568 412047261 145046555 637310568 420787705 231478220 623916823 349102278 209540765 572182077 678863530 572684744 794400409 672938041 470101407 236021649 617935775 654942430 883147579 308065501 171216558 203522158 874277966 397790248 45441777 400756977 448337125 670559171 440021484 113499788 933828130 248183444 637129376 606795460 756535959 346760886 669790106 645889682 862753980 879414552 163634914 535021155 310335986 400491520 36885817 694849597 637834746 263148101 983061431 819269639 269867443 433218929 826741011 482975743 750949216 267081015 293786075 926139579 440127007 999405290 639922387 482189332 928385234 886036700 849850174 808833773 746171450 964737828 555085647 822189444 182123525 951623797 221851040 457272934 552886375 909217792 423854512 838905173 512188277 550955197 759648274 302150879 978747233 285633292 451589571 878677705 999240134 833628318 940207073 367377340 299933319 604016338 13254752 926434911 966766109 512364008 11747601 48690244 124603554 728089907 560887624 561566607 546736515 891492370 614246867 350495319 635870414 193492404 529921445 292266868 212151121 530888800 433056056 482484436 442057645 781163666 871562402 690720938 199419040 428141628 583428879 589208795 26932259 327063059 433908178 281712333 504028671 78023826 892514453 716972907 165615211 197819013 127498681 374609116 959794986 285571808 969785616 297832539 412849020 579217109 473452350 158929813 857398237 890231341 361984629 23744547 110530685 84132923 298059548 740161425 213275763 124482700 629518479 694332864 977224630 759175215 824004976 949221964 360006141 141146520 682810565 243554232 603033921 192691970 598866425 981552998 164314719 277512938 559308027 229848630 511068502 860839608 558939787 406437548 394083352 360515066 226368035 760948733 537258897 847946902 869233096 660702541 6765234 637295256 254357960 792277422 316963312 6956854 430903224 329275991 482563537 442192401 105034392 190960042 402310818 406818249 471221880 62202613 341265350 831928814 786744958 685044160 236004807 918180653 571245334 518278778 779191941 928590955 369896241 550998944 375292058 753467754 500571318 270430728 955615867 11424682 436677563 908675109 839071681 768808134 465355152 55796872 451987105 191260999 897976729 728647458 169535081 605471671 198667496 385320804 979361421 731501631 925463202 459303424 52254605 153138217 542761535 584352090 851697718 337450416 973701993 577866448 166582365 692496806 725743891 15243142 807311473 278817537 139911641 29671007 948810296 995124775 93324080 82802660 383248998 742989156 272127498 155793619 29330905 448352899 90877832 813384143 486909687 89223459 625684250 784785750 600370356 679247789 46542477 451510250 122707186 848258398 37480411 355740812 892841512 241197408 881314510 357783798 318738802 949448241 991965900 518675664 873716300 963980506 614851981 215148040 41309850 47734114 741374648 86746745 695086051 230421781 3655701 100686109 701682425 238338696 653271591 917110922 318090261 722226809 316764665 113681719 546269824 364265280 687981637 84005201 228852606 856988575 728553941 270580168 937926012 656621853 700110140 276217917 809850981 957866248 175219269 573520762 696649596 315752361 73750132 191268965 349779881 406721252 545700809 932817930 828726053 299744661 827399638 263481599 859935515 38909457 811630265 641492950 497518094 92327603 995830707 758386525 365783538 443581021 897590055 286932453 757644317 763668070 180834940 334229931 116530708 290390319 947409226 938048028 927899504 462440635 508433003 917481709 988586584 5543886 550829822 475422328 325344619 543268531 570516245 234353821 499627406 210911648 583016069 874770717 970247885 299557069 778263563 674078222 997262620 506040830 16212845 322584586 583285458 101610094 952662963 653556280 470251578 631224178 110570346 430794870 186981615 610979127 639855004 397413923 172216104 768499090 393072229 385594487 112563469 861309407 809632433 399893011 555163558 825165032 510255009 47182454 999009413 431449216 560895029 334068074 300379953 896452035 971050297 722443711 991182919 703251024 25578266 748502888 228791848 414072437 862790822 278718043 566078530 788766476 346616045 723171047 805486552 260226012 369120341 97243041 962947943 884094233 800899163 953607952 755643315 823103356 495772564 833508312 503875034 3614190 570571601 608035218 98391342 887911135 22584445 944233363 679862617 922259736 747138531 942864775 949476486 204883671 5843450 526194770 525020158 992382984 144033407 730858538 101066292 189645666 898968406 751411014 277722249 808841797 517028957 833290833 721713197 124400221 807421120 725039597 615226984 353236426 879704861 942253381 300399494 427418614 499245552 790448552 884521134 340024782 307360996 309187676 624506558 616721176 138343520 891982177 886711896 427594905 232389678 517332722 884755110 332065512 292602732 161891082 363496211 556822107 624855334 617631475 189907413 770166764 727926336 690054330 245167277 759325404 270124442 943263218 394797002 505904174 486912600 292925106 329731064 485086435 893067370 291198384 782786973 508774942 188947896 211591041 899279603 683797579 28937735 736410101 431274377 902422680 548855059 833520722 813584071 859137120 463711793 792758641 120734496 7680637 12485687 945243 562561469 355969560 696474161 425489688 354807388 860290248 990138955 375063649 66064519 886700702 576658606 642038062 32889153 841970172 279977276 891126968 331201470 8150703 546665223 339692304 54910565 269294060 537112521 11762742 564633458 592454143 528284441 454210703 971558210 335443455 84981328 777532555 232069984 745521970 74682702 73425329 470916653 551761107 509676712 433363506 562666268 302017489 650584584 655686515 685327361 323512230 401421231 806737750 931776465 214768282 692597197 554954507 93815244 461983999 453118971 616137023 290311596 230304901 608496517 653102392 997426680 357670799 250073538 389052699 550848827 936132948 277052308 760706218 794690211 524546413 692544454 404838053 730670867 347839036 164640652 934728427 678493959 126489781 742701022 944476760 585276110 284165678 589855152 248425783 247411254 191742715 825260730 346891892 623790286 416846019 688192022 626446798 312237852 468023186 901145093 634126910 494228187 529686565 877280874 64679384 238207892 286601602 77210121 255079674 735400905 319257064 658883128 578200898 516177941 494131217 607003154 656692909 886848157 993030595 347650448 609251891 171740673 25425226 126830540 437666119 810223289 715004976 520904108 812910059 495902282 122526589 740073460 645588008 130835077 584364978 786699997 11432478 635082361 447885428 590708025 311461268 357715500 422623396 532425229 58417811 235677495 151365315 495627674 601603196 149218588 643761000 181338888 658885816 355629087 556850276 138850552 61812866 642292052 348472498 233077292 47132686 21783387 782383352 751489362 873842480 618946888 355373585 850137525 344232037 544018346 126245577 595283050 894520334 692110472 347189558 744423096 743410363 247656248 881741348 15262638 342312002 181856664 509901821 827229721 432485843 690488835 545838642 463144751 569379405 42226858 102409864 370803391 895465163 269905254 531449262 440994763 244545927 374666701 823888191 709087357 947000552 644764010 404595492 500996371 95753735 997678371 660220349 980616050 621302383 121890115 600896032 249588262 86208864 124205690 919023752 647799544 176611747 142914386 178218343 495778402 5521398 428321231 358056019 881351777 23751754 464523656 353554547 247885065 649205722 267942666 288023450 566583920 925663740 916296966 225037068 200713227 244419120 666359568 213800827 431257984 405747440 176288998 338053118 404299802 43472177 70001636 933376959 421853074 93932 921927860 749146997 737655441 735824449 436064752 856009690 157164881 217345905 733805954 323688618 660504868 986001731 746043900 397296139 867034333 7042928 134077439 880308166 323194549 544332541 500469663 877554746 987333748 708342907 896414816 585999148 410476929 127938977 548328332 804149016 392955898 357765186 932970529 384186192 495507040 54419390 856470811 673441203 983860364 791475609 848187580 481216488 819205879 350438003 219113726 669274729 342077739 198213768 382316240 25790436 113616506 277547820 427346883 666723167 201239924 873932760 487813197 817067969 220968924 246728057 325383363 980753010 432189299 960933125 510400753 835454263 171164162 529438957 44264276 546095672 239793622 948879385 954935079 459723530 393542357 753701430 868933092 670213046 671776864 634854604 842563227 844658933 427567266 117956910 845734238 491567659 744595649 397633644 914843348 389057960 256509641 341317381 766778548 957085330 226973017 942261424 257621443 417577298 219947390 160200610 833876944 533596777 176457502 629848536 900308453 488267929 292761510 910458032 514792541 949923963 86082778 202885658 694301911 900499714 517854174 60372382 786480550 774925127 741733534 957001071 459776615 979872081 122938878 626141828 244051222 944436585 339553443 768291893 118335312 479487873 968624564 656369670 281495052 224209994 656337491 871207765 569713644 204381011 79449063 972871486 831408368 978438842 705750585 969249843 732882984 198104821 27394595 54457172 644982588 16056235 643501470 12354455 964115662 951028741 418309920 883971458 840915574 842289184 363629779 128279677 641565817 499453922 667826156 171724977 843035659 495547092 591878252 181421131 298802844 326151979 283495059 281538308 832585878 336232533 492512242 287391136 187015957 21444038 518105615 136786762 84337001 301294711 124277657 107569285 346621652 141487699 118044150 433254003 225379051 931745456 548747056 630194221 318255932 866034979 823853850 792256759 2973195 807798321 74549631 287956979 860799786 459177169 577450162 469226252 797833610 80969418 604171555 217316859 347175477 603643400 655221197 714990095 645490276 265760563 123211003 88552423 270274030 528804138 346359190 154062127 925035146 474728345 400682489 215768724 768993310 490547423 834556488 67773641 312258173 120934666 258135551 186477890 700379880 542121939 834112644 970231523 669453255 919288044 810544633 826325502 299755512 574458698 701064999 517794327 929917172 987977979 45155689 656056789 457351541 848912078 383420702 481281668 311704800 784045668 456966810 478337073 526428839 824927676 727594891 387334729 144759042 502079307 446304438 641429427 158187785 998763502 184476694 8114279 818858663 700340003 732593009 410137443 683117417 80904730 324361483 827966264 975190785 585125292 442498377 869114587 684241901 928869715 359287834 303464669 78999936 221253876 54434056 339967753 671002411 104503236 32582365 635994301 444010474 256081373 22832591 489360622 686397412 250094108 557381284 636716865 452619460 17736817 462299726 817251956 464600852 200412942 599744137 906448939 75597941 606604534 785111950 584980292 979895254 889808439 958565607 35495648 643141790 435513316 408011354 575010805 423769199 262435676 377059495 202119532 861468232 121376801 7586303 131076524 143153548 72807485 798569818 242704423 583162965 815729447 659569710 12740083 719451899 165150944 626326811 730616238 290274952 870294183 49226908 505280886 58221539 879236068 794047654 24869003 810408963 640666383 878316537 214015465 922429374 62747834 966994503 888097314 243729409 580120841 35656572 642781598 690088482 798891091 944617966 767541286 75886187 183859626 196388716 751285253 442223294 796430787 179745080 937227228 777195605 307822716 850306842 365287485 169244419 404352561 589165388 347468229 65206948 899497200 271410243 334352296 377581054 912619540 475510436 854483730 373671964 440313560 80043432 328198902 718017506 583961926 952728071 779733670 682568039 495541597 947891647 423396622 796132826 499961803 625423257 537113705 458364333 290652855 453461738 203575883 593280815 98588120 632981006 181676904 989084231 717587700 416183049 237888278 448342289 534778189 428501718 766606501 423418317 511548818 213740162 60287930 608129125 68803173 382694308 504579066 8827032 471859860 862335572 641273038 37720693 248892776 171435608 188775889 153743094 556952832 706424411 258399330 314835642 48694707 546274926 443676285 33193950 98152342 823611092 964010444 316487806 957164305 861052971 44431353 182361855 581052798 941288353 803347131 723052662 698103349 352080160 215552373 731135101 679872834 308412001 475825260 58287615 987252616 429544635 140662622 472549225 856370387 312147448 383061594 229034111 822930236 215424802 679626701 626422135 665652019 526479278 329320099 359561502 133064423 614251890 481607842 231147202 410437007 490382431 576075018 184310357 976497790 938331879 582794252 82049728 216733669 491128342 585667925 134208862 50033696 52375511 787198515 286593620 375109544 970075859 627555166 685487485 709316153 972191222 46348041 728260041 291012841 209327068 247826076 333451607 564760191 949241696 520909027 359025970 507484866 602745785 681606379 74289043 673132377 489708365 665854274 617201948 586477751 33738449 444816783 912976641 899780991 588734656 476301046 36301448 640473478 904255986 765721592 80502839 930491839 69966235 241766305 247849680 595352845 942775517 46150980 937390291 773581206 215384175 840384779 709250328 542999549 952228821 471410666 630917985 135712886 572034738 11719419 698249228 389602132 686249602 104868866 112321813 196892120 640773876 472994373 241893038 726712025 504083925 88802705 488378675 391346945 631390332 311349351 582398227 287029553 23807754 544902364 415802891 127652561 510728505 312661647 866268596 201599238 786660299 720041006 479362414 552881507 382999816 289195588 53589260 205504749 172567650 699186957 385605360 737095061 573457680 269498073 130803496 10768597 171331674 892477131 100861196 755553914 433190579 517980839 891480251 680522285 124444760 809356964 220796431 608304048 935576479 159841722 486774655 778785270 534212028 178275642 922995874 944541097 104770745 844038312 422043273 918100147 306679407 316135023 233236374 720773038 465255572 912646623 419877051 119551478 566414389 21645704 903267785 817052081 306245952 435674601 612577322 737828451 587271203 428602923 912238358 23248563 411637517 951936297 359081877 571946223 759920306 774633855 216917262 719613889 322748630 348447447 623695066 370791436 491048016 975016909 406962196 679554653 132102962 378251125 326952963 646828264 647342885 118143646 320530150 513685800 80495115 718146575 556710926 114567783 943186909 237173694 168251325 865912314 198869475 610731856 659536676 629393005 181718912 400384578 297544043 808582420 141112426 98098633 944724625 325370822 36588508 547008974 305944 241909635 448122482 448047801 919778859 710888142 904931980 656477785 376031998 59680131 546457784 925245754 236603358 106375692 634386948 272166095 513917902 754494983 964673386 220042624 896095426 466518462 47188742 15272849 618892916 448945396 74498154 138328412 140271512 585228903 105197179 461708642 760494317 223692476 389030576 227218854 881469539 21241999 240436977 396815836 448515506 179568413 903694690 367271253 459988745 221367300 13686240 277216788 535270340 531033403 881092013 937980234 470916369 2708792 951309236 205616819 909857896 952827161 117628698 680301270 56388204 404776072 621995121 768290978 377303051 530149033 371843291 666347273 247807257 36811651 263415459 834153726 34569935 689872624 156062074 70223340 620727767 485486387 725249302 236212468 572512816 355471809 975890249 297225020 386289684 392235983 859885986 38802791 92075670 357653858 167585367 461844492 926702241 882139376 453091663 655538031 3631636 987456576 729035938 874023112 308958658 893944866 742590652 946759139 809086112 662259145 644028486 413579356 998126720 677688120 286577559 278892147 186637695 335142789 177248347 176737504 562608859 521685518 841919276 711569618 957965620 459528250 450143750 360078717 329403006 240270670 41217540 411028732 877632531 326698066 844976080 875384702 449969766 262705522 142435495 704827233 135012406 863989264 52002134 532135928 94759189 234093020 506610675 771353290 942199036 345010650 417259848 566208891 610895836 509595281 56002780 993507445 352049354 741206312 440815436 42460446 256115451 419401229 928884517 267084153 882723661 758542653 901134642 805110333 470909135 532504909 403641947 196105140 473012465 803200620 908075907 475888036 844590587 997757873 568813041 695824415 871492613 805576210 893770153 627091610 919475807 140025050 535141102 13661903 337321963 878094188 567310882 100955570 47481630 364315029 251301945 705165388 621388091 507733956 343971001 759318038 888487012 43828765 29003025 126715793 815204363 216675021 401887158 769212645 897073302 604439032 434718448 245162142 31390925 53652684 115727064 958007514 488223880 491361730 390201624 998073324 956706450 624004155 229375464 513412674 622698744 548450376 250316890 726453255 247309323 899351722 995036632 191609327 302665371 3009724 681966776 917745460 25714249 692179478 178288994 938906513 790257212 321589296 396594486 157567951 16868165 609215976 445777126 89956564 738164475 197086283 730882954 492018272 328024301 962716225 736394724 91268553 35010870 560648785 614597333 695998410 719767919 765985728 869843673 974155853 815052895 297595765 815004654 930347293 632555420 660615692 200740748 526684167 722604128 956709418 341948467 52660200 456760017 379126638 727023981 547105175 46467716 679245211 398512595 268955225 215787934 786267803 737538475 601862131 263612577 525287085 21534131 304989046 276102438 910687946 729926636 362202297 48543057 380886307 491185532 530192637 834134335 334609601 106172771 897716676 331489451 730788580 296919835 461136666 25470588 536104665 706885545 564614961 898396139 407261252 761948936 182341721 64772660 754444286 405909239 27134730 310235856 682778290 295898798 957099303 947001529 381628015 63485880 723326394 449317488 832321641 864866623 303642124 608619087 267471503 453262548 424061898 784934647 832217056 476982229 422516131 376024985 428256123 515377383 653305101 552495726 575723498 274531307 604370458 763396216 300595047 978816130 25588651 418614416 252981634 544919549 631996321 276583450 190608438 628552321 446444416 657966419 566701233 883392331 601058215 735384451 150274101 323272535 480376817 119635897 234843266 646874699 300140331 378404245 236523502 894927970 630928642 184728310 804129601 795453612 175993303 896868176 375093811 174047669 837022887 752731418 395382274 917698425 477375809 271795954 532839226 554172973 700310848 208798655 288189754 95795713 988333369 845077513 769522428 906351732 734520476 628359983 509964573 659599131 22963207 26468007 241916513 749175829 388130574 654032483 834240572 400873278 195920494 450285794 308527249 2819103 518428953 287982094 42907052 579245930 350852645 396941110 699242481 106180477 785824766 856689745 894754963 764759740 902350526 832376292 944937913 123467125 437847882 130293586 78271157 285781527 136681009 123840979 381133830 981327624 816585327 805998229 914913352 784408421 967998376 473787907 911579008 846267224 857080888 568062941 523330835 403782155 197754493 615574121 441016047 921157936 259187340 87756926 785382346 548374975 23395598 41801863 799930765 978562211 670848378 466954088 596023643 736239332 719571086 528030162 633580430 610068832 808559426 368241653 654009307 475613754 304465023 494170151 540963598 119878057 903287183 882969567 485277199 679835668 558274219 68967417 637485950 402021040 645786340 615286872 570510768 505138648 733646447 125250210 418556714 568706407 137099385 642131585 470073370 992226804 216216742 793618630 458076375 86206215 251315616 768156081 467502713 879626057 131236997 220563727 379168758 311413867 854414719 84060840 13138763 255210804 89020860 885058890 614804682 306985038 163641911 507647706 901486751 578286042 620070201 60798876 631940360 577758182 972638658 156187717 207858585 745373277 19792755 760493374 614208519 712577231 79013039 682323147 544596278 476642338 645971780 199711112 195853995 364566308 336456887 500751962 51597134 284433247 956740671 956044473 953447044 34782069 297967074 767243712 337069971 614055334 603442162 436795244 592190938 473513422 424979708 521982227 764074539 199793902 866227609 345600541 487609011 419455607 393877097 624188228 137967148 727927388 468603171 43431626 80070850 966477752 269934394 785301410 36239265 711886849 773964537 155449078 206135813 41413833 704007156 11418248 912647820 306816782 372757046 283010333 9153664 492382716 892148814 411348452 997176128 199448496 525268316 923352581 953815740 177594278 242773577 982933748 947407464 121481550 365354540 875362847 231360491 48460648 295555176 332092183 284665669 825050209 174255518 666472538 779038947 593162066 911243271 331107058 566362481 453197201 32398214 974032309 868542933 106730234 142667402 189487699 684076286 721821232 882824806 816960614 101277443 651237628 632338677 791700672 808874786 741995572 878959575 482796066 225645011 802634276 700530288 648481856 197646360 238200993 538599165 453217156 885101144 872533920 536283363 248301124 71656173 360485835 161834806 985816011 767321438 89565246 611129736 208439370 96573706 519288339 424130256 756042607 659203488 665254184 658911057 468215335 702488371 925383358 248967502 341611212 672354847 993299813 652254078 914552414 610611120 265043082 328157462 235050320 961322092 244771507 46334084 692167469 133038227 345006971 820130350 701021020 436832425 776216878 349799576 703590865 649552715 166971208 666585406 542930941 790477696 312915482 514420728 65786027 147035905 615041579 441636153 913721828 962432253 904042513 723875050 231006132 793439764 679891389 765271307 40403790 316313005 471606102 983123714 847939608 660522031 441831852 404521453 533988882 615993562 94278928 661361685 735818494 66664502 645617231 918439910 807227400 905749645 889481247 194329510 512829697 583810616 648450861 465842057 340364201 398452445 964958358 115379155 30663362 816353397 544243433 273374759 744084182 805694698 51636532 300587938 260241333 281437564 714670035 336385114 645339257 828514492 873412156 351658633 422684569 707727723 437035042 227303753 913721408 207010666 392075735 34652709 525919746 433909361 718995681 317500865 464640325 525323262 931300486 695612199 806598516 938197028 957100804 873454531 883908912 176186283 903518446 598662399 268172199 427991715 158027911 416062153 948654447 773715915 732730422 994203179 333377291 436059160 322212266 920746332 771116501 256862224 967927970 152914611 37671300 835111537 110017242 445929089 922462943 386922538 314747533 287879515 738982941 217709278 987669752 322685477 845459027 194701489 829137881 721146501 452115018 964955407 768217483 919503237 492772576 868123282 367781563 312924218 119088311 64418576 879415614 619803318 277277664 291299033 793122603 66711586 896810129 84630779 321726626 548714224 396323576 373854673 659626413 55788312 307469230 682649585 821975884 655736844 146503782 899608789 259454397 177665937 225859215 173102883 178800432 773846885 705077293 814042522 959309373 807981401 744301913 378912535 231408712 908717100 167226050 749217161 469768388 529950370 516720195 274549276 188914605 746815886 828297173 763846398 525703031 543065011 808664808 484577867 266554838 783130610 194018653 474401653 493927006 143749377 413611442 496025683 826600250 394661379 729645857 326884219 265433931 918694839 312930060 641510073 348363989 38290811 390045568 574741994 763534777 570997327 448229721 249394679 156169134 766466887 480752696 489159694 465333398 221580842 451435230 769061314 952295638 663777883 184509755 632413155 829628463 936867581 508024603 682242456 251845928 501191117 560576922 781049501 776041544 870514087 953759131 396918543 700447592 854974499 330247344 315433725 401907333 768983129 138772976 688863909 299714457 541858828 932047759 522686278 110109826 382474549 928645097 18697269 757254712 331239540 470515438 273797584 158936558 829792379 562902864 641008259 236496101 431658291 70627617 423931417 805753423 403318955 689756005 7024412 503880243 199321157 571067738 604217839 82768333 80349652 64904154 136568722 777926895 739565632 167525781 426412481 722526395 592655432 488824073 52776776 355585214 984468957 647447101 540853446 955746860 532947671 315202691 879474213 396189942 738866877 676155845 55438561 979147879 767516382 577098293 869426983 449939279 137361870 856382499 863038643 388237692 613760753 117541843 478957624 751129158 244867002 309188246 492122130 569095007 644466675 420265493 297155213 397873205 359107098 273607432 81381500 575565956 67076751 326270417 659984955 855669220 219656688 500909763 209594152 66786481 812782880 152599401 61063776 226268494 829767959 342335896 484609265 410649887 130444858 652229004 975157464 484920043 974567464 436505369 127268205 610402983 614159325 169830576 993358629 888679976 881980171 731157933 452232545 672358057 120806310 588646357 363413037 830304389 69595438 384336342 536868196 154609372 951493910 166718904 157136265 537363376 887981594 804759601 745428335 499552765 529629690 619389540 50736104 400641999 441079455 233805860 17196071 548009504 531581651 901102632 984351054 962486578 346092185 230638395 532777809 720635983 117399690 130934323 589252553 474968624 454091154 122309149 915819663 834731984 662998109 170795593 145214610 556476486 584532073 316938531 468168540 132711505 906045506 815616647 783618323 538685938 229279538 841957776 858532515 793432822 123176506 411966060 14678090 914485066 605544803 135403155 10971291 177684308 975112115 434685789 314007104 916290394 752061876 606823080 33960894 685170914 140835614 698569459 854473302 761291365 428614745 109941844 279009874 339114625 258812809 487609332 874877208 98083739 541501291 625183213 586303110 879507833 727234782 913809917 598106541 117369856 38066818 209210741 946987103 592405109 333512464 94658160 903399315 589943957 655575438 20349216 414424303 789572148 387471061 223654305 86999458 973603606 756411288 645717939 472010551 65603052 735068084 227887262 857344850 976838512 934515890 454282726 105648666 778159840 68168453 207883802 135459721 624491417 400870387 40573580 904238615 644876494 700177989 918148646 247283696 601721016 883499661 894593232 1751355 911378232 681805024 38194937 185873696 813227848 269844775 834245751 656638278 23631716 450764093 851582819 598037362 449802446 980263095 405064652 456575679 644279612 675762816 915452556 487929575 480124108 608756864 837684225 306031584 370322844 893922695 473641844 870247005 765768392 279595177 36114124 171505555 577557310 416328062 359605012 231829071 317091256 421023442 987030750 850470528 513833597 325693151 559240719 672713921 8969337 243854718 690025271 961893527 597445150 49477686 895960587 767078971 743080156 277681425 972677944 63269523 600171345 416313653 520787019 308982417 983722930 754833510 277707520 143303692 644846804 133467870 249180915 731545805 174879132 479829891 23714606 803355080 35893987 774262264 939525267 242686637 829419443 24419954 883750351 791620155 448445222 186990577 615897014 395678385 880400949 462549307 934654940 684203686 683985481 210419235 133544429 381555487 283213351 214183871 197174658 724708868 213406206 473366226 838408081 740314322 179996241 621529154 129377926 631649710 69814670 741006796 862275213 152203653 123962221 89262516 504592506 363806597 736678819 584781657 716329728 129176947 875540163 769089969 449853487 490231248 829162873 393711184 987259687 30897183 920931258 78209042 440152137 408782905 506434058 440455979 90871767 446565699 395802078 138894253 560078058 666242073 578005963 775735989 755939433 843445461 732220056 289112585 854432805 336390871 28311151 319900868 336727155 779818967 943820039 267827765 793666965 371171619 758663489 389878330 775931102 84628483 384803046 629657322 450062374 771392137 322612725 454733771 661027930 711048146 489652045 532676326 981316599 745512651 732479502 712780727 552860582 456407073 717805396 956339143 16973953 313198596 689862289 901704763 36173747 618526982 10317962 960558992 971121766 949924242 835824086 164403898 373070987 873069212 855803894 619549088 988308846 309162864 638519518 115169079 787466386 180685106 433366791 513419129 271071733 207352025 63971995 191843400 62347203 379971961 50297820 16472365 373940169 41331860 755544097 49320886 664448014 97028159 230778032 679297790 716056566 836323901 136597507 513017002 256005753 187844358 432818957 163369763 117039157 357978799 643756081 502104233 297579587 297422692 152390042 189219573 220199484 98657761 617431008 253624187 519298334 296219787 346950061 974020662 428893241 413888838 910539229 630477063 886458824 181091263 2521992 288087795 936861565 887021297 516120380 502012136 967080835 725462890 645602449 899651917 865335112 243543986 669221630 272039861 610125834 980876105 450282377 864220177 201727692 196460581 663552788 358901936 269989472 712848265 559928215 574552990 625194959 282450691 522842927 884715224 361228687 870704800 9779130 718974960 632124171 680371895 205401332 194445928 838710362 692793685 84503577 376974144 605613209 404965944 171437371 825694197 733966984 532344931 84024863 600914282 803343038 896920287 586980842 800193193 799998225 243470531 732670663 971815693 921177978 62687326 562544393 306403671 898162453 481977149 340462600 466500694 553791397 484259301 447116640 521267380 867649682 175976473 851166363 344542688 789425744 907263249 391603666 884260899 189580040 626557507 113261728 958779568 952092250 741219461 875210 479734562 592945379 959331078 254613239 742281944 611056743 717467508 783038529 552413826 625614059 867089278 751600832 237315921 189785767 978502576 734515829 447370402 571634858 42778337 232940555 798784088 470006231 115353534 529578821 829324274 876888781 841863393 561928825 103966295 492066602 805020809 847730902 34999050 255849707 874153036 909193645 433862228 559593017 679144670 441166455 383142635 230913442 676107343 319488642 302893855 309899146 312152757 608717674 765757431 883684090 684339053 104990543 32395071 328944161 934175189 47167376 490050850 684613341 315538854 194279913 959190208 653403459 800684434 159812033 597097073 377843511 819069219 817586987 529195985 298931747 481240552 260498215 780759743 205846156 207545394 574355723 726310897 40530742 214611016 795440293 674541315 845838926 860178679 487166231 69557773 640958373 728831801 269932894 875276727 54330488 221043839 665082041 655690600 321629271 496719108 632688432 118354503 236599413 283115455 720819127 345015437 245489649 298045214 315539938 15116693 120210536 121082080 384891307 511741338 29888749 514020130 81373291 161530208 572128273 298807988 772894521 200061511 262118540 497369217 266918932 614123010 770495920 413203597 921353568 948071906 346760925 359762726 583007257 641012259 423215955 709162003 310248795 223759751 953566998 375223485 453510396 500365164 625104503 830476064 236056486 285748909 790442924 991074 57395001 158754263 473119917 350425911 219442142 694554573 747275778 85820033 515968036 410046722 819906015 921881519 642444143 561387559 385483428 358160275 726025797 386091501 833758665 911408985 390268745 303324204 559381237 162035634 53080422 910054189 822600140 692876098 143858320 678952668 721266454 401516727 438914327 481714424 412926787 699699062 709886410 419824720 745323768 352427953 548076138 632098372 796172398 585594015 391186539 553620711 917764345 927048936 405613031 250922969 161138770 997239845 669992885 902615752 269218111 417746766 514197771 924638646 249679606 918616583 479392629 696926771 617663945 973331316 823994617 3318802 154084145 758601281 957124684 28963456 380403774 497027780 968679344 633956108 710397834 900219115 349866248 536391833 483582730 474579401 305332388 372082307 387349866 634652545 694216862 795699995 167313417 841698884 868637699 378884409 779975467 89162671 169976069 78543310 71441399 181023768 588187868 269780190 174455190 877450567 471694591 733756115 995467779 265995047 288386500 286760122 973040856 861679718 40952156 155331715 472025015 957869972 459716107 807295201 28085532 125750655 730350384 503059060 442123291 981582297 283035830 125890843 759766455 214088436 465458660 328535413 73901521 732954258 829720358 546531502 694839402 394707429 697496090 859097076 842682860 154402434 101132730 471738013 337808983 322735837 645236959 987212919 643981136 148510987 682716845 262884166 244830178 724912598 954417684 427063254 579988572 908854262 282833330 89497535 169647686 412987275 285595412 688088964 417482820 546301961 888116988 758596919 428566784 572651585 796263230 565841940 161118075 287809212 103686558 186317164 782031107 664682994 155097965 939199341 19109769 668659673 321747142 469101276 82456441 639833070 433808371 634270741 913900441 820991593 240534605 755997571 648060465 134847164 60806754 720888648 212268474 879717032 230718399 125430289 441837102 525625823 882254 587648592 711108840 993929458 856624467 878437586 497666232 600270340 901245366 65285247 137428375 437721385 577424178 588958896 781877588 598352624 756940355 165961673 707677160 409970279 684041193 430137687 113345500 54696672 143762565 652598528 356031087 185259061 549901828 850884325 736960506 397404360 870970714 77560435 740181995 81920058 605728066 976063333 887367032 789109715 381046711 237900952 924347022 904038174 119639158 354245548 388504542 101230952 515772700 533401598 895453461 520607142 227366384 424337642 509304252 245324134 619439200 315507801 859687562 584584836 572756870 782305571 353970795 884972267 236775041 740625178 656921011 306362388 927530509 92146834 716693552 531163417 174413645 830325062 477958777 665342519 553639279 725796203 90408052 443253699 321319001 637722505 830041052 105204737 266484596 297303193 86800126 154733118 656325046 855110863 71995842 80851151 418153305 928039791 631613776 672343206 700952387 826432570 637460332 599024232 48148180 177869214 663745932 207071637 904025236 546719114 750162152 176708035 549180910 350090352 497895796 976695877 229979184 678247019 49878711 712553479 629141942 696873516 656976545 103121066 67332713 865359287 104262800 924624433 240718401 124516853 173344821 584104753 593915708 980331174 855457729 94755897 428728328 40668645 917502727 556178976 625823132 945488762 805988368 869218896 57956998 206730841 648504157 309004020 431535474 465212306 621093883 266021296 568540506 923617488 418394966 5365097 568541212 585838145 145734016 821750234 307216505 55979605 649482120 989592965 780222263 568119170 298548986 813825330 142318669 122882322 900049513 759939513 423804803 414852295 261517003 44039995 380991171 101363665 93913228 394412898 966518537 388367327 597806537 60350919 360181771 719636125 920906719 235043424 541568314 288535422 114973772 982794810 936743630 854174457 85342500 426759995 841437625 718313779 289121371 256004775 841451029 198917060 318298381 768295098 445876878 171233933 669992831 359776041 750827248 70122506 861649455 616753714 325144370 832432012 59592934 322412725 103811415 354292193 315125570 958677015 967543118 836470144 957105617 448141734 33982 542660933 649040355 49058728 759973716 280317414 17937761 534161740 443248052 720032253 852545693 223754085 954427430 596663779 557435891 39311264 465364586 952047315 969362778 293432256 989717570 414278364 846372405 832497399 944837821 731494425 624300829 956717382 712236406 432849752 361658558 937260672 21748976 49111276 351460688 890251241 877840071 652577226 654674833 342172142 26976526 116912612 929995476 357449720 940462170 185829946 120267853 295474952 331363885 205312205 551546550 253190045 863492393 906834650 553396935 354788068 102996628 318940067 1232398 301681630 995180974 575944748 981933375 606155042 864851017 63412957 90652689 901511878 356703220 847663072 952311777 530532621 500645817 232091650 326110934 669342024 531327854 190630309 795233445 982588506 861546851 46797179 183217790 406172951 362021908 868180294 65312891 647749684 115239567 540875378 464287101 86589959 72435207 664507769 498943649 540066230 726591020 256172792 339572457 494464905 423168088 178331367 607215671 338504228 609392033 79857968 189530815 127909802 916845150 321613437 432638232 869738883 995973958 147100850 660676281 693686603 39457801 482121566 530098823 699609617 807895657 698027543 791372106 140642323 518347293 895893906 888412507 390316584 984646803 184190189 549955921 310790318 53484880 621484193 522063693 846103845 638009808 454188810 107210853 26720758 863080676 917752986 240754991 386996936 979778685 552004053 925883397 304917111 577330275 340507249 257493140 745993447 110061756 14978274 788775809 15851028 278206729 682307925 388764934 168386722 758340842 857465669 745579769 773711236 475681371 850900942 346880466 231995139 401984827 993955389 882283486 496199291 12705277 298804491 134214719 66547613 973990940 225491963 398304276 974010416 643808582 20028805 744779888 450640416 815283300 485852909 26380505 985561445 32456557 963700397 609575980 114553209 819943252 26620921 415759896 246237557 111917702 893787166 685934366 170203754 661185463 165892325 253820653 876307664 67545433 652700548 270167516 663045840 117987628 516964640 257217331 412948079 578882058 11370769 42021332 788953268 470310900 804340881 283194771 242348695 747695250 602831508 880905452 583679769 402631914 430854893 308976157 654053333 623008966 152477993 647800056 158599979 227736960 585073171 767585208 569495432 16614843 963292689 523769454 300854387 149145222 421320536 358965485 737016839 281742260 102776843 879301955 38724544 661675415 829122086 996839243 987025112 354439393 377149670 788055020 69171092 108151607 275446666 850912085 276100851 851194511 37224834 2421623 781345066 718428800 299520806 498842523 624735176 14781174 925660608 862944510 439363731 654010141 879749711 662979326 615082187 158121917 534267230 178595811 395133568 634702785 434038833 382618560 254380793 362697214 473104858 184807693 798365574 232578774 989288947 757478205 224212618 286258477 742554249 101994926 519692860 824146757 73935433 207468664 785165117 466202537 543715553 846717149 623622572 426931870 999129484 556557139 503029654 196397349 426877671 630396791 727973301 365557117 467248599 745418330 373635627 654499375 17284052 155658198 752577988 491780048 848370295 960851854 406724123 251198210 35567643 529307460 754568382 625171935 965094959 180446792 752920347 669956189 289231826 99101920 27692050 745739727 201186059 108577895 494646158 738447724 111620752 3941255 922677445 235394031 768304334 676092112 16286567 448384368 945903381 530180865 495736594 734870248 735996762 624311264 662208151 752863128 249686803 673396688 906340896 81321950 640925741 303223855 891376133 99928063 845881244 531645452 331264253 560005764 440284265 257397579 153728456 897458484 868505497 368358443 502434586 743048605 408366865 25159828 352124793 295821630 532976752 777370269 943220668 739950535 536064426 312245683 257817046 389332024 794880585 637874834 569675806 414288900 477657127 709306824 271459653 692220340 101276638 112416897 716151443 244882444 448524614 931048327 429973795 72394464 589924871 822044291 704231146 59901137 238978118 656515090 303053019 472796127 191456147 114523435 62105153 85138622 184405790 701385537 913972448 392683422 191327478 341546557 84399061 589096306 987039132 315467518 213904603 458502634 649619366 613696626 501099623 819670852 99485803 370726524 251574686 988623439 818622386 261994314 978663720 684591471 552541197 640443916 394737028 562733406 628701909 506786977 947098454 771715599 475080492 802109575 250353643 465531468 892597006 582546796 1004202 365198061 515003078 280828336 56979630 243348646 168543948 917522165 15540417 635513285 468973232 520192799 654120646 143114681 876655182 936111732 708527162 873020987 157194885 960658831 196571749 757133926 268637696 899804080 865123693 479559073 343857564 862728789 296353327 664574018 713532620 579749293 675336673 188846341 991163921 855419124 754599523 624255991 831014550 536635385 400052164 876325676 453782913 476550194 689249246 764952926 803662707 419832614 26656287 187743627 995560687 40457386 632477515 787526413 931686094 408566847 33833121 81760901 787690926 25864672 513429261 514882715 244423872 257692201 919914897 473082681 635559915 334655119 355795108 404547903 604094127 548572063 548496552 863792230 89215565 59971290 882773766 576954062 680876478 957501718 20522721 254656715 515576195 865741900 97217055 399335668 839229134 294124597 622831650 358398083 792468099 205188499 437387532 556906476 781178474 686825123 869066928 676169590 402919627 126811294 973042162 791494276 43510986 753090784 923923167 607100378 958493734 900327522 288325426 841131147 134277570 565076679 43769083 7583470 583334307 819107104 530256623 970776763 432664261 61116413 903928833 205118116 290700140 307201999 247677908 706650200 496694520 559122048 210307718 514932629 400205974 385385666 486917783 809452841 241484444 174437858 539003589 86305550 709230511 301961778 657670414 137417666 238294326 367482103 250484734 598357614 465508258 341755525 462378954 449334024 506369410 511549835 836494022 782553699 456909155 48675312 218649773 699213433 734774382 65734739 738599388 630264991 935925874 216725160 678165781 697604741 10425889 694463601 986096274 916078967 806507651 782955008 468428670 976536380 893771028 154275485 232664800 153477020 152271111 915537744 255259597 713090907 362471355 663021118 771418630 435843205 965788117 394411828 169851297 956045081 688316996 37342281 611720085 623657232 380439006 236605392 808800158 618082635 732800658 783949922 460178230 850935895 630690859 868375539 81444796 466602436 122435482 975962236 714882287 958516098 199744940 657969167 612183217 291425575 687535466 618908547 306984035 992666429 733083593 846597682 824293892 493888024 448669593 732893582 747117102 207631021 816402409 879799058 292661332 374179130 832260290 85725338 949619865 139080276 429466606 542216229 109494886 143902625 17201329 421116990 186799159 446154581 792812691 613043625 279306720 238809381 145840697 201625985 360959686 660587000 218926608 733967829 539045982 13294468 471918878 578713739 30333991 821152593 336170428 598896781 786468732 429610042 85892836 178374641 592950855 927104720 350103247 989812613 814163388 557932178 454845772 554611602 399040769 413215869 109033863 155158291 656043078 375460956 582925976 885496127 295628241 728742649 693852888 821586299 913150191 452161063 171715648 612908926 800986353 908247224 295254063 57565722 588508875 204580382 743830089 855474225 271091643 122717953 96313310 690109755 662292591 909753578 892926723 252957366 451261515 548080084 759285227 242515550 443905447 965902044 957770624 640613999 412907946 293423634 581394343 263586840 552307674 108840587 433653647 914234795 375747367 257093607 408568486 347137961 924983047 438618469 52365558 938870437 896398971 320148140 567651706 758873806 392900207 780710946 276990249 606488337 402577037 141814223 314720011 461334695 522035420 952732036 12052365 642990346 478134704 163700743 80183181 331093857 261361316 329127183 321607900 775012248 225819700 245912621 888573503 78879979 247670330 788933821 902057912 20857585 175815906 451380881 716112644 781462352 107253082 151347134 638648460 28272233 282113220 141603659 67954395 225140704 260657092 999219339 968137475 721167743 788933052 662148911 174451004 207845747 441376676 869659057 784397205 861209530 363269791 522817983 705502301 457646185 710471452 286797076 463114323 992965424 297034742 15253689 703104954 469100585 414844421 92131195 307436477 158160248 112904208 503322492 160851700 576220094 223094962 67898710 323312842 713660854 507134118 712764297 602631995 942171537 234313021 318585652 541449890 933759956 587115011 781890768 505797705 957021144 929792668 161550658 471961181 83646433 119816100 622926871 974349427 447067115 173526306 118346380 434427489 662276389 770217712 78568883 577877657 515930514 828727036 635788184 342281080 485114284 238511798 527227689 212823072 449213190 801070096 347816876 908810265 49114 290483933 262441036 213767199 973132002 48469748 385094595 121067357 19757885 213101681 344585987 950392810 500197831 871161723 171127326 492230494 1133663 258349505 470123627 476776198 408283884 847085598 835276976 84597198 681736649 670855463 29392478 882990562 657053324 820312694 119043743 714448166 423873754 664781732 311668744 715512075 91750979 243220645 419817037 170851143 2471927 882062387 878063773 620314665 465816244 369895730 413145415 353706416 164111086 912365744 953091513 943863855 942182849 731395349 622156638 335981535 743737942 569352523 597905796 510663350 487320806 786614957 668675502 825980505 287596640 465896267 854171151 751569661 738515681 871229869 211343999 643024530 385733736 514880966 548828255 888262096 748212919 599553867 907801389 791145598 68366225 482815324 56088515 683259811 890935268 191870324 465131633 414817629 443433479 710943346 613613650 35768155 244557882 128127843 408950730 807526022 331949919 957989460 473400839 185068092 103539134 975028027 920698670 309228706 688209293 777784600 329034369 33985762 114960521 657137459 89340199 885163748 207010584 729475668 398965527 79360505 18185920 190238922 635946657 234903381 658940348 366679282 847854554 232455357 687829791 899493673 674297009 374195209 198534531 274837551 919400062 233932337 460789520 134767703 929540979 659846563 253010720 250674127 180749873 473824355 730640708 58478966 641065354 51634529 880557855 958646321 383907784 96372304 248467340 526292352 860946714 124744803 134894586 398499716 734759441 280531026 631844410 251558384 396256357 731176099 223242872 53894529 296376192 589242888 856148783 445550854 988679495 156436755 456982083 850922461 57601177 709658561 585847777 739427953 90932542 642127030 186254139 456881448 466291446 969639852 921677535 365925670 101340150 257901879 994279767 994278003 351908054 213632979 990414187 371866511 991670814 264719423 738060345 478605115 984716930 910617246 390218835 803973744 295391248 804102492 514569753 642146467 505598126 333545999 201946175 375503756 648993160 68516961 6560886 378454891 85125386 562861308 499480369 677218879 141542732 794206692 356506114 838848648 2384209 952621551 384150813 59704624 509508147 955804428 345567379 745767535 189602037 810953422 769533820 590706050 120488529 693596298 935843145 633860135 372247590 731428624 15645144 28554445 953351504 313896718 944053356 339095882 750552109 512633611 256017282 286276486 518179293 742946769 936177517 927368632 698063943 538053561 846838036 430668072 299039187 309203476 702022037 540722292 417027420 278309165 915083105 620273356 276368058 644155876 185734766 996554364 573468240 728708432 188365536 580043540 123423688 227227660 819955025 222340538 642495688 620104894 541957099 46693086 12348569 479284142 886569606 745117146 538836312 561216026 797985444 948373798 199106502 124938428 32429749 573976100 376627675 641329664 665464533 886822705 275694802 858395926 343747787 891602233 999947490 627840595 238769646 432820805 696801695 551159461 86781020 654215096 484048102 586248453 460066663 849867421 20874122 563621831 43886132 703631695 687419717 305569499 780659620 649198866 738630315 231734942 547006057 498797391 752288801 96555172 799014346 563028260 920368251 233564227 616510475 741985847 225459578 634430365 951029686 682675115 368055555 30462972 298433150 729136492 809616432 255643492 426439403 243910729 698509652 6207567 153850589 898862242 301676943 795553917 362577122 877397557 812961329 538754455 638617379 85885436 917634826 129161125 222120370 251772277 197457217 84757881 602612481 254593832 264577977 696541955 802756736 619969297 142786792 112158768 885160644 656791094 298602884 302256799 962194478 798186598 223197672 496454344 671474556 629654247 630852485 649079392 563808884 308404434 638309702 913823348 151375164 622986504 709275364 801026128 973480555 664154580 194243910 249105696 463083403 974018957 515368959 188668714 612324172 307592024 236804273 232478443 335985306 611752775 151527225 630833827 330755729 682265569 519341562 989738786 357287078 698384029 256441804 429447172 895558298 636693294 350239256 963906118 485398493 950473473 387099155 788476863 260241765 958077577 954296877 160518388 627367940 379982458 46698621 759365325 870983716 358596762 795249488 810792863 359218799 770393845 383372633 489435346 124702742 711955069 195521475 307036885 515014806 252005235 136314934 93777767 715183868 604371574 843309363 974294231 405973844 379975279 667404247 952588763 40243235 584123119 679859162 843597831 217583854 845340542 571599487 660923043 640928610 607922009 585207919 632672730 931149552 532200274 313996423 242869896 216922991 780738837 139772866 427705264 524497031 580705869 517131155 313540553 355933333 343074 692131527 732162814 754447918 89989891 19166230 568516982 658201947 218571303 40792940 421259561 146373679 910801912 800184890 663958941 34467611 400088098 127928720 808621630 126745231 615905557 335571427 368338364 736091627 706869637 184683518 400780263 587589860 295815449 706615452 40736799 693443791 9220569 929230575 307083941 888380807 716479709 195019264 256690932 518302169 396036129 596485636 177821735 531782952 740005220 142275520 567174032 676837344 723280947 503514187 988275342 515640860 571929613 998790414 245877329 957005876 164194693 5952265 176778460 2649588 291646076 866547419 965684813 883897192 335099550 866699227 785886769 1432890 318246140 45102586 178383134 174588918 810420191 675086190 729102965 184320967 925296479 18620272 776146061 869046439 567034333 395869259 200180474 706173641 212415276 198889315 363352618 754027719 26929156 334550994 822139237 676899023 821262708 879703133 461213339 421594976 767848478 627296660 932673057 445671512 487922223 707291851 286711229 571790760 847898228 747590061 70196676 886702545 252202350 326498490 452118422 826836352 476562918 764289034 143319874 689394960 456617217 772951003 587878369 890241504 831224681 133509210 416182733 857956778 154780833 142181989 498669000 741748400 302629575 570754488 988406123 653840030 357740799 507693483 768234956 644333782 159713559 721485842 653019339 182171619 456847190 340046671 951638611 635751277 985698019 351594972 601114688 650318550 419078543 954467467 780895939 769137250 27178299 384433572 190860387 923319025 173231066 946542517 230865652 933524904 275407838 806571181 159595281 915045121 795747812 950051308 508777927 917424016 206046287 168106868 605695684 995113529 865097339 310960909 539347485 368285701 683223963 190101907 275026436 645090078 788426123 509731292 428383791 760781528 404609267 911997042 268191557 244714029 24149223 381054416 600214403 618289562 475303747 672072041 524058898 697387048 969684844 22255395 802758494 267635845 743139206 467419646 608354973 225111474 649483091 121670022 205831524 960428458 232160979 511985534 610709107 804103228 312340880 193529888 507422462 921998822 97762121 266490372 177843268 76468034 922824948 318273191 240712286 309238161 921239543 132531817 221625570 837803459 916237406 938140560 618605731 701779647 707587074 638969465 902661771 172349092 885291273 708643656 891647080 635135614 365143632 610760591 21625498 850484056 985025701 363074928 138545802 742693418 71631254 165210613 243226915 326944203 397673959 547870553 736704347 393966907 550723670 943633082 496630502 795386925 35353432 615464247 183137825 24309658 54232949 141763895 259275966 115858293 790272923 504213248 971788361 347425766 279573015 114782339 729984118 558381462 421589761 761595430 449370470 682713142 208844045 622387656 652245415 492783475 234963924 694339438 951319289 171559337 24989456 497438490 735254203 925255534 590393446 848701368 974112374 613492811 761293420 125421475 16815021 201695730 645337477 779504661 355543845 491133000 798003738 382500250 494732595 492979710 325761179 434947429 50431448 850542639 988642506 550325171 378592115 545325134 728143466 584116569 109192414 410224416 978844525 341978543 884468852 9736043 199699401 775735741 786372168 396968709 707688471 847694437 589575936 861690385 62560072 722712182 92926190 293081719 323082993 695094919 60362043 664019194 151860860 257174468 683308309 618070345 44471472 552710283 413707008 418776564 63900289 656353586 918455078 694066149 671974007 919927802 520672161 209720149 918085104 742203589 359256129 632487662 324877881 539672078 394075757 295304706 792301883 580556369 998136760 545191086 771922757 828209547 461670564 48837198 755144975 158244498 176387991 171577479 935650281 193116224 282663657 57215516 480919336 611040066 342068366 413187402 302545415 683003803 774264392 827816445 86663059 372939479 785150291 439142497 555880800 25029439 539061660 617447941 850631554 155755049 942304750 20622854 710224314 722344458 514368785 649093138 128677272 958487464 191607093 199439124 336918887 349845974 754700573 408029263 391307254 200429062 556607940 53061241 702976295 420054604 102265365 427224866 315737997 255798086 269127088 670080960 942939024 226053501 214091585 542808842 725587308 886572148 817900374 661163003 864233206 977405782 255005464 215413340 241312006 276280947 469442905 546277539 410725238 143206576 146773852 650610933 419451669 548087259 718335955 511207789 261743868 133577421 187792828 713933081 356883930 91605059 358611431 18525463 56667898 417613021 209825948 923151208 940262950 847720294 967438943 306331638 697896095 981865707 744785591 268091303 404925073 719491301 622819517 617863090 972430411 968734262 9523686 63719900 904447236 683114349 569527464 248948969 750487529 433999816 711247789 122730044 47175762 96165929 251978761 476765805 694310946 272630507 167929471 203731463 502966447 857453340 651498929 373678883 758422765 289175394 106979238 951793240 656432189 320938288 709548281 313024849 836092452 832225211 409172219 824432003 835488991 11987080 554470213 202945948 430477005 89736241 891250571 648193552 339178516 893597808 748758147 651769840 259086864 321302057 110068761 923706402 939246636 920360153 845296286 129156062 176572685 663371861 586891731 999840032 339987190 537359443 208233728 819421588 776051834 153234612 480819575 397332703 346068613 7967831 950304327 208501992 7988003 780229303 941969371 176202807 785337011 382130346 879945883 259371215 663684768 374720281 135103389 811688153 189115592 647137662 472678805 620132390 573780149 93476751 450254643 730644809 448782234 239016985 577727927 312649526 963761503 551281291 885202339 7674881 752545816 510762889 429716132 500587028 409639866 748728915 362587027 995881583 89418257 479453974 411583181 513535883 995131432 977088366 565287252 180307805 477466133 265644237 480875047 859928087 443119395 434030270 261216543 635435806 123539767 651557194 663436637 377294023 264666465 161570865 95734818 387076819 594660831 959492623 818725542 464389863 15564476 733670688 576063241 289449277 700948280 65300585 882651261 929793079 413247411 908749942 85907203 42271620 535202618 653818470 409054064 837081934 902818214 198167524 35593816 678255070 865746372 283015923 349963671 385619675 885101168 815045874 677439187 48948669 184469374 320020346 268021748 954532522 621622140 764802608 509052765 696559932 12096018 596728841 647916722 554385317 834864169 836539113 497806965 760889586 289864095 373374809 893743475 956133029 206644208 601426290 32754771 756355553 82687141 329937107 978817924 739635086 496778111 422357239 357482660 59541400 501835283 966737364 388500755 660825628 720929956 475200023 289471854 250012154 10003430 234709314 468974919 3900694 34757349 281165183 531659286 449599188 760806853 255256563 891365363 202192592 657140667 283173691 822468182 83881001 569450995 136919856 781881377 270512822 573188895 739649776 597996386 933657939 161515012 919191365 555510778 961864612 779793438 147310607 922299183 696985960 604006373 855632269 974782941 979033352 839648993 710016709 498124046 105113784 209161044 949779435 630988663 673466789 6900565 864585325 720006966 104159960 117222285 223995696 284816661 994578465 943481865 905350117 182680862 74522035 518766471 903480682 196018806 379917853 96468884 99877244 181559368 525496467 318852920 755345293 678281028 803939973 340441408 110290068 903728573 556363402 552958710 918025301 944489448 939363302 541688354 277126183 306653604 65948468 208709421 525738072 300909234 965003918 323076441 240437585 754159850 390871370 730648178 239868908 105811271 59487656 416948791 403597155 670391137 827581901 652331897 248062573 261965639 930459724 793328225 679161614 4181335 603506918 469939276 9076194 722615546 854914319 672494829 275072799 183140167 916968266 104818188 620441319 431237230 312613862 915941942 36761499 190215404 917855512 70687171 510890472 733734847 116433320 678080741 394058530 849617997 445921621 956462507 980320261 565209280 851075313 413384161 337741007 539327215 181885898 697062553 799811107 752121168 361177554 692254785 510230403 377510347 89673137 968225576 227941414 504944200 490622619 663998532 125086291 187417421 482532305 867683989 31229018 608766383 983266408 247745500 187174156 597208958 242886675 819568119 546537735 387800219 696296407 614234775 305859153 907776269 453671936 424700028 41202940 373490593 498748154 680081668 861828906 29280409 239892343 485836303 535858610 415058243 386030982 499105927 242050463 313918338 953935421 702133062 610725613 658256179 624125716 693551394 48786944 880547452 263780587 200803318 613395633 369654076 361688498 799164624 716391691 570145921 173816635 736649817 184257098 981990709 191531950 48874984 297342336 12394850 975983268 399186481 690570454 667780425 67981754 137196851 780180908 910920876 994243362 909551044 492640166 390841812 680976509 634793860 503951720 707057739 977510184 685171970 245908029 239894299 315441660 332416241 660084118 202920860 961888948 194117920 854166266 980825620 843156943 991862159 970681428 243929079 388457910 492264257 68149340 168112957 822767363 6398926 615818026 38905363 253591360 938627759 782167216 352935789 239070912 479524400 550648813 444354981 941943248 269325929 849197770 11830280 228696512 744069092 520142256 469323647 34804023 877459044 752679967 535364229 268067891 468026008 811520912 733259650 189427938 153101623 902682134 721575412 365011599 216380526 73838900 442338096 523460846 683016481 339985300 332934702 119804455 391347896 600688292 376548705 834419739 562658531 297495671 463206155 10737963 563547580 553563889 78757751 465691652 74701969 612569756 544615156 283279213 323016810 715194197 541998253 297209132 77665434 724918014 325613435 409793708 17799874 464250959 287235340 971265295 893982363 466789916 340444217 930265675 224806121 299106357 69880558 223633173 187955963 491010001 380536069 216580812 6991115 614147710 755604744 589228003 513699059 438605046 6643903 518790958 150731464 240460510 718883866 958507443 896571034 48808721 927488097 121673602 692371351 451017651 152724104 70821372 471337232 416120023 851662176 66918894 971584120 408976474 915324156 99354773 565945911 595375744 956945809 879795187 992081480 419970281 922241838 400744509 780519814 161057837 192898894 294335582 82521326 169610637 973975238 267278138 866115242 646033136 215230404 348958992 146374001 321512485 599917508 701623912 320264511 732596536 19149973 907287486 555583302 323766896 802342193 852589461 446288761 783957050 916949626 321758650 578062701 974943910 772229500 778217328 322931252 589190396 669008727 238705013 624350762 865764294 995303884 186745716 779287121 892906976 656761663 418476551 651906634 294296673 93240155 855662722 933931198 946692906 240005149 367183295 92236620 593162688 551300962 536852184 963545613 710123214 485185445 121320952 666435157 540972064 436226474 648275605 768497824 775614400 678978648 611678379 703146775 524218851 369894146 238276523 185159742 969537728 666165655 173250985 431442986 94393953 137525518 834743734 42132152 979890112 219363235 885961808 829322424 974618751 390652017 545558959 988430232 745459291 396658849 358092240 61795151 91257232 536379363 902118312 466845006 662752885 671638079 585530847 310169943 113865778 368251046 513805485 354673325 207286824 782286056 213231659 122872145 425671827 74768904 990707062 451411760 769412431 927341029 642563379 162314932 61394237 106311546 331852918 591509404 514691365 966583242 898750307 523813491 176898920 143572031 256101469 412330874 730120346 948467428 382443482 878685403 780338231 371546140 607126723 858707336 256991303 703119429 383215836 548009974 569308853 762983742 89096516 701154031 512083753 7072238 91195212 307318804 96546118 52679732 35250886 175061774 204619154 134003522 230493257 816886395 314780551 694968931 961196293 671733809 205457116 975667961 91023226 151940769 810531845 424767881 992977415 2526550 450238356 944824262 615227496 208012818 32224987 25317892 960229955 20292187 96250075 960338711 997358693 889640880 900014871 349854290 461723520 910505067 833132663 109897724 425945116 674711446 88663402 740797672 777213823 836997942 869281846 702252638 319461504 73399628 401174062 592657380 25010304 442010902 433505424 152075523 89141962 245400401 799674328 76238558 247730048 323185464 243257022 281915293 794193604 177143419 24474382 250311630 161474561 91821403 209716229 79693035 282605762 412526182 411727681 558547296 266217237 199342538 121445020 21210296 444689283 721588121 599534326 635045054 557393080 657393161 630595900 792604547 628529851 587297775 937436352 22050805 610675453 565404159 375040213 658917246 198137083 705165828 575517459 66667684 802805592 847610133 128529667 176643543 588385433 62382324 660023521 781812713 179662728 846346500 294592493 112976614 614373672 674819075 955223671 620586974 150246154 816733993 708842718 31340424 121977432 242868457 948455295 572966109 478574207 478014518 560764329 376453594 626413314 612240871 512790467 504773530 607123850 255470965 933643847 312755539 928304208 853530568 464057912 448407364 129531367 411175859 249052557 970001559 128180599 117335253 428106876 506627066 789292250 390942044 19308631 185262091 155913802 726662955 575864908 14533104 478769814 411586798 139283161 271918348 262504397 463608004 278555959 401171717 460390285 356946989 510347091 68453086 932433294 360471621 299455430 515512579 200016075 66043122 43374358 611689492 169858220 624022812 792615391 590813122 705481580 581963711 521662702 198862141 125472975 507991556 386292138 589487581 492984300 361136929 451767723 700891639 92999056 430579130 132713257 831990774 223452724 167026995 442750947 727077766 83287961 123022019 42659846 680930266 443775190 747706566 259241009 552303679 427528793 739413078 595685348 324415236 877222952 958087595 566896010 740343533 662912886 449441604 528738771 113355488 244940890 352433589 722828355 752679617 850342006 657120866 825441282 297147117 109414625 626852342 597684749 610260969 458144317 91197860 997886293 50141649 611664190 603433220 376174067 767781148 877622350 344712694 547969329 501348423 334239527 51759740 700726448 947759324 859714180 960382681 742859844 249653388 491962524 307051821 298933728 901343438 603701073 920831824 691836746 550087633 594521001 879120518 426050728 847174132 735314285 964893586 445923236 484522407 904495578 794365442 955875156 371412860 562779206 950390722 493080120 601361355 304647660 617662817 546452637 85827926 835738155 943346434 359322861 915302576 734660605 478112923 743595411 14339108 873376176 701603552 29716928 844718166 302314605 258659349 6876727 850250105 990793024 75730520 531487819 81874801 550503597 397947959 99273935 708853784 827265137 915102824 325757584 438230521 586332572 173653649 817497633 529362465 82883473 479244783 696538154 172264009 302780038 353043728 545904143 727043916 531595449 803688513 372901951 117812240 530247285 9412438 67922389 241163402 943471351 316148585 292914534 599207240 742551035 866184785 561465188 995550430 412884673 179366903 215139784 648952698 422585733 44724689 843455979 43899686 496086246 853411306 487101044 840069989 522318453 966150076 475502497 760937711 32474517 508810214 563352746 20082882 823421895 604935217 62630292 168095350 357231810 750081229 734207980 437063006 386097110 820139917 433024563 756028792 897516155 704865060 209498918 984173685 847454102 290955221 987212192 746325022 724917406 79418004 87641191 220402228 765554813 340330949 977466947 268266632 726815163 156816171 276890405 634974696 925157696 870589976 491497546 412349780 622225962 95471609 7252781 235733118 416308854 426750855 443959339 74849569 825228572 856063296 14707266 155058871 59967576 571152385 37720253 38615666 222390267 498159355 674765884 509740257 289360288 937795417 594574965 629019514 323995470 413375186 643770134 305031883 571982124 423230131 740457856 142143040 147040563 835737035 456691083 536048942 71524244 958840335 460182129 557593864 301157062 630019603 175624109 722369164 186602801 783781471 560069353 770516737 366348611 564030869 838736134 751722377 108813907 98198640 16685934 203258592 13109418 18703668 581637285 494958135 287213675 25626363 727015111 143049901 473291839 285891396 912375200 369371652 824492631 53476399 706051545 505908508 358941973 542035759 146234951 217608476 866292574 856778911 803886029 158120068 554477806 912495882 370167413 244015202 959242434 133828603 165193266 549608450 396026850 858975588 602087588 798320539 438766174 466654969 479313085 791793275 816581757 294019941 745900135 580294662 762920228 56205536 548900036 371568755 718254251 272205601 42616985 316524588 995054920 512242317 292918729 859280554 945822853 187773973 822128981 703419193 907121510 158594603 488496940 894172553 551022819 679574454 139690170 970466932 746785758 314358776 619493870 473371619 396299934 715607999 293300983 931232065 659197087 753104307 41869660 654140597 876890260 936286852 911545512 139983208 712362096 488465651 811352284 835282795 863832806 91440379 211917847 842061616 667926147 939875646 124307998 72042291 584046970 749821849 122810776 499619035 852844923 118629117 643911479 135437664 251921663 188013420 171864227 223325063 612716804 235758383 366925817 546401124 136379750 391825940 770996078 824974106 823113960 314278704 205122740 312125255 280971786 569402930 517128506 243531300 270009297 758867832 372942615 266317916 928179291 555621055 694012532 379042155 505895441 562583589 50076871 806412175 644091868 49548179 780009683 697696152 826640470 454955974 579904415 352507339 991173714 836147548 454173293 700736946 603680989 591869872 421253136 994828804 74213095 75359262 423674149 539142351 802246617 172571196 984878084 332240983 184556751 588189008 172251782 769819861 469608994 65268428 197042053 261078843 110307013 814280419 445332937 201596291 862423728 867480230 978106147 837191903 563365198 701098754 760960368 286891882 411380302 950392788 20767467 507665853 174634269 652916840 59125740 271659396 207731604 437580917 85703602 404358202 126995881 997687051 600402529 106385150 946356450 756866019 613309444 745246477 654172946 796092853 655366560 530302142 459659671 345804560 612518690 772796670 281447509 312600613 123997633 185950749 350409476 78857111 915047796 807755359 462268626 646414202 893357062 649617935 543448059 156637019 383142495 662599751 366580718 20536357 361600851 251296506 403852584 854007147 769729957 103458524 963733616 193301633 63015640 57542042 388141212 838185567 768420391 206049100 992703552 17910496 575744524 981079736 501053799 875007831 852496003 691881327 176763713 934864718 33916346 177291919 409859733 27451848 454620977 149981646 611525097 22891272 553704241 31761781 124428802 5073582 651082567 775999431 651997875 147365346 776741870 497341272 124374356 654702302 405627766 364624436 926237009 614520386 864809717 764500792 740084087 34231059 286418550 706396384 422382809 12372727 57653419 748785459 990196810 674274099 566213522 986668936 756166032 452357170 853067557 396001754 469926951 505952473 495356461 759586682 351115294 495258401 61473544 261558439 942234986 565893953 682987018 979325260 423570155 900916384 601530853 844766617 279672163 106720142 252847376 794543320 453611820 500035513 178018424 211194324 214042367 28404710 335080205 520652687 701382788 688846862 924753781 924002486 496575203 827652644 948305909 778849382 459195925 504643328 724163199 131066344 228955264 332960170 577155335 886532213 129930477 256442994 388307843 333702926 943285337 144698978 597065707 878675038 490236071 286917768 614021389 494853468 248570821 794159644 744937928 906952095 589895084 319216917 157575967 769928223 140303930 967915479 518270324 957581226 289866046 906095102 876986270 509850896 96454501 81175257 662565853 748410030 4226530 175099585 292031221 117983999 15351584 295072415 482413972 545523935 98553172 989681203 709730584 622512659 205511873 230631200 934690908 510139891 309210877 597559731 19912100 586553187 129795243 200000006 572609715 927665439 861720636 679624887 641190746 566410255 190642787 344351349 140012965 677533461 999921620 642608093 337587595 42458590 563896333 101670107 342687 216647220 617827766 440205633 884852567 279700245 798182706 676514026 389698808 562264962 935639604 737535328 800371359 1520106 798901689 690285142 990482297 770829694 800927663 449548669 56455167 533105103 67476296 793288484 961265711 931733523 419204601 358602358 48263620 381944110 823230260 302379658 179156632 343626779 836176294 133791934 825005674 503024145 654058575 141962782 269553152 459612521 50798530 426947063 722728804 914242344 467685190 868869820 550350996 291397982 936637190 533884088 643734797 211681013 859393133 434112529 607888969 691006939 17768656 334948503 556208712 275498721 460892791 223592854 690326576 381313280 780193048 704519920 460802253 542958995 488683131 582401719 801728559 525751857 702283796 92460091 532762157 356495215 904747022 578979833 741978138 453151978 407399922 641503765 393292862 682222361 237920902 563855492 356691696 919607600 447560168 616721893 520541526 454376987 697721524 710472563 349608025 673659815 584164071 613085127 839961731 289156161 947988260 675808397 201274815 937054164 108967047 645023306 814385600 821575010 799831269 860532488 55212261 666220349 852120935 625154973 388128069 565255658 353923528 971559629 316862079 297831281 61867037 729308583 701144887 535842681 775639505 887638748 944969293 856483970 147295644 417871981 758514243 756614057 522373719 389889570 907363144 467232079 763192918 669478328 347548514 580115991 174540177 367991577 380209880 686037118 990988259 218602258 717979834 701786218 766082194 916553772 687999349 908093921 946135721 21330623 125873982 365943784 837881093 437915939 561555757 775987322 752062992 531277709 269537946 58343251 628865082 55881698 168240555 333296936 456951382 287273770 375338033 657793326 888171192 236840805 348622356 568663013 890446693 429283297 82805440 55959976 940772416 946849366 606046132 712928964 649043489 140508657 681074456 31745592 109025497 535086177 843185356 710936598 563524243 567866862 678418132 687473552 563644274 882039522 363432114 69161980 548455579 546557241 503175400 382654584 169660981 8717300 446376133 384449933 812900260 607480580 511930993 260832999 190249915 691771659 178138689 680760212 699162155 10131642 334343863 459006650 350215349 16460749 464201198 561868891 786448774 186361841 899956287 64909951 419995838 77121258 60818490 226578201 610011503 690121325 309559464 536789250 633359708 599798326 661586413 663936418 310376136 360540496 83682404 572754860 519189631 474951617 624112234 656684070 767262176 7342808 35760246 386903960 550856186 165577395 544248457 353544515 912825035 257892209 585930113 100307468 49783780 545914696 519994065 362742494 704321527 644226172 88722454 889459056 183117040 940336322 460172602 91379033 82694016 821683314 700032974 772033878 574138480 511570833 322015581 992756507 629664777 573263118 762466418 958328839 463658267 376575209 65631463 827046219 477308080 751826233 561114094 715223264 42049736 662062622 694677482 76125753 332584670 443189705 592652672 235336689 993287641 790129433 118469616 361156373 90304710 869166842 179733674 868890136 80111425 625557810 63104243 696814919 893406098 407892485 425064675 89770131 724656359 806506432 734409298 811885127 645423637 47764275 309186153 371038960 989149762 80177721 31739227 966166044 167822148 511177323 589022022 108608729 344832570 565233616 546514344 277710797 603532128 922163758 498622071 94414540 768413344 21284042 137494091 708298350 188613344 924530595 33980144 34829773 75089393 937492624 878550996 505910747 625863897 937521320 266432462 814246121 664845249 793917942 211872378 505809975 865076024 660296449 1643648 482702150 259659868 525552171 119361627 295619370 863243127 59052183 388462401 315294411 6401217 738478084 793057757 350496368 935396334 943279852 137124223 231099084 879616363 117772037 377787162 314001298 636487665 880001720 550140250 158293701 871655641 669858483 4163000 613755081 677364072 664304558 607455069 221534510 909600850 812403573 422057957 843888508 110559717 250030729 142170463 491842747 319660166 621294603 778516473 941074515 551736208 488732678 1170474 402305097 644646245 805683661 648775320 577995738 404891236 455086096 455343788 86985545 516184550 26520900 977369227 916809240 53470624 39488823 939059639 109780135 307899897 262776975 385517762 97038973 916289677 705324546 215108398 103473440 961232032 579704380 614714044 612847705 297156051 739841112 49889943 568588032 403941488 241874751 828552395 2347447 898005372 878419085 55717214 674018659 409312562 740460649 359408029 64670876 995199236 564984753 102570162 3467055 128510380 365907834 391132648 457913461 214493140 134572129 792529241 919850472 95517508 424622904 70906625 575572264 674831464 229745633 700459745 36030313 945643186 586330456 936732440 241539997 71773550 844077817 380415397 358123604 720954143 217783531 360246779 834492581 222899226 331794937 903343696 935102493 83317135 67621375 370167599 256262580 955648174 250730651 507397865 518384405 296351356 188284920 214859907 905073685 28872596 809623542 682276359 550125122 612989451 369837644 898134217 350961497 441128384 637961839 366954967 495223802 307741692 862026741 168842300 36841893 333017475 329959596 683402391 449633193 254433395 342956056 721918096 202776714 585427020 142053119 481196821 799693091 177970357 988994845 429783042 357964756 402195868 551531627 395509267 339494805 416368358 166580543 161988635 387068260 594364758 397185415 400436859 183428513 831803302 150830376 62604085 828267970 333990900 597743758 669183519 451189880 450097844 717229801 677919188 757342974 608280679 630311241 13186988 335183375 770979992 352575467 568025203 802397638 874565768 895092278 296141457 292060561 225834458 158462799 141603277 879982223 54903498 767489499 605193139 265947728 261774310 37856760 256342515 579982198 169957291 620680823 522257883 263989496 784339455 853525832 338817650 624732886 36169065 946970675 539511564 892892967 165299482 174105578 738060893 919621211 766978739 497344669 868490128 137902532 729217335 90759878 992407692 439337851 768319995 529076906 602579753 373776218 834764848 939638738 961401648 443437782 731578592 387542164 703607039 843888055 617323818 344665522 573686889 259438329 327645723 499380792 713590366 237517802 704292363 203710643 911525936 231851647 378421426 291387690 814702660 163794908 152447925 33506203 70554291 704317615 306628428 767308959 756111905 341218857 97761184 906602301 214887946 105902126 636718628 760470184 427151245 479604263 800936341 414496890 158709682 36065537 641763071 307290897 88075909 333265159 668232601 283323823 984559266 554477651 901837169 649518696 205188862 922031383 552280394 78149648 71764983 48664712 324535621 75910064 523058683 839400989 337713323 919085105 589872655 880478124 164928464 707715906 808506969 796491417 798603207 240301701 901395586 357357914 726738308 208952375 660369469 236607884 219716907 503738815 206594685 305071170 298276181 833788853 843960545 33563710 176130858 682118280 594204496 160427508 968217529 102702855 214029857 931504015 299702549 833930599 809244987 686082237 84768198 183148382 174841695 989578802 106946835 615651697 538862129 626682338 780731499 836434502 286948360 627117669 122020775 99516285 561113113 70891201 636801460 686428720 217812195 404600944 759487376 39995676 698511560 803104892 52628838 908403236 326586785 92426609 413981816 120868803 756622224 230741134 128336794 497920694 572431969 16749101 751029548 905728687 951175691 950699580 823035509 250311766 618215843 241505561 300769379 234817375 883747509 175500751 548883778 331241503 250208752 749592452 267466807 165799637 219728286 359470367 886890047 474862945 736818137 46469836 500926153 403092215 602687004 690308427 901472515 601133243 525421276 478263514 439311900 78696967 880164912 727425607 614768328 271475529 497930120 296671986 654012533 450491241 106041648 448447059 977456122 182419417 953049360 647061061 513733546 830503939 538316150 583765996 10594448 642147390 471228260 697321599 267317867 420402068 922806968 423781772 120281003 178392209 685313650 257874254 889574480 746460572 233556840 682257939 256611647 971886400 543297023 670084827 771922233 237835340 553607464 131643668 397750263 830487207 769785114 406869287 11388394 488829092 749243945 473151123 246992247 126261732 411928544 895040510 602190798 326036640 236470522 263470193 708821619 45305628 616854766 812393805 430465164 983266533 388683482 636462309 170582102 962278077 704900322 843227574 454869101 152714034 212038841 255952180 692178992 380983837 622636732 650115338 769842456 832417491 551066135 685495806 469603145 56644157 853631080 734583725 363729780 648169113 266224781 314708310 876822768 365062206 434039437 352361151 256691190 93634823 551031953 606582004 230960298 45026939 436505623 80189285 136603896 782014574 374673633 44224792 57140091 497569643 945459264 650286444 14101038 708917972 403046105 710069668 174069463 858905874 365078203 21789766 263301482 832112571 58392935 923936734 410010535 647952832 882051742 531830789 515276480 799385263 262381931 737721435 830509114 948473149 919339566 114005554 83671613 433833943 816271570 726669319 183352430 208634386 800570066 480276889 64046111 107290258 550548076 719046786 899300058 271682653 299076907 810217757 937998838 465628632 970602874 45875069 16417553 872065374 785967492 162381691 567680031 947878004 855212366 575477035 408468315 337991462 293418759 595473511 76866876 495828958 747095050 236376935 18992884 824075676 815076285 500031042 197185674 590914171 378002389 248723049 608718141 52387928 461276809 580125075 39089571 117830981 933604330 270010629 740609175 991786191 738005770 360309774 307948710 572466482 675398594 499746046 435428686 573947620 562833525 161843865 771800983 335964588 602912988 460700706 986312769 855508713 901880338 586824352 842707613 88009349 573712697 549378230 269058560 657687992 802971266 879111344 794585633 792915128 54249580 670256448 173991301 338335267 933651779 493368346 367803295 323856747 344079811 624228458 126991418 672887009 619138786 845888455 745187235 242063386 23374624 765295180 789363994 479417216 65924950 228313197 208633569 459687123 963715439 262081637 510865740 370570094 112508367 539941692 730260047 15289089 703885507 643583180 666229100 635905728 688574171 295649790 33285675 949926539 152471172 18201332 368881285 657610067 953380661 588739377 176489224 462266976 927414747 405714811 211475323 149204141 650031215 970115481 63053773 848367527 216400996 757965360 927156982 115831932 874194765 947557804 11096627 149620562 206930424 359094919 813245073 379426404 95446941 949283426 660992232 122364936 48438043 314356406 598529876 346471392 945553311 151320006 355039777 166950863 243744544 24900797 501407424 855999894 196521495 1564198 455176651 924805321 811906074 268601133 229700206 942586067 834075694 15934788 893946215 533867470 366168986 361022158 25380755 457386899 671300314 333835363 158803819 719876232 745970102 647518120 811387832 721261095 885722175 234533186 862921750 233485997 93110632 415241480 808891964 458023882 106572501 992968543 256516292 898189057 724417001 336758262 467542947 379981961 333080011 631954070 237949661 813928531 99597481 625786355 683206825 814207521 241902087 660099443 217907272 925730739 723542855 204950626 487489928 578494821 777404350 462610379 115302676 993720979 937227262 811401021 843289360 66094825 128583510 458930502 316430855 378530701 626366659 799614096 443392304 11199398 275186909 780516346 419339354 755264108 947010358 25860319 625468625 323263374 528262401 696849078 781833459 707534047 815070546 680930655 723742268 755946263 699874361 147511213 696115104 682940367 699367923 746295052 24515864 721223486 292772277 618303006 693905809 961179656 900670045 953628632 741184851 394564477 177661199 887029037 63286533 969109464 444130613 931372329 44234739 260263033 423288714 171846628 516865671 179032044 680160658 547494333 290673299 898674307 226128355 480537462 574888249 950854806 593849220 293196414 13575650 827322138 491190893 69612698 54149687 553140667 140776966 813302828 406919862 321764530 235355311 892085285 834194661 836524166 557002992 643519042 263188667 445873041 183082997 417374609 743496871 914211546 705727645 879224010 258385542 871104654 659508869 131280806 605845428 410503230 238156424 646052624 315171168 757469468 72385338 40964414 688867928 8654008 421951055 355226592 526555187 659661132 18996089 989727719 755157955 251902283 868006919 160197303 983466213 922888379 982254816 252383283 374212444 79877158 700023037 588250551 760413525 962461428 870270053 455845791 64894496 920522869 333013448 759206959 478197782 681076295 92879356 1461369 975332805 522522012 971527791 874059175 780494843 825022724 632165192 534743663 86446330 978850596 749766691 425226444 742348316 766176698 292552416 350463999 876910503 433269290 542387346 962397991 921126936 90995711 923848654 832975751 679856993 106339221 727681779 778003836 331432694 793969856 370001627 340758394 236508055 616426676 331840215 494622322 590806690 337177275 520810024 392416471 391860450 742242627 144299369 429347301 689249666 356259608 776706835 813913699 803232571 927883316 158893555 178325167 63049448 614600823 132827322 648646825 751131212 230135505 339072915 313220497 282122633 136155551 730945780 909572473 428545815 439132393 652533762 544301178 223319913 943327937 380293222 344552167 376736391 884184854 785224917 248063813 113426278 712659471 15762935 830070588 312744486 695174459 719960040 436385967 623332898 915603747 564119286 815844501 231491790 462996994 49455076 992314638 595769513 23507756 381626381 954207715 426478511 633241313 739811804 370980130 812312739 11663036 34334936 160329220 485855 611784355 818862525 319996753 807630759 666089872 82208716 520346334 153828968 247250516 736772709 102636545 282281618 810761840 677270403 668360248 616726991 840013059 365799517 25723672 728543899 416691512 892405590 87480206 199347791 885473131 795282240 844582170 21080445 355285198 89093929 334370040 781214303 999304649 489190417 635615534 162408613 612798379 898298434 714044825 277691864 505371793 271765889 616315946 505899110 8853583 422635367 827326022 348109345 923216889 502823389 218729796 957208440 18820645 384866161 882954508 459178870 813593486 205934989 802844288 629930586 297913899 662686881 655443128 733560958 571906289 79401197 94701822 422112174 263271780 12906447 167957246 754950725 355935670 220529826 161820574 862801106 498601334 631518266 786489581 666650151 779206361 587441258 961341204 117377191 114713083 523737860 14792146 203575545 312121788 223805171 115229068 53281189 214876298 186601059 786354706 847784114 18722821 826613109 794544117 568037301 415865083 250938353 837372166 688256608 284148578 784164792 115076788 564986263 428908644 519172860 464711643 807975988 519159394 817698068 649033901 724887600 434932698 422723286 189491911 131949569 608944757 888601111 646598976 25727118 983366382 863050722 666170265 192246350 496522723 34935658 127278939 358267443 599785126 602017301 851732778 919112078 735516311 367486431 809952640 199426419 415802283 460227824 347974388 203089998 460647058 274316676 381204977 380648523 656676836 597515408 111966682 164219268 432669301 268512233 463133723 769257013 627743293 145670970 659712641 647665294 353027413 952884624 711578297 306509200 895021278 507302482 869343457 30146270 694295882 169082234 860477575 406924884 74589305 338742988 50083754 481713265 479937825 673654571 464060337 742143685 896913199 609821997 215784302 341539135 202966008 278481617 82991202 95297839 165888387 830280769 882385260 692847782 92354303 727379497 949032520 694916120 961479704 24006348 953942068 399534236 398959111 652955953 536161029 829316333 815738331 642265529 485394112 758501755 661149812 426874084 458938984 13276977 624294674 285357750 703609781 252535637 261718196 278010867 192505673 158795322 465151476 824194986 445070343 205263777 561581182 601549511 171576855 203836200 59697513 996733780 93591921 230609731 165032849 23672096 325624582 783629927 229851291 371953830 699247262 237709989 67700871 433802383 607241333 618769432 465252214 899050423 8810817 206861796 924557599 742647333 11082568 172735745 167983316 183380644 295497203 610841188 176801429 717001958 574340483 710298086 655496993 125347770 485753674 113325732 973996769 151155207 108473508 819600894 23678992 460968035 784382451 58447728 455213936 834867050 263678048 842895309 428515307 896157082 195258421 830053763 819312098 950075941 213481140 441736852 758122797 517552847 371395579 553798621 220995330 641388964 928848994 140025693 802631997 743393920 990778902 452708709 845662871 377276468 935625534 199404919 226339681 510981270 264126435 222116293 588091691 757291002 874280924 9737428 444301301 328362955 807661828 808451314 950695091 840540291 396469895 304879050 330440858 539451674 348628730 450403522 336972034 924129476 392114718 637781394 781558893 462779427 90531947 803064295 39458693 131962514 739151914 904180922 622082729 395745510 604584283 612418884 722353068 87093781 962777710 794662996 329924734 607177853 140925420 285883551 287028603 497699587 180822354 766684704 593285771 912827929 632101460 327801746 60713065 308681242 536652745 897435596 669981241 399526582 467574415 83262213 912951654 884095871 125163801 360064333 445784384 483137239 80698964 446358037 876276224 502692302 30363753 452532061 797452384 792210028 849558037 599009983 521630429 509420448 910058528 204562640 815665133 764824615 96916452 855174366 206513964 818303095 36921008 518378070 83163495 136467094 702058717 978618168 653062624 208950613 355066152 361413099 19049430 103555491 192885276 838938659 264918279 444923799 397490631 431192837 3908985 686629817 831615266 222761012 305787435 345135014 649804255 13455688 960216510 147794241 175681443 767413370 300635853 341095198 332098825 277224755 361481010 362751897 803328797 895498669 242314661 436166774 484362031 888949898 377948635 742345873 330449317 696169813 395242905 868348391 7004591 95824069 129032892 996839615 150610829 922454530 27942803 776588720 44519178 537451332 811877112 121317958 715257204 680856209 517535519 99968066 733652941 970152433 592872716 753873717 96349239 685566843 139371529 788008387 157989666 758471483 296417114 996523609 17355150 835659265 735645947 407698238 347019235 500534068 940942393 434748508 985376544 689624439 174557892 584194683 740369783 395572419 140231655 436666618 678612251 208000850 781427292 804899797 394763428 305625986 441876055 142255068 679097896 392771396 104501575 168747258 299938971 593143695 901211154 871786102 704382663 271469631 123213285 582750298 810867902 515325967 371830081 826857105 81751525 10580640 385246396 505667870 28141510 234401359 142767039 610949104 531589692 85469332 703497671 700144230 548894738 673112287 890451263 987759509 1143351 537728889 180711162 737478272 421675218 218522888 346674283 204483922 211725854 429683775 46080971 557753272 339818775 751453009 401212616 784420443 389133249 280268186 899491809 126673283 676601436 456618669 793696671 749780759 393932596 801405307 924669347 562371820 921055555 709879096 85432719 712264677 400733654 114671852 674942922 839015913 356256130 947500172 161559041 958439613 906374329 940140781 353870581 946109041 426128616 199863278 884799991 121621959 469212117 896849882 92619101 562998442 622390590 8187108 225870106 804634640 138206044 150342877 528567085 296933859 156470673 371745276 224474825 310148927 310996027 300589692 778192745 918590048 912884477 334584010 98146721 282890145 341523324 734883409 986769564 874968257 711406292 720647184 236421061 571156872 102229890 461240399 295072789 288830407 279857394 19259005 215410371 968770738 190005524 517111594 587301945 821163270 246789112 454121760 625365409 552866501 782514155 307121387 153588593 212231797 91803755 802703651 360760244 429975316 581170245 476411314 61766767 216433972 197364844 855778914 522481954 728810024 544724877 761318061 487994286 778241331 337625368 622265620 79917974 674801312 919628982 280885271 669827458 293438702 780685114 375015320 728767464 454855286 592395575 631424710 817026843 562922342 637974266 427387652 117877813 819210259 800168214 891215279 227952279 825908290 560952430 294286494 436579722 243044719 118818710 325589265 436572252 340038747 421877599 283145123 300676892 541994253 253499079 29504361 757887553 967547709 876654118 150559645 987045600 437930834 248490514 649283028 90941913 944018182 811871488 597163163 524742983 932302860 35705440 517273771 842275327 410147619 763828703 648946139 149001340 981489325 988663326 709293501 360520009 366245846 963045365 982319536 396714790 905503226 787155532 945169627 809779635 697104958 520006161 676525884 166719644 355403014 924334538 695453484 118622023 654474633 165509210 186433973 924046904 661074253 836951806 705125864 348356040 426939525 368870182 109306806 783531671 787946598 382721099 374699472 260874277 952606967 560934211 770512898 976053514 218120484 122152833 197009714 419672612 641040628 749733580 582382985 393512845 914306662 240898267 325567480 240045700 205597618 896311122 271690425 947604720 240562385 34911312 213389109 668088585 276586980 276939805 280714675 307598376 743879351 367112235 637929996 589376194 535147941 501007872 642408995 122989845 702257429 838065111 605797337 257652476 91295205 136350468 358092102 624888904 941853824 980972128 661888306 373107871 877948850 850838563 556852158 874431464 90825247 727759080 710210455 328575199 671951285 668804287 923218601 415363022 979828404 519467519 959550093 584102357 822101611 784418348 332716454 257822966 980649879 109052088 883127000 914092619 265135391 915910734 857818040 566535047 64413576 452508084 651898545 437372354 138337403 507218121 996236533 782478435 945281676 172119698 48099879 836505893 39551016 297101620 950019822 747860114 39611613 923157522 259328856 841074104 963884815 308129964 715365500 759273057 182749602 257879752 668895149 143066509 116302513 111886295 503383373 364181358 461979295 595793782 700022611 715235100 940856094 489562126 345931907 292806335 638648702 992804522 816454671 448098882 226625244 948482513 492077947 411790124 293709001 547166268 448813376 888476842 652375550 290249492 320257094 533953508 77006356 208743380 999347030 208493342 147382225 286303216 144587484 820825201 957258122 443602786 61895024 804413943 74734369 134381939 51490076 115726761 476536373 366698527 84313686 113419336 146248976 70699483 441685687 304180887 694669485 108806856 28348797 779088916 900210483 746351785 580330408 347754676 862619247 963760260 790277895 845187789 595995502 888221306 360983991 639781662 938735076 391851754 159865085 754652347 180055776 561288165 565241201 662129566 648674138 745734752 750757338 316175849 897166738 318850915 715691111 390558048 718900961 582358864 459059709 716220381 819840102 984283582 304142250 447162708 506211251 170084912 190486817 220494846 88908513 521272716 456959907 280728441 166078317 503061844 847778617 527697425 210802638 853742092 497971349 903160925 87371460 749399322 817926915 190795074 469409055 158563723 846614238 496529960 800327126 87575399 356079872 302955837 740321415 338782758 530180644 305808882 928287534 759786036 197548337 656462611 107530310 861079872 835798851 214306890 717470595 162215599 405753965 566017929 158874979 624328541 102437681 198971021 961316515 614313002 976631588 704577063 325231889 77403641 827200800 553811058 875817157 255634121 151258537 349946658 493615992 850348885 768015253 36714098 250341461 137191641 740610517 81783275 123118082 265589693 350431567 169327969 677121954 539476071 416443195 816100341 3597066 525489105 601696153 964649835 79516227 150873968 633214281 646500693 636710989 709903461 1167854 138910849 313174918 587892140 695573798 165876421 36763680 625813797 977728341 809856813 748825319 424868255 627772752 994897167 468277119 767972389 188110562 100812751 820335985 852115342 608322029 91463718 343436742 361690577 929071486 590156036 847310869 549500592 543402175 21907280 991945053 911786274 165083447 109436655 483850342 903188904 627138748 521370328 834852874 156977574 170919364 736669046 647035958 135579364 286682124 924177201 975712952 819839271 101311612 418261248 59177828 738387273 902640505 591727000 663069713 871349923 418574681 537311375 292543757 215120335 818719421 480242273 482603323 75373434 151319502 961050377 351254280 305279983 559133190 770321524 690645396 611485242 650535825 446144097 397811071 436846501 838412364 117777858 367030426 897148477 285377381 646035923 49098716 316478607 776597228 16409573 505860222 58698137 39111790 32787066 447029938 770884348 5499717 676659819 247310043 455115313 871265265 340252019 237613379 82555380 810415767 710099257 742656181 587289932 301923987 204301940 107156654 810441899 483543319 547319078 3133633 155957957 291570099 857521443 811587162 6990725 114231631 62116197 313391363 731754664 136141571 639110168 169721404 356741212 387915859 274357158 499750675 117811757 811755792 498693681 588112043 998360859 590536981 308199721 654210272 543420877 589781478 930764347 260345017 806507799 873443653 260196198 533544815 957775498 668569946 392094108 913639059 70367924 667457524 297721471 736536568 406850066 972729596 109558643 458351896 551565259 19903279 24027994 920219422 475709009 957765295 772172945 105436659 693192779 663820372 243369511 571754055 457080383 407442342 587844851 351874001 770087480 282048811 459813468 848531413 510663794 935652906 252291105 995499624 497536621 461508478 354002777 376230492 869758294 948074467 638621639 412183949 290901943 138519652 487033741 134838869 878926385 545425427 710764523 476826133 271863486 609750017 390570889 191195314 101450040 463086840 146139911 979604650 120788472 812914341 770271520 911765464 250713092 924683905 462415558 95487247 257896797 193741001 752371490 589349149 58477950 817730411 942071992 572649856 39194777 437187133 616914712 742947769 209043148 93372922 130942263 546765638 644526644 919874145 612804054 350417054 763267579 233358728 726045346 887950861 265147828 949659252 921581106 448464149 265712513 408684957 52741538 157119303 227316488 259442478 677211985 68903432 96123678 749001905 483851712 961102503 604278793 982202218 930486500 184900163 593828593 783182258 276693543 352842860 756093856 767863744 515213851 734738193 860637549 842042613 795242066 395025251 155033029 480688001 956280118 565210422 633570789 252467737 227443271 436714199 406189293 653223708 976822875 38906842 13383268 571891949 199153192 258431130 908952646 423953318 950598181 114377262 909780912 962064119 464885696 504619779 211582330 446698110 658786447 420847194 504015310 278013935 672200607 285054860 934610960 536020551 162219548 73399435 897353765 291099109 402016222 808242361 962001478 404138252 788302836 544155425 375314417 463461667 399744471 277276056 860598388 570720416 173723580 871278040 852657515 899820322 608634794 969517718 56017484 254845601 791169045 376054884 751520468 161620810 762219004 53883508 249795721 49039794 51775326 836755196 281487472 69404994 987899834 972813893 408395807 155369278 513268192 265082744 930660536 129755890 866171309 966653949 425289298 717583582 384041078 263155777 653768465 237618756 622515162 397595461 6627673 346963837 245306567 526214278 305492518 807247890 752030059 219486441 173899767 612412088 312079808 306925279 456783865 741063471 699206570 812670257 40773033 922851662 403522529 317591777 284922842 355023775 274659552 13548796 129964117 809535868 210144908 256676609 86041793 464534747 105931011 710910731 19943516 226846143 657343535 669369542 791651813 569366044 777239471 116919305 996514150 151352865 519420614 844490771 664704141 19164621 112494382 868044025 23501305 326006709 542843887 48000176 978159016 508444023 10374822 955213955 904146090 785618656 255301181 122074002 462762155 947903059 814832428 343870034 951016843 280205636 442775258 309273588 13283579 712279931 830973089 864657346 327492134 8617886 804407872 273132016 934336545 325151254 2669831 186036276 791811200 868588287 261339356 308281088 2183636 873186607 101539627 259493202 270935110 338499498 390796226 488519020 553729891 839394809 607324051 950712271 899759799 926404577 971961211 30918860 478414959 869443884 364459391 177982299 386148633 900254154 638277248 797295629 587265383 494250310 165488444 804663523 755668174 926976465 305852374 138133225 744939139 225346885 434346674 789984189 422422002 211728615 93794609 650885240 604849147 459826188 767749584 992612006 929042755 258156689 403775899 434073297 975377778 316322322 881313929 240742852 411429224 119629759 563446385 971746530 417313966 181186524 964364411 698282387 448873035 228371663 248545925 304261214 11447477 185166555 942649131 937097895 345450230 196228680 655870371 628619647 503540828 735385228 405009673 238831972 958436979 358544221 605519901 62900484 486079247 924656291 805912990 144105101 485454503 992564820 372652458 216034057 427514486 670090066 39419737 719269632 19888325 771349871 680960370 181211310 656962881 633510412 907198001 40488915 190893051 794235195 893415811 807983920 128690015 934857846 689297171 42884986 254568660 941964522 157064087 482114381 329586168 361560916 793524431 368751942 291230709 59423749 611938521 150839230 92591940 487604565 287405049 231241230 880818274 866901187 70781847 901799927 271698630 873131335 766210839 351964686 625284832 203101428 443049059 584312717 762663480 300246369 10295400 148777236 535377130 385852256 112075763 340508708 814506726 849131365 478070158 439432363 772244477 730316717 481410299 43061617 716756338 407399178 622365015 741766528 272283193 479894224 593700552 924868170 87913979 292820661 475148876 947537836 273457510 953538958 968569224 47703170 212839908 320789707 352161208 135913985 269686921 402617469 307673918 336025533 607629776 114694351 52432165 331243507 752200359 891243202 49217710 119116400 112725481 28536695 575036966 652496798 464655354 36158993 353435866 949945334 722982806 495480452 225447763 819530793 168267402 93478954 837761690 575799129 429835545 418726094 221619873 7824927 414606170 527033434 355726549 705589807 396193431 69348480 436866904 563680226 29312791 935093222 961154276 236427270 851070454 963505912 694418778 340289958 108038597 19628246 503329920 78951102 20841994 478806004 975870356 722206041 404748751 888123866 157094306 595377927 862794360 203398318 782297414 947196854 407622369 388693996 977392484 161473133 341325658 470346378 195579370 301116672 946921641 775386042 137994348 443933246 40056751 912447980 482416617 777155543 616638098 602065340 413460426 426381601 135568775 451346087 803048993 223648902 958479010 656378036 960535622 787625362 731609086 970924617 727624333 472030596 64863456 852953630 100971096 960243650 265010465 667649606 270004920 651324657 185989729 559119552 567551117 329700348 242259585 161884006 107108222 308096735 637114180 976489380 817074306 10125055 646279075 616280860 580999132 946499896 791754225 657807578 877941873 993098320 546821925 542535703 506703255 478238067 999503536 66551556 635584090 343139838 248667724 316153255 463373593 17843566 138611112 468978270 543389126 298819854 599000374 316870813 153424052 387615744 327769063 386702812 553926565 653432007 950230583 860836144 126614249 958528850 331701223 414393096 869848880 308184116 316111459 832744205 236717572 42294806 435809113 188278897 759701071 899710287 428918986 229224187 534489789 790116328 146243224 250592098 136286318 676526989 760447654 682661747 938300605 248445267 730445902 107324015 940161070 764836808 817114342 88549402 700423036 364658932 701716214 835410489 11570370 305732776 147264114 863346469 241146904 367472702 452377543 898896946 570710436 623670641 514163006 817856330 893915296 924710775 768134503 223931905 797315747 707207628 991630841 40015893 639827291 613198457 690000131 767827352 463684159 897990503 552515306 13060929 461254115 253206315 352246609 861755659 921201249 946239597 449171624 670031930 275870526 685204324 584860596 107691406 742015385 850981517 573174532 382356440 271812969 907484293 11770021 256610880 94352766 61298709 620021791 840482648 593166089 494210882 579671767 236893396 962082592 979705969 32113998 431342853 598544258 905399547 656772282 513274776 322305605 183672050 851117257 958207959 423432853 174126384 519652338 44508072 471059369 206727732 41931450 338089046 259473998 647691775 968656500 113799604 419988687 537378900 303837703 157056708 445950188 106240206 560072664 526203758 675676440 673045523 509751445 870428920 541896614 938734821 39747741 346652089 368084697 781663907 781548875 580216400 67548173 704675355 991492384 362353913 67030409 695009785 926514928 140581234 443410620 506099498 932690142 390375060 946072407 95591242 484491304 276270108 8646416 771222812 791201157 182184559 617888325 277153754 955314851 989555203 912193719 501292627 663186201 679293453 591006691 528311830 683653999 566326777 480891655 956212060 189455133 78919052 669124343 464102878 94221501 258970457 75755156 786784284 37912435 781423319 63564747 602708927 926713663 806500756 877706415 626914057 248803829 548992511 108383826 526810154 585674699 937359469 625125637 725824559 553631712 788979368 425412050 356212129 157071212 8875197 526357055 105847022 939815599 347369164 137520651 636091681 383733399 322834545 441541038 593323325 491473671 713992011 574054496 339369374 933490007 23082422 225273950 561558346 321550569 597415422 298856939 139797543 778231636 80225944 707046105 139648215 668701679 920293828 556370441 962603562 852699414 446417981 886851421 160582834 75106413 187357588 576305744 572301000 442390657 325948900 115633554 726172680 764287154 659909428 227022016 217677863 92645685 432147535 886014585 349938673 465784680 254825055 929637931 627212114 772796913 707661414 949353830 469443604 664688035 996215990 917535335 130097993 445979953 838102932 166958375 510685022 191025770 765621552 76201422 545355922 445299878 359243557 276153651 901774926 637163042 907553748 758594989 41503966 203639932 861562144 1319849 781974900 582679699 8079529 110059101 831415886 454943301 51655287 100326019 260386280 436948725 510599912 42091473 877354019 532105462 29650679 718087703 602153364 746518909 245151810 90855529 494218694 286863994 42628227 82317326 312638839 128068719 842861736 305926875 640054130 975491809 895757002 985752756 923814842 569625451 887789933 169458355 669471997 732903780 28970407 559356573 286376894 297735248 809180998 520324030 713315127 973599704 890482223 340245413 296916714 23664036 469035509 52026423 889606510 892046612 671038576 869626077 300911415 849505819 310481753 580755966 351057108 96023281 305618986 246699619 943851329 177701868 451028582 405323295 159361842 413575369 862856829 378226466 567058057 621908485 66740682 154990112 414421070 944779707 443482960 241237369 14487169 116726196 27415736 356034059 204540098 671868111 450558198 669152884 532657609 679874252 566125221 83624722 672953801 120191012 813821264 681031071 339876111 265770589 322458773 53223015 295174919 36312215 862679996 993172819 319995842 526824587 152194369 789242340 816636185 6234367 294324057 711697342 959480283 571553887 726553529 445391396 231930706 990178175 327183346 560572464 547607552 48623756 410550003 279475162 117719915 52612037 533428230 498098748 411299201 858717770 695001935 900290542 462813854 439152766 79664737 136572749 415811166 592835542 250078989 434709634 783682988 84177697 128024170 937919848 89929802 347850242 442430023 3197104 400093615 317648845 910685664 127972448 364828218 271860643 989694204 99155961 15768948 580273052 921783570 432659072 209272684 839143637 15392779 458111868 42158084 297252747 226828112 30832547 964334824 177484694 427574698 455298224 752936386 716998939 195105125 962965435 73114560 357080674 463607245 682409989 846464058 992787502 598846194 383610837 161979392 762255415 797099811 431710128 367758547 294027326 911288851 853150679 320115012 353783646 271626117 593961767 773137388 518011555 732984486 870052054 65337799 642829040 870432074 132824678 813383368 275925760 979687878 184243437 785976907 57036313 343249050 130526409 513843608 646134667 326205162 244281234 610612508 80572549 359420616 884646015 217167153 302074253 777261807 11983885 692428967 266836654 224291478 911507159 210442222 576614825 181718848 767361250 306584889 164926916 890383986 472193193 594359953 916795651 255982778 190381970 152763931 207763081 126992891 544997056 939869390 619806488 3306985 905951308 480300262 822864323 408492209 842365219 205010710 670523865 70608256 36388385 704245688 645891980 245703237 981040659 493038482 59923223 780902391 396773313 119208349 911190629 910016971 208393162 247246354 272885516 447245541 820904108 783155658 203982715 529778162 37311577 348218376 700584863 408367830 635893147 181036652 692273187 644291146 897833180 495197504 126239517 106388022 971714406 575718723 554034785 562218566 231344761 311984675 143640875 235240611 382144378 294515660 544761861 88646470 216446228 216515484 493540745 418514319 587180824 541076563 210678497 610167309 769580334 536551536 90346288 730325460 456931691 986111702 904404688 301644843 568112148 932225696 330403178 85963983 186349199 485139504 502183016 159895912 605093419 329503236 956399447 263454713 69755825 806338210 45649952 463306731 541865743 926240902 524533589 675094228 645678446 446005634 213314224 156250260 561572827 576682912 791205112 782853669 306068500 42925744 620682548 575498637 760882844 966706842 948410489 591330716 913137431 606229918 810492390 737445762 776504453 899668093 572999025 79542761 306031344 623568767 356824738 25818296 603305427 681321984 361787252 809836514 224903963 865793238 643768391 250655192 324866374 114420674 155210996 19455250 335955273 446974896 944226089 536685567 110107545 809194853 491945209 261127543 813042637 199885758 548880924 731081233 762947837 166556849 124559297 931176820 420569540 874083070 361027173 785939054 113622847 765358015 937010309 143733845 981467168 58992722 62994686 846674377 507216971 690631880 51124207 994198868 296260737 589300476 94157177 636724751 999985303 305725290 986036325 742711353 347821085 502640395 197814466 114342550 310558967 103746874 757553828 511616460 449676853 710646375 960798808 317552730 972588472 654152740 603047528 387543282 489934204 472467404 906065227 544475846 185074409 814853091 927910862 861536857 414453035 433532311 347370146 616089544 464754387 87514867 893317920 176121837 536119408 432184965 516098952 854414846 294439059 775418496 920215021 771663004 420460131 455668486 91998863 708363820 513147037 338514731 870655709 623319729 301193138 838365444 617175639 325033340 47180966 526981609 711238263 507368215 786949734 471411335 824403379 680412651 238990937 727083118 987384373 825901532 67943289 592968434 305612121 8036619 422865324 439169532 573637668 915985459 126746043 539435343 55009907 938432387 259691190 429628914 692607342 90780329 503657384 73907959 792999130 448454199 364333929 634233874 257141412 387788687 293588624 393920245 152462686 977435950 364203836 623562314 467060019 210092223 772687269 53772261 371588156 327542416 365680733 187288179 993389756 496128495 790208059 749896334 596742978 323850243 108119919 6278554 446584091 440039581 188923400 930602921 984570428 826491203 940574830 671604187 2751496 681343563 710768371 988073839 329976798 82468847 935906006 998844097 443660924 133091082 299987425 313427818 750337050 44762163 842305549 896864473 950568755 286284666 213746735 866294775 184795044 840592865 92298684 596654488 918362078 925128175 703486571 939792835 906190439 478024838 291982970 298581750 99277066 851362788 74619602 669598416 750626181 204302566 363558255 873611320 436688996 425198137 163593025 446843049 131624171 534371609 909874366 829801486 903274959 84873751 889726150 812446231 430880729 854428650 690823660 936910277 802941150 263031977 833268043 651778688 770700328 72523700 674712764 375755315 59367751 412510394 185779510 154605358 14898536 3068207 918630135 188723315 425064191 761949228 945434737 904449217 266115488 864686321 925155202 852507977 352168956 357011400 267632221 893222705 12182167 551917525 220910449 785145920 888601776 912874086 994701281 623741602 778954660 432228214 861397511 647498603 71054172 998987641 323379899 280040311 346362826 624807226 876384325 369741591 595488368 910933589 310092322 929483351 997204688 593527587 403146163 135556913 516381360 676239344 179424473 748709819 808422994 179963902 282107989 661318582 859020496 369151765 24479419 394381289 431083625 913948256 830042955 892440817 70914929 132703576 955428198 937220672 297980325 640500446 120735623 120154179 596769775 435590673 251383625 698488060 800518663 811420297 336958958 595709250 766783438 942769358 803623031 809990822 138997198 853765745 260877580 772353333 623845894 29395409 822720198 483863150 267528152 519572082 773802923 587279957 850907800 116164382 899620500 624981228 300992970 347206920 243956680 441081662 316422161 757873866 430169770 546036186 241790054 201346917 206914836 563141180 65867606 931640075 978937374 828352076 834558412 647838623 299289852 159751802 2760735 92097030 21126911 309760031 191512088 256563050 357631212 613311377 388606631 40282338 440317703 512517299 770004503 297053799 859333848 875157526 420899582 113571870 395658168 61586787 641978740 465712098 961003088 561622856 163537302 589581612 717494805 718926080 77383154 835903714 813559841 873974340 891880561 932137953 882991636 226495033 920626776 944474397 868343155 334173585 671893214 875157735 640059799 86762012 366741422 699490754 437212575 390834409 324902732 187347741 865779632 799371479 571245217 969731555 569635716 860217095 82808010 35953812 646793714 711806058 423346131 3344048 365055172 72456777 968097375 982860756 213485279 395808181 503381609 251494989 670017357 954766127 47691087 988016983 201691198 973683723 580764740 60546621 205513756 238680243 204940228 693964037 466306832 519556286 604694988 128161132 197156741 660202025 245631039 569401586 769149729 884045568 520264420 56984584 715998284 756999508 854616217 74114716 413115453 482118427 662365873 651602177 669794159 353058927 83352595 42801581 191777150 947007910 327792152 204052586 36433740 526089409 632894440 40413510 811281160 380893208 475346060 707550070 109142914 215580966 550086339 345558847 543355938 523764026 514541959 310904130 955680611 511837144 557541231 568629022 334878478 175430387 903426491 29218276 522149508 775988560 366390434 348795491 732048899 5851152 821454602 815959034 41387451 624886948 128903751 79436111 117074586 437797407 994448591 763950115 567260100 437793923 710644641 948679570 7869736 469169874 121468662 548244487 581528393 262962670 906903527 25299093 421289221 176833908 647647594 601233196 10929586 822140864 583149450 880080852 372486098 245342587 920807177 645586088 190488701 398697304 324982570 763460013 12531168 696568657 400575863 246086903 964157561 602736763 378758911 642206140 474223500 265432993 389538188 900291175 253959302 72891040 454369941 630603062 590777896 600516231 629109481 191136688 454610658 742196274 369405646 980974238 671337336 153248656 340734690 547206694 612478665 334267189 565789019 564212876 228844657 892394844 498481335 449237160 189305016 723765690 856553438 789159966 788645683 616715384 137448683 970982491 919289666 370269405 270672992 954344678 365735765 114186309 889279265 677507622 916835878 593693673 505007262 745375090 793697478 758030957 925115142 783344870 506594900 286003647 297402753 1402455 399411519 582425923 360800340 290434420 532578624 98549052 821642658 993871241 333888125 765865529 658761162 596819545 80210797 981001264 829162752 995255285 523524588 387519286 550235812 287764946 477414333 582305673 314051582 894768417 441573339 999360260 105037743 668117222 482762140 955077836 633142731 821772790 59606440 392199397 293995224 768201480 35760050 526624502 818513592 133168954 137919710 578588794 977081831 351658376 740039636 302829924 777028769 700272031 300281834 882436355 165619958 12897385 522493789 389276252 289787392 313926273 629979061 432095901 140866433 576423826 970220521 314340535 774455464 115833196 656271007 287993363 710275388 555242206 446937669 591642871 190503803 794503509 724455817 744935198 783329296 568198276 421818081 394743666 749518118 281901956 806640242 182802991 344086180 371611193 509219169 581633781 367061830 88531901 428983278 874128800 182770348 924340637 381032150 709002001 494083149 64858669 227132070 244097939 876115559 298935496 61363587 568333605 924360606 516595070 441187007 469621824 268003439 50741916 600828742 317210458 503482307 601997236 6893243 988418452 863707594 769373355 194510806 228189468 59221125 255510528 480227197 640542220 686598600 359258317 980876436 624814421 650717121 316995912 618281284 850137564 718840784 770970597 539592384 213641692 578179180 606232996 962763111 308099681 832833330 929714286 760970150 945697964 749505426 31060769 654592594 591424336 998444586 142665566 338705675 772574174 929424513 775255198 632212481 717640826 360463873 735846318 25322767 185493345 703753228 689143907 709591138 132597807 423365109 433399288 917823684 184145667 723226130 657969586 655821172 304293429 183447553 526182542 192443485 915786723 119991016 104280976 761457590 793031902 969331645 151779334 318511787 827581620 165901784 579682906 748757414 554452079 247417685 224462178 903549445 776733368 835118162 439221772 256016027 694827526 887910868 892766175 56352578 798476361 409592943 537120231 492663140 439367159 114588450 739914342 936453060 833501905 221651981 545731670 490527395 696963910 738699091 642507779 604779731 639065991 162880955 921247276 234338616 865741490 45896878 191141980 417094907 81635645 423529622 884616312 368598279 58705499 768666682 975939220 183394916 783986726 303166987 141223906 845489694 549393015 162087492 7585186 785504540 741286805 452046682 442155702 624939146 508291391 611814410 30296924 816678144 205651300 79100808 671900468 798289204 905843804 947558645 89077748 930938127 35459515 511667952 773688392 379081124 432770497 376257543 293008678 262150281 544291736 827153929 459658855 636717570 92262478 303154002 912138432 237998278 220963150 49422129 72592859 909089075 6489651 129002740 710064064 174208494 13032220 944121072 479409982 657738926 870234435 849151552 748735328 774958450 475377389 898378786 882687221 521007070 500355089 491298892 30722851 410364331 594532122 213540639 512218037 264643625 311774011 126162835 717967274 763108828 627471423 444855406 684108561 871443669 184538434 224988683 694133345 399509635 836624611 35255788 645748043 105474412 483301262 533873568 622289612 423365620 633358382 473944153 552498953 895355961 566505822 176416224 67679707 477454018 384553277 402639712 577625071 294282454 943498767 170230374 646344653 868416996 531324775 954857637 458117988 562403776 280673941 142872497 55780133 480762940 96443186 581131362 442611356 613512179 165877716 599671576 310667046 159071401 119542862 257886189 696183475 367017826 858719930 667012544 424921623 327850171 756414359 644245186 693528868 35303180 718060757 990414991 140976981 540097805 837617460 34579619 638407239 777354866 33146123 629682312 375256032 892525655 578009786 802834505 981310504 477573569 17021975 62271187 83094197 826954949 638198728 153927819 270288120 419871785 906414953 404974927 6471568 501510855 599107829 617525818 257004074 176287309 202578187 844599347 941583582 372984641 264621697 248714718 256571723 444177151 508199231 797191341 582708062 96906826 763667134 682669015 929642838 337336702 644912328 729898271 232038989 522521309 257126427 992694293 816370357 549452106 388528278 709640695 476630807 149061754 981238351 9313397 362745213 407371255 778727471 242312757 153839098 658226809 139353499 949497299 182448897 321582789 530396819 125189513 116864750 556243818 904101609 103218892 832595378 380974537 526400806 107016312 15396016 229458927 655989447 71716467 613605122 948171925 909431639 126253175 465044280 975340187 730268565 245166500 871350917 35329064 644387454 214499014 87712895 64036360 446715303 9464728 482032893 192589082 964068805 984613717 523695823 110012357 763530957 3024940 981075620 48369077 430384832 922299267 671173019 721076801 518087714 208424017 220037700 606989277 586998520 306922743 711931886 272432716 582024572 151083462 813288458 417590809 807244074 446669974 832816713 527572682 927819198 583640712 752723789 844990541 817564939 154951042 547002440 605649033 495026791 459239568 857916842 339670528 262702273 62823904 959527042 114934827 486450039 577198256 498820784 233620503 453467528 876343758 493278684 50798040 162005920 691559964 846191379 218833695 174648016 935278982 545464352 709418201 763909712 352774508 502200306 624097706 722093237 560100830 183856308 853423116 624912785 843832998 585293321 458595650 408549821 90492400 826165740 258041663 265116937 143504985 622154117 407512332 759020538 379507013 543724312 531349708 824562874 155644821 975154418 356708053 231477277 440269890 830124395 519708856 57701360 268259692 743718126 470755753 57956512 449922182 693107073 580002792 639425842 564885770 729819905 448467802 652823763 18716115 39122838 765310486 40478146 388657545 6566878 166857150 761375050 93091169 960741712 217815476 778183373 697283945 628481622 201083621 820518571 782214564 272194833 494491752 157616132 282525505 453435450 696036433 361832028 570003601 998384471 914652253 974951859 442622837 763149883 660433145 914494966 602657947 853211728 902366868 873716442 926649001 152508860 107379033 110269077 311163398 731168922 94821632 366544831 986025874 616879860 300270377 689358260 517847975 881477553 841698974 741263846 778857015 469442084 814984236 447912688 332275004 996347738 701915372 670444465 388206813 419153748 778176400 209645481 726244828 128097848 258022957 490566169 622964756 182743997 585919192 717342325 570798921 40341467 20458419 609199861 446722879 907566184 165204140 269841362 598067510 320106480 702264821 381362099 208412830 904679260 275126670 516626353 718146391 553095176 282330070 658565593 954656771 672103161 874565146 639819658 1447585 21335475 621054900 970873546 424960863 565045912 631100852 144862292 870004490 431129704 209357507 106371057 819871944 157943803 276660667 894207343 354561592 32012255 534915881 836028084 634311640 807360311 501929675 452547261 13969405 288422405 12986936 929832436 622254674 329927702 100680543 802655441 605559731 253247829 26812654 994947159 469833013 22312905 462361915 773411372 234684401 257501588 574066293 590547227 434883339 590112890 790702019 756634930 464685817 801693567 49180317 432621339 303952603 308972814 378208287 240496016 417013245 838601803 188444044 831348867 761378625 186228033 720322597 811974122 647887185 48614195 119080188 887983042 114219581 529556846 373752110 423578257 487231140 578570215 956143665 610424164 79296355 304025671 365585065 546888086 805147095 579702903 819268285 823286265 215993230 684257004 158358839 340409995 542270844 674610655 799370863 76128225 518392528 669661027 927297751 994419960 628187365 202311113 648969844 982982840 844934568 882811183 396755937 649915775 637689470 10451536 318464235 854366444 62962089 235522734 236312522 17637822 362183839 62230307 979805588 801309491 307085551 739266372 164991871 81074486 808134227 353562883 634236179 820423489 934345451 641398100 793260827 626759303 143760818 922746224 498310883 3321950 812416878 70939803 973689923 19222295 918893539 206558927 186349888 527705918 215942303 763682414 246169070 152604055 209466973 252557581 573441746 487019373 452803417 148552311 827040281 984794673 469065535 324111126 292634078 125725355 800211678 39937287 428044178 19359552 729312823 291078475 34866109 864389495 738451011 932409122 257199684 873784707 890574673 685643776 714202179 331060667 525588447 231793678 245051508 821763104 522506868 272575136 678170931 678434107 675717302 624788852 265096758 863227555 528134855 501131275 418113593 714006219 653951390 447652424 506139140 900353841 785630561 183252484 499081596 21752628 581709548 735650559 355705425 312037975 162072797 141388695 215554692 998615460 456503863 64753280 517612361 704297440 439855052 905471656 458665249 263543317 647576495 115719642 754136334 609906132 623788619 524335253 782602386 853667095 787151673 87129314 157289974 194211835 46393349 817679447 884328679 268480463 966900299 86451 7066272 371314293 390043909 844079568 821814545 394543395 478374648 515395074 537444893 704978283 441712026 529666112 860320362 553361186 370030849 903258962 734607595 224804573 743676198 911391687 690386371 439000275 883897855 423551914 401125231 888988590 304951047 601462571 855344488 369121642 761199301 44508152 530194044 667672277 209764348 854530535 432399621 323057521 981450480 34542528 624603464 557109132 500881099 900393058 476725476 507515607 170815896 694631442 999643906 764154855 41207873 132622916 591568235 153502540 24864232 4687856 932495946 712363248 45420159 299504403 27802008 689479442 924534840 300324876 609224077 8472149 296765027 395711702 334979893 505878495 151509113 590977143 386922876 929570815 874030843 202651450 770101634 779524344 615941012 524078556 877001102 988722925 256331396 601549447 298106777 673190802 266016986 921937816 240177086 440353018 763717400 882986334 596157884 149266493 76502146 182342452 354831998 832423149 432970091 669066984 640889555 700526560 362799764 402791770 572852627 568989927 807157098 686526223 922329472 951686398 225147500 438304312 293750349 880689999 269614327 287927452 625275715 238229203 638711515 25175354 594104559 218604291 822213176 229984020 265318387 422041430 316745171 840396166 318597440 295811510 232161973 818296600 557883780 123487180 456351400 756986803 433108163 878816570 168240355 896392392 733163974 710460052 590488618 416094293 163763407 532558851 52513687 220111521 510653566 775763225 562606922 497777859 168833747 690635989 106316475 264340403 233100473 197067434 542145718 358028594 475271653 507000772 394941596 403262458 925755072 484711114 831440110 626082527 585476650 392838382 140369194 739773464 560325509 299633695 556973314 959810066 231348040 808761844 136780211 379491533 665352755 574822245 328876812 379774691 765748013 498175748 271955836 921029682 496357134 573755892 226300198 696767397 773892382 177739076 32912405 161968344 967009115 794694381 842870215 662940524 708001533 813842740 718157753 996361862 504101768 173158311 269914310 236232093 921028739 471251830 907131125 698997961 675299346 380958727 273703779 817596077 18255400 862240931 564540231 22917401 367927515 776551085 154105873 4407675 392642649 569509626 698201578 92153732 412769408 832677314 653427903 574433180 722094616 809185062 177079858 899917655 967204480 102451383 989975696 864078761 382275964 432782650 123131307 398853408 681014821 182682924 541440945 877229672 327061959 187004704 136550507 202570788 301512913 190350402 645971673 749927626 153974144 845254065 388320447 735890687 503304231 902398743 698689867 127023298 67969045 753577809 37267794 451879645 386525363 115006216 263446075 814752412 664763424 526563743 231235932 858035541 676198934 674140227 592856326 113901701 67396429 577794032 843278513 502072087 59069242 369519411 162166066 505185067 783079115 917686551 851033635 642296956 701828557 631789007 423696206 672685415 351064335 61008018 382802426 914287011 136751695 924099249 367723692 987456900 797350720 655594017 936325739 515052684 748589639 964892002 688190731 795029360 811710876 663353853 548998760 25609796 739970728 58936257 560934488 943979776 728233143 120660593 194118585 107276987 63619191 562796983 913321870 461311073 363741238 450242579 333981039 342033392 608278691 587672499 940199555 629709211 50463574 2229350 94311397 141686026 47092589 494989003 600376048 400744491 931329027 191253926 194062340 737710332 584837980 640171177 616395874 198447524 157684796 612561244 192854669 347492734 293289845 7784670 700967935 498212936 312931656 636788644 123082379 149662205 663989913 42833300 925296661 444426315 774145244 82672476 209998639 892303738 247825701 708990410 212744589 402835025 528105131 976744987 734409225 128787050 260733163 484857825 277957391 397100175 167915413 258680081 65104105 948388048 799562684 494939718 546315151 339849515 624173376 660479761 91949673 698447423 722247825 64636940 48982723 82716653 441077546 425982528 513957550 631718543 738797212 434340926 507463610 525339570 185387042 759319623 27982580 798991867 757134192 433290700 254114629 490088306 294149003 415571346 631888040 814649465 508223549 75800264 868884514 323071573 899392197 151887731 323372475 438173091 925088023 639136011 379791248 276430748 479437361 735574190 977954980 439833346 612878565 678610433 675948415 294277507 769399674 376182236 531079073 624375880 253981410 267372796 438877224 993199203 128298642 816415075 296833584 979558963 157359547 786552505 798903988 549893894 540566492 798035027 428472865 558416156 266171479 778308764 351124323 54179539 142217417 789094716 54409733 638133111 664752257 141776922 536242364 729111524 505446672 197669008 831493209 261628113 943924730 141837915 819779317 542681247 333408696 6273067 547763404 597442441 545469472 979484083 409963171 893244185 271035809 37840591 309982609 475785815 914041178 711871997 460912133 697498864 383011403 284468654 204183195 420266324 746121167 354097611 319167763 126156744 634618257 562680403 571964650 378641376 104325350 517019114 239992769 113122165 818319420 171765962 111589668 421958128 977079471 714276665 23556849 186049162 220537346 160221580 20348296 231220868 470864006 980942528 280769018 726338152 755130759 528685018 815906995 841582383 126051178 170894952 830633811 88302038 943849375 701790842 529371339 849996795 116642784 311165231 694512078 11416750 571503731 556012609 662299694 88683423 544702943 809985240 193884100 494278791 600498081 775284895 294778607 491310838 291727063 264326705 45230000 940458583 144435288 366272921 429748319 852345605 396213802 907031936 755291605 57741764 611164158 391896998 910941499 552422688 784363660 403991327 576196669 435156881 857718529 133548146 553466444 22576228 461630563 875456503 675951352 70030199 307875591 245786682 928573526 430818680 941499928 72436505 471503894 316722557 637142485 439377870 968340425 386566077 985229934 284641362 790809005 317912056 666015786 261546259 921367517 36596852 365864933 133909207 385453611 51318817 588165696 360678515 804974650 687935755 345827893 752056620 992969453 727674106 105401771 12144174 89250972 665791205 731374551 503360928 284529524 832494620 533783651 179682686 561284651 244449411 13449216 228927191 247313311 637075378 551927106 452765236 81245003 621783549 770753780 270025045 507502996 743283948 984230948 241794167 107503266 880037677 333269058 698491354 15639626 96645001 47411105 455061465 562331139 404935495 555894300 703342292 954668152 606265888 574459839 529174576 47191480 978837393 89574311 924494651 437299035 645356497 448471398 749949417 97948732 880658804 300876793 436857424 119838077 740750970 19288296 852497671 534113847 11874862 539073451 678251868 763414754 293217815 801468066 334440625 896031663 511461263 861659699 341048946 789406382 630995185 359570614 571126347 595061984 981789797 530413975 955348497 665572443 478298912 450195457 719286939 929098734 277047150 398501472 167313617 157973269 215879781 286041922 953254653 222647004 547535080 384326006 630053087 528325137 575316766 137557997 633787309 512623985 134132944 639312160 428246775 814170668 90839251 411777200 309461448 193754949 596795739 583749279 52974096 685304405 447269093 608938918 837664060 176604462 739159394 531373033 955138398 881706080 791677526 668077578 541669444 367938817 626391426 888049801 739967720 330470716 397980673 908163095 741438449 948871582 534012860 19180891 139834331 665745400 634845735 264264918 818933054 112815978 126804045 927586821 188705751 738770793 718332383 736252055 146564466 956807541 746087755 877626704 312510050 468777498 721031196 234936780 23584212 40874969 489886367 718216557 441003549 29396490 457862506 432147216 429481801 45171737 884136833 472328747 372769210 911482060 539822536 373162670 400646522 331800439 625280250 433934171 867263729 324819185 47032599 30474316 426702512 932560869 706411458 738578136 443084589 267397517 438157274 469609118 781890215 783085486 141317758 497065013 429321469 370762632 165638965 486279146 493529486 55651553 345752806 529298338 616033054 717916868 860308280 991812555 700655722 810476964 234797869 611342163 808480772 654900871 836611476 378825460 302745955 883751082 256961895 782394082 898928500 237828627 923139430 96114767 5470263 732906092 158087501 857675872 534924365 215765425 875397898 826497880 626584948 103349170 474667853 104822590 410662094 134038813 584017999 169368840 947805339 122032865 679422537 613881763 794376993 324513436 921611153 652899558 864408843 421039106 755811741 330831052 758092973 91431469 272980177 47510496 826213361 862050217 594401896 573628402 109785340 718806671 82896225 825543037 625185867 622996702 118244870 524751035 189294148 840317812 172024634 941345975 204346346 364986204 227817713 670855918 461608072 269544493 904322182 320464336 835517682 786370712 434320053 197519306 45970394 742905096 99500760 597973823 659261992 845132317 343678000 5691742 333363642 751357173 507219348 494696892 784619424 552589272 96195621 317683035 77948181 714404036 199615639 25713884 1367842 801754710 285241721 332939740 248647500 541915920 264362758 720545018 348960675 230546688 634653734 957764214 962917518 55445940 88241947 31923704 970184003 184810268 965907 566921857 582657330 206976363 866406573 878429330 346513338 601239030 317766371 164684636 865025628 560759713 489672807 299702530 51389587 554889840 878769868 562462517 428763125 621492437 349215141 85950235 929496235 906139399 77109389 267075365 152704030 946135973 349682976 525710092 402796604 542091769 655158942 858035904 649197599 407986536 174389562 44070868 254640463 530541903 873030951 258866533 509602307 770410558 874123573 634473623 955751822 299255786 459086274 16226350 281365258 664874813 599225397 59588954 86914062 332762526 866779270 227442407 956621243 38900839 820490728 712197244 805473490 289428449 599518979 843972309 986509453 940850516 104451326 98759198 790784126 172265169 873624256 651873951 589610125 405883143 872602505 496680515 685712213 811720749 980612339 922096447 403515858 605873302 201609468 555696188 941355697 607710091 949955423 538451234 518489099 782826052 820735260 406889530 139947606 85696857 465003858 146442922 459651125 64852829 304773359 446323675 528581092 566863721 498909806 422638620 182680970 262642044 414182021 84914216 294307844 151306315 603881325 284383664 264234367 807965657 648322710 835061244 183894432 636211747 155723280 703774552 560912670 769432633 370488174 36148840 281093944 535096017 856794437 219661427 517316471 332767675 480069838 342123570 404903186 367092246 875328358 39913065 492200368 826833622 269124037 469375060 797286946 988126940 388042814 730255346 39510904 867404305 312522866 422998434 199043881 12958614 941369514 281372717 2002644 178585913 217075508 539026406 984070702 604976323 712184462 65723163 810226129 151478006 120980793 540339460 638243340 734885227 686464342 272105913 528090352 597884943 530723771 309598930 754040963 599831823 30224499 880470525 877008952 720811761 616877299 987325630 933465643 581872284 212793181 494243604 163051459 97558289 439436735 312988578 344788702 706374749 436493477 615767010 332643740 510172962 805848457 105025786 963379753 245384153 951660465 964249699 584927581 760947325 36775630 637208476 572082862 698077664 877621476 760546307 641592399 919392129 216041022 476804001 94870952 980258082 354446929 748878493 937013578 562814711 329218023 528542217 6463763 973138797 778101123 444702603 907889420 849365134 357645392 822215893 437282313 614674267 918952768 393038904 705173763 618010812 952543346 514426833 27397878 348466138 662961195 856667330 122349373 307194557 334765593 477507836 977783700 177759550 934471447 841083387 57751517 353914656 845057877 381678978 748359086 496230012 834625397 117351165 854073040 964560116 535007646 37130462 57601005 206993187 659239891 21370587 131412835 210912046 536698130 161748656 828477955 614120152 634245180 427511446 57185850 113059567 809593069 557938446 583034465 635859676 670871910 416914436 720769301 318288795 461846104 425616088 676803415 684280037 33707225 770984540 493881513 757054166 982431756 231482345 292141677 205681022 747771405 732478368 73736875 611385160 525080347 254930958 179863035 504737447 234816928 968411335 918238267 144185163 47617131 412756365 641261304 263565046 849059470 672246180 856995655 103358290 612327472 418834562 356776381 994132650 312746720 488668895 268404095 31599958 166373723 755479464 388961334 994049705 265592531 814760113 84624295 139729295 927171620 934235365 786738073 326709576 977873742 97045400 853316248 985180088 838055785 398109792 234278220 199930484 288389402 618648002 365603635 940436337 463397337 842736246 512317904 729196300 347473518 349998243 913330279 459797599 836656678 105150383 289361146 411454157 600496409 214577301 737307109 812961081 530870153 591101137 352395603 823913083 682741343 442934492 466634665 728648369 612956985 879831039 818405988 89357418 226578254 60107988 108442942 220676366 517109539 675464542 301796031 209376118 672496187 559846679 947723379 865126149 723012396 227275013 677525815 694746839 422970240 81929632 512535677 184300334 155903965 743108565 28050316 625938206 750585405 714394982 403523478 213314791 298564613 671217457 484607811 779030395 982643312 2003693 29457628 238671203 798363274 777144691 64351594 915446212 483572881 611378464 806100955 462468067 884104145 418724453 378447725 209316134 148879923 20230796 514899044 179735964 348987966 31777611 778529271 466323115 836012580 117433080 173841843 969419606 293543886 819358939 798028651 484102023 674114161 249977536 112342795 270589419 383884403 828862390 930875826 301943276 195627752 803390339 988349817 745705715 698643043 301264515 658485986 733656382 503424831 533777021 586391706 285714457 422086843 463016656 48757060 934632257 436450071 969479671 36049194 657643725 930015690 393273299 453535239 956305850 554896834 799326882 66946789 397861901 187071547 728769215 440228140 778823445 176444203 921229244 404059630 222951145 991560288 185194984 721141261 17367640 212067261 935427437 676323622 957038768 5001592 692021952 907478755 253438648 224801199 288443241 881490290 611877486 564577789 553198545 136459063 142040981 28354277 93004518 66509037 263388347 47142447 301260776 512384343 174076951 622418532 817845866 14635818 467575779 829746235 776346365 681422893 28208730 29709359 877235261 263974608 421902886 317141247 216815639 319315239 386950353 937770412 581996418 255233150 157714434 136073051 250587190 314522457 377298736 891917125 795821809 807026357 249437497 744962847 114112587 440547858 650376786 13892058 819533221 856829831 631266907 52674677 850357734 556957676 12924584 748893488 732209006 941525804 145464459 758461852 981924784 548516786 71306157 443901395 653798775 49851076 263389493 637900262 426600527 496848183 467802906 382825901 634812130 29290596 331495166 177444447 256708486 812479050 927565492 180946032 248648720 841057017 965794252 759911735 77499365 845027047 618018208 370756366 857245535 912473150 524318102 382382421 481341753 145924781 144124553 93495792 33866246 272427515 8086237 255086060 18614249 608040925 757113957 193903810 374688852 734225974 785607213 821248240 186696303 518646889 616439560 398829120 348183929 717831931 51288066 53605812 17443662 598898749 242632945 142141006 538100415 399517651 90600972 100594505 791605863 669171379 389432671 97408311 565072415 365015718 588992260 212248790 16770599 529516537 176593462 440621199 20501901 885661945 251942967 176356079 643632678 596392964 441913156 465029072 894756169 126318941 379782307 80656649 82310123 585556822 746548034 504984969 867090028 12643788 459118050 941874763 191030580 390943308 200010253 694841787 802407311 643483495 182017770 654045972 306745343 247073060 202918 375767525 746035321 130781941 98249831 460246227 211966483 591293591 965404849 65813901 267703757 506059883 275084264 877541506 720409939 139438697 136528862 73324719 209161129 874189733 798113270 846545524 231062488 757565919 997618455 751753030 271478469 536503984 311306180 199236985 49779030 408480957 394569731 693656290 409379133 627638734 852819580 347935912 633125466 714919135 112940798 56660602 102294667 668775862 436341836 393500299 265860721 539042056 592203397 118236128 914370359 305425475 787203600 428356157 835066766 191543773 929818134 265356599 615029904 565753445 237168779 43473445 214817232 850505239 821801786 940345807 468764920 441166728 4173306 619582612 484951339 834150354 177505635 647462331 388115087 32941240 544730999 249649668 618625583 490601119 758282473 886169265 585605971 920333201 447606621 395645379 225385648 293314404 60652524 354228041 689382928 76796272 225828306 938515174 173688597 111827322 9459451 977320841 622250308 176307173 775618611 779711693 773783689 201485654 579664712 454002277 522452004 317469552 533237256 518325469 567784710 331622912 946662055 379086470 431882075 351548202 717508597 514443239 262679179 425298693 375721061 247805206 217950781 799405098 187121668 430464511 44678457 791351486 674956450 392798724 635098631 269656556 890918098 555125265 600229362 354661127 534997552 487991895 835126705 138758643 712732280 482705377 98988263 409159857 64457798 436349562 781307501 774182350 970260108 194833784 524890732 796854573 859951965 150018533 898014140 693089450 991740475 305521923 561846924 589415547 175578809 972845347 789209500 283331824 787544233 230701149 73157652 696605730 238330128 78304688 813431198 937167644 414474285 17003751 166032941 53021164 130425409 415768986 374919879 769638908 341387630 609818495 182688152 995025784 859974584 833872562 630402687 319513103 275127899 789866688 92487595 429229021 581929784 561225637 642743918 322960818 563403353 298386771 935173387 164090284 482969741 277426140 283279676 361182549 960760779 74603043 339069457 731225154 557479854 890538911 735989617 722238233 667755931 187643 118799786 218499077 90131284 755410421 924308391 387656658 106793733 693991848 702503154 156543853 555517306 168268585 81126413 305674779 670555076 464884973 871175495 489674226 858029219 533120385 856853773 937954920 845978960 539717782 936965245 843875174 142841264 592558808 284733664 172029126 905987535 75357012 192174225 116657166 431139390 955472574 36725923 913295158 270429094 655766806 710382838 521603222 279359505 187213766 741483233 435448883 836037336 924020703 564512018 649385180 633943967 993109220 402780279 897768151 436054131 195506936 138410168 670138380 339015340 481202380 292128828 354644656 772208991 475639926 117096257 672078022 207610258 32472610 746127225 89327205 722389482 350394432 581554762 973890145 137247171 816540350 374408917 920177636 120940500 507469006 775776160 900478533 635712577 257108359 875608126 473149586 998143617 690209135 718235812 815405055 464716884 687196286 541192540 12694205 863545143 168387978 155872813 620965399 130761247 611142178 867001133 610237686 127725991 822855078 877774332 839597625 176900323 355137395 441854761 584088709 120868518 379047723 671263279 530622505 838794772 341490017 489705414 584386562 286876714 718166280 503755052 323651 228397393 985411666 158424292 879810961 309475748 695067811 454480312 932034862 417271612 781770328 76219630 909584358 965972381 29703610 224051744 677673986 359769389 902578626 834744126 387397850 659934222 184029318 407993767 75686579 491772498 558049472 639255720 208114846 288207112 330943088 863446024 283457243 480814465 397713598 524717241 881145670 875784755 16955133 962727746 258656012 396293451 275758201 109839395 956835749 906544628 891530995 341508599 557432798 434773915 736710082 802050601 432938025 194495326 848636385 124016540 439485601 565559889 869737879 96569582 150481673 200692412 456372711 292980513 476446707 43163349 525156319 831623802 308003435 443100622 532532641 104084048 703464492 112840011 317200068 528376931 358533894 50978947 443927140 316376830 370030521 892818053 723451295 689118726 973188409 758831303 275757169 586203 857210925 636692999 432114135 835674527 651753631 139678560 655558582 390775832 217386526 935267997 566014888 254033623 458530825 750204315 572986988 877600764 742785297 154539257 871019018 88290819 365295520 279528921 31077584 2544076 992960834 452301504 617438153 135477981 54287273 49209604 511999020 797972128 799151658 593242253 679813191 462851495 482355899 842555567 53566971 381146445 314593600 928526437 491764979 656687874 416222102 408110658 662814026 980623014 495796607 884504975 895130550 344399572 281277735 194875423 699445307 683597400 384252411 405581510 297840973 564731489 415533574 610990078 494233283 69188663 179866379 960140550 837820604 178693314 819423343 658566260 163167286 500108321 996192198 672915201 146204339 682529648 113149327 782423093 570237151 927436213 254810799 792386079 712797259 503747350 413744204 386623584 810296266 594648324 570694484 100834219 628732700 40915823 79192370 641506186 606810522 233809775 344666169 293032421 160476255 9122743 652255225 729855748 337698090 204499359 388048392 284850220 509935874 936390069 51739452 21763197 223887899 234021303 219312421 836713389 938036771 281542630 25894846 466070832 722993073 536815113 564038095 761355121 220304801 906694525 267542063 961248804 872377960 124167318 426800802 748890236 465740462 862036612 455947281 177143618 582616685 88808652 529011605 761292176 520236258 388446897 538325893 304803947 110238091 473269331 978571020 259919757 494566829 774276312 142007631 302713227 83104579 745652614 192094794 916528310 85808841 444144587 796456510 203250134 679093492 852526594 660153942 523449092 434170819 755582934 871664782 158607544 988757159 764399945 645995264 159857377 850460855 365200679 263167550 830326943 418141202 363373083 534340019 916721776 992065477 503481617 353856477 251356336 52987213 258440186 94662480 817620595 172326800 652761318 596768122 996008607 493142440 505344349 362333415 623312837 991052588 988530237 169095083 148209302 303191714 695058503 454599543 323581898 932077959 361693463 560404647 482126386 127765592 900745349 187186220 16149586 233127164 863530560 929822280 625985724 530406079 946362260 464734434 46940207 578581145 873384791 885241453 502014696 576670463 848144743 257433092 833735517 34120269 666730621 574455073 987747148 728806635 863564193 644475454 557015675 491945358 132914733 802578748 576963327 132200434 960248829 235387848 59449855 169892320 836277855 863036695 615441741 752836409 904198413 744918645 269597243 530478204 811154664 407950751 85629208 584456624 398523596 951382054 131273348 895832660 4751581 282620377 641180185 609989915 199631185 341451701 767410901 966620361 703498452 512980344 76594820 606847105 318627644 889409159 986170272 614621419 467271560 634574258 722912523 93641240 767488416 886260116 715373735 308296131 579537283 843384525 997931071 835109528 585538417 135539852 781204137 539649230 578527354 762569705 952932798 532503291 283817868 779257536 843462918 548775616 646552215 220161839 541142614 176250754 318990334 67417958 938038402 985469214 547221885 416142091 938581708 907080180 491486119 765099397 828266309 837205686 362854156 392816021 988891570 671848498 385160015 667159254 648861206 377878481 319637770 720738071 158103071 134163986 974083318 49766636 547371848 704216001 882552142 932284295 105193414 488862747 607230975 659576085 906913073 314430471 299168949 977707716 151128134 181977358 405875009 121179710 53132016 938482727 899833799 202167527 989068013 25724224 275160356 562180537 800481883 816580501 212298024 239321237 339721231 644428069 949355496 467764545 583185267 205181683 640075957 682177617 15344400 184676216 877817460 983732551 941467981 721486338 362552203 283637250 286119518 769878492 874591685 540161107 937747498 785773971 778873421 564221145 775636955 926423341 435829104 976648367 920135997 364714679 894819814 836797222 139142355 729708444 116272271 31628126 339964915 587625828 680374905 300223030 661804099 922978112 398142403 803240931 922552928 219037481 264362472 136218766 85239468 281015830 775727181 145800523 598235407 568733606 29222618 196652996 984214256 539173276 504608383 223932359 256094909 835302279 933289099 165370956 525636095 639934305 554290719 23010767 202562535 211368241 439104704 721393430 840539658 52030121 539220662 329047378 548841320 650024336 564638106 530279462 871062453 37633990 22211599 327082482 964951934 656913944 407274149 407673957 766090065 564023260 870400779 858451168 505280940 982912771 81480560 95675404 101445803 916933372 573646748 59375934 10321475 735917348 664524551 768338297 770009951 570035791 703691628 329236712 666362502 483747910 80233685 727980414 448233760 476558196 466365448 850924751 157775419 227555681 356760281 42458542 836529761 149209862 435194818 646540735 171532011 426420607 920106846 876483403 801994913 125084865 858775584 446822929 707940443 234574961 296607296 363905982 524630999 87125249 50947590 27211418 854493358 554452318 721653036 430054387 804013055 121364732 431105523 32858619 344048956 899721728 928788050 154711449 237649805 561744324 59105906 108000855 720407714 24733655 668952555 379389177 691427868 252989653 592998199 793444084 884866254 599790388 858405387 353314504 612521490 841989325 984118919 67332391 108504207 365863435 210429223 895486875 994767116 63195485 747404603 787417482 282220746 683394287 460291763 715221378 882671049 404909103 589256516 672182864 912801364 8374295 428739767 981774329 116345637 769824412 596915916 342972674 553774304 495702305 916499952 178126453 26025342 420160855 718778862 836858735 411194135 732451166 38800313 709892490 433674777 319253161 714823995 760114493 323338555 529504886 234877376 160127303 487640836 524023398 60576591 13040970 593428034 836677322 26282592 486926277 613029357 759637707 558799982 5472284 543087387 608472659 320493866 813245203 886022747 142368096 11881280 767614245 826517820 657470258 847370532 284987575 891624500 277418974 887456689 939085281 938799404 958455258 13944564 901321719 371909985 114095812 44402376 654483012 654658669 97846563 258468500 397130573 293514846 42455072 546432193 777559267 117064497 792404457 369158216 481013742 496282481 733667015 42634263 391937990 682160841 216180080 604594691 191176270 823683866 524358803 838993544 515154445 159911188 439833023 283315882 265905811 462921240 329095585 131208263 862712007 782837547 937172145 269058110 469091453 336032187 656118936 45083595 258492481 72058478 929965781 455825016 538673222 274051425 820808324 339566636 194668078 736299988 781261328 305507307 936528467 122106930 386063503 878616931 711104520 806816191 224534566 864974469 205938673 972455742 563846843 261378323 418752351 15353026 360565970 233352392 447057316 646227240 260115690 127455695 695352997 921734929 920643508 471092789 873276792 881663271 523538919 274633357 368220417 370551832 458777953 537250076 627428659 330897764 93852553 201430279 760631279 333219818 545733183 986255043 718486477 124210179 987397475 82290431 943477073 752100117 642541525 403144800 518119077 907473589 920670827 160088550 270239794 356125964 798246288 322372089 340171477 950524992 11192019 35498927 410335024 207891724 826856315 354227312 764269386 466431979 935097701 518049936 681646196 616648247 784414476 117244308 262787702 486615799 465320919 834504749 397386220 195070236 493042567 464118480 38420503 23500000 917716142 505016465 127464740 972290320 788081763 139255019 935102084 434385862 664137423 658329906 834669660 391541374 46400326 373775311 969081262 971926782 886696327 561225980 845915077 113817421 494897301 688256254 866751616 886891505 54592574 339554866 719379803 688715579 874971814 583096213 744994995 755832477 44469504 954567483 635838634 420610222 740246184 123431516 766628405 562435998 317093104 407667071 114129717 140464418 941901374 187981964 580437061 987016130 777100634 612019067 871666158 767898203 203039994 180241451 47142819 32397088 476277837 627426361 416314245 533124380 917360354 487722971 938648822 819337916 518843705 358483165 818375021 108578580 623582564 466635335 794951036 492485273 685604688 535931353 84412242 483861393 522980909 562617754 830188566 164470687 842888778 827866168 499656266 819702537 814161919 335212149 983952465 455922662 571667202 427879447 393716935 780846076 831614933 109237302 795035653 233475149 973426715 418963625 36611640 607205554 47944117 834349621 553270195 600779809 539835101 691964362 954641003 617180484 821271574 731848238 131000842 582709603 746816764 639200976 576320691 664953153 234193822 123946631 123457912 535894347 935050347 293972211 942557136 662097552 123154680 270759901 857704961 793871457 127149050 46780114 623498541 220981809 589108944 377893901 143228321 866366626 753384947 283153288 348360030 12645227 670553068 905270280 886126085 795040942 174039964 483403438 259071905 467883580 87602264 27490482 171012574 315114692 484791393 78052933 570889442 204274685 58040734 767761067 618294254 587276767 853015978 450345878 402152675 939858787 998551234 110994971 714756078 901843099 269128365 903877625 771896496 452820066 362687972 831144331 532867096 249751396 534651608 950327050 313541589 282556177 550050613 688614943 160092019 31880152 986250021 117535930 498922398 844466180 4064003 850024135 10938414 573285495 732816008 526601044 788352364 858796057 473299950 519411348 61759681 32035514 978016113 632211634 799304296 391329788 268418080 366339145 668480014 461059254 707711648 221679829 414215581 71864114 159218127 930242360 351359527 217032708 336124300 765103717 606422953 980449769 62015788 915792525 610959402 558662711 709902328 766540148 894907976 646991709 708161966 467083802 719670031 676190863 877780574 542419662 903041680 2155766 11794041 367454868 699242881 584736927 836526349 628038681 202228919 767073826 463476176 563658128 809676533 186237392 883622075 294616125 729580394 784851118 247812359 815288359 120593849 330334227 957281717 702368826 865670379 506317000 670953388 364421916 158453333 470801880 640348099 781238481 849087617 873719625 473523659 929266163 185274578 929707907 455446366 858280658 907383949 787042637 869808450 646711317 390364308 708411600 461077886 269875502 613523218 65075301 389272865 539841560 287306979 478612652 172585920 32436382 787503225 496063319 590888841 827281946 385054343 294485955 951468567 524951625 288677029 61277248 405479919 523623996 538616128 163685151 561717099 17643986 463635110 859112459 801625178 656921019 92602988 688022512 153146467 432995855 226010457 876630763 676532857 470405207 395525715 986367088 927261839 971767060 972736703 270169418 785930561 178517150 944938133 271962867 224628446 704928682 536256144 81942743 985118885 755084211 146272380 685557685 894452533 981247107 969778342 358605007 504177543 764594543 991552741 997104496 50918433 261315828 141602154 686119007 371432490 920822197 411522619 820288496 882618892 509171867 367785385 83190744 184731709 757149734 696179883 746270093 866858423 353463916 745916705 221253807 174613713 708000897 840580031 479577197 713208447 488533738 462003247 83783690 340478068 44667222 192031500 16529440 156339111 471699582 11191478 412191489 743127639 55143358 993344124 108420079 442850901 490357167 213342330 390609799 359890547 557614970 892633788 815699905 353137140 46615569 115607366 198261457 78988518 544652505 397503298 797259954 504090666 966737157 452758939 933792108 384125417 224911855 585715030 255683037 363091154 620423485 420451131 303332397 130742571 799481395 635043715 83452336 220116836 755335325 461953714 34893600 617287497 970678931 966134885 566823967 839307456 24526974 427071070 310459766 732583489 2221928 235923501 807716243 858029028 415078 884168508 350056703 264194728 858647474 316424748 381392838 119535317 31810841 331759863 785190186 716144348 137258092 525829505 921068317 357650317 614149601 206998343 852308296 144920213 847507349 518169040 833042181 796190082 911094973 109254844 74344878 132039074 464463820 737116067 671277530 666330459 627387968 499049422 347466808 397577914 570166843 941799204 989045659 230873362 808949158 833965606 935428994 199077031 891614582 62227579 61856138 319771104 447545168 624700377 915772195 984285658 352152241 973581456 679304480 42292695 565953657 105956108 962245286 497350215 867292335 274868516 797584199 546589589 334216397 323119870 545544100 344225323 451269594 724862032 708171428 171051889 616775736 615718419 44806119 13108802 853260379 403523667 567626578 951250160 99607958 778334923 313970961 476480752 190403782 539773411 828586161 454671424 571839318 123783619 760912149 195169021 605194708 413964219 154862735 158731867 251966121 177381079 613904477 978721540 572891933 668304618 159172786 224259285 44720009 19804487 535239772 811934062 866157414 854088781 808058889 568405460 315360865 636784097 210402156 925288705 60103444 48590377 42437622 94639993 830282229 945841248 519706242 940808605 65487385 22059135 544496885 969612667 570998552 667168881 754074908 644126717 535082252 492924747 95675095 99587247 399106108 780892667 919347633 364740179 719317845 381362773 72876898 936371032 992352441 517599690 672061505 49313560 733795655 715841042 373020592 804041137 632145293 163360517 621333043 919484501 26347799 475589083 834282178 394090873 354534261 377337873 802757538 215650591 761345390 558849368 340672565 799173945 728843911 919831582 397053640 220548235 53499857 386330907 849438772 740656264 169746609 83231763 826879545 965934291 246051769 83157829 373060841 248928428 492815256 535217071 208117301 555032348 451759531 164770625 727013955 694765714 817605646 855162878 511402530 979571519 880262264 255575968 577780906 221837259 339195480 364877085 101441385 612461972 314723563 437479843 246581678 864269351 921753622 328707912 701761762 503654444 299260773 584806469 317158706 842635600 263136582 921207037 323098562 818379297 312691029 981252612 375610496 827731089 416047769 171152165 683268549 96185476 770283688 533700131 553742713 51641958 592995137 393218654 54171384 990338563 498783153 166552072 172364574 119585832 446857053 656763871 17843088 988290535 378142624 555017264 454193392 162240486 890894872 649290294 189165307 691681228 86735017 918930895 527652833 363440907 319448393 429112395 764724269 257774391 3015900 566879971 67304949 842964502 364472472 83577496 561680340 573623097 678941917 32140411 692787338 968892472 134844152 88100888 484383832 290722931 605654576 104297208 190374904 888937588 14882375 749407422 17291289 938508369 959763490 213072410 705860954 322045692 349466046 996763859 606315541 351107924 64186573 350489593 987843689 374970351 496251219 436178343 267638693 438092253 256809124 190592222 573570868 930762247 623024960 100131200 541752036 261976794 144642392 78246083 724098555 120448729 235959954 612250638 578273625 78935593 221806585 951555382 126826019 993560822 576904088 485215485 40609296 660088884 528033982 157598123 389269797 671445215 537966037 440767604 1838774 582240337 176359777 683690475 21790489 273818956 11229492 220111226 575465478 759071270 983774333 518727302 550932108 37487571 426126525 152927061 404037853 58199208 524386201 284694153 322792602 997307005 302525503 355979323 362340867 591833765 68377351 360443925 164524927 317017481 756583183 191082427 403247495 432615049 534920968 621440885 943061346 575561497 742253966 13978843 918304988 527913091 149723276 847138686 258908542 947391921 899177529 716652094 321180327 118601479 602220425 352547449 193670308 578371513 583373596 339217209 559962481 922689779 280585957 895936327 151316017 23725224 256622967 791146677 208186698 65933099 173416504 824171841 640500085 425564246 24475072 694378905 53628959 791822123 612900771 599029483 87933363 826048117 942205734 29310752 753455694 179741106 241686406 348804707 860486855 542556184 637090032 932389709 672230892 446880856 303858112 105101239 290143930 28652727 919715025 532447793 683147858 13662607 298101077 350918721 884830100 603842855 152155828 200793544 40449250 532060690 383366753 144868504 709868779 466491363 843588231 680656309 106484585 490655954 418211074 558213119 388263207 152977475 224503809 315682577 113354220 855512274 721879224 314149520 615902353 956066988 602440706 105239423 983733633 359540840 429415140 36563197 419351116 634921091 812016552 477942321 561242125 787804566 267034818 255003959 513776897 993437609 194642940 547332418 612511684 988729569 894739080 557888046 281416777 561548224 406141719 54545376 980729079 863103910 782781774 161842658 303357100 941604836 673574492 603920428 301620466 126576409 899302341 932561359 476819177 596301912 858934594 77728721 139404389 136346791 368070528 912781858 288793579 146488505 429601238 967512064 697780424 916635040 912732230 102213175 299845237 347526944 138152963 35563147 504256450 716020991 493410109 290379943 384377447 358734054 291677182 969790304 67493465 320489108 780061752 598358527 395929163 392468831 351146194 644621070 72510610 436501160 617944354 282474489 509702128 344914170 349368582 404046723 284839669 435438058 703844547 37684655 975552475 451247623 637772201 247947296 889022841 238258192 574665045 542144306 24160760 216260625 735965201 681565620 9659925 763946676 280129589 879828533 453919528 541111883 909877314 573167890 234161581 406686747 682513455 123859030 682915399 326268830 845527931 824710138 368418681 179845649 128349362 44977249 140427305 452820685 774867958 453508854 387577020 133068223 194702036 164348644 153522391 646488428 423578049 947085569 107571554 530997204 129758244 404628813 653621499 971258947 411899683 930476544 658528344 534490573 501102852 382082785 584554724 557823784 778243765 396296341 848666133 416339934 582504025 747125739 866955381 912095429 374588108 189584485 687285314 479577513 416398632 330446152 116519439 412108333 271755107 256209502 458332493 53554823 722403586 310175581 627028575 839645944 655700040 381850564 233539495 887046401 818382179 919868780 850163117 501598618 242390601 983526262 268140607 457847613 766557092 340212788 731089034 426691160 449608926 857791655 749190594 472990236 664462366 160782292 88682016 508005460 334373395 359003154 374041843 131384633 375569343 805480387 509914806 994948645 147939001 413956525 805417813 990726613 733210896 444926066 153989111 478667546 766710035 166548469 438839801 919483726 774848433 298262724 435408935 376072209 642429729 618039029 801334370 860191948 17869204 328777979 274150294 927886561 346275201 604667642 955696761 792865056 251900026 665329868 866408237 615692703 51303847 891505849 623390661 213872387 226915746 598685308 423830667 226583621 19498501 22917333 560775062 672233904 431697015 997763813 297961283 934245591 451333487 700706290 814023802 148147043 44975261 634275595 156659039 825600148 679620838 446334928 170979890 266881990 229531334 276329073 682496813 605205391 979227527 581406104 690029254 826556541 638638539 188926962 413628589 377509692 580797193 544643221 781070190 432291775 671209597 426544753 852623896 468857335 262383694 642602906 920763171 725332062 514310378 534135358 676785856 937882249 301118456 198175159 169963705 426027782 965318066 410650034 744017451 757662079 406643656 69006252 515692308 621334811 626847996 338563963 838111333 823011546 232316121 42461815 618668903 663293772 926182983 528058494 333580991 47727947 980989649 344857995 687664086 623711228 871179426 276727228 233631849 782697023 488644844 162911451 450560499 390251644 701821056 297075385 376500067 730191550 386125050 840596493 659196184 583429765 483791685 887046459 678288510 394301932 479996427 83088011 828373540 375692820 923668312 157407244 441637266 399330986 507639569 197725866 647297513 211135979 59751585 252850660 227011035 843799619 774154159 204417026 759948992 400682957 169493825 670247490 455617979 547283923 839111337 357889195 350048472 659749453 466557138 517026854 406264681 943682740 9566074 961522885 212099410 494959917 288709285 962899772 159394419 113896299 451648897 543675102 210211892 470019047 869774294 881028352 357658629 5283012 110022139 414041987 348148087 679671921 804785197 757878367 719444453 16422956 693433576 283992475 204242170 557124642 845027985 838150261 416840878 236674894 655747686 548486054 488157884 39107377 126692780 415308558 884118379 396461564 268633446 407424521 973603251 392354365 547698347 677068603 641399278 868195302 265282939 241292257 711077594 20327528 624299531 390425648 747173624 149951420 396016052 658015867 122456342 44412053 28700300 748581231 402757213 843163989 793167260 835520980 715154615 277385215 964732625 337256922 234803498 147250526 103836874 422108168 680394158 755098110 176262486 426326141 685566340 484243383 19778613 136309092 974132343 211710623 888489218 376191931 60866645 459290770 351055872 190216259 796135127 941728886 270444963 171006954 312608585 422560391 68653386 697627693 733589295 95907445 471581285 303697004 771101073 147606564 772257495 373876133 752383196 410297298 955902984 447381332 176829033 479193980 608269341 290545357 203201381 251758061 567324197 121400055 114401810 821004643 621041821 391731413 335387008 56648700 28708007 130324832 533539454 387274958 538447413 686314991 425569918 437560734 549321656 673464615 265512165 878094736 37439632 646281161 209253473 273255603 268152108 140465334 183500770 66604900 190302168 44052553 731074467 590579078 364228982 473237671 916321238 335812689 16264989 807865794 455187000 657984061 251319596 699900785 361601564 995172137 175866338 761751504 687156905 404069615 658722933 693109867 124334463 817542922 748469272 288981856 459548461 723640395 987893576 74534241 793207335 353810405 57516603 101349920 337785654 871330321 331636941 96229791 737846731 674851343 992551234 442333604 196382779 50626560 210088900 420837967 663438232 564791966 685377115 442943811 284069640 637927548 198915267 282109117 439731511 209039768 752721016 694933464 197829958 140399130 274343370 927494163 938883235 219210491 484670514 783232720 925158634 762983268 21744659 337670441 727814258 881007477 505677575 453320944 743817091 322454280 816889836 53461841 967616096 99528015 376009770 482271854 476520366 59453867 852962252 237606545 286852829 450616275 479765352 756582416 230200231 217558225 717076668 765319910 746191677 109737760 656443091 797736331 153250099 371902538 749380079 894147181 111209555 456373482 397808212 358339646 777461203 80217583 342290706 994808284 583409004 63172524 331918607 132658238 563092384 792800693 407756464 707248330 271832897 764710862 474772115 40487970 703999129 204688546 835882797 541823075 904165320 948597914 967425080 236554292 778018330 208890540 251824408 298961483 277824010 695081239 706160528 226317958 835593954 612159899 628950139 377932884 589324523 251401547 421445759 554282199 116723338 448324021 376720145 619003781 386533692 159287907 784154379 355866943 983538783 434164474 32052795 423495333 585326288 716696078 371028531 67423765 940021533 335578337 204239334 196155327 381075145 287264345 338977313 995234696 640152617 660318593 706242414 950362506 482371860 377124423 908691967 490781900 459734970 747925669 832031610 570213679 239934984 531431583 288740121 724670011 391979478 584975414 517071232 841902633 926049735 305900548 250794805 483796383 592195011 847414587 642290181 956340762 51807727 88470140 623473749 723222693 359239484 279612847 307941228 178823971 331910440 349449556 484243958 136280555 675204403 931687795 833427250 531757643 848741161 73027261 835833944 650461513 207059705 358804003 486243029 16499554 362036771 8712652 213529633 658378507 34393590 801409014 699176301 617580962 306969937 415851975 318079647 749727616 323019742 258091302 568783153 89992472 948211996 117488367 143019235 795630448 965048947 99251100 430178862 488767912 822411079 61533822 934114732 307845116 801793137 77444988 397234259 211500882 62828520 246987075 53409324 670898842 810629733 341746114 410862160 7221619 625550073 530958047 50747678 243534084 702998871 910005644 819566515 544602053 196746546 720114097 460903589 297193120 471528399 314515583 114546188 438856563 478934878 681332387 544782867 147004653 41058552 769590649 431388975 388070381 284630043 919772165 824059629 679033741 974331975 14606796 405241881 370685914 633525672 429794746 416418950 554247149 280611927 736394863 133211126 69256957 83653938 183991593 764208007 63667869 570244039 553543372 856413666 856680829 354746811 260758639 123154959 930912060 674381164 603300541 394235727 400700188 561007466 846458271 396110890 811547259 665290365 654640650 877678721 757301011 466376848 402695815 269398712 516397442 854174125 670637180 239063533 135483616 226464657 757633069 361078573 417090809 293410804 82107126 529924299 111896033 752480952 541346866 873261796 515906490 993917433 831207572 644605886 792132401 11688612 393449730 691300701 940641054 692699175 826933007 325142853 855493380 77043511 60815475 962811488 803711100 247376099 830088863 378491882 40462668 813592703 836151092 779571633 202176977 139737326 554289623 804628917 345664311 213665995 975400170 366056089 825945827 74259340 847927612 109911275 283158336 1341058 693684975 175108369 328655011 324142659 161056522 542626715 758314527 450075733 18336656 701313555 23505931 417901561 607913803 479193626 920225427 95137964 487557635 912167822 524424178 194481324 588594625 884137409 920360857 631213693 664098006 258586731 905758002 574859106 822751160 510173099 970981097 291448751 923015896 76791791 199722315 408713180 985981109 650099848 900252306 757031502 347687635 528935342 588097940 50644418 696459361 11136026 877928028 658301952 769085260 210850900 91480499 995456963 208376740 344810370 694548162 143155926 772826030 53845851 425154916 140578678 456902228 213515771 569070700 983529807 342177525 867969239 812837235 214615963 915766580 696669379 813893695 85873604 128209338 505519429 472022760 620644795 788217952 281408807 670156414 255498537 269136338 274274207 358690085 764976621 524376346 611322519 854436545 582853950 732605060 277487662 612334614 505270693 399663515 838553061 890683814 528401792 697019793 42675486 228159794 765683771 14380353 534322535 174280299 26492698 396985319 798289589 136226207 794500591 690278358 354808383 375485336 763823731 184804522 592254577 726229944 104949952 352961137 646890559 65757801 275476307 517184666 97489387 922245229 288172909 689294058 936215399 646273507 984532885 30798349 535804068 27223332 493713435 682911008 992675618 886287243 617477237 588110148 497770747 337418884 765091976 119994374 452077596 65139169 356223183 901350169 323134295 454710234 407013815 771551171 811432339 460322688 552500031 213094146 834681257 354657365 181369684 553104685 807241205 51416834 344625764 343378258 896539679 101796851 181255897 496584717 29961717 765522108 325722878 304895961 778841282 321907257 306481798 80805533 358354885 467226513 228681666 990351013 773219215 298830433 914798328 622727961 736806624 909941560 364068637 217165304 161296613 812493450 622465113 883510719 627668363 545543965 268519013 843499211 63425479 495297186 428236629 131074248 211884803 848237967 933829823 280111146 622321632 153015871 712455171 233907451 560979662 37734187 247835942 190399413 3736560 358254452 472605940 338544652 326370132 523959507 938259682 773450275 929865907 223415353 988942549 657770696 375994580 379419827 545641160 655757264 479288420 594224237 474171192 777074458 238677832 226229996 920592628 467574665 886523088 926303913 278896088 935678535 782026308 712708414 451064247 74820453 464180639 478618435 421494609 373568172 457521047 758724113 695133377 359298305 621083534 94050693 477764203 707707033 388137327 947706009 670866305 268189225 604862985 663333648 540681791 822523682 122697255 362191243 423102962 393624984 587090877 682561940 120552181 323084932 914499761 546307536 272828677 27909171 527981299 774576434 399892304 708168431 819180344 259600905 755859336 557233333 318500510 554624232 161917111 564301437 652959898 75281732 525995568 732578478 136080798 527655128 827464595 548601753 353975034 454935257 124064545 480357271 696709616 371097425 347156697 55128057 196215606 572132474 764089647 690680045 396470887 541734971 848667300 494643129 663612705 251790270 627710094 960067500 332699730 224587141 869640188 190844571 942515623 475359302 481036647 885714144 425617017 661131553 145995186 909789681 243890584 430707872 750018704 427327819 737917135 215374605 820180034 272603421 484075232 430954977 131507508 824912443 419850980 75556922 564306791 16431830 155844741 893756996 579678439 893214443 661176093 83067564 699524385 161985520 624184443 384392622 670796036 235267615 546849192 867686217 167392309 31717258 586057001 73270998 330637873 195647917 894847053 606987423 963392269 555281857 389772495 673243068 840595036 309832354 134287456 431883738 429735635 622453519 518717663 73240458 955837659 500342059 931674240 648872949 305250577 327829359 156782373 935540841 470492545 838938628 526308535 324583361 50987344 683006155 472305023 997220428 487786950 441922084 381369934 580522693 948489129 416276167 656624305 359698456 602854967 684053271 71714590 201099974 604973812 501719859 504978609 582306285 761117675 467651268 208687482 56304779 594609806 639197056 582733523 167187284 3014963 955024366 290303697 229960754 738556564 947616614 552557115 12546068 522098946 188723417 191568574 96257395 623298127 676599618 653883028 708235013 509656505 346372639 728315112 953464837 914655698 317234881 344330038 177361128 443229234 324500698 296876207 433206158 848733869 83566496 749371460 58120665 977892347 351579392 852957686 890013050 137277668 140416256 374911042 554586899 238962208 514127740 72315043 733875526 868106251 646329409 903822244 38082075 103546055 899751199 143533218 140549820 800168447 309829208 898872882 71145242 634338581 366505236 477051689 128927401 924087696 20679730 184539498 407237345 26990323 133294418 38282588 874149196 146700323 631927995 257796906 710941720 494760318 414488768 114260670 389668027 381605133 544913301 65243189 968749101 640534234 138195706 216853350 285975257 206918078 270695049 626208822 632958526 315913477 625484325 34959894 4918957 588521769 361469401 766704321 933094600 399688289 801868867 366536395 806331637 258169896 245233436 729109199 652752175 440983709 421206613 145752812 374670476 752970789 87732600 425996870 783526559 758583372 458404609 751112394 848176052 241076047 884830174 111168049 292102534 630401059 620070120 782210936 119843274 511399039 176934451 52420770 276681322 914129640 93128138 951800536 347690143 239106057 804223152 891381831 174041240 244621066 762928150 686169733 761479717 347334113 129220176 111281431 385882757 349222815 579546625 278319582 229676441 813650250 776308630 673839893 179639882 498945998 345324354 307259906 619238686 234606421 53510205 637954534 43146985 258520982 656182388 570717729 573223378 879460831 327670126 360915194 307913600 874403801 121960919 880152680 865990613 583750736 710098818 113507041 863209984 387544910 927861067 891138434 105191626 911294124 787162511 393110960 381436222 119620774 489660363 140274053 296752514 164712219 361245056 483796427 314918496 915173133 345571293 239426172 635156715 120128764 574067273 300236136 241553113 352161694 837800736 974167612 80874040 603303869 128409240 761236895 95764397 50266446 215267753 612074647 947807814 173265375 77945992 174551238 713180063 565102506 369252122 563977776 462939335 355475140 212424763 172573406 939383533 403190021 426689218 613409234 777548336 420969388 670996066 893806565 651886343 780528019 467097934 884646829 519494601 917527885 749553384 792876406 614309922 493797158 956349228 503779005 817340823 948144026 103687107 577339704 294678801 231147406 463882589 327664322 131051840 217470748 364303282 273451477 601755206 399679534 765306185 219571029 455003925 310892678 153820006 982765991 715679800 731751789 467287695 929761240 876502196 314387608 123397780 333650645 132722944 437449676 905332959 31754219 262395326 720406412 64281052 523481160 173169369 204549274 451315429 650237212 993228298 697760579 590691278 432144847 239869306 860192822 454343237 167744118 124060747 968006800 347514411 497923974 106615589 55169029 305166850 139889263 939073044 809871516 72556076 410365159 319889626 32268495 589037440 252820940 199294242 654060441 506164971 681218387 940715501 392579552 220075881 912286106 475589498 425436662 287635519 74592082 300441078 294808823 149255747 629037078 947369296 646913999 391302506 710549471 937012052 178781941 28437878 360859682 843999300 347062808 106460532 772877916 2279121 684660074 522529936 977445151 302451691 1415877 154318289 427306386 482364820 639135722 458747745 301080275 447405549 246809210 334446814 223808101 281370493 944252006 356787478 39250428 262784285 700369025 582364860 932922115 893692511 345358299 767635265 446662077 386287449 29011505 43727661 946678771 365022456 82714331 324550285 549925412 632980774 583743183 81986253 839523363 229712439 823354234 554618495 93491707 792729698 855328631 227393553 202839162 368454081 249028173 569212478 432404281 504750954 566725018 962145883 126292313 336323295 696587680 663616483 696466806 843099330 946497239 752940999 601047098 109179364 877262718 224628968 405628023 192416765 484489681 265581562 735944340 445263929 41924893 955850206 384892089 328030405 376982269 94949398 213766523 500889596 868761668 378168055 951363985 802449714 233063421 1742348 69746426 718987064 560064144 490475393 291364103 398895000 625272479 431994933 323406579 77998901 907037404 947831909 235707517 224379888 228258978 585462817 789620429 518897396 223255063 546182128 764186497 568253331 532806063 309072408 434005273 565055913 116198170 484846828 260942904 739174513 806720867 451572702 364915636 16853122 726927347 109476442 667009161 207901192 310729838 413510672 543713179 829373897 910240506 27438906 921482886 330453226 564367059 340499779 886476526 403741506 504975216 831058591 596318352 557396404 244702297 71326542 516911633 954326035 505636186 486762458 223331036 343638267 811546177 228306229 699772952 235368659 130723859 615863530 884919630 229916570 988751632 444613187 616982211 739348813 681619815 180914146 114331579 314029495 771095624 15606304 712359951 201525371 463330377 833519186 435680904 194545028 241964722 21808125 873200919 531763197 513283766 355617331 780243168 654637997 298197315 245588103 854743286 228369198 436104502 180818425 27555666 724323115 791191337 94902659 178209625 599348000 769023214 823052913 43898044 498069898 204650269 32524735 754740027 497536834 147694006 39349770 63328204 736784867 886062401 447356370 287978355 655322060 355060226 70931127 260962335 441166065 581437560 381641264 785025890 561862241 78052830 804506071 412627348 604836804 442254827 987104929 561903427 739993513 279339077 555348790 123741545 9544610 853810555 850237093 738643922 841766308 33313897 873884980 151139356 420846208 89577135 168324403 541831402 920995775 776109386 343096967 932249318 897452512 423694987 950788494 385337451 378880951 619686033 668872822 152561512 440317897 553878840 218701649 415962603 792696175 119653391 717156185 12056638 34193519 366604324 327972820 12409062 5100707 39742096 76387409 957058669 994775603 904384483 451416405 27604556 201313304 455252288 149538407 73889449 609967464 764180487 853434936 202267914 605215983 348846927 103748231 685193373 713426049 632939174 398110103 16881365 396866444 42701176 252442896 623573813 632124799 723081570 708121321 451625628 984238097 795316888 606887398 191557600 844296769 330632353 287796250 691214103 471348593 670472740 907891011 321287437 550779574 970393984 194038908 221852515 765351650 989389531 743544973 928262914 433360859 749568467 368677054 932593525 83051187 976527094 392948703 959098986 379664987 726093625 969580707 930374906 687482962 262504469 872056550 351542697 919542063 346402925 578283860 982333452 552000557 55264757 508485585 440534159 812214724 220949480 469781032 928204250 512884950 266873661 546165785 884322500 930036400 455921946 496202000 199107638 985355544 332878841 412705257 934789128 457456936 240167152 589346191 225673877 551105217 578282268 149751515 272238542 677112051 331504268 10154417 329736405 909282629 749791631 105121947 450612276 228628302 108061362 977771260 782927384 397148407 259821059 606644838 844130157 645086515 935061782 497077741 237954768 201434838 300631879 112497508 139769525 100156983 795885550 193085537 221377270 867843122 45329582 196898840 96178499 133699644 417021875 701195055 484380539 979409010 826004924 578298460 128960877 264936121 192427173 49903850 459691712 286662431 252737014 986823331 546201319 873112289 774731847 410137703 888146118 933626395 692975876 421640538 740961342 689959357 29874358 60367246 783231271 186815396 599247272 304421037 752451164 921880316 646681672 620169651 627004925 260761497 437334609 4686626 145504382 195029026 798996567 473344898 564092982 598865366 643316619 512185118 655006796 986985719 206308035 171096904 920202008 553744050 75764702 747711912 956492067 442751014 454325736 669580589 668716993 734187850 681263254 31962245 842994679 649512125 384802691 597620586 896452773 543341455 303800814 461304459 67742000 818511813 61053682 486242055 124382429 76491741 142328553 12205688 805373883 820692366 198972340 123776583 668046936 530056786 888126190 151284713 256558122 624065555 228051388 510793353 306839148 43093035 172815930 100120965 387873981 815359440 780118847 774218173 204016504 812593465 961950922 236309469 748971748 692409278 928177390 719856023 199136686 50199196 622672279 375200764 863965065 941660521 940241903 459332169 863628965 895712876 816225450 208878992 964172961 451071236 181866437 727335210 316200356 785002649 844832571 745057579 228362508 578363793 302165400 108372870 281336963 744634747 50254074 187949365 412866183 991707274 270847160 363017845 380069353 467350876 650860862 31503976 275516918 487923756 51970807 233327020 216739804 56677209 366889370 32214252 156873766 211475862 756995864 592485567 544566405 373408237 329421095 797679751 292345388 45541063 29764232 105000800 489135575 26905155 288181816 216003775 863658829 524660017 862059569 516572567 368008653 370888297 76947234 659360925 439663116 813660601 958337371 57070144 613418887 397500847 704973767 527855606 147900989 59906102 794390153 209268786 342860702 658400268 592288345 314934608 720835917 38429939 824236687 593397873 156263038 481346766 322718679 566460585 59737511 443875840 557702722 293162674 505503084 133689920 725312243 596476251 267753893 637387430 806663563 187752642 891980395 50337016 992201461 428659439 842324842 348759037 403934941 83690351 42659564 597971714 588926346 333443286 544301478 112709457 243344366 30690819 484004288 143603767 831092761 742405901 32462433 118349521 444192749 990465276 706519564 366228224 731404491 244059000 678459505 866378745 522048483 595924185 101877141 220856186 356796890 409498913 388607044 958863966 762194056 474973351 293466516 529446360 29715159 671817178 127258563 316688898 491203812 638529560 893320832 345533525 836152321 140222397 128673434 689586658 180900412 148290891 13571779 374496020 752338574 696121706 292849566 633737578 534639194 110568022 840279833 561653926 304254955 338976153 755446803 344458951 155617736 730736052 84636262 275589194 817205789 60711914 60508659 483976934 713592584 9087797 209642801 833907756 797785802 811773168 72195296 67234259 912601257 6070365 930786032 60633411 635356098 355216029 726009187 277639152 27522934 43508274 818785825 517958599 978113975 323034888 792781678 711470902 909224043 386596577 849815924 620494868 746453590 516421240 879303019 60263382 431937284 391339981 772747435 937082860 902825935 681419231 237153955 503831894 534396457 755253391 999196108 667262235 601993100 386666486 703551171 910850007 734679778 33511682 893314069 847786863 954050152 166713166 535408673 291196513 20159082 937362854 128616275 189643716 293924509 302157994 35555348 107969378 952694884 677461664 721699613 542843485 567798537 682675486 654051656 748908223 125027188 769677080 316592340 20011421 649040936 336215838 520403904 378899677 851065320 549317648 686699186 68603141 172964164 856900029 691970321 531408906 738897314 755436534 733248363 467675888 969296838 317692644 608194122 51016392 114352220 250252422 783879166 915652778 294160423 722119873 297653788 260778694 470513550 899348602 23085490 924659049 279596763 252496469 840089266 628622023 938278086 417525275 174335641 555643564 573702163 94303120 22619787 824675283 947170076 880987298 891770029 650603548 170504954 490202838 243890057 11320304 172169820 243224551 62851501 768754494 379200093 122005281 582997441 37825030 78157170 925544460 882525130 835730636 209677569 169448100 304174122 229540368 830110443 546668346 750813285 120635653 110783079 304232076 323154393 459440154 255632480 737461662 250605768 625833320 799550864 344195075 7433528 138211182 8863756 45527195 705544601 394188884 351945094 820757321 77639352 955384969 585700134 169245578 267389273 325530190 357415702 621252415 150790116 10089563 376188353 190631103 303737694 3384891 772349412 226786626 539693863 347957151 464064239 103537858 804591069 617312460 880678091 810002455 804609555 845387854 194974595 927298961 224315596 752083086 502988756 814716689 483354034 172194772 859076697 261861466 942645695 526201183 527975558 993131511 355552278 709133193 426703046 912120271 360222860 888127055 251407098 87683957 721274513 336819859 739248048 329447755 118545575 185827191 619661765 140386606 685636603 175569180 533943480 257955568 419372924 716117295 570912363 285562893 612008637 781491277 341001007 645915919 593908424 487241224 956245848 84247123 761925665 416382205 58546583 283771758 534611931 415775239 59987778 611616070 60019434 394707634 156000256 959227830 475974268 706167701 434637173 34492147 103040261 363954876 355655396 457752132 365615800 283771746 877914936 767535682 265574705 376065458 655795688 700785260 399421773 911806128 155773723 89485487 700431952 283493431 320979955 306921822 932184027 498081284 926556125 679393085 711414017 989882044 205143848 889190625 983059445 945825372 33000972 678573553 752182982 688520505 690013353 489127201 679981445 762037106 546036333 183400186 443718261 507498290 738421788 605429147 774357474 843717997 213740409 526859480 791981958 988406756 36710457 839102323 610170346 845498935 374125306 3276382 22555026 964604028 65990590 742707512 982823066 575826532 63961581 300721109 624078283 21732911 942691313 772324690 661752425 597257604 473323030 80439874 826541588 162331918 145780747 162476647 668981234 140475814 120233077 548206620 373685378 284155782 73226023 873452748 170655261 595735027 13012632 962879703 548227601 991809729 13828803 338046404 153755079 881284286 552290067 233045541 825539915 977202290 631671645 251103249 267821756 940735566 642407785 951814319 586699129 774695216 33401007 7626945 805660195 48998680 293080160 92748819 800745889 759979574 977740935 732557776 413679426 98669236 204721576 984301167 84478055 18661554 958542424 811610868 245921974 571115145 713160091 490239539 516932899 327607412 880054154 517296727 830511418 204914280 808239137 9330207 636820362 837313110 970651332 174366736 364835480 113940503 339500703 538710460 962535196 525359270 321783177 369924955 578327037 623218382 952249251 948504405 212735948 328243232 33425990 999304179 566183111 622160965 217987510 81816592 948298350 330270854 884401842 272621139 41095193 563255571 442198482 137790070 909060981 475328003 875764748 753073280 355528108 262038488 985420534 650920882 673240547 589150113 458716973 7110388 45950563 323368819 268255 424631266 474503658 238401685 64878050 885943737 479569215 751137428 209409586 9695988 174638235 965001010 561528545 23767688 216153510 425034096 571388052 891889270 354316324 765698494 455672584 754481207 82849905 488894942 144065140 282938438 57882391 406040338 791170573 381692641 331585190 558416340 999273785 423695651 498711249 281871479 819954337 909206957 750764857 452511438 190216849 895062020 366072472 712706675 490408322 422131691 680914898 601579848 792242192 953432793 28262367 492344460 229072190 366028997 179365913 753891768 36525504 977489530 749357798 267419975 253489328 225665676 397469654 681362483 673571341 118803182 832168083 638191443 899952144 912216194 284891463 688833905 127388367 565172855 115850294 285744950 847215021 551113478 729536986 780138454 945243479 373219153 436406829 400437900 319094368 975364442 832913971 752033611 855260320 794091732 259682586 37422437 792143252 906860176 568209817 595884320 99444844 481435048 944830664 545513361 94077074 193886393 718705350 693947202 2474514 520928801 56598792 178115810 838996824 645947480 108537636 471653477 489659828 794245540 369609150 126349815 467673774 777054579 685526749 223997463 429257848 16460675 405329730 928773484 187358118 21062219 234737885 860495222 528211056 555346107 916054301 758003495 50455353 531004557 181723196 783161484 57618153 267422546 27191077 41836091 116560105 93529439 663670317 926734893 915044492 321377372 725406276 782798819 157683411 22208592 644525536 252626363 210795336 118379336 564060672 546135190 209075528 720342778 385725909 342100796 614100526 724479205 258658463 375095404 411822096 800988556 95907648 980160998 664511327 482173147 9533715 151255458 783755130 995091792 259802546 78369325 891581600 652466096 728840264 657026787 690352233 533405245 144210897 707703660 354744702 788450945 117757289 525462755 629445197 588857986 723541025 802959580 791173906 532704595 504393010 361708724 418742092 829495954 768165550 769767394 896274400 252032742 810772564 500614744 89473838 81546425 773640413 40295334 81978668 547770464 309493508 798719947 353905549 656781691 580718512 929934545 859854227 929026155 857769342 20830466 517111826 605244396 113299840 707326450 302352457 824025868 285702048 433068946 682115222 40086573 543721097 775077348 703574626 834567471 24347997 620019102 292403198 555626598 766564786 17819980 918858452 526647143 77501216 797920052 908186737 699202415 886034510 472539364 981930522 915864068 218003598 934910478 246657717 955589617 502671974 137595263 512125101 686744400 583736081 848913726 969513761 530356087 251995946 362609575 988060092 426125653 774399884 471596378 797125076 795772244 134673254 767172117 831879509 992189473 191850938 375235979 429461847 988038733 898917108 838169369 456267096 754635603 762616761 316151683 356387550 400338549 657828998 973420159 166964744 73611638 691828159 834317013 292197563 74687255 523621890 900850105 405558231 249662525 609878810 436602249 339213892 609088904 540869074 113632005 54606046 602544032 358303716 160215875 299474015 704961693 416725356 149257228 29498657 814147700 995029532 618348102 355782188 195131699 984513568 846973329 639685074 961180924 186620870 655338170 792315430 511761374 394017306 227232582 539667129 820914368 165371716 616438517 312844971 760190716 890508826 463449606 790443457 337048073 856798219 978879270 789660349 961702638 571207427 80683866 400953739 568145472 48078626 494392526 186937853 730652488 441719165 690285815 527863687 211375076 176888583 593970880 951992211 184139547 699767594 479488968 920198405 270566768 738003013 54188969 550612640 808857074 939843626 861606596 30311214 657850287 68188645 115304572 102853603 727314891 849081106 174840777 78874663 773087495 717213943 153723387 62811117 242119136 732291026 566514399 567210580 928347816 467922779 869377920 398553441 893178373 513152597 25341369 911039677 626822111 430520188 14164941 526493963 967864344 336386608 631285865 35603697 795598837 91454046 42329361 486495728 612342531 160370865 929064252 977239622 630930137 112995658 512213773 821360304 833228248 800673567 869998068 295590412 180926564 600134536 876082409 606720603 32245277 920837976 351492865 579372771 210991443 936672814 788434671 368746001 738669762 551503065 420446830 392077960 441432020 681055396 663760139 193005379 853826649 889746348 249695890 916746661 149804708 275642856 358488181 770591060 454814229 648169284 543217779 187021394 554919865 90439799 658829530 988148457 498885588 477911989 22934765 863939650 710153829 226393502 632239942 360659635 165636966 149862941 945239976 992529131 599364072 264885878 985431523 602126544 648974806 905166058 145288875 331485844 468116522 951046604 145435395 819458617 198276930 541703023 686083332 139071585 976351872 398866862 208078786 576464589 244039838 352690680 104687293 685415726 442439200 263371923 130026028 953017441 484288180 501034962 739110894 746832583 276561235 136892320 328395493 37412054 282052328 568499570 708790147 511250470 613319419 620158755 741725760 888466712 613741504 693239501 121353844 864670647 66673986 111545258 423670543 597568664 758596059 968422030 516717531 102840078 194848892 884672328 983188223 789344280 586456161 630499227 294615717 532820669 299479802 810972044 952249773 857635927 744887175 843135614 218662096 95131547 207259327 765635745 8218661 687306494 689355936 833437580 677909174 108910064 914450463 488634057 124918164 851118621 643540894 566951308 249983252 718313673 827179006 960064460 971495900 97810793 851524646 959178653 367286651 271316100 905327814 73291697 537986045 659646631 660792909 649692817 90157926 37863938 519454484 507235908 639596189 47771285 844507506 103417088 533620816 616661508 597031661 745534470 230820392 790158220 198481560 592200818 577802372 326065506 945661341 888206199 281007056 851921227 487756941 449486867 669966792 635376882 139518241 669178236 556893530 792261090 376136911 602204452 89397787 308829291 183551570 691387904 922356497 109351269 160889463 365230765 491935555 152648928 174217241 237562455 182132502 683071607 276008280 565269145 97388086 321630042 202629473 797832493 872067080 537316661 814208539 608368710 230589609 469295509 79101351 961757315 181239379 828582471 4403707 66055028 991328384 952141681 977530169 148225087 618648290 76963941 509215108 349665529 309245379 629786589 641056834 286834830 611855279 763800849 560055927 797357192 950055401 116152362 145788616 937024190 453719133 877666361 269028571 393858160 40758252 769976989 302976219 435087284 2334270 803380123 799609514 450382755 397567995 334826592 389484983 16317134 28347762 710015989 454412646 804553857 912440412 938213482 660702834 85595973 518885059 134244123 355531312 598026258 792218138 302419113 495495765 660971640 225798757 420156845 495836638 534042194 759907034 70169955 42199247 594089129 382352229 13479200 683481513 501374468 879173140 492881658 734695440 822782433 964920155 750305331 478859103 836304136 582622901 950712753 929321584 511012265 315341968 529025502 43967998 770253544 555160880 576403880 790182770 689901331 821459078 148070603 615737920 729726403 571501312 996889648 398629672 237192574 632226793 606122286 818782709 253974195 333077872 795862768 136778728 569581510 666826539 882490410 487575749 671511006 341542278 598197998 463236359 821843283 432880263 753967014 227056590 823389242 87175875 51146882 109115475 742229314 21663749 488394958 637772351 973448940 906007589 628389829 844388165 936349925 312323242 264163316 753709613 312594294 114363273 527858588 949359787 132538466 588413147 307336396 411851943 975027963 908602932 762142130 341987949 910072899 816307738 540107828 392162260 581724099 33652331 7681300 147374446 225395919 84012250 58493234 253459971 961640043 192896339 751322342 851595613 819501954 863772530 665909072 411509502 569224658 862836405 609950883 376171980 868241781 111825032 519903203 849311959 933495469 459762739 770523996 457485790 820208274 177513448 988571581 799010407 888131392 82302005 207967565 164608481 672317591 684135694 616869573 48027055 99824621 288647482 505482477 486374017 812918011 174987056 630735778 746549633 709160580 604273430 598947449 189656523 491802528 869741595 965098914 837570271 305590231 130191053 204061746 822563908 704851555 558250033 101013848 93026518 22544365 570080292 300066985 877978414 544650041 520584280 540068209 148416367 361523511 157396511 910256300 620523180 161746526 9714289 502139552 681433499 295514865 607218678 125013429 487960553 705864390 223710069 96175978 122825475 681985351 781235275 452636422 640656144 786798181 597739438 34177661 424042515 609369673 371575437 958245057 298065486 312263193 747854769 227025348 194458837 789927440 755520179 253408115 957129970 164796635 819493971 361619717 680559614 964293063 380605709 39541470 655875345 76557680 501687095 339169379 912338009 37858167 317131738 659648092 343707045 484364845 640688132 915287327 12726238 394956356 432801130 951110773 186353109 908051831 65381415 694394127 374224444 258510119 354795590 324490033 160561987 623141036 402625549 856472645 989332342 232916783 738304298 186409591 209174618 728089172 492627578 288206164 65408557 249383241 25621975 545240585 831836981 16767652 811708067 862193247 793124914 427682046 373123549 879126529 331538724 112960906 268750571 50062263 352231507 806058951 463510279 615902663 879873640 498336848 839836803 776486322 595379587 870435356 451481380 810389078 40477929 561720271 3698414 325530909 445037402 962428059 109107806 720384680 356011821 650237478 48428095 340378202 943752619 211990610 627689177 613408854 70736591 987816256 57012466 218046909 2339006 332729286 261121777 699191645 213334653 504122482 845754003 878401577 497195398 161697624 582281814 232409458 270207792 672581930 659941936 576526745 205037221 226495373 463152430 172322120 395797516 513679752 610682773 639776557 504308465 531794136 521059939 385582170 322078703 483796262 628968083 92564773 965208372 675134364 886248941 385291396 611678603 935649416 640853569 126401899 228580876 265680599 956154582 240204771 807680218 195400855 277356732 868228946 506487482 238570714 334689869 889183101 126723543 521935496 483586794 634986246 954965047 210035410 287789408 337356118 651087369 183616413 991320861 254684392 717649323 283884258 865798644 658630404 568805493 18747863 935577905 394776244 32116201 905483515 236319682 610605799 573700577 788653351 470457047 611083904 441177171 872648136 782792773 503569349 958047920 968184401 462487016 801021501 370025272 389938676 934495396 939036448 129212242 730040850 795995337 969411769 557854203 552924975 260813246 58066965 993828024 431380207 123106923 620916513 460576510 72253642 735782302 8407018 840729497 181791602 269139904 854831463 309994305 246224970 889407953 192404901 421354269 931698342 813452474 99448328 923859713 545499592 788961065 672070603 793516939 71401946 533727348 993621624 247374512 421501552 306339077 287953977 980955665 900310736 658106510 842894861 208902052 108210793 875301267 751243824 25170684 39264214 601938862 755906187 923359223 152620116 737491674 158179313 559177007 951788051 537840064 38461857 703248472 720817868 220682540 880033248 906675345 706226930 802497817 185970957 633613377 951721365 299501248 316871323 569398523 240469303 727740314 68134490 893312597 251450885 788481755 610757468 294809535 341122129 32935173 939022123 709678247 576755468 457123926 914257232 463742376 186826750 547851292 501992115 782422960 75405663 742596330 137676713 745147044 105432351 291386023 874510044 13870250 779144151 463412354 892998463 474505258 681435263 870961955 992505757 53231494 677207179 423782367 631259388 973601184 15075899 619280055 328789585 55551335 923555037 763649402 716417285 254166338 615934982 665075919 210380954 501838679 527463031 560672265 812030966 129607489 162082169 233414272 878963531 853470543 114348729 17153022 57433037 759023445 54631490 891538006 19424821 307285895 255935039 311234450 621751465 748678184 13069112 305899326 189867227 941188438 525150474 145005983 872925203 264968583 402907567 607382911 959372101 338500194 979940635 181446218 586064234 309167620 924689080 585592603 198748443 151693685 272014136 43758847 913971858 764326207 58809702 610758790 38122133 441590217 142948246 113084023 947827694 814997793 428760718 481530389 960243466 79406367 565185229 495766730 204788591 992618350 924041354 222746231 602698946 17737984 296594700 606690640 213539808 612026202 53614857 700056369 443610556 812540102 465327558 704847926 844733340 525466958 935167406 546932117 382376895 561467451 419355537 178491171 658253926 332686588 190379602 106682481 246169406 941285755 740702595 557822200 801563500 975122366 610460518 378644155 225539102 4485068 560054737 227224931 762015120 879627720 21591488 952042656 858513127 940077147 50105191 326778857 277730761 60113043 464699217 644502164 864587691 561017234 33198789 288875930 776018885 463641317 871779483 348448221 226323205 251765100 859162066 619786368 168052946 577804677 356138778 760025638 463878150 125610194 693927045 569877019 251246976 307333712 903851764 365475174 682443241 810713261 708253927 210083245 97935562 687831790 71545705 228019500 781123813 589432249 548216577 605427058 102573195 61085265 583812435 370602419 381825345 822716908 461877581 615656564 120207901 285366420 860446295 80671957 404242817 513243161 942315445 869368283 453037137 922471674 24697648 346978908 313304298 292319614 158613328 145999145 429111297 429964900 764780012 523354319 480268463 484853135 109124927 319888688 587092130 71480052 862898444 497127101 876187176 792786819 421597869 251221467 809836027 192248153 86160910 595176529 801437282 298451570 693744830 957806395 646997748 579609192 679065010 805506447 356418643 697106979 66039049 563816903 88262900 837129772 231714453 508411068 174368738 293060300 262973579 411966383 861706733 470927251 663889997 40778854 915451712 704910216 76509671 50443306 329687125 933002060 39653839 122551936 22836960 991601829 157188741 882009351 913210367 139145685 170080077 919720419 663150598 658025794 581542054 439459791 470772236 395631981 96155661 609518360 151758760 171610589 873916952 73775906 440907829 793571959 474873070 42311634 211088836 239703636 299277046 775307257 982991569 655385942 115117506 427607785 767931096 510270063 880715449 997814039 708674466 901984940 27674483 117384992 227389187 305266649 987903096 905579678 892034712 4690216 515249950 853210119 615676531 491715624 590486575 621416998 292030211 765648198 742243110 16558341 927400511 918790257 182727827 946023259 514423138 412796030 145670512 557805593 348090766 626470216 966084975 383412371 185427240 796825647 142800296 317757103 814949944 239263137 432158386 193270508 998704243 620261429 607198988 321202893 682330049 517114844 24816912 503984248 369201881 934684587 977087027 902666213 342956552 861030099 503807684 893836733 602124868 243335262 865607411 486626663 814227621 766223187 496459191 448065945 946816729 226239631 904072631 738130916 843986613 948773972 544935079 348521255 224758479 878917264 208033362 187146573 469948122 73706965 513999235 128064649 67049447 959513131 921628647 310277608 356128677 771732615 220304376 756981772 890422584 430729807 976027496 626955344 247134624 235143004 601140187 359713915 817511317 717306407 340283956 351470128 332647 18191640 567860673 414144944 914077318 938108136 154446351 661179051 343970258 611903646 867380921 32870091 576202902 433014199 990411601 983359243 211266136 776030146 594783805 899459059 155919182 455610968 442784741 333379946 672605725 503736360 454533387 204159917 848498584 283878438 786983787 366159167 436349378 185065217 364949585 543756271 437033172 150172721 799546075 851593232 570396762 413568450 469516539 323286894 782016472 477811718 180610636 516579526 810113277 200412771 395595419 765753275 530214768 362626200 726185243 494273053 649459900 47044786 665623437 372247736 826825051 414778279 900284380 115098340 607397534 420751758 584657933 798020482 735108224 956997603 236438194 762148750 77427632 231090418 776510813 609148693 482909872 839462525 260461632 618370676 80948495 600649089 159355942 910875373 163139419 764368104 158346608 690125173 881685026 633548530 44842177 108383369 781667046 858708519 19402227 232773666 84974022 203596172 448005363 822825433 295257184 332630047 503857965 683164882 626771519 16637789 984116159 49777373 694885418 515294114 442924228 890078980 479937895 365407541 566426966 91169283 505171543 901596665 75837780 740294457 295719307 573098118 792884730 33474427 464331451 78688828 347089914 547068349 240992434 589540565 972921863 556791409 556043416 85849445 569254851 105907883 691981127 734903913 495656247 151382103 468702030 767357235 593695218 401177540 804578164 325848085 882669673 697690349 103634496 581219975 75220631 704420524 476170188 827641308 779949864 222957024 311425704 776178827 580478022 988401293 994175303 528314857 386498532 634879133 877970884 631452308 622483880 26772274 947379814 712984213 108927603 103472664 700230142 326036576 267851821 204419915 133126894 204985058 624755508 576045844 928601809 605039032 220639005 42025757 43129012 816385669 366332480 180525265 996232543 687372391 41150185 659287241 363295954 423029142 160474634 450910602 864018993 528096874 386615956 712945387 657012120 846692499 108104938 141719229 591432491 866322190 664069134 539934524 900567957 750548259 871294663 797713993 862006244 420523677 822759685 129622693 499599906 294498225 573864343 458031859 645265426 777232488 983428830 237406679 498425741 685992621 969161790 924842587 392871827 588972775 636487548 571967351 871113289 736013581 791041186 980431726 266306936 233677384 66655415 429031966 447054612 253505698 324589507 31216859 967127687 663200257 965797888 507047921 185741666 307814220 604796564 304980779 546552858 463857952 120305853 806265730 656048535 545325985 952179779 765246758 502596756 629333034 690568111 682903403 594586978 616758203 174188161 587328128 783513064 896637604 511007491 167931335 101682980 396366079 53605932 875570585 413581513 830489028 929197730 315881187 992581125 368083490 228893760 302700677 630020672 432008076 227560311 219303990 743630882 207366442 366763719 949619145 525713123 769111430 915724593 146106553 330415090 998918103 894916485 177378606 144078587 615032375 539425086 686252530 452542647 933702793 74448268 11783190 875112351 220418969 358877262 304502629 308623010 419071922 461974304 161653558 3267363 235540576 79710403 895064547 264337986 827777389 682858421 269810930 102348786 31663345 835638682 518869800 17001543 29965379 337823726 232304452 633918191 314275655 558297156 263932417 757360803 461082557 884758842 428593572 765790987 39408139 359714646 813390843 791763860 348101622 163526214 966435923 973699793 89375229 866472863 279405214 8582257 373298952 794665928 151841000 480238883 508998739 719887945 291035192 902061575 932840146 897711813 56659751 562698378 704702259 481092288 686998048 740287330 754804307 357676063 912667542 931764093 601437455 563488508 565692701 325344419 738866272 261909301 326782697 999227260 123043909 682438058 824795981 956752294 584037785 55873454 862750994 725986027 592637884 585552931 196781038 358188066 680995098 244956597 566549724 71711485 222889840 104579591 265032619 920982683 655873823 307271978 210655691 515834387 834890482 577537667 998550581 456525639 94492713 446726686 300936179 997896409 781951710 368054570 313995630 501113704 610009212 747914365 16283248 176828545 116501339 274005065 132540507 877367189 319984476 218629683 341651114 405646287 334627793 701268968 120937652 550760415 370690655 347659323 53070376 628249920 958165240 182598484 703993918 516102924 405839847 206087497 84353145 493700468 232288514 543529371 906591722 866597839 735537338 387443445 389704996 678473375 734571058 315439568 321682014 352966964 497624093 492317837 824862668 865853202 523477369 921996243 156762297 396967100 686815228 900875682 439537269 877477608 479302813 139907994 413665976 398565737 447210077 755198654 114911301 657070927 25530317 405653826 56727352 533065912 426893202 136556635 821730625 810906574 209382716 21466870 994836487 389334080 225981305 57324228 635837567 167452567 822591212 358711189 611903915 266983765 453441209 952334588 664266775 994783990 540213658 269552076 706981205 563416380 975826808 194562271 728789096 785039160 201454541 569032252 800510960 741058329 187859785 587354195 204192536 416323788 316837784 737428651 494105472 434684127 123803358 407314230 241714049 5308350 700116784 361013495 205225351 739988513 572171112 272872819 1352223 314461421 595907043 451444223 877267045 475737639 719031982 648597290 629154992 550853530 8202161 822138773 877948115 380588019 164474022 638450242 801452248 174261725 223176074 145411137 28389783 820492498 797891012 15221738 69869976 303702971 271590499 95783491 312457507 355465010 530006425 944753813 833627543 227242704 365842361 11440107 418996050 36742880 564866206 725759252 412209921 120852953 600627823 32015369 832677597 42164241 226442425 920079509 846249645 794400607 108568335 356492965 780921399 52618755 615058026 951921633 37025207 51912783 793880293 532611670 441278586 700468338 568342319 95948970 105054074 291871809 557150011 639240069 164268193 329896244 571277824 68761205 373947472 142247216 745271490 364150369 650356144 85858785 216118557 709521095 829028582 465802879 197301705 488016476 222898561 454139458 480283310 232947960 567179633 340385859 293712643 66490525 570220273 892127150 906320636 267008796 563102722 174586294 285661620 73829782 338374054 478514973 779049918 5839271 833833062 732608487 337829021 843038167 18805023 237017547 761895246 228226867 675481170 735000055 895385602 791409678 553324408 925480883 751742599 723089231 666590435 990943011 789033988 600047952 361719678 767277370 320418732 331758222 832463904 853825505 882168274 933753179 478171500 586465177 982231940 448638761 171600809 730603928 192707909 854950207 125322359 685807246 349986172 166867211 498514021 514914465 204433988 723687978 597592205 632422230 413825527 622443470 463072488 118373872 237514367 19198730 169371480 520868536 585570289 268931566 529315710 851440928 478742720 709665620 218050689 532300167 54331751 667453234 11937716 512841504 3249094 986257475 634338742 602152335 638447940 474780966 136929107 747446953 743645406 884424986 128455951 530662639 611701416 299672307 198629941 856894907 137633587 540722169 914849125 593048251 16697869 384142072 520366997 845280050 655714482 157650500 926246878 899639984 98180465 125495004 252205452 634243485 78791494 87072180 36872729 115874187 553795979 848726573 869815035 398095176 975399144 691338741 498633550 601659883 908434269 934978921 974888932 749958414 484752353 64513704 943185998 595298483 566695724 273704850 509482019 823986944 156581344 596337801 948175840 945034773 456952856 399120973 385579945 839699102 171968139 576097941 248126414 973216341 188816251 964262649 550965441 453918703 980579223 812883736 970392428 446926847 487370519 145072762 87989534 814100553 87955665 52128972 346043558 597937190 826018988 38168998 805098388 455245495 160710522 937097067 54730525 180919934 92760426 280138522 330946349 806489244 847230688 939934160 409927093 769925646 864423363 600946289 347461318 30815891 446947119 317509020 681171109 682679110 323566748 817040454 437780142 453949204 686475824 793303679 970346861 124657032 958563976 514625750 510512458 899885935 265566544 4137385 207117346 3517570 392783095 418460065 67545131 969952443 605430389 490076030 247190261 616744483 188261955 920146762 827989541 987530311 90843105 281062423 599222218 771688528 653698499 9133636 239268802 500616769 300575644 527813096 737245128 702121139 139282771 782557528 68077920 146084795 96881024 424785824 255341981 790940619 841510130 907169787 141869807 325582248 685728037 26515477 941634594 487320580 144435909 169441299 393399833 746126754 963186336 507338479 593367213 96108514 611413400 374248519 527386643 379158772 96851340 251181388 400240297 925071925 78970658 70093487 90425981 132141907 652696791 627140863 607649977 11377663 695646562 159174536 680738219 209956442 532211330 954990528 534964069 42089207 515186444 762030049 666456000 937783796 367650224 133476608 144452207 808857040 755544692 720727289 413702292 980996980 224337625 842546558 338617106 865489875 457647973 687261368 338661828 97288512 446344261 445804079 211736372 594591043 793645834 780057414 196193608 709851314 72785397 985419032 251178483 340151034 964762700 45619674 273552960 66001584 887105389 900440632 637313570 348784499 201099052 626105977 244824346 97629749 928495830 413714060 580742005 902211082 325329948 573509138 394763039 445947355 753192101 509015001 984382229 580209561 203375884 401227822 92700533 452341062 716571335 37413322 220065343 492326494 729805571 322461164 520828305 943523680 125134263 607601534 264739074 623268996 539107015 515027883 415385982 598246990 129496569 550280536 141052166 849351437 936955965 837511612 659535145 684373490 295642473 921591475 326681852 198059709 100384763 509353934 763560173 424468747 959011614 919779569 345293006 276119782 972468420 602429803 448412282 360232280 502790122 293163360 932220595 324674947 557143925 51702076 759096461 459291395 643511981 35694335 118964458 863535213 660524733 165423093 898634720 5951138 100475473 512345508 804054337 451674210 617926338 401472798 407540004 199401094 478778232 762997915 425699334 900705278 528943274 944619340 887271511 950073927 607091985 748855399 775272789 850640207 148691080 990979997 123246445 994691709 864250029 178334782 648735402 923741376 804385175 635062175 958730166 659295439 380057978 468700711 871419011 41393191 374472317 977915236 733249570 761821730 205356541 290063414 935306201 880178664 702884451 335216006 436695085 606177836 434029586 941320800 473287024 669978761 557417654 571051850 995889245 555478786 847000120 186449798 356766338 748539164 487297117 887983393 912139146 762681348 263680753 851150374 541719280 975037973 195349179 687967830 813313178 405512429 466094096 570701716 965697776 381026701 831091982 152323370 846558415 894669181 437324502 357524400 511913789 16522237 359523328 302910102 944569534 25789493 21844349 669045184 568746979 997368347 534750336 325963293 458350057 52834342 857943083 739148325 641097538 75386331 314214967 670553742 200309161 427476168 406961144 268497140 951326581 125915796 860495800 124649619 204493090 698868970 271014974 232161853 132536343 613771325 383729320 496969517 111992605 293367619 213471082 548930988 744635398 168532496 204956145 60899027 428038898 177848374 266671591 263174106 11027140 765036857 468239614 46314799 321934441 303110925 988352783 420308840 237346256 710157149 805241526 876019179 478793304 208552744 847741918 846212155 549005416 592189901 374094181 332431826 158710399 452204348 124971794 302960170 586065958 636710350 188035259 720430116 224956718 401121961 737902728 395126362 69334560 954575882 519004881 508683003 316268606 815064810 537928228 182608434 888906819 370364133 806628931 763801980 91550394 668252490 963128329 233817769 944960178 159375307 906691838 291706018 2539522 354709395 294411827 122920111 546134467 121329317 419423056 343187811 368223058 396965402 569768453 37609772 799675278 505659282 491254013 698268239 399941830 107913300 132585912 559613593 961853254 902796376 550365499 374350425 557604228 521906522 244618503 366920269 666598926 365723098 142183282 444529267 9856239 373233331 303001614 71010364 482749145 997440233 323468532 228325364 580436816 954513207 179007596 101824828 755658476 376599374 783370971 550430684 384936846 156377975 137435309 191889957 44596459 961232239 502047926 88218948 327810420 607156817 143193834 712278779 918791356 87351494 509549232 861912585 822778891 926471162 447748429 30534808 41683773 641489645 929400790 135102767 915760605 370191201 926724819 629995503 866688626 974819926 25928327 54697549 41369165 343181917 957302446 520224438 278132235 87861274 420319086 228763826 365336919 955991438 689031053 714424589 655373284 721477722 876826655 776693458 572903692 955294238 736017184 407224007 864111604 240565363 306760738 982885412 17204167 555880465 520905799 973922687 837251341 723070336 608523086 990701564 738031075 345050902 255344546 806783523 585231346 892538481 461313320 775515030 303166561 471435314 590644551 514422535 402590028 241963592 400109412 181786267 48160464 63606715 377806196 801732661 543991792 594295338 944104887 806675248 30574423 180546135 120159563 501800753 718948802 342793685 162518455 821341436 138736380 558424263 184394207 874802027 339093097 995141976 760266194 745887734 451931802 364873055 836458590 141822872 373489877 89763150 931002323 128627253 526388865 647072536 959230066 928416879 449579396 577946215 332900288 174782956 335009581 885821067 351380037 43117416 859920732 916514544 590739236 54431158 139056250 63539434 404855445 715898118 827088703 685888572 932536536 713440396 757122173 261690347 133530194 549866584 378933450 245707267 128310379 363154555 722528815 838223457 820172416 537103724 380820598 189120487 488744141 166581596 367908169 220645626 882555944 269813613 319850764 94469915 404343607 176007958 23426979 535092151 164101009 35945520 11080484 42641327 577762419 989767872 972794313 999093334 902458615 811054857 887175173 268726319 8242586 994546295 562147573 99203622 260314250 610417197 878952657 858850922 502283922 18513680 243731514 782254315 232346910 985772048 707204495 605353954 393948747 104700097 647564735 703357488 554480377 217970596 447084472 943413440 938422720 646611160 242373653 980574200 794981486 550639553 988961803 118199076 66216846 757130091 701994188 391592645 187500593 133664302 490196025 244883520 616984538 736928556 924672944 389192806 43602963 55477465 905662175 684778494 55452411 165141058 199564731 25560879 759114759 867066737 781649947 649972932 173757889 49663029 927288533 890623377 280356293 718754285 589115705 372444869 651010439 202932006 729835552 133505425 650322002 889494472 718574364 406224975 477280994 895274999 570777294 401628463 248188862 438579956 357478223 202818161 679900908 38284995 873601559 12311287 528915730 515635372 181175211 827754049 122503316 619735296 177320795 871027375 645753879 356060883 239535509 300780082 748396113 359144062 75147887 720962373 795586048 352526428 109021956 843591174 393859235 74174140 558075533 997871162 984105785 765041391 213960872 715462369 612156953 799024721 202513668 731509438 27090114 719181284 38469223 70200382 426075210 32411764 147153992 929326156 958245146 802050769 926257872 694716558 279835048 44352764 346810143 359376430 367236226 333058475 865081571 317601962 404556000 354236259 718986576 442727969 637064566 54896448 537770248 769340276 198315172 452470415 532624284 778375016 909229602 525471259 595465678 794013284 475111104 366479928 49728424 463489489 893565134 756359574 539026799 20270264 289976037 301995933 912810763 716129926 828008048 252573399 938893379 153318461 988566717 699642619 83020130 956436339 990902566 318678022 555422667 329804627 377887351 739010525 780321764 455357537 907998306 741050251 517368036 432956012 796698551 750142378 474760245 720187298 107707294 473583112 468542906 778079809 655073333 327121619 698135317 5819900 411302948 545986411 628425932 724635471 846485524 491422692 947869404 843568953 157403024 761915923 738695694 675918908 29115256 138529887 69133202 179542670 697085506 374312430 159004199 497245468 376047622 273007393 747181292 4993554 423193425 677982881 480494734 851037077 706130882 314538451 175262469 819402076 248243604 722606927 390107887 18084287 918882725 530031919 228976166 775713684 842848018 763488810 177936396 929697408 536654947 562301015 229218250 578400587 890587818 973971462 572103196 541239886 327878507 572812679 395036621 64532227 258094223 355445323 991282320 51239088 590444043 660727428 174601615 485753712 29411248 504688032 947393838 334376573 617665568 708701032 927330516 596403251 524474975 908818366 756246707 783997796 683939298 356662296 196243418 116737886 647015534 552139454 814011597 724409065 12291104 743931104 212194707 634703863 40818874 249257501 791873830 586245679 604079984 328747569 799896753 742006016 54907827 625962495 768240962 227489681 192830901 95181973 973607954 27970276 402796484 216369749 732790660 990275257 973624375 735194944 471140944 63976960 445429424 40643982 624957139 348512288 283050360 430274261 322889419 543321707 251772206 263729587 410700040 404848896 117587536 935777477 729239711 67314203 519895619 683068576 687067401 872886124 436479682 474048960 912921158 317988167 225790619 800685604 254038019 520091590 15229251 81554073 631682478 216119384 212292667 697705842 971638048 329510828 160751671 266027775 520358202 266270236 824206697 777811408 215938301 996276824 970098652 942993995 847399003 889047261 767910467 887352642 232180011 740120270 2317930 169857943 121294174 453595943 466249967 260848816 357908114 173657928 518391655 473034712 437694564 480278579 702608211 523662759 963119924 790215619 115052123 332928486 323787990 222847738 848361344 560811083 688739688 897091263 841807439 152229800 965528363 18565911 899833790 328747696 82880292 123384893 521664419 769446485 835470706 129604062 867733501 397626774 668967116 752720172 20949157 525217712 528435455 16074728 472264526 790520157 32341268 989567224 82997280 830472135 54680765 855016211 464036624 296060456 848264390 780309539 207578090 323215440 639591225 16343241 716377694 237530706 705228619 517600496 147843673 932183753 340524810 585756736 430072692 174860179 882573821 543263629 781794328 688932960 968722648 473937959 991155008 151073964 273548883 990637067 661995843 347792852 514763901 44565134 298530860 762751685 610781965 660104001 47106020 612718393 846334797 746278588 479293708 14012646 45498933 237461860 325322182 433664810 232238471 948216302 596380928 70857632 617540104 950448631 965079682 387755256 468908165 17875233 463866765 472028367 398600552 419536891 95282044 893880044 845800138 408046332 773096666 758682662 946378594 958680119 385416607 264307338 450175533 531986062 483437788 36150456 185226054 40294709 986878900 545334144 668261425 199590123 464981752 703759213 754717732 659299057 184440613 377116626 584568754 892853951 873375 769114539 564877870 766848762 8468933 349405083 766752873 918024658 30373385 736988733 89697904 765846850 213295596 379041712 12986211 510017818 873534425 366807302 995054299 100510194 708027619 725496530 707418008 526178887 266374604 868787426 435316513 254851278 383139804 198430924 499168132 205558548 399942397 726485722 106458864 135245815 994965667 623140454 455254796 92515461 241043430 929451465 477968647 162714313 145246653 610944287 341516099 82608727 330276018 634878067 438060486 402443119 127381866 154321060 816454426 895128011 601777175 978124275 754150937 839668724 917320029 664876163 372040472 649035261 987309398 929243121 329251425 483699298 707170982 852217621 971265437 452448876 167771357 567895211 868902203 895498464 131603667 417334489 192731928 561599676 42340916 924873764 230692786 233256573 536526382 734876185 539725533 740428878 902315408 296239499 876942497 616746274 513744959 939998480 543610351 931488188 547947628 232014113 587107394 122319174 602975041 572170730 918223974 57755370 732746187 570303787 662254452 164144774 467175956 381765986 336523387 153914104 766026189 190338121 690846725 380410576 211648184 654969756 523430445 133976070 595501973 775959095 377113816 801086282 712860109 539049023 426197748 675682680 79506832 463050357 909577569 525142671 824633793 623001588 208989655 766183041 567611064 399388387 964225617 534022188 644397355 84903278 313916793 345438382 484251185 665552749 659510074 302072222 570980605 833430090 652073051 421564331 531908621 416739964 946455491 255305875 221965379 962223581 626317780 292718279 437130574 778642673 243307492 77096225 977227883 751128726 303143715 506183800 389693439 745724450 856130857 180674553 516388823 890753109 157900759 556037481 973690437 404066040 338157606 953573280 887735613 953190225 924488544 603141372 979797121 257809434 66257899 543993692 567972619 827165882 888006214 484745684 29356615 513262640 993135272 569785102 329001193 724934348 258040924 346459527 676581770 413802927 59214073 583721442 44732151 471795626 119492183 266294795 873918636 618763854 799310359 795369407 627403992 670598670 249605031 677619756 966874906 405580934 731153285 655940434 600155593 425420731 947965790 167150593 769384671 793432099 905242190 887724666 365124693 794797994 770035989 448038629 45361379 41471780 394245423 320696818 586131906 842607581 319293219 719728697 636222522 577013771 830588619 824789555 688193168 139861043 530176393 371600622 478034230 359264105 541542005 998086896 218460330 657711576 633925313 406906452 206998178 791021378 436467794 731650208 708748716 893103583 198201341 268510154 757699688 694457761 332542805 652310481 125688305 569479285 961583750 545915313 171790578 32194069 581526869 498855131 820625738 137476434 619463493 69614019 196809743 503887208 936765900 596328519 299313623 281365565 481801356 113784040 352556362 473749734 575088595 864677899 103171500 548621117 827738191 208972712 154980198 379219209 230574917 674002574 57583154 346254390 161301591 267873610 879181445 421513211 840174467 948339097 667259773 143757863 452682193 511032650 871067668 23236091 806614943 85623635 553859376 969034313 283067672 197079282 93941006 865418160 294411709 755313831 931818009 853350438 842547540 706195354 432515203 332133940 189733204 693659905 985801801 515246035 425270351 267427802 295910250 321148800 890587152 701782103 638895244 50249728 630914430 71091566 577891732 909948691 92784653 531157106 961271932 663640149 205983390 842531146 250697595 664732415 146555418 9263287 844211334 846057306 334543507 258020797 769078171 621003687 56328361 156076340 988158823 23965922 497728877 313525238 511234329 817213280 298059302 106719354 137909193 415904481 40739722 821328769 1041082 92770800 528393323 216286634 541129823 763645229 451462169 331471920 559116313 196699613 326034139 209039281 566939138 447015264 622065527 197896009 899468012 111459407 23691745 816990460 582365099 485424136 464084780 957370032 452646234 393744739 364665419 537527557 909357027 763237563 137399031 711028995 438410386 890127430 556701898 226809543 85680871 604051252 596209188 857727446 177769513 943159994 676909273 154073126 662958955 679905038 686513122 206486814 795700033 755948504 121504323 533478968 970887511 892088728 671140085 298553514 599257039 414688073 115296948 236810477 182280868 805755975 804772535 962957544 557816360 770834926 445567175 261023274 995912396 886459611 755730408 86033389 675283658 451987992 18992695 348005068 86581602 506543456 709503318 578946525 491101564 580022573 73820202 626748703 76201108 420919350 518039003 334122440 143813459 222071355 56638182 866426196 545368260 33987649 666672506 452147707 161924757 621956050 956764981 175045525 511068239 913383983 227486168 448351489 694481383 923751593 180639450 680625757 357619019 548349392 856708700 384672097 308090302 308668584 403650535 317215979 990183323 488361338 365425132 49804896 784855641 694092477 282767696 915532135 657043728 176670062 74831762 628620732 158776279 654967644 123951001 487084911 938131055 827764829 253181799 582632157 86837021 974772752 87122400 564684422 550700230 949552599 972134642 725556429 287213748 399554008 850615439 991098901 366190847 733459945 738241561 174302963 541283676 258048539 977185680 186134760 357803348 602764326 790909379 337745841 728297952 340682363 435350903 385750425 874552872 127548994 231129131 989733685 592176617 874297961 296836574 630036286 170935215 438988277 637331821 518550246 843508133 332295001 200818183 853915894 320213167 400101484 631725547 423540863 168898653 912786832 722758513 605767533 94562901 390469592 823663534 458029411 671266428 235696939 831622785 940242157 896000054 841053180 817881165 609396716 788014897 386523674 826747106 676493337 481768101 513727778 438298370 305776901 153795565 148266902 661848091 97066007 248997849 286838782 210997560 745568684 397527164 502480115 731030847 261254828 811191073 29915839 159660458 711042855 955544904 197885747 910374423 473757785 612548966 227205786 25183583 523392000 9403734 899836858 683373049 513749535 526910284 907519499 605337766 8802177 714769800 543755705 273589392 143966862 155272278 534568037 491700337 1645699 585414912 458207506 465253548 456058281 795929118 827001614 97888569 52120930 491385943 838047379 457919061 551868042 42794211 548245796 910166966 143004543 743594658 985020947 975189665 110605397 660105000 482079591 880844972 31056396 37797284 215471014 652528204 726450989 196800690 610030765 802335561 722853412 879877716 324761370 914390088 188798289 379373131 394500752 402932017 676261307 898815896 547651750 829564073 736795585 664671509 624017107 95013332 599738638 156734800 308021312 183843501 249584041 133764873 468034583 380676336 275935426 922396462 791211664 317223474 821695091 757866223 760150976 384848271 495032749 133023543 747337123 995281444 89262713 357547126 658599354 328643589 124524131 660182206 951560172 529971796 277645868 267042199 821126140 341130176 572726628 806262489 742108388 29537827 156800873 514870722 395861033 404589523 828501880 566827913 486664657 660633241 999749596 773403631 150699573 236652637 481904605 566658528 422008178 994513886 409401111 336669281 766163156 19657654 341041753 394077816 256048291 233188589 337609836 225322235 549266382 969461779 488864147 451745313 701498894 842705817 430965371 101455872 960931206 77245604 989003413 868670654 928550731 907817737 859179586 725591399 991724790 703710740 116425897 54381101 460438445 882922316 424770318 759666145 588396749 456271767 90721409 796057149 265731311 148652861 926129337 313570431 394612460 548227356 840945814 247617162 642026919 605962538 250707775 668829443 251914716 895319464 37096983 802795294 375321926 753618980 105922256 207706634 781487817 850875525 104079973 321289537 258002118 107490620 609175744 855455835 557823847 502240229 426980492 613186759 59766910 169305182 650893993 454319232 488928197 654335618 989624459 87563137 752661401 301558021 777265037 92711811 952795187 704694965 606255185 925729370 44233365 476901782 689800050 89412 61250933 919697438 715564988 219111324 491534267 527460560 891971524 1405660 860283947 652405986 727776176 756369261 733046380 482279928 357032411 8225468 428985809 440301898 569482449 131985512 893843798 29435498 107245163 484734765 62461190 588558187 849125995 270902164 453950597 199381686 99925155 198388559 896105502 980425996 773197867 317635096 49400030 505706378 324074077 458214352 751148075 497823455 788727809 647477760 751315320 635391332 269686481 272289368 163253465 42949772 201341420 346124483 353429876 381894720 250096775 365124520 435604560 378192419 626673131 217469940 746982213 660510189 896419764 716567364 751476334 470590197 735474298 778909324 543058575 253521530 343750766 367689958 954070900 157060890 584071654 789709894 423714386 88244793 714064238 389133755 916799173 561000929 305709480 322314213 239832776 286642911 337151250 908245462 625226335 937393465 843887836 308639852 515764878 593945607 570345590 195740247 347579725 192074410 275363307 710307219 952061159 393113858 252404194 149573587 599082394 772997841 52745726 990820117 766670333 503783009 51706878 917380117 323933833 936295638 716850034 587320605 421168314 813400425 223425954 418910670 361605179 854354748 612966783 752459999 687320130 380487718 273809848 535301011 78794695 380737733 827430879 95212148 115655842 410604883 777638471 659473581 327905221 450687834 706625014 121075751 334445542 768281985 7276343 379814856 758983814 591652661 980697892 746967994 857984181 397389669 846444721 31934135 350435367 390359205 827925230 171114091 910054285 118620558 161271916 932597902 486596235 214588513 257930066 77423544 920072132 613007571 807855109 732749022 98635189 642332244 666523162 123515775 195289221 132848431 350901647 695795577 806959278 288920913 906063151 164941070 388036667 272436927 596919554 824358764 544821674 779695167 789016882 522040159 52405096 883338614 501184666 30535483 748261235 712237434 423662762 925538871 383167562 562006547 377125730 714885411 459142462 701553227 945994902 316448651 406253406 198897569 619795611 484850771 260989586 833037896 977397674 698802105 733458813 265881628 461156667 438979553 68318398 299241083 529904300 233872267 292588044 982799640 609652383 535524313 78825102 803862631 910016216 690144575 218034621 802664802 511333471 899787918 651612362 727079307 162544914 276055930 218385575 889495250 410337098 673002282 979718936 241501053 275228826 178069326 136093994 954920378 214318960 712413976 441089805 817530915 86081287 65637562 432529634 990049065 715357126 257400699 88960746 919483901 404652795 89309034 975999961 225995372 612616978 178761627 746170841 240648915 642882293 966867084 637606961 451006258 974915072 990473488 876780018 315290208 640989912 974273980 84448489 456829867 796270057 831745500 970259889 493211251 11436178 874343220 182128005 50733090 728180880 854183354 884056486 759766066 806967257 623168509 742334128 862559412 590149664 575693356 318694421 705720103 450622592 404101378 191045121 262592672 419506553 774652920 128570569 357573293 371863125 929073833 789474174 108588655 559927429 890683296 377815956 609399798 809308242 726417711 881463644 376635359 108758613 63021050 112335673 672226251 15871288 507078121 85969841 555461319 152958357 655084084 712598055 777191402 161892518 787739394 648987464 711391686 876385449 613916947 142183867 530737562 524931983 842116151 646346251 209055877 971796319 788117375 137078817 153322631 413448647 586994442 399786912 238567418 240412372 968573193 283001489 770974350 833244836 305583407 94068835 850315663 51035639 650958396 614969852 124542057 318718081 610176747 172652913 162805353 246009314 280582052 483060736 531179716 586369062 653163978 663556325 258264032 613189020 628289516 404645850 9590059 489510739 604022150 25188452 324539544 881893183 739794751 587974235 779964683 995124313 147046077 270870325 304094479 48207086 450222246 463058998 91286214 88877915 181429613 981115048 12675020 49590399 223873470 604204539 478053019 540756288 376598529 564926017 378653147 710798579 103425265 625022385 497802067 941190747 484507749 371822633 288089858 672855688 971837016 900883331 911378478 796407977 452455060 67980418 161994097 506977526 443350609 193116613 487213804 108364840 702458673 573586359 450031415 477449690 277410654 509508451 719643313 199364233 686793479 786026527 478424227 895949547 395341201 208681951 537297735 589711289 816545380 835492064 722811370 831816351 263317453 936937114 216210084 788144555 78561879 645776323 608542275 769798552 620430402 955605814 980360217 197249245 712786623 154528429 851278234 650229408 641988513 595843711 80080795 985170584 310118612 725385167 362276112 595486159 398170847 233525210 512451051 46008785 813007109 679308643 15938323 830557807 876487200 491040279 453465330 325809068 885441167 183112163 161213395 946599532 736556864 645152587 638894761 181283643 874314336 612372897 51169322 764179844 708130714 184624030 14124295 773248472 614751057 730543400 90033443 506357926 744478726 777143435 67728662 799194076 937580558 197651609 202146905 623873969 549350413 821872849 988358792 181196590 43489890 45027417 894339944 270144676 344437239 939398858 424298324 909377239 83695905 265625944 425196990 574961482 944875048 4850046 669545018 46405477 739381810 434144387 552615273 730916558 581849420 466648740 219663064 88023778 354549700 828655809 494182421 423199414 188781099 843245720 741159602 676932939 928343150 106756953 448052891 454763856 197248447 939493763 798334363 695035535 599169689 235235144 96803464 722106236 428628300 756005868 850622712 798239415 386725791 743825207 505297516 507449980 622291561 573917237 436334058 387176752 14208190 702952307 243430066 43235314 980361190 457683346 189062799 662026105 629559574 511629646 925235131 756742513 173846355 456571550 89493467 134250245 255344261 175867751 126222474 294194857 877507636 900533280 171704149 833552418 957595291 540185833 915397124 74001316 212044477 880515114 233530808 4669673 98547751 842544293 343264043 149530077 518589445 3364601 872633788 306453431 496987197 450252088 786525637 341613278 642586958 203888454 962459723 383464051 478285196 623772045 516277817 138926376 551291853 564428168 867401018 781162108 275282073 873060907 854565033 436392833 71388731 921900117 921468535 993117209 246013892 528854901 356355576 253217053 569226227 764925765 750574417 667305172 148880353 665752683 876442829 624137294 866734101 575922748 834030477 274170620 590973781 250754906 921897843 295834711 310858644 868394010 86482923 399721850 781980622 227731630 707783342 641072206 894800669 890902659 195712032 364909987 515677256 610995142 516137255 971568370 764606566 117189691 157164681 38801312 196603199 942333009 855526256 541504843 139027163 963239493 32580622 215555992 875486912 512395087 495492576 812927149 942862380 971254392 100769882 917900852 577404202 514757470 733592979 230731318 240808387 207046871 576035962 934093860 441420177 963766411 441522600 429516431 363938121 337570208 575834839 923934184 585582383 513967842 932820474 919764299 767007734 23907507 440998486 51493186 361427449 771481948 231203649 156349160 990900125 666562440 307686235 795895488 223949697 291536155 568614346 306979861 300353633 310691813 395273717 432861610 848934327 332064513 992002552 873563284 790995969 335757093 14585053 976728938 643786357 4561288 206347148 873485397 963895126 59942827 395121202 106286276 360357313 554906041 702988596 46499172 184234502 660200340 109704071 962719425 20840788 65976009 946463637 49020517 581182983 433779580 862031432 45186104 154799018 734928667 945343225 675605742 305812253 343455026 949230866 874900651 787914055 24519378 886662927 553188854 404769945 986663516 908915010 470139371 808698889 303312119 187488 42981568 166808134 494743935 135975273 50973776 420910425 689184074 907332723 196270816 433675690 615269054 91109064 840968757 628208739 329281915 290346526 395391887 501859852 983260000 743731988 772915616 599505172 752345156 706482974 114585009 557482787 633506845 5197224 66143075 274039170 297476025 393149417 781555182 82309383 573136160 321634493 126455599 111958511 572643317 421342031 535697858 615745259 411816749 731935745 490913249 892237899 767161107 469296131 785677636 78138192 413172838 909444119 224761016 414804032 331568859 87532640 279215808 102061232 991079978 973813294 188588266 56579699 479325152 743202732 625740813 190441678 863485035 530870984 849151441 655577723 877133890 537487857 973727655 562451515 418474440 905854246 873256748 67901771 133878429 673708366 776331353 66251034 28916627 324184690 224235350 723180751 382640664 918104068 630594145 266773699 82295871 832750564 438407282 383566140 758402644 961439992 645955684 153233133 692524189 933446057 96084574 663006526 686986730 865373694 711400910 590332025 717404661 685241532 297939396 233412059 392449170 588026257 712242838 648170104 400409304 44461491 426273411 568473283 865472152 47439722 121242452 259722965 556810171 509212286 866789601 912953080 684866176 713290401 60845459 597637926 421078778 845973464 772766931 279576417 611528004 739877570 95891853 515969000 877257712 656203332 17148874 507666790 291674603 749169344 913337310 353690873 601666726 223543292 208426071 470237385 605497770 586888374 978825653 468824267 619036655 217169082 714986092 428119659 387628550 277612876 73477532 703309541 960531110 592530829 5493869 57864453 207034890 902071296 800715460 308078199 473346017 589576402 323167255 905242311 422225629 138204890 847745065 259612677 254000208 958816222 64176685 964149738 787046481 907141272 678129942 244821243 901980552 119331372 592084985 487062194 61386607 39339102 359140224 608715264 564758548 910185099 575143453 996633243 965257928 364580934 190530220 966724594 846844330 997410923 590719152 422232994 556375771 692680956 207620145 825458886 604340759 907520066 479886213 759622089 323404042 106694900 350848464 105707753 374096467 69320740 503468422 889393364 930827156 789396910 69482455 63208317 288757075 417950694 468464964 25918353 702396625 612866288 879446922 948048713 168892670 998881620 537336760 454894093 665220246 378389295 443558940 371703311 961139776 267069155 907788900 922818036 877685945 260979443 247097969 320408252 620483787 975108 245747341 303925063 554518814 908104599 794274853 526786916 769632264 255185809 886411361 433321253 791518258 511291829 400076434 800528383 47195994 74654888 197388073 849740779 546353557 958890183 146127162 609871293 337796999 257819206 908319504 863938309 112409172 715486982 378910166 820801263 472406393 261971511 957806099 646460837 210559810 846075069 90064868 979707091 401756647 340079942 52542761 274091878 433403382 829127080 398107834 829990470 803842346 939163291 278727305 567779522 739555236 348840946 793472555 116496461 250968834 362053953 251007985 758113758 229223427 467061974 833856747 78284134 199573592 658207746 36843910 839459434 506263870 766242646 751492024 849419398 675290165 690967085 534570479 777986656 330934496 217069743 501602453 391895800 3321761 973422325 134858976 530762629 32718904 485058374 325246439 635663721 138132990 525424900 239344195 959501715 713441805 558482149 610355264 788942068 857569972 403790170 288275194 117606621 953899888 697770996 816771879 985357173 540950997 889738307 994679237 83160786 525107904 261360741 459659008 711288066 398221334 655630084 218417107 410151522 692521194 96101865 994233939 713385577 987766007 621289581 887758378 104463116 611377622 271023955 227237042 181706250 689904817 371704957 195655970 424377854 892400925 502594434 429898243 57252702 685813143 752401529 130176750 9940774 470036069 538807112 658521699 847518494 87206788 457559855 89942968 534602704 917051105 229104072 130742954 266593825 64483148 250226123 462386434 162178800 280127726 614679745 65711056 562602585 359986454 196950595 383724662 963787437 651659167 42823312 195811343 46750858 140426913 242675365 846110692 538113999 456202531 524062988 296338890 720358756 303289917 243513562 593388836 51722140 416758708 993713704 843575213 403917242 149995069 563986889 216734810 86459498 945700264 368299566 721740007 174413822 162900809 378605741 857492204 862434372 821900592 892863108 54463565 523242228 185398039 871666974 545629612 171698675 497228336 630616590 929449348 507088241 984742405 592044915 912416117 386413996 400107518 278944239 568599168 781723543 900524581 642816925 319638573 734517789 911629187 161863243 688757296 3331664 429879123 737232676 86218240 792886120 554587392 681799079 450352982 65789995 399867810 381352333 948761979 977472487 349743618 710819980 172008947 693866993 654942355 878326752 115778347 80396461 667549945 18696247 219133781 428736793 489262300 956747206 8155534 278401218 939616828 6962964 491131274 360753813 167132888 926028771 215260954 674151184 614525432 479437763 230441185 294893178 821744535 62460710 237588479 530236562 927013809 492227518 259346266 264314789 933257855 234664803 462721670 360631679 739539950 47689123 309278210 17958012 899956261 908287586 667224581 620149259 290582298 569826401 839527063 943186726 853288779 129997515 133027827 744456682 353483535 570917016 426653808 514311738 441590371 793584933 878375925 802454911 542280608 156252048 450519146 645255316 987946384 883424186 39471318 849885604 157313351 885461904 550849441 262610726 946008830 221401839 498147443 33564447 791257376 931981836 112138016 831299795 140137317 577213226 204666733 313486799 341586439 176545849 437834102 98318313 963439246 767268862 959028197 789691162 314837415 995373276 179788118 507699172 845781483 589594555 550833535 560115589 956495467 794314081 926451124 185325074 155701998 577697260 77847061 150307747 764723547 764625567 75676795 262578014 153541468 530103962 713226878 390706808 948111736 618998578 869867837 156142837 39036165 129771370 394062062 364905205 305421397 287795756 333619015 276865017 527761080 689782567 513057679 989275832 965589474 299586333 991649068 828226542 272569458 686838727 674398635 959781917 268829629 301215347 500525469 621080712 865620520 297844710 228388153 498247936 723563553 579197027 610293810 98095694 147179721 568730681 687919109 883996351 190022143 631324084 445068079 374087636 254833861 120362373 673359989 755476954 263913535 203403421 311915254 254424432 26163122 484357372 815409937 758485641 297271811 28176318 50461393 802036383 169204421 902959699 455222632 60111302 250079556 899961870 326646444 593996206 566631774 396171316 97532407 634161309 882687007 430067336 616331802 902162164 519082903 885058745 165821012 427395634 652920660 134716254 9590838 574271371 654641725 262263981 814720073 288848490 462002221 798933309 675447809 536793395 58769542 856576636 247160480 946421220 657418015 539886072 659034017 882767033 968126563 541054040 577488822 406328349 137580607 783933371 231327327 233608988 689950435 402275988 676135089 863444908 37064934 180668370 88824365 216836738 385874672 64029332 284853575 937903335 183497165 413130859 572028411 291858733 783324474 605599605 400815608 676009069 447443094 408807409 617900671 508299058 845091047 931237219 248295344 347923683 599237398 591734552 43052017 997705185 389295092 416925568 173173591 257783994 358900222 253816532 929550005 984899325 470107406 115961223 562562035 206534691 995014456 363920252 381349083 57179154 978191511 414125357 237594350 495606150 597238729 682023339 743959487 595259407 958511645 572334384 913385979 805880117 781504189 20724488 219137149 806995920 504990573 954894364 501784502 933518466 470767178 513170256 872782213 803426231 576738663 514336196 456553869 291798817 519261431 269541540 63617356 156356627 301027698 347827994 137984737 514655761 910177581 231896308 265813651 435007967 973920057 530202740 761787797 118343478 586772587 164096710 440106047 67265951 377889085 142246043 680107738 171985375 758876846 133842617 848179002 558240285 16522847 729957139 327693610 456380967 846940052 904947791 188146558 826446338 776563186 316708433 606656111 358087453 144631538 786650038 527799228 881237643 301850235 16646555 779657143 529462767 587010015 266861140 752560442 726668321 412815140 761625423 599675157 338994948 936487266 861646468 365282588 212585373 472818334 373639518 393354986 860965136 496014546 780279585 534189556 7477396 512561238 341992385 275706036 915798829 563987947 834712130 56643625 117217201 159313941 382331807 458257182 794163536 560289485 831920969 563040885 457067418 576080598 948331997 662634513 172864200 665470444 976394735 141479178 640680033 930145161 28395561 287056498 465643691 140603196 422314998 523155702 560823174 505533195 781213511 200638284 171333327 706929258 736408795 316229307 759609170 898177241 949247857 426362526 379236028 667480647 602031061 426235773 938340040 968559673 861767456 125120442 200907785 486081143 557691146 720113687 638884867 194459142 685307371 497764826 775222767 318672520 808213974 804255090 191221383 181376964 966457639 674650505 343621569 710032300 132299720 390094953 894977625 913863204 917053532 470407157 453109689 194048099 602493077 168886002 659574037 971277460 445923597 998252622 646299951 762821787 445232402 93895823 241265922 78360377 156631479 413248085 384801881 353218588 29075971 901579053 587432171 400309584 321420088 577629166 651547892 674551428 203665480 337587785 935673396 875084936 476094527 281149254 324740982 960817432 648409273 468510433 894814504 707716127 499833248 410677892 554193224 517571974 324291482 977763217 788393563 69340292 847361297 832360480 243987174 893659652 10121131 144824650 603436913 966305874 554676034 221039036 414199472 836995902 203107750 439723706 662305271 48817481 331106919 538727141 536594349 274746408 722077847 472243692 147336536 875202686 892123309 542542946 703818584 501392710 936392503 349212 627473360 489221545 724715795 567667209 542626197 570294524 242754715 349165083 364466560 671274182 846309618 672227998 241239372 871563182 787918783 289152995 531842613 866312167 913063149 272314141 634858041 280416824 175999330 765275379 607418282 229352491 92598111 666769706 932551108 83801108 634391821 92551667 899146666 163225623 874713558 449491329 634155323 625864506 42448809 636716806 933294136 517567485 272109368 840548559 291235942 831778457 457062124 321130767 4156243 966944172 408109871 736163043 157590027 596418645 400078971 188113561 162164737 430041722 171269347 742648416 932133674 73865528 552356600 340003431 674570891 881979066 345958235 985369033 81685720 990894052 270305137 184785232 837765089 988318150 495903159 539898849 334551766 88118519 377256567 432764249 317479732 509571473 484218757 718900562 358246770 504057556 789144322 559416018 140388287 190387778 850748466 268248190 110025266 57378144 770272287 300120765 782514273 619218463 314489670 474336848 820978632 646805584 590892016 248881709 95652870 682879164 5034906 495818372 984826156 166559404 912300263 994956759 489087064 228986292 942707580 272972645 736363911 791000488 208199757 211254175 382089164 470373438 928623352 52045526 916854142 644274103 235293892 22584418 414327716 323050791 572170363 653710765 445847970 24650710 30543599 93178929 314476745 433292486 737133765 167157560 904142044 595674987 551002477 109416453 108063682 998775613 742776518 558579242 259270114 587208274 676694119 356130014 833890141 831287048 757528605 158513233 227569253 880734567 591541757 326656869 437667806 333729855 90601158 461357297 901428571 724080950 373795869 513066437 742742986 831619149 818264457 16926086 384393144 696890378 312210465 64808324 786892944 647916867 137617871 621917175 108000472 976764057 381909976 679628513 968720520 711517406 710746614 236247101 934358478 862988840 262542786 624696537 447322597 409058683 627337813 618205023 833411248 67393639 286683812 330199271 362518212 892584203 329754985 61454995 181844032 962618878 997169236 145438926 656127370 32754129 375242827 403682376 618706015 605967597 551280689 661302848 972818730 73374927 710881846 977252104 884725911 187439232 877281781 553071162 40322729 617868202 12779140 874609113 315737648 639103031 881233126 340920843 57221379 60530842 314457338 986293699 477589925 910655298 959419304 316232303 542275087 628565970 625715434 727969897 49508260 436082547 123993739 909776989 860509779 10673663 294866567 533985956 301594512 629097379 7501716 245140193 993910364 274321119 322543493 357714384 974058035 688880311 945620964 84673108 512827543 553817360 578939259 61310255 378000588 567295001 16959030 159947831 194662814 177396663 462391387 996332600 105733394 794082180 234424532 822166825 557250758 48627478 731439655 787053034 272752654 386563657 987376787 939271194 377696942 560970489 814787954 602838706 97754877 937946569 169671074 690719725 707355894 250105808 474189788 732528628 282737644 68178153 598735280 357707621 233357018 582460184 70126899 996490516 806919975 473870330 867003099 271045777 997985380 75779760 579633529 519502381 497820501 607647421 723469691 481234156 941422589 624145531 771192919 479040517 775559419 545472281 342811836 570693540 580379212 982929050 878402790 575704432 184037988 95347917 486042911 381692207 418433998 872850600 33824923 150426817 314050869 896553816 846148954 634029293 16861939 691039410 878240806 867467278 820930974 594593168 659338259 198989508 792143216 429360160 131944490 542554842 169258468 286190159 364045648 586644994 371063506 126237195 972813188 922706923 772730362 219694935 402976445 523907266 843061644 515444256 136258833 894349383 696791538 525318176 727964211 755745645 69873239 759595066 58363165 889829874 398685555 273759337 509515057 95612998 59669216 310042417 197388451 923061727 389243722 161954880 709857670 629854231 746380626 293932287 183083898 341593200 5870962 588685870 679226180 818939739 73768759 540606837 223312305 303552254 934889463 159689216 89296124 160754720 261397664 449389900 623362887 514372048 562766983 667931062 206108413 834639930 830285543 942225036 163630995 331261250 245547170 549653395 815677918 214326724 743154977 688404430 198452055 585303588 831333192 791000047 146086617 979437592 677676350 743424140 820436972 891431 603434701 746572424 990220808 696092451 381431846 914375732 767636440 868199488 754285557 848291789 458398 85808520 121133032 338745320 565621365 566293828 294815254 70870292 769029380 531843744 164522584 35750911 304113583 983087363 513820195 103174172 307237652 924790993 317951310 332934816 56300642 270974776 919062905 434838624 585126493 210828550 341102111 852976529 496867251 943274836 620823184 773516038 641941240 425379761 11421896 605998126 849547517 765070712 708391130 923499561 308342239 935860747 248594042 875514935 257129171 425654244 258245405 612180780 766987210 976806555 362998277 657903166 873136719 398088807 301662577 342563513 78689733 277661321 564111193 303128514 741933940 155881189 335911501 376666574 323070148 354523484 836947642 251247001 650679381 596968039 912379715 45332636 738315209 145728135 770918624 16327679 309397287 271682242 168839959 392107778 136284051 165226604 798816464 705187746 143392101 988870562 414385857 935552111 33721074 146316231 131421565 610812906 137937407 254578875 314814991 171762453 797615868 443099381 665815103 267603703 901010188 159508579 579339125 376404673 345110780 645514252 939048841 175315905 837631923 356506536 657171349 252461332 719163546 611576822 517480725 93025616 254330249 880479181 657526497 592887632 500082649 946436927 5493013 631606292 679130121 912975297 766268967 584689476 350826605 864372849 73820327 543341680 615858359 738803268 770972183 419141010 989826831 240387087 439669863 314797128 639578272 472956297 823414050 629623298 651713395 152781301 380045796 119238049 219597638 684788937 530716664 451568163 520573134 282844263 224217116 976801694 695437540 330869424 610997885 554117262 538837360 810625790 404869729 36983484 564724612 433525845 402167350 644471656 241162387 649931668 96679963 471192808 473798855 412640493 9578021 801723171 488334236 160538748 32034922 763168385 682493832 766655275 267883013 860696081 158110160 699093906 983021594 7500773 154124518 228730809 947394591 442283042 757876691 563036430 260330996 272349929 255982984 482868727 11301772 977877100 79501650 930452712 626702499 334238796 539884465 720985091 640674065 836354443 773810614 35766507 272233969 725872441 493818856 518561218 198811782 112478333 922363710 222372870 993642879 595191920 943473506 602249332 796004648 589701480 622337022 379686092 22915822 487505760 534196227 493819567 524438238 119829519 6503574 597047458 470984050 411762234 644677480 297057719 418054065 410895230 389095477 541116582 486640893 612395431 594720986 185741385 216927508 214593961 426392344 768668031 956420132 963187360 860620109 421592768 691852584 532224291 152065849 315366054 548145524 53657205 206611399 129833441 515947150 211335835 374659377 952996102 932966501 805724114 576086541 162877178 282965721 668880387 939685888 234988462 801664460 590026922 932017863 754600482 475286236 253475426 915272232 620257756 478137207 170612940 999738910 848763874 358872206 958338896 430737364 380007767 262553147 311012625 661850557 235595969 927608536 473671972 486176615 966065119 718583829 706743249 138366861 28664308 973125517 349915961 72484009 161880679 288585563 40209477 106341786 278454317 952974881 328085886 912005528 430824262 502183798 217629310 747229808 608355067 551961109 255123170 996253876 372058943 487132010 229545102 669950668 164670647 15991757 273887613 535815190 942646089 878501462 686175108 600223608 860095931 410896145 299326422 489768094 106148489 513562791 759999395 94366174 631007935 423567514 231703551 665350234 660100154 19188665 67408565 634464016 987583902 894143509 686291427 996723438 891458603 793898244 601704265 975186915 948792849 308498298 647211387 243141303 583074025 857044948 836413630 334778607 463638599 958740597 20554482 80201473 866677532 7744941 299763009 940828629 897138836 628726735 38319230 506356033 255865559 21569616 866587624 42145884 712640714 378296020 837502834 310924414 439772229 60012284 156914538 429136333 50689007 423631775 334649479 434862141 166562126 327208570 772768685 286869167 75848894 768184508 645946995 653440065 310784213 596156002 112320601 787560789 141311201 313407559 783137435 189962315 163227521 104705612 185833579 898297384 709616796 862855443 102549709 764293533 704278127 968577087 756626224 160729102 533363215 192463484 883436228 538760036 953355456 694718395 773226229 591527075 454290108 385596567 193420031 555359938 375607369 605974898 404395213 200305073 620414781 508739498 825333441 596125758 912721806 6668436 964304427 115525207 152298101 296973905 578094429 851007531 445845333 565611402 166755674 45521556 133515716 889431313 952629618 940013092 375873775 373971785 515014277 796562551 723003303 34159607 572446724 370035228 48884363 511831843 496876674 429045035 627338617 479368582 373469999 504631072 277626428 401364574 692062665 542435446 122894189 536885014 333082190 359262866 255071115 915166651 756413842 784284683 673139449 971469010 203489218 211668515 14736047 580594264 537971483 958570752 49030973 399906052 504240885 430030081 420553090 435154360 964529687 447198782 114696045 118959621 146719199 901414027 862174749 425684773 357192526 706467680 414844446 430333984 774629383 235380103 826345127 977308154 401425402 586703773 643783912 162272731 22434960 565869205 51173604 838224357 268587607 781900720 195670987 893978088 154066707 168924006 106916806 606197899 177247591 758441854 489345815 747109075 339463549 554550350 758098098 286802246 410865954 193211251 339860446 396303333 56012933 754843181 908088100 931484104 875320267 627663143 800983203 131614258 922733125 564221730 575903311 14451250 953918856 664195797 723565982 565848393 847248268 928870130 478428406 169488615 883180184 974382624 569399219 361603593 947779491 186142043 136422013 720876364 850334513 809098940 885527077 964678536 64035674 631720418 713965791 111643968 45342 260661846 328460668 156791773 614398993 443189282 721969010 398426494 336797717 93848212 270307934 217871670 547137811 324736474 269851177 170290307 83809155 379010532 369507049 543081963 632540038 682103688 748534874 933377761 777135189 6612672 527641616 409737755 870903562 842575864 580023226 678264373 830513293 664221520 489352699 196120742 999079713 530551266 243651476 533310010 759538100 470359101 706798684 233512656 885452222 418832773 236184736 526402216 634651609 221393127 647612372 715369186 658297218 943715994 354646410 317632960 471721594 999184613 65140366 711833422 523387086 528032307 683123676 753523223 225382093 789590361 584795895 607182440 596717847 874412777 431857245 304217535 371810002 473264192 706523470 747664497 256395750 831483936 715595029 982733826 303297318 145762248 995573820 255185126 469574343 438981953 78543773 805347022 286013607 458363720 452590617 291840801 539814997 159415225 528738891 445533133 893983498 176001864 846563199 30185960 840558392 101153298 536182040 834875008 901606003 937261475 666441230 900179368 191836367 893860038 286525806 985238225 510069541 519707877 636593021 768893048 519347929 535881070 648251952 121390396 858885194 852575835 986200350 946641676 361323309 566891161 523056824 401258280 386058185 299754154 932445776 945414184 723256261 765061422 591298896 349074766 268350803 903049171 935199886 209424444 637082459 925528667 895581833 835038862 371715287 506380068 438316196 836849473 333269594 599462294 838574615 493001595 422951717 972530143 730629113 369909986 281742578 929902633 260199236 729553552 649285335 725336265 352364502 170863020 391224668 604618458 146002972 726943340 5542150 627591786 712742506 36144826 622384005 226587119 282712800 284787696 310288020 299536687 326423307 192184273 912055874 348909774 113676796 626884915 960465839 225445330 533879755 772711895 183651989 542295215 203499847 307803510 355110345 889932879 353381520 441137195 168245987 244471897 46752220 88796160 432177676 280410605 664911553 981651116 284284580 267662050 301295853 660848707 796856462 987075036 717614786 345785478 850701841 516348103 156639890 913416920 7613354 216191224 955104236 940824319 167401631 74310064 868524023 279551685 603804691 396504407 428849753 949313506 775669747 485965937 618913760 171304438 115136963 326036660 757111452 202286591 906846011 350782611 124533735 141739793 794158825 955199963 557242043 657297676 46281611 259750546 949278521 971569852 260381837 362589251 390457734 378150312 176690028 739881304 389726244 672200870 761875007 625959460 917803636 543751240 553511931 784776995 504179788 195924175 345340800 189007382 503272693 75263933 715784787 405787395 600707335 186733077 392710374 272225863 184164043 590495458 786470664 860102170 659120392 726894508 755461200 513733275 547386298 973206248 267514274 19969048 115312055 609647230 96567630 263110722 817577052 903293324 414729621 753171996 462894942 832986164 409284988 48548773 431445822 823324537 347329723 168363791 580823741 149832147 993849224 23117432 227006286 300942665 7589058 140656882 578377375 834117411 180227133 931799391 113803349 662022750 927225930 309972924 982037511 750041510 507695181 521330007 583178665 531029017 183009136 441907418 600088069 753926769 65743731 454815445 42225582 156399405 372575769 425764440 419041954 476005042 335238729 401543729 138223355 12868815 948329390 900392924 431592154 271263129 610154659 125978553 390325173 463853870 647575552 989644913 51916208 869037492 283960401 91224304 494052458 621500558 119013338 953060154 619979201 872356245 117065073 989000442 772993479 334337015 343413464 47067198 905321049 838110487 19765755 508561964 468183845 680867879 389850990 797650750 947144065 624353665 736393923 550155510 450388062 798856036 592950727 380375790 564996860 571334596 512892854 274733550 761892481 994428315 119112795 475899060 733562428 934513465 588755682 188616960 60615119 63073881 461535707 511940215 238299420 369286329 160472341 488823750 439565822 163996664 823403878 644433112 717412903 752284983 603089123 83652543 117338332 147585343 365949650 857655551 913766738 892467772 223082273 533910165 351940958 868555814 349760711 151018292 418554179 726949428 186056326 166288763 743584201 282606701 239055487 745552134 47394839 827079539 401329032 523045060 168535203 681923023 252074390 896175176 638904382 749362121 407154865 805659721 314470317 933787272 228662611 672729951 239965741 511104015 977965322 462232243 787001495 631972286 103058445 500772700 18670059 978101976 876748585 162781965 36675560 229085864 744011437 952475658 472604787 726670600 152329636 645352124 594721654 748145827 139086180 327098755 215407037 404413749 108545038 980978035 539037465 853639851 418123162 415470699 484044577 877013818 24600830 337362335 290501640 29877937 951857143 382828601 680859109 284959138 82205214 741368369 1572615 117698324 678081104 238624833 458650403 879269488 162566247 470744471 540225019 911203191 998748460 570257855 272456704 781378588 368124588 617026781 928138404 141443236 447675170 9592960 576309800 397970382 322563714 426864048 597222198 185860398 787465580 312801254 158703628 307864070 565630123 848924743 980494055 909917739 745122906 423112040 223781071 730544637 256429099 728224887 562002960 949233821 857520535 364776706 135656558 315926226 590732362 250698777 298844331 810930978 345073856 53748359 104633462 661550187 50510832 682470250 682069533 964364057 195991757 748909001 709175039 262393288 850244770 854197421 688868662 196830188 331230394 597581693 939662919 306827759 729932763 639104352 550412631 417966176 817236979 173173490 4512742 33128585 193286629 635273708 276010465 450627517 935629648 796637913 145527621 573597587 551789053 958717313 506662854 364585775 114904372 382894570 415960692 887809366 812737090 442847114 758718175 312950325 796121740 85970624 593276615 489817796 735996873 493078512 833680801 462836848 154540428 643428642 110049480 746650693 34715151 612516661 682727566 114708678 757542084 527367687 707693295 411279963 211037037 528086876 847372598 632338121 374525570 698720432 439158310 773330663 742223035 473647777 240026585 132820047 551988382 793639946 273557526 198517344 205830140 50045040 608563011 532049610 963086099 713373093 162748109 783630162 994835904 736524115 173764553 174468721 390493573 571897074 475286773 935930591 562621309 180586604 549875950 598293953 825311125 100981571 748063704 933774741 858209807 928944880 922975175 20998224 73003328 498307505 199471651 756810649 965543769 733349000 245159688 922552895 80836105 590961750 519726915 696988217 644035990 759107919 580350428 496764511 996810673 108435250 360491021 2069885 384662777 663523495 411475018 17734980 584275725 167232348 75933514 582416088 814961950 721636362 158896255 287627693 76566696 678957686 892260907 663483939 764223117 926010750 272461879 713838509 72845783 900886804 552260192 597183677 23789117 903586328 716774694 854600605 667152264 324351800 294276680 377284158 246046061 109858071 522152800 482378465 763497557 599471060 21857906 42841263 850229510 583550990 405799506 334427164 377569342 568299394 254651132 530839696 678683017 628852552 306536378 737429446 630023790 623437853 823531577 877488491 775056958 313681953 690062272 742722814 902218566 767775529 759832876 733204499 206403782 752159223 162505876 356049103 846730176 453525080 539584353 409086676 282331848 605458635 989072476 295419995 202904342 79085512 627419357 885050425 984261320 779286064 730113925 170192699 710452816 949476668 121941969 76052209 699210639 760211732 904515635 526123452 543573146 238936088 287552931 352962644 263327893 822945752 915793838 263189962 84708669 659023731 380513491 151175436 632326658 548197528 189415031 873607036 959878418 818586411 413981563 595393486 418517987 332193932 885522973 617851124 659406155 446195290 512441274 928159127 424771570 296601103 823112601 628632312 863300044 258804160 521779943 946121001 327604444 385083832 5118306 964867237 221177668 578528860 176229430 688813070 613888069 281467246 617818008 306007505 469610979 684497401 890820819 24680042 702533566 256271190 917311768 13389953 626886445 981395654 230723612 619209246 558091682 239421686 26637865 324765061 68636780 961451844 837592899 725238216 886543084 996499247 495202171 146608260 632614697 552006852 141096189 344529331 433825991 706580001 540144820 709709267 742679220 553245304 562536555 110131828 289414522 652174788 775921234 849442209 594487928 677737272 408791052 257263994 74167329 615469907 697983346 425812384 801424062 792589846 282585397 479053738 341058903 905513175 500579818 840575305 432482406 37254312 980313279 115951815 410139665 773055754 968000685 322710838 829632598 612790637 651119499 59200834 386497442 522159143 486254185 674474139 272016751 367861947 75681085 449135299 256137598 954223866 433926368 851434973 919017233 532099406 126155211 535401914 715541095 353994152 321399682 854353953 177922276 809222628 708202606 421882529 481776614 744162701 660753921 512299108 476522627 444529075 949996819 381992903 131446839 422500833 523285810 253169722 55981939 492708831 510283023 99703602 131360497 612567580 84165625 645017801 907181436 768781653 93653194 677722666 928151377 540674847 997510512 44228177 749380334 596678555 104688630 678829864 648418874 374967766 69577669 287458649 799077006 555740804 586739953 275647412 182014973 810472816 846816081 350015222 289181429 475564125 855418668 158586474 860726007 489887491 73226376 68192595 996714800 238005870 370237562 313346527 426992596 815383175 611724648 710856831 704250458 603675751 477390865 113553874 705118185 562648449 666995151 15691305 283236355 493871793 92207504 68670959 296867064 272928610 773206008 822445865 282097707 981664589 577643795 577305897 135831050 479185899 909737712 242282340 858428936 359043688 191335487 715470604 362769739 515365249 830320304 864983560 166372283 802313235 615434692 408925916 407589712 625885638 433678936 54309407 954963279 997871811 271489302 548227000 556345190 830668815 602924802 448472774 488132722 478964607 724835594 167851197 982001800 679441837 185641900 378426867 18696966 502645983 649358144 660484401 518668216 883127138 409052754 900298324 835622178 593828324 597449556 392041067 52790046 106348868 743385347 791994810 437496240 382677577 317819665 47702379 350154560 501488102 302560952 633282793 176113922 256210628 845937132 636444391 511741419 123159800 796444558 864758004 419144234 306677013 507120767 885029703 696792052 831086245 923434051 605077398 34263982 582697402 492286481 482974239 92621640 155377174 191294434 787789703 128764039 323809196 67427182 393987572 214198972 888537949 622353763 277258075 974609381 806069346 361240413 8885478 626575867 320796401 148944334 172328066 835878866 471348530 934584261 448357314 270045376 201669096 714691430 140440400 46215970 85834725 659208996 605823768 114258678 199671037 991123029 241324933 964237584 225851435 33496237 538117683 550130722 35850376 752229181 226300256 836071171 901800758 131013532 236334690 416045975 487748736 181470033 632693915 289304920 707005022 79058866 784084103 467959681 624067408 305358245 206421244 299537233 279422505 10974511 437668159 930722688 794851620 238924425 10026289 507969535 104732015 133883620 540627879 130210601 145832135 93306720 125568128 314907749 851366463 76496434 786090545 430182472 780945464 574866482 440872889 652167543 994165269 596356366 595615627 704788510 364307170 668685737 643860173 635018149 763893341 28439371 819622516 292760957 315298956 446507758 731286259 953669854 30194469 920989781 954062033 622083201 642915388 892732233 869495233 351335688 741840355 774234162 537008908 725284395 468290526 292094185 411402380 467740060 971450354 945557927 639900179 176230798 847675685 676427255 998000597 659983059 875957073 426443355 124362127 756846297 763195041 555663363 337190450 858722430 859287784 905680644 388820025 123356935 384477181 994500185 918225565 265058371 652606493 229185126 559446506 229931737 121810682 149829583 412808598 849437383 628716791 611126101 705291456 792649106 332176125 388954517 965676350 86274073 756644898 764321759 750546021 442222917 573142536 137339586 708358791 602532926 278464139 885750308 55430441 100439018 579825135 515380271 944893505 493856535 125483897 185884333 471421506 356288880 192078146 682607077 726608404 398273981 545824475 303081705 492482334 513107977 978383334 590298193 870584487 335192579 671953873 413298173 216951712 313622150 163671398 670726823 34300959 574701630 860820640 990010347 848236968 614482085 689626178 893541402 465836975 434511326 498465385 2001195 227043778 943316331 668373287 115766891 820752561 385555459 967186434 95356050 596064316 250032672 419592144 819042645 272235322 46064528 383047646 501165167 842293466 307895175 772955229 570206760 380230387 244558263 581517111 787357806 430878099 472151531 738090683 54610679 560132202 548578518 565655282 730719994 935437152 693033115 462944050 271440434 513718892 811124970 726549347 99312636 176173462 12249157 475923010 400712024 382558455 480630623 821995349 422014938 561335965 37914104 759981960 136355426 900218182 199858267 897015476 30298363 523177611 476019195 609140004 355487589 596123135 796239058 789270923 405618824 307934588 395227 386478717 349345300 522684856 301417499 741607265 358661104 892922984 185536846 147122208 206724767 321411980 28723946 334483509 693305046 818236727 798248800 715207486 524158371 334947996 487757292 185270480 722177909 353610357 133352789 899465015 408894413 697984442 569105411 823123268 71695427 153481636 648897298 245015864 645123477 54492871 724726193 633719275 45596379 814213435 177874828 4303400 557969733 197483781 134526806 402360082 509773104 310107445 804955997 942161758 948675492 297822511 635984980 242045435 106783319 902563693 366137789 621925134 805379723 878143845 143387084 98863448 279496179 356951206 857185457 863333320 933838541 530893765 162118277 430999447 488302853 110113958 306723409 819643074 228003478 216684112 432222774 141163778 284403835 152200719 121066762 472294978 416591277 805076727 565042010 938327723 607997449 35650998 507935468 308273869 82656852 215100620 272432130 308354176 496939232 489098295 234592827 535871664 552257226 574732169 843328698 985444689 614811189 256726094 888429320 793877571 971139596 66068618 600137123 848784304 609352872 743305579 231617986 852105223 589035123 482931313 128608816 378880890 133559940 465543573 184984307 837359712 371052580 314320124 195016316 350279845 806083599 757180281 726557399 224160688 331641025 14633460 847184968 566745503 84244911 747847331 557689727 309899951 525078852 607684553 155782384 806242947 987258075 414025995 988912557 350585587 196608394 112172446 473300595 536822979 123468066 23748091 284365077 77647255 146402254 320560159 139530510 413251169 920299298 930379572 386017863 376606319 927155269 409751717 377550159 48230605 831864851 675192687 891731733 989675582 617350327 597000671 116863609 951749081 852254980 83564445 289780341 863584676 845277693 191549256 810745089 38215022 656853644 376049132 623309467 659579491 986048556 811649564 630360557 850686741 329412283 901543838 845555318 551727100 559523237 426356332 564981068 161961647 289727046 993959556 391234470 880446958 846669054 598774100 864335318 51516611 978711118 943043761 344863412 504722346 980306455 114213422 168594510 960032826 148503441 539644329 957788461 329120819 899671471 985520489 707581378 910682729 449139850 570333960 506557411 458187480 526071809 796873408 271293717 215333708 367482513 88473000 194772009 995936545 140959961 317795045 634679827 230843788 598762524 210368592 109628697 293743836 609506556 461048223 38039782 344100082 624313702 625481362 467078021 855691232 631121547 841070255 310619697 235015992 452622631 307417632 655186048 992291451 881782287 97777718 487695954 153365982 260616912 865280820 458702151 121146484 117541409 778020821 615322208 364470804 691613368 938230924 927849802 882401957 131756809 464698812 410477055 638300865 377942697 389527085 496865918 73183232 121049989 290635121 469922087 483175512 648388869 807281525 295074890 141864357 875892250 504395149 72840355 633905044 575875020 360231232 76805750 940759582 174576031 24160217 518899530 680086392 477772287 644126904 580126297 107568571 501700993 360369979 940702276 23048151 946644406 81895944 196020417 446820951 158650855 210964789 241013654 348225039 583695529 674148008 284728228 990214196 792201679 764169606 980204399 980485116 576410428 766401639 827283844 798295234 746094591 715126221 7683239 75956036 342463241 264227788 258173093 59180485 404640806 202934222 410032199 662713959 584670079 419451808 229024745 804707802 724777553 202994673 965495340 85438896 850605192 888687901 617726 973622960 999148525 350791063 147989204 957680854 627218789 659719759 804312492 60236075 955600276 157651207 575709324 479378397 271427995 77284724 686250275 865870975 736878567 996283305 993470858 547977199 306776986 568777151 217672030 882122091 762177688 20539241 677089818 983929096 638560718 24235883 298114254 462372621 665713455 69075072 572569387 302769097 191928458 551414835 141518866 890147843 756179616 508042417 244157274 397805060 435711207 52255045 645424803 275627690 465837378 614382421 906211972 239184895 611570266 80225039 172367494 240518939 139842191 993750459 696605404 68615512 848873204 874569090 676308863 188513581 205788753 79719739 339273285 277156308 250672207 749925416 107228879 99031691 51670819 732890789 319366035 152309970 478204359 780864932 841103400 810533699 119092079 935133473 123397897 513977586 595436005 581605672 555142205 775965308 66718439 671288289 729842317 781560156 657187302 846605893 566015278 902833002 164084227 658905408 645101378 658367297 601988732 339671954 606531844 375707980 909316679 771990401 253915709 944265687 314901714 340220122 580342857 635523487 955866684 630534757 994866266 795427850 757916837 862186284 823703072 13885245 500948260 251674721 253332049 334479889 798898605 784544876 427630483 464547764 841269491 28057174 883741969 332432857 544205297 876858131 635356621 574507182 403950435 250520819 701680966 187773262 588075735 243526441 802492672 651609894 597631144 470494269 600786579 108494454 81641761 616963818 130370555 404652538 252169153 113011924 349211211 838295135 901675537 735112881 868919714 228777564 603229917 74115824 163461056 918526916 126287277 447266600 617442109 483348062 480893985 17115282 779956041 987777441 364594250 177124513 249230072 541147943 221605988 849414331 625910929 292738738 344348201 351348869 722732224 670737656 793521811 509213880 860992314 774496879 475757929 225113573 175238368 155378983 238576098 278293697 667495893 963210705 713018627 754203155 509442839 123486412 585103866 430308923 774267690 419112774 164963376 475224864 229005957 611927355 686376999 317187440 686283781 832213219 703230857 532844077 913235671 889793863 25898135 244377614 217622631 877397166 481846484 152444189 145484896 913783918 65656250 765936316 927439199 387959212 28247939 669656979 585617633 58171382 557882321 84496831 544702630 421739753 687204987 720154310 420575495 760067741 226407126 317767305 779138341 51127456 705581550 703681392 510261657 59159237 300195428 330449350 664636532 612355052 885983882 25859109 52972802 682540580 527297337 120696759 42166954 862557958 618057391 694272264 401999932 195124331 760395272 639343683 983817852 326973209 100364074 110524597 557215991 647296980 670035925 793632178 320293378 393635931 807532932 823279891 546159595 85458617 653407442 503029653 703265443 375863226 595299931 177518172 97893495 771718591 223095996 774894547 969818893 908227396 511504549 325639277 505672967 309288801 408075035 135636167 54952872 184287814 974208872 19271010 382920118 3518880 337057775 257602361 402638605 766202722 659955286 220142266 465686036 780938064 529636618 110570352 648857777 903555216 300723968 523795811 968900565 575968682 52261851 246122413 23936315 349710463 302486102 537931945 152648070 857458557 572877266 37755926 384880887 978831237 688898941 193776033 154143485 204902491 470187159 524850365 63286111 405580243 520729883 56777960 487386010 91572073 920122393 54556600 943706706 766779420 306207237 946226916 695253624 589614246 459888226 939078637 688359595 758360764 963923613 233051915 422205887 56745566 825650930 71829301 454497570 825793170 144526591 941112351 605665178 253223474 641737397 889637945 322119255 670287820 309407329 404537600 140247497 125459108 188279951 596352206 483821076 674865727 403301747 738118239 159884087 428563280 875672484 854451681 819463066 875923731 985321259 442539012 559663886 366635490 906920061 669206200 886834289 587407872 847300256 45102183 883895529 984648037 684793540 853883474 79480544 964972720 197408892 921524338 126319681 546585847 773447849 618220337 762949904 64028590 461885686 207366703 427536627 4215476 506499488 812798839 491411181 206822711 749591741 117754458 34512558 264325706 852154816 540981216 503572070 934172287 80961135 617800023 523700401 159221911 291600532 456037872 669706102 941091369 217224812 482711300 26841611 140860198 911615958 77452106 891081830 17555723 273430393 346218795 827803194 396571297 658851563 945395328 282919351 357391579 520721853 134686758 727488851 932630376 641401364 840903752 876154160 301084311 33545198 129892146 809480036 316256098 134499269 347348227 430470485 798487574 746409502 33048543 485379294 387848578 53790725 797259737 625799793 702794817 734901847 830374705 473737241 568353657 422101510 224069991 645121895 105937644 928487737 964034498 232596351 200523616 743655298 710712818 176078717 724740303 743030844 438761597 469444826 480489531 226833346 68148595 392091596 466593636 496063800 290602801 812695220 312600572 439814416 414319745 171532327 982247449 691989793 766752494 655050554 186419253 330167729 692841242 695935639 878845188 58748364 816948441 375662153 21160065 247242098 562788329 456778489 302519126 614577456 684882543 672091937 184950278 165739870 240554667 493304317 914952526 523443801 70783531 952494043 580940161 933842044 590866599 651762023 52205516 598397637 950025771 306849040 128986476 259601194 1580247 371097330 477254414 90946292 945289685 132586894 764754303 389805174 378744391 149970343 601052295 820355944 952446358 60229011 428915057 892787030 318539710 319189068 517441759 110326028 618427593 720241717 517586915 607815976 785509469 781042201 427189763 926502701 998244688 828680588 990691553 163738206 671547527 821456099 204934624 818483315 431099746 202794912 702690901 995232513 972226585 925201639 682213915 537653568 184848081 217477982 435368013 972424834 369987442 459670623 841058681 270066451 545889378 753862998 827974062 13649259 568690665 333154490 450852056 85788832 299005910 816063014 627194066 894118684 730921299 258338386 958621477 28800965 604313857 232262737 781279998 85719627 537254018 648319944 243533321 253055104 670105166 219637465 402351401 96216386 821294952 701886524 330238122 9067161 992563811 393352775 826997532 817778562 113960537 580137913 418872885 992264798 661088789 629408425 522648479 465625689 565855073 220366866 17045376 366090678 926414149 322583861 349119432 590863918 600842483 109074931 959936388 148608221 832078397 845715994 789777153 459532804 59486241 503008712 117849855 832058265 446243254 975197721 310978002 574089108 486194216 683410402 890555038 847224307 5848762 907160534 492962589 637840234 224475851 426916562 81115355 538081408 778018399 744803725 724199860 555800503 154043859 340904611 766915337 894314893 522594664 203263902 361769430 217049823 234918341 164208593 985045007 708564421 42619135 344527796 423954955 985186730 492960637 701403799 302595578 444551416 237788008 606343117 34649510 670042584 758099613 375507973 554299594 81451042 593686295 38199312 434248856 577410970 916968085 400813010 475796607 389196947 686504454 353015845 738473791 510143939 610938013 717511410 654121864 662103851 885969282 975354437 562019702 448618823 409675680 270161549 996793121 435321794 825463614 353386012 340332974 317449093 751974102 518277928 178850986 668421476 992264744 203237131 34757828 323450165 807125078 340821692 650560439 621606041 309175708 634497457 398238128 278874459 972781496 846152127 813019665 851375373 938574985 903276029 640659465 908284789 738580204 97679663 988029454 779887673 644727712 519614931 117497221 579393412 281443544 46346291 45216561 95788748 985450247 241063552 804208337 148417633 983162567 572898663 509415592 551053633 407032390 672191581 401983789 560574789 406505050 376673626 650353484 578055947 814443296 991016463 945724643 768112902 929862738 105070114 168763366 694187820 69311524 141479332 153521099 984081075 9826304 438543559 418299854 807219793 535077209 610796972 217281223 100599169 621776706 965211053 752637217 910476606 511709366 480322032 934372345 463149784 609327652 879948517 481165860 350311744 140183885 704609642 583682361 941055371 125847574 815943759 369074591 488447059 495534806 889193970 276231808 136795962 944594140 819765777 85864728 72457039 448944613 292291592 901472863 980404664 206854661 522605511 260894744 354465057 224945531 923700600 819052169 45169119 292688329 901765641 45675321 429535373 692688149 419791713 3076397 95809627 905333802 760008859 56684998 610597104 214955284 745740181 308058561 475247455 687478817 923978321 712787065 224090336 865322901 849297297 909627080 233401250 427390036 250950775 849721366 346871096 39912269 124538248 74545063 689977243 785893926 639428825 427864983 208621687 152812238 73883370 170713029 234540295 594873746 663993953 683377716 75658505 398558491 919985487 854365747 823497361 655491451 73831508 998781974 300053467 769384898 149416393 927989921 662055446 86873369 705534232 86290331 406724818 478636099 403770361 673757145 370650187 540901783 263574932 883503993 242544463 275266110 359869034 977314669 782803788 116683937 195331088 522436066 324001763 377884392 146990764 859814135 839807358 513338486 986742614 352183189 205921195 408526616 12214716 529946978 623957542 157306805 713635491 781948763 52677351 809973475 731087464 753147010 420989074 743736731 714764857 335529480 542183763 907963469 896390690 586385719 920286562 398911926 54326199 818563472 808801392 153627534 792332841 162530685 560530324 857106961 832276787 40779957 781791367 173911242 955947349 444026490 655188515 663479261 681690060 544375760 302128946 63710452 376258194 521752691 54281069 926412732 707985043 978239049 571699456 185293863 10686125 143243343 521493641 71404911 925768424 881127023 304729920 489661739 909411058 364871600 369576667 613844771 257385597 694800293 969441507 481567572 580132659 790660488 451616071 90167724 718972497 832165267 496467278 843212380 716372996 431638849 723790202 571933310 857678460 397615916 855358007 290499294 231261217 171281470 240898352 203995079 795527022 887505085 616480345 355794120 493770205 83715345 320530054 61051874 245794843 513034968 697960799 330263716 694922764 517532489 939960195 927194364 319786562 246257417 532335346 228706519 849209363 554037892 337947185 186226660 562648891 508365094 45369355 969720741 642070975 823372111 212503821 891508734 819804274 284569883 668336415 618641906 292877610 393646937 896135465 24315408 805717736 152759736 881557637 586404282 718735768 810954757 489092273 571408814 695610018 447284786 860967406 527021760 108178801 168296322 541007599 707725680 934145546 67870396 622049562 328528599 827100876 184917179 366599684 253033859 944674620 929962653 493580203 719053252 679607581 679782645 371036407 664391212 910134122 962026938 631608178 737835292 790604964 381920703 807324493 527453433 927056673 413088594 793326162 334982829 155923699 562860861 566982122 757310881 881193036 989564146 230621420 318448226 502902313 84782128 878063175 366762568 774568269 624239339 396596328 680836652 884388197 818662116 270983671 35658828 60328833 634254406 116627579 297100294 113106692 437851200 199246399 896214997 508021877 71234371 808881634 957918140 497595827 779695526 19333986 21636115 132517028 163440663 977500566 643315592 166707821 291529567 591167938 641582872 632717776 211544056 198435710 147368776 116233406 609200960 11881185 780237616 748871646 851506253 265642278 897448899 119119765 42506796 287809732 184057653 555188971 27408074 718536538 19566451 129300029 376828825 345698925 150579817 936544680 63773687 315723809 610098655 718928263 146972473 740176524 993811296 604230539 197951979 943834006 506134409 329557267 310371348 841273970 673003524 631105469 736120740 204763417 541119857 644822813 197776340 302821600 628238547 920286081 128450466 564085621 636382626 948526987 42576927 910822299 816418127 318672658 72023965 568437495 464004117 562940321 969625130 115666404 240590735 733844920 398920086 141694548 231483947 393990796 53967530 462018821 879829588 84465813 211781165 202156769 167184235 166441972 516114878 832115009 183578056 574948993 231245381 830221407 748660664 607138090 166764013 812945664 644713939 151408008 442025894 389502630 7428815 888690633 790437347 271442367 695558820 728767962 363689387 567089189 855896352 766566897 556207783 351417613 243485539 316164764 737104533 210486697 126697925 420208340 400524562 210584784 924541863 641439772 217271602 282997126 221037422 526459533 1982971 300916868 650507636 168410959 375697977 496563285 170291076 629577338 388248445 51867061 992125770 137308064 866072555 804894077 398132807 661311595 13910632 99741682 278450275 340273787 722770316 884345635 244327723 547325682 387278108 351693073 859251055 980896169 308421560 15010973 975553368 920023663 764089912 473460806 186066641 332164146 298323343 364267378 760949647 819319648 186075086 549853073 612433519 404378817 975924656 555916058 75139955 359867685 255348233 113078846 44175194 170612904 650715619 746694654 871032286 21796206 583589669 946321871 546975450 305201183 228050793 444897247 458340885 966480597 990373511 110551915 338132298 847706761 969443317 665291634 91275470 888892761 423868634 583301213 473013292 442487588 525118505 647648201 556393820 13098481 274450339 986127222 313982066 732462661 201113876 608478859 254285251 625589359 174828876 470531197 159451438 809086191 714584671 464722499 430983939 131058033 670111208 722141797 534701540 101539 52708659 797923741 581785146 234443480 787721737 812170495 47689837 24505764 773352097 55903856 760524880 786213810 103452350 564183026 181597884 788830448 810177225 585392717 110338981 343406808 615953212 170246476 700949447 811151680 192971541 372106642 491577004 352909447 260224957 170043973 394469342 633465844 727191579 155290568 866040506 900238375 454887822 757958304 883017409 87720694 594488897 37071012 313997924 644314826 838714324 229416381 441094738 995911346 827246667 295365682 177962096 415990881 253083258 531745641 244028016 286580173 954551060 950327880 10679690 796120569 219370887 783248986 731342028 338802521 338011977 617829330 761487031 908761007 842692261 919374152 728232529 720924959 840932013 205157586 80672199 337205801 106974275 185253412 273195212 19991370 838051554 501491978 140028287 572782890 703282728 767683949 881367377 714924986 138131616 572397082 269658018 401392889 667751740 879370294 695192256 872525423 794615984 716081761 626393604 820201154 379185888 139774158 264422746 202092162 686884858 881994568 330128705 286157843 897110104 807903755 589625276 658364851 283854220 274098580 368807256 397240290 727579042 38422813 394011618 754336908 887081529 341717275 755519777 555825520 575070754 446153739 909920099 472331670 580215528 95412896 497643814 491393409 753542208 469888055 650101219 783801707 453971235 138568384 677784084 7264019 368328704 35065420 136111010 930068784 592485237 309714648 332838660 942692939 321046286 616543750 342275668 967383210 449023831 244732924 289342695 414164698 895065034 654329383 798539986 66800270 531304883 354219511 607193896 848038345 694896361 881137212 551944316 48360163 337233723 54713558 672611905 198441292 893468344 194772546 646847211 389641370 272083871 984953245 337854484 970296854 579852137 856331304 766063387 116873745 105506968 742312006 935457471 753214693 821866313 523909754 131209130 766371198 319405469 295448106 202385116 839261104 312463299 899725337 973085295 334630235 51333715 760127612 260404421 233845742 914871525 719630238 359087880 951971097 421860875 900331107 739836072 45997689 13668143 2912990 912326054 41144241 927563229 863027787 954201055 909116863 610852595 579364928 784748451 856145996 785217424 708510140 631446962 705688508 279069443 880309798 552885017 663559616 42968790 501068841 280182551 503575702 268886292 305432224 815321453 538227907 838542913 353590737 362697896 84692456 708643843 454315472 189634178 454307485 404929273 126829609 85317825 854483657 864026534 791300097 792513785 161405990 232499398 437702032 350980989 570970491 117140909 724391347 846594548 182956050 170230047 296699814 730305227 233509509 588814043 553378358 8133304 556321463 155913378 132055430 624587728 305096440 491768140 372610179 439795603 888150573 978264190 776315887 966489709 219423388 969797430 285413146 845831080 345662659 487343929 203343692 727099616 248291156 517524928 564707979 36865482 508930699 458867027 426937602 750755504 986100131 787055352 721528012 338977942 250595819 5970260 529699240 290195035 226118426 972630085 303613199 439458727 238529053 333188047 971791425 145304270 921589719 3315327 389504729 338262637 974515736 107689248 718597532 729614232 538142619 444552056 174182742 548440967 33585304 455616481 644365354 582686829 674667208 950935713 625623587 811030597 818093569 95039503 445764853 319900687 728311639 89764654 817872028 522792125 170273343 451855567 143895119 852826782 73092724 515386262 832940485 454358809 467100526 114932681 201547315 427687986 726616000 44457113 153282838 174302457 190553055 369947331 639643007 891700255 893425987 546312010 268782855 480578734 358669093 449257650 254159366 414031949 78758076 690500466 737150594 967007601 605777510 460446868 837201050 73099804 748356596 101033014 71915725 804206228 554322224 491083005 360523053 859861894 330389885 303015154 966439107 184194127 364351657 903574859 683275465 722676225 492201968 635738672 453498658 110490701 220362737 201351333 184356331 946082702 112062732 438559814 530513501 546285188 506429408 420733475 440807164 960805917 236898207 473249075 471140801 547766877 246364927 396699159 18021082 52911269 244626321 797065329 418890321 624011288 610071839 977586909 981684227 166236574 540081445 989920252 762251573 967998109 221440298 652198496 8747239 267074073 908985904 293046174 874320910 508921940 264428889 721620933 279434924 547321630 79175731 378199147 929001803 94650110 52123552 854603029 184357638 453407016 59458001 918142078 280243528 247784133 486458184 187229556 116817013 959142023 201915466 483339966 704213797 48571347 271081194 844034204 332338023 998319931 567106305 21629697 585390253 372544126 877506806 883033575 342375947 369485458 702334625 223454045 734970794 344027371 685247054 926468948 253031494 143609908 344627000 262927044 138460583 55113407 839749120 742345056 752643708 597376599 508592488 833470142 717077150 449373991 386391225 226739280 337811576 174581128 777016558 996405452 313864878 39009998 61081041 514453820 292234322 936273119 568489505 751743376 558045180 908159889 661456097 277941226 847773459 168666519 144147282 988485171 879445671 282907537 674969179 41422302 665716069 380831717 44460551 946265778 8501373 503393550 748883799 832819628 540374453 602399098 692456499 209978644 962480404 727628349 87432715 503164235 482183613 267120237 874821261 933329557 12768409 162882547 638906119 314759342 215083419 643299644 444956771 615179214 358948286 720234615 613538981 545952751 862323272 494022295 164222238 284131549 351474024 871346844 708751827 291354209 562441347 913978139 407076238 645318770 228579631 586468031 297652144 964854191 924477449 89455544 985089773 684711770 943366155 447890353 766483785 71018098 209855008 401219247 199579671 525562223 31004752 25237699 159055870 377659001 947675068 36200539 258329263 219240778 399649673 668111341 625916685 594716132 848817538 988755338 317710859 612035418 788840616 664608215 923627871 662070452 850111164 124406063 988010693 92843661 35195606 315954984 807025553 158064589 416774506 388350212 532953991 141241703 990407162 402047132 432064681 561729363 22642949 987061325 394903257 162802279 106996173 450581861 774790217 502231979 880531537 783302057 717492445 214255548 867036258 119448639 27656112 180681030 116277421 734659040 884190076 728260502 899923762 577782729 192605204 986623948 438723091 138051187 201853926 461391711 239188233 115784302 385842804 151597068 768882883 623069563 186503053 397216571 32121677 819254415 934092814 653260102 671602732 501420334 545574351 132510482 5529522 900945674 469726621 823490002 315289213 756390436 248457482 788989644 638726907 687850063 802508395 842198977 962506497 371704977 268425330 502410756 600752737 670881475 719861457 807322765 383461541 191378892 299572463 579496433 874459317 453978354 892972943 853185821 237527401 691370246 198438715 454126563 666408084 652427036 467484829 74742799 462182165 627611423 61791507 349666405 619211462 495571729 362761328 947415263 59604105 772399565 8213041 625513775 740895388 867144721 292632064 791250447 814637448 90227784 208436477 866949119 686036259 788271623 939043137 72358711 381016636 268823373 205281357 632106993 97235948 461108480 850731549 142149215 723119923 990288833 851587474 793589850 822847367 828168799 758497763 897951771 877016539 365700446 935353609 952594730 98921333 606610252 73711277 570458544 84004084 440254011 49209298 876032332 371043989 438167291 733125201 963293303 403303994 460697033 774206446 885476955 662885866 387661439 862059437 449594003 588837093 550772565 159897853 370152852 368831690 636321234 527464960 25450988 676475148 993482084 57377144 528321826 483493426 313315562 546402675 581790269 793324315 225013126 481823436 634460202 452713245 999219610 88569533 204750220 50813030 415290398 842007599 924456072 546372980 259082639 337964570 364203739 947968174 588965905 572929726 988349675 6067607 719358567 585592164 222246767 930568999 458655328 535769453 108949255 689159961 434759884 88094404 232458293 898264269 849378393 446233781 872473791 344208771 305141645 176289847 165221626 585644203 323844924 330446066 657679498 752158381 57118230 200247093 33177709 819846040 436712152 825256021 139190162 838743655 675747514 843916330 149957686 910393323 303792847 346219688 25326047 141627418 669716577 883686029 822388872 558359041 639785134 586706217 992665715 550055286 242095054 34147100 360359771 115443578 448628957 841696884 593485710 951446142 955969863 660092157 589531005 63874990 924285288 95162238 87568559 453364438 884916138 331885174 192776551 158986904 193598766 761656960 124840231 915782732 865727809 240879408 938991713 674883453 624159396 736370447 766463695 445982666 732193057 564426983 864509009 960225822 119882454 529851173 180055540 805073508 266365978 476207220 100602395 970082919 962778676 864354002 600952522 326550682 140780880 516264759 308631153 702249969 501149492 500198318 993003759 898840824 831697579 246017824 665945736 897662727 403405380 335133987 95955723 627407249 820590001 611814308 550737094 933655557 661490424 564364015 224334046 96369089 210729051 866592047 833335778 420300803 975323326 603302198 987964820 969422097 486749691 866935040 250511876 249891768 922377978 805680105 948577584 509292221 345237790 976496473 389378093 735978333 856203274 142374697 280099807 784744186 96835560 291291881 94917515 610716286 969333916 7240603 462790267 94204645 860889754 279917403 741322655 845075262 156885470 658681372 629744843 907169044 101721096 871384589 715422154 204688888 209070752 397167684 180955350 742771874 351304335 281947352 582561086 317291528 247077801 619164953 211575303 84107741 461477794 443439536 278930902 592741372 113115048 316344702 374649 122293897 875236987 590546399 802611438 308087332 717172191 976501722 594588229 983915522 624765007 191127948 183889993 106014369 750255083 929724800 999059631 9438161 850383993 852789049 968539236 824102460 157108644 303090681 653131320 443620473 428492008 527085419 671933798 99506749 883332120 18316845 39587661 497581789 610389198 319967199 107850003 566456094 798642408 194943325 632453980 452128190 636942023 932469853 122796420 536111073 85813451 588268457 637489129 530091526 917013195 840425489 666484942 602765907 498529866 200025328 796890349 569990237 564680223 531391367 923654812 503573559 112372922 632098806 873745182 960491872 746213699 197402876 450686438 336698685 260454456 81017251 509396372 202452288 223585221 820268557 475204820 49554173 532430321 586416448 227557402 531282282 844144923 575988860 410873927 23825421 39783840 468657102 465153832 74708469 479579259 17040243 573701350 990322035 625046915 862540664 758412956 602946412 677590130 191894135 602521987 941125011 434957704 29713556 733845766 686961179 534819717 995479132 621970920 127368793 237481441 905849132 37421502 276085280 667253302 976917677 754527766 472283958 523054553 35285165 422501268 443964568 236275054 585420753 625897801 238837037 877941655 705625517 832479068 123529982 278392874 814554850 602197320 409352740 643538802 32184119 728819593 293215755 253675051 953609310 399759675 703378007 289394024 310669216 632858566 168895482 91658868 411465066 985988724 382803889 201755589 850255964 328576 729474260 354035605 359781440 294047360 995400321 541581443 639377605 471805564 255069169 273713420 583157490 233292354 120591943 122587845 872925849 583021018 868786363 786760904 513016889 792173755 66867890 188640304 43839137 432349432 580087490 106928010 726245613 403820320 774451225 884253253 755318186 806715886 393671700 734099549 860842426 383170249 322582869 859734974 147287797 933056386 142516730 324462307 149954899 533709796 493526313 32384744 628788479 352434616 796684007 979500270 22497 346878636 119059592 543993376 708127457 431225312 87030925 276104359 911227718 790981287 517970497 537349389 486651962 813125170 342826624 487754810 234750319 437681304 288951637 314475480 60304433 91918453 372478559 605998022 197234081 277487032 745054105 606460866 392710995 925999775 485077334 467164603 307161585 261051914 224929005 755034266 871962659 969114725 27180740 326657869 513525829 377308018 92921521 714415945 943974555 33262400 651374030 690649978 766432210 341701974 988889933 99363295 769424974 372098956 352210077 149431685 577203544 726530146 172455447 499942734 707463636 540951225 468759655 449747909 88941615 184200522 941062814 612022406 909865344 153503546 611669147 331545156 631279714 616292968 877790416 478728672 115365211 157907776 920235314 923759455 759285152 156539838 971028123 116970975 758885147 988680156 960776200 566509600 384892045 761720756 106197229 987138145 388252378 50140060 836370099 501669126 862623489 561613584 129722680 56175827 5107939 122929356 813085652 424604650 837079340 758043207 326890669 939419520 155488961 340030631 36567796 548989678 316142771 628540537 547467017 809725573 577321651 690326308 898901697 590166312 562974009 535377997 784596260 79210589 370498280 571398277 864401664 606587393 488269108 82947026 205998508 859084031 623246379 543794278 78821480 478926310 510921031 604521233 366875785 89117382 260697324 129962898 948992233 712906909 203921190 648480095 16534704 909992726 509379268 301687878 490570632 833210128 207101153 956668117 465997245 238936560 66229310 634316439 348470865 962141335 52586448 219296600 811289173 541279501 241917165 763145406 657319778 15954561 398340678 366339946 838142343 615445261 448579215 864726690 854087715 245338740 232399947 302213568 438272820 226947120 780044484 652702459 959370410 19641476 50817155 710005696 581112343 823129459 318159436 266535142 643119625 475928963 578454193 915813822 48471407 702906362 658385251 903891526 395078632 846324257 278393503 164079875 368223321 534847885 389926416 378250782 258970037 495872932 497659322 236731745 538592009 38951268 650960507 438906236 816708569 95567455 943529638 41622624 679979169 292607725 927537046 281645067 186324348 426942387 750846791 483335308 544719420 951432905 410274875 238970386 4910628 240882155 261692325 516129949 4468051 465021969 57441204 703943024 739550216 833170878 565547894 760398035 854633837 66715452 472973500 397329104 992664596 89991556 983400039 134672049 824603376 855685770 799592712 567406314 657383478 635261423 52202322 551092546 212254647 385582049 214441106 179198469 910225984 334429054 398704265 763792245 931047006 973869151 182523918 923954915 973479732 929298453 970156350 31907265 461442671 615296681 258405260 657262477 101342783 832325172 696634149 85220665 5245592 977069582 933897026 601585935 205696347 640093495 445208929 894119960 210008508 520387034 175864074 683250880 962026761 389384329 958855867 493363488 61412371 597699427 483346001 995865265 995803595 473464550 975561350 465571309 596396846 977146635 214858825 881753490 632198109 270793832 532512898 644147565 422077986 20970887 531906681 988667493 36871380 83682792 138008264 917804534 361630022 478205400 528484909 724512524 822518046 675766017 515996724 762816570 758093728 825452517 431201495 952222701 65684858 297719053 444908102 493437129 667094335 646910070 353053675 275147377 746524755 804801179 528235165 519210037 416634907 831254064 972568368 411626381 359905910 629402690 539292847 167387373 9382230 604853040 118613472 969923328 348630964 852676774 445058562 53141600 702232928 954128451 683727994 595083519 647178456 681826152 232117231 353720131 175665402 590259948 632095614 170587038 806768050 650512676 36512267 308820530 4034999 489724914 570657185 476688958 964627381 624460111 446832013 652464875 983238929 492333189 544920623 894645278 361303622 316631365 430485283 346094876 855358223 906972078 122376077 62544925 141281468 931576420 116101195 485883272 706980793 404475363 156524647 293132720 774081754 731803625 848162371 124520255 488940030 310735221 948458147 676118986 190981371 960157990 589846402 477393875 436813938 78372691 176935819 192762213 248280541 816666693 496111062 580619313 957543498 362162428 398263909 667997363 486232601 805560958 241902704 694694326 403967632 24477737 395830541 47587187 615863399 890911510 85555586 103311531 655659481 570284004 629513949 870889523 549276862 534691734 718644860 914301190 568965643 515955512 435965918 103334365 559209194 507277112 48254915 323874743 757603791 794332623 128390000 375785246 382773105 235682520 277316304 981281680 267392875 403776581 679519299 373443910 919194280 223028283 369800803 348708727 678887526 176859661 312753843 741563223 980564103 444025632 488899260 242008520 457537302 132099930 913156801 791577847 749455848 493029476 602235786 317538696 454197380 601208473 719331376 462981162 323466690 580330118 104500348 438337257 764568582 514973900 605616092 953556980 928564543 142359661 34667405 583149285 835693566 970409179 147989993 160586165 878447480 208774900 753162026 787771321 105002193 982126177 855631067 216765588 679679167 648745977 611318153 917000093 765587200 323717461 18997014 77906648 716729831 519032201 535817071 757341622 318207872 300282518 889347842 267065737 408383742 802043594 542137369 285741033 359573854 534875570 843381378 421159272 434360278 160235310 656952841 385418816 323325343 153210742 597367900 42329449 478775640 343288647 865041411 925503047 668084431 67438067 114527633 602330225 768735993 685209629 406039844 94533733 760323327 407019249 57043496 419683422 418794154 278939259 12717125 206066153 670836430 885868595 165355170 32686388 121189761 44305906 520424665 767603652 609034732 92505040 274654924 952954737 995003370 929444258 561046467 948842919 299193092 78451523 314150415 738499313 978452456 247537616 131913618 939477889 62894826 360083503 439286655 659297317 687755768 379391593 546214317 443991840 662351932 976944732 213857952 803076845 553781124 904315469 994461068 171110061 831528132 697963263 300075507 593087990 262282894 622932943 781795581 159309651 475025216 307024955 639529346 369807933 484904883 228744558 889815455 887632068 256940644 677953165 782258752 935264174 371498359 77370726 671711562 625291842 896253402 570596200 618427557 303015612 492604193 33349340 26051398 669159726 37910500 553952948 463748036 742727011 665944050 717608358 619723234 506062490 663271070 875323395 382018715 424325716 915008739 517831722 478438621 276480722 416057256 376845030 946191157 782111423 538735297 155927452 413791111 117375649 793579161 48708434 901062180 259623898 137104334 977443139 287874080 977111818 654252304 404375377 96275454 712078517 618939720 225767343 510285178 693517548 819701036 566548804 667592256 974957024 609159227 560893061 321781165 932847680 982816782 32820140 440796023 68563423 341887176 643357322 481774639 725566341 639566768 746356191 622659664 471515509 164970546 961810672 432555943 241469254 163034969 924609640 420410290 292309147 3431964 965241265 855057066 857852443 989578400 294859930 283266686 349071145 952776385 706438516 399226192 291573484 861308737 349344130 751415233 930357533 817830376 578781415 319223714 471285105 607817267 288429351 900620919 555297109 895490650 979117356 784158081 518249714 719390532 983191847 657668697 510331826 210979508 900833827 418330010 799190669 380596596 453630515 686517478 810571377 944956707 736638879 199716960 573998420 916638857 236940976 979721168 433451170 136605005 845931577 627674452 251515940 332407470 817008425 641422634 312066776 281491752 737197068 594124919 463175983 950798836 878566659 787609861 536936444 850587495 262950612 511714260 947526517 98200452 912290730 139945132 25987060 473354992 445151741 97193975 213124826 949164177 229948072 958030699 112485609 544924686 457852807 230597883 57440866 246113747 64655098 654871052 30636974 52855920 964676199 688257023 98413328 151570396 67320722 973215172 838543172 929822276 963743930 754425859 626260659 324499751 204861642 706278544 800350965 568458637 580549997 671452818 673614713 537488238 897666473 408482327 93678268 25564573 154703781 613261623 680768527 13969936 489185118 451506892 671849868 781278958 737966085 4223561 527194264 91089318 338455391 129485672 688928362 927626323 187130357 719462865 825817942 757512002 443246725 710530407 724917795 777855899 724970490 430191454 904102905 392290988 308043670 575926410 713819773 352989929 7040211 915527650 534931891 204815277 77265012 9185373 687738657 235063212 875594822 864174620 229887933 232988593 292289245 427125872 961168627 698765198 198098822 506766827 586686839 379075022 426544039 38115137 70906640 528774341 547892339 842160502 624859821 816971905 352160612 20893981 372640562 104992045 161393014 27509027 642624041 778959664 271812171 888369111 798621051 652767968 677337240 427542615 653134267 867376964 417780373 240213163 514019671 758587034 467745540 911462572 263918100 329743724 948134504 173725553 346602866 839719501 269899382 991368752 998787574 300303132 347597583 803763910 199699268 994378621 651679570 838896251 282936674 18343909 273350350 609969999 378577635 528635915 962906139 292698707 574902855 969377763 185703148 853866497 80170382 598745220 372609853 199245385 143965331 281653683 349273909 561993918 237636986 986218707 248273133 341140408 117212616 672465117 310403199 627164193 927189538 297804587 473812130 815122680 818607728 54190903 761301147 73065408 428939442 632943709 404578273 393438901 281067878 131240618 852626763 996104984 990696520 304680292 235057892 702960429 919874889 625880121 941859680 728960412 691046399 95794756 149958595 330105388 598783889 636707216 585049475 883097079 585285203 429515566 293066589 434312468 443847123 985068227 813108504 61294726 563826494 503309947 981903703 359978090 463105404 716520137 652567079 220631700 826007495 401923466 835825593 233714150 78343166 511690810 967478583 94017844 299028531 737575623 496742244 562776594 738482130 574653835 541127421 152159470 994150399 715599790 844163351 974554424 380310674 261330722 458079824 802770824 539346130 553330027 661383769 960818429 279655781 648168974 369143987 337963636 273283658 103790171 591164115 784290476 363577893 534197476 886532142 460466322 901268452 753913551 562468007 614782636 190998571 211111458 736808249 747513001 71942577 562131498 66634391 981180460 476916119 645249762 930856891 205369360 84847020 364007171 599708694 446225832 125650703 716900561 787823514 130585845 428580433 150687482 196221955 576916042 191072349 111931612 86513758 859011856 512941668 25662016 682130758 667241541 164881790 667201708 132222169 276721804 488855348 742902332 559281635 101149554 168770302 570503728 967509723 694771297 35405863 75527828 224837500 12865707 344782163 321072681 324541189 481218181 241845755 974463910 323163996 397360844 557477924 7819164 416510418 232493117 38438416 285176647 481234124 42155738 268411611 707189425 915739871 518537006 416203799 61444808 182091445 197121743 977766345 362538388 631611970 502468754 950504593 60314460 380997398 271336734 731737867 586187131 651566342 14992300 40159388 812442101 384533735 955496624 511838548 389486668 331542686 323883849 918776588 619427424 550902531 749728246 774634988 474690613 240125471 143742615 369444026 664388798 978764369 377550155 264818088 531390952 613419110 382425076 498383333 67656509 593633528 650049639 609145315 392033900 101105471 289970905 393164355 414287406 617876739 381367631 881244835 425851148 545497267 160611627 576797681 616057356 429619627 954040726 995287867 381919039 93265016 396514098 282030875 889834453 975741764 637347189 884470409 904663764 902864701 743640836 401165621 999903864 79237954 771309625 749006747 293564522 914120163 70617450 913688216 344197362 495467815 104889615 459022140 68288439 213197287 149200600 905145835 636369756 350583344 828587454 364313991 105643817 78094800 336666737 55849969 417147361 574134053 941447781 522494251 376997672 475005073 316416265 691665993 473064588 524789938 516433386 101676107 163104076 677534033 826134314 659254016 233799680 820730657 130316362 227157667 110798892 763084502 110316254 181000082 340587321 530924119 117537833 711963788 893246362 371972628 575115503 563117378 862952632 520632385 422946669 518813136 882586507 545117151 695998079 538407309 489236758 385118578 578335862 788478926 236081409 804863213 828106380 355820265 507417603 759447993 838444065 133359213 400825148 483376472 726598939 673625940 777758964 965689602 347853251 650772168 966536355 212107914 966469526 907849442 524702581 895300938 993137867 601193447 296997787 690938667 420295163 743587082 831609002 61986442 869524468 826058565 410839318 89294088 961577546 552473795 177441955 398902612 841617393 756697752 689337057 37418533 462382032 969486054 365316695 617562764 831351632 919070775 354468923 595281314 981284807 605669799 475952409 745056770 641725517 614957157 566959207 180054193 968202867 189909328 314462465 689659661 106555913 577248401 210138032 475765589 252080876 604407752 811675024 374282205 913805858 317345601 500167070 649480625 464124916 118129238 851133710 168002910 837999536 990567355 911331719 548545889 645033595 425981408 415552526 827673604 895252483 979393865 970247544 174750156 802318782 271012931 222884293 546150879 690207350 823004495 943567716 2208035 921051332 460439640 776547099 741386332 602247460 450526576 763468671 750354658 287834521 806555154 287145738 43199002 757141026 983384578 216877514 65024176 908763658 606072453 116722701 36321799 297387379 18895654 220807303 626925131 327696992 806662863 190149766 496555518 525983878 993134562 826389987 80388884 628647415 443984666 360991597 823604934 840690435 582537134 33945100 276148842 720911234 946508843 914502352 220439854 463943995 66167162 69959363 811904553 755428753 507922134 993433168 716994192 633465970 76720448 396624822 163947024 337453659 198000441 193760820 21847498 843419582 520563211 809636613 609090927 411422400 499132748 44319320 726206616 463473023 522968233 368598326 646415952 497750046 54838555 20636896 459609639 466217611 246662143 250122628 449570527 287039235 340320892 981218369 519723589 602656207 536912312 751025079 671266747 169106966 119391411 487746324 467845417 108844837 146182655 823232045 424801442 121533700 666171091 783530314 452573767 100398926 189337369 395531318 101710455 428823608 719441311 838854943 822144642 989066166 857341735 727731636 632895102 82093230 195437477 279372023 876465031 917731770 896973450 321692670 307452172 24875928 305095492 76544577 742622506 238604033 778798874 264555138 413590629 749304366 74071021 320946530 595557780 287356680 372660885 407545876 273498585 950103138 470258047 143319367 939849557 698520322 915818397 564069045 59634107 417530222 569747621 495738682 266034747 825009480 409742021 518319179 591726219 557098247 242177433 480376790 755868227 981496991 128495227 859199707 292213870 501129557 467595887 542973679 195567677 634094298 272660062 47050351 689739367 686773099 500295160 698460784 540550792 920999039 396073772 247748549 962284187 966712210 262990826 262002123 711472701 818895483 606111271 20568799 235707385 506602253 578615679 725612158 44995760 703200541 303427048 422901164 652530205 507774345 462728416 607248119 100887867 520926151 950634675 87882813 803723803 84118072 549928703 681720206 32740438 932821376 467567461 988611546 340976051 278259028 830394223 21544881 694222467 179167327 906655774 334623819 773684456 701612110 748808010 370611546 788380504 369982856 563814001 407432577 976057155 158499225 564173589 204470546 675460725 902343523 257544050 874507480 591954223 657115882 728739734 372599082 261887080 585295011 800936667 852052209 66988353 18177722 74679320 369740161 787682904 38304489 933269811 607586255 544431909 237301945 624118916 517285705 85657949 552661461 585366905 945839294 746705483 46812102 849224921 286049849 446880121 553533067 533778260 224188661 452670032 682372130 228872001 47319186 944833683 880981282 477618131 745598600 901552758 206643982 900624903 491240793 318734853 633938923 973872602 291455659 237368139 638081696 212783814 940807689 603312549 737070689 735890790 592250804 412301851 40427445 965480050 126194685 58330229 995102527 711390430 82166401 182965669 75977395 859022298 368495422 913932194 35960424 208101669 780341976 277321601 872846734 361630080 186287262 367772449 224937178 852805264 492395217 674486634 643010166 487867760 583307727 50548139 798224011 965130719 73708786 51981291 216257632 800063373 447641504 568848733 976676066 843516661 941534956 238155260 42460408 170605255 491195599 61746967 622863002 958086932 37947044 582516888 102094705 738449801 859597601 311953611 210531167 636573285 829209978 319965955 46461104 923190546 64146146 991721467 850167305 551498312 536837699 906405218 233343935 227163764 369137234 576689007 447190792 220594492 509678178 878431689 663777798 349453672 923012466 861386056 938441275 728079507 491943772 71603952 933337038 397139357 380718268 756332928 225223497 231205403 165658346 400995703 718358135 520703369 102471180 142836430 870676607 408418449 534422210 164590832 202031083 764677043 378261618 787512399 353765164 501681311 55253598 660448347 946766908 153682211 177599114 783322583 596307750 192532877 540328672 191338875 97670580 909239784 850482107 846826019 323052566 671371167 477180124 455258632 768156551 660691786 863094845 803883426 255735291 147852359 240073542 475491309 762759327 460776552 185891543 443029144 296423525 904713060 575467661 195082793 146145368 13689325 933326448 112533008 428047049 355797467 218518310 70002471 500471086 83241126 511027730 809584239 815752650 904109745 833200045 805116018 966776810 311453833 985454817 695145757 368847478 218842855 496977310 155901975 628569050 239009626 977717102 600407004 303264598 614533100 444557943 197422477 760032807 658451675 349699602 383409582 666398255 147977904 577061900 743452920 469839764 441748783 264674625 822627817 197985071 914863193 912462754 112086169 841068461 888597786 996433454 502021394 226461035 458166927 484766889 440979423 785611992 491362990 200862775 248147917 73517617 147540413 243895448 513825578 691900632 456776039 561449555 628475734 60253627 169931700 271540930 216902859 71706008 582126630 661243018 451021591 658938912 254176354 210583647 115529502 527737027 996062284 493702478 843290631 654542766 23504907 559522815 577100644 704107165 505675102 32276001 617555408 52356191 347779636 581267657 988594979 208842106 204125675 558409335 184163459 901825358 333031015 90063617 666452171 151237231 929626799 69675199 842103222 820142582 542726372 881823050 308838839 693292548 450218306 608999615 542327447 765522278 37763638 363303874 807903276 996589083 544099493 383391855 941658362 773251388 315469823 872110190 370481987 602860243 568742098 537759307 671754924 812247890 811329895 533010590 460552147 803285144 329166706 338720088 207023787 297093057 787637260 918742612 295831503 947695425 949590494 88330066 518081979 239922494 410114094 660596462 690370904 409977579 513223703 100903440 435336516 562158274 412860550 980972528 558045409 700203502 46438172 868288463 648016454 629584546 204213954 178988147 335191236 338075159 97563432 23984010 360170036 17764297 526807497 872045317 852121347 369714586 681281486 975413891 980165677 56495756 437048070 55964387 750282844 154732583 12768188 116057178 858956029 906393737 843179226 583286462 145608656 130387101 647601157 167791998 350135721 217671182 682739260 9434157 354876494 51501656 55377231 390274737 618655098 601605445 408294833 57544876 389044821 540069240 474222212 138691273 673672594 600731246 85676063 876384095 95883579 839957202 368618541 772997968 451459326 672968175 433512527 589961728 257699944 732083365 215701078 230448364 902176682 426428476 890999878 652133728 553407340 230808760 996472658 723877432 277131782 625708056 395699080 628335427 143125742 105910655 243091658 635236059 70545237 297494379 253129107 92822552 151943291 95070482 273482275 687516438 575998877 529622459 541740974 884568737 238640224 798272613 791540812 61233819 621253321 419748783 470668649 387459838 434282769 629621470 612899754 647289608 923203480 667902856 278633860 856618609 555065165 885814005 990260531 610793723 959845292 140056527 265421378 335028628 893159993 695019034 126171078 997288615 280380341 688723968 951983348 572767811 434133766 56714771 194151004 325119385 618197183 984960074 738912879 717078501 231883967 635496034 36871057 366224122 283615807 211613633 63634821 406265377 276043647 108115674 761196283 331443655 656374017 825944876 817382903 134317023 498930311 259283164 630682403 365938423 938953655 198268767 222668642 580349817 893837550 616332567 183761277 761583845 624294595 318923226 845787865 156835595 570020928 383012903 664947454 499012238 424742638 515762482 193066188 137331387 776448171 353149672 768012281 978285559 610339004 481468805 822746016 374551922 605426481 365288040 364064443 310420696 208653247 807434666 86364413 949003166 238268009 282164216 291537899 310448531 687353263 850246274 467401334 622148640 490220674 184793962 850515747 521536186 32386258 308247337 938105477 207570115 405583237 565788789 537726002 405322756 401583284 788453673 719348550 778927740 595226782 619916683 584020568 257762266 611780518 49864824 807501730 658061119 870470158 76275031 494078275 53867067 731658924 726708110 315559733 798710969 723620031 81533062 614785640 657425768 996073273 590694644 847302125 897944833 367083240 490632594 35879489 776936121 53997890 818256729 378024768 334836662 651526210 489720272 948404983 612782356 422903559 224825760 423546868 610293633 564890125 602351252 331222106 447568874 100055735 775169576 35865355 68701084 441240253 693227863 148829413 148234435 826859567 970171951 942577628 244031783 872662961 518894017 533443803 679009803 802997197 649197819 319839410 697202926 825060166 59167134 689165199 86581648 636928681 331967005 76183916 411470756 620886810 554544287 406904813 797671958 545463473 390071978 451671754 594866847 590516456 562475627 293962617 910142406 867349015 356536223 814254418 47689123 908428902 689794869 553832742 119092882 578932177 24780521 242651984 21275009 271121815 444570178 665348184 354249964 567406541 965422694 146519502 473436911 247055122 921237077 366477924 934166647 576615346 892288428 262661781 49606667 865280569 430783890 477385582 908313027 891548262 211042907 441518203 342776456 530389302 412409237 301635462 218844176 437414844 299880027 472635097 918996558 916214938 11984637 951637147 886927662 472491334 179406468 660548543 666416069 320527406 10259787 553125282 998799505 518773442 27910087 938892229 549330789 629210969 711456230 928581006 647480095 48238796 352041539 357850452 15214504 29060705 222118582 855060217 50822165 80860694 74472622 120528110 426619376 67943304 543547595 181382389 469445061 973678051 600674853 66545531 971980863 679905340 565804257 305726536 918973731 787666146 189357042 688594000 137902107 22876326 122289511 407713541 629597716 344703462 937387774 722976026 28143590 453843922 386462741 24493015 421042289 525693812 176747909 276774146 435627974 642442243 462325183 18589407 485080797 284147513 957068202 467100983 289046843 468041298 386307941 620792536 955765489 701393149 539384989 471903025 53001444 33820919 754406049 154669586 119174931 504327602 329558997 777943978 413031998 128910039 541210431 29594549 764760861 115626169 618860946 696514619 351725014 133392071 701585696 563088774 139021073 647976252 191756896 837727541 324302778 451485736 251166108 288496520 53226590 932155905 403585202 631779055 873962444 332942155 389766918 323243827 357086186 286256340 228223617 539210921 391891374 343819417 350158342 768731077 624160660 748995957 230998286 165663404 379542409 613265058 914789952 372183470 6594318 271589755 362305541 301784961 16634435 782195416 400495227 184562412 273566738 29682813 964264167 343932060 404112283 281134027 3663809 322585164 444315029 248841003 643210462 635993775 275581443 869342780 275510196 955247953 76587717 726808699 66470945 207553730 670921594 828105245 207183398 815460586 734598314 408982579 632694255 516951962 5829394 792319791 625624586 836437920 155201367 778840061 471564558 701955973 513670175 647205236 13055992 434779336 945643902 959313790 386697969 322229289 179861106 739860502 558838122 772975934 278501822 188524750 36327812 954781931 344146508 88432210 381654285 93023363 272148540 839359033 819998962 98046804 499591143 360953623 484671117 363783727 363479164 781264084 2237452 708177603 952410495 956016127 745880897 279874679 630806355 108943889 788043108 274618751 474503297 927228471 788598984 341344141 321097830 90071601 256210678 621820164 399274028 130702585 335201526 81825326 557384213 646246250 14979446 241166266 789917811 836890622 913840749 375647182 684286211 936578962 510163160 924663753 41958006 171300450 342165511 828417535 726519042 476860474 631896062 192189069 745409891 128967020 134623435 28076961 176164825 940208809 282988523 22946373 255839369 386648037 424936968 664811555 403755216 329090335 411153902 353441299 477772444 960808206 988900205 438523683 113495980 942694759 287226963 909179305 939463469 154295339 411043135 12869898 732643880 48932580 852969339 401282885 655575471 732430909 355088555 943645080 711644 306323565 173754329 246095477 455264814 539614720 907464296 534661901 558790257 36098847 471953861 275679515 934498679 669087849 43876103 461735125 840548587 126200912 129735962 844177316 549126888 649253757 157044511 890216162 821156059 105274426 217185611 514013230 177387845 525970782 834614609 411699789 997700437 173655515 602580627 602819140 68222658 255036093 113148149 809746703 92235967 38531001 907044715 87633154 805468691 696798468 441710847 362855659 450608860 497620942 870329187 291057466 930165719 491749944 583806843 689008532 997804805 401442006 782825958 182997790 623213887 993995782 480203253 797781652 841686104 221403914 491303858 642351270 575913119 94373403 60799363 179534169 51718141 47560317 12662899 105494565 971472083 711690534 484722829 301166990 41995946 911006560 666760996 902688210 716945387 487316876 886403346 315920 273034526 873599306 781559616 282730658 231262996 515352276 143452388 157614894 740948009 228690654 217745465 552824510 215208479 36262536 533621154 568830979 471922702 6095134 872913355 924147353 810150028 447092860 864851725 587875039 124956164 770047402 935506834 949967228 694287220 845572094 398876251 127398625 541447250 133187831 442029012 28608396 586269550 989017972 719728709 715750725 993893998 188180591 666804501 512943113 183095946 747857017 938764763 458074281 67899163 957682516 458740568 260828272 420845173 888213312 417393922 806994459 305324172 377217011 820020824 227311090 68889748 151952389 592732140 310061201 723897547 906899927 678828827 427470645 468443395 29794585 615596753 525012202 188544918 733811028 91710265 55856088 643844432 226396072 967673045 495917916 342155884 641679953 530343764 929129887 723552571 836989617 793971549 113750501 927276657 802681811 610381446 977751066 972363639 854396319 38193152 916085433 946996122 317876789 616350623 283028859 85735239 674297956 573106754 213045116 35060263 70145911 268233033 499374928 471975026 191083331 440571761 179788393 38537478 573092047 149594656 647172072 717162171 493984051 943194756 888085769 117273136 47250080 217273556 400029918 361157338 916160294 426038985 97221020 939553935 546384296 627422704 725403908 748214741 834539570 213944186 340938592 342892695 85001627 613865184 26654726 709238928 175100087 97118690 613946074 687665866 446521875 110378891 832174013 952373559 485261888 164751470 338391290 964935789 760992995 143983311 457161270 710330662 855138355 411402003 321209393 900756316 230722995 217124728 727932965 21677828 124696550 922210849 449084878 163232677 859187872 512736731 765311000 79713940 603444910 226365870 963841934 71629213 524084138 1156379 348116844 463179570 997241106 96901812 386367125 599121395 985342014 278323926 736139729 85455354 801191598 111516997 741316705 811198496 804856265 318319332 837500016 358702957 781998881 457207946 890705035 948511301 676786621 869250659 192032868 541395848 577606327 566452814 986693265 735646526 340532799 779570737 985876226 185507499 505290697 624135103 616245389 16960535 470443168 305355795 764670797 496136449 492236888 342391748 634047466 173930074 406658777 535405168 365589693 283757538 446534429 159880898 257828932 606115766 864993474 13617637 556224874 358653879 483777371 676455004 430157509 539210693 980518372 987574427 326690555 977078315 957139119 942500223 468141340 216726933 612222594 652137681 447390898 581122829 858548607 623650940 230509219 882936277 754109522 646252939 326648470 238560049 541981915 56646397 870020142 996312342 189580014 416235674 804841537 377790165 328549592 943120754 515371255 830769958 788910683 999195269 970821074 515711803 461618190 180179532 855063988 315572423 347684745 217006398 391507977 366942497 896636753 865645547 885824559 952967015 355448707 755567199 901894201 657298869 662210668 572192974 129352076 568706732 965303851 255405320 666013223 599167314 164087730 619161550 55586722 323634162 963074546 788213915 650563974 623455109 340679344 479290740 128003303 807288748 586950494 9840433 920308063 486736092 965128349 162813336 900131006 494128748 807502546 838207243 934750264 567154254 354544033 490581121 933525185 518160824 939663044 930444610 147096584 228900039 795994055 393544312 811379500 605134239 238279897 899364837 868960173 417871193 107941372 613306375 124951892 511996321 991641779 53286464 144217833 61019919 886024620 639317436 300860251 64936181 528458842 511567236 641932444 229664337 848648053 729232199 367567082 921661203 867356063 729580604 79869035 306207588 977602905 142959235 874189157 761524327 569000742 227117243 353024914 287098095 559435085 938985193 312724711 225818835 948910316 34062911 745929633 515007089 187363806 546006189 379143844 179147268 663721156 936785775 230842781 429382008 476757203 832613461 707512142 173817217 586497712 64233849 286215512 358600781 534358593 160330189 114091801 658885766 771240675 740652929 940816151 579089239 293087831 789884881 83149665 487394897 199565756 310908540 603867103 190381543 235163052 408079681 621146349 766196109 97170518 53735283 141896780 677904152 222702113 91009129 587332242 262330748 354419336 698842816 368180289 874968950 446776916 89034577 913330828 974651459 580372457 721446717 748038292 927437197 436109499 298741530 475712272 156973290 931805188 179891728 982232835 814677287 459445132 226670847 583395044 612924775 39211161 176123705 898580941 242995590 475334632 557672631 393736635 723643885 338219352 790998313 173136218 717936171 608888163 584304604 737798475 956669805 374561131 904041717 760646235 742732195 188281351 199518341 465057814 115007 437193230 293602845 429983560 755977122 803537328 295816210 849605262 157220953 499506520 722043104 539653653 857689974 705974349 589398215 343562817 119092596 309238421 711595384 510571195 942131551 903470770 730079122 407170995 212969775 332549778 503868038 422019021 693473128 878653603 346610742 182104758 218240839 285316661 121013147 129148773 449258608 890656284 955077186 955599734 806829113 913931308 563151921 581089697 389139860 81799213 478235166 932288475 393474979 614772475 385093514 261346807 523037853 290074743 906556417 448809334 215634214 80093504 841057418 84756392 857948724 318634413 62982508 948022117 241188609 254071606 266339944 119817996 322950171 282519152 925930357 219783709 182427578 364122908 545544010 731167557 829310232 264422711 670886761 965278435 105061159 161955684 275936339 775920955 402577926 329196366 713002082 623846583 607054631 530076270 285424403 923421456 316558075 935202090 621515149 249053787 347953973 253650888 48422366 743975882 425315551 322079129 446307158 395925964 814224856 448447526 739065001 333800853 348024637 159823282 963938944 14917815 45128986 262873557 163718685 759724524 456196644 153290374 71556465 400539069 23985661 471474857 317159635 882613551 358094935 294575196 969393194 538642965 301817080 460410842 83257754 482577141 885316723 649333985 502065124 652939299 934742228 287287947 907607872 621067283 990761851 146286380 650383916 853343412 963126763 659593431 50697391 430678242 215753428 746234892 177035498 696689948 842746222 479640223 789779425 733028547 879425606 108812809 781441835 561263062 377744838 780487060 8396281 686860279 623810785 2473463 161932944 731239338 923172929 505847444 847924083 476235925 391476699 804981769 986102273 837545601 25866210 696300844 214866856 354883380 99279212 95812780 814565016 694276288 757968144 399221553 205521439 994495837 224966432 294005027 827538312 214456206 977568140 441077106 234200821 710270845 244168879 992002076 789844510 295097079 726382410 696832672 952457299 57733072 643790942 319307152 782094523 114587904 566115782 586167091 97872179 846487587 401260008 100332807 132190968 609427069 296274610 253417118 235170862 384169240 406853021 427367070 245882959 933873765 765080988 826512373 575179894 35953288 449576040 633341383 840064963 990965307 392749878 550683152 163023773 656041302 678328303 437877594 951690524 186442398 27002485 16060057 687286440 608175264 34504981 468110292 972358044 554399622 613061708 783350681 153282108 896600017 814280580 833925948 202605478 415445030 604072583 917431047 406932273 837970865 790805980 976816881 380275774 814161066 293115076 137244738 558092897 15811544 224837663 743782177 880865424 412947204 984914830 821496343 288266329 761836076 933518481 947694415 698146465 316768384 963664584 708861781 285588675 679296336 608172049 931160966 556523027 470276162 398444686 59925559 212189683 500119298 523104066 478324775 728773355 320928467 584798389 872713292 188689604 731838652 730264973 994215265 153340749 776878377 355184731 997936523 916489488 845467637 787477918 114996648 908890920 313195251 147447654 919572354 189000519 744701630 290928834 468230089 286578930 501175717 764741927 121099508 192279217 296294077 818273113 602045164 425372424 416671643 799605463 370560020 873400961 409385227 31437654 776619968 103536588 777874422 437682139 645307113 788848782 174416751 475084140 665556802 747688209 544630460 386237642 873615403 567445958 816456259 875472805 105686865 420931765 936856652 240619775 429702240 349800492 840908460 368759501 431765044 147633835 998909761 59395974 133187945 343434049 239567889 288205401 456124898 317898741 891444137 186278858 67789409 355264502 443044668 199022707 357202706 772839130 133191784 75669785 120420279 907951369 311425400 96868790 347173590 468662438 326264665 660471268 300347917 774992187 782998892 97513251 943202218 805050591 344582312 672829487 879936913 643813422 312722700 693972703 146510801 221371795 787577111 82353508 337788330 192180109 596522613 885771274 435827326 131317231 913415328 84512798 813668322 296432874 823490949 883333022 977909765 294673188 861763894 944862628 911167851 877406855 957285269 509384115 537546482 973051700 393671712 874389382 896129757 250468812 748871814 129243780 477841546 9185788 250818089 180758497 672661359 491515651 359406726 123666615 292452691 43872570 165771731 494488586 653560720 984215161 160971908 143715914 182193360 886553626 117514750 310420358 512317990 238523025 636796575 122298109 689999372 226937190 158132099 542814220 444213195 518961240 329993094 77061818 422653184 53609832 455600869 79778628 243339171 761690232 921947789 394084706 728374844 24021730 927877293 290992743 593296629 342192862 613846166 991594696 723225354 529007752 345149961 259627047 64549098 133848618 12168751 198488934 512429396 130721981 810290994 303223925 295628592 94946713 389476090 598687236 821612748 214368043 423862604 543004680 233192869 333110004 443088989 865138953 185381439 857242608 876644307 986707375 881975783 313868458 144114396 40457337 382107694 103249896 302353016 767600072 706875241 518364433 59672473 821330263 713098174 729649105 422614574 603288429 45652215 459084174 648570771 972272138 974258167 481179517 318429190 277851240 203239994 269672734 613487499 814465849 59002469 657814715 439465927 38098759 260308506 875763492 206167227 653089579 669755220 231380957 955629706 733222480 150885389 21658829 425211129 609509912 938853734 616454019 671196170 202214259 269196889 941448026 339230338 405670752 519087950 194888942 30721713 488855537 53496660 489193014 715589935 394569812 957969649 577760264 386082383 323468820 145837102 737964605 310775246 599661321 547136772 236608466 968205394 51733798 86858657 295660262 58629489 833443623 352308026 958208459 583447103 852692718 279457247 765807143 151771327 467536613 427833865 872726799 969026800 28865906 949082106 843794693 859125842 49663014 761052602 507166494 662251277 606881244 781938074 127145412 14632870 363368046 925877139 418887627 747761127 575582916 352642607 581244984 281100827 790157486 76996561 464222042 510648932 23284683 240181310 664912994 458621442 68256530 327946546 400099265 563016837 913840116 191578312 660009649 271269490 43958490 736723605 181441460 545474726 351955657 558756821 895814200 953949056 459630726 614693342 628655569 481675056 51097971 833997935 145153126 531886278 153621480 279556689 114320405 126313928 744651544 506729898 41182625 693205960 974229243 502669447 710115814 415463087 775810899 10949296 222391404 748224899 864418946 131712227 986147620 897817650 398890483 371629507 472458890 426441370 419218658 494303720 840845876 255923764 736385621 181943033 10251671 462084215 460902934 808731644 585971395 635698726 739930893 80663251 952998858 441840466 469840895 818324029 629431458 738852098 730789983 571479554 920528780 35226236 953783902 753680174 86777686 293147344 851273300 543980389 638554552 376509846 286635010 261435454 388671942 745799257 967286715 781678871 552622678 810841213 585075674 104648573 516719179 798660793 761866759 960410738 56467972 295144875 758774989 584875643 380727913 709516954 105067965 555528622 837480771 678162487 526068235 377069042 649101997 20793907 97273350 28799922 565051421 331560758 386040361 963559730 977308127 444148040 972423078 164222470 344225785 838378184 143582048 142789141 710695117 387440723 579831046 358795646 459157332 9359353 770720233 964055413 170629945 129974876 536238719 555943762 222544764 951109264 164604472 21272543 383016181 173873738 355163384 211093177 690315219 323574988 71154592 296905695 239007583 167897693 807119718 49057658 875865993 131071342 839845998 298960700 511290455 741459480 377842367 307304001 141567441 892627732 435964147 433143083 155265522 885338647 462719642 913036119 63166411 900309193 506043148 360795533 988022325 490741394 532457702 468279817 321784746 2987665 236024207 154217152 781954641 663644147 440529265 199948494 839600156 215291623 277616119 103353494 955749997 671872117 876148738 667435883 642852903 639784984 68988348 800688421 280015181 157865010 719241795 365110473 963512713 942939031 963122 824420107 616392040 810860882 991913465 209704212 940212052 192133379 161270388 626570398 303135348 933124325 149816592 130157269 203381142 466171908 674219244 315574714 839700854 789328625 584339569 977313753 877013173 82554630 303553972 229843170 642760078 663927475 641357035 856630305 366825570 473068695 191113564 942145893 574872012 295670010 133193989 185901023 299362039 218035676 698303342 293309390 247126212 433157732 174811716 186746701 456067276 366218288 567450059 827971394 467794826 455765612 522571377 611269536 576437131 482185799 358346107 676331410 871437237 498916941 590910763 595539417 421120235 480314566 506404255 138951685 759805646 283932768 279285043 317761453 988036221 403625298 685670298 865960867 83871030 234112942 527759317 596105396 948903847 579264884 997756691 39648341 567642235 281701420 435442154 457475936 87296224 128385909 586507506 41483990 257546751 524847830 560473474 64419255 361851365 993671507 59276666 935348874 860907692 231794733 927746810 681530550 57487211 102290270 869905046 839189109 178537714 7467169 805430497 843611441 958394259 405110586 628270450 92993115 687815097 98771982 248935604 115750822 79754165 508944278 697162407 830562589 399163082 858884604 739000299 203840282 707737803 636041224 152659177 235309302 159637228 169232825 235194388 108170512 685094653 230060309 185357582 685071123 313392651 369286875 724949975 64961859 463777107 296909388 494235108 369596866 120126840 898557057 28508456 722546429 779624619 958531108 520694435 92482682 193184130 22482542 532124490 684482407 458212001 402732334 339596759 359135848 239483874 224181292 444574537 273834015 587982959 733164302 709210747 620711211 116319770 978892727 922347316 207133590 938986442 767781917 537560129 951901448 288051727 777364978 318520917 633725949 957961005 778761665 637203501 743215148 187831233 472413717 13949435 616864221 55815435 316849295 716303784 318483474 984579580 764934887 432647273 458133 937017338 526810078 268040738 259328897 981400544 349073235 848003889 137837225 244209894 179175321 828148614 780054611 757665564 973548031 553855197 530031925 56720273 457851955 590010079 47763236 376387281 149056563 34738401 754208553 788303749 858640823 707647747 824693656 412016457 869116107 528341302 173390512 696706772 276423759 99059527 341142384 839673531 948719960 578693827 924266526 454020130 805451360 368199722 263695623 688989298 107362034 142418128 53401524 925713657 75989223 878472115 700563770 982763870 290814910 573646050 324169618 821109923 210927381 228694413 131899 719074836 518542676 28677726 2352552 217777174 373760915 908710975 243477043 552413463 495772733 596918143 448400945 551117905 532516361 219937360 176522406 267328735 305084913 632068076 269308314 432451096 307472487 428965027 362093823 799312972 683501380 36470836 654810699 953390016 902911294 402219466 448828019 485438475 365737873 795086610 201549681 213536479 508443240 155271698 719542098 581575454 79683312 301716471 983787822 266749486 33233269 424502659 458631880 717829200 592307866 831210485 492597720 932150865 910537612 542700832 101092804 270513106 658332905 946824429 518172036 65825225 909519059 449811000 42868853 344890506 813365519 954174576 501301305 897679875 125506437 764989268 745165587 233768578 859157741 290606385 477221340 657783157 442176570 84308285 254533045 324729381 973290213 931370472 146629904 203480248 828509882 17047517 933537988 152524180 615733269 919236048 633564398 907128812 540626815 773860344 38171408 387435349 625618468 540883115 627370629 981546771 49229622 817358846 838817579 864710547 959118623 54356266 266084346 658192489 694514838 62005749 219938992 763578183 342477853 650069591 272100931 781663126 985377066 617049162 843174998 241764834 311740651 297833524 200189817 874010190 659103048 75972100 216550010 993720390 5946624 135882734 809179387 118769735 350933200 619641671 374145843 751219878 878065568 479763 666869866 794205024 838476694 236989197 780456916 927417601 21386295 117764592 716807615 844615875 601018096 738251177 860454668 484139399 321249347 691698528 748650491 609855399 41129747 327060108 610860757 600918054 484076236 136539644 996155763 915881055 911455039 124591432 522746989 565699254 471330154 730428118 126323402 729202912 154659399 333964985 795406281 955756053 33611443 473003794 607294348 10258271 979698723 776204918 535265495 897177799 414232773 478821014 395825315 802098586 599778673 679650974 561245568 247288616 634441842 451446719 835152553 957720476 60802622 759773539 709648280 963100592 632615666 661875673 72444534 407290094 209688534 525231354 600371782 895402687 383497668 254392000 478115217 963965333 818611881 7902227 191953940 959881180 232945841 539752373 234762370 834717485 706228318 952483431 478113066 140268665 466057750 1273338 580708163 846535223 201714345 762406582 384903181 59114044 113635626 396564524 199963506 294738237 516577571 252347868 467518370 183470772 565302299 2796354 517891227 180882746 387463127 756538572 585240618 388752711 311164607 222376399 670980898 604542373 759882269 851782831 558051526 262530421 880257539 169877243 651623316 22195566 298607367 498099513 125189741 486486903 622644095 939068095 870210535 990128887 454142930 26047675 190740344 222462377 259726835 910211887 666532824 465686585 963128886 248881283 123955697 58844615 624737062 325790219 478976142 429696493 821502056 47807070 590228276 125852556 109508650 741642867 643422648 527009984 226767036 64298380 886413206 868144803 330753913 675364510 770402708 73233437 545366174 591955660 419789677 675547655 331446739 671438178 40725345 67168113 429714937 442476365 306442113 428712617 56306590 710098242 550570418 887723886 909811609 231956043 310141279 236558671 197314902 841185421 93140107 49903329 754464156 124515064 878132040 276058344 341834986 275984496 899296934 802083264 598947245 831857868 613670937 660600396 377450170 524169128 987329063 978706484 673938262 982185739 191142870 825126340 769341969 749967734 419738143 734684374 477696286 927743847 462278676 590962635 138835196 7884870 150406184 155438964 926705482 880894185 165428090 698611529 957350839 699775365 147681102 495838489 544310409 914910749 645557257 682130945 406996170 78864162 461085867 428809230 45659854 201738189 756895707 397933696 399834796 497916713 522705546 618896525 55990662 943257151 384164454 333438825 74382983 351186339 143539697 63767946 749401885 810419143 670277498 929735533 816853081 458124239 745091786 823948434 12184783 626057781 302202326 243232480 954841611 362180319 227798795 326689058 22712916 987032796 175336068 751426634 939700270 448038757 635448772 428261798 36609882 336286118 315574083 390787657 48442233 798726120 613652405 246577184 980720140 373276678 260592152 935986523 547982401 606328497 276582529 976541682 756723116 668624518 704985010 173093480 390955006 330228341 113706914 505347198 400353587 178914449 425842423 994531225 579079320 616301270 830347634 361594081 21081035 926544704 696729674 916668058 688170976 141985215 592402173 801915932 589654751 907488968 558073087 498076555 532865170 697367838 843327500 859514199 622198858 299497928 345039477 559060662 978976161 878136615 547774809 77889658 731926182 334883467 807714089 143620536 835009634 821215424 78584708 508583580 722330640 425597637 900739894 641705402 705417662 472491772 27344163 388126575 812392843 936766310 593789193 154659666 420035694 868861124 326337612 413743981 427066887 459885179 22246475 71109739 109940440 762453139 931316907 429619841 74708838 168137313 565193239 327534341 568579790 824136071 378582721 958057490 280529721 400596541 689197239 269037939 627044775 859660377 676768567 7166257 398137499 294058057 756895621 756814267 490126332 870215324 876664800 31007057 552760923 527429740 143120223 836123024 495856103 482408158 651236919 432262776 433914692 696793275 216190002 94762952 288427856 768753460 204394386 129474480 345870913 27068227 743483834 880709688 572332769 923052433 419285331 401681806 736303822 101048381 40760349 942243433 776264247 542681662 796714580 174470173 910420542 904956153 443839888 17606345 679843966 853209580 301373117 572793968 674765136 516883063 683585735 534475497 964263484 451327551 272356511 805977346 325621243 682701982 836452285 431125727 632261974 192508025 168132381 357518218 476204571 699887537 767184580 259786203 940381073 858749190 497145539 35890651 942743538 143709306 168705090 669938664 354014568 993422966 455497912 276652645 756597778 131605641 320984778 514356741 3011874 653375167 50327835 937059242 917174132 879060646 589293332 719253432 432797554 935078975 443332648 517643586 966761552 776227349 180750601 967504318 60343193 39017609 492261536 268956845 938336255 562660372 334009558 769008946 161591763 709718231 964478254 426049837 828779574 587268646 890909817 723169606 989519703 626737797 953187484 3458939 464114560 739775048 236696488 715690274 134976430 517473261 63388421 844042652 145529040 736845433 513707739 200347723 976036829 740247250 240028597 562272279 651271774 896734878 98083266 821537502 814410913 849408762 277014037 248463909 925212097 280543998 135378053 594312831 850546789 339097799 759488354 358667593 111907139 138453028 322202671 21675154 872778557 781789489 29811442 301365042 210906632 849154284 105200718 539430031 582749189 576274771 875646727 374138834 716742975 680533464 999426236 431366514 24879201 876880354 618147185 141774527 665467105 859974972 485991092 247187837 627508803 119962553 351178535 973212037 655049910 12060233 995259065 355364570 498185596 795774665 896711447 777921572 787053023 157047727 473616876 117343854 219165145 853790591 719307519 326986328 473831835 864489501 709560154 493692462 818342710 446153232 419067559 798276331 860771183 978597755 123379050 828730111 808224193 497210074 777428528 808929761 495704624 382989781 936729880 574165685 486475336 586686223 207386974 10562426 277357841 338237252 849692371 845064550 185646509 511716568 876685577 286842047 387450054 272324053 125821474 499931863 432926029 369676196 886500765 930726041 936221293 969990659 907775448 983711919 348701884 21313606 458066088 519113543 680180703 376394374 343753149 733797936 537414198 608524987 635293836 436380755 743503760 131044025 772326491 998117446 101874224 832702856 327485750 825159427 696463487 480091962 949118804 388170323 370807843 557881712 252693854 917937232 313330915 449329625 49977933 494377239 748776085 644893673 252545209 737188681 891146702 32011069 5964445 395201217 878475462 118519029 680813404 889741515 390068499 89056367 608660483 448140072 707029851 888971805 369359198 382312669 539175192 286115859 181396313 477280365 592995949 849231565 443515480 649534923 323651508 918330510 331777204 640365260 342070030 567135801 777927734 500284666 742403581 260186017 313928334 195405512 709180635 246945562 86251591 433291063 124038325 484708348 192144683 308019304 695991596 902120653 183531179 26140215 913717534 732589313 99062003 376331202 374143792 586726843 327287084 652020010 304756870 33936273 54902184 415953410 400439618 236413846 411277459 706586771 946774849 289837000 416536623 755487559 994217696 589859629 894128176 763869213 615344170 211433913 693667519 736403353 296949021 12760182 866922 263025951 341106218 679998851 625417457 999893001 34996622 691911978 906376775 762687809 454438091 354520434 159048540 653894348 623420976 521843852 352393653 378602653 608942312 493194849 732112228 855611880 583480793 304159225 901646899 438497255 223734589 834074889 196553010 241522509 455116547 695494238 402777230 290550122 282399941 56791976 519023582 274559974 831366206 666042387 906588088 857023819 823341249 766983359 896942092 625820964 391768262 226029720 219165288 52914770 899577221 651388570 441228487 226995570 242653656 11574764 829863437 370102631 752658258 699280352 396348094 773694311 743658932 98162224 863019171 770837686 279513630 744505765 969980524 842014904 662430412 529722859 875164003 93923009 249156086 27193913 905758795 986648001 705150367 138218460 748511205 959948530 532676766 710877483 336088882 551472756 737851397 198265087 132490015 196451337 578915903 393708523 927481765 202788666 316716511 676513972 882636368 274889174 624630612 930195101 478801615 152213997 205037312 579998521 591163458 13874038 927989461 786631843 33977064 631247232 739142989 979038664 183017146 352338802 626480736 157163445 332057779 150815795 52194235 127394742 406121115 383784968 726596460 402900588 626771238 402534951 212876015 779567290 572632671 111904371 628290576 484027330 580300739 245938576 226519396 338467815 310174052 433089382 322183273 626255876 361683516 445164735 199714552 953847779 269866275 44649142 212313134 574860159 640939644 57611086 922095787 257176413 35924220 642312690 178711708 143722805 825535332 458472647 833222802 706987050 611642493 317825308 338778520 333944411 130868055 613179234 855728522 363796335 500675054 988846505 995989271 717602732 710025551 19803018 406789545 367963981 583477720 818961382 468960247 290907392 708794891 304803612 378850737 446180435 504788605 313788105 214164105 427940663 672766330 866139358 217011910 737030875 177872143 268021963 231421484 871046708 151038600 471692319 465273870 185815265 299341031 57474879 865397957 503431993 365972983 64098553 422101012 935985157 598930244 397359170 878399961 718753751 483505675 552063966 359622915 78312817 12174453 623747448 947077493 875608145 673966143 481850277 652060910 725801803 957459919 380778310 44186744 945684016 702426298 639427715 349271626 536997601 375532205 408897719 560044897 14604971 423337713 250422031 997461039 3608092 454917170 398037738 968169780 979150705 941775122 934453712 74515079 933832033 543948613 356356577 680086689 430529035 562716233 41697497 336508958 841701608 473454817 512157703 620535124 826446739 154716302 484103174 143893953 822543996 379755524 863097324 205935997 719330115 980433686 76547846 251247721 844774882 89787842 522818288 204207309 876114508 313716779 89015406 600346350 183535657 302257810 619139721 388410724 964751962 519345824 577720005 559398279 705108681 312588085 35490036 589018687 829485137 461791530 189465028 335284652 683383657 182327110 404672388 207520927 469250140 673442364 322134272 522181323 367155014 216738686 340067615 834875081 386326391 129507897 775317083 153756560 860217692 130112214 523653009 653518318 95694825 805361679 602116462 111578162 760502438 278159708 654105939 871894650 527689062 185156162 485909578 52604753 803649596 201588619 496257914 549392347 940485018 466414135 119742450 286197977 794847390 496852107 906554405 729207568 379455743 503312327 700977713 609915728 876342243 92518823 607465383 312676184 306189974 68939229 622530827 330382426 940246530 16360997 590553226 445655121 272279564 829748279 204042563 19532622 103046585 897208064 961841967 992028759 255069586 252767430 318885473 520895274 271784274 729311321 610013147 978924354 217034868 7793932 40625690 474807824 387434266 647838944 974913016 519004782 721779267 508741484 693403534 579710975 144063571 499344112 900961089 829623391 223226451 491558906 428534066 877841469 207934448 92716653 494022724 196619310 840586599 280460427 720524626 812825739 476659422 590614411 116021951 912620200 550452502 50449623 270094726 678851663 598446816 954534312 504427658 533983556 839517418 873955471 420915137 547483425 4641459 670896892 464251293 264559643 353144161 742223006 157159967 371761760 852016161 513249323 478651007 750187346 142339811 303845155 23902667 429454472 118852627 460064204 251211897 107410345 734120478 615840747 441996420 85449188 84087725 994509675 353035710 753918085 589912897 749713202 23777264 605791550 294750214 849967603 555476990 137132719 448961817 979807674 665624647 572161827 944605131 589046271 584649884 882884646 396203098 666059857 538624906 566060800 148016373 702536741 42430053 896377160 596586891 482387371 737916962 64045696 699153395 750556787 797379246 873361804 775995159 896306075 863662675 70001823 281035782 248972915 795374349 604631438 567397585 821014549 406357185 369134258 24736920 813576559 524160823 406569634 536015189 875334858 497044541 255870747 513385409 696147731 768762191 712193643 416686983 672069542 182674276 405144641 296849287 302173736 211519176 415688095 661693864 860639382 228286761 627556738 293551495 254158835 359279253 126906777 776582442 620383115 398014270 308010600 324647642 388598163 338037833 136979438 443543584 91381293 698927559 211961723 211069387 585747155 923430130 862415013 305010360 563214642 88871976 153003621 894744160 138364357 289102116 462679614 413053508 54655535 666709645 268090156 466948593 45685753 60452976 699786828 309735293 36477765 372723599 49967178 579867267 657044803 452905072 77782478 772923560 326572403 576465273 426272479 550292745 533267137 322286098 769253993 434846605 14084233 280081486 589158959 292836040 436176469 86173210 635243210 686463984 955676036 741468871 825834584 258248163 283918430 657683903 116696215 831032436 295437463 349444185 857924510 660642847 689524593 736785330 783564050 463680168 673397339 201714150 980350057 683662702 351594536 969345032 459753652 122239622 602602446 866050461 584609222 441021179 105802427 780323520 468831887 284795437 470236584 40338171 249770457 935559002 873283748 523836912 156690271 780502143 643072613 271467879 518453826 684222769 892820420 735551986 418228193 972915017 342831721 203898400 438053269 262571542 161321345 680850210 651069265 582696900 355929804 604203793 104041932 197466100 519247555 411839973 129696638 62554281 195861639 402546472 586836409 766966931 368124989 376511291 207474881 622191767 263572149 799100468 21870032 551958321 711971903 769160383 639728650 299028274 528472963 233108588 42009879 543403811 941891575 226502516 985348823 990803636 281555667 394444296 283369842 766644316 394547416 341460131 312374823 910901764 839869485 881606898 573893535 290263043 905055111 700158983 523026778 265223705 256641109 646252495 685985226 254389346 661730637 640615560 487494855 903050522 136035458 270592030 455681609 898605344 874996989 593453051 702158337 903561826 258167295 34919487 112167389 359888063 459811491 950640494 403935443 566996768 829645354 360219127 914367833 32219800 13630209 642826530 446194044 814640462 349346886 872903174 458671940 13502744 919788461 802531867 244132334 171000695 671798696 938015782 413254936 642602835 152422912 271293329 340074898 444884902 444250354 575555808 228778265 609935639 589554837 389242644 304149048 310248190 256802675 845748125 120794647 136812288 167191498 776539709 256155837 22809843 802627034 839851401 789000688 855493927 520598414 471029480 283285202 255590460 489352730 770585694 19714620 647187869 922833267 498076550 445117800 151131511 835282934 989335558 227492358 564709666 486105669 853266441 51360793 893475952 944216431 519478057 840369075 172593477 138444427 567933228 568198016 671531799 811859332 993517604 66899985 884808138 976904482 844649035 251656361 977206220 745386556 688167718 971829377 841603272 941083328 87324014 313783857 262146590 912824188 999446388 371027254 39613146 670004344 626790102 594402104 215499091 564704867 476716826 994883085 674555138 802113520 14818132 264157581 582417955 517060906 418831545 326805678 969182735 900837414 851268057 527977466 361944805 948443105 879118496 106356864 384111030 489619449 97200899 278862364 483503825 595584609 246895676 178272965 535857356 529792539 848942926 516881777 585106500 638050593 43168935 914879892 269666661 295216344 398060241 270865294 9297611 232578502 730190781 37595411 552158444 337234181 314959641 144925985 126389581 444451473 771810536 457073752 141980954 669954545 942446715 171189850 25002420 667872802 339501072 334319482 414026261 445441039 331759076 859587218 976219870 996235033 581334126 553443337 505920587 118533868 124005886 621112324 802126725 708481881 236458404 875406268 916072847 295779374 266693507 310251440 544773677 553759764 72325307 317361728 456970822 748372331 384476922 227281659 622127911 203315256 588317089 783510692 345866888 692313822 595656458 458267253 62576661 508894745 832558966 583686735 65600284 688318433 780463776 859451424 177864236 880964994 726813794 330958153 222569486 296163490 156940058 974899340 577915183 817506123 753498182 55884439 338579054 975216387 281680157 546243062 417195292 755115380 822952549 395757980 918480920 369860852 816879451 813253408 624283896 103393166 821214043 960922589 407937908 35141010 810544569 709894114 326894370 686226709 845879875 31776282 775037745 758785321 791730033 475653486 196868806 80551695 445386153 275787403 938603949 965889832 366713389 38112303 603797871 107387124 145317936 380420494 885804395 769773196 133554245 149968295 608868618 315132589 261274193 272509156 391559757 289825353 216357283 276891115 377615387 862717915 800277696 570102079 734108110 594537012 451329995 387637073 365027363 610406509 568542248 528596825 270054017 862756746 807077451 846428032 37447996 767265467 865520801 50396359 210727977 764797443 63967059 353411842 986933660 102106646 405787860 597258576 741933923 636863612 19786135 228454529 477047746 661372538 48412086 436835494 728339276 152838659 949399413 893628349 517928861 392862409 972467534 539436356 897579208 649068668 837889093 231472707 146645812 656862799 988011378 756753631 523435463 161204374 626582782 498039128 289332070 725361913 308378476 175908487 811749938 438235994 802286984 552289756 795016807 20422670 107059942 212707190 831193913 745553672 379087530 557378707 597353130 465995888 908965789 416422275 909979820 433135061 150216784 639023697 706174305 222513771 840675065 394573551 237003548 985121670 677084400 347117145 487045550 582768552 405379680 451328623 844088512 879787200 650400286 753237708 149481392 969033962 529296307 224759568 522671283 324100834 334077278 764727005 784152976 219033739 749114627 7208570 527682344 279609187 136972521 693413099 355744342 683172535 142225073 680475853 440402074 809411546 297433177 962103425 846535318 220063878 853307969 649255574 294706314 79052413 327728987 657226300 551046132 81903405 709388019 533073896 113628717 745745197 941363034 560954922 397794032 69552191 116816294 277834237 270645214 548746083 321283418 253509151 822070848 143974769 227605086 286882409 953665496 33212565 671701561 29387667 46619972 753555899 640803359 902629319 287586031 104110211 541484592 960544950 808234312 556473623 349178406 64734536 343337515 387823168 54073812 752434982 763253556 940978961 457886908 844061751 158830253 637722325 718755633 248312371 911418293 839677579 637128956 548112909 8581796 452217321 510094614 85541161 124649222 536284869 143647367 157828306 461957474 651451485 61670962 876651661 510799269 751709610 871446691 820132148 619862071 632688750 858022810 22030340 51091228 812501231 579023260 962456984 654988854 49864118 374954106 531825360 577488591 642693214 172805781 839689803 178625404 452520680 772699372 301277553 559980678 701437952 699135224 899979308 708694570 346559698 496723939 399780699 160739472 5019053 331764651 779081160 512949343 98192830 536017620 618833848 561879855 181668852 78271841 275111308 321173631 29118475 931492127 466126382 4384575 384972039 71818072 15704281 193037463 182316418 293952023 97416102 791043734 702026319 41050463 538958354 111801050 122940614 313235243 910784435 957102458 123860944 540771628 101820226 358744406 892629826 811507566 55385018 431435826 958438784 85603224 647902201 550541772 483799391 7433198 600188964 125264878 399453087 708164043 628831957 486004581 317156773 565732711 4586532 229781894 165491594 744447173 756511797 715543885 582949473 233090081 949602847 727413365 534017172 966467505 603575224 789441713 220037703 465294307 881825529 587884614 733489910 790102807 964280016 786097574 550557871 659378862 247301001 416732272 741306331 650796 148321943 393434343 574736121 627387904 210805004 883963291 163716063 644947018 316481817 969092965 69741028 582036214 710472587 492789668 168059763 201626458 1104343 824957307 386884376 906280209 387408666 792094074 752617965 51433097 232689959 699812496 895485604 50258289 95561733 220613469 383901533 522215652 497658110 909263972 216391223 991219180 255675399 210939704 815564722 352153112 105645660 470179280 126252772 801678718 727235947 535267016 377735023 903944230 29826024 481089450 194679454 279216046 793354394 910029281 547090632 281390778 848969168 515906362 8933953 986840333 278420096 393193272 159294451 837981226 166497272 697309886 79098856 195607235 194343449 368813535 672454516 165882266 942438762 979211866 908470363 500125027 192765381 480001890 55791614 557536672 553283222 883607180 340455036 606034186 466390650 210742535 736834415 696347644 96384758 59657896 233206802 819574236 472872945 604649995 768715327 541624430 516518194 164968991 852877117 753655685 670578932 276972260 6562721 202473253 327848761 713234396 726246113 726018206 562377454 415732991 663958565 95064712 494840768 751809158 243121858 691167423 821547335 290737357 821763241 237110732 342916908 641382292 160190477 473901468 73393368 233967571 40083397 277501245 770879915 311454420 878619858 487318197 83853999 343197099 616378680 413413371 637475372 764084623 836883794 698111109 114466541 160539774 278221715 867929547 168675572 394648050 122062110 736848918 484821006 632255012 715317851 942285500 45608949 268901304 613656735 514975215 323109595 14693288 580760917 3648452 682675383 630400912 253927717 568098920 710408544 2958377 578060275 428943710 475348993 968506434 32628835 151153233 103701074 758885893 614405903 541057664 964797906 120446304 776857661 920481354 430551235 709118746 987496023 23419516 183452981 108993582 933332490 477241115 743338506 294878963 932897223 723315919 598501541 197104807 840485321 365462857 495740973 219121588 124510081 679039015 291995843 972935844 333287830 785524463 332685730 994114317 787220830 267082591 151472337 605373585 754505987 589746712 417570114 437844529 649799854 388077382 233509321 296029841 693827856 675118905 5007077 19479179 336962588 369401656 745732358 584311581 211643107 523037228 130919799 839740866 591353405 509500174 206769125 741818885 581491974 728145783 220976647 4058245 572190806 716763433 358161576 343592209 389165811 898069009 801585397 89536518 283090909 360148908 219975382 423767759 799778099 808175703 756783474 160601396 288000297 215933537 676435771 74456147 627042882 32069198 730430050 13687656 540569669 950875700 915469612 440745669 601438094 465819265 845228416 454866055 520871384 884160560 769613432 598479353 218846936 646740191 961497939 359640609 213679514 735714247 864484469 992897573 833490262 869821408 988066535 330046855 571605821 451234486 615585325 130044662 223269537 259865 875338723 238547345 542870923 646319860 781593474 446695957 818751487 743959534 153150123 403051785 46326155 885684086 611500346 996860026 166994575 221996884 981209633 19293825 522952465 575499715 975699000 59982481 838002615 403645923 43391764 196886866 898942256 937443579 923899462 659305159 530685745 72198696 408539303 642768393 27760893 158679222 89134905 232327490 21681911 118685264 111604314 469035271 299642609 28392049 762478257 525373184 971650137 427388151 529860789 918027493 161411994 602578232 819763760 460210687 567448529 804625551 686910261 464782244 921537496 117652788 43898247 865768360 501474517 909714561 829901481 218221464 900237085 264992350 562511490 646458972 601315364 298788953 477897533 159700488 694481242 813856493 19484875 457744712 49978188 963018215 521024934 469930071 310479604 817401099 786059814 40991890 162177086 333872257 919194371 995864580 917344735 204634653 608067211 406404482 991240718 904436779 160599592 823502449 684009684 583368571 252511406 422673791 787377932 604606053 591820214 6325577 377380298 347241053 329096767 361772021 730115091 413587602 893765369 837527355 597481638 693832468 362643768 423864200 421570434 541275087 941290086 416846905 201970502 180389208 391250768 489168390 303812016 156208983 131422219 759651815 9773513 417022636 666171444 909623733 223393001 713522107 915240963 459953701 436629721 20481125 457049600 672479295 20566893 48996012 694491342 608400001 170216863 501890575 877188684 783511503 102098404 186229586 761107952 683423891 868970791 223027996 867037245 432367879 963341959 267609524 161527523 948181332 689232484 205606833 219149933 405288523 700720938 975078178 734505675 138666801 523742437 521781118 865620446 930512270 474936362 783535365 943916878 492020654 153564346 732938550 290720509 701139463 655391859 255147014 965390360 490455385 760274628 819976820 860429305 717281257 994963570 523391184 659084735 585057217 554546765 535287196 368445654 586215670 470967837 491297015 234875974 803737190 990864862 13278686 884574572 588981769 437531958 579073522 261427139 678150277 583211121 591977431 876820387 637012028 803342541 629781943 784130710 967782670 179437683 578340403 96521824 51521707 562667193 649997851 634909175 783159948 285557364 891138068 129023722 695274380 682863799 334818871 295723809 993167289 129516081 89147319 99583145 842900516 155763923 762234859 54125744 941915088 833941504 315138355 824822808 366933200 175351315 217160833 330734236 550896802 322197397 812046431 8738673 57487707 716678049 365543128 58843219 643498612 41821480 24695416 892208585 271395949 22092973 204654419 993360139 454923840 929853133 76326942 349315964 425061389 976425007 874702211 969843221 51107181 83066566 141713046 515319827 950279060 824068968 921485891 3679793 856944679 258785754 324284757 987717970 7998238 595630326 567532682 801765085 385496439 652816661 966031443 208476259 153780120 348661158 21002379 610322665 757314978 715304202 644479325 300879332 933922310 101842900 148318471 205572100 256212608 930110503 193513130 455903907 226876101 795991549 691243473 238023293 194326121 620444849 685599097 231273703 382041034 776333715 89979132 227895473 229414424 307958983 359124926 188217795 489761625 321705987 760636600 634026503 728686077 306549959 495637355 928970941 273975951 100800233 456366529 214031242 309853313 615341810 775102608 574650381 413727321 942286548 355260018 881752348 231735426 98758221 40138496 995908117 189710640 188196141 255691052 958364576 631163713 967172245 315660366 421302887 341944660 686459536 746902759 60883061 80237131 699029481 166661105 515556616 122814554 651169274 515967840 766877889 213447006 756495420 296188224 662021126 885124058 697650428 664309151 534277343 112676196 515715026 237746330 660932830 802209963 471876646 967563409 877064016 566179941 512395319 167214753 944989477 935899275 968951728 647922021 821369569 631053602 649286223 808945288 453229736 218424908 692519726 803027925 731987783 498018925 133879798 437244894 339844221 845388763 305423368 183796771 443962797 923851468 787072212 720263206 290177132 467055993 481711859 794294562 836831197 371956629 307715682 983036962 648688126 125991110 489169807 108610035 810140665 158118157 790622428 503419400 162275791 241369929 693162138 574501888 613620271 669522213 17887455 736889983 955466781 721740907 838643789 694452370 587725025 14178529 957010730 462768001 991842657 344144007 305721294 972325918 797375379 821392106 582193292 368247494 677544508 522286126 731670264 78190183 389000484 823535442 689066836 28004327 325833540 324347678 707693280 204157251 96646422 291872854 669110941 299993922 405175352 817598306 715653597 469413106 254643230 67172819 833305672 736666682 725968267 861154799 532755486 93940805 247419787 136575356 214725212 4854819 845763328 276061609 736289125 604506267 749160163 157061171 362317466 210934791 567802184 720011948 720641898 113184988 111599963 889914443 505285777 984235746 927246458 426091236 899377222 527073210 9819556 726746938 939862112 600313962 721695915 533690933 253453538 861139616 966432715 181061343 147591409 83756218 328466407 766414546 908511502 775488478 729831747 143276662 244758273 106504595 218399152 491816061 471456804 53128560 657133578 466024105 375125721 141773982 400820990 257641458 944894046 218865677 328059572 485559795 424166299 33790118 651019849 572725028 134086177 233044503 88427504 202209311 322615948 763714421 597240792 762800117 157848023 777661621 519546599 955719670 708320899 938799332 732210685 383066260 172931364 535959068 410077702 827098847 24126696 665249662 294092505 899205194 193994004 931454993 939101188 514564702 50167079 861304517 798730173 908938035 711522629 587662564 218732783 318578193 536832808 853223584 656657393 38184011 380688420 761179158 284867214 479367371 363728642 970514076 315913870 998085369 43208112 652681590 69411820 57478347 366144448 963777649 424447286 213700277 199090629 779790361 986640171 92080554 145809018 250610489 167671269 377532186 664387248 337416832 790344192 107804799 563714803 46477078 636268859 925210848 401839567 567668550 167185572 717374980 768019132 392659019 499131145 853303368 186606486 646853260 905762609 745506297 346452477 568834848 659643536 666442364 436141133 723623795 301084819 124292120 275260512 696008786 909124585 681934453 243044540 485603701 9589158 631461717 367097729 543504220 19746469 720054470 349385073 342632816 146888396 770486266 368862506 170202473 358295138 684203148 117446054 725962823 412988744 64818557 895941461 534280527 42714593 894728927 889362366 314980872 202088921 882032362 322319246 561672463 500458789 751547998 528994124 255839303 114650079 486187839 288262592 764847737 181525262 868075536 723632972 920490109 437866364 713319158 502554981 289253172 519365784 919635946 172627422 7925552 117914405 228191175 166235126 401478662 190800228 72891618 6977454 37953902 248181547 754964312 627435326 89835574 534539825 687758551 394063955 775941205 227886600 294783170 47754320 850887732 461722934 797827255 972085587 182290892 641778011 515716949 998367912 64128984 757314802 64159283 293266319 513176502 626906965 38851187 487204294 889813459 438123671 884340432 391511801 508324445 653334743 421278205 142068839 342477507 645058814 342179089 476781469 52732332 17216703 380506900 533538999 370833851 995979053 48199471 728811237 33029986 263546748 439878585 934837657 699017585 171384679 585162350 559593064 146969211 192386512 330868444 775986883 635895413 832495017 970823609 225674308 526171893 311669818 241812836 482266806 713207803 808021498 314547447 254781631 143352797 118713152 872053513 206575781 638801971 360160572 258087872 421579148 150760320 119773328 616678937 466955231 850355533 273565224 597280030 438532026 281525383 304386375 920525343 822610609 12915121 185420051 366312011 485709115 44356907 364448233 161277199 296329305 905944012 873937780 980182655 390139700 835201083 931137610 805269316 708960577 413634163 856001676 641358079 282519479 134266915 449012305 173353326 363799803 64583555 990057135 494790215 521713582 245577122 649833887 132250262 319893004 430224587 242757051 937737368 569062921 211017423 42161526 796401197 549535536 186266480 258950624 557378745 616108961 176754427 759169826 791600901 819205612 699933980 18643532 124845447 502694524 906490715 859516439 633122260 29691838 776277927 58626376 971799381 420438578 551389201 909610226 714014742 273512811 616527714 31275453 297474278 600659384 974036898 277665369 698648860 990029200 784437325 210171433 411021078 910088152 687261031 617491378 836571992 422840131 180013661 404966820 746131747 379373077 820533466 715575246 11334169 111381875 85559387 150968098 689569104 363007695 213360741 627528420 573323138 202432838 882011286 940286057 76247303 924879062 51480270 247909083 943302611 111411598 369082843 108321900 295294107 178515032 610052362 485414756 268959419 579649486 885717935 380727320 46449680 784039258 850223429 625900543 685599249 665984389 830417401 123459074 751577826 389797222 674498809 252247028 148648609 640218458 7011206 978865399 835254346 14003398 943434891 113597801 932819125 586196910 644305114 822973754 104164133 376498729 365093507 129461813 279157623 922564764 61100356 51136448 2281533 476641672 75676482 200615659 117889238 947725851 331972658 611805901 564215995 719092917 318471417 373468958 23047686 874510580 35220483 436722552 149006057 208315910 536922631 850688085 584335760 607497976 965127775 177436406 792194061 643695859 522673674 96385759 474795209 784449080 69953094 444244089 673021457 579769167 808125467 794453425 540413425 165922114 767214458 317417228 401943442 31336620 906167290 849854899 811473657 410716557 759284010 818890179 20763607 27928692 237249890 930233495 547582347 600988581 710580751 911524979 948688975 881859440 336741160 642855085 309988449 198632931 687762932 785980518 379470784 17326584 62970786 797597471 34062480 108967646 720620319 920083487 782976671 109479483 887311947 254257726 346957444 280098172 479252572 172059194 123012431 309441827 893363364 563513759 184741428 670034835 570534589 311268509 668018071 794339698 407167869 983257915 891180244 188783108 130445785 42816558 391710003 933745301 910099641 531049856 896843960 9977598 380948468 736386254 533240413 472457793 201786439 740892323 149566816 959130071 231594174 400488325 266088211 455294108 706489761 948119829 105512195 186729538 725834505 823456942 868741500 212164013 14464744 307612697 593349046 277766963 521174083 668892577 85607220 328689659 415815849 930582410 602871340 568789778 125942592 499090215 941482010 795287078 609199077 426602210 29275703 244126988 141212984 815551363 160833791 490484477 369463888 976278568 74313246 736837661 309709646 486026857 106513863 591101773 352764229 416847856 340984541 803312631 413492788 84539794 651030140 140003047 942051036 874843812 342528554 301474014 907950224 726676006 941548423 287479213 182975655 200955097 439334106 198242226 714812653 652630368 624700014 103583659 494866864 147218780 944082587 978489262 940049189 255610053 930384440 746390578 772487421 680033418 465615458 128923600 159575999 891616898 832051592 378875363 66193920 42206685 247752747 324774404 136634305 670707935 136923641 18125459 294701178 175204815 805708722 719591436 915647443 120393774 688290226 295880245 615810702 514104790 376760969 923823034 591989609 594027190 956084600 576836270 751175920 931328753 421756820 627560936 180160439 762038425 292753433 2863053 288675503 823903712 987793410 658323184 567545914 667809056 32985141 597224795 989601797 856388763 938739569 342076999 846230265 39767717 952423590 715180416 88867415 47160183 429065293 971710177 230712940 545838237 221769229 87120301 780120513 323430387 881398927 940773850 962640918 759570497 118996635 37219409 930340993 437377034 160110973 55759139 192205023 972841195 58629454 442718618 474618169 955946517 872708195 975689368 567718357 325318174 796264651 975151911 737374671 419811202 564682918 487440093 381558045 297656913 192220390 975342113 734780686 143447444 424591189 521086838 127474718 339073143 675457962 984562835 540245339 518082731 595669607 814061639 667069448 147421876 13567387 418974660 435984290 903572774 158609703 396627151 8267075 914828275 641913624 679371634 279800930 262245843 157801506 916833609 744968754 891998050 537781871 694685537 115864829 34335729 387729979 482733271 571520611 992646636 140720152 352856317 470722842 417886273 296616417 336854571 186561312 431655059 597688949 543355455 611609029 799529511 74539145 561542213 909246437 437057512 91744736 402439934 288523274 639407419 567224197 148612733 261375408 963549018 485157331 986620268 826917812 444373613 97234607 333841086 930315300 776041508 128983371 572969942 676010446 160529433 558653667 568427373 969294510 952374382 10618790 569465655 448979989 599166300 398891686 310783869 427669431 681936800 47344196 196989471 67826964 248218533 395864537 951664057 118670294 511185058 646893435 161964916 146343481 13289359 621048834 906695605 575290826 858992191 102150081 768939522 521022065 519421770 978106074 745915093 929990046 943516076 756704019 495182078 603056816 419403100 268629333 828312203 167492649 758786853 50963757 737335114 567183707 132260001 607124991 301966201 892540464 908305881 378027177 650287960 114271570 901700730 94838839 284196317 703666987 533592795 41859698 483801074 482462813 741508700 282210251 752202202 430086563 812995144 441309003 747464233 675416528 788028942 252315654 382883675 856868502 385022555 806348135 852800799 325715450 564421969 371997357 979529502 649175319 321115916 606424815 859539601 595136826 162723150 811805338 210399506 740688284 877331024 209798240 707794045 146044268 829868196 865892064 465767727 399212061 770650312 630554293 633989701 24783962 232181875 548342709 850848346 491196398 902418988 23459682 445803763 16581142 70534270 535533565 914214814 367559198 260958084 311480557 971989283 809634927 850253767 215703851 795292577 936494851 686733929 422394541 186118835 748514842 527171961 127504971 764894434 630144266 252987850 805097360 42575466 339463921 848908683 484070502 448767540 594642519 859052519 80979133 136337829 29430984 600214942 620076221 574967486 54055071 730994826 732855789 775839044 228381491 731263444 640181284 646113067 218115602 616665637 160753168 534256783 577953024 227918174 546544568 165302734 779892163 495503295 996044636 360307980 637020322 12114209 760299570 947528933 298207562 408281665 350019176 174907147 788734535 159800490 392497270 412607406 37990326 166714642 383372788 421394537 195434167 761588777 290966813 346170127 527173389 434137506 491459408 698606565 306935390 474813346 238111538 671745675 2763316 322394598 764683859 278224836 272010675 719849329 70478537 449002926 105670848 539419098 513743822 778039664 45832685 529315951 711927380 703089442 934857257 456982729 583637571 905985977 148117431 525663618 750954579 611524764 104447749 148027513 470403347 193260913 750156686 326629288 361619855 466902094 299977992 92063437 37121343 806947079 901261151 429078922 867267256 698073325 328248777 311433017 236235412 581812577 4513102 701184607 301658839 517372960 898783410 181668127 445129605 803974891 769399504 873547288 980235321 569802339 376612109 289216701 620558997 116999199 251046111 160944364 940415031 887030448 948925965 600643966 727340288 888345191 312826752 381770567 818396750 143039857 512388485 918466609 772503388 808166079 737920909 410181139 963770126 274457758 333874692 237493513 700139066 179657771 253940652 621438083 87564704 939173962 457927091 764253541 212584381 402578920 857781260 46491363 865298079 710531372 989027713 10803823 25770482 408345837 552825082 548315877 922899304 162651960 473666975 267308775 352709938 543759649 998869961 431013447 35343846 757399622 631023584 221297820 830050401 203687595 624375848 583956890 894072156 845417104 939556359 915295922 441593953 326854187 913578073 765956437 260096545 738969944 471061650 202562804 358638912 748006195 531536286 907384780 470304264 627630187 619251240 404884539 298834372 694583455 461506473 682536073 918001281 153858354 204010875 722342624 7253360 675637865 546061232 54825985 478974610 276151724 913190375 976138159 108881993 513838338 5561408 683427833 46171369 467996816 942746801 335427573 133123244 966265496 341331614 236700708 933535872 683075034 230826151 804902877 13670395 926130932 771734977 288465012 536865333 212272901 898090606 273359925 861908915 26708211 54624493 637742363 986289099 369004389 714499275 852118980 742894174 703033997 558249605 78792371 65244096 470682820 270144266 324482320 90861929 579399244 436578980 938252376 168361178 710067912 924260031 94472157 873178393 352733127 804522103 351232633 605157507 388095018 2640158 464995066 76800845 492567321 205875304 241749208 348605874 199547861 287468544 605689384 768187816 899174569 463742173 567682973 792602998 368725071 401306515 409651771 852081515 992160203 923307294 10531826 909525020 896660904 987456026 911731307 518499116 124749400 872867307 529138228 289143303 822773070 538602914 513400462 42154748 304081069 366413271 99866948 903240047 905283033 769788149 468769750 608938740 39198189 951623761 198187790 998484073 209425329 464065549 860282632 864920025 144908159 330914024 755305928 648412558 160408663 389004944 386239548 79889987 248565520 346484917 215143868 962778725 421978404 878442619 96561342 577654872 743712648 274316552 682501270 391434451 598069110 901625791 99368612 579775791 367427407 815934036 823289659 93850276 444656744 406034946 585225453 584572170 191738327 610847111 778708220 355064611 609926351 48991482 592359903 170920391 752993207 68502073 53050037 168240279 477961266 328094487 332111634 237687413 516082349 868487840 810408257 285852572 602512937 327986897 707812027 858227706 978843694 862773157 5946727 901425550 572475329 787580104 792768158 962612406 230128753 908822015 916450152 795066191 31175855 720332518 454813094 556042955 417825081 99239900 667349756 977801922 803542184 642065829 20640122 373198557 304229058 567848330 997492062 616912249 131317514 323810557 169161194 244114386 244722160 491965750 118667892 349627696 996920952 941016697 945419310 529372426 28807301 404610188 793369758 117615285 446945526 632982355 935292550 603719157 924999584 929925613 623735410 432320121 812309034 52678535 807328612 954624242 240690245 712297841 43748791 828757305 880753264 220090486 990327665 698995599 39979606 239674284 677121559 667523049 232310800 379964947 590998894 7306285 525601550 151289563 650671023 984995922 491710712 562913563 834506794 996643071 72108188 136583700 650246771 428507524 708315868 596098818 462213717 966947781 137203228 262213216 687989216 983561010 74799709 259059270 635760292 490319711 729399696 518012746 580420781 142264645 724391300 489719992 92832936 14627646 571791457 818539418 314527421 91373169 580324434 523985549 768484277 178488277 571452133 565524072 197583312 10089216 631528526 216263616 57807264 584170665 160863840 336966458 366165965 497922564 469645262 51960197 11371909 35505818 577560949 764323554 594148660 913180347 768725800 518889083 569253604 588504518 520370140 780592278 744832147 763098142 705702407 40868626 825259926 878652404 493084292 389214286 8733648 365333687 511613700 410992048 759806412 19116506 609927668 308563498 967714135 461438811 731315733 157375917 931458958 994357116 359726028 20837463 737101818 793067198 562686593 848309961 738057695 144325175 80012181 688213217 571302744 898902253 719461807 316646333 643944992 27370616 644364904 83320850 179530588 386575827 268363079 698607813 597860540 114758808 681338673 836735567 247684677 776024784 511341372 547601395 484337399 62765731 621407354 158223086 561969392 566746657 227347195 681219732 313927802 119426642 582251464 235861077 272028902 800560324 180403157 831699867 983991146 916505009 123447131 624684160 183914701 470041251 835316270 231726550 330665455 219210149 381981995 27622978 174927259 128256246 504576588 772054153 487920490 978826981 417429702 903516267 736913976 15497936 927941653 191280776 837345881 836492431 338572509 278569309 685343637 10229544 276098368 984340882 405688239 788397809 210466878 821673009 271137963 502822784 856704835 148800656 603288557 871744033 556398229 769707321 319537022 571055190 902820378 740265890 321085996 475424544 437031684 606532808 664192535 582288353 228114512 284507821 304670886 428739652 57652249 710422294 771475719 641228608 606539022 8163309 42218843 930568741 691733404 203988003 91950096 71386039 621657809 279752804 216636706 722037376 625010443 984825933 166437240 94865721 123770903 287611613 327742015 301455760 76144797 382646878 315387143 275217847 290284720 588556622 82179215 26847734 175782904 751466131 596559150 220105536 755974817 859488537 47162318 468371061 147824138 210965874 784737034 913503619 264328455 637897238 869288663 730016761 581608947 149816689 299138681 518740693 367394976 599492557 988358925 306920174 782526392 665080625 154965939 323295552 643461247 526044875 964590389 53565788 439786381 514867704 428091049 403560690 817729411 545594144 874032109 306091456 965239358 596014579 586128875 546857096 660293796 134264147 887198705 819836562 497748931 415957020 7643596 900056099 260733393 579418980 732558805 834017587 831111152 699285937 477255214 640702818 137053367 582541218 14656423 942650980 421318163 96662640 842178565 870494599 568548063 36804925 862955861 68233579 285055859 916590911 19230028 221384112 864606485 560430757 341825378 846735603 301150420 408177366 265674368 314929189 963157047 466809972 738590299 888173439 953979491 426025834 178002401 893383229 945606321 344953480 293845072 598914360 930278339 177276180 98125384 898600929 830269454 257769609 541812708 741710913 943913799 176600227 82194008 310672041 181001370 991516598 738557737 270992405 768637143 248655463 693350799 947784787 441572100 54180055 386467627 103242679 167781166 978362337 904860151 772954153 30319504 724870884 876008145 951585148 994989212 496405906 280467491 740830470 430175997 788651195 740876823 499082566 101530871 650123907 634230206 903859973 623834221 900624614 586737397 761003726 757075424 414362508 186012353 702562522 951544196 466242573 352530060 27959229 998053144 532819804 590015474 766750957 332855871 103140379 288946492 112786939 220033660 195690144 806912745 6580308 931477604 860798404 566711839 766088978 799847907 727491723 771064570 877977637 670318842 826855767 937682783 359137550 826802359 777267291 33523369 912706360 584228373 363530542 453700198 978710117 211487514 942496853 614385660 809059749 479686924 297150862 823009777 714822438 187461121 427665873 217358256 864558350 331473321 152828976 862526124 224026650 964331459 95768391 130232704 144901158 645375258 146864397 169184882 888894371 456547053 17034569 514144039 541529624 605988681 529405681 479791427 628973365 313620062 908665987 846936444 333807395 281459212 146407851 522554320 125203072 348190649 53994065 246573485 492454319 999141422 730888523 88006760 528402297 543142927 333139442 820028826 568013633 115534824 772585842 576581698 681760262 343137400 825798139 492483696 74727409 459505543 936762944 562827248 510152913 972844276 784032060 129973945 897630915 19298527 618013515 194569350 911791317 326847501 690689566 792756616 861046568 180585993 412427914 458844800 801117697 305074943 129068635 959309121 165597533 383998144 304402842 315034729 447758618 587217723 124845570 904635415 312638598 567642740 998475250 968594453 937670733 397572701 246462915 815229635 699617156 532647076 270723760 794324490 228969017 349811267 746172574 807238777 191763583 898559099 701884585 703510185 796382535 757502182 805714744 398806074 757540636 467619980 585683991 690053864 248873314 739871442 616795350 989051773 92753107 290439035 404328265 118087383 837321823 738051897 807294013 814276101 40975742 883182218 700963320 405047130 588210889 344141885 627515858 445629636 249338950 624869731 761144339 108153749 282862763 878928152 483391719 769583497 822769632 565392183 955106285 352793679 372623257 638868480 419803691 740583808 166060292 437896098 13629340 471018826 883498771 884827190 493999753 706043992 157251273 916273682 956042964 638181034 909995752 891575343 183416657 991565212 229718990 966527786 524735960 228624857 110855951 406563112 970691933 256170091 159097448 554918209 236048776 657624026 951629109 532123908 520856753 546552759 146831904 402407310 85008964 576049596 329043224 75382354 809103974 911154821 476775789 999480884 547926106 596266141 398662280 658176591 333724032 870758748 20978627 512620056 45677015 523938559 291794032 520404028 431097800 874111129 847864286 500550364 812731891 768801716 710425468 459393279 662784646 941908340 90839384 981982354 478793933 517620948 416870784 456042443 470057636 614265177 278325964 17228565 693833494 281353168 759409496 928653069 369433407 936294642 987704949 178155548 252728727 626684002 336232106 961515456 103595136 732870060 953173327 187921533 297006747 603122497 488810437 470893390 586516487 89977069 984270209 874859985 150167970 420022551 534882881 702124180 399397108 114302853 903404712 504870585 390510886 74810775 303444897 248991496 887790431 619731496 996210796 809584374 981422435 232484195 543203933 399066875 419369697 743260162 651771352 225200304 824611365 41464220 248132630 698490753 314868834 430329176 727715452 374936958 775216370 58438243 362753137 605316394 181222883 793325059 824968042 771112484 879800781 219184904 198211577 384457644 983411051 397915262 787592175 671255978 921376510 574492114 711441674 526830758 224750613 995691090 276329551 422417056 790638873 447797673 712274549 699499775 30926271 161093392 866329731 824348993 497354732 26344726 13850349 602162357 903511268 397045466 571609028 344427480 222362180 688595983 5834779 192686457 492816074 850769089 916684407 790820145 520936023 875741862 525450023 681619506 516169829 865898380 130855392 76772258 549457563 541839334 943718464 587852951 916719886 985757335 52331538 612337023 417332 573722965 220165196 220935127 260280099 39573480 469966667 65702211 594966465 119194814 239014083 260426242 15305817 239682759 970871482 517926763 255281443 168086193 516783782 91384224 950445476 491585658 98390496 748174606 520259744 499854428 54615171 939960006 348847543 154279456 779593505 738503808 86321983 814975931 865892554 707004269 35465696 257555311 554803041 321344955 326254992 370297011 255180085 995648721 269695102 496081331 253374459 138358648 683786139 995006428 627284171 707327573 929301915 750096327 765705913 813126593 623979858 241427063 613723910 403575576 412103847 162481500 430083233 493829118 98900052 902092060 696413831 419340201 621085662 603186174 602898762 115015865 673767034 672574842 875828265 586988868 285978826 737628699 135612405 978075683 903030318 921461516 560903716 236399472 523317220 255264926 383760937 755890021 191379586 885621158 372634937 932187110 32216716 278410295 581938436 638610013 311305651 309551290 637659256 547689466 676794488 285769648 739629670 454795922 842335245 169240713 261732582 438526227 470571832 866651512 463591698 954500495 16482951 80223435 587198862 75625279 907595308 647103611 331980788 937446336 127429779 54081713 815352475 58276811 28183689 261577488 3954168 47748729 606422098 869208097 779191886 258214349 876716928 661331437 290243417 185945702 735403364 41836064 246275354 693200165 167369032 536819496 265965255 378952327 546268194 771501311 229302681 113507097 611598199 581554154 775880437 642207446 924833592 520948448 207816248 54813519 757324214 922619960 24498496 630115004 867846324 950181844 893955411 444480623 762818198 455647516 153682808 89173372 986205437 268374529 495983583 763901706 125289065 218253817 668004406 276429240 153396398 718291749 54330627 313662648 542056016 665659650 690076289 595775273 724851602 282247446 644783396 390538645 371054382 299963254 681438677 936550978 446930226 44751760 528316552 4970597 589783117 578699872 786465294 759474072 187098792 981470701 557850594 249049784 671766445 653027435 869832549 691106900 678972661 679163085 532038807 638093178 441647949 793290951 846773829 542046742 314724838 976750966 433664502 603417173 179698030 968832504 776760418 819258736 18613344 494931326 939530685 587860152 730994533 464078397 13831593 11416791 528750812 651155668 897058217 275543219 406888037 286229737 883766948 112139325 34000028 482831040 97673473 792556342 171590389 885518576 913841695 689109848 53748651 365634526 795750744 530150783 707054403 55769819 476979262 728218933 343870804 980989555 836484563 517296315 427957379 734154429 683755159 998372625 568165298 914275667 554979847 596103974 582862971 924935326 534747714 388072240 89169658 507180458 786115021 531976733 15909387 44791546 683643384 154012976 753818951 19159077 725017798 347436996 230417081 165347838 842617230 716394040 641719067 785336568 106029710 570573985 356548652 532715354 203236782 265197974 804246069 291806226 307170409 6815334 555286580 969564894 964026768 890557561 937238966 242768504 578990481 141189331 789027428 590268587 308765411 257768051 565211220 333202406 559586806 427453558 950433093 155919547 846824921 393169161 266853742 609261027 725390158 29868308 249079080 956522015 698950571 988051793 398838836 666897424 564558950 997446376 514580556 303147964 356731191 673519975 357470012 800619232 807866991 633575338 29695746 355979609 880232529 763962991 92630115 233440976 803592372 133707490 347684140 133883236 268986972 222382959 99576867 799898293 376182917 602568337 599190650 966186643 827669810 620368147 738977241 636215872 441912927 266659415 519422744 65531919 333513400 687693711 872289033 150464240 506246607 685733083 972141755 695145393 373503182 739446129 547728396 762107040 422137059 600534827 389146835 535539846 408377553 767251936 14877105 665838292 619048087 254485625 462211038 97445928 690381198 928355798 296706124 30204106 734803221 82787475 925309272 56919635 663965470 632432993 384177957 575254629 34062852 241950473 481357724 427561600 781171101 685852956 519681298 985650208 52303746 774965252 205828282 303780516 958650476 715654230 39879096 831859205 247734150 75908019 81748078 37568831 90555342 219413539 874304790 794876417 125408369 915258558 792796689 702902954 940219505 415739286 335589356 113359072 467392751 135001983 783325443 534530644 675233446 872711344 469547796 58815393 836535312 610534703 837338449 181695436 173887397 582867033 145542306 654638088 51468693 110623823 70747183 69866043 666666461 600227259 374839560 284338348 671562798 950281530 251855966 353776521 794887 368830677 14481540 619093448 70221896 653632633 902922200 67843947 860731527 505941667 557436662 233036349 550075457 580625410 918577890 271048758 709688690 227888014 780849866 187804087 679223272 433363672 396483826 476346988 816902579 459461223 722370500 115970616 200478388 380743146 295711188 916709006 105845887 720503069 158054193 645464720 792965149 603589794 549512491 443669221 923165190 188662338 33742325 71259727 434368606 126312076 935101021 590496680 809805068 425112710 577284795 573913040 210421119 51784251 625141115 313696714 15003480 536221431 135093599 590860302 905681111 311532466 266657080 923351815 628164961 992474284 735255219 862409474 1688547 100177549 284098946 855238663 415032812 399305848 664214787 671832693 901951157 238953087 257638492 760917751 17567526 188521791 395778289 490063544 385365393 722018342 877070186 205823271 922915729 903113871 114002327 606140832 749314140 873491720 149411140 249959938 621057483 332142937 998822384 211900572 875038278 779747428 727832687 75127581 571552919 498818423 247680335 279380373 511758443 247456266 454690328 839982036 211347402 564171439 458172692 553882682 93451115 241869767 139205706 886658209 21153618 565958247 180234412 461365942 447028715 513981745 791486697 53871216 685221722 767960640 490139890 882799569 142709873 487775867 502528645 749250913 956041363 603419999 612960584 463900075 754959086 942462998 931541007 981870902 398396798 450115327 60596731 211282211 51211497 426088401 659535512 989594278 786361167 551696002 448712154 389101345 78736801 236127749 278933454 589132340 987912516 108314977 352852702 554702204 995774627 30212868 908350823 769624625 585856589 257478410 654809564 960780879 313670317 314691497 257025732 455227302 465007709 995888221 789539676 116156459 742162483 12354690 499497535 534387197 236310895 485624164 352717096 411466370 135097888 826643654 893884024 163679810 734433259 898821706 305792464 774249732 84858660 402755734 791537989 99276961 849973234 145183764 564462393 8998392 698327352 942894155 203700905 529391894 73640817 356137272 361786484 527379099 546895074 31169101 534401114 886414077 110527641 456384960 469242104 610822916 437756432 952098044 642200897 397492413 784282406 297094190 184989251 36988654 602400001 835729299 942251011 226080682 479956033 242437198 821066819 789577722 656266415 414332563 141949977 302196745 18666805 132120557 371040067 182140372 90713050 507198040 678299591 21790755 229274793 126524076 690061774 60474289 311276035 804514598 80695835 988235906 106518628 600981792 375015497 545531923 532047638 145656389 673789625 303244511 725878336 604570981 341288545 457918052 786057906 279428091 665271859 238533504 731986230 295290657 714783621 589350067 771764879 806834684 988879305 352943956 315700783 757396706 795449281 363906046 710478663 906204392 525991714 530325647 719956790 921909844 835331225 166245635 46277358 567231547 913299246 605296633 227155 945070010 874123655 626801562 618148272 297315291 689682210 396760971 215262341 699094104 344009230 896286363 223350776 150089934 184409219 772786527 34549083 75417743 585068223 744109046 984817648 690810556 749476426 186897575 468738130 913994736 921951091 207960837 73973363 478338139 804069641 263343621 561090 766859886 977286877 390933427 244114858 394176866 915705238 510047447 940107838 288367689 140475773 861620317 118447595 21858226 862929620 712239970 338190416 447298878 796481833 479683182 76335986 395226576 478975720 307251144 147616789 479163527 380187231 161748232 56188989 55663154 794682992 784104037 775164661 974819464 121845007 679560469 48429051 718017479 625219110 248713779 855895507 995516786 714368140 906097297 84774092 914374233 901581622 441943081 563951113 130344798 592366878 385672289 867205942 148768475 382015487 34034424 382062835 594149705 735985967 540049483 661886215 83089632 246335498 562296053 652745981 859090115 572507486 447163165 193937471 894404276 207477607 663636014 771516777 293808846 778500487 746043017 667071746 271171025 93175522 576958906 40341160 211829893 538186824 398287408 291830525 661379556 538514788 984613495 940439100 293294520 251417093 707008153 312121554 559264733 732698862 115361271 327900176 974902748 759701579 393528158 97106780 297212905 197237678 711260256 595820220 90007408 177212598 886611163 790935213 142576280 907793102 570352936 293745111 96952229 955366970 4578978 555351098 395998327 120018975 456139573 93711269 512792503 75633262 830892766 373327716 54491268 58783311 245504458 310873673 476191256 879196726 662791671 58796352 612781574 692148695 573569500 161728951 815391519 400411122 872794857 51004585 581693828 130753085 43924672 440011367 496003739 564146147 947333662 499857990 667460192 22316917 641637268 831028226 757179852 263977066 108886706 988370080 502209757 792778866 893242987 728530014 930287597 297646120 149145816 329307771 135327597 975712544 880950907 291459615 58990928 695408920 439616675 130888678 845606009 785999982 884618800 107253193 501752173 926099404 518873181 984978243 595499884 794690074 69170371 383727338 812825875 114253492 125346548 360433481 330183450 934916822 257906642 552377635 862409423 185538596 282125707 597144039 721125799 113143281 809614880 197349402 966020218 341706962 494655214 975543531 401306413 903649388 402872469 768151239 42235579 237890505 316751466 702068710 856426243 873132934 192647317 868071958 69669161 759598928 442176959 682134754 282155011 618571556 737796207 128652279 840391393 512972882 412162366 152659460 662175117 486064245 15520962 895039939 944352278 116084446 635477811 364535240 985579634 740975363 107654159 832850331 657310415 580091285 183712344 142311266 701680706 335663737 182295534 829108488 220464772 938575629 369916942 821025350 588466379 36982166 521666247 725230286 283622145 164036175 191185330 493673983 131261085 515464957 562291779 824046454 96875887 356112685 248261351 213722706 847626847 198259933 203995118 971147323 881490335 933526609 749443682 525733522 951346003 419827178 434700570 209602732 427795185 994010164 832651787 488482323 529608909 892393654 399461826 560038668 758809576 198716953 474343957 81404789 892295910 664278581 533194725 689008633 470358868 18014721 825564472 414971656 615699100 153691138 506074515 520506267 733804703 69694941 488333589 64203372 817789450 877286990 409540533 584464132 155506393 458049718 894645299 553340554 739418081 420577137 684624633 89725771 337934247 235864545 898107688 475712016 968217498 324507460 799051764 76848091 63696452 881871058 195323640 870734731 826099830 844035831 776360082 230769854 136544404 170185934 486107955 401853690 615194578 669398465 805916046 992627044 265678315 140559016 251587568 546916439 804196415 450589175 717245366 438986157 75236577 950925279 726693023 247345000 634549835 185086581 757296165 450603721 849407620 366410694 656651810 132973484 259627591 93155278 289946104 370057490 522771808 860744356 183790438 619838111 511099329 536491576 675748478 319037931 486969844 365300289 784921006 337909169 981480776 488757856 182535775 218620509 342694797 75393768 297601660 310635665 105949883 928245258 903208758 691419555 339760075 839789144 445788622 967881815 382967430 254520515 473476141 108531370 509160856 441896005 44900868 450927942 460491140 953018907 119794841 419550869 85070768 117903359 747435987 986278372 200760112 793303764 868954555 918383683 689004066 445414431 582283133 813539711 528884615 759751886 786197581 319429954 465600992 986722966 876507943 799607450 363066160 488971435 224945977 871839906 183355986 699018507 770344277 271694287 896599814 270285899 352022176 70096534 353832398 726789469 53672235 831612015 462788019 91327805 395115019 553177243 367859439 716752392 462086003 599124133 721781900 973697082 131836276 50675791 805737741 260108260 427624 816388087 873552791 701934756 603748768 317933614 381586644 398850299 224274234 11345851 269579330 859572012 48538722 447329289 80222605 466077705 488592471 388106185 662092052 719395738 845075493 49678863 61569181 980917971 567038795 439607382 461697671 685030441 55470095 560427083 882458185 486178838 653817806 451804879 595412025 887327406 804834324 222074832 409178213 126449577 283188820 70171397 585410642 145305366 701713692 252192126 865121401 285869207 404727828 299441826 936349573 499373857 375357925 512337730 273976471 262057987 607254836 77198221 767928094 177923121 428282717 754527783 41075954 982373978 648637249 370379050 403401464 269698417 670358485 522831739 550706323 111292719 667264436 508928071 599440478 420248412 261104035 138367035 312173317 207435320 565887721 317580331 319521351 113077738 493136562 862579910 787933475 587390267 700641134 126070593 209161648 258191401 742205069 983352385 525107395 82465597 120342620 547715401 565712907 580227591 893633918 605556510 389963517 465489655 55746485 799918973 833985315 352917739 91579423 628664950 983696015 240371119 817121858 65262915 953146038 990471703 412215072 233794826 115167709 425312898 920605749 283750513 241150911 273041154 205854596 806952347 762936418 323472910 160856572 884428504 626301318 282328379 799649385 746504535 953927424 378889788 309007122 86709628 35604902 157487416 621273929 844847362 387499916 608114910 992127579 988457256 551521894 447427571 942085682 593368204 508780368 556968381 747603709 840516314 313103562 334569661 523396207 782998645 750298597 119148137 396327701 833961348 133225459 720008305 345546531 440615081 406240292 404325273 985775323 919099643 541640882 916557293 368633872 899092403 866932364 502607216 603839613 899885150 204069948 226097183 721025721 605539309 376538971 722881363 650525457 178233446 272033964 850185042 137780754 343498660 604430665 360442127 694486176 11848751 897520804 431214735 645776301 71622358 914569188 455933183 848885155 227755977 529877935 564625873 377315819 268909932 329675865 581226926 59293704 555770942 355144113 600599659 2275509 683273626 7737950 212161787 25909805 408965613 847829629 573253003 123801675 88176448 472608169 685498001 581093314 666460827 246401142 984275689 964305801 50940338 4830899 741971258 812484421 25676601 293500287 442893522 209209948 676049914 480274981 909778452 162543075 923591509 819142597 708407990 570738182 412474315 407345662 575143347 964110069 481774463 849624981 619391122 472490420 565906693 617831302 78109927 348870240 239014897 442820627 162311854 328337670 675889157 888563399 208979575 244840490 121318613 159476658 309833154 461195376 132895830 108272664 544770354 387122672 824542314 710738603 209106173 931193493 165091336 705749756 856505949 895269629 146375346 694261421 106637776 299562547 712933429 343227313 493533247 309058186 577399375 232215535 444189013 394183630 694895329 98577670 437336616 893218128 594516993 370780129 269033970 145236706 687794722 185918304 335178420 285241023 948228181 961534874 771816928 252351222 719375076 889358097 614316900 370151797 568107597 953534642 951263158 133880161 147382185 954352662 336042818 42392530 489422169 522751970 327972591 100357378 465724660 504739648 399816413 772968952 425659907 455028917 196765324 631174209 619231656 245808524 628248673 536086548 878530656 220935962 835632382 349118246 789904930 428272490 488783616 552046325 560895505 428004610 411033837 172177902 962092079 313594809 364239823 303863335 342169815 95669133 573567798 80931543 518849327 271689385 316087363 997472584 491873431 535606475 922510201 328636366 782468484 486096583 910891334 460921351 143058581 655989778 999883636 864506982 466869962 514187887 950861427 912473035 485045190 736366242 181419281 165329438 788256063 544673737 474365738 285519148 288298385 574460184 103587134 897284209 519873141 353935693 734940274 620960849 51495174 156755514 62285278 439976109 891513008 415636976 104924932 325580945 199462514 385180819 507242445 742231428 313082475 363327924 236850649 885883615 977977395 872692225 496389477 151112391 772191228 582274558 166580316 50791493 217825043 16437103 757250980 544423795 119127085 279905020 273193812 469562557 784724788 434756166 544124842 193882409 767675592 878415126 317343665 619769386 420005789 316064795 665337916 668169054 468906899 189277653 430834530 286252975 546970378 262037383 137346137 770257850 934109307 94343244 396917807 591827552 937057223 30689947 743104369 252119142 821846653 387874829 452607021 550341104 318485179 663446081 883896537 221861088 318677179 899300268 78410507 946773136 376669168 809428771 659275694 554919725 658391867 957471548 940794 723994178 39299973 453208663 753739846 206814650 328171160 647981028 590576049 666186890 551881821 880547205 907064412 571172744 503564491 127131623 148207373 857595373 801583645 640483885 726352843 582092131 375474437 453442602 787254618 640418792 129174506 221506772 437692652 158860532 908886331 106957585 686000050 651258242 689339147 306668574 99856363 872466170 632949003 290801856 377700115 675780351 414106608 430548253 28008495 298581757 447085585 749978964 539338116 130594476 942172610 114332786 863256510 520019311 153583451 116206002 716495880 427325789 289409464 747477244 214085452 102627610 38233470 941480468 281380871 869486762 36512372 882609429 540929810 125226611 466352410 318494805 210152190 135575836 70219923 902540517 58226159 625689148 163003858 292549151 889788635 635280664 158073999 239142411 671966083 209546031 626598489 12720418 954089754 630664181 426166938 646042360 699877312 245870501 388843328 769509988 704568567 961855540 645476799 353360199 811659386 438213405 397169805 941614196 112038694 412771494 188133161 443596952 923190746 975848032 633639036 772160793 113929131 340332744 22019113 602595443 471011559 67622036 674042497 358172042 182684754 671717003 755761961 822515281 148300737 302319038 322332291 611236140 894291472 217370144 288487591 778255160 918177703 821500750 594648074 491345099 767730229 452466894 268138337 232775555 874096149 310116988 991264480 719235563 303853812 479576969 371688904 823801574 18700314 198567212 360866406 684211240 894405409 985739890 714721005 374844736 796414823 90426198 991687894 346619514 345934339 927564699 314306210 737744760 753326673 963574441 695189604 721155949 975713170 998825186 181425857 3983313 22406832 830186926 38347336 835578658 317997641 647794800 780534632 234213746 412975228 150874158 972618445 840310604 510039220 316272927 66449335 113642563 253830208 177563576 169305046 151293341 758218982 842184644 601661198 973408250 147544502 794400826 620953319 993832484 907065954 754131684 834916393 800085007 265253295 579878223 808931050 912805736 96416402 778390719 187606585 522356514 989014569 587325327 237080976 596977167 402692720 893496450 318586795 164744893 432353963 387963281 303957413 651391958 937911260 847817995 632654948 244124070 83312974 672530502 121676876 730897228 862251133 225975693 271744144 343232131 57183013 989814622 863544256 284550746 439275650 165832491 527695791 276939301 184494413 143851090 824473884 603230469 345579445 724463893 621941583 743635782 176862727 594595337 468691370 346471669 335140408 768921247 220133203 665181141 994837895 131273100 260270854 29570825 63053072 3172135 878351892 146750835 41866921 480353081 594643255 685533713 568680086 214154983 936256769 186046922 228529213 900566216 560283982 984232383 804484341 861771053 423619673 769438064 39616294 131711467 684876103 321437097 155365120 829092611 264084060 346212087 949621046 465939954 862527645 496311288 819677625 66342197 192746590 429571416 436384755 86339638 477201170 314599193 276279300 620594278 740824408 3724495 892366005 887941530 607048300 453691806 445399374 544744004 786816922 648601696 823768695 750577716 515819654 841419855 714105707 189845226 356132250 583786177 148743935 513153058 159870544 153188318 818183251 176712869 965554291 832090438 62580674 263255896 895468996 975310287 207892054 817317876 431169088 28065345 908939361 419441043 553906142 375776200 533227672 915626293 122114854 830849264 931923610 407769598 714567930 680208213 455979899 256628700 195760540 589716878 156684733 957173101 689044943 307450943 986471995 310434912 394796048 359595733 716179689 53687400 493811425 512615096 530810535 410875464 893406796 167674502 619364682 56502405 301604433 749822550 943282905 422382115 754275193 676297499 855007269 189008027 210705929 489038014 210302571 916693467 42855195 644491756 303174556 683683102 899286404 612174683 429736005 449950448 990742427 972892242 229385853 899571083 626938862 387694506 936603976 774309365 978015346 617322256 371132838 840464699 606089689 557535351 43232866 725953166 370353730 262285563 244143510 468434497 658256165 315105742 214470110 563586235 572360926 378884777 221212883 257271185 864773866 898522954 356316942 332503365 954157165 796283675 747098424 872840455 98663565 933004693 586096379 782238629 868933269 450302896 379294016 188373277 388987126 400309716 523708745 919967385 216555669 88555132 302047632 485987302 899570603 387180336 831215186 977225578 306048858 903869683 327402040 621563627 504501338 126697367 133374473 947295756 140597625 39367398 342345953 529989416 262744378 785788903 627732945 293036223 756610252 856447801 228399528 463679297 173798836 167330490 473684219 470498897 602403335 754813089 241579197 850659060 13350205 847303353 657762789 878772438 619417352 350304875 709526870 469164686 996846387 815430941 113067177 872080051 696210509 413410603 828624185 589028955 158283542 892936109 47160750 976911320 239254192 496513892 528094724 975181277 471822760 806385937 949121995 557663083 423530482 574338891 80218203 333428872 830844445 706196568 75946973 168058317 577061431 777588227 843772227 81303798 791409175 983661183 131815921 125684765 280556138 132755020 69991078 455861711 154249540 849631263 273222111 706887985 352247949 690845397 796722051 920049796 599552307 344809513 636690294 492726915 871586462 32845956 763453033 479892620 212996002 791659329 72456557 563880198 566307821 186204330 447889786 535590940 657934985 147881943 84031835 505513773 111623393 425111610 656962219 509144987 192968975 185761968 782138494 367754104 487758462 712332668 210052906 258029240 977975322 480040548 488529968 916565168 715233636 857142345 744766099 764923328 53126214 831028679 65876401 563888235 178246504 246519008 929138239 461331142 165041017 783858104 770082067 819617561 410474126 827220202 411817581 529251889 839276793 373948631 897195881 719736234 334488781 541340245 329234566 842547154 347254217 97515101 951748781 866427470 241974070 354817134 584523841 830096476 658386343 148959183 314532268 330688660 524292767 71586272 182448689 331189647 210190178 114394365 495524777 857654396 88157042 183894571 736234622 759625811 785512926 900791393 109192760 224268860 668176484 412888859 509658280 433679709 788310962 608169822 258818228 732368857 360955618 601053264 371682629 562814523 554873775 324529644 126114027 522718838 158184074 71037548 112901778 267466770 570746929 731833414 413664832 511402759 250768018 647801134 270973603 35310949 814007298 744386443 742221881 987829661 455577873 288217652 548431829 651945480 246798508 614684672 405402203 611176393 618946585 895306912 151782129 899264779 670409549 836921624 833713530 741021646 807160958 720675226 285597460 465634216 77789924 690926812 385906650 402502135 260023362 208827875 667482058 311727089 91267188 800848272 173112425 522214879 94631308 629391707 432259258 617972063 143654055 429845892 615611112 279931715 67694545 325383539 222479144 929785343 162212218 819378302 613164079 554620966 314448802 807558177 259137051 597912528 281856602 249109921 259865337 302236663 290390737 676884539 332896636 750494852 64777994 397845640 494401667 709624901 943400251 713421366 465449301 159980943 182091796 822607372 165032886 388417376 935602286 298398926 707871413 63447197 583204542 927454493 494812746 339459261 710021368 741251423 277845123 480073328 720276107 348439247 776300470 451408592 717914705 575780147 213653023 90444429 261694527 123696760 824836253 174177219 385285154 253712279 429093195 800227178 55893067 421157743 542726879 340273838 958822051 793289135 447152467 807956116 226652921 113123707 610814302 277947125 484288210 589193503 74336871 80408507 815371753 215672696 839264117 680940126 265086133 820893742 373519642 251291975 635046305 577218361 333891834 816805747 446996180 170292181 925551227 8742182 269009491 702971806 853628211 955745322 296317420 507760782 633348586 623677419 913576387 721069844 819985554 49100165 98547173 712244423 613866996 811735255 798141769 284673493 920396958 311231223 938533415 902627080 801430291 767551927 148598829 884406707 445682708 635073356 493795626 852545232 135351048 519912969 852708679 825795170 381536401 656395192 453516004 426285834 175780221 49528948 463606839 538757133 335306192 633884364 18363706 153314591 561476510 325360464 236391220 654991119 420257165 387111670 608189483 257286013 408446120 541127081 257618938 320506472 610391367 256441314 33456572 136793827 979968238 685325522 380084109 682793366 682381274 155203465 517195345 848152323 886008902 722645175 587478866 48567653 939065645 489349448 317327643 872786299 742217232 82589749 722170008 528094690 420721619 966201268 454827059 456363197 32786217 289021298 129855254 848880906 879670848 821074746 925927799 184240067 411856415 532671808 209297857 883975660 227410102 497239560 305995760 157334569 843184464 961210686 582020620 78871060 78866531 148345753 294730982 872539586 233198787 349043899 935692725 868461060 816745025 984339356 680699775 255160086 383637937 550582956 427085659 913417901 659454142 21473965 685403356 874158490 315202625 408934041 735412593 577691747 223714235 904324530 561209465 118982674 412829630 592608655 293905047 450786009 458088781 75706934 815426308 996157368 798747636 881591032 913169492 75242074 722053324 403439601 736256387 363469060 482745765 340022920 814109913 283877725 373464677 802914405 216434265 924518465 997171847 452062128 771007352 183809196 336138130 534709305 340225768 679630563 641443840 226829641 298907571 278329064 88551896 607785339 888336414 32279421 729575515 243763601 591801153 853653753 239220242 277065874 745287505 733242477 910024049 466790223 955096 931040919 995326968 428134659 303937467 38513354 984762537 575105418 816720619 308859287 781169628 829412281 764134864 262250759 158363950 615463156 760730349 152408709 946147202 463733018 679785580 662367182 444405161 481733974 821562071 737547373 563695728 86994562 19819984 170055470 872997197 983941155 525253576 110169567 401261313 676933813 321234603 744429495 81093173 108923678 172890400 624823127 742012603 642615874 155813512 100598376 591887164 32760168 553295775 551758223 807013553 888550482 15386776 86437673 299912176 909493390 151793468 448856677 262433042 161952933 745591701 820724752 891616764 496399208 997761641 279462819 997638942 323066997 422800325 642924207 413528669 997542895 404941986 526105045 298764304 84279682 445567920 754849181 314339283 533967683 37686804 977243079 875760276 249167942 680352419 147304630 910077197 824059879 857095821 980428938 765808224 802931079 204795650 228022513 870736018 63647336 194750206 484433867 533450928 745762536 540213477 159826739 742100192 673240777 770675800 852370703 868918810 747032461 360700108 559235656 103134652 315731816 142888961 503036871 44685618 749005148 363609456 990775498 408408184 421489588 333773390 333683061 393053463 164791046 170621233 427938396 3139948 374121827 90173748 304956512 897631954 443646656 172537442 556398993 214942149 825842793 58034324 384701122 313488990 514551751 837016942 518848407 194420879 177827752 429912732 760927399 663169617 710466467 508124143 975204025 260191508 303862339 768606752 573695900 199419100 735423519 671014919 768115217 657734811 334804468 808620503 852559261 324633902 481632428 589887139 38736355 473803394 531902503 408822552 18491138 561045930 407730586 132347870 522660021 261612577 887643255 664752583 137909354 312464547 300208478 220885834 455369160 764910147 56066975 331973877 200896975 977711629 718556664 479772545 22249037 508366475 917088952 866919070 143875009 216731993 275201651 996531646 767341190 75771996 346397668 127524239 695854130 62998114 592571415 373851638 59240901 474157963 564936527 158295260 313178036 138259604 655695411 214146282 354083510 141619369 195073858 883386793 206387557 969233499 361355505 933425292 441152023 914485657 686125189 829649258 765922102 572914695 884453629 483155496 770842885 979129028 799378525 556190246 556028549 328808098 181809819 528457811 693413425 291350535 87902223 150079499 519844220 961603007 102773856 74970038 269512147 461542666 267482086 88224530 179672467 450614131 102507897 953029154 338327693 721698129 407037788 456819169 331417906 942535711 454203785 551955745 845553096 670646939 132495587 807290382 314596600 428861047 211324344 440142609 196144652 692761597 801714349 649415607 536020969 301675409 143550475 911274588 779534355 961487035 488940284 734543068 514281952 340408265 104064994 200915054 81424314 457540361 296220309 588988574 75980924 317088068 495727703 711052445 46442259 663385433 610267493 103381529 482926957 159074765 81974159 766876816 376678719 405299684 413638922 954107814 139728946 103179339 612390407 568004174 278093079 7713418 380434043 67009265 857716867 832382132 559637267 498747139 636711407 831550588 542584470 487845057 732768736 66634965 431834413 980020496 344247800 919233268 673568747 522150531 281824332 322563003 396360410 893693571 694296515 50889890 337621805 681052067 488374210 221811977 890297202 818571077 445076173 702482749 338079563 718740743 500604292 972160568 709678864 368599842 511516470 851523242 354433337 781594132 694656998 181563792 594460416 235700907 930622855 613548796 947144267 303726257 576433800 423163061 789477503 568769818 943048144 764283579 275560717 936466313 567716605 842204273 108866880 920503886 333235615 177652944 229415637 756838031 648118470 783691165 827993495 15721578 138826781 588981529 172214472 577212909 984207237 437963110 900709568 837274809 574574200 892928723 415496256 766485473 531307667 464841431 99677754 360397507 359831166 36458588 398956251 321374302 722244468 885631696 93912734 382722985 866370089 586356249 761942655 79003189 118252102 684468502 343907419 253707766 623015970 866953383 393209023 1003749 912468022 931660217 43093688 40764839 629545254 930760902 401735853 53518625 874289657 883618428 833145585 326644202 10396892 728100488 338428401 403661526 424889741 560935692 778362844 567178736 779474810 806110423 748915741 424709211 880646573 71102444 65429990 760853478 987933179 950018718 791405100 125373107 322167240 737218848 604718901 451896784 626699332 412652743 488801772 391494840 288806022 328743511 774413228 586034745 789834921 577411786 956763780 179174040 468436566 812803222 742934457 342142554 665967669 105037751 803248982 893850727 178538263 546121751 432079524 620509832 455325047 453256355 841525836 665642810 284319191 604414233 568069227 788608925 810324549 818516794 720157649 675127515 773504004 263206516 723639698 608433239 148434694 563147974 267010764 485333115 541149222 616363991 279389251 27772412 26176500 942657924 933611337 95542197 972126 590865259 529568676 528739066 720757795 548662739 896977759 135387524 606380645 106150192 267756261 525707860 640490253 481147993 729477681 471034621 458562067 329427096 386318771 861973190 565066436 741926414 516744627 464147067 46138218 713969222 784174974 310036410 821617708 857218926 572209796 178357682 197006170 315023710 455811737 902919707 487738256 757332851 678829137 502161735 81524035 495510472 378478981 156521963 488955640 644768288 491251610 888964361 436371625 443988227 200265136 956177322 871829095 359163340 913606664 467377792 908545979 180509566 76774469 826425166 302179429 802213345 21156094 188575741 869323646 300552320 46739957 615232890 148428539 277186576 71213551 939471687 410800681 178788960 312435225 655897249 110723778 835728420 235474967 56301680 389420269 610730002 855352015 295538964 579064725 712443947 331992703 810353069 218689820 166151446 97074468 266280803 163613252 214825668 823320853 497114334 876954108 853851444 194405182 482840859 739383008 245788799 21178804 667925979 456697487 635944132 377747966 490698121 181725173 35171986 552926456 477141070 394327116 660949144 505574456 546440484 249479874 304682828 324273791 458752074 128547438 187600465 384898269 109739948 774425347 660807297 377769793 180762444 71351106 568921694 302812934 860754148 804904867 749089274 157016552 87543409 924213946 959497605 148421950 318216962 318382024 540448196 612904513 138900126 857570530 968583931 78670019 157593760 570676541 492060578 312629411 288147930 975202312 505759561 56745022 333978740 450933052 808520741 821855749 407570663 84915751 172020487 803127114 405978047 116413106 425582937 275449008 28107766 101569165 278905970 228477724 759646613 283782494 557684012 337759308 696046307 581777576 867346061 557002112 900714542 807989231 522450306 645765066 430644897 960153983 434955322 555617050 974069990 217770042 962014710 676311622 668496846 127073550 862517696 893009348 817172244 122314479 518021687 661117426 442340296 446876884 298039146 409348377 67652404 123199953 168564157 287028261 673836303 187702759 818323134 526805898 218613813 454797417 439838544 45258099 904582398 808295746 39782657 644258260 267114550 994079021 273185366 737171891 342956535 14525301 149815313 854447502 28228942 373437683 823640761 685273228 137719661 942894295 528018817 764861663 699241458 842690469 322888744 666084384 310381326 994776376 984574479 623912072 893895357 602653309 495754111 865504218 795143808 677978445 813017432 469081108 2212599 105299807 568304703 299886217 610662019 496769740 412183918 835953790 218395069 192423130 688183303 45887211 593773828 184296661 185668302 429857581 498320931 957667997 117938325 500416392 781664175 179019901 213892938 430121959 993582671 362322037 590600061 515096884 399548629 177507210 692308546 234925142 313663706 304676634 85754723 533515877 749517599 71337034 429342194 417452672 862609191 617084969 188879541 55629774 410901406 237521224 412249308 668844429 565040202 164515089 317557403 171369440 209867024 226984272 305386580 779524288 670350216 435933892 111357970 852745855 553211710 406746135 646643360 693082380 443464112 593641041 399385361 557065011 595231610 125567284 228266614 609804781 894629460 777132908 395746734 295714126 733386104 180501398 1099887 204903885 467723614 397689141 787134726 977814141 599374594 259536788 769456916 589021932 174955986 597570685 946735933 186537438 748237941 423963652 540685162 925013109 609063017 955373197 586054871 318615974 392541998 228530741 454189720 864601664 810712323 62663973 184376057 771156296 293343962 115775580 843855936 81873362 275269598 163214205 782723854 499907561 344331836 956508136 369304243 92848933 207372824 16033552 843188090 325147907 106591648 163027077 943686884 203656658 988986815 189530643 213467317 822247741 295972863 244718991 959928237 886284448 802307703 226409160 346504488 551299771 451159849 167457144 286721607 600549784 189724314 952308782 535096163 651637836 820973286 9953751 321446987 572231104 363946865 749298617 879047261 290723409 791677708 927076618 270773125 326559096 681010923 752627437 310671900 748192196 127411906 767849141 607706599 601857962 271824952 379696650 69695971 544010001 603499958 268984067 363221981 158865210 798819318 250040355 857954843 357436129 72848448 433565434 307747202 293733684 33646190 19114768 679971810 836297288 197110384 1701728 515929887 270676949 821200654 621149382 529415032 502699079 698930609 619093520 42863869 533426485 630388628 958478290 857613416 712638999 445457042 978731395 293505628 591324699 320345032 681840511 997582183 662426419 278027890 763769734 775484981 303672299 684534955 79888611 435690978 778030040 695395416 661800742 598173636 472751322 154860754 866125005 308498613 298488727 840430755 13906642 641235132 703263857 465704479 814230612 663775777 429696479 748649637 856203349 771774039 459127371 747718417 288303733 672068534 557453725 359994351 335843079 626643180 214895984 188973652 665109221 335113860 740280411 417988320 420788875 173060824 271609748 803460641 77327459 520383411 446575861 41366600 310776259 237151316 214824995 933199757 341102356 145789469 148662390 673502749 946591419 308891787 464982513 501181234 480872038 176365246 596413128 185455366 662477077 831562127 766209162 943250174 835149837 497773488 245550405 159901903 802881583 505279485 795960066 820263328 979572911 417610357 8910867 337013797 28586605 117247860 413871035 511982198 280285342 669899164 910820085 206389251 934118930 370532476 50112857 191288779 913813829 607042045 466830583 141788579 182861475 94053221 62728294 644141876 618895675 315008835 911866107 932947161 267526876 302634945 560338472 764234564 809777055 552232988 638344378 498753229 225622589 419212616 531118456 192940755 905796756 330087962 813796903 893078111 497259080 951191985 989141564 203704487 138048698 752549503 527027539 939291914 702500923 751163525 692084462 369856003 772282311 303339906 645939450 320441624 65968186 873247845 799998706 379448220 570678715 615224420 752640878 282464000 748264389 488747530 93278333 968129281 981549019 135650669 422361733 526078878 185683759 75828007 54330431 727813852 773910977 341625079 59651441 44977937 79780143 988394266 621605605 144022128 977243110 280834536 292918459 583833228 602021782 745018201 650442722 800287964 88315029 420927148 863314554 720843745 201163742 487426126 264218619 821800373 903200919 991793997 75310415 706185174 540947628 624016752 397778708 934335242 791047642 908587830 682114378 579071976 578412788 125868242 725593321 62061502 97961372 508199100 142481299 628229603 239655847 78118482 434147331 585820604 30624550 96785480 627266506 64169954 881553568 446322381 369771804 36849470 231564743 253901194 866379115 214885582 70015590 394019138 7846345 473756796 522568434 516216086 705481928 609215397 620368645 693565349 597875367 635100829 636185994 217126213 866861944 535864061 785724747 471506037 598677808 40168692 280850374 229001875 474466566 294125883 970658529 932278738 967552178 475126963 73272388 544987073 625536445 195068785 813000372 229107060 425947993 749664217 248352549 354813476 646310556 183839068 219469533 260610858 26466736 372938432 79667960 341035869 471867746 608299021 418144887 705344310 987036400 899239490 112766262 547823426 449662515 492622926 229616948 407568050 13565469 876166487 324486178 448745640 418448086 132685204 190359381 217433856 890932691 713283032 799924269 99961470 570167337 397644826 927848705 334950933 184419628 107949765 802484082 738422639 740167615 606440118 906644746 50107475 375660726 953420177 659583855 964700893 889860908 73869757 237528685 913779067 762524328 702661496 537128127 335258421 277377861 864120837 274535137 660947589 303845002 703927745 57786683 103183425 179311454 405388217 642725432 771259428 174023003 518371661 116018407 584422515 515444820 554334190 219600397 23668178 563130471 340758124 298933402 605202128 883921127 269741769 104743621 225387678 751761823 831612756 943561277 259703746 601494044 295657112 633905265 478085735 263198977 723307166 157867468 84033838 599208429 151002762 292192456 683020034 378947297 41506714 46911602 504163016 585686937 96193121 762401140 307339693 579805179 698454156 401890819 498220414 464197386 709392888 80318922 129818983 822512933 890169547 865429158 275537215 97020315 772983961 25678102 887989901 855879577 699020658 748850020 911663402 411713813 851293500 706877021 742922550 145593913 181658897 140359066 393507561 271382118 884307196 654092226 945234569 296237269 166924619 126018172 613497224 399021563 627297496 592124843 890351728 583602095 925985918 80224511 230140905 324996191 690801234 665576264 273661751 208054394 251155175 287171279 785037384 158887532 878086036 141477705 559084527 404445485 975400881 788277476 264378196 928322831 710579339 918854494 48234652 430192115 379611824 769009058 511703618 350286637 4986064 821074081 524964540 273834786 636802731 519117813 227686318 394009787 478688436 618976713 570377433 610144874 734585269 867285132 827596360 857879787 556576704 42470083 60344973 647898204 895545992 515022920 420415627 354833920 294340101 446479672 470632738 164966747 962426781 303873083 300047343 302154398 683205796 205544316 416052394 658190179 857258185 256492905 21865418 803008052 729308923 360875279 323498088 345268254 177050662 299098086 482351210 606286119 191041534 867999871 593229917 901182944 206387876 790694219 596492309 968077289 245177540 369576683 775187345 738351067 875323780 239285160 177379313 834037337 582967078 285368560 432272430 482116856 342381351 56938997 136842701 837115365 933723198 265347446 29123199 946716033 234992178 302659331 876973823 354489542 769332662 153540050 675086257 777866316 436599035 452894522 69295838 989956746 738423203 730067917 380912061 647083319 96116814 93080051 136302756 477979443 239185540 645557035 58521347 738772517 37171570 545008828 81636295 370478765 913461905 901059162 85224236 192280563 245670253 28773050 879566058 467257119 918038694 732106537 465593727 956345712 890161155 72076347 443373532 537155379 325744913 54479715 592643075 563803491 135091799 61859897 636257428 624508318 419051851 652183252 124851760 613837720 448512522 130795640 705492773 189111958 705951372 995179116 336031206 353742300 24193141 973085056 710690267 467139821 852180220 661872073 736871749 976110364 409753260 390212875 620848451 325620498 959802575 63105410 79341356 614078308 466565375 152910273 370242334 132413677 134217021 647630406 778792433 1229677 953634398 727862199 217325986 252094436 664760852 382883894 964181084 727030853 140254943 992432904 563928287 970845597 883526781 10409444 705806765 401790211 997588627 408009602 535272219 19167948 759659441 233184305 754416383 330323407 774449238 198945409 348716924 129802612 894964478 419236947 984166170 700202905 723024844 510748018 837282498 294901980 28414984 468852864 279488081 196648517 195866450 914152236 335588726 819232513 609940479 946308466 628850565 367533873 307172626 978741500 808766762 506774062 372018500 862128228 137371854 354899618 998067 922411881 928391335 414621927 540905157 765052568 848193451 324826252 922497227 716744556 609646439 203588991 553008099 778149507 973320564 874998380 803716283 22461877 341296502 79675205 842989235 556086427 222319369 247895764 283927815 93127345 237442747 685226782 41925078 987722293 767313432 339705861 317163430 348193299 356469919 699778378 863788725 336571225 672263510 262637619 545773260 574625191 385468638 983137074 233371951 157252108 102840136 422500528 838949804 942474640 627009532 836438117 398236535 623997080 773584026 703668480 984174100 111106163 214489132 954540690 453058213 439645738 133020086 919122090 829798015 722636514 871737424 909102032 507413576 860448822 24132798 447370179 638826341 312785681 397936510 44720833 558466586 149219982 390795254 132165522 968043754 569096066 785727593 936163176 70292651 909779743 534571970 305721337 456259804 631543000 658851487 388339013 531706631 487167449 360365329 14648278 195950800 646601524 399268132 796033646 201173970 459843839 903826621 198904386 452286544 960904512 318167086 754769854 231708138 391048196 37558077 200416845 110957043 52488803 226420168 843213558 760561058 302374785 903585807 680770152 172737557 230358032 627367641 692470790 301162174 929679396 22001186 601495031 289837475 789867436 246214677 232421525 967380299 476437775 449498565 430730964 25061784 252675079 64811807 555444487 681338057 429306179 173227618 458929687 752068556 516541505 736213230 186580141 364390305 877856291 508791583 385042308 815373634 598144883 63454788 411408455 633606787 974008816 952870106 907879636 731969696 278299935 142724934 219132748 544729300 918724555 350111738 632157681 936805805 184991367 226789090 420633307 810810825 393160813 480427055 221568386 978528968 110287571 628325104 313283487 338953034 678914169 42813858 215986551 50568491 574143055 488382980 207838956 390268794 105009248 118906985 274689612 802878168 898170588 93765755 210635504 571693344 580162834 282612605 385814406 947635419 648020943 587354816 7560781 693731627 425938221 750637205 350237953 592893990 81491834 261419509 208730160 652410467 161204330 646416326 762932230 808563318 301859871 573636260 127378238 518614858 420471596 227271109 601839942 773971358 720960069 462255231 912381963 396950439 222258887 132259539 302075680 486244962 996116526 191165878 374669198 307427972 162097514 957613799 948215765 666986721 173799317 333465123 812204403 358626526 867373783 44337988 352911157 551761340 217869597 377595703 500528641 458587864 53254589 277103633 119066779 912348076 184508920 343693667 843398051 888160551 658504714 384477363 206171464 824510015 33392364 439302063 691645418 35890315 665708432 847235117 138960590 436223033 955405230 769984450 843365877 992477773 705884419 745522979 726385744 675094310 541062731 716933625 205570348 904745931 204601098 824274459 679271830 140277687 126595184 91868675 672684299 616848774 692482866 638993655 994632659 323858928 80186579 616741971 358125098 630650211 481875861 563341636 891354406 888170607 784656779 117504275 366057774 440674069 986842662 699648434 534333581 446633232 463736912 300347285 988891379 629648288 584886838 280187137 573779410 409665418 678232177 534112196 933532996 434603825 183780249 102826108 924800680 679698806 421985716 492496062 901657619 478257464 541810941 765736601 13863628 470903335 555667710 534409939 797613048 297044855 113823539 545538151 930392395 868381281 196303182 583304439 100172222 551072528 929779027 481691854 594926021 851852660 659730930 590736706 387984235 627831634 598580833 210778073 18542495 690578512 523052083 751884033 81542068 960023336 925766524 941335854 562278665 202826348 996926710 142121726 585152387 667456077 288278978 214527650 30482387 143748185 806082362 268524352 556225297 343551264 199187470 768367236 485125576 346345312 188431533 605179203 196168553 400527288 100204119 350053008 990533419 989602566 763040631 690044817 431400996 52923384 692525586 485074510 899124541 29181009 223630077 159399995 863187870 75808940 827926387 380116077 822332683 942908900 388281932 230255704 217990300 990958567 144156521 107628097 927462828 821333380 814429879 285132463 341577464 903374702 655176814 347301729 332375191 313650385 724827888 225251129 851231415 377184822 703223942 435828996 339337278 299619452 890733806 406947864 84579666 515014514 545864198 433504802 59077764 195462104 713360750 417008719 13628686 153261003 265677364 514265712 340888664 742562009 248048103 687961917 163747234 505840948 107652944 823145283 152043122 850756362 662240513 635825348 930938075 929561746 338683406 240854797 604378803 981841934 268761333 231784634 748033285 932355217 902218554 194959094 322884021 137745185 248874888 763388711 178770521 47616030 880287246 112428758 456644239 78845977 897966429 349887131 48561163 156884152 969520499 832297509 608078618 328718620 471674028 330632521 497819426 248939394 952049072 296518009 192503729 434816598 184546502 402281051 77937594 224120647 932086517 174803981 204321640 730341401 336943666 479805896 720529 350053757 444952073 977493129 863942138 934368031 253470550 156507397 837762937 162074153 991633842 33526227 591622998 177799395 86707124 558410466 203539197 435322562 421310155 225785177 37363134 575273388 998679111 700842912 737107036 293658322 739749814 770881065 612416557 635592865 293801559 897962893 287209424 206377670 257951078 575491303 275724571 488016509 862493171 122870536 874869874 635465220 560382246 308614299 788614528 725489467 30098626 212838224 772642730 356223434 562931450 936807296 233216372 718523892 994148096 334308428 92715472 367837269 643624773 707506461 505646468 543391598 992267336 406670652 424904231 661627060 451948994 858195648 410950803 117380503 935434048 518394393 478623573 900188321 997438242 43050484 908840717 82224021 92861976 661356948 594598428 693894993 58769812 670516073 586992600 14950041 225836709 983751665 611401665 289615050 273590769 618940417 526214055 563729605 49329671 337216330 221140930 378133806 221887455 203557340 197968812 150485784 412100638 946407771 671463831 276438702 884236284 180678820 96226656 554740463 671218095 188177186 920375985 693435740 562108724 535052396 977051358 773190495 970033677 164548114 496869159 216576895 582718454 620433593 722896981 66035954 798595152 495777167 777983851 866736478 735285294 372755641 980992467 568006191 746330521 157477984 178822665 987904544 258895524 569550894 662071499 49423788 857985603 866824057 525270723 794344979 798251521 74106047 355576965 580599326 404725108 828750972 520313029 916807115 528478590 499852414 422873509 74229367 710744671 650128424 222437010 979181614 405842241 461330554 296040393 779354278 442820194 632168780 16581269 569433476 454083936 468469233 613036340 923242743 796082980 685607823 873731782 202144497 862447959 902173158 22715720 546098411 186950537 547270729 849341982 930892940 803086949 667439243 582866796 501895259 179284686 72615538 888991671 919852257 413705832 304017378 8620233 296893702 989317203 743050392 734161601 389078264 442911495 943386632 899787141 14193678 194630018 344980462 161884507 242048504 334976829 448174098 121126873 56169368 311046908 653487052 669093693 187644505 264643064 45815956 40966581 750922641 241348390 531610150 355124147 892480316 485435864 287035671 229843083 353660746 712028457 979942261 424006679 572722777 864418066 520191743 168043365 232513749 289918687 213028962 45206502 358832524 480312041 102730714 56409853 239229594 483153374 459562382 512216575 968860268 557589159 292430830 950379357 883019730 926715562 915479806 755474021 852051845 102818031 748497590 502995491 526246376 501425571 598711060 507631407 949902398 139431077 402166162 719326661 445909046 122624931 321196880 171083884 289019646 70042685 978628379 458124182 997555993 483136430 677781406 640934531 431187249 109975790 966278633 224784850 179334679 534044134 4790898 140171400 714063871 661290870 459989353 957047236 124471389 17711819 2247872 991927336 629398071 381926465 97003245 909615239 219350955 727253924 760316227 103050058 32457694 799049169 394123446 334077080 623196511 881939382 73040963 669560114 995588136 570756112 141180742 912985692 355211020 103497279 232019962 424211449 621774104 966670841 652880700 332791575 638701164 655482767 685361591 328465192 597562359 751851725 380090612 792169405 920927515 979594767 599662369 290732251 537560709 438762829 594366227 404140752 393745446 818384274 884288541 405862738 520154121 253400946 83025321 961262298 183007288 665665438 484811976 905711130 17294108 7824916 517385619 536871789 578161728 959643979 243868783 785724017 150793089 567963548 808850799 9319184 633670197 524780324 993473745 669053149 41024323 291078815 382172316 637989777 167725554 295980706 682258621 934466644 915850143 239733681 262840080 845436094 705877631 800522535 530262193 557174787 163170552 404147455 902932304 144073867 651543871 163299436 969800679 360707473 604369978 587501484 596527744 127847686 95505073 316549890 360593683 498470859 594186811 148671116 899515405 611772655 319973359 885942168 482421840 705578005 848499464 942409715 667445021 351626834 975089889 671677184 797402561 725464506 333633298 925208375 564679965 392927625 212363690 691414827 486238153 451105161 963365829 650610073 544573338 894686550 750731948 584978837 124020354 465884987 191439981 31467400 391894441 180503812 276897376 131382773 916618148 611065285 316908221 417927607 413355206 981236046 602483708 129565048 412145145 184001570 200937469 997350892 698223125 668154295 823706052 398366439 457267414 351290307 666102712 646124725 698285463 242597359 659493770 66548478 763046232 999969906 100484015 308920626 414505861 494179301 955635282 341211934 644241655 891765950 137858788 515990420 825712806 628676213 43905560 336518742 550359810 371617197 925759360 256192620 215763303 986990785 402737812 528662905 739612584 158095131 442902369 267925271 384285008 414585280 939682631 190224206 279400833 880049625 532693989 229379525 859942795 759457089 973242609 232887127 54242905 365992973 351312276 323870202 653948734 725747961 175283892 875910927 172455272 320768012 988036509 15417364 187830899 318869242 303775807 984948395 547499420 135593063 925487131 247043905 925883837 206018446 634463778 262837809 4371600 86497712 316784153 844287518 930561158 254624074 655160884 556100672 494887304 877809541 986417211 531188757 942861169 438240290 709299847 529365810 398185041 6767893 598678962 285727922 84083773 736536339 616081307 521119832 569460700 238856949 836921248 777979187 588915539 319540971 689224564 86918667 261756711 773867142 251505345 115984625 842776825 591236007 380289383 415092183 381480472 633302679 605583472 37655401 30645965 705020158 162864053 338586477 433004347 499888311 954440353 704455483 906933207 793611955 547279303 177238577 432352190 735196972 359391553 463886378 102360278 775471780 449304448 484924043 733103094 10711706 101136186 953755450 464983397 305405820 235355494 707312916 187687501 364502018 64529294 880241839 65618123 608642460 437887833 659979885 713729540 418384242 776227535 224399201 652895455 5717921 198742944 379578308 612941983 932605430 355207005 789316813 388790865 284809077 719751034 34257528 983010705 140969499 547187609 98923190 80379518 581896087 252318143 641386791 716996418 681725370 391880339 316427942 164029137 713184773 483774759 708351397 381830440 26877705 557410974 397631245 142136278 893615369 415524584 927514520 295544345 945479567 788529528 554847553 573766397 366090350 376566841 666696934 829869280 299094922 811847413 368500497 514522267 895157141 327093257 25895848 701194637 763225402 588589612 285806946 316749750 511327564 244734160 325294490 182876423 610005306 626585250 832096363 430591701 387789102 709487330 253175534 131976597 705066771 719936885 358297045 350686051 6079896 709147342 422323774 915782215 587021362 236802330 379901747 666789695 842862938 218552628 187858404 931350941 786377285 80746512 409851668 220722017 339937440 253542248 492475134 764840085 752465709 32141256 42542781 810372240 141106657 274944255 626608212 971221461 498536373 344319071 763983481 161537847 133765281 506397698 820855620 460618710 324910812 973478268 267938093 314635299 280557001 787355864 549213905 529246951 821411437 460686619 799951839 968216646 684488900 40250849 405973575 355030210 842042663 217008701 443264532 457358294 833548442 710862808 213673808 230025475 390385878 323903127 218044655 416701336 92969003 760249352 570286548 220505257 916054207 991485451 195740365 225479906 279774559 856428875 179537759 927591555 587679274 7585837 774752225 999178474 73373800 741331002 636302627 897178251 126424047 805115982 155623795 884280487 251829977 80401360 714712055 390632815 575038078 834763086 157077260 267701703 864938709 938651498 413836281 418139987 273333673 299472508 696725129 333095682 825652342 303603625 254631234 558814163 456908720 439483549 899809826 279621753 673237201 853031213 382397995 310340072 801069073 839559903 646138616 786509668 188806976 386705313 544766337 277194695 829798541 811642966 645363598 408864435 275119524 455539232 594602662 761546515 330681385 516225613 645975829 635055001 199545337 543135387 306105007 546785381 444840527 347858465 868923223 458034024 30505952 366743746 208152812 381071303 643881211 835065105 850994536 536748540 760581402 429944026 555016726 821031576 913653696 496890008 77470440 593434098 762637512 629787760 858211127 366416284 646949270 132970839 769300737 130181148 679425778 78986402 688556589 123762198 196075611 899975763 736447375 266294831 337705308 217822705 767685360 426119781 625341528 367088343 763166423 93351437 253947681 536225992 75506960 658296164 67239524 348980851 494164341 117199314 282017236 594707260 855090520 351249950 912705995 861113168 139626793 231942984 82827113 212494652 777455134 615975087 843314807 461352490 23180933 704920186 303146365 392033662 717584248 596904479 891250938 725784484 114691019 511600329 379011646 151193585 157704451 278197021 131617459 991179279 701803799 328185407 692550263 44170632 273502890 436023456 898967643 67120049 895400808 580977828 64385083 728099292 884569625 56650394 664299417 492067027 954212316 190832727 980904140 301733766 676461309 659014081 130534544 511578090 374784048 49025300 29869783 91970327 315522379 357103784 658940016 434424673 576481384 83374551 63253303 312654921 54180717 766144016 601015356 639449146 907242318 326160173 424015376 32495631 118567112 461715507 41639531 118161187 252481960 517813020 918281535 777836241 416960385 803226813 920908723 552271710 423437360 968263151 699860864 947656395 630700114 705734027 617749661 569912961 61813226 314648105 541925302 943018473 104963242 927618592 236600501 912547272 886011414 192599221 428390089 780630855 931313368 115394530 528449449 897273503 314139069 247742634 237112340 46055461 66757357 501539220 546778064 937945407 611333425 750835383 775573583 826029412 228430523 164052847 311420892 579043799 691117390 758307793 879670122 507128458 414425889 906402290 904469097 753925446 558531857 802929789 954242650 765544308 773893483 470645884 701961393 975780501 649382566 766735414 614622427 593007467 266266736 861817696 172794852 353891456 142963815 840867712 512824057 178786348 753210720 814220625 73682978 252849540 536179980 305683323 270598151 345082403 874536389 859452797 141214590 766680668 931157277 664848201 580909760 650395174 66899722 562017624 658050226 342053887 452212222 833667222 789403117 125864731 242539662 12864024 23276673 977958301 447175594 582219930 896035887 280391565 517060914 818007083 31242952 59231011 275820057 253325561 892536888 319419882 236852115 428681829 463815842 772249243 379611171 999018942 806802177 926917422 935080336 768495302 155556968 226355110 309997589 556116111 941093127 102527053 890974123 48288472 368431462 870081503 650166508 158020868 293085133 62584512 737187964 128519607 865776190 619261900 140547189 403097593 932405033 700906845 589013359 93630848 607097781 409819245 895397655 633497754 414065790 696720276 186424171 480676450 504537152 359287111 928373644 398793257 388577736 498442767 406485471 347053322 798542515 847002167 63069482 432474007 350478588 767283210 936817112 833242702 507321356 212973993 749610106 603305300 240449449 343043966 325041105 270876242 688705366 600751930 530742741 203900731 936569944 193145605 117558530 225829806 704429361 727386133 482857216 867417135 74017413 378110936 143711149 619871060 955560328 7576812 418539551 616605783 738033118 951505029 522372572 736527176 924608553 144548183 154769285 547028345 414606583 95124006 76079589 218961390 517778398 305517796 31859425 805310463 790706171 7362590 617741894 118047460 637440943 533644190 662349816 155015659 215979320 267804193 319226384 915298528 634760007 532381205 481009881 902620257 109313687 724429853 300526285 504571160 710771731 596352957 456843272 670793700 256559977 504855263 827692861 498057492 632037741 238974429 95122697 843583780 815249690 147576950 266719406 649352939 998497073 895064361 585398961 251049223 709083487 764402886 359850417 358395424 582786216 720808490 697554264 790295395 485962951 437801177 474842581 48101826 234801583 300679585 577195114 75486754 869779996 967063475 305278507 696624236 138943739 67175715 697367394 380955821 243379588 46247529 585340413 549489111 194495140 779554076 909822541 164791446 50034985 747409703 422484012 756480777 906265938 505502295 10576753 843991350 134423139 761527268 525374485 232115070 24369312 361318749 131103471 626369106 204454930 625408231 131343357 662023127 381007554 317018121 91808713 415773789 700308379 24634509 865122874 213516368 290581882 646184740 447634788 831014059 672028780 95428240 509650961 462185045 647260518 875330714 775903765 46878317 236794403 630106358 176703943 572179378 794091939 673664646 877765406 331490322 766857771 285552364 821424120 298110314 401419198 296940311 822239745 364174654 648216704 71235889 325010265 311823146 478013096 768948444 509951684 631460483 241777065 230165117 994072245 148884952 195357361 700813789 885384451 837584389 37022028 863994887 119323643 771761468 638617296 115811199 686314794 573756110 64481527 662184119 923365586 414824767 986728521 313740390 843189178 900272716 52405549 929032410 41725594 747353505 725787064 321172370 613581088 884195776 657297030 795477502 289177240 868915273 764395063 710985721 208282027 152186975 712908858 917922379 179430343 379810293 84484948 573866272 301072820 461104295 691785993 767540905 745672518 431393690 982582259 358704444 508757022 972971334 752194852 526735707 896135277 799015301 936830415 323940438 182552462 209663382 798426654 715809035 858856704 172195237 117204865 187536882 943303444 998532629 346333387 254925312 897020218 114690825 485275068 552657174 917447676 720835258 108341368 160358145 514294379 195387384 774630190 570209583 650906625 149864742 798757761 338346586 526906210 927139557 488571761 620587072 670442171 854471350 849476982 611400085 565281782 338264551 564371330 836085558 284186402 231797194 195073931 992302834 968577211 81412728 136885347 533992207 707660156 649266943 819451818 154097707 757045517 608659920 515596574 953447737 491048511 385909291 582757934 754252218 264364272 713023146 838216504 726823359 771887725 128163220 886549858 140806988 909527578 452866855 942494117 495882969 318874104 915143076 56995429 327378929 993055519 851591351 657432482 113266069 255825559 957608419 760952602 209476586 905826150 489065468 727995052 461841710 623411406 65392703 973152407 344995994 460326067 819825334 444176746 859275020 884152683 780410678 634420915 102285964 679010326 877076151 952154206 987571579 502793889 59985434 733037971 656599834 684823068 59657474 559034621 278134557 537532911 383120078 2424600 44180552 542380747 729642264 734400002 348821133 89257299 751843888 284812747 777923459 949554491 101847449 695909851 989911484 934249591 647782715 519327274 819403751 181188105 630278829 64971868 502408746 447439362 70658066 748271166 722395410 990766279 847560254 793467089 15702412 172738730 817769346 40256025 959150771 369322821 135216225 731742910 198666249 400688224 311401070 480424997 792744330 790324289 195739133 956281181 562052364 235793449 912279789 447836541 129288706 90088566 674906358 753921147 441019790 150242677 730840375 513485884 784891442 419801708 132809790 761335165 523522859 696975247 450649446 515506494 396979340 188697502 964416897 641080473 393522739 266197204 274525834 171824680 174714384 849252695 192344853 827487423 9486855 657740946 915660900 962949695 53747276 975822790 248664951 946495498 572608637 281131512 521342585 207419805 700952527 578439186 935786336 295772538 654220125 886011556 263277237 76984574 499931783 678041636 857254611 159181328 86559640 678410205 470012822 652989989 391028982 104212271 297694729 779304892 112322866 895912329 674864941 263361306 920424255 609547634 232032348 201793216 121498879 558305325 47879968 882060455 612215140 834178440 590105524 136063546 723335594 964140337 224693197 691779759 42522828 830016865 602485864 881968118 713510797 629485989 742747638 844681460 330635986 87684069 697824783 276337145 188128975 872455164 974358734 682544414 728805199 694903602 557142190 521023973 597315204 685630281 762072706 203611456 966808314 684554072 700450399 777847863 925175042 15000412 9289612 163222242 180035441 401516508 907776474 113813802 145402920 55284097 315744807 292495097 665538072 758119941 428316556 183448990 650910338 575042908 576533613 877653918 602178387 603723864 174458136 554962806 665009912 46332379 808109201 665334515 134656237 803137218 120829876 555317440 841353309 799464198 184530129 282268732 618473677 703524875 280055704 658350857 456861601 633787074 545409181 41990679 356456595 174173257 397055325 489159299 275193989 216799040 412007353 772546998 511009592 750535809 669814662 916213331 995915058 318333348 844051512 361542384 829829989 900020855 959827832 336540451 320579494 66173989 27733551 606720794 820721772 245190660 442689670 739949335 56779048 998435118 525215702 680235294 949215874 234732552 285188824 482681811 985339500 51660024 872893992 286291253 342678150 433196017 761900944 405083754 23902270 501081513 42772826 226375591 262965339 68968317 194908296 388166322 642610132 928421421 439045872 294629896 638414120 861805851 398782522 547427681 473075827 354993822 548998668 467381908 764163232 55665103 736653006 466489675 847665300 582382055 40259582 370201840 690743645 914717280 803599875 707710472 693091418 774373805 314572209 300077860 214195694 107348139 863048456 689152984 82902262 280060300 941932034 617458901 3621767 531190029 10962035 111910963 79368264 182682885 444691072 960818772 415209209 610413439 885082983 225397069 911108346 716303890 21400454 927429022 161305191 971401309 764147561 310480324 403971638 566014236 336294876 591538189 152083937 527883293 306596275 343427355 997561856 229874793 789441348 700034594 374319283 448147430 270984388 342546462 964068725 99247687 239451024 407619144 800129509 518977686 908637990 232707940 842101922 435076180 205959070 917842019 737023993 251037392 181022855 470485202 146760929 567082433 764562026 237244602 827720984 57205259 545080167 456666120 338814971 255142517 886269478 37788033 150158458 70160099 950592602 104692500 378727887 367950878 587484285 235998423 826312535 736479401 683855217 809017687 312952676 272675126 884491289 86992339 542506898 136282047 319200022 225133636 374672186 237131213 120068916 154672262 918014139 535878049 7996526 323462527 149472465 974957666 245376599 291877058 152401840 862101909 264225785 366592873 85687224 642269194 398708613 631253778 725905961 301746105 844769366 238471660 976626397 269529650 845018080 474770118 860827077 388574441 57377991 468504209 139900346 517523424 251645751 344078127 626223438 789214700 296269772 675281903 313527094 537766043 113147226 723146373 459316188 449953060 551435164 221513950 958634123 576817554 446578484 781706633 343360436 770894795 514875237 991649235 996094525 921513637 274103478 29963063 833634696 144688750 843948909 756729073 81803122 250315181 69302173 655858262 128993963 468797183 719322415 964924337 17999011 449902636 235382113 384026880 148437894 516821848 70088073 252055656 602040456 741189899 357144625 841246422 857355833 293834361 811476008 696364859 895147822 378998986 489505214 192679527 880717181 10114826 588365463 335101111 496977988 124732128 577357929 346476525 189081725 637802478 706397755 163641588 151558891 967533007 943662777 873029719 627255242 250684995 70935954 355471347 831868890 886152077 805754667 247121594 238549159 296313296 246460769 473109987 799990760 593495451 66187175 304557334 278106175 335668045 188478491 667872091 516688393 494687259 649937223 482759154 328689687 65120698 43607816 787305026 464922276 780871503 431166229 679613328 690912581 506727232 401446935 436900056 817636737 89133253 129810798 238785515 667489420 563787247 908472932 145412302 213373407 825640236 988006130 86675875 273729045 329245346 49948245 452706160 456603848 313428329 867399161 347242713 231246474 692983371 646951153 543987913 290481720 700049277 980006459 758849082 556058298 688914300 92882107 649567407 539996391 120480484 520723156 824355181 252182875 510776720 704018664 375420274 605014551 532899935 626695369 231995484 925449060 730588719 424492161 884889797 305151536 920304739 421798352 644335972 620060500 633825680 569367325 344463149 558056291 221943304 170557913 45048877 892211311 398507331 884179164 413488799 789042021 964047587 807412496 872714738 276928158 575910287 54750060 737126048 648037751 245005353 941383242 443521207 360301763 816488165 513819779 387561614 981221445 132389607 602090279 158386071 256737947 886637947 789421113 687443213 936160694 797850780 805371424 207077024 155459770 12569942 568313574 912145053 10933364 848077871 695295950 491889985 896599652 94487693 57560032 501907671 278313609 818213642 267066730 899671794 565517340 497079931 426958555 729349289 593556733 458630269 511893301 316428967 200959856 962050444 680810155 232392789 12165481 889364113 277828104 659800150 120440483 622788419 950168039 784320650 95564125 670910451 711972834 457188480 309650250 92144759 924606161 796897333 555852890 435336750 939813047 938403342 832156337 268090286 345061698 605927183 971402803 508597826 130931473 707761836 247243934 555222108 814101892 389056139 951965429 757180713 712738201 262161845 331217470 476607770 120384544 772857583 909850836 872057609 996154115 515727851 901996395 122318660 607112404 872308305 885805958 382355329 175558213 766564854 303460453 518137891 92320928 260770307 181670920 330965503 795312551 859868516 279566071 218769018 987395408 609516512 321143594 927846102 957198778 524539909 435164490 134751080 214349982 194814932 187413323 358139300 748907701 900988891 662403413 589669837 239408884 285984792 816009595 204981551 841368042 967951022 884231859 571285555 647725780 666104277 613948180 269476010 325456683 854714707 950088753 867631027 716514070 633728333 145435843 237729685 54804358 110109100 377315991 716138748 65485470 157357428 245968882 908203205 560264691 449756660 266273168 71700773 955221377 583963804 736060420 127503516 193668648 301321065 89087558 34741442 265507674 186294674 989032300 477936425 555420754 158429366 229950797 371355563 241122212 492302498 104247276 667397148 143413167 310183315 432663473 690060664 508888439 987547071 12615856 926335292 225802730 617857847 75636250 211642373 363569457 269257814 664287035 716093531 257719068 374089271 850975824 920718713 680716441 65568215 701716353 719689179 779393502 172303454 465646206 398494427 159077039 810727738 360913862 175834583 856371658 73354083 998420927 74526624 556715153 99074123 622916616 737789153 884101147 618600099 344447893 466611632 520337351 996862985 299044633 537880996 649465824 581320911 841348 303447285 380404454 210417289 962896182 650086886 502997476 680408799 639750582 855765846 507065238 105224202 552572065 108957022 292354375 102588537 217526506 173846427 936866468 637700449 75809776 915155311 930129445 505758458 602720327 875221109 276029974 483679387 166722007 340359189 746906160 562240128 365957122 135420539 852433899 264398636 103246274 615410351 576416344 113069662 815687781 25103066 834988626 884078505 801596302 493102236 70923526 474238048 578882249 596104733 136348175 736137457 586957522 331012230 205908183 629208229 73656111 760215166 456152603 723705652 926656245 417190295 876292066 924782497 299091223 580473545 175527166 891649078 820375397 318065514 649502013 935626110 472319720 713486121 492269595 327926072 44797169 599120289 837474996 950201327 174471432 579365668 556300519 8983243 356879403 501123986 122094318 269815816 700954729 821484914 524437555 320957318 675547359 314575787 231357306 212791131 324618532 63145092 856431101 487030702 372479295 694708319 32598048 389725661 67456811 214186640 611843229 593154 756843814 462834814 216862025 338724706 452517075 715604672 137806904 285752668 467438534 74927490 997030118 445830977 466367192 328352949 583669276 95069306 706587649 109650690 408307444 290968 102508888 856409844 283411753 300779995 229771968 653424472 219513682 659828318 312133644 54831777 78254152 323232608 534978702 206406905 306484430 603860773 362660103 528178384 604908788 925259439 815410735 339940041 254681536 263088739 478146662 477787420 886333569 510098531 501735464 835847845 148607384 846036780 751081724 940998125 555856863 683605830 83530984 468220298 111844310 642179778 704252171 295942950 371956010 596648455 691992462 537876330 35568769 849250442 433847029 888682211 826373998 574942655 636160159 965041288 421143049 925696538 948213873 692649307 774206338 562942524 591576056 65128390 817408645 931680525 599102577 639163528 993241016 750619057 958723235 16514992 202552258 834754523 906306755 198318705 211966467 970350984 259521374 118055480 349643800 442739501 5087198 173099994 890463087 660490825 915290849 914863555 197954113 369713325 651690337 873669084 333528168 163267644 896429808 373890427 318022665 147642247 397072757 441588210 442362980 77636211 50133734 699615111 414351551 260707246 414008233 775648066 620629118 570200151 570733411 72361046 838229057 557153227 58559609 729309817 493550655 97153043 275443915 540716682 298547232 59875953 40615818 783702454 786749327 527882601 439696291 50947363 867602978 798476614 807458088 705706211 268595135 648880491 946692581 690230125 405875667 531183052 991394720 751502503 14338710 695934542 664504121 825001622 788670533 881043197 402026694 976748574 976359455 750983794 358155733 861800701 897953775 966231701 83634415 871957847 407390689 235182199 106488156 407084954 285541379 542731012 262287402 140462210 605478832 817405174 601290180 764386569 51670180 422029638 167781861 348231021 414225140 540190519 770625764 689253785 918556265 148704821 578463081 132117267 570441173 807003393 696340077 825729728 510626496 63285763 218895102 542844896 846327912 402600442 697642519 735693788 868997403 536008992 15151136 985809125 48705981 925222644 530618319 413371763 707447180 13449775 867431078 292225876 299204402 173699108 204812967 60612242 540760389 209937757 87073993 236745044 635720123 216749667 473908228 530029073 800724326 534694132 558155432 703146188 250897684 942402992 707677152 55539340 981356587 681802757 193683193 165050233 529997604 373871760 944960980 420411780 318497403 721241952 968252210 883896550 472668167 736777009 354780485 706406766 334562786 39609721 600556845 197663559 349608301 759789034 183350533 383628805 643324289 697917801 421652821 232507127 782346408 825409303 647400928 237097357 789008623 881207547 230073673 34675267 366202274 19365688 727815903 202449662 410532628 193402097 119955895 47959836 241644340 465736575 246214454 419107936 749131362 352047908 13997615 220236678 949313166 573734857 793521708 350459228 780578098 29268287 836186022 149772893 822710727 696421702 324584783 595362575 45307202 88468251 871731301 979123544 855026864 892962858 420824183 132797640 334538053 456303114 952373951 282956847 282934329 349806585 829956526 499859940 841504854 705921021 603942982 892303014 119692023 768393046 12568495 170630665 85063409 136192192 959053940 19349975 371966606 885293822 74834392 637848875 117141340 441557932 737911882 572419073 737146825 6883085 439820872 829291381 411922155 404756281 221834554 802865342 33715743 891406321 752436555 877403227 647182774 225899002 608019364 246421049 756256705 233989212 43855661 905343308 895776007 147866307 908326327 487520396 155115150 461704003 604222857 312065624 858383785 672964600 568120389 398461720 302871305 274478805 891533731 876747285 627605738 90948912 518880595 292100359 994113423 794986026 43277353 709600058 79467651 90618384 401905463 947856964 456199765 515402736 355262385 595909670 200444227 329350137 111383633 418411063 432741650 115560290 713340183 990714703 303669359 477598564 313063665 240614961 681339684 223465607 751227908 194941186 507356126 871165178 108048852 334218830 284099275 280511034 679647918 371878061 792686188 528517036 960528231 17414206 786827917 315688983 505315468 834541088 510198527 542783358 328833551 413947142 806819746 332880012 53291801 571616295 363270332 338927468 729011080 701185511 690228671 547971713 584319259 18776395 32783271 245561012 30760929 424614884 400136921 428527650 498012470 250425635 127282028 339871870 977405429 513483752 470767710 784944461 854061940 723537780 249262528 454051009 30812143 314083929 69590356 1680581 465406366 446836747 872096382 497842095 543758696 792621003 945845218 141198343 459835755 35418327 130197585 405414716 617025390 699895781 487270240 639920838 828579154 720338226 101453090 579726950 613979581 538746068 534144686 570778998 52015253 668247836 657331537 33589879 326813657 918939186 792665409 975375525 422968799 736053656 193016663 255717239 754516505 503555816 615163890 552454202 638773805 470997234 869021590 730022440 588213289 698127234 924284051 258997512 100179300 456243611 859807051 799848113 275315441 224761157 148531972 33859552 477481408 57269150 760872861 278008445 821941003 220647621 821153561 873920870 149493825 24526472 914239616 625145119 124269486 216874271 499428515 243011700 434360007 487106154 756720343 527706066 971657475 681324585 242160267 324982563 243835126 595394264 664950302 89361804 354035064 148095885 545346610 991589057 903972516 719661703 446717198 403889411 434699744 452997313 982447221 691143849 252906295 179190997 929382737 827605993 851813241 867962290 97742289 836769340 515056180 377828569 840429068 263061733 637443209 22239091 539022411 13951482 704186252 119950735 702387400 406402666 582387794 209837920 619396320 963649983 913090176 488727977 110658890 48593236 430319874 411166575 150972305 424829183 551428009 541058291 187854575 316685923 591462535 850856516 394074856 735227612 736445742 244702761 797650898 981400771 203277411 324830001 863823840 642641473 874368685 611747975 590801663 421793798 32163603 211257797 409255748 172655479 929357916 236856985 67322451 518299537 545102673 425484393 755335732 633387621 13746242 202300856 511010449 713331483 828376096 777947449 493999174 471780559 837351056 835994223 730479684 404233729 513224641 670474657 721581773 683305374 950031895 585959439 643858134 920827616 457735138 546158097 764350352 497242372 927800284 826423964 452018582 673965023 185254516 754181884 526060222 924985495 740067312 534960256 46849092 524595300 915157100 913623835 316301523 110940024 257798184 17004796 798767192 451902536 734074376 130803139 177405157 741795710 104035904 386025881 770984411 79112066 492454413 425902532 673340569 410248578 319267208 382944421 441340887 159915938 527475882 952446960 283498016 172748309 530634250 19368831 321242210 222026767 401846031 370826365 645519700 685835760 353150017 145144717 772864961 437279751 109036525 136469163 25929005 630454825 425212511 795809461 580307689 902295404 442677270 768141756 998255522 385500922 29911685 750933246 160944830 321437253 505521932 911476316 44209750 576278529 382123774 830679306 246797293 310537261 239101860 434614796 280762659 915052505 772557335 157223115 294391545 645514649 905787702 827861684 469592375 916036338 313603396 713167939 147192774 259781357 962446293 568451659 60118960 967983867 755396209 114064121 851530573 931804314 957957006 417889494 503911659 16752868 468108248 863922575 425578546 193901839 481938664 237946636 289894978 940403536 859707898 253348147 658613284 389874874 319853741 445004975 479201956 29251873 905001935 912704815 25886281 994480648 174502856 876091484 503694268 494075656 629026104 966049119 155969472 450095778 691457164 37880005 419037930 912499828 533804232 320789069 431544057 281164287 517765499 594265854 791526608 505960902 393322198 444689486 813065648 784752804 319698547 223876740 458826751 370945652 1381563 216043734 254015730 584043683 93912774 381465802 990185725 534114292 891215191 408110616 165668164 693979859 947452216 291051096 870238305 895863158 77456698 291768155 825660866 153083847 409656913 709737164 7003659 728419968 559885535 252903556 945301542 233685485 974276688 321482410 149692554 693568806 129830540 283141081 282638615 352817545 803188515 370438699 863953298 689054263 965734067 451056476 963420670 874841176 336378254 917733265 18546510 450640913 766534847 322468386 796722408 238724978 395737788 165886899 958086678 976196698 794436304 270563093 634486812 843401250 119465921 943355405 615725760 235641594 609233033 464522955 613848901 661425168 910402351 99488411 463142582 21658046 9548821 90535443 945195409 891151099 113329851 891178372 383213239 529010314 292982815 242098039 926016529 764686475 551626580 551265472 602615627 656004473 734567015 342297906 571905135 895433106 960418348 566875749 782491679 424839622 183601211 508452848 720960719 14821444 206605334 578943150 164706735 473989434 97736894 747663670 583218276 220247170 892770437 504515244 126646171 773854394 439658285 951889795 217457763 306295361 344246762 636092312 545109982 376596964 875053944 13428624 614765477 558759073 532334992 490399408 442107360 595023568 572006333 599093420 758106889 620335486 420060030 187915273 520701238 317411866 93791391 516839986 21266616 31702731 583933636 201162299 171796335 534190003 233657197 613428965 53281919 241831140 29407442 906360384 835617253 959240184 790052715 975593540 207917636 209826902 723813819 501329992 189837943 636098686 223395957 962713888 309390221 301351137 666092820 423824128 108865020 498628324 558407789 385435884 115744608 494396243 65188730 788436772 81918027 924240745 616640882 832770133 458528190 738508166 988501080 907947976 603872 158915579 611144847 169166254 892744444 371365060 478075944 216279011 251279407 197614029 658574492 793055663 167429316 67975995 325072808 474133069 982130190 79139665 287982900 232475655 592707779 254543485 723660811 145431340 478714829 497684764 135355182 93243573 926543149 583354402 471519278 494035995 629894960 393630942 2779830 549451693 499412093 145267803 740752853 804829162 933728344 473673236 125197275 94538831 978468315 509853799 711395120 154701374 444348743 290231585 676702345 544140026 59166668 642241312 96895895 534551835 362185145 694903157 766217932 688348240 34071513 979337645 188721437 560051120 341121351 576152214 388933336 64019822 253085900 929493298 400748865 804176045 31538446 630249530 999884312 888087617 626455227 778142674 595671811 194464740 445994715 302472927 274814634 772793361 733951719 682915975 979069165 358616124 169317999 236377374 266353177 521378834 248867083 71265820 188173928 698459363 19428427 271790206 644527318 8084822 415614745 123819046 146101908 386641153 179721430 735724998 6155929 365105596 320138557 605743524 989580512 923129640 407498991 684935308 511596561 865465229 530595578 666123686 309949329 757724655 559758265 112702906 590318263 986366637 10394568 498078423 312914645 326499471 906078086 827884488 545462074 54336514 36376925 25531673 317034397 801208945 856898531 301704614 302844417 874484026 754856925 585883547 682934854 775434710 577380839 954788698 655776819 491889734 515946223 633288239 482783176 550414662 984683487 453151945 502775639 773863894 638183362 633782126 711611020 106749112 661071644 347964758 62610902 791330357 546941347 680068981 613252763 645697633 289308462 990102912 308638773 341077847 320133197 865040053 890987531 589011200 367364337 937240225 652293017 943312894 356002642 929593222 625921987 219110814 870644358 232629818 867010876 145071870 992463593 383279703 84733886 968685571 148014987 930970203 407206703 332514764 816759478 132654910 63139904 580471901 563242022 728414970 697950387 56046222 430547131 374876076 797993132 394218114 772006100 775643411 545721181 972189202 111430704 221204952 482813442 453975453 357341241 609211402 983850126 557370095 913457824 539336436 35632904 640512157 278774480 648015444 983047110 673298943 688933457 462363437 823258719 973811848 441914616 122546579 511307880 981410115 473185473 591054505 16713351 242046877 393639550 42286459 233914134 785713014 334441369 24302409 767260123 999341729 604025992 577241760 436790458 826866888 552546876 76829449 81982322 181549198 276062058 797124462 407124726 43689432 702880099 247640751 746099344 736032002 407411880 721220771 316020324 215889163 182607890 440656719 862470265 611411503 821094453 627211573 295132704 3636926 842181713 301106136 525078682 541842666 945899121 635777547 772597709 820494854 820235696 523931900 17457641 560774608 299537811 93894257 125687228 73231664 451349509 434787830 723241087 594899236 41921495 475719383 779332240 377711987 43455894 9340764 762531213 385532378 389872440 390520913 373602897 723446476 379034636 283126476 410227321 23092431 152140687 442743161 421800036 839416203 131753788 931681897 359966596 682649463 465528355 906577773 918141862 552599520 841287569 438074007 596921869 986229011 127653675 409244792 933201942 309655551 817045915 470622676 667992346 479006457 95187555 252084688 614702427 344615021 504050080 514849317 836983333 503903594 568823266 137725091 971686395 287398919 620604694 955004306 640267557 966377722 88972459 688954555 176896883 527673339 950759318 571125917 951439149 616144660 910060415 698217690 665092623 450458784 258816856 224869916 849793719 728989747 961802647 801332525 713460914 979362747 466386281 632306000 87222726 761269336 58242311 616131366 143690803 641770263 85344843 294047522 959927592 324830585 260957281 732676620 409918804 964640458 223781168 720054467 67190385 719448972 248944723 866703392 593389722 612244138 163902218 665873331 152503807 947760935 490701087 926690786 715570964 490805653 213737313 594641769 882822402 189029916 834055332 553149345 626661912 836308910 480784629 730987376 631971351 250989185 790277339 589440308 755554801 185553056 457323778 393238593 306648019 671097373 106978330 707189343 727560978 32435891 761649756 385443179 648549931 524240195 163446070 503411989 152210658 990524689 133399138 868254822 117451025 934610053 17009872 877807007 180383718 374488525 567112099 313521896 825097851 812315770 36107494 675515154 141150275 923669123 713036758 550540746 739287168 435754529 252755596 261149353 287072114 200395654 740445522 469229722 660655822 381715174 145969670 952973760 528948454 16631070 360248227 252782383 934036341 43648774 398879086 734117781 201399202 240627799 807640251 75158123 144090834 704647 387100159 876660418 282156358 46116867 371522878 924669080 619505289 434068311 353367124 689861672 870554811 14347732 452797040 784664098 265625718 717675051 604721063 511020339 434198317 742010537 698245035 538358327 584387403 507632693 959105035 648086160 656601793 184201990 137782249 742557453 622806113 549260802 270232195 689736324 21470989 719140948 318384777 857767938 791799032 656004487 384696194 323143709 964565806 355126754 252606783 507875404 568774913 172526908 159722735 738795878 106578301 430778929 988645040 394100415 941819045 787785415 903246579 341418914 267821830 133070991 291169782 993880039 752471454 439035623 242541477 77720677 809123599 314912653 391502680 349714328 874996473 791007346 22339569 653178943 127244867 491738164 674994653 636376226 161053163 439435625 577717893 102840881 468630936 633029706 524356505 104774418 732253794 226143605 488405841 140115336 926506134 244900146 603933317 234288105 29721672 675578828 153360542 190204730 903828376 999535023 57298094 3525229 418983123 78651785 553651684 461939770 806925355 115641079 939315678 154225313 891283109 550195549 663443603 714690025 709322684 76729622 107788148 707400525 531391534 37726423 911817758 366916344 362086529 669020645 849407025 833337579 863798437 525455576 743090818 422518875 712210850 317043435 222655142 135442019 302475135 913366495 347871287 351415163 658795107 671729337 79789325 97407083 788879478 948542868 244077523 167278440 760558653 842106939 97179409 837539929 155010261 365259018 807181867 960943881 477451990 334870862 967151421 685379524 302872764 570337994 897153822 554396746 530680366 742446892 164088134 870894583 250748452 882784977 325070246 327666302 321691271 906431232 848229406 955810692 30124897 43735543 580082689 33831640 13235254 438253270 885447961 937468629 280874716 411920583 923006366 573667724 185929471 497695773 857476314 46991030 386938804 281128336 868112595 959784332 851304260 477659724 111731777 691757275 193074841 39189535 873132873 561203703 538841545 825603476 704475216 685223682 529545163 463245365 796089739 223512348 415764900 796168227 755276615 573029931 143787614 264200284 598582718 496962921 724503390 741540998 866740960 233474375 329868756 318948776 232873377 693869745 87103046 621804351 40664783 890464876 854065468 189776382 871804108 327304150 964530671 829331275 886790510 132090823 264464306 904676202 324094416 273374406 440274413 134914157 236783223 739359360 214373105 715346098 49723555 881374564 302232511 206987922 102338122 298061919 210333710 367675228 956785804 719091974 729245292 921982136 987609445 326281599 161697427 81960078 370568957 13100305 338604703 241952317 948965972 210345550 230376661 568340470 454796742 820183709 955611702 399555370 422314695 753288637 241947580 664068193 72748103 936161185 769676559 488543721 694900714 262345629 837390034 101290431 996113432 346764790 395929025 503254382 215022024 778941009 821588354 9071758 15418042 406400837 323106446 5699932 139366195 159362274 733827110 576258466 642611627 614184533 743088862 601644252 704680790 194716268 538671528 603434461 403265295 761833148 529102533 306319961 244813143 418123635 556004318 430459225 95191041 507671779 184161385 697148305 648133987 484870777 750198803 937932132 831634288 785608799 919197458 86116890 994441573 898697931 865516326 551477017 157992147 536128851 437065273 485886602 250195099 46824041 650014382 737994516 751592154 93937885 957536256 795101462 976812256 854844836 455705979 292594422 382975043 274364559 390572057 655361752 589541268 35240583 654605108 996820487 91458906 450251032 636335562 642145348 85340974 893502217 934424350 400956219 804259975 712934411 972948512 653951019 78922774 43357973 763237800 737136420 241843653 786957218 77185689 701032280 61395027 585251526 722265341 493228467 363419314 328858925 21390093 37776299 540923913 528849152 261728227 456194422 39850177 320076221 824216633 918963454 317581061 880166675 549018910 10572216 640310845 994198769 414352660 567906608 73909526 571313791 152776910 718169773 964858860 169716987 43021105 319974911 679552845 954502583 645520754 142664473 271397496 550902820 739827794 788533938 173768827 681649120 420930167 919121758 749371970 688680758 869272641 218727079 89897014 294423467 849193033 524969507 974393933 461246193 434846735 308080865 875029653 732650611 292121131 575428413 670565508 339052307 910988291 911591807 468605062 812026777 477080766 490092761 543750609 376010424 430428221 61945048 793174424 761494704 141940035 938412045 171239273 635628289 946824341 906179018 998994844 935003764 293969782 332823163 283296426 66233100 985672261 510015758 475220701 98421475 406206531 212421384 103823065 591275647 949004477 428349033 863239336 85595803 185618623 445739481 789991382 889637321 845461986 498000300 666470682 983342306 240666908 938827504 482237342 332935090 73217180 365367105 780244832 251491947 876193047 491767678 855652979 684597933 91784539 329221526 503118724 428227139 82765761 949716455 579357875 67404755 384420266 286769538 526835513 177585342 479571320 611478838 278774691 490255433 291301670 614703064 911004038 840515628 903021331 11245429 796196935 514926037 75463476 927324319 631968117 520643786 194961001 5243136 33483766 916831159 533571662 188626579 791075990 36854267 688139957 681091508 462368417 786300651 376188165 148310608 900543859 126498560 589163875 941630510 549033334 575053283 111632885 797196456 393485599 943925556 706769036 708390389 555332604 874954287 753845676 675127192 901299807 769508217 232254286 710936806 704809427 395842195 388887518 32532133 835592022 300127961 974474494 615929261 705681907 286417025 134334394 997689769 465798664 689254869 713265526 431108908 31029190 432332665 597468943 480536162 721892860 918693831 878730089 687358776 125315380 905730276 683619830 794061941 113117862 422571136 839806052 253752584 706278922 660217040 84578156 276932233 309810216 125177903 984856230 211273804 889198877 223759114 415491915 593300929 428376527 211747741 593711223 579701029 884074950 270347705 815276499 744455611 145646373 842215892 494104321 139667001 978026902 927727784 575842000 39779524 715032325 882686847 230934520 416396886 163169751 372732356 224144273 338454144 616498099 880150151 821598512 779986646 484362345 432666611 76668589 725032144 598868577 742057760 540137450 179628766 100227092 798916705 564331324 58462723 894011736 468747878 673591797 397483747 69440102 283461401 643384340 720175747 307101458 563024018 27012035 646516262 40643109 690877799 382669753 398810814 481923070 496410903 501881655 711134376 83895293 414867113 445729896 636886431 177529474 617446812 841964240 919034518 397273548 985913423 678211704 754677412 45744014 274097782 321395904 309079696 95941565 121739508 842555641 99829453 971617549 428742171 59052507 460623966 525188959 262741208 304084376 127680624 836546294 66051351 330984784 763498358 578010208 444029891 466724259 75409692 838553706 762001398 26349042 818232327 357443073 632705796 100264431 141180812 205429680 841171603 994590206 26033093 603941135 386485192 842239178 396841221 106723506 171135253 774885448 681677149 33585424 153545152 248125678 280686987 421807741 176503903 269447004 198656613 123200606 636868761 196756097 509069744 375917113 44026516 788773213 730172981 156620125 385022523 826226364 471858008 964559803 300042759 10249684 897427096 306326155 755461398 464324834 635875689 16877820 58801576 144289683 301703925 400965813 186468698 512304486 357060133 961442582 493565634 391685421 650994825 43158990 357734092 799273716 241338072 814670113 795204770 817403734 122027417 451696459 87839309 512296225 844329424 482857049 622836811 368595474 307939964 547845526 290496601 696255237 812172438 969486895 462278763 835302555 324833265 387845588 371501970 554650934 138282081 850838530 254168715 284431791 241238553 993392171 301276922 435705079 228668597 977160209 334634936 399681266 390219448 429443033 690019647 699610191 325116296 196244725 508481721 771809902 253024880 980631671 944394547 139691926 246161257 637895972 340190135 530978723 317740550 470456203 22060710 39297687 313708516 796023288 468798352 816501483 652281060 856535751 846542800 38519104 663901988 318463731 917607040 44434529 461723187 168590831 103900960 2069846 625240667 302240150 712279662 282872610 580478716 160402235 860279740 295156789 23331699 9971729 789458352 897403904 934265386 987643734 726688732 992777112 151158750 172580567 430401445 420098578 284494020 246600451 11421527 586834033 872523790 570866538 156721210 117732766 914818812 854289803 238830119 860884325 27176717 219879980 72715173 81840347 397966898 280710299 534571147 952365673 562330447 406868769 798608698 584809279 136287108 83573478 755776375 169908416 992785668 532077029 848499860 494248989 664561444 355833300 553516724 593181326 491056885 715444953 147002789 602958411 647729102 1084839 395929559 990641632 411699237 607062296 147369331 443279649 621332965 795587924 564202154 931053460 996976914 28091470 878397049 445886123 44513948 877606539 676781835 141088213 281137932 311189422 145034353 271966622 583131132 946312003 33603928 461485784 291862101 243888171 689680428 287138547 175374338 271691451 484488747 845105966 619818222 386006642 44883739 78516229 419390269 938208044 594472643 360387964 186838326 629470942 792437506 636310228 371076378 385892726 775048091 387012360 50762655 454177896 318614423 884230049 6931583 515789030 184791120 148422629 401904741 961416312 655358113 419499878 295213955 84179356 646093517 137042967 346361242 175353493 932661019 788766429 334124987 970587408 617556610 655200115 444979559 645927364 753025562 466792301 456492102 537902179 874208460 229842941 412920787 51656736 68457611 481740980 490661151 338713281 682496658 119202573 100423197 580627608 338907446 973007600 795216415 279608886 640559242 678154198 130884757 503838035 759849151 553545611 209348571 99603909 334847852 427458255 33003318 205120287 810242092 683015474 115661687 458643551 267031385 94094063 692282795 844361172 831897371 569355754 224975762 639735754 368930776 140820660 30420374 511280423 77351759 778139827 793272715 682105235 753049793 16645531 606908436 464311406 408837915 322870786 324761437 369998591 370218452 173415578 364764804 583960070 759856059 45956012 694479600 253904424 21853950 696478213 365939963 625601722 533062377 174489642 862603523 879484897 558019280 45559802 682519680 254811151 218334737 848974797 347289799 103795860 676005819 3493107 191985746 22100602 404454037 138455719 715069731 26434717 655432251 88565643 754372387 439785093 2153511 275099967 580965223 947579411 932957088 161145501 65228683 263533907 921255251 640541070 811933779 904605557 499982028 468868241 626251055 289180897 570114875 248543038 987837669 788266766 820767518 629042039 175956185 391741543 472540197 4129563 286346249 893108963 991694687 929188679 763888090 131106358 776504207 513211289 137652550 259981227 755082151 486505683 443663045 335264108 227809803 489139667 761872732 565537938 355116379 287096983 738638330 181529333 782737019 299268327 618773280 96666434 856467845 87125232 834865489 330003636 12024315 859370073 178246419 128783160 795256029 492132696 907903069 796992457 347788444 484128255 605959714 655706799 823317745 16023884 873478980 982815850 688315663 199431163 161768585 232853183 797007544 284339329 481322906 851685959 872793133 378943503 795315865 97695220 854161400 102014077 564607220 681313337 990471782 749526279 577056710 536859765 17553421 165626573 780899124 677625652 433178001 336091806 756516439 791765377 667304163 462736988 683760144 763853107 575702933 735395399 365382520 383343467 939957278 754252469 627666752 197247942 707907312 759397148 326937531 196551652 809923961 829501486 820153398 798657045 744756813 14170605 305456744 205931212 511769280 489537018 267548964 135507410 991397093 853636894 617856278 204089860 837484711 236983214 523528796 607615680 654911942 32793818 636763191 230741706 574454701 662820192 738490451 100804255 35846273 514567928 180697368 220241962 747861209 514006940 293372440 27787615 385336835 466689375 504957103 511007252 446157516 319594906 886156598 80760703 450236984 156294399 739469903 766687450 221149179 280436677 830409131 948388077 229501117 548355353 534842251 212097427 870068061 976808646 199517067 525922481 718228972 433857972 140202307 541691027 228133358 62620067 309554205 221190780 754649910 655694734 861829554 562414092 38351834 48901679 478935032 615630986 318659010 189273290 54002461 931029289 601241329 162216361 441087986 766505660 386504932 233645160 366938276 545804153 631304325 919900310 94473592 193517759 651671904 763966972 290805296 684084120 474332685 379814345 26007000 364060291 149817723 399541252 819015736 167841550 789518838 873064906 504136166 373938636 688980910 171026836 127474533 772848094 133244236 685146593 819988239 584760820 309804229 409664099 458373289 852061735 749268444 108888885 874846365 923974074 752076024 562534537 956408702 340954904 711350483 594697290 782224862 801219535 54888263 294329640 91228278 817273911 315614727 983645690 483644000 468032777 879850586 177162822 749711721 259972374 278638246 649805437 33139534 869132890 934192675 277512810 225836589 422516645 562747195 76461118 487645066 282256365 197149301 929966536 917906893 837841700 336152008 551604048 457275652 166385923 704613367 900237267 633672112 962358685 361453976 715437264 197147642 253818672 527414773 352079607 4760500 866496135 56519692 648067364 988264948 798695801 861969925 935120580 447511166 326071602 348458738 40139914 272873154 203245907 481849257 924221040 296090123 499988981 378619418 392869104 368662748 390031693 95077443 555452921 277772304 523244642 538059294 872859565 636086431 619369218 332542189 725332620 978183700 178435163 232391658 646515841 413502139 609460333 181109584 905081141 633641079 115225977 243375797 85645792 720852724 956030783 373771253 871880570 71369846 440506539 968568435 377275397 122971151 355457195 442654482 548646793 272920119 929858503 407545346 862802750 227366800 261441618 998113142 796851626 372663191 566770172 663951087 922075806 413237487 961678644 944279778 587497626 238046577 701751016 40140535 518080050 829930163 510545099 875050273 853178831 894521469 390784959 501605629 333270733 692419228 49497922 542701564 976167633 555886831 207459652 755468274 939472714 649756848 800662648 807671140 518300997 189907011 464665752 965243067 562635767 89481471 585164576 730277635 328720169 639601795 955702374 984391958 223793373 486527602 868024120 594040091 529999496 644516028 382536364 457311589 934056306 790755989 559481404 68167260 907139427 909836777 344198219 55087175 5977015 191740474 679734615 577719379 363901364 466561647 167298348 129242395 61142172 619348751 814606873 534730989 208871314 56580568 474714707 315211277 326830573 214438940 742164054 921877251 729166230 795904369 250741847 123790180 569529801 260531643 544121118 188736033 792985077 877416479 264809496 860352835 532852949 417355565 547029974 162548865 391007455 744448542 64617137 754301987 371400707 507085739 666922012 293195160 32803438 434693137 643285461 812641684 403877656 494673442 491573046 438308430 775332714 913618711 220146610 673382767 268959280 854434985 839380474 504834822 176884890 185464645 507009374 2767730 232754327 461849978 709884384 351412871 185250485 546746301 33091972 638877689 229748791 839549079 184597581 621895751 39404136 303359714 773488964 163183767 502577016 999911807 420130874 914143016 299639646 178113774 779917287 23194658 674358676 56860692 123215373 499542838 213136611 525348451 255856270 850981713 630915005 502286746 439697719 261729004 824915266 858215171 948634696 825894686 499725858 681262365 279990208 623786090 45716716 164979249 641424779 858377785 638934143 854290504 872985147 520941443 461420275 385400048 540428398 781924680 530608441 451657139 489593060 922778158 892630631 954745980 810855458 925266750 89176819 562200416 775973021 315118048 721860 433729243 330727929 535891245 993558953 64312593 35832904 161358713 221899131 398588262 538066439 995123575 521496679 616912337 392501968 312202746 693783545 229861950 427014026 797821710 957077427 521729705 751166730 957061041 581404190 4244433 103553087 146494248 466238033 567583396 255216604 940203778 816233222 189383987 631245035 796039643 883578724 377385060 881424466 542407561 191307336 36187712 349792670 595572663 465697798 172761193 306032089 369604689 640276888 357783871 617916252 29085558 495176708 508092979 432218536 585137778 513554163 851727254 459710156 927775157 991538084 722164983 247778926 993313310 235092643 210843730 638776467 383366126 876057015 597611248 895751821 273798513 613230443 559455235 613609245 178157926 959950227 932246437 530729077 434459709 378035486 538108501 498008492 102264112 166801505 496906451 383935494 806507362 619450885 758016320 574827571 456353390 452172020 197409999 320787173 642313407 106940057 493875509 616126191 826471985 973295898 506063319 79634319 856306936 920474050 34331796 390628850 167250353 596611498 511526219 956972905 809656498 915979401 607742075 165189127 843318109 486518340 268873712 501855812 106205893 441479893 780431363 825084565 741516334 603537755 620382102 180540236 281438006 561194574 264988571 213610693 864706899 312803249 75033003 964835125 984224638 24358902 545413237 667532660 130014018 789372116 836848239 600730759 614037221 269118943 712932006 483770064 658164220 980286272 731333481 46129691 82285259 746821478 783552085 2454369 104443345 963556388 694662249 209913907 935032254 514144211 701754400 864808049 551000912 88005175 286107050 49969757 496389156 837449969 718156651 136537376 408443524 551196903 366844373 974023160 232428072 334218401 452680201 934983286 286853164 396093834 739311342 335797293 199850183 209705752 527356981 739948822 785414074 383026048 347431913 290503992 567045383 265510119 387483812 338049346 777665739 561372142 219533859 259638754 391845726 320299228 384769737 251546284 492338279 253307336 992774468 971863396 88642481 610791676 513561282 81577888 521705213 684933230 286613395 767535708 699645241 302293686 64285338 141304852 518448411 825529679 883373118 427900074 851433104 652628881 895325776 383738079 992485761 82439140 868594305 740260990 893859810 779812161 597239808 892980179 969374602 780913068 583641764 514734410 253224200 567388173 547837780 955928237 815727042 575635136 288516877 683089792 193586000 207556149 866727276 210305386 332381437 712812571 645662128 467112595 450773234 80858546 741865843 398494337 320314584 883553327 713574037 303227973 252552443 985125606 776617847 478830454 544145515 418608636 937973019 880724303 297622659 303566494 900583866 369552125 316198770 864178185 692803891 153235076 362258295 505408639 423214570 127301487 694186312 25764497 43813322 704914912 509602447 563153293 845626905 46526725 627020670 108928498 785718415 233334448 851914144 262819706 564119835 466489561 428640053 886648135 157133048 860054178 312874031 7764859 25310337 321009033 959787155 960566185 806870554 708964614 934813601 917761376 370771041 953367909 616853500 812099863 81630797 185530263 159841716 404788801 513083618 826527747 569956157 578429385 516305639 177187629 839130735 70838090 212396076 790939734 868857715 63645503 741316478 149519276 463498106 622494501 79476995 191509187 377275033 617111514 53324103 893571419 431864440 298544222 322308159 114710865 896201144 718873559 487315297 423642365 446037165 440824638 985138004 625154607 16042417 67464862 554373614 867903479 494135409 834337673 374783684 224313323 479845386 936877013 709911117 991610761 296292862 6211052 625361566 366955838 930037837 502879499 636528454 299859390 652013314 736119491 179089813 335915150 156291167 480981758 704640564 837029953 740108235 536586774 886586959 611928524 510223949 713606955 196719537 399287313 830324663 886839691 694217533 687823555 561363912 924446407 858042392 979908879 177355594 947010846 312526032 749655051 51624893 858003325 467129740 287303742 883178173 100656486 294019380 53594115 693327613 677331576 305374971 133403229 109050888 784023528 489272620 543287697 86303648 236293690 672760483 497985817 202260150 693982094 14825787 512455347 274765595 46403448 464542068 575183072 537600325 905472475 543592598 475993922 518933554 107420200 744498410 849046337 3707578 88209606 782352954 753460817 455379485 620877625 193275891 768720411 237775400 185004568 549220540 664796281 627516536 781353280 484588434 545681187 645332452 507792472 54357693 646522487 159646008 710427638 921879813 688729680 268243313 50961006 74617397 745201437 665337606 354863893 287088801 974963242 189855814 999835011 837220539 956384597 693489635 863992612 740973913 662209596 441227878 621347985 337363488 389385949 572875866 525637209 545250572 397514852 858710038 104390895 824905401 58743781 512826642 57092390 796378762 116554843 789391676 238297298 544807591 261611709 914206571 2529635 106237118 938511469 737264539 700736267 255283774 751897526 109784905 104338753 41412635 7515272 515209420 210830317 980129865 724985238 833860480 4521460 198894139 405415811 102339431 784444809 316584059 806147262 304661081 368521518 315116164 8253046 603105615 220158439 35749754 348697992 50956342 515630635 989465192 352243551 765395820 184509630 770809017 701996488 299541768 485527153 982141737 341595666 605957871 254235603 118668145 618972353 943390671 40809815 25913273 506474756 455577413 382146492 235441857 312884155 788449460 279104548 755697414 108733865 167042529 892066076 901068188 718913318 796508 707388488 212509510 227098466 422719428 562175528 72517486 895961475 878635613 996517415 486078818 15186907 928486205 472851403 298903502 428553350 61025206 6739277 237719454 133129932 404603157 95589436 204599645 982106671 200510340 736687555 801402383 916977488 277717009 495006962 898328957 316612297 778948952 594565884 907967845 28983610 593112069 40234353 142458262 651622618 189412020 177431107 408371491 819298025 706431124 167680062 702815042 2616079 980642629 621857304 313215915 421296687 450873436 948992560 114547977 349628154 219963016 967497629 975498938 718620032 90960997 805379690 306389334 310678931 784938760 137460315 23544567 601504074 203001765 435275397 262702564 4919185 198775366 855895669 111713707 179026887 113340080 49572485 405367888 186064924 424135162 357989364 28420798 556832544 177156573 62330279 3903964 37267024 366603938 225933300 895980997 175177750 420276075 32429462 476126087 840272446 961166565 924554678 222852247 219885610 349996814 221179185 805925189 399565538 840321677 572589944 785334584 169976795 776833645 175455478 121465879 102980613 742871741 385191109 903255156 668613285 672733908 818025193 539171505 269372795 851519322 825750894 345032643 619787392 318336665 226615771 807144285 21345693 477793078 195751073 616144863 844301012 986870736 630217691 298981035 51914615 63621759 741452205 213232222 681617819 597743662 742036312 343594852 253517558 320923019 202883439 668405079 237679030 866691284 223695459 79231260 752946391 204381210 962692076 168907850 521074285 708190419 272972785 549992416 461211982 211315872 29106043 706435863 822534457 643686295 659654941 245603664 33531405 19378547 636632974 429406971 690455590 485926334 183533709 68708278 527255130 984043881 528238232 438485481 815059151 922925382 735662645 875547081 470223383 935275628 1908401 903827302 99411532 3288727 427893406 622732110 478847121 370503147 368507370 87553926 254803593 337890925 906505869 300578864 856141408 542250132 866894243 620681889 828892755 252750247 858082571 368708952 736925175 851440470 236772404 607707923 567371504 304536561 453401638 905862070 330057057 164542835 898126281 915909397 677741515 255932424 997590736 807019629 594635613 994798052 399866837 377914631 848302580 670445679 146834541 118060722 187123142 950994805 112126771 835111315 689913460 975968425 772602992 316462756 625620601 841427633 25994995 317707144 610399210 259128000 709262953 256893699 450277337 631124808 970957130 983130798 850025336 200275948 814588122 367650877 197128260 169080877 948437978 723421529 426046742 546579390 195621772 85604605 1409349 646382231 501360207 244999463 36941856 436545939 485733186 536636446 456234777 859286545 972523771 737553425 655811934 408612755 746401133 6639389 332224088 702778718 959537734 230172865 711699017 553823079 394971001 842588578 991294175 364381930 491090214 589828631 190186770 599479068 35259508 513780696 122450604 423007751 746922921 877895120 617961573 844816336 849962055 834872064 260056710 535124769 780540443 905524788 320598586 798631781 401145149 640917218 213480508 298266183 786180866 876736560 756621727 223699220 970634008 3152835 37991712 734811326 922130295 530010845 972536028 472711212 146204551 57169285 374288642 292295381 925495672 844415885 501200448 392230714 345566647 151914478 324008297 658370818 747924531 880384531 101495524 239656737 403202966 428370808 195243527 237069643 472436280 14643470 518585039 703501481 711727186 667373474 11920633 5834323 338893610 41771223 357632457 858778326 347149432 381070006 236426084 791573593 681435874 844541318 988527620 4819577 959489846 468381473 6445445 411422728 271153005 219044721 122440485 827381930 500328052 667293705 321404042 541107164 104316649 142929017 694350062 854076512 968674487 931565611 676505217 963624385 479283188 774214193 763285612 684276182 457588771 351593686 492663180 697107103 222044073 583371842 689716081 463824442 536079561 886964103 976538517 128291188 691941565 824317200 172522520 85001642 439958686 864458852 1392908 918681005 507344395 621066273 790561064 296562512 921613737 521599935 931335037 501415327 893226385 173371434 389891402 205863116 412446530 184605233 723240396 750690292 513430596 929081565 583601101 282550335 56276669 264508978 256489960 525540011 809286250 2604660 307683023 24963030 63165226 723713394 209831693 380758267 493984990 720559869 149243551 22832804 307446929 442059729 59563189 690590749 607023313 294110945 674031791 552593646 340505207 344729706 262025687 160646231 594147690 334343486 770423111 219931481 50113178 166372140 408677784 656870486 84594242 96389498 751659569 685107017 367179133 828326595 428712915 570699572 635300080 962957288 993666691 638811330 400041706 667302796 16076826 673979018 192545161 920650988 318530636 186426238 254176054 306003223 931192477 862570851 479910133 391367265 561814282 407208771 781847796 473823848 742537458 47001646 146745216 655203759 636874992 86174251 970442222 812521636 739098028 188433331 954294629 242486761 415165353 532594618 505682704 351456184 504614086 28176213 692480275 444174426 78293983 647858246 236730592 418514329 32162670 99361623 784162291 212252524 144295587 676804956 83624124 867639477 378918964 350202403 430840198 426993167 192095560 920747566 186679377 276108971 980399176 95779165 989966167 907969384 524436676 618424226 109073377 142425198 334280227 151385714 117266614 738523505 155976819 400057822 204855062 530920643 666623398 421046295 644034043 384469630 180878406 787971114 875017813 478676662 298942798 584607374 905549446 756431725 372817944 907741500 837608296 521774994 247316214 852769632 416153447 584973287 769746076 634185354 662773295 938032146 911381013 796051606 923139773 489187801 363171409 683265949 691312055 720690913 513251382 830637634 189170364 717940854 796482058 394640225 176243594 177452171 767521962 51124365 692475720 740884892 696246878 48327881 307369381 94994308 804261628 749413183 176900335 776157355 836781948 158003007 5430483 382022445 976472869 872291117 488222585 372244451 7636270 392628345 382555785 84844385 518231247 389142072 106529094 847512994 116278408 912854774 305520846 919149869 20770441 519362973 54254294 489466796 851379689 977318312 601750289 101661497 865876955 772225585 132821808 732714121 691155920 982620596 559789425 678919208 936002894 389721515 213478681 312819528 286588060 919297033 13657545 650720789 428442664 469088396 612437791 357428385 536067329 410678658 976078268 213832035 241624631 105568026 681938014 873610559 265713621 288697286 102515429 603803946 303268203 49603683 427332173 559231196 243625345 345743495 720671785 761325257 612078358 474393982 896125556 147534785 803794493 207460646 111610585 764592468 896288604 88260518 385462276 467668392 512401585 35993747 641316324 863346962 629897794 755875782 95539217 5253819 677698509 378307497 781670606 50814814 168272537 752322796 891917979 393982069 651982885 324126340 519515935 871574005 640804474 468822411 953777447 39954596 726836378 96933286 943041883 420269517 987154238 604789042 194201686 644823692 369770922 923508130 67893020 143073869 202444200 405877379 468194 516634557 466178040 334399885 461349305 891102809 45864072 36353284 124022939 215984573 542531825 475570018 941393159 73645013 305434141 711566913 935648501 859778684 147397883 254651916 555851688 10307644 173004817 11073989 703383257 960194383 627849744 923713259 693426291 703719310 950712544 267912216 736869029 920317678 412944842 543956060 958610093 913030064 403142011 668779318 325543642 125443272 561144218 106981302 312324628 118280439 142428810 258635323 344247741 799172764 548794357 96929657 398122418 54074846 210290550 368376992 142454318 571061088 683157783 942405056 735421491 549196855 847339086 438309522 609173387 298087309 505587817 220600519 814718414 750304185 510643268 989487088 615724921 24462576 648282117 863546825 184753930 969999748 907770884 419044917 832924841 408180291 841283110 187657446 7666715 38314792 876435338 6889617 19456387 722842461 382148592 61010019 46699338 873032283 328324644 131594396 941729881 703590230 164244107 676170535 35335846 572259624 366270302 736128872 191229184 437548204 190406161 914781616 129098655 32687579 569983954 254876592 311897416 681555255 82141416 37018314 385675639 508142809 779867228 980992852 544032563 259325440 552557049 928221805 468019248 657736674 21402409 964682825 382139029 26774442 900412650 5158915 631238274 246214044 677101957 290675388 129455858 908188245 211855355 983069132 228900990 331948309 607796021 97037617 237035219 202973608 85819342 338418291 381662448 254860794 962926144 191476653 365111953 773194727 925920374 533238046 47559404 453829180 273348275 870310939 90478261 17913024 765195819 420326872 495118184 372274928 895755929 222047110 828205063 418958273 927863535 132111961 773589649 966922504 519217464 47379337 352866356 204457813 213428912 425547994 49319428 349992384 413547687 718104609 862058539 677007123 638193343 905554179 58702847 336845968 138859430 119163839 655581927 456092336 789724109 646778676 464429348 204595015 269377183 182795445 185598849 894016665 621897172 851528877 201271980 592257050 86952368 532648877 460743304 396099145 402563491 791254356 47167206 162241175 477795965 327128198 650615925 784322532 68630388 123711794 639833093 174299534 962109405 226109751 793960342 978155853 635868067 103554458 856628562 236418958 630534471 348817877 912940237 177680906 641116508 765253631 168428068 314389300 825343655 128517437 192298576 980568459 991400397 418642571 857765305 406586982 4130552 45566727 70855682 468555741 309649796 453642917 595180408 411227635 714077309 346353725 875232779 187886852 986990548 453255039 91077554 537987581 726528190 535299383 203710533 142775628 417852253 252981497 444565267 830455261 688181964 675304312 700672070 239891283 348357220 920965230 391602409 947660023 170469285 868799069 835058851 606276596 270499845 74544790 365212633 302413087 187753954 512013183 637726966 633304237 663387920 856046215 8591502 744096713 225484623 941897583 119664983 411541965 958429588 998472842 232263224 702521186 879828090 23713141 518759325 543573021 68632116 637688552 476554090 521156573 444593664 322105770 641538417 748071945 267244822 125484071 983435085 726692854 201241441 207975388 289730167 548148573 194388465 201508715 138289921 772827 119625283 12395244 484820238 570012633 304873986 293861526 55691610 394817234 43114407 86290955 804107973 673919987 327128504 685455823 250070868 733566221 443765496 706706029 903370982 124214183 359292959 49521402 242251350 855735493 123441728 375548613 826466295 87886757 115282329 308191184 691326902 437626774 920697598 639316935 190732076 167416666 588075573 683181449 503270919 518571001 567826376 972098521 111113036 731925619 805276978 544324659 56383421 367501415 374459771 599379480 592033386 372479897 523231932 641741400 607151525 506100369 190442205 431946479 144667761 441289420 436380893 707460225 832724777 51910892 302212456 44326298 915461503 685876340 962882055 64247670 154309671 419350697 360479344 423214515 479176773 525096754 104387051 359054402 20653091 443122613 931649414 639820389 901424981 245571413 529947864 365739760 640947435 504484784 103741066 649630274 304980919 916097211 979913878 746642673 714926095 547928874 923119195 106199323 389130100 288224549 178184430 342432341 513410110 240084300 753884167 815245565 326973577 811725323 293348105 451185700 950435349 914996035 512651051 485892544 413092724 497218230 34035254 866786240 784354560 545339762 709248377 623066347 732347404 198182352 711818389 483779442 959044808 828369448 174813894 229918790 458006767 907336765 588579938 109546162 203680413 252721944 230925613 644095231 119824070 421952961 765594894 57704895 888621655 485805840 17139579 141931848 942634393 462067239 446374970 289354726 857817505 266759493 961315318 207574461 607673578 679067281 753069280 101177131 131197477 843794407 654616565 250119915 406958602 220269167 404788367 371691213 423023681 463049443 219496246 767277852 158790214 861348906 48639976 411405879 146259972 656643015 446241116 920802540 908618264 915044039 920202159 678904775 542816715 433430652 371338654 330015869 236891565 432536593 405679447 126528797 206981376 780623028 757131499 435693948 247610239 854498569 215408040 896872874 356253737 934125476 138737130 561268786 403012637 398506931 332420050 790026773 733307866 390156772 459549922 260322397 795649262 313031168 554263805 780126533 85823434 106469481 780812259 731057348 901599205 675558012 914123044 643523066 947751816 530653852 792163395 390241815 31817786 875869441 992589563 670121564 783513302 477203894 89204065 461284924 997038045 927784186 223455892 490255094 698541994 578567772 629682377 396208336 685357060 409467308 834923204 454619611 666145686 729320457 679409760 938933645 68985676 816381733 940432135 899251987 958663077 412041635 7785277 690540649 770929984 73775169 192013688 692980695 972878200 696067521 515870084 349060324 888486923 289219617 648701251 702388879 380210691 447970024 710890087 707474209 351473268 61875349 678035578 780730127 793052033 830809473 622437908 510125008 284579031 676220898 214620655 164119079 220080629 47844799 778072304 316074114 636590465 322594308 804181605 388718531 656614711 698879068 885898724 253985237 664389550 347176500 142511762 290356040 297417454 398149691 808720237 226362608 668947546 271902500 913079821 916431996 337559493 118451810 114799528 593277898 716531190 387906078 859764064 625026723 765174387 241665526 334770089 884513813 999643206 274375317 284650387 733362951 171362878 713110296 771354687 316772888 160710889 313759800 770239840 92853626 563936129 396806104 213355060 721739587 682552971 623433828 51653352 29181383 699154317 853839294 792306782 43033369 659807934 175458738 252231925 158040202 537870648 456514480 440974511 749995536 960974534 203665101 979117005 530399520 778075967 582616732 641403716 797714501 938537762 150223752 767238481 67867458 818275028 2871576 762898684 790414945 530717022 370909641 778833088 957732634 450329022 70076504 63156887 619922707 77766317 585488274 229023144 733816652 268719474 453762264 35967148 239294840 770206582 924880139 651248571 285810685 947271050 690282159 481328580 928949907 684970360 23125479 811625395 27145872 675450325 887000585 383069858 101288750 985901364 229101857 693916313 897984918 780885124 623378151 148286688 185665184 131072561 449581586 336638566 714594518 224121183 839076594 580017701 467435428 623977115 288080673 815793694 467127015 617658731 36263417 356942803 528367742 136132525 243801128 628327156 492941704 557819300 999752315 696199599 3692631 243989695 273876211 68421550 875884362 63521199 167878797 148005158 471607535 595209656 81219374 592260531 676152471 161644767 619828164 940045609 260422164 97696757 253521968 687286061 637601434 543185024 946243669 862715467 959239793 442105481 197104576 621436945 567543052 698889349 326755164 29483376 297566627 34478462 480895235 733527381 993744590 781618482 558412989 938601189 161281809 905206638 204725209 855608605 482533243 230585687 436659906 854082103 64878636 66517863 636734542 693775554 734557576 87921887 960616128 810195533 935847853 148581500 191976768 968476630 225289721 143829408 558902147 673556625 577205618 8922272 178044908 905115467 18210024 333673906 172749690 261840690 898553518 693995113 935462240 220692198 665170719 555844024 42566393 171757951 893897128 571399695 455274956 280844791 466357033 879296603 692080117 172027010 426939407 485821099 39101426 378452876 878318061 60513562 968093268 547174309 192188500 661260718 148743314 740582920 504809081 145894719 664502142 97768304 516974498 752617728 944387051 669802439 976729541 583931023 167526446 301489587 3618412 292274992 884812986 477397187 324968255 224773847 367893831 533915526 397448725 919118643 627547287 943384598 795831793 624025264 961162286 303641452 719426167 890028251 83743475 846939609 466658959 54711675 380553438 3464767 520962218 468979254 718237462 615019399 811669977 768935807 360116333 407126306 305397774 324896665 577951022 129047884 849208988 548716261 489291389 691619366 815218390 631330531 249186418 684774302 509620339 1333257 60142566 279822303 950677989 261342951 379305826 626647986 961513848 336554561 638970412 8512862 983698873 851682664 106509315 955770210 443725481 907237275 655070578 246427443 59293431 398040201 600147882 280640864 974150019 689754055 219347209 516095234 326510147 398121053 244378953 511304648 331142749 921462072 236292110 300327878 870514900 476703198 30319544 766123850 438151359 272458865 768073830 499827986 250024280 391207713 370360666 48262314 354205247 808008625 633589431 486772239 235401381 757349837 649539696 275439134 261003250 176721351 19265226 751212692 686352153 734619085 417779870 87881589 946173540 318629107 441908508 14392870 263735535 485474337 837600313 511727487 951342807 263923576 681301205 139398169 916064741 240447895 968507922 498398377 259138419 70824927 453910966 254880029 209871747 470651470 935682704 349416276 163830289 279511663 320411456 44138646 596616270 45486117 598430630 397172285 415200278 37139840 102765178 560622301 711618081 808367895 390284381 590134558 296849000 156095396 582373992 646216492 876455920 704305261 307230546 194890673 876621739 287304860 455971939 41658066 672905306 201217760 635157881 882024092 720886555 221593741 846210032 217555828 957208553 937989191 132981694 157329146 671947631 673133718 901556320 283748007 497329766 401084148 147688135 172726589 859904015 95140112 242579958 219804371 909013307 855808502 481430010 936990143 192134078 723807159 196762452 795392207 27421808 573424668 826535566 336076123 955450571 629052131 945524681 268103443 303685507 735209154 301023595 532679902 432165289 132920862 361478126 752422334 245569569 86872827 818399079 978708589 17966852 437409182 738364063 801478496 110376761 418460309 730835730 828261980 571366467 999025110 124723330 939025902 751484105 395356838 758829135 433955900 911470400 663129276 806832344 244690986 192026202 655008072 491453578 122793330 792690560 187441716 8500273 293493874 465067469 862331298 843519512 394434494 77307587 537193534 566482734 85574771 672353435 904159055 885887805 269844824 917569896 45087100 924851040 458457030 617742387 916370793 658828642 69161309 148233581 648091774 726204129 779637124 98627659 67604009 12890583 311806679 614042870 619274142 58340416 698251890 122667539 348210412 771577694 781259659 770551540 481684006 596732781 242636241 670890010 368940017 831252700 604921250 598687691 581660606 46906697 987556038 974099776 278174017 120409508 464727608 924813482 985274353 760028604 466726667 659068854 507655081 118707075 649281195 392418855 457217575 216485607 57568449 592485545 171087752 816752340 433451808 359252678 343929113 179022021 126999674 939788881 407404749 615745266 485770910 914580336 729377884 685260254 208850235 463333253 597081176 586085127 351797264 862835633 705891554 996591333 821874682 385946804 840688866 340436575 913831988 497570070 123291968 500948277 467683566 649798971 435356496 666384458 562383614 963071706 13112307 996505026 658849427 512011212 630422514 891223361 105180040 756827509 235633786 182402563 769907968 677782108 175559790 677348166 259044449 165076351 514556287 313385736 154088215 579796328 802041871 80568676 929110995 741421496 668209959 381749454 360019475 482634930 761046012 624666110 717443689 632093147 531769093 141391947 711116399 234212274 49998833 375465365 945444157 269800990 251072726 648338081 244934486 675911829 509867761 273431573 747741946 570731347 503613202 414282075 96607987 882631054 166400825 918508043 803173257 314169577 751697540 681077790 424260939 986029972 990326867 694023724 726468501 905606006 238968228 995112887 66262800 64024708 76069219 340505578 540854524 974446102 953797114 187555126 918820538 522284394 495396307 173173323 284109545 58628520 486666254 252541112 195024297 971666885 748015063 993748313 177556420 873406638 304956334 504258999 794257437 465723817 466831774 334276748 193333764 742135424 390679036 159632538 850947658 867360796 544357659 605236164 213113181 883180229 60641431 291907505 638162905 330979837 938612721 737229933 726832066 99058615 277894802 230193357 351854565 758250827 694760679 397441915 851836181 891722736 377812266 562863773 357477716 127643215 695941476 597854499 607027048 403311482 825255647 990001952 25851892 361471447 573579166 132353387 157160475 646067515 715318384 696255058 379719383 569377215 903917831 230880326 156043345 746936331 13240617 86611505 570222501 233805450 452327223 59308438 290829221 891639473 775759156 346532910 759209856 510897309 346561097 916031882 285467872 870154232 869254665 863402034 809065604 955841406 311906948 705140474 732629552 629793194 371537184 304444941 510175080 698857690 34619832 362567925 834732057 218514875 590062565 173751994 676256843 569361855 939631953 380255360 662860481 318598351 92442080 613491291 277927727 114367393 160425419 660871374 161603538 88848285 227408620 883581303 609996257 587227016 913389092 729682011 417433688 684047937 833216063 135020077 888735796 592272126 299751774 648544108 41554923 579550771 107238436 778864200 993757254 535434488 320785325 828974230 893557846 65962667 354882048 753377730 559856094 795099575 53445490 913912127 311401152 33141392 148177688 442219230 979703537 960826422 817983648 77613395 853716806 271935323 464299568 294608518 143352713 644982712 652293191 181704699 107444761 424203328 388236914 289002836 996815438 958659455 654876089 413551990 877524980 844012264 548446408 21106866 60297131 157531585 345285337 481120025 69965118 759248204 329402120 586046761 469906237 678541607 842711910 371886838 839531847 897034749 432390623 255372301 758338254 630881934 437203184 485242409 406114766 448688344 753197936 970818178 687491232 307775366 643079486 634831557 374516773 682423361 53430787 638005236 574871695 71462928 941131804 192555464 137709584 984447473 377671395 724956874 654704622 293239698 803362204 582904842 643602896 439613123 864033161 909751193 894899005 828179590 69528294 198009861 840365144 558177835 542130621 507804701 648622138 662604848 370628108 427793985 408624620 913052782 228055294 918584198 579906 937026818 924405341 263392128 437319149 970735168 912150483 649083659 538675360 992137314 355626378 376166318 520950193 496882965 201698683 26109396 501570667 358420459 270118212 55546778 648224238 714180413 540613217 284753920 642200020 283698032 191116229 917425560 466447171 525163751 287224636 106513500 7999342 861906151 550510095 46810094 951051239 603988666 574432181 485428555 734998174 418024806 395028197 490141513 797617775 67394266 617675574 567957852 588876785 392212428 662223311 93894818 603808135 977823591 151180952 13357163 570544554 501972551 980239626 651486188 377633853 77942765 424035382 897596580 54697167 495877533 382499656 751102921 558436142 583379629 77497379 711657750 675874874 173146579 999368826 505777018 6370552 286324621 531484082 868388788 189998280 236699934 487968465 879046122 325115674 252858373 228763124 574246491 652910598 379944200 868365047 797808731 665276318 815945537 117905998 393929471 595642153 588543047 582289623 33915393 832749103 197994432 357959954 514492272 173618316 577963587 613250537 309721861 892804010 652111788 144290178 527786649 338412129 916487582 925469445 698813705 225212121 599890741 706488183 486505343 539137751 254589360 243332022 84872790 810229640 648840546 814882400 110820400 432354579 977341729 806837389 896484011 959637665 220171332 152271931 315625589 677507155 901576777 803850093 750412566 617519582 366716803 326032570 569774329 707851961 632000518 400874200 528770785 971995523 478096187 276963919 629378243 858527913 179992597 21891641 814206666 179317574 950970755 630233955 93496333 134424620 799377454 385549212 716365631 912191687 443163082 909337522 788263174 394078351 157406808 760187815 614816446 602426244 338947416 962910703 56491427 671654037 313289338 604414067 595949836 820123890 637796820 374370013 19838167 927948889 568628196 351500221 996460295 35999896 73048261 354724468 644268887 303187409 198290769 476279375 535393433 588784565 572334963 725327282 130993196 123600689 887211784 318904241 788434679 699516129 952985912 824798760 919008671 36426594 2243700 140578557 989067946 862027639 851215458 501083364 814548177 826796819 467277262 603973610 659231825 781989069 851448393 351375583 620482739 611297918 227786460 214729078 718790617 885071394 173212259 346345790 931101812 62919532 362239179 529873512 768593285 466987216 754681210 230373814 901675129 208883525 214150144 150559880 110143418 511460619 746323578 75648291 536845426 591994291 898048737 435605378 104420248 208419212 557537630 953417677 256353621 799523760 856027236 705274035 170066471 993721519 464025725 997968304 561310733 512829494 471991353 305034213 301864081 703563480 954710160 906017178 747921788 781953918 839737281 317693566 942619287 339762445 938314955 381703188 320372269 162966903 114863665 588299347 112654517 871399988 737971604 227384762 732555809 80805768 247521381 772551787 831538164 227469679 646182961 52511261 143735620 656465190 873287709 167299712 376129602 617435409 382461508 117434729 509449332 402951595 340426 528488758 549533100 321232203 401701504 607006677 406889296 503025237 485002704 936542033 350426129 799526220 853471361 37239366 602246506 670482453 654020552 604692205 900255299 571879861 461117667 906167608 219343296 951102637 637284670 778831968 74435974 911678981 369778135 703606306 809477508 428919832 44851778 138507153 836610763 121356159 853450629 755412359 437106670 316236403 626048584 210308231 968839285 954060034 598329873 411033078 827454972 693356109 539509655 638403575 981025083 736789657 841102789 440341238 780191903 267391352 655043781 683622040 176023152 768850990 364226679 212460791 942215227 506332054 904657582 967087023 885103122 666111929 520010160 763561898 112866541 273094611 231157196 480738890 843247991 860344620 23449233 41282904 494681419 563580294 643977701 440147478 468242389 374889329 379969974 493930896 44602055 852614422 696533499 567527618 682688675 751427098 33427685 350571035 732618695 185787579 691708247 929436618 929793306 392912976 474479791 487114786 110070575 420643368 987459053 738933407 287385712 221237117 921624178 291581885 545282448 956827075 649905940 847602962 256000531 674631075 320940255 231181257 989956970 772481514 412804712 110848854 99417777 451264479 254696959 691131243 396201933 639332767 924702609 817047114 991877983 339116345 410663347 526574975 778097843 431135343 15189202 829072101 635256885 555770651 581430153 84738914 814133122 431125540 370640384 630495989 206230376 950106858 2801823 916408116 302220652 721053439 218130843 38911326 313865262 553142534 168707163 60720384 500577865 426456073 909316526 176955100 569007463 908631754 633581523 430878162 99648929 325838401 591326598 928380592 815200986 810783540 481028408 19480463 138273830 523850536 829077780 423029470 85941649 846568680 345503541 406892800 789219816 101365764 350431510 364197931 4546038 521903622 82756351 141288891 152539252 601642687 428448584 445349379 899706168 265197332 729128340 843900818 150737587 727122023 899898314 664366558 249244771 617724305 955209838 32241362 129574532 729811857 808146988 354869048 452532235 302211715 539810536 836308014 692680764 338285634 54892179 611954988 241898000 964427605 805219611 469165199 279765201 569024889 271545130 144885389 474893798 362183323 818379813 223690291 157992947 419453611 622371351 781477280 597529009 693369118 501282593 600182097 695904084 148114386 967954696 411900403 578010353 733907922 861531255 745887192 624373300 641776456 840918657 681896993 546834697 15387486 402519469 210221274 33820266 865387379 610391866 797811505 687947600 599976672 132910829 489022093 492386365 894291578 48728992 629548854 203794031 646325210 444302509 861799644 759846315 559680718 445530287 537667701 764972308 987375481 263836014 689821856 819198260 28987324 616793412 437060232 721257036 550239510 68798515 210107145 450796610 109093360 89801899 331807769 301857281 149879540 301827246 228751000 616726582 158120712 283788501 751639959 453688510 443094305 425164920 559288620 854752077 17762050 816995051 729123331 663854828 721550609 807703709 498546231 573278774 504773180 350777361 764362844 872691253 659557491 836956862 992816834 316270391 673988862 398845638 899109272 151889589 307165391 38219848 243786390 823152990 786576667 173468219 279567798 237666610 357907576 446989314 538392519 744747525 613166736 693910400 455330643 580085822 226690655 760560997 238166341 910393174 129708295 552525946 724976822 970395037 688742261 491513517 803492729 535368481 620418271 737739769 818383704 463699210 965612295 701732740 290523070 903232901 564077004 882307295 654420705 264541776 891462864 5550177 747919177 252472703 946412408 95090376 192361533 29052056 445379741 55096236 950415944 453568039 773050200 90894055 253466282 778365300 637474747 510390712 399219515 489965709 873513759 129523790 114475857 304512720 132890521 51654169 373186634 950721187 949137510 372584340 587870784 807956392 752170699 587223142 952175553 643923097 616140970 746251316 639450623 213847968 490909036 411777365 428860657 322721408 539009845 764821383 96580366 64243997 1107797 604076157 690695015 976776072 253116496 747681977 75430401 762400066 362354523 850467544 975906958 981706206 900825722 616293375 689739994 570169634 5398111 503657610 679776015 592203373 934873946 252972726 105920641 339946791 673596380 618253362 791552535 100108651 941759235 256735865 593967226 687557641 47485540 802410764 862833051 324117029 899500118 854551279 312198114 612046896 995204602 58708274 262812974 722262911 474337903 744977468 754104908 997428888 970934533 951417341 258432127 410629267 219936877 657432114 35235111 302199402 748733635 429445484 241274531 234024416 282653255 485823350 493926489 756876229 229506519 154203233 867136377 84076002 329959401 656633911 442882748 563877765 131313965 601550203 924519169 989028548 861538855 757209471 820986733 912046026 770431335 153549402 263475524 755262317 115177168 349412728 350045669 239487867 630578714 503328364 826587170 483979106 944039719 802867064 159146263 9012852 74639192 818519652 760910949 278529435 521205997 7137421 555350235 86479234 103189639 222805006 138053684 490156443 208534343 319161406 906370148 754832238 749455758 33524516 370028268 497747560 464343840 105043792 175576695 23780646 799424573 312405329 250576441 52044010 15345281 492703501 437744937 767893940 576287354 498903515 403723710 248681354 389912829 395724303 503215042 480041464 382190426 864305038 704915169 592710591 602524889 522225199 363433765 322071894 252792353 209849779 72311498 42787462 772718838 144039569 401001468 482568442 422892410 586383509 346886019 210923152 565980619 601810926 907649699 59069970 514509580 22960475 191565325 184797275 332589478 540440933 101177493 499907939 232830060 413987225 782832957 913735520 859285876 705415325 501409347 134902208 787169520 214876789 2076783 427449734 119817035 399381355 64154642 307399646 395448395 327577906 695506523 643126642 800482907 335104393 99444379 351766357 661847398 953922252 66921979 5042446 936257315 977544929 363981975 984261820 762270026 339970563 335168618 652910059 814905917 69564784 905566161 741458313 244635342 533172891 703931413 476928267 445755032 907356609 956854105 860061036 810593124 3022589 708027940 140846293 810451486 128770640 947802029 879932054 260810633 582699673 533814610 379580566 140441023 644103954 103157214 906648578 304385489 949336323 199088306 53551678 547650180 283098827 996306955 623499066 708469108 832459407 321388514 901273068 681297411 473231872 972329084 829135325 173691983 921307487 87121293 603592797 121662334 840840616 882140636 182058845 580531082 462066429 465266289 599976900 130569649 550865427 317243191 769367303 512559333 23480828 684690536 385326543 745340349 701048523 623324272 69838258 217555575 254004423 891203851 952552915 340935803 599736159 791567361 847227500 915848476 290587802 335834195 433509827 606953005 766063924 172735492 420041074 475887292 74683499 549223623 163261115 326857413 668742069 317970489 475596016 856942656 612487418 952402922 970723782 113371530 690135148 663965603 177979389 485657167 504622190 27220667 868002032 74220148 40040435 823608770 820759236 287152232 272076015 993934202 342684924 161977106 130919718 147194111 377341892 775311208 194516377 335999948 599247830 709079871 641098694 852175475 137169822 132922394 236809540 263246636 242571195 262192906 710942745 995220902 436272464 644319816 854313497 642210518 438054922 641871945 388062054 766516702 176866225 176642164 697561373 120502647 406857740 351979309 977669498 569271072 674438985 84547936 989858608 807880766 176957107 927169157 668790387 241338314 948437702 395884062 761876924 335113127 454629046 369630718 73361244 408817354 939412489 387715158 661468913 242981136 969596952 144385308 990430721 412896295 166164407 262765291 307829011 160987055 568248331 845326426 273905453 718986774 85244112 696485998 724806485 895442687 179956357 740804304 238880057 443722042 171760314 155850849 579283979 33731619 370406570 275601967 422805079 241698627 2775122 890672762 152827110 228363938 394397231 230657771 95542716 676979288 662921612 21763827 317364230 796411116 731921533 969777872 701247931 241927915 890008465 405430244 556391448 215840368 109870803 276538061 618884582 809880964 957496534 881790681 580109960 14457193 581952603 912045162 634948877 468506028 713516260 144810923 212556039 27607157 20424897 530233359 846059216 591713578 680902685 111039507 558778712 827555569 820732647 484204030 698426344 260393835 474301647 750387555 696750435 108118510 885213320 719621609 462802740 290594782 222336014 985690184 510100635 967660606 715825103 114309254 654303900 616553100 772783077 415412193 461718288 535763284 186685904 165194789 943006591 22758618 65511329 85639442 667530119 52448998 114214632 796026174 978249435 550610706 483507071 734014042 196486372 849169648 20667585 40690349 898876837 244624477 729509990 824302523 792235837 113838606 294676019 582859545 283942121 112020277 343857366 161817920 113099171 84805385 980770709 324795787 895139752 843494788 484655074 327243253 888660284 351646044 745678315 326046761 341048077 214696566 656284557 44681119 341650365 122496898 385576664 871680577 245485594 638821053 555805084 930977778 651993522 562991873 906122306 893657608 221486809 376354234 16736294 8182046 802371885 512065446 269029495 534670410 934892239 283893331 664795300 193099596 80966743 495317630 422140745 549744443 502547027 111486785 833077945 579730715 644792726 266633504 52297901 880751475 726486272 330834431 751817194 97039451 684832836 900750186 661405932 895593342 586000294 375139079 971388368 254399713 138324862 333475415 492559610 589328496 493716289 190386378 83236995 129837778 43257623 742137386 966418048 279397528 95593126 604527308 616115601 197140458 873625987 850117490 706627881 132841716 262879117 21671761 784777645 281150309 212303825 638007668 795905866 525602915 691218032 620985219 989386722 966299575 546827981 581035680 750527233 139431531 85937176 774433044 576170176 506002760 416123507 503923223 199802617 456578319 156784639 319545985 14206766 670025945 243484904 524222051 298733965 682597775 191241852 400101621 694720271 108876211 374142750 922476905 437353265 735496253 883299238 652288739 825897417 595424321 265874188 131741630 429478696 962648133 37722790 84891712 930079854 161902819 666949736 961558363 286075347 951164781 165729259 632682824 711102638 422161954 831771663 669097472 330598151 381649410 620409774 864306920 807727407 916133192 683677344 534703680 918373235 211182382 784548335 507589478 509083381 750955027 437661793 76506226 460494210 100548233 424393062 989218457 297370737 938606751 630085732 13288148 997754314 692246449 777804801 842637164 861345006 948994527 968877053 44389066 863330962 734360530 757866594 580581868 948066769 823404628 761900358 819593634 890457085 703950588 384768882 863556439 198746064 434244865 754194429 163681940 190197092 706232265 318266275 384609470 974627299 136271458 52996917 914357892 779313060 187644427 28475608 823888904 901872733 269197092 614538315 240732981 692888105 242035298 351941868 202117753 53469843 816126690 168124672 233761958 246070564 455680345 791781122 971890059 553593405 913049378 977350405 595291887 484977811 800269153 216985081 529018220 549803301 533721653 792915149 477147759 10498152 269121406 467595199 957136807 544930212 510121655 160076689 85153880 23155337 271507279 966610384 48635033 903341541 674632669 35416489 380508920 740007622 608429132 435162791 380344015 546254202 965962476 920238421 279298363 216947815 835485396 86845217 507173823 935275933 930297060 813188451 923758540 719983206 886073152 262561854 650225677 921670191 929215164 170807519 21637899 532599922 170496703 118743845 894851771 240950574 759769232 350052925 890897840 276101748 782774003 772108638 515597184 863814297 778647003 138623845 95092535 888633154 715440563 129199099 961552638 909874868 294936462 624277517 262361538 739906106 227935297 778825954 608322481 983396639 434410433 272233695 117269620 731972898 261983882 568520705 758325996 316422874 521859233 70206396 534883532 23564795 246346556 672002161 75922363 17606511 394636950 911345665 512095158 759312588 757513993 709747139 717516463 483803754 248606023 777550476 594680654 743380215 911063806 385666498 712537708 499249497 854459696 413394729 871722505 539009715 435400647 831393663 686196505 357217851 29720372 135877151 636763165 776864796 670888808 917905556 463565731 460900623 298167443 174446743 391901776 859650562 31501472 629730404 757094750 418137278 482428469 89957920 269171196 397101803 916879350 649300726 123720299 933305465 604208112 297564831 243122880 386378133 700072375 396384977 857781756 128843045 903250167 480567799 226928611 921249645 50262707 645963217 371136633 713804286 926798623 515380787 772710328 623693085 752646656 127551081 427470308 73323532 131347565 133784816 501973544 338157514 220096169 139676409 855296825 273491893 275988019 366319095 952910490 920372150 379737835 893246358 315972102 440287690 44945115 349867640 918367062 604261015 603916661 515772452 334570253 126869603 520329775 159739548 410575978 28990851 337371698 551898916 118055640 342291029 143786043 235697136 909983620 649649471 876343103 113920176 849622751 973278145 739847563 783216766 22144436 124295976 116598822 721898371 386635289 438013197 735013310 903068629 103919704 835479168 974150005 667581982 515187954 593588322 81043072 762863656 13407644 883203615 194182302 740012387 285989906 355681855 206566454 612296639 753299154 760888087 266169704 49646387 513616479 193232019 787936020 162904363 251832608 408813438 724015192 545797379 945286051 109943663 115528048 766795203 208575227 249026342 918829066 615418298 727885757 498720796 1490960 292483104 691281032 599345016 885420628 13630586 734362561 537513947 182051965 179450748 807576067 199578826 871607084 649443872 828418451 375647939 386623893 631502728 609002743 78008509 170234168 872237172 649551286 562403845 378051527 474914639 568555540 534159870 375913416 511337263 258230957 853411496 537158952 479846480 364452429 263043500 137012342 162262910 457850286 337220285 331198879 763499601 304870203 632873211 91999518 99851489 578038906 779809499 711330863 622659437 48326101 931760722 528180444 341185758 310684760 911603639 209723371 166200027 536163725 544627626 167749026 945413724 851126434 979227919 424715249 651766214 850407066 899678953 186781779 804829491 870293137 744303557 752841185 592680743 776718432 320800818 595482385 725501976 60234880 696326580 873028865 493396668 595024024 139088424 676532167 775187261 403199695 656620519 910049671 363629029 311078184 452724453 350403832 159364991 227094958 856645959 67287446 491577600 418877700 258954698 992456388 313591388 72000708 769576755 304705130 841784717 708322587 441488684 970542936 352749237 384418581 129062561 370249509 971176829 998279587 597725951 273293380 665174042 200070817 846702510 947104838 396815205 76270747 336435517 844485969 2534518 851266185 982480032 160348542 370824344 932743859 713425709 591438032 271773830 260022558 822660893 691610133 566193688 223114495 360108323 194121998 524211363 554635925 551193284 368719490 563305230 703566445 900694431 107158893 722537899 148107197 148979090 322079699 682605497 818334277 529428138 775701497 624975677 262247311 420379661 714720386 929318080 519896714 214618032 41672503 776919559 185331160 134824648 678629399 402539760 134488898 994142757 949133913 605583194 402403801 759676658 840933321 158569 638359704 839281045 420783081 766131775 376722451 333846427 380592402 490609841 584945351 230401640 336710578 28546361 58490895 415823080 712659096 370796773 255498136 801188413 120495120 361559971 389659882 969268299 394128304 896100540 526476284 637292590 608823805 662167417 581027213 584984581 193652737 792304107 843044863 9762604 171720669 124349488 518337756 538001567 214791256 422669757 219173808 992828172 834513792 893633326 706446125 743902483 731759170 417861733 405701880 244691890 545740800 512075769 669841800 618785983 883768480 679015000 127704717 543185434 383898514 567068653 677203499 236417261 247654349 875183687 755319676 965625105 383322776 631941117 13604373 197463769 658976695 924589469 7181358 62932290 144283105 160778625 528013385 561790713 721682551 395842521 826483013 594535797 123505332 259462622 564155803 142127708 731611932 946943438 447529088 395410375 201211545 80248685 334250912 847716764 10679447 774460475 129527711 322026592 669016543 693526711 280510633 955342978 571897605 721693206 896087294 625183163 510608888 106516501 893849506 426375127 489342049 54548615 993116054 565518201 711787523 208492235 812789098 66079390 260812549 397084608 305230827 317894922 927411863 795803741 791655024 576314995 201919583 803501301 517638758 992935939 242257071 868348985 531937998 769005128 270432732 984000211 773260844 114013652 710407362 442894162 969728441 891875298 409122598 29596444 1767429 270197882 842332140 745565654 348257351 340846883 5604569 177890656 97745350 13018046 990343818 422137057 442861741 452165231 191968925 770960925 861481655 296654163 992412798 81038084 946803606 476431690 533969127 410660031 876489760 435870966 547484037 883674921 258434276 937090174 129308115 602122664 188431426 791209289 813112912 652794955 854590449 322661823 631706722 381933087 374286563 299952061 634300881 754906859 937982886 544569229 602389373 431730498 908432975 607780196 138273453 590052433 333186568 659168513 965991292 84391926 443166190 734882696 301876574 777588420 780973856 382399809 482153384 823496851 898950896 340464916 70884189 22988038 137747770 864548511 913859317 25840016 913081157 199420472 994962477 107073854 264626835 308590940 854941122 773413169 465399066 564385509 883144063 901588742 826564067 19544005 341140943 973984727 626011839 612391861 668378293 784052637 760846258 642522069 738376184 73918019 357198184 962692022 341361831 800446935 251334086 362743287 733679760 409116127 417707712 162313370 40621805 397294274 350138483 794097021 258202581 41753379 236389151 400940043 679476332 821595792 579077110 401828419 545476465 328821581 723785727 167854164 809641959 334949944 290293593 8730852 389809874 492335642 843604707 205700060 274663559 213077555 750196108 278693012 715614952 936903535 692279122 718286270 201064567 230869897 759734384 123566332 188408817 396418722 346675514 855564994 46553008 786844370 903035559 190579798 129164096 213700189 609191552 833970495 451394355 274526366 235496642 349487937 866517746 99583988 720885124 329650179 395527449 413455824 703714837 440303426 886756650 855704068 414338233 759615302 145920957 966962120 159680700 254074537 81719407 487088988 226391355 918503346 63197215 325118646 923986151 837575870 703263758 556231181 184531519 537490794 297083875 766408412 195704715 880668669 617465944 507474800 635086825 741630266 948809362 416491998 102415067 802440324 174581364 124696607 506002156 389448649 960797208 332579709 751246240 619301053 49674615 636466027 263643441 6778817 332721787 878497243 542657106 64709883 27730137 503809946 354212535 483806902 695333117 536110370 115731005 18483637 516285469 775375559 790559236 189141512 224635435 128555586 22427320 815033904 285408240 593482720 472104561 528196632 682449940 449500050 69263941 267816910 909248160 989401990 280990835 806978396 622494664 24971177 554382856 842826849 299168559 198194311 546684039 28018073 650115423 841985818 287317346 60810368 443529747 806346959 939623013 309488923 615162274 174749178 145892435 595445460 826382291 738491098 554529073 280666445 70477976 728892726 542933651 953139471 776073701 938461102 301501875 482211820 670976132 208026209 705702393 236823779 264781081 368265958 991116931 892585577 256642888 423972037 962538657 41785591 129391128 32167240 305379060 116518192 362018472 969170213 716972753 323418686 884764548 509811955 331854365 166451730 771042739 76873722 96236435 956106526 700952433 68718016 69526510 709087989 667303258 716542395 597049874 749574124 161077413 415454848 501305719 901764596 20783558 876643783 827848838 234246362 782128671 670128808 680323713 240584167 963198826 159451164 899779845 775819483 432062650 478558687 85576884 915935955 82658688 16586126 770360098 68979605 483998962 551992662 286565833 856739692 670731881 743243103 369483162 581471089 186760890 643566605 23930687 423504181 235208822 291538945 660386122 862725072 818650748 512016672 492107209 955970167 552116512 728165789 737370143 25814304 757875712 901273379 368427930 274358679 935384184 683833978 438589612 158532126 486947194 575173621 364071286 810744851 393429325 904313854 757103471 722316404 97855872 154256057 454971560 623109907 872190264 361168298 261930391 48667235 624418664 314415961 265750382 374908217 309171537 15943569 495664614 600486386 163168386 451887339 646963959 554945138 391858662 363829640 893537349 928467933 150918463 715034735 692276161 913957955 210975744 82673415 979706459 920181067 691558182 559242144 800536600 46109920 160149363 746441730 893863477 435754402 753991750 647681502 778773980 393048409 527624741 939267338 944807826 511142002 419764680 850629920 287656980 63070545 262653538 763122024 503144829 345467680 771962807 786235376 388182625 223869879 882063224 802781592 170849884 632547117 190642373 967802613 306440366 889541587 671509705 353775681 10520953 219461223 96228366 545324618 553937194 29509185 206513865 30922360 741359337 18433286 7915354 347358395 974783530 622765601 708899633 66752522 346259559 234225108 988202312 722791543 704571466 280331987 536774717 137549175 330856653 77069809 162509931 765216038 761421002 545449222 231274506 877327594 202433904 66448658 204433422 702915278 539489134 291823129 256837083 399368841 838168010 77187715 814192580 923346414 301555194 806839905 31474314 172551545 869364161 281805111 796640641 153549827 774732396 73972615 766133789 787997270 529960442 504441810 423203664 793968297 256006817 158143399 36389498 877044281 699393950 843383115 195067989 918929190 252638712 874264070 405220033 217179495 733202269 911726364 948888355 531743258 801590957 258409557 709143069 473854538 811009468 609600210 139410555 721481471 27326125 658875476 849023074 322922393 461325391 33701417 642573189 425581544 423052670 305293697 676336889 752769989 143768287 687777367 804966325 109145807 375679880 390957213 465486452 349886287 450182130 610824588 801797583 934896979 391005386 614177744 986952595 20908873 404244286 651083647 848040953 371664266 401508279 309956441 715442301 463501722 685263244 440857040 549999313 506475427 543138890 12410447 197372857 544343160 308812550 633720365 555803534 462355569 77673782 519837321 287121758 533592544 162317221 534471374 182932303 188061749 146094280 734606774 833869803 122243431 972416854 701489386 673302719 955013665 607252637 604891258 880541690 346811493 849553897 194207239 691381495 291319079 580741538 2803471 500480322 272011479 565514262 622941038 125121039 184120832 718013449 605308566 123367834 115962960 831727595 942539782 90155348 510172064 369694091 127772429 335804366 646307066 385456718 661299793 571753698 631501537 461437983 212559030 630349397 144114222 399645023 550329028 609011465 626439654 525777941 237954400 33377135 567514716 562976781 355733149 746464565 35277170 471736621 965280259 102283927 940458058 341252012 913647423 591036861 427123245 383084301 947856149 883433979 9220821 220971621 621529090 724728672 630846998 836528888 2954822 492893569 998346893 256582794 675586334 805169022 487001285 561765314 255036187 739286965 413498329 327208604 639522183 23013303 402560554 137178880 373645994 570442150 916792566 457626265 8014253 582353945 78821095 362840696 895220416 159333306 31256314 391810160 617150983 167402944 901471922 921147170 534592741 98529150 402977616 927128034 906956615 555733736 747102432 746996119 345640597 443164952 808634675 975690946 233240167 990457854 144065118 469413071 612385314 817528232 939836172 319005350 470937793 453111813 179373113 695620891 626520691 136475607 61451517 652408435 135654709 376123296 345993725 236247842 86879362 286359403 873677040 22231405 113535300 869686492 453919283 852212966 830994351 213055813 257971908 505172727 608387011 389094686 103289986 780783730 771943504 716901688 983264395 509016791 59614755 992445003 906720400 734789328 808790625 870899232 309448396 735033298 199170770 21143894 299045557 774273946 622259121 441722764 322405729 445928615 461398739 350336376 734689416 729701371 92569234 251518104 43124356 637540218 763096681 13808440 628756754 560887669 166399387 622769683 888615295 657351882 104808588 856802376 192059739 651243610 710217739 404215897 118048443 810144054 537178289 89774119 454937975 984299798 61096068 474322053 672232278 972220367 748859103 504854527 585776853 496238141 982606017 728290426 632675100 127528693 734932446 718663699 565677528 195164828 684659480 460875249 879352234 47961473 611564601 67408734 187641388 907690876 331996963 105933731 525060756 504122924 445004636 500355568 789505474 269031278 393373246 637903366 737861719 422952484 581417114 813561576 230822094 759297283 214611589 941788176 77892879 937006617 235054251 616088702 12730774 715976719 938477291 170912598 373096590 577308921 480581964 549069911 605605536 9389793 998854130 247213445 811899198 362028411 785358389 313217037 576587028 72442693 163280952 223664207 894226570 409356948 810767661 247860744 501739909 292982362 194180942 650311114 735879740 73575023 897187467 736588317 726822412 789627345 643458325 623219621 495561286 920158766 706546647 779049814 103881734 280101655 967004794 946428080 503711957 89016341 274855019 970935534 563076245 604318568 388851840 363907008 788177886 418431861 18088914 827861905 512195355 681552066 766063682 778113342 196737216 748648490 332640143 698177596 837694613 920875009 802377186 174745666 208232442 118406759 92825421 872708439 18425642 358169534 921592848 32746189 495070456 76329937 879289691 679079084 831962883 548807563 405151207 145679081 482572070 400389303 625847646 970829268 200573207 185022915 975388746 64692079 481681621 661802191 698139955 409765676 151809747 292239184 448074313 762195132 651759144 408882033 429125413 883126049 801148435 552651885 242430471 663580272 974059716 457303732 77351102 894876176 174138164 365851361 645501856 983177866 920052761 311017550 916296140 455962179 787254075 470449645 756459866 371235869 884993467 93012012 863975304 883762094 880523207 974067106 592923727 691586176 715851198 302764954 952410784 750724521 18152272 453549154 246819246 647779646 636086947 676024044 582524026 290515602 432788669 86453612 781143146 837367779 99975937 343665140 425391027 406750161 730244892 236899601 929232952 77035329 861939448 635148152 524931035 315171643 882849301 943761666 252143966 993219915 111423380 602407371 459710738 982802213 473362023 129078375 858036408 675295538 697108444 510740513 782852747 525831243 106193575 18908974 195676700 607212481 722951917 835129462 334153370 653277079 540798692 745013728 769141953 184333133 193651275 861109181 533299915 59856745 924927960 517235304 669821653 657627760 387401345 643966402 371271381 151085342 855110943 338968234 973563167 635440959 84846912 641201890 991962279 77770581 733835771 496158656 828190653 605213915 135142793 821551931 530749907 89775250 67495522 845820199 316387173 121039111 773217020 829488617 614444276 292914808 53560724 63511700 113664324 595136385 370446933 9189907 34957095 210490705 475679943 608249275 436335356 365925325 792362029 167396261 723423097 322328534 137337342 520352891 75762042 978144460 657601010 162555979 444602695 390010007 900168282 197770500 633601898 528984027 172219448 573822479 702605319 358581973 236228970 104644401 858064719 657219794 852692252 821047665 558324610 347180133 324700710 983518779 350745781 299949227 865372230 337805670 282268118 34716147 414249033 553128016 587578256 541907977 713604412 169881517 618148769 763451072 438454452 641915099 596433863 446063955 244516224 607240857 850038974 16426696 103178939 384166445 717247004 715223815 90512722 307013343 133060234 200342508 915772599 212359591 836396897 6022417 397308724 649675085 368972933 311291172 429794816 986061377 679655787 682836238 837707975 90230115 59483971 265163620 435572205 418943093 14825071 60112833 677798879 504487036 745948981 238689546 867558448 513487046 289959993 798111888 924653854 408573111 589815271 25063487 238270122 240588166 986535308 791433599 845158028 486348603 521539482 662709384 639568906 86848262 937083390 139021594 1704654 523915394 432395886 966455357 642243496 712431644 250197634 950107424 35892551 860638111 302640041 365853384 320778924 197827442 920532978 263960183 874703525 700141442 304722100 801279414 856539466 34672847 196647499 289557092 731834752 427061091 78462314 520551426 575013964 455902025 282089699 437510597 891462889 967190851 586165847 706881558 271422444 910307302 673928411 9743886 108713501 802011614 169694576 587069616 127445081 210024391 928743088 828742175 605749257 292868676 706300364 97156701 955491648 980916020 57029862 201555681 585354851 740486090 111499230 886945778 932428139 317825925 529401506 73412223 96156983 911991513 960293200 765750460 251375152 489741113 99257198 355429351 688409850 283888713 481466403 915790652 433179901 796574668 291979917 501689977 751722774 426006911 797528043 651214608 793212752 128704719 261590618 109894368 592629731 744962268 736833292 867097287 233899107 44111431 987791741 189174850 185441284 207510635 773377265 217947264 192187534 429752543 962181782 131192712 398508253 653641735 4680549 543416879 910439723 786265315 257082178 418088908 976407100 629269634 304064073 501361981 146460691 113888825 910826194 165318467 359275755 305504413 816984665 881420744 583417269 225599011 59676783 785179986 211792860 436460172 913172033 299852723 907072436 536269778 128151279 296949030 592811210 454228322 10244014 360139770 276715317 852035340 939474402 613408220 451626087 465786570 469425160 933290510 792169093 90195765 532240871 735486469 419690445 786737485 647620840 597301896 56373148 599442350 242558152 702653688 263533650 670331076 136977022 942945134 789838547 761976425 329877943 712509246 530182894 780273561 809514282 551678404 629127928 601207278 305488015 82296611 314494202 346142626 84002453 73331030 622016412 938157029 402624069 391959287 770142641 933444055 244327275 601002679 649945410 552258268 942199658 325711823 548476739 313379211 789472637 632806400 949061453 874480198 993958120 294696308 440769146 104950993 535460944 787335196 870190924 846114111 368338741 292836594 749278145 171810919 287841928 985258176 957172573 434599612 42690480 953445587 243184656 184097160 142673199 383024133 994118711 510077979 208704696 985620928 515108069 748293932 78346088 547973695 886898860 239245126 6136411 223113512 678372428 441171479 87201018 213178893 90507223 797940853 123183736 810593 97456106 418556711 763596230 613234980 666046628 547090575 962061315 442598355 128692335 135232242 443278399 229047038 828676651 532806235 222389171 899907862 253492771 458492507 15973993 387673483 234537158 297466090 367402099 696700910 378428301 698517867 760959137 514664221 932199153 139506364 673900477 221918845 367405063 871460302 82380063 138483511 638953510 619243249 720381396 591591302 73236019 599651894 674757470 687130657 313121370 660749822 1972561 29873128 254754826 928641855 420092012 639231810 529633414 785873500 857022415 28676259 27104416 954323155 294257629 251906641 877830479 710440702 95072182 989432840 922339839 94284930 927965054 989965433 6629168 572009134 752315312 939866901 230359874 394474450 479306659 850855812 857719819 174399431 265441149 521431070 686907214 199956548 771047518 239574158 53389177 98334542 348486719 644478654 947186909 167851592 956942512 577523213 631476020 4314019 257487424 223251333 152101887 700427961 43054322 655910461 663031140 321155504 832372282 511596494 106071342 999546576 77180856 267661313 912400847 333305432 976752078 490838559 740873529 403260601 311197071 421478671 602836707 855407259 283387074 819350579 106802693 266460266 299484162 957699598 914377199 875877114 823161395 628672173 726540223 844067854 399896643 556598448 790648033 88438249 338793625 531400159 264423749 436620869 386690694 938783915 196857390 113513301 643354204 579897311 699335055 448807425 381237391 620775860 342260510 717407166 615729820 82573596 971160095 997074664 352412412 557014243 602936677 253208314 419060570 152753392 986793598 774210844 775011587 689620689 84873758 962808213 485678734 777806231 512085657 101664786 116504675 394019107 737210736 174391215 637237352 333142951 31121495 583235787 858975166 68780059 735497781 187170470 784364440 854803213 827771060 110624778 844771514 633378414 252380973 557105903 582497890 221974793 420338784 942902559 65804559 486873328 694815404 202837221 38744434 527053507 193441066 483278929 916525660 132860362 199721709 587450680 371613420 975687701 685534607 676015456 321726062 654964892 296310254 146735930 684465186 433230521 526998204 936167812 133446096 480379913 773970179 888247993 75100732 667697604 646224058 965930828 527133183 973658384 241466658 16784962 489150630 545852621 138554626 705798264 512892454 780998262 966812581 691256037 248301952 504627785 833187952 866970562 260542895 644506252 657386975 229234187 135989589 874211085 860336273 224823817 528801665 294656290 817511662 97638508 117554023 466038608 988682047 355611437 936278895 261692175 129423381 417720864 974920397 72817863 260389182 274057091 228482904 979709611 146679466 892268901 18154710 978678332 769222067 269203038 944533090 751365531 695347206 130076623 19153220 641757880 497394837 665499512 56723531 839046065 396190318 910488340 59276410 412159669 689136607 444575554 928532257 299730653 751843917 855440 399417196 515494216 577314761 851209668 21363890 948424787 379614234 739992491 165615013 931789495 236559364 389521618 915320128 955009190 666500896 659398548 523241466 132045342 621723074 959003667 174810791 972253009 678680860 281292356 26502103 645389476 772723224 217806583 744229964 628086465 316902944 947848998 693412407 52336049 151089007 389328669 333235242 113259467 256859987 312747889 821972644 715651859 103231925 193408223 186535302 470890422 399125943 849644577 931911976 659838794 943796527 686766681 762228841 368979105 532753999 181176041 288111291 685145686 335008131 392829490 137907122 564996555 659671731 423137068 819460875 922877156 415892181 810668609 312116904 196141087 272490301 618648655 364390293 496248416 930278044 857673263 961658173 946026824 243959618 411217844 795097594 112640703 348506451 779574318 769383383 337687713 660456909 627132370 656998359 557292349 672370493 41706683 62988424 59118970 271865029 87819808 748600837 576739448 778108340 575886560 632434139 66104404 596787523 420984283 373422373 599719495 17707384 976621493 648577010 857950657 414222677 37694143 136490493 830495592 726867581 3536804 673420324 707752730 52915720 541197139 209122181 712925661 71273666 439326956 142467654 348299761 494216628 864999946 261163798 859973105 981291314 997433579 234557460 952684896 403420550 872070921 596461868 321954340 749725180 323233829 328395347 661071258 920392936 849117828 479819526 20625845 493602796 876211124 971954721 612571085 78364968 933770703 681575071 709624594 606173803 252887296 498400146 948163923 670503848 741098186 223745974 802183203 934227102 679453938 133097535 803183480 769242960 260712832 73381339 370137247 320265191 819078175 647102649 403801731 671960386 584415006 682335097 921385225 848759198 930398848 521212614 843441573 158137404 337220209 38853086 466782426 812075973 807114639 884411809 616391133 977279834 788339717 500504667 905241247 516366238 644952775 767937061 876469547 122198040 230258100 764646626 978430514 112227499 227134966 314877835 764401551 159016048 494360843 222167827 137199302 764239186 415233283 812968623 700432504 339503053 189622175 447055834 316007941 763385046 532287190 102708956 274349965 618479501 629429795 500743182 762167922 827585910 61536205 114592453 445981614 930467968 259138833 628183969 360465307 682988078 864947662 365625132 597198164 831689557 479115929 483053202 837801505 406913448 288787940 341112813 457827383 100798453 965558734 22384943 639760854 456984498 192260606 885655012 183588913 930990328 905132158 53310126 335055260 58506716 823480703 72478544 747378190 951148952 310753906 680321915 284828441 500986099 80010063 756796360 392078548 577453177 376421549 67385096 939612614 928391011 745816907 384413238 165278258 899147379 873515153 865777458 443000392 269596546 160668965 18378737 131774201 350277032 686620375 638081215 728537271 657570688 409592286 347894353 983700673 50789936 580798132 208933354 557690141 676926837 207523677 416797385 405709774 907617646 466997843 840545673 54403326 445240782 624504368 254484925 278510520 681907051 890105705 581417382 462915448 548320775 608193476 649625795 698183258 756636843 82477804 478917469 686953243 415837447 42010532 386376144 522696110 483211771 335803270 466059039 593584707 149772496 217921363 592813975 460916907 742834184 757741751 258520089 255649394 15581422 967059309 155812549 906120115 929283424 388322531 176491022 37586232 837899858 964927637 588782652 491901164 233947698 695940362 672963334 535736128 21190479 211244751 601554089 888614080 842982760 76151416 566447813 453201132 124468038 11875642 595606931 411935418 319686173 363074021 338415802 381962764 637013467 47123253 273063493 151279825 736531543 523337119 821035372 876372801 97761774 95662686 800043520 295157797 368045153 596441092 212997249 768144787 376661946 550835597 404889942 234181665 303331636 457589356 971646904 166780593 741264980 898628447 412587456 983378788 651177826 440471130 946500166 786358863 307625429 364423388 227481158 948189486 334261756 940908238 746799134 29788862 12025507 727422721 698148606 423518179 821987883 126209222 194108472 477139071 371558155 213120326 500705856 778192559 552863248 258053437 260246739 972727116 462845196 282290456 631129474 242738534 920068363 166212916 164589527 659808189 426270115 592226942 578595296 529075809 67417089 486788951 958277268 439736141 507269280 136928870 403350094 371407547 610257533 661251321 193113856 517476667 261487339 878855355 796291536 175671710 482632267 585860267 777513003 797163997 464851624 265986506 743712874 695907736 301185919 929956998 657090644 818369163 949736920 355946573 350712345 532606129 375917132 816720541 479551915 788771819 257927851 531163066 957507853 968337204 329338334 662748177 195389860 558828562 543275259 394686754 563653637 437465122 139184314 67420878 177137713 170389344 783073605 152578917 705741435 733647183 840019544 831445008 232942573 427566806 223434126 350066374 38889361 332057263 946977237 72842247 797680783 497409336 446531185 776516932 218159841 316419260 983889331 604514571 675108883 946562325 689514233 914256428 165814162 155869543 203494190 43008092 292708105 341540214 690119128 958794298 685306575 691788823 522009801 252466398 335076861 711057767 382031584 183269990 547878010 144875631 318902045 8852254 789766950 884718569 282655604 808819471 87165539 214150145 764995047 616628401 453856717 955332094 550448802 222759366 243762158 184781378 786300649 719716137 701141311 436890202 479418040 956415731 171425062 488330848 246364178 343183309 398978629 245794272 819670906 697626006 156641266 463924336 932914744 707944259 25787103 163983249 809850039 361552679 287649047 331530305 280134208 970613418 677729074 572446926 678959368 299616566 566597149 175043371 517510357 536608977 997328873 725550784 994449808 258775276 734309122 604279736 530224993 500704992 107669682 194468705 293895870 691418728 679531039 781433716 130176244 868319804 174766029 763124794 412091470 856951057 900027171 383058166 28310748 327380541 91214538 544173158 133216118 938680382 554738474 862312677 298057989 369780919 655979005 25069758 90693207 644537639 261010516 183812852 183114904 252898126 679961572 434908471 300636847 671567780 885888984 309604159 808136881 202563805 248773277 628630226 834410342 928687573 602619929 356146580 853243244 680861705 466893791 242430031 368941842 887474541 396493416 777959016 221515942 371747730 323060864 76752843 864717309 501814307 462918993 864006551 94397647 659335537 475330421 603587140 875713562 598264080 720978538 989181717 191099508 668044861 72901131 98607947 605238517 211691556 947702920 403752841 975890613 663998685 420149202 432938115 302161094 573333141 34459728 98463759 615196704 167130757 764258658 367688750 517212119 16965869 540427196 399614456 667792495 519004888 270620662 2430556 248232661 492826946 698558265 25620079 754978782 83036230 454995204 325489077 946180594 89389696 360427679 311558835 76741913 592423344 571546967 915503497 520362951 359019617 830474283 850593510 553562123 623370433 563803770 637951355 594431193 116114805 442738054 962336158 237617384 279799078 503263928 360322763 35853866 165369112 125054313 81458474 195152135 496800625 14921136 259705928 984556754 390606284 709651438 66974308 655045136 303759762 570043947 26413038 876780060 474988167 89851010 294688088 31575606 63588790 550199527 530073077 282528429 535809304 752311551 965957650 694394041 180592357 854655674 62988641 439024234 338942657 113593971 29181454 653317788 101185075 481618294 613676623 702135350 494444875 852726225 253997433 125204815 925693421 635610785 714529774 739799662 857655783 233923015 591940948 317488884 304523396 265108719 223350756 742840483 64256024 230861535 162785282 551618222 981576924 449093186 582366166 747301453 955493943 261283354 364734698 694768155 374831537 723819837 780350185 139835432 653937655 34699190 901912734 843400705 310694130 497193700 106736507 519702263 91324485 86876369 413812590 599406236 774342348 887983091 46355120 283376027 246539385 968795869 276694038 376601605 121394918 549720438 154433597 966236477 388558132 466447261 221340615 252126312 531031221 909618220 397095763 178386934 157635344 524700394 276269579 895526183 603231953 820828829 935096916 914235257 900616799 715549292 829883056 709817759 513426248 604359303 916016449 533846536 395553416 156700879 903045786 68968196 352403369 399038661 480857062 461713802 270204005 583711394 817996829 731478935 21858027 732944822 50787795 858062933 780320601 45783217 558884151 879406765 948434881 898107020 646688418 407535978 889217420 802453973 708439259 14590562 199013358 64476486 451288625 49265964 995999940 773035998 405807386 10782695 147822491 212156479 280469191 564199829 664727647 121071114 266758746 437648353 486228877 728030010 435458782 491682068 502398709 55022778 91051046 22537497 578761837 759387189 910696518 207497409 406111349 739117250 931124290 642431548 282580719 989349294 75618629 578936874 7799738 306577323 937498472 210362835 316398085 730159042 797717539 845213611 754710387 597051050 869818569 589351153 911483437 308368222 152238291 513511973 65417436 754969825 225699182 285155459 412923409 492851343 272041319 847494669 600645024 569656695 88829214 114728656 928402873 839361735 609803837 279383255 369952873 341014016 846438872 465064543 235006070 50430057 720464691 621328431 333274213 63183255 982467495 298450507 182376630 435958723 508871814 332341464 217490121 467332584 662378455 312059933 6526606 801446302 886758402 607140969 897062840 111069086 375428905 161858817 671988860 224745918 368722178 119496939 376227930 311245101 258905203 342185780 870994759 819484484 551470836 984186295 142969138 387851910 103316456 31708547 718526583 143206913 81615538 662910208 204159994 142378147 167193692 451253711 242393558 594906109 504795094 666053419 745954993 902203385 68956798 532191124 905439012 360869026 826397921 659099750 81693049 921730307 457644233 888574859 9083987 969360158 572801589 722496790 876349043 329442976 976500523 471778567 183878217 45854291 422554329 569746105 451873180 943977534 532403054 286505110 420570128 261487446 423753004 310336857 620330998 685263138 832687059 164043358 897062591 144237679 207737573 811478620 638507799 148137958 523317395 858024061 407866614 445725457 912263348 174111246 907666556 396878516 592835974 469303730 787950134 133686612 638079992 923859839 450526190 362558800 297576600 876057200 290769006 530870430 801410640 942169336 662976413 221599526 321407135 296401399 941728619 548210103 22291117 537020051 301600458 823021127 411426977 542547322 763071005 551362492 380960752 253333819 304533191 125482878 354672208 985159880 754131981 481376488 759391851 984347927 600705322 213114649 961074368 16288509 587236386 519239234 828685335 315671824 673217680 31692973 901544183 106140975 994118840 911129665 662754779 924627092 459109436 973245223 327707309 24894009 897616854 275618749 594306159 605985870 466845895 167877472 767626951 998308804 876028476 122855075 56063557 960717969 283357736 987295216 490823963 953488861 75515100 371850213 909701316 710618465 242834776 271473556 977596166 4828293 981096486 572294228 850011374 237123284 369547290 594626372 174978444 57585319 933922993 186160084 904211573 649252155 383706292 660373237 515707404 756778012 383302457 99074537 721727254 441653353 391022935 849701150 139287256 600580332 26527218 570387501 118962481 113847616 707795780 30773359 677676399 357791670 929360268 256182376 368828038 836350359 893285814 409111023 484571979 936817834 442221730 76383545 529145470 417115033 952725027 920726356 643809300 856111739 278517003 174774225 162551074 913846274 337674876 832454417 133962480 235522816 651045378 901302706 350302009 701102114 665776965 156557364 531355088 307177232 817220308 732414953 746396263 918331306 917631222 93196199 749814256 994030797 792842198 978587848 523785330 622526747 862484043 101350968 40401880 612501299 875257691 45648752 701894406 437433932 584335452 606175958 348146060 541328714 845733071 22938630 107826591 454957667 900392358 710361836 219976947 521459949 661134283 81334895 590998564 960510738 724493699 360962105 231384853 261700779 525344573 580747424 875538635 279825387 218724630 95363620 271744027 42245485 623392785 416499790 301791599 824633968 807386173 987028850 992331761 922332076 854400209 117358043 930119884 111662915 868684500 92366432 25301925 127062188 824436883 169048887 486596630 573921791 411474659 279920159 984659558 989580328 954222311 197165641 555793673 616137238 753340967 298928812 320799919 585585819 120532484 918842000 404478108 110990022 83572425 656778434 124064200 755239753 43159318 175034022 659536653 557281453 321829386 110301107 997272187 296759304 588909892 46363070 723223413 103327386 921985368 715272211 411256842 511544795 750497731 813691217 683535044 801570839 113870358 994145462 972727257 642789431 566625696 742329861 51546266 734544141 426369912 472392654 278616372 797089224 32717687 691282613 791412036 663473288 921923484 567863261 138427789 158878714 594552445 56316918 7716329 474903712 18162701 539776504 761895004 498473558 295237043 667597000 298736923 791716507 997660858 471079068 560105429 156991121 22097057 641902259 7899634 215999642 326932759 425410101 649183826 534247256 623918204 673973810 454827368 305217915 532114906 793384490 221346535 551757409 593896906 504765632 378684749 94126602 868702014 689113279 816971952 342051382 852665811 833427930 243357590 817631511 746278621 184765492 138443018 782384612 568338726 465470296 838456983 636147453 805848896 471311188 964604548 116293025 438625131 663994879 17115239 204175208 690631763 47738641 666003094 373588872 394452748 373340421 537377254 723828889 725041374 482825206 535854413 448827785 66584559 759745088 671606094 923538241 837118163 957982318 307534661 834615167 757022430 722624690 50231069 431021675 206561737 646283851 913462273 243819076 469665520 172900490 732458471 352299693 549387234 996040587 518784062 955811936 537921609 115147112 978014833 653163658 972410063 342864626 826740044 730140779 366245407 856601337 250375485 103060493 68608882 861093540 316535422 977026332 742127498 338611322 465466508 148168652 146365122 225539149 326762233 433182778 299606918 697016738 500132043 461242294 587146924 386149479 972673841 337863668 282417124 679662751 801826160 679618709 778388143 85625486 205387763 767845804 706077360 666262384 974613217 435725259 618459293 779182829 20432485 53649455 772272973 207875530 366058227 501574100 445913933 227458021 696389085 827247811 221662965 501726021 907664863 929408687 899767925 569314790 12448649 633818939 12856132 629372157 558987957 386433397 855415599 866171604 572105382 702051450 667185750 591762500 464959288 122470951 742848756 476098066 115372040 997223513 365206141 530069359 263583083 164074094 905809457 823441301 905815290 46110922 654239277 783321816 771805176 307466646 323245746 558796719 988714665 620169262 86086957 343531861 624223041 214798147 628657248 811799309 370990823 811771770 466555086 99572437 705178544 852779475 272145115 901681171 844269655 893908616 747706892 883807167 710294904 545444105 734157763 207521747 156091712 887930856 825108290 694618706 985277911 205341642 981492963 286539350 186397399 297971610 579002383 642466760 876414926 370098813 326177332 58009124 644647066 628498075 89293056 302015394 818366143 984233248 777336852 553301251 999641350 94432696 563490850 114243076 826187476 887252395 555732478 855738267 359168090 763006088 646780736 522515760 508197874 79599521 134836679 423330818 85712375 620335213 458321251 627227103 641861742 2902202 158441463 872989634 570870911 696237192 927693842 603098263 661599874 441874253 355933685 698983568 158013645 58859552 884286345 505370972 819621504 136966553 838913586 457947053 655541183 152291528 361580839 850814987 820960721 570683025 587451834 110221767 218799644 790698745 824133173 14198442 42492882 348690444 277493273 98803668 642460263 817425194 515933681 148835520 181446452 100360970 836488077 21500924 267106103 462594550 497157354 973826670 509591034 655264583 108508640 253596096 449456872 578678338 212378379 34081355 14761986 26393512 838976768 414241476 853736767 291190839 341572489 818782384 988726325 620978790 30596915 791323020 846933982 17107912 211210391 666036972 302302281 118577850 393887416 953703121 813118132 782459378 935764514 841163670 459283807 932365557 512571498 883769295 262825320 6706249 69288079 462670871 392804248 593652851 396515241 287467019 56826525 914944668 410264983 722090421 763445294 505337636 819376436 192014159 764007191 531886248 160980095 928371722 510231018 591134471 560442766 624408893 653242893 276591772 556502665 146882263 70337469 771023975 305474737 828971082 173757899 421433065 742450523 938906937 458027200 206693393 836126558 979323015 220234900 141031916 547226850 417954095 178942886 716047077 600444118 482472606 376619768 644776341 988435383 383665439 947003328 947549549 28128366 174001881 358981371 651914296 914775571 362818760 458543913 880835233 433033795 775299365 467981026 715988301 371993009 60797495 69573436 771697292 732475008 221876188 211616872 122089639 335388764 929547097 341690098 228886819 340698282 232691017 841649283 363868086 187212369 45910169 937904498 811233009 264326983 879762600 252573966 405899853 565324745 10351930 613915006 318395530 951811720 434815332 756164734 269650117 844143542 309788072 575152980 727638353 796890845 692027932 443572137 382957996 637565283 212595046 270829309 67957784 947977572 701008266 62591427 918817148 302962853 674448033 425530465 751683501 505353922 158249302 83650299 670787793 550554058 239495942 652534273 743535283 340200678 489159355 694118957 482858784 973369574 13833376 261386541 910006625 638883593 952892309 880091905 794225742 59945242 809646812 822578623 130642845 46234162 252510590 663606219 309785112 692268953 238373052 326430797 790779972 998520977 615450206 106137466 233046607 106961580 957437908 434694500 359970723 643007244 596067321 440853693 798960775 100896688 698243450 836402273 252571412 130307919 932625634 390154029 70298965 22587252 69037261 375543397 144359374 140951838 717224537 782670685 166760843 101437440 674971690 275642145 604188359 774843060 582318730 800296552 689767508 964598646 540836629 833324643 445149130 45959901 566590961 965110291 288406036 377832545 507157058 553136573 677854932 830843986 937894271 863597954 407410993 550484034 989442755 83005155 584372809 481526092 416378708 61622562 41131377 51052077 458793973 569815509 861866111 707198190 779108344 494112701 14776408 250821760 588807940 364483668 679251722 639513420 275784447 564802035 561587748 560033177 498972798 166674988 457330187 434637802 199051931 399481483 106998133 936223283 617018394 522724659 39327458 20770058 274687130 8123710 618446750 963358074 142174441 522715358 634261928 851050874 878051075 390601701 679319997 331291260 218080639 392976856 746055498 180619658 300943477 816016765 672889553 886445557 490467247 477479737 268343158 806469600 332207986 811777800 813120842 541067666 995094600 553783222 278977869 950791599 896828917 374166828 621633299 672828949 433515664 40959672 269816098 328492354 285370913 640181275 638030211 148223197 749155364 347543058 612595413 411267387 913135261 960659100 186077123 792526771 703671621 669949370 493879208 249321983 274033755 645901926 905321174 695454529 173321390 874384701 73842720 972813950 508765021 338163547 200553709 97953546 371783640 658144566 450042950 212867633 468930057 529391605 538363691 479346505 639107168 725747488 282471445 414887571 366447258 484112250 665644626 264997460 972606431 561702016 856481309 938094131 268150082 875448916 322290115 559320572 155711350 71266590 946128620 872755775 506601062 502250178 264119302 806779078 429089611 86502552 253319717 525765153 163860168 329796245 272125474 31943899 269929582 325021022 46073635 703005845 346862600 187178416 346782843 691007116 42649291 292089576 287215668 101975344 433535913 916735831 395747932 749925444 552186408 695735617 903122167 33714592 942410126 934170372 8975450 216264299 875200240 532302554 465478885 721446712 652033848 57989431 981267788 111019218 423401857 855708951 276016387 593938009 926238877 199819342 633956941 873822977 396454993 74823251 645517290 509364368 475145559 690442020 511048214 292331649 883176522 612464333 447231602 317271768 619557552 52917438 774610504 456548149 857548493 130234297 158502512 890688182 968924858 230416455 72770144 96432928 623851694 626155268 72184723 892807739 988894712 622493534 385291847 696335915 639251794 323877183 130778805 379642316 134658603 823247754 523119311 64953806 860431699 32756483 393203767 518461689 758637481 852253216 960232096 305872799 93284834 561773312 406245242 894999296 298895412 548221730 61087453 332738147 382898786 288270973 925528773 318903299 435331376 354828502 542453651 198666100 360828631 874650068 489789533 631753025 471106631 457207540 798669161 104789906 538516310 279537160 176129750 116138377 918513905 69930547 215340698 612412350 920720056 673439416 73402562 409784916 485641874 388134290 439859421 608884812 667791253 930947246 768622176 249083051 789220311 250619957 224690339 941930355 952842449 779540456 538673246 79671833 955883525 249419793 609627985 366205627 41057388 140132968 79427119 962252698 561348119 257366863 438232181 949326474 570844321 735212228 300906230 668681124 515158729 721881693 793470590 102285318 192092440 445324410 465882991 529440049 732729343 55529953 717672350 30624282 470331176 901969915 621871857 790273406 98614813 607971792 949159172 819143459 443515011 733439864 954842774 241367798 728993834 560131251 909404642 842593168 319482208 227112719 83546524 762859506 988097620 742954106 146947299 783068805 83037221 770611001 344460839 335538349 523176949 977578173 772830345 904911974 340813719 822281044 54224695 294151362 434667156 724707789 849414696 586116865 198959013 854145397 879982947 81940799 880463467 336275737 547727206 515641737 779242430 902047029 278618970 319244878 966963750 463320681 951899972 379634095 935893805 918000909 451460953 525705359 905846318 25801598 203684222 377043196 498367951 281549164 116536044 84943875 301919594 425968464 35316219 945997437 134274401 943864473 270408973 101318124 918510024 198938201 181754421 469402803 77559420 449511061 927396120 593965582 277979816 79265090 789023267 454127401 256014755 702296829 382292631 803747430 651733953 750725986 717900731 551094653 889116400 256741606 600998756 774916727 18735810 474796404 562139748 639304072 867184008 82916460 77978889 739628525 75058017 143390145 184741772 640486219 126627957 364311054 2553721 762172370 28572314 432539962 170107990 79265640 950266820 964577922 741750100 701234226 397137309 70867739 781180875 210986574 645526597 556949130 407714158 970872233 394095645 322434617 990850469 24156776 858430132 817541742 478090967 973292100 31520279 476633821 300957893 749929550 64238734 336151250 304872242 635191306 102006301 736536577 887183049 136497344 302131063 955392503 523606829 146639223 981485679 79774672 325114884 597428901 493846810 678301645 185242585 826248497 63903002 766350086 231364301 246593624 651242918 51611574 598395713 16112446 493038024 317068027 336354440 159187191 20526369 92024468 855325614 486095132 179010480 617363569 572010034 45042666 558632146 260126321 249527368 284899392 847288716 34778591 866818323 587376838 815564812 692390721 71151502 563030075 704186781 641029519 966798550 413099421 528503954 126499998 466467370 685894243 319357132 861417752 658202792 856454107 456526604 813548219 700347604 972995500 304858742 700681643 44721458 36219382 44286060 471727079 408181508 369322339 143487531 738798731 599635596 815578192 916965884 674199778 521707855 371512415 348687157 241933027 931800704 53273046 457946172 632888514 936594437 960659926 311517809 570144292 240235292 938901582 207351858 50948128 407328774 336507849 724023252 431568112 237756431 565282458 914234821 3730617 792043716 224297952 364022368 815249135 951510116 486038440 688612111 330706198 608546406 842561321 867895133 42625744 779427886 965503706 680008584 819116863 639454779 843861777 671892539 368960614 582485462 810974059 210210210 892946018 206874868 647767550 788138785 793591179 243840971 447106637 324345049 99478409 229270197 527340535 29286303 703420928 103169218 846526438 729878366 454229002 228414202 483085402 534869833 703330099 786107238 898036183 518484237 472018212 126297813 648020296 53607961 314998127 72575454 142204167 605323867 96238929 76596004 73212243 586226555 626816904 743522407 220529787 334264296 666013406 744877899 89143549 728902153 23696837 642761255 201885611 558255144 435027370 673763761 831773348 207452899 343615521 947188052 291432764 713655339 155575721 798109608 377561428 602403729 22901310 645181253 614357656 153521779 652006216 652602955 392536266 619031126 113185578 741165730 326886285 714683794 314786827 820669595 879610638 866287833 87130035 428304262 367554411 340805248 242010606 636367373 231749558 389419408 361053540 464458334 34174200 950919846 985040635 502528398 304732165 808898988 707424638 707885996 235897510 462170106 18345474 523427835 163591031 643317106 104228950 77768792 16125217 355913050 597191012 660002226 918243426 195871338 419351449 570689878 327038990 124703038 980782682 212824589 63436159 754457683 451089750 902144180 734524983 260120490 524049368 185365280 493286176 611982040 576874822 557271338 465094436 964084855 897497603 148502433 148361902 429131581 479256700 622933404 919753170 753391314 853798883 788609253 696964769 789615478 145452207 744807605 627675382 62850451 109984074 395087566 823868056 169860171 186943440 941836287 821219143 964510201 166892926 818694778 50658727 35067469 30991601 484511317 533395862 453452632 565092290 913329925 68415829 463336245 682111594 195367956 136468364 806342278 952468208 608549973 719841661 282089417 954966573 223625680 205769284 78732788 490331067 517223630 750923964 152601435 149710986 939252450 795177997 90700076 307521738 977434399 684940998 213658684 70023213 439879681 837086027 346921169 559701783 48841564 736141723 182890040 148905013 831479644 378849292 877844790 810990973 539214096 982203580 402304062 471384754 869832694 834429198 243988638 999714207 202118663 834429305 41246949 835312943 472586113 155487935 792025976 514149947 945517989 97421700 992343645 270605101 964082390 487536892 738298115 317143553 288290991 873183317 807759677 984610447 89592814 158075317 535521166 147267917 38811155 120626678 271787514 505120991 981876619 404339134 898925438 17439379 316081007 101019893 223135411 521450962 104069814 646906120 388627423 978925572 131080627 784651863 984600681 813307308 866642073 179586224 892415018 790018897 845749474 368291836 830212563 946716091 4313606 980942298 888429892 118001618 287466275 519506080 128355409 835452400 857515543 282643435 105139876 327035404 15694311 807672087 369739090 713590127 454164840 260729682 449471178 713182635 240245500 177351081 166948853 501965717 770910204 269117554 100029018 379843865 502955629 120312292 324656775 762059278 193670998 400242319 246510355 58908821 21254512 422144650 777846134 853290488 616614672 531853913 340284730 556812646 224649392 790956317 899054766 262664323 327263615 979204878 880262592 477204930 443928182 735084360 762724533 962940572 827689406 250818297 494248355 303190107 407810536 885552318 226994514 745826793 480396126 250778067 907078820 33616428 432318579 535353278 16657301 750367561 365946830 925572412 148480774 585912960 176640954 347393433 939988958 205979163 123610708 475149566 36711814 362111457 351751977 778868844 481058612 128118502 923689870 633048985 741431254 597825084 336553022 265525543 721089840 550660697 56697883 711673309 704691063 616535672 904781902 138392727 331236478 556883749 654204707 192679741 779891744 449624601 465453042 705834421 929234596 471528149 840257610 49605146 790839261 82710073 782250055 607040939 525324776 224394309 112086630 11877638 822234549 280158324 364754996 10448916 296861335 793658649 306314609 722754972 742432957 178063658 698907575 678175083 671521132 393449795 133986929 385024576 543121893 739288128 501809377 74385 338778962 719566984 422476615 800136627 867615375 169611781 446060639 733827769 756866935 535840325 201194089 825610794 433692157 922306464 185222812 374377983 119430416 717011189 966829341 60932295 858594584 249612088 379064278 477467512 148983 629576292 192919126 578141169 147112741 184324371 246102973 350759083 707253391 631696741 254498557 27230408 624290535 490938657 402903917 946218873 407835686 871410095 380558877 560398254 500255409 766549542 193703006 703690783 573714203 58373960 190818658 75326134 693818537 48310993 16192664 209938555 175491172 807327118 115506199 840690865 992814150 961070526 892418119 40308224 630323812 173033984 261689635 7620867 197302768 552762916 622708788 320363797 720719695 413385954 860555735 106946391 408403426 733819238 764417389 689579329 551099269 271894667 351811998 938246361 103224959 148859090 95374368 776301932 735298519 844777585 375778786 314077069 596586422 908454272 924750867 788850695 91800263 42754159 814114296 118993730 446541021 169730824 522343370 741865958 778423953 191408233 977046673 946214743 429468201 414573478 164612255 984712938 446037953 650346806 91260944 183021059 569952025 208068200 959508955 177181602 274406595 338727452 969724150 331691815 697775386 943238561 827876558 370825052 743334516 503447031 367169984 95511291 845832278 648869743 102228588 513472624 232067343 396777277 73826883 927992553 310657320 954375916 294319753 190717799 577114920 316155019 600704543 811052661 777913614 17672521 803130154 809738176 480799695 22182247 586442899 887838266 942530930 949458246 993080519 629117257 174795013 242763794 592826863 994969937 998521829 727884819 13964335 634404320 324309626 46047911 44226013 430581857 253183852 181868782 776434332 633637246 427507627 921703418 512948114 703515640 670627441 202960988 753709011 195767710 947054205 490781525 142929082 430231664 521437052 432465285 982973773 577744617 581724088 179851381 428720294 631619885 183161748 685927219 149759270 370545619 997638583 129758456 594583119 711643339 246128825 170225451 339672764 224250885 895829828 583619751 26718701 684913423 967344352 323874553 779859190 637568040 987407334 160073043 993694328 298434759 72114996 992311637 147126441 965534592 138603531 27381375 235367670 996997262 630285309 540956226 249572359 923679585 24197043 551483418 820570795 217617029 694062513 337457869 458685363 638227132 588182397 717826557 390199866 410887466 789291566 493409676 437581357 480228560 173244026 763412271 169787122 311052709 599500635 799742432 213965221 927174113 585581503 718152076 18425137 771228061 640795218 371261476 423702107 402825540 128932966 432747675 816088563 532459122 243185319 201791475 332954220 713914399 989528077 817718997 171224057 173307129 66199344 995998251 180610000 571463458 472472186 699225135 380290357 163713513 7529 897857519 460454643 97338941 458325224 647293074 580280378 68788029 921325896 8293950 169716911 931968976 284186145 393920642 969371988 142063255 359968857 660132251 381751845 6115245 611374767 534042023 931363081 658417278 98621428 582253184 373515454 30064511 265378482 911666730 295721461 282895609 586558571 930171483 632066954 29277730 404402463 25609610 355601319 802801469 765144416 488678770 642553188 180651470 449341931 932431250 684919003 568826318 261807560 717049577 184195911 448998304 610360358 740621741 242271724 291594503 468699225 715159318 351810195 496236434 694854629 604799269 620221940 804333541 612052457 347076766 603322928 300644241 52490125 635360172 950431744 134243407 949271982 431859695 954937071 955633882 58434768 424154392 656345472 569668952 109047867 235141773 207234448 756092470 356509189 286280377 184566913 603298532 483578796 176197583 903984144 867518224 478242189 220521352 409865410 329426352 309949799 974380430 191192392 371449452 965375600 629745365 834320803 212220300 151937938 723869164 874894402 44686981 181072196 330406281 557423422 158231033 504214936 289765593 630393197 624156834 328467789 944589633 67025224 87317083 618351762 782456780 591387152 232309480 623514667 604800993 570730082 150805844 562610764 522151960 744712066 151341900 344073112 343339719 391547581 877057279 205127854 118308657 341233524 632883765 411629634 812078404 357736023 824257729 668824338 715868853 505776138 395067410 86705147 421133858 250437145 774444121 181906174 551654399 858963645 696147621 100067116 699146603 323953333 26835169 748628819 842402045 586952544 750994904 786989133 17798038 385611298 153198440 803992389 379529817 454158855 215161108 951350414 137571368 943999024 710565686 373411394 89105601 858749478 514402048 893377017 499198547 88656620 424033943 345872341 301848208 212384637 631860271 392313669 822176635 406819019 258973641 460849619 159230803 478564591 341721984 61404434 78116755 166013162 597968520 108825630 8291048 833972332 974170429 344015300 510054927 119044543 396176914 632954735 467970856 37047645 101986616 352043038 429863332 666675841 609412436 182217058 526280093 322365645 675872807 996451793 584760453 181246886 455608238 609546254 135155818 441017132 241616434 284324694 926692558 967204604 51650392 884792556 654950666 10324530 603151985 861149230 321311075 458307142 927418566 158047552 373554445 969895235 138850303 497282191 12633334 910635028 442959667 206356816 367545809 612845376 78069060 666653166 525285647 424808506 52462322 30120971 625055133 631532647 683943908 438078863 824154390 186113528 168818735 322447010 715184172 333378687 390590992 773498504 357717299 321608270 205457038 852935701 9404743 690562008 555040793 945868410 689557881 125577083 986757055 487211205 401252612 563058442 948625126 590019249 310644835 660378922 666260196 16720567 415383573 992904252 160326289 622362526 925098179 780106369 343086106 690864149 852416650 241465639 137970435 143670644 284626009 960874823 124313024 825590359 25412255 473022201 734339512 400240392 991547088 872778699 784783521 393880660 829062826 922575959 490509021 272265068 53492340 708470948 477129132 258127099 493037559 258178937 243750630 583606361 640735995 468558846 602652800 888355024 292914905 979960777 553157982 264090589 149541669 464743426 703225529 61121221 843885017 132151507 141661496 102510455 15730363 30395889 14820427 883313626 528732161 600934814 200296142 112930710 733124794 98559840 484896219 473805061 95137452 801311161 156950731 916668980 841766623 224558018 199004991 315959359 461689852 855570757 592211251 590131153 985958147 714180076 285436205 520769573 625082146 626347965 614393253 822498490 489196655 76433194 675518300 174108864 361790516 503919859 352369338 716943040 39711207 703250642 656586450 572947955 895426957 503664882 530804501 279725889 384881504 27222387 187035956 544560964 641933401 755107130 380180817 289506449 70147783 838264783 565925382 711071283 602703838 816630384 490282940 310272471 409695653 493209544 652209605 51555699 773230995 184173965 601771035 556823250 455929742 236367077 801205897 954334029 869324595 887692827 340065480 192899916 880789408 582381747 749246105 593646797 491628235 547643173 436280595 878739124 892297081 266952133 473175672 791899916 10356299 810070780 488436444 497496512 883066797 863769336 923294895 121364608 289746489 664117187 852156565 248018332 80968294 265637603 632524592 794913707 217623771 607736484 531501368 4570507 775197071 936551084 908455652 184035647 813119696 748585366 196073629 168330357 782142741 655998703 403289967 72623173 202844456 20888776 555536225 835000619 698289765 636137390 972236107 303026931 737857651 596922885 102274815 6131477 444400844 129215654 957887821 158932522 252731204 104732131 894092221 380982557 182659664 823551085 811321664 169155442 519588218 967827902 98956648 819486145 650753243 294803112 714075486 12472913 70995471 414588129 10061148 812068173 447767978 76783117 490302907 80481259 261330063 571995619 423106764 584410363 186117351 936891820 331507868 986447560 142880013 381200883 808529663 913454058 934854582 351223202 636308842 921105117 417010569 265306756 57080314 42154938 265667332 406366091 875182601 51377852 955609118 36401261 131045824 126618361 338355538 315787503 642280672 82781524 531831035 795826758 667546270 317776027 996737040 844419292 230408900 315747074 199362431 451290551 754464042 411943345 621122208 21252287 282624342 39993535 851180536 980451284 319391874 505567021 362869845 477424805 262216138 849282368 199864039 803425499 297257802 84267549 555879683 580984866 68079665 604154133 431364320 828303681 860134161 803761128 252720451 844857243 808815602 736093353 425117854 509645210 391127663 453497546 307085234 885071174 142049819 612891262 328081838 607019064 547717018 76938525 744547360 297779003 914398078 375847367 305859830 899447269 210407492 638355934 885853294 216847544 559124811 956744522 31110227 970719984 135463457 944675840 164610160 595465195 582152358 865239595 817942748 518409218 141512855 334024791 599120331 335549628 469444393 278001006 658491725 964637680 713178654 205106121 17295749 448111265 353087845 544700641 153040074 671486291 64171384 76149998 211984047 648278976 301518302 839386782 736437677 468556612 820244977 458741928 630133142 146266773 56595661 459807306 707878054 265389621 666570489 537432019 127202822 742952403 248450431 909924120 924365188 993814962 408048145 917711978 974194688 814876038 401321481 857474734 356070231 76365243 879147342 469662636 841920322 16804398 121006725 768762216 547981077 71725377 553830199 305753475 869916656 251659819 758826297 917014424 40543669 357565012 789043953 249541565 438549440 860966550 25641650 179271827 402498611 551540862 836379527 212690761 94577182 541700863 467307785 875225409 966375166 315197923 132884268 854155607 798888668 617937441 335808841 247730795 245037825 842520907 38832667 223493686 734347582 925171573 253727078 798624374 301477110 625727591 984007902 656581498 133345372 190935002 281422719 301434647 537338041 206092347 754408400 213809011 845261148 881451758 795843762 763295203 649310333 376438171 844134549 261505961 397900343 901844507 31510453 51293614 804770598 131392599 223654191 718101423 253724086 572831709 689518209 268754470 46053551 604495202 379004813 911402120 660681974 458189017 116209952 445035043 709363751 19585017 385614610 270610094 383330772 454789236 138823580 988844338 746915451 693349279 271300682 27699271 481531579 261141993 650216269 887977366 179232009 476754823 301564246 194955020 26660393 508305853 242808895 526347904 688631599 901587332 861796900 100874488 241089598 878062464 735131723 766676281 437341365 375640709 391614684 321447385 61169673 374950275 207729874 471711838 254519477 766996283 71549751 337558469 280584888 369799646 235783563 623627758 24428989 34033682 503519863 171406680 373467893 979103211 767586345 824569952 125173263 630272794 787585058 750379266 949767445 593652341 18167200 852291379 776774168 217188022 911718354 998093120 474723917 766935797 528339146 740021926 775062992 324544874 495641630 137545564 489640768 250115915 124645865 271620492 567733154 230459150 390816485 226250448 479258154 110168971 733850751 48550393 893150064 743897332 98856737 98154455 88113616 914381882 924107424 146914608 310436539 165913504 918229907 830408400 947621123 379302005 724707780 921625571 865508870 850119806 457111694 864924534 6283649 296211454 87796359 974031450 175217892 274112545 975430850 114311130 114348891 972970852 98174072 54207609 39044118 515544883 309070760 341206118 854385107 465795028 53960475 246349944 39115620 544909074 851517687 136620198 338812865 192152159 434220193 932400762 611266170 698726030 133057850 103366238 239884268 364048199 556726176 427119094 585849339 661247513 928718031 352840229 733039461 931121499 290091115 956201925 454072238 35107353 358873616 425031115 130564639 513011603 169756376 818544324 115199963 875316558 575405601 821409415 257725397 261585644 288305259 975720718 856599796 78562424 998599885 422382601 52258152 791015330 793489677 65393035 478520434 451102557 232993858 564264725 652897049 427863135 300377217 280697864 714780224 865898706 129310830 20422952 36506762 519376736 542500175 131645620 721897927 908403079 228151646 40508570 135730086 9152801 411713736 854144652 828725231 573657875 693416617 249036517 639015794 293858293 780781961 731277110 191383728 291576790 644193043 234479856 509819422 141471045 503968281 655703362 570349243 225660180 555486444 165662660 487723489 608836078 782779847 831577435 888944104 19221783 974988683 48398667 28322072 942253050 316351427 52748254 822237104 593250332 721194318 459667139 866993322 229305446 579931590 265001136 516079586 899627182 583624218 708211089 477667506 53040847 146781094 937783654 9618719 140459374 753682640 418106186 193477860 597523525 796950080 49479775 532972784 811355252 125855871 49572598 92915883 47170020 889229953 406738488 269405301 361660569 835897846 132207235 188944965 986220988 930548823 611867752 10248914 150530099 426257939 978830812 760029997 905734776 728321131 302177984 952763507 93745919 662859895 931224577 578053497 29547948 656379524 191657013 496740066 825561887 54617045 592178086 253876482 370936194 877735687 916691084 75261578 927335233 940804160 218707907 907023417 330788143 279192144 550713105 728401586 497450310 432262837 919575426 889524522 962130550 334612167 307251654 335010870 338307313 94992739 734884465 10471300 271273695 286635852 509783877 820272180 128094857 706066261 67884878 455068570 556841875 302489698 178390633 632338910 198566744 126601929 584891472 79279984 102816644 907956976 247962283 94326497 383609282 798356673 640823882 387432584 639310976 639871779 204817956 665274857 900621955 982957739 310899292 127322802 170968930 780335247 621860080 638155625 918940706 457797870 813249023 521024265 713352178 882717477 342544678 59886417 942741837 505095588 101957958 941236341 614134946 498415473 577077843 747910354 478936037 409683363 934025593 280165943 128570737 927272701 787981728 885496964 932576637 79471588 131281165 825993978 802520540 155642386 794548399 193241050 147886373 973393045 5368354 466599352 708166032 675210637 775768255 396837759 942248198 492456364 208362094 554073688 862166220 979248119 894651232 753927434 526152882 419060903 186245947 110578921 249581310 504284662 849519043 856571011 546554102 714821176 250862475 835218291 818285585 525645971 166382554 438559596 676470711 363356604 416183803 19752252 978288544 801385762 994305888 587031358 222319639 551166926 587808947 1871359 194039789 291692478 408773342 917913420 732371759 140932985 507389470 768162408 598599877 244717292 769189218 887050414 627550283 839104874 331115137 582267571 279350302 737488988 879585015 16200799 394964533 6587801 689114160 842452246 621749378 997114589 652473476 822220520 915269557 834880222 623787907 916735853 623278316 542505747 62561484 214523734 656806753 411822259 279589526 906399794 114203899 180693891 684130960 143041644 288980171 917732570 442579286 775182050 726837968 471849714 788027114 650947279 417163345 440167648 901965450 716430379 901606249 499477686 5270810 745397349 529403532 326465146 968231104 786055207 269621753 843889623 808264383 178799355 506197554 718404344 270567056 635032654 121005480 256220446 645210999 677931282 413691393 372988199 676343971 649511911 278932875 781616103 854655858 908136856 527333171 46474834 678214920 397905862 978436832 191625786 939888760 152651306 474567929 28112051 413602345 422232011 947407424 734499693 810158798 851548210 502804235 284538891 65368559 809133002 285327293 848082041 822521809 789636695 59460012 594917931 829266590 717891449 336845840 303724968 143151052 313633453 601478716 453465558 955166410 319983599 539172478 221527629 302723490 13703883 523609675 762775443 462448081 943473350 522361575 445127333 183292660 706918840 491518538 78552646 934187843 429002019 645830661 515252250 191119430 568588691 559038293 744065702 852499256 673404966 887856265 869509857 22512383 912611032 987862119 211200082 944485417 817245297 258585650 949067992 813819274 211361640 527734132 633555661 363877950 157547521 42785235 681848075 272622976 42007507 6267430 447939424 466117773 25604912 385669256 327774027 507485677 16475700 490649098 236170460 544817524 401228716 519346240 608918432 267460660 74568776 860614233 690895785 939742660 813303651 398366989 83124443 329461253 913253800 416878452 820775037 576039531 3682256 605644803 277304444 335267926 224185863 870555161 197555921 380362307 469124119 172570088 352885720 637249694 486325750 965644838 133939900 854653828 474516238 54596050 771387872 529935047 315207838 826788906 425493842 400844778 765999099 289400016 271755072 962533911 524596325 59873408 186851853 438788842 272458527 603286782 214470874 894631321 812320798 450134079 163911283 192178310 917416528 2256495 668616270 201984907 550596770 219328031 60568457 5120802 87914323 175503843 741843918 222881655 97178299 272420452 271822855 476651752 350448183 796691512 323099547 523531618 176638233 238758084 149522492 942680766 963984431 376196435 82162969 301225297 874621641 924589699 51855987 242395042 688554868 921975097 856373983 739790186 138790613 328497248 469077055 834094216 426839347 776643080 775166811 483889273 24901861 349205554 844651060 879559771 937941308 656145044 949421092 496638533 400531624 160480907 648629041 128601173 346802057 580201855 232617475 147025885 937105619 484221428 80436756 578213603 266757638 57883644 815806378 735868174 227536010 406334519 402401615 600768266 280944079 370275288 242284891 856825860 232234947 607518698 798572558 333418405 735322500 800175952 832380283 478583378 817964106 334255818 17197544 439002074 852410871 94490282 75066166 6438480 635933883 634006756 807728304 936040550 453065886 611321068 340529343 949837760 478416242 772313654 598048437 796012716 358796685 992655613 968541979 3790741 509781223 382158800 964266217 734164128 721676112 585055343 811739690 405502929 782293155 774926656 236682045 693997485 574492974 812324085 827192354 927389328 845741573 40228538 469046255 251488728 368104140 99934381 179074486 951968881 560412515 207617963 484549704 354302264 252551987 540539258 185064456 692654922 465405417 898181053 589891055 699925326 824230193 919829369 200495929 170273328 661178938 51785520 723517331 807214069 934644582 38349041 208606048 223754077 925786887 984683292 896723506 22566163 523884521 328682248 10309714 667644206 790021977 975398781 839633242 746538723 572484612 620415815 292327097 386582811 615266362 697392022 931633086 712343025 326382452 816976892 144785824 453334648 872921920 533341678 184371585 967569620 971839443 435910548 964647419 884666689 500602964 432678108 512897366 335601039 313430085 700446711 147023832 810136479 236580159 978277022 694527057 798023932 256192927 805837474 650605459 234507557 124385240 57481267 972081644 302735316 661968370 687739819 36105279 272690430 948027061 287236069 20095187 240638109 883822039 883322129 889181371 885559515 968356324 690611832 835866910 826924147 964845232 545952200 143224394 356264504 203841321 689565115 286076365 521221461 77270706 77495636 367482992 782661811 452954359 763543524 129692715 722426232 80583286 182475127 123862980 784738070 384878389 900898456 445320031 56081238 975949109 115879131 303709376 275235760 10075906 402619312 729816438 724363859 653694134 771320411 320517571 462373279 111954721 449427578 421986542 693967291 564208328 213318943 299180982 919734778 989443675 204293434 75612440 981960673 354917367 199575658 667916592 207223848 249366316 661657236 303541256 416271043 55762492 209230326 153115578 839586020 651975229 100975669 623563975 650526524 911732272 748280520 183815151 71306973 871173007 944641118 419404493 406663114 384630281 939488595 522662444 165456785 656364613 530844005 504631727 918783250 528593647 137690694 516954011 482877898 52486162 496962539 383603980 206325979 653593093 715680907 735654719 84842218 529612067 530285743 951428924 197695081 428923084 88937676 192104448 385234267 612323667 850345164 764724702 924592170 85340661 943728422 31544053 57858489 450836629 691656858 641406093 749533675 434369721 980159363 357783325 80577638 808958107 330687160 564087840 350466746 791997582 203895059 316930346 632464077 519606108 579848684 773174340 19489617 655442976 3356960 95235093 451103542 452726796 324615163 228638030 104124773 915289865 155139621 653385147 650047759 728803956 568321413 812719940 194224362 797788964 962608682 479115035 281244562 109479066 664257410 282001577 552068469 481921282 76377319 855062550 523488768 436173577 836017192 685266085 864454950 357258124 6412920 101095375 876106145 145760764 318819721 171569770 265910941 480674758 581022262 798192637 370559363 317669110 911991048 993671396 774708823 800145109 5493881 153566124 475826219 456231086 266736742 856671073 622453942 667115709 582790128 626105468 835791840 869481337 707430955 641036934 143429475 724324625 664278758 392005917 538173066 536566557 236555585 708876133 768978483 417887101 384205587 881856515 826694256 252351948 418292363 49693769 155949064 498321876 599888670 214797460 307251567 924887431 105875252 643000906 119062156 456889481 469471579 802174404 544882123 963458313 227336063 110885777 781099780 379859760 553537302 916453648 794197545 249052879 390480635 572176881 115402657 513852628 704007792 699437206 461517441 654040953 804617556 975677714 298132686 703721925 739911196 991261465 941907865 523423156 875799452 133880190 542770220 418188413 997304633 7402062 782962414 309018128 917373208 79628880 200317418 730315796 66825575 70608111 77693133 798131685 89347729 821511380 507894472 767818238 463434120 438852957 483997247 207935402 755246493 168256878 881755690 917750108 446891062 745657331 399976207 691568207 224006521 657947597 218944745 991236050 373463423 94763101 908578640 342110097 15849266 496861940 720983848 908428936 577538784 838080837 731899061 118915747 321950428 651757615 727275570 679565564 673311867 166989271 638309274 629971321 971693008 505245462 811018972 21464640 832009273 376316221 439421595 397885373 542360806 726499728 498188896 338469891 169727396 81693847 161339467 250915303 596188166 71365969 28267527 226522056 325108341 653889150 82006653 599874323 11650577 803214056 82887751 860426349 918200132 391810147 944949440 63587343 548659261 511155291 150783124 10346880 176225409 529937558 474774193 481956597 198728250 676658561 520323231 454120581 975161755 501300028 953155799 53211635 620776554 741975422 547862362 410983933 151914325 758920160 170945325 773546106 915460119 517311477 320415278 142457980 367876728 784063018 764612586 549879032 624038399 805735687 997080949 747291850 199518312 194077494 911641931 365498143 184238747 542631933 708321294 858098691 503493611 448891547 524285412 451738348 582451149 804026237 456576475 664501344 126791911 234749142 247834432 982391169 344918964 310303428 683518740 272259589 729499015 337987576 196778017 333837770 167380822 855542740 460473150 313912840 183824609 759174469 108658739 717641013 908556154 251356222 821214593 560020089 811152751 71814726 880413924 94692228 128028456 621903196 239876481 725769092 595906491 525631718 654087708 269667517 823504024 730077661 125827775 341706046 846233640 967995079 622981988 966961476 762866260 25539732 423914376 587099398 397774580 621746985 277722141 358037889 523790094 317980449 34109406 737405336 952452086 84215439 275668865 161190682 419953821 657628332 969459758 984780939 324186369 79616407 280671925 882358695 792783820 233493411 173569902 871644953 462839371 670056434 372237296 831531614 236751528 609935762 919680632 956567656 593837485 438058488 400084818 559155518 551121001 316685938 769423507 304696862 101314253 305089700 399913250 15937147 981068220 14536944 846793430 674900371 313298668 415658329 856420955 220381090 664365582 84796065 662982130 552595507 9654839 686021535 142963441 386928269 836164256 717758359 608532027 614066076 532578906 832252367 13525173 374314548 109224525 91366224 68082842 241816736 898524994 358509131 40555921 205736468 432776862 485857424 534896192 255416516 177719701 564548271 126999957 627493915 450320932 357595150 680462016 583717001 427166888 659268061 993773810 202216916 778209049 654609525 165319423 761253696 92218326 228957988 821304800 881422410 975125333 324615270 691463456 206230257 421284912 973806387 224425370 807938229 591319102 190156151 27845436 448821238 106054210 317915605 815556080 311185184 174123983 574256164 773371489 318496782 118187121 936230332 253309397 575337604 464012603 51023932 361217493 505197035 368586073 48423442 518009550 269679648 768005432 256231687 894930974 733726082 992112912 179432956 300719274 824425045 315502194 586845400 589924513 53617627 487965369 837718002 879323677 359889243 742416938 934028582 7653162 87850543 450675526 469207286 910547496 962440967 216487698 327548618 159614637 397447269 3461856 621353148 228858471 423124553 332550190 98119072 475227434 137988594 191602698 262806780 202201318 47762 860970721 307019732 246679348 109141481 633251551 152021121 417388552 781239796 327823270 790735907 189426791 805629536 859069117 626417919 23351114 745163227 786671870 685657593 810577429 603191084 719090255 247855246 584805917 133337422 671789922 693104949 594815556 192257197 267877971 384540154 926176291 922453887 598374403 2219025 31307333 269048025 960154491 197649836 76713400 733604693 39759653 159076009 496464197 802380510 340553259 549199491 265346986 862040980 387601108 677916593 807839469 822351613 693905734 396148166 698721971 251982842 57232334 171842361 759251702 792303033 824813582 293033056 912209689 600229360 797539071 911040804 196187109 337613858 829624793 916132418 447858026 979610685 669806834 316896625 672121265 395923585 552104476 317278905 2248102 534689351 414690551 503850911 890833881 654632967 380003874 494299547 742914326 717329874 795697838 442802660 821968474 525218864 842370532 62197932 712264108 588695540 878026905 2536837 312591536 392256604 172780016 74904468 823843641 243879847 500296564 612125515 833630259 232314341 83085653 233851244 420514482 512584900 585380540 523802435 548561131 67754602 440445056 767528648 958517626 283923803 62308339 492946494 948451806 811083642 405289047 359774778 414654199 231681299 900416713 749333110 428902423 3568789 975954797 830014923 917562402 276725315 219447515 329208438 880914387 691196324 958240565 634421647 324090561 228800842 925582181 473661414 873952250 533012297 380974270 267138690 199160007 190279377 202252297 135546124 310769836 739678513 631041183 525560664 780304916 702814369 675660198 546109864 224037717 828631655 468257990 404522624 403577577 910030787 785237049 987759091 122744911 599518921 948198286 864950407 501434643 870421837 791712156 294907212 762308932 763818930 314619654 959866415 227589262 970625104 407809244 208791918 754424512 310277404 787033845 924394863 472341180 959653643 3617449 481977376 334353355 870581368 904872880 955364392 60078827 336892605 607200737 365475564 417900296 823153669 302912641 904482060 9849705 594000093 250130387 430053558 508967494 306797458 172211133 395637985 233403068 447365103 861748059 137026219 265112737 964191437 362923903 285111906 736052527 474728680 393703320 309305420 534171750 273605365 320062999 664182983 504220816 570492851 221006509 569441640 346878213 665649483 330149844 568985037 494755519 10661475 710868651 831712705 882934097 664957571 693728388 528959349 427836380 420441919 810186650 473402397 101136791 409275960 916044253 451541503 377263045 992193741 213004793 951652072 783520557 771863093 446255080 14339185 427797592 754070390 670529280 482222214 439460986 148756956 347467646 133826268 577776988 979232329 398380032 866552529 270665902 925922021 961419235 926645107 678422628 659639496 256523863 235348709 354380834 855810290 266484132 93188421 623000500 600318663 638882816 546509955 819861000 73412215 97746119 904120875 480699896 439300057 60023724 87822468 513527556 51280282 213391262 854557148 754942416 826133126 57713403 675794782 403704050 99667154 99912165 737587521 369936149 113317795 647160384 775581326 277196017 531307892 641742709 538964426 685673702 818395581 913913227 938491678 837632126 419475699 576184108 117163075 591543179 378872168 139801122 140970405 526723403 262749852 477141664 473943860 513313048 137564291 312550832 301312986 909294811 950273923 209632775 352741996 84428749 263974531 8431981 898390195 286142205 907956373 664510265 472971847 305015473 655783081 227823997 36063625 792882616 89566506 384702974 628660601 170996615 733771543 586563563 839737430 46614734 540361021 296836552 23157754 782595672 423728786 368665766 110279574 767498380 79957007 253793286 130235877 90838541 831353474 599340161 718472923 52322314 846726655 663045064 35255985 647259158 526355310 188500866 199509905 844567031 708370045 420652624 275351054 370117560 612152025 953144700 585590710 196936593 305711938 604889286 534244906 226715889 334007429 637949926 878321095 658755324 920751010 119864727 582666018 664004386 640587472 341829360 875138624 381052794 736306085 271727391 23909456 298019228 163915967 506504764 110326633 194157919 711414854 667036833 877916282 426033952 422926256 433294978 657683775 181891308 57585157 406863136 367108030 888657124 778425458 231372963 220930996 490307870 244422691 256783079 70390184 949200429 54271886 848410796 891218376 727174165 718471824 210128461 170769875 246440090 340458588 655528263 71256882 649781803 578668597 63982513 677116396 502595703 570990517 441029303 889108375 513434138 901615773 437750465 167831403 967038991 968281035 756909625 102791631 598847577 5520183 368880406 851659141 711069961 697544087 489413821 292883012 269108689 610160187 714509641 880756853 799514777 517263144 954014009 196444104 601536738 438790091 145498508 429349319 189433380 812829796 646558153 161789779 315006658 213010639 173214890 248869044 302342880 919216777 464260924 428615936 713318476 16581027 337125585 853052673 127152800 121158903 128000050 273079569 565826449 73786237 243654106 650442823 156240342 508467743 309054243 797640361 329983029 546716807 945191371 807342660 924755642 471290334 859433109 822536943 158194727 172943229 232308088 846257156 262701277 584997219 119138594 255387894 679647680 925669340 721720292 214527421 940440098 394228777 500063063 371520528 804797776 242833 7086291 434380564 6559799 299054842 248162416 766159741 28903968 571736129 533428879 624079011 16662885 518611387 919574374 688508237 457318395 817073023 720626147 956246709 762414633 300300078 637074222 335967807 439252471 382348062 927409825 614517627 355997678 52957749 641685743 438941017 578778997 520268489 895442302 721741044 388797818 708128203 820147841 565704056 343082147 553580227 82228362 501025973 985641058 74796249 911498566 185464378 886800549 422943149 275538354 771687392 297181927 118542640 118476010 702129194 942341473 120246177 992510089 814736711 276288227 640899391 898946714 105568805 623766922 451911656 38222708 402306487 912834234 9095327 37880294 372308449 683186245 430515892 9212739 640972602 618541806 8942774 322995256 616400208 775390853 167608796 253135077 870216291 829747870 787517236 355325551 385259653 474444138 91086646 202455843 286752297 11469305 972118676 264016803 937914598 822698175 79006935 195538019 101678537 307143519 134101930 107953067 683994438 327874998 664358800 69353273 951284227 679861167 249727049 82291867 474240769 318268311 532076219 891467844 2394570 106533223 450210283 343023813 787317078 763920621 719064663 164574768 782894306 696557271 311678943 551113779 486347701 431243023 860879522 139816606 801490879 253182151 325441632 367705122 457453537 572404889 843059142 622400083 87422351 775024186 529239691 376917632 770793830 812275791 94442270 938440649 135444720 381556464 995553193 532276297 441898267 880252725 467927424 147734327 786033148 461608556 373153829 199178582 189995109 755446569 914712450 16597425 18045144 205807180 389822725 767533897 680236003 527235782 388525033 495464481 933691559 273269907 855847515 402182048 81727647 487092086 240838165 718155971 820589921 311536090 957848459 808384260 710866721 681120049 361564616 29285903 239190607 102529219 486588835 131582801 190018438 966163357 962581781 692659358 532350414 342169751 377238731 488250973 751765394 299287180 884191154 4239620 645831774 63050438 591085808 162581108 438812120 6096293 979548692 354609058 270446977 880384506 135810093 950941103 73071347 56096180 585147501 182301077 893469738 512792722 47272616 93788137 314741935 990938325 683971899 879966778 786753155 394312266 678171811 637225386 974933834 647948945 534943813 173797282 787233826 768132527 578822090 71790823 915041443 626154827 156667621 597403770 334659064 55081214 558410846 500322234 113338209 277236560 364121307 224938701 403782184 94925733 186366748 396688704 325438000 177393766 881042471 599684744 403653639 287272388 446569062 359064396 348886410 561637634 870089170 213460535 446338232 696526507 849096845 560516705 426535646 205305036 563379517 423122626 427633342 93510214 678501782 81443100 460888376 103281655 700102650 85934266 645835443 473611855 601241301 304452121 726587740 903565198 383201214 273902315 194871650 111146898 738206863 602188882 562881525 887927448 896004636 738744731 896207531 836749991 461454082 527012967 786325248 993276484 707741094 434872752 236092120 611461210 206849693 242528359 383473318 955020320 517504108 888764089 571270739 745244914 368992864 41647167 470805015 249539870 712563866 589236591 65403537 887123766 152073095 734150698 696118063 178537783 27761495 392010545 575191660 304855444 84317660 559897944 302059179 314048418 591832094 44144480 114585444 600888882 415499345 248551527 785414761 603185845 19348408 69996355 685723064 757219900 174252928 413594420 283007235 632143369 38261378 612718438 366006337 675333110 633766336 408386736 152869781 67437651 439797487 995715725 965867562 310566612 427405469 848467375 586957725 136729811 437435279 375174196 619656003 881677872 149346930 103096424 366394764 726564360 666966763 480707712 299261765 77022920 903176762 123996318 906106105 352002136 500854795 572654362 30158622 212131580 726030034 296367479 674592764 533481666 374266516 288940922 371535625 40703563 543480697 522821053 294356141 354543054 663664071 424310280 570302707 62829454 827072924 768850151 538324904 642299631 624998587 833087842 190790694 685389158 14702254 847362606 282872561 657873638 7613077 156165502 33754060 184977321 261209787 862624463 392099032 860339827 782858667 766402442 494446309 462273905 679706603 538861820 929414015 991646497 192830521 279856579 65533766 56840389 553128548 712889609 7892009 647813724 729542503 192344723 148009890 755282949 638179920 665361509 415578852 995394431 16537448 135395918 324297759 492712796 160246899 622432341 595782953 660288837 473571143 977958024 286578406 910381824 939448098 981190124 222865444 659100080 338000323 89565096 93114073 252097316 662374735 759821260 66436197 921281423 611350018 174329093 743685917 119932789 993647962 957833149 86835997 335837978 639572136 282044838 439972123 344137811 475164236 931811059 95096125 392897164 932385239 232832149 884717365 262240911 883728998 119214417 949463244 989798446 920179077 358476486 87093161 399716180 122255083 391416035 438819018 892550869 766831434 704847781 404226313 717744548 599618385 194119818 828319510 728530407 325910216 699895643 210631969 457407091 628126878 727531842 690983068 960064684 730889716 282090086 539311228 53766162 964298255 292197614 383204946 487880368 298766216 211741057 870578751 820836574 428641099 428060481 66742050 579335937 536876228 605438362 296434561 4344125 747067170 540818785 651041843 452847642 407997566 625736684 62126880 8948150 565455964 164056451 51905043 649623564 483868007 473560648 654719220 64849609 422281794 194719005 708498419 251878596 654016780 651477242 71809617 540977518 812690447 775208714 921608682 308142054 787423978 590878092 844527841 297432874 999639682 779702584 460154071 778784954 553949861 305917374 985311550 444789855 957003281 12328101 768497694 220802197 729754416 546547883 49267479 46154640 82874360 627617611 575712802 838324675 894648414 546519111 731778701 264520099 42334794 979036381 53234678 285199275 111406652 529255476 905264703 379366178 107051692 988966138 924310498 521177067 175878413 270815247 432373003 681843201 197490005 672318526 90872929 475886768 496849881 229141134 584108593 568735107 29051901 321418580 21448250 939417084 167477079 764607490 96514008 767512610 705909744 831731054 947792434 802636101 635995878 400904629 676137590 395969756 666665645 867334006 794548527 361258788 394417561 269569630 454960980 115497399 170822305 278932196 188721972 354591192 5651682 941687177 474484500 926831669 830447551 401447402 274583943 690407393 136028757 489897774 424651773 211866824 763530626 387649528 863084071 273938826 964173615 701962281 562263372 290741639 717069569 391325443 403398169 587192671 315942314 840636993 840880968 489297702 104402966 863982482 327473307 142444615 661320529 155378802 699836096 582018356 805279777 299747465 587077409 543564574 901794066 380035742 28186361 366524861 584718623 713694059 665655791 268946807 823364447 982754653 289248151 665734453 517308877 340652648 668209432 186903026 381264467 304479177 603807120 63178515 378451242 367468352 403673515 652946303 45475361 189088026 965341263 403087031 155997049 109794608 899501387 785439239 304452566 65132032 555291262 462435017 799570026 154859072 75232048 627698914 957842680 663354642 733164045 359592724 438435716 898802574 145543026 940814349 957118866 492447445 139390815 100938724 995005995 737718256 344031481 67406588 686704229 4719047 973591154 207260718 789590898 507182889 40070994 202924467 260112209 716233414 44789138 99741575 271681614 61843653 503323894 623706137 29321487 998716507 615887466 122070780 479649534 768982462 386857593 427168025 913686853 968698577 897769121 522749312 732042819 90298140 687455538 59314151 510020949 883272442 721955671 272426983 339162683 95791033 971906136 58823221 112054460 620519055 160403100 661662208 173888346 993602263 159156719 463507025 517751433 891751220 457610589 164668190 840574758 558705579 289759124 54405636 530890131 943834212 946196505 98846876 672049142 18749174 20113504 768810549 326263387 550362779 706390556 198785286 292237267 627500167 716243229 71859121 54123504 533307364 321873914 59206357 846292172 959294149 100737327 815076967 846300595 807510299 710114310 104217275 484123817 274888026 718687461 655186758 300001576 316619535 680683761 389326286 14469626 648837849 643786 158294726 997855891 312263956 907431397 637103464 990417888 500537226 234534592 177868426 294520580 252662533 67423470 647433059 153101356 519574027 754504981 976186453 559710398 188486510 823065637 45784849 412220012 118248947 106146567 933121011 467828350 355712198 689728077 593096127 38129277 694133826 799535708 729538980 608206318 898356801 252738299 376842694 349722219 491661399 678752861 759649215 838596592 460119462 617324094 836655475 986483556 194870407 437269246 448096083 958276528 720161571 948745114 523345305 681683109 6491014 384661399 700702794 287068986 365873251 113667644 195768614 111587863 524915354 415752671 822505394 763499513 798112056 940127202 955748971 606033205 852454480 975758 199285474 619371873 583489910 104743233 671047002 725875066 613819996 360617294 811739069 479122929 546542057 573635496 527855684 421008280 555115539 783886725 807773099 491095241 332588981 224366622 170451430 753561449 337946564 956111662 979497731 222532339 590560981 474638530 212662582 91964553 506569964 435151538 86446156 823303823 756275146 458187236 759486068 936911639 682730240 20088442 745950841 534476744 709716005 154312147 813379820 807167454 315141687 619902951 822103822 408948304 340719243 900481336 49610394 561421450 477901418 683649317 411360975 910135197 107227950 175115377 350336948 46687823 594010116 913271891 478612842 222459328 698888520 914575418 688790441 315545683 828123457 811098335 103133352 180469284 424493395 457586865 27334686 6268179 990920223 103846752 725615318 39375986 787375204 137894191 461514357 658756209 98268002 578708782 463004503 286843930 891064290 789768884 54116765 904141277 235347080 94383187 415696013 433121874 63853044 796905049 98170723 229837435 430144244 197659176 750407514 765211634 699774128 768727285 496430599 88664040 314617197 181521903 494957257 959018216 565918636 573412029 986674574 43342484 11273830 889969016 193026192 463876529 465230221 431973847 513721785 594295229 65779893 656870616 489304760 125168150 667405143 679137563 423482730 831286120 789532438 508960582 317689019 217060146 924445179 596788067 949409950 185627696 650700369 779180853 101834782 501505547 658426372 83521962 878281892 536603583 105119870 989064380 174697129 914790230 771323570 451280577 14098307 839033802 339756638 116873198 353384120 17491238 813150907 386374103 484018091 940485118 749057692 548416739 858724790 897644202 607443483 561432983 412936428 161439480 469931870 910516098 805250129 826247440 671066948 564332009 2256525 714992329 926526687 51225124 6830720 230674375 156814204 668461138 446535543 15843449 380264743 653358133 623617963 631602508 209454707 691643971 300203099 493661130 140780431 267400086 457014131 572743297 549927995 666178473 111008706 916832290 717531557 467402056 484890501 28860004 51754177 57663513 336869823 903958902 778457011 467348225 979755164 561592012 404868803 232847114 226288376 912519171 376879846 664224504 765876950 450393260 538857286 628510483 132172350 794766738 736367875 889984039 385380677 488668206 605591947 103430987 556611403 295270486 646956208 942972796 627667593 756559223 294960136 278531012 267557449 399063719 221708194 214163045 332152557 692277867 898541017 474835573 999080757 85233819 139906353 183870543 689261581 811642727 276010384 408823502 797362068 194129978 867829641 494137546 468110297 386281467 996720352 841293040 432765829 261177015 195341739 888739628 679578690 982068587 444564412 717015400 416232924 796564694 528262858 73870137 161144441 695041428 40877446 389641456 698786099 617682293 279228697 13247399 706493463 304915162 842487896 311156360 767746532 939276633 45487128 966010033 104953655 76623759 573306642 327360734 789952134 364880601 584778070 727767253 559635163 4560762 11030886 867253136 885249587 317288653 825945000 244341023 397155964 708344660 314090627 430475812 5950776 74288167 706408765 403230926 5947826 691042724 261384398 98350576 52732700 758119423 88446486 39368408 799373696 12410893 34570665 612955744 864014401 508304530 306059188 726120732 330683642 699882414 79840600 883805537 201546218 983236352 454926569 28838419 224162543 66347702 18487263 767347746 607246416 8899222 301557127 574885488 96438131 301068148 108138974 685877244 356241597 16840676 161057195 89309413 468822093 130361706 361301972 282481014 881628356 237508435 138147996 888442435 815414533 645043084 982602473 145114645 422793053 244803535 265599653 96999648 158644970 466385486 470548027 858703293 56979123 528868529 453841582 82783966 183002167 615666342 123758679 79254658 527091609 629833722 928841811 966026862 329305977 462068317 825394742 309763013 604134825 83473298 510434340 461995566 652151070 872061758 778472455 282581200 964836562 168204009 304527564 696107587 323827098 720054552 368133442 525597003 821749753 816675378 239714968 661588805 689159103 37482719 8298181 44409116 817588807 389546037 68203072 711854313 348424679 886958393 650608314 469191721 146847909 970667762 777277116 850827846 462429003 427731849 558443965 617167287 680315518 714103971 810973657 585886146 885502014 550545397 31355502 779585114 227355635 248873665 520772325 649626581 349280567 464763308 664662493 505452344 890587893 467155700 932928138 613516447 186205799 852368266 299416194 344323849 399004942 914935423 458031421 62006417 717313105 235345591 257166670 34944683 202640571 355712700 941653097 250620588 135159257 536127094 498888322 464824878 623788541 26348966 491005898 480322763 879402455 425374050 161541028 963866020 881534516 286982618 133148104 880553559 986444132 689351571 502365446 341775847 760702312 404596552 247698775 571421594 806375037 501293427 773806822 476749718 954856931 355427483 181931434 197386053 814276125 467858087 430300823 622101082 378458698 881484907 506957016 772408884 584400618 427163229 524545194 941747179 731088966 987682440 722711150 102034973 759964680 680704214 918479178 78695050 163723447 336126494 351214795 695679140 819292937 744621802 633916740 169145118 12598970 847454514 833520235 138496707 946973385 35463566 306172212 922537404 258511591 333113162 986517300 296586753 730527024 189755445 548821768 740873494 899775434 341468410 634871134 260072344 7746702 431624986 352058419 736132555 237755550 436806488 450901068 16163705 904292871 631158635 169533794 971953931 498595038 243284305 349277826 486968776 328646820 208535860 57551271 479758910 312278231 940182186 585232264 498428215 745268753 638061260 588442783 693256009 951297299 894578757 178381754 41783995 535646750 818380571 240237776 48273551 207085502 432647063 54229486 550751189 94486819 62403011 464938594 328597584 959032818 835452267 20332076 125468494 518919144 182356588 424104811 681105970 554967328 639166836 118343404 331306733 64324884 412314526 418567888 707985773 191305273 755949305 869481762 709599051 832094810 80790639 706950597 188925655 436042401 466573828 166811845 83676355 76325503 196006243 882713235 127397029 490467847 341222613 156471941 532070155 374049912 813925788 592665183 924520703 709068222 648273235 197582431 318237217 45350930 217661881 649426095 998176950 587594206 585116018 681935060 222955804 473985756 511673559 795806242 201996834 925294285 761485163 575466758 4498934 707143521 972712852 43084302 714955462 909982344 904922050 84341689 745910152 964934472 720542373 614371177 645756894 738677575 617762853 474149101 120304055 393208596 916836020 563126533 574570072 166531158 105280476 603070501 519378343 577292687 429803894 329019567 308641853 686134367 121281950 8987631 754014960 525171040 749579300 972686836 274065489 189904995 808427981 595093689 345592893 974972156 292949781 196923099 155161691 712070907 296385864 838774358 635321990 621924192 440242826 377309705 85925761 131738681 783588806 993086006 240339659 841008930 15421977 334338030 327173113 105465857 16722447 975837249 974634790 511400658 191190797 321511230 281626124 519697628 855626863 160197229 37950722 879748800 611528636 520155882 19140381 830400580 504397907 718291475 712254183 464189544 611841851 240254280 508600971 459467506 790693734 408426 975629481 172983861 285909604 364614900 3392059 127373359 350617681 730887248 230168207 774417437 929691925 243349574 691634728 746968350 782880482 772076 973490212 733791042 704190920 508891788 838200069 15939139 864141068 713302631 860143983 868765650 41437496 580072761 480859752 439533531 499392420 45832012 308269598 690197066 624423095 317571698 751807888 985488110 61906703 199244655 801182916 804311965 327727377 757184401 830199456 660175044 612417610 923101095 863631608 448490052 373787959 940110207 777468113 991692334 700586389 557817038 797972386 220991563 813687119 243694684 772026941 49631092 622982339 690071225 978269636 335195737 999146224 568552190 385556875 296404628 233814414 911956707 744851020 147000222 966466925 345348989 375451448 272243035 19022294 261428386 205817634 678336251 909726470 959671730 16329747 597008409 88175974 984302527 179393743 207786130 616660017 853419342 306714035 879463933 856954272 21960391 718497309 384986390 212947220 306225766 7662115 814483239 545944284 347314083 251254061 710624742 213378585 472959997 222101440 819723976 678569300 182223979 280829140 637518702 55034555 300689780 975294024 149764061 350341955 631111437 901830846 252090821 403568821 666402302 294648864 904347427 878719988 754322311 907897870 964787657 192152620 169334894 622042175 193801665 509303435 868417275 594827827 862704301 493293899 368324390 262085215 191673640 658812642 419701220 180636525 689943501 389590576 730214490 587397300 821196848 926766681 644833153 453646144 575781735 865961185 575848167 115752919 519779140 933503385 892557027 418172484 853791807 337074657 918424139 93538393 702811367 876609884 211919964 51280068 433947802 790208896 311094379 976270907 356055638 86015946 631253323 605861233 290704945 238076468 788129804 686460440 676751353 160489290 418765665 75314881 551466786 549888201 798881127 88455147 815702991 459693940 208111277 964469265 379149842 933104773 970520498 204561052 978953633 384159009 591618084 765568087 503880300 8013798 93863033 409373201 519621913 726307661 426940987 787569601 559833139 892928485 781571563 851049388 161154902 323063950 392076989 428581675 255333173 146751244 568054135 955761547 499700495 302196902 305275383 688441888 989347057 843708661 787508684 439674865 215756788 197428063 646334006 121402559 34369011 415292006 262338078 248771474 911942769 444140825 246705623 450830514 379356856 104470758 406850913 502373833 565320325 941379431 228495665 969513279 458837689 382793369 135121858 240606061 702219107 85649885 600888308 701820985 146079369 957199142 48615085 608666936 868288419 821233090 19868183 226453291 408763305 913349589 965149158 17891459 582785929 291590132 466147627 953794593 845660166 560187595 312325796 96799393 148409173 460847394 188169789 633529049 639133625 491393370 373611584 391594821 70296335 493979000 406209577 297051489 813833647 122111043 139374729 913363863 5902012 885540426 986503355 517919531 485221472 297382091 62820067 358953864 7712382 565086333 415409835 661921400 965845717 887027324 686728180 742998126 806695971 447150837 178168535 723241284 124284645 257407314 36490242 893742166 472957266 716290822 251091559 391637749 884760216 624389970 10396444 531945781 450028786 754433401 212692068 499483216 876418172 555522234 6771191 218329952 72698134 291291108 567379780 900011832 96193261 508126795 596865036 563889412 713054381 524255068 735619529 726394144 224991801 174898625 502368267 529316751 310713127 968910702 877281826 700455840 720790347 93398285 238065524 297869733 140301755 996826230 180853509 572180281 96525432 625856988 943932778 619305742 360245854 119176908 387466850 489723507 571009031 112657352 644653086 526036301 695519897 969176412 924717279 755139410 67687382 963193370 461353462 37041693 69365671 46454041 64143309 845831983 142618778 245332671 443752752 638650379 298893906 963823977 786078166 19863512 453525951 960741331 425733412 229198895 244928007 673937040 90939216 447053855 454532731 819331501 286539096 411668889 589585254 485065147 741913168 315294458 639867170 842746363 697981223 831053846 659191985 761155034 93755760 871120857 628797188 519119573 290654453 255351933 487634624 883953847 997993699 346088885 25712214 743507840 258244812 411826004 69118278 169222353 634779371 123786686 788034396 981314821 553254992 773100149 947194255 768368775 512501251 19796571 273591862 645235474 405329519 934477297 508788711 390911494 758972676 463397235 470170519 286766080 674465699 556084561 324877472 489114960 172116611 61159589 316041605 216900843 44471852 97810449 262553832 874257050 412696138 459380065 201389568 367097560 626026205 147488716 648631960 405153260 658317758 680506801 427509988 366902390 727066529 839328495 689273315 262180951 485355720 738468147 608045355 794749369 732513815 262093328 206119289 792171893 627658894 66154562 368915224 946851605 135491191 816459798 666376840 356950732 286511324 192546192 957537559 586330741 493949606 199821077 60631833 120398892 68083843 68306133 46318452 471313896 862840680 190869364 673263611 382681092 309107745 758135822 235393554 450030656 184581128 937042186 102267646 658456723 597553213 324468139 834289122 791058487 756033765 630615388 815722598 371929347 78378219 196839028 459274018 423342775 655329826 804737988 906032555 334250202 887650099 414001874 932090614 138952112 270360033 391727984 56977790 336111602 50990476 522962222 219819464 795403543 209838430 482767789 27921116 659080014 919499386 859975511 311875420 274232144 704461978 900641162 270720595 498813155 816980890 303514519 338019023 605358214 890298291 249533552 963858653 552450338 230122204 216780171 684996413 51964620 748215454 516242861 108071834 936388945 817527714 526815997 349800072 437853527 871979947 455226116 461740701 791728350 144752753 975883315 825380367 400607897 82645209 104635060 261437123 426155927 971628121 173432682 232501003 814014489 256456996 848690511 226783302 789369992 337821248 386794943 821686720 522240445 49264686 866563854 491805036 320897797 808258476 457357557 490990033 93519904 541860253 491537140 234740614 57020848 662085713 956889896 599755241 25812159 721835299 547691348 337659879 972670342 442742514 296249248 589983196 210817304 952450118 719607688 831154566 75783 108190698 644841053 522653205 810873855 275530700 584879510 330944576 807095431 819390750 772283032 100780053 696434850 549717231 838422610 96533704 366294357 529692509 739303495 983668618 244461983 106355250 760394247 360713332 200477391 957844043 206260237 913918500 758183033 958345672 131271527 930563097 980440785 839721189 422154357 410376897 980825595 385872655 59125564 717960171 214612057 169841410 409095534 8872532 379658600 31029458 608742062 521957918 765007094 577327172 256853647 950889451 475968841 855283573 666301664 783806724 83451609 523334925 761378514 46030153 540431706 370190793 697225759 585021694 203389203 714016797 430464444 756806808 657404512 641789657 579143876 962590191 369858379 682294529 215101094 255344960 848763835 216615620 112066241 566968721 277595732 383708043 583881283 377428371 188735846 338493325 605887123 282916881 885550138 440884950 196971103 628375400 235957492 288596977 580110329 413170210 147600988 638878126 888929222 359309499 279585295 482854887 5604104 484506938 462856156 127567569 732408572 732286274 555156897 466882873 136048309 67456919 447912273 710649758 440205455 816501582 162559136 225251378 376363162 134005543 347967004 212419646 624257642 499357948 78321803 985710284 157200206 567727756 418374913 699173066 682010993 472616860 695716061 345601848 456504718 615734328 938894304 126348491 863394283 447602927 870605558 471581160 841356438 745589588 361276066 223356536 92908247 479880953 531807620 717088143 807924840 90674873 749816271 478970571 962206693 466916079 394064859 854756260 883157718 211661242 115590067 760322912 873225405 269751155 493031254 166349150 43588173 74181013 881102240 217990612 394643286 410898148 903556775 259726582 751607050 377387765 248205498 872352276 254744183 805881261 822358969 846608773 504988939 640428394 851338712 900263227 297819716 726443914 106621795 679367454 21856211 636820627 937833153 358347591 363851432 137098627 637904150 861950770 519371356 473369097 71804244 2387772 451240627 747063893 598272525 347927867 832401087 498639895 239714237 419540951 265348855 598924039 599429138 330568144 54353372 788683954 617487105 732876403 911298773 42753226 148713969 38912115 475550579 772038116 985029601 75710473 997511638 204161955 172204312 365795683 311778506 466879710 763856874 67034597 603775640 981243905 469596010 11422961 482665421 529361369 770863951 460607697 960014997 985534280 46372630 394075119 791189158 650104834 762913659 829112636 10312415 707929041 925042375 854874409 236282386 212349524 855544495 681136338 300893833 943063767 199823234 32926804 555384445 531806620 14498081 207635137 988083922 317099478 265721679 452794350 358354607 572377271 687988266 897016242 297952687 490519588 224552417 852672213 819302606 196935949 139632529 579946292 576024404 943810244 501980479 26798768 459730098 25833831 282954574 797202066 584074637 116425713 747131634 26285445 463092546 229046993 203362080 126154835 271379567 980885503 942829673 127826948 643134202 839377163 76506961 540209113 804447087 420320969 771299737 580201978 643663856 483156190 522881484 352689208 943013838 578472067 795129341 361601651 299526489 977468897 965452441 842246628 332634232 99534663 587724692 700462851 994815094 548406456 27558384 991048005 10630522 467625732 383853607 837899812 709750322 960423163 839488023 292082861 771433944 951306956 563656472 553326114 35586926 899408924 240269765 964831148 656007254 715114776 789951277 745806685 429412797 566080545 743377746 135146253 835943197 228939460 994123546 178675597 547398558 143777711 653791926 782569043 594352019 603649244 766084537 884860446 184790161 989196157 923658794 399579330 883740774 212593345 588760594 844729172 633117458 341833033 293576288 655767074 314852787 189652625 862320231 662556988 604304246 421069914 551744164 763529398 925158857 920437864 280989072 213463500 251108893 661758125 928156551 8228322 583401904 485558293 324123705 375882179 526560904 468084266 332097120 325374733 370247471 222843823 465214129 220637484 398568884 69345438 312354371 998574206 983413325 419387567 918551436 288426062 363429019 652794478 379357303 579726859 525627767 315017960 542927589 388911681 889563608 435000985 746935982 789305629 702948573 228856110 662905258 100342375 876435043 497552022 720539638 828968650 186316128 756450738 609489422 379432103 923500191 335266884 388444528 519194686 572818194 410294382 9689008 123632184 560120011 130230789 757764150 912556271 420321884 584042915 614993649 188368378 471189192 510652647 692121875 347453215 468295466 640887389 676838223 611411938 509168935 952366731 418796578 663942769 85863685 567055327 988178109 604885590 438565168 765402429 73807885 550741190 648597837 282963972 870931696 50986675 646859804 828493572 502209728 433463269 710406829 452734010 829368365 43491674 77643000 302987135 106343963 551597435 821529268 83854377 236267926 762478835 626254693 400921739 268525730 916114659 313230464 558678492 26587456 966116523 74364120 38565047 962846079 430195573 627892155 85465903 590015313 560188637 957715808 753919016 656062022 50017832 961513607 243046708 886809610 143833244 545126352 140168424 12963116 553227285 13051536 678828852 522684676 411727965 364531529 651052964 847220936 221962492 755285361 373569996 137046816 326402349 834462133 77259734 542904508 994862666 776865428 693521204 133808103 919842892 615597990 163227091 136456864 60365148 359289648 529558014 931812586 99934613 288622201 124917231 351783438 334175378 854665658 790515331 595559456 73700349 348502653 956321358 402886306 561350863 157515706 502947014 264275382 270139345 641418842 584664204 603326118 419556384 949868034 475609308 66506948 368487304 900048086 896582546 971126720 897261626 32386947 478259300 625976288 682622701 477444529 117550774 10176665 840363807 206977709 944854048 646339058 870706031 498012331 930152622 103427592 737161013 395643306 182395459 2663135 972514578 327217757 980207123 34179331 55583171 317531098 672079315 179358360 919375604 565199360 976060708 248921461 636047267 752407376 976559592 982506869 50750259 809640892 738372295 301983173 154492564 2286491 30787020 963589552 233396017 678600540 782241563 653501879 733118467 908912144 88827332 131061857 452295923 191749004 466845161 518587407 316756781 293277743 126153095 642478911 941062106 494721221 26848205 14850892 426096249 872328384 149029018 309385571 47340258 833279508 898436187 477669833 159028002 422050162 299804018 134961450 709500799 887404226 826723258 246233873 875625632 736824936 326792821 288981435 84028499 986189075 374399737 222936172 815096847 13792757 31845803 247884878 823356831 414390177 919763934 968081824 6412205 987778163 346159545 768096166 887117780 5923479 291362003 422450700 254076854 312184486 980888005 75832191 240441589 851229089 125256204 858285173 511985292 611034103 784999140 331018574 817051920 988383118 517239996 739943219 681428080 482780395 332394813 569148796 982404656 663469196 149372601 182002430 222213646 559543908 905884169 573782211 196059588 869711784 962028936 294977442 431469798 530077959 696962620 872287044 552349280 843049971 652157491 179567235 228424534 934950017 968873642 216705887 552931255 716468974 398942924 516872216 524898422 43232359 567733648 409023531 680909576 713716454 225946607 585001561 983076165 668641307 779377589 879224357 463624429 163656631 161206972 624895579 697543381 838242653 261839203 897685934 998770126 314633918 682374608 910036960 613855376 713772399 555561827 910404013 122397020 286262660 450788062 648855896 601329969 494923294 774966554 374898056 300832122 83754619 465339699 520354805 69528058 715833543 664453194 904866269 925671542 475494026 779082198 484038481 468577862 452775578 579319593 922811766 523883576 108939318 584665858 37647506 857322336 627483955 665163836 800392129 4326102 959957168 199467935 500980158 69350453 208258708 392865037 761892491 400776347 522822611 347654014 5967666 270312215 578591526 263342951 155709745 270506653 441546019 387185667 315795108 844663406 800311818 449009006 922962255 894934706 840822356 529454722 221546100 399010179 247054486 560148635 115648915 528012234 740911242 122651623 278881456 602322510 662151297 755595544 979464044 862896285 483907708 678485281 549592005 881702820 532152142 845654029 743483115 701590545 909785460 449189577 785217173 533210657 596256270 640379097 993227606 289833982 624937989 163014329 587934615 75293622 865465256 818789427 963203487 871077653 934579592 639120416 362526274 485173683 655989740 279048573 614423654 875773558 499934366 113636057 19165091 192579133 985612497 973785405 813400617 994253405 627361989 296194876 177967066 634237731 197030126 597026550 674618718 541459895 65798808 743337517 632985176 647974405 274198772 148365056 251691817 941390761 941139484 199036257 655481007 790545728 923404335 642280814 134566689 801782131 216544131 237659950 660211662 322546820 961099811 582313513 966106809 338096616 291741029 462036129 269090362 888088858 402056911 176494098 355874161 829804417 470857937 113243905 71144862 965420410 663329977 539379958 642363552 740139889 8071071 887064207 347018354 68799454 421090861 874043948 699894022 343900749 404491374 303009035 307143786 993532517 206935919 497745300 832836736 32513505 515912334 748307386 916939741 611092358 429482745 572698794 172889986 829042543 963297936 357595347 577209889 483947517 38449062 334793864 529223125 887377398 995301058 935279829 366078869 701256212 672154160 914121990 749420091 189110363 609543462 218732881 251194615 968084542 939544664 504757420 480330135 732445754 484735961 599215367 857669610 971274885 136412302 207276760 499155261 629215596 466326036 888856254 66911983 66869388 801816081 730129880 957262727 646261213 8891398 810462301 499455560 306979000 232380209 964459717 849231587 638626140 55424125 399471695 848571095 33713392 233163712 410097848 525590311 511912300 672211881 241219674 14563386 379474034 51126656 296000679 158822281 785427979 873034032 28570829 255891090 655253558 649008366 736969285 27490025 596440693 622560170 619040241 927288103 293382037 308743739 109139034 693562195 375529328 600909551 601768113 345279493 420830109 996232641 282243036 340340450 820095248 554440249 746270662 121888982 593464329 176547769 959320597 514874631 783605541 558111815 844898165 891742233 243238396 391335701 229055711 613338751 854936342 995782094 684580280 331364009 155945579 430577681 78758707 606596959 436728869 932878593 503813580 378322948 892951324 359180238 205541842 845097645 414462371 466663519 505679889 450292796 731657743 700512287 959757437 678047977 461576534 946728446 182179725 156159832 374271327 473188396 430541875 439384752 896800465 141736532 206754482 514842749 131914845 70826493 446912231 164412433 567966392 160872645 379400312 627279997 372843274 87682744 359066374 389717400 136098335 866976399 743845262 303188527 641509254 995886704 981065391 447338920 328069004 110134197 980280264 117374890 170452376 863044086 809367020 387331043 235590093 958254415 974198844 340227068 611386631 524718182 196204969 796576168 438347745 977495848 820058966 129465358 722524082 437434595 141040482 229443456 540215601 375766615 109548072 647841748 408294294 315880595 381437978 834217385 261692729 513048284 149831770 7752847 400389347 522952999 786828044 546724722 816251094 127737914 357345094 424483312 360936447 851090429 811770234 916153901 293120784 498230324 1539617 213365990 189877385 864944226 510457110 978642888 12249082 116133385 673015396 213944883 960943294 635336294 49624677 33198686 437461094 917820478 469969067 107699249 837125466 781943597 352503998 141962599 355994039 43031154 829743514 339988441 783783907 129472489 395551508 658671143 349482329 45671438 102988233 289412794 216142577 383224921 205965523 139116668 584543516 373344307 37717194 305984178 777370422 883343372 571313257 575664221 749433116 371694369 495523682 384819395 55365431 879585633 375848374 756054857 949110583 737715364 58296238 31277564 483877899 988611706 894988473 193417493 209335254 384920092 167157068 387161288 586586054 530780173 104625871 809536023 37579442 885405894 121850729 711618037 825809836 949011408 508824741 429866710 639064503 171835745 790932044 734858073 306384186 666972247 106001307 817754642 702645404 281393011 51019590 572886553 872844190 477905092 463124715 910621475 489812443 810891177 325633247 601786976 27916672 493911149 190869332 575311685 323642525 868814693 462335876 226132680 897113214 449599853 418204423 283969264 548738322 344343239 867335329 348761528 87258012 895856141 814943806 577278660 527099278 837721246 970074333 492635615 531152377 886185189 66062101 984445136 918679899 945529708 146863990 909062533 306140091 331481881 226747820 87654989 668591748 534682687 320952126 410718076 801211216 734248363 891255787 527854786 459232365 351081104 920364963 770953298 50663865 478376303 422762490 897026898 44381197 614982075 568358831 906001815 321536813 42505810 820616041 15537241 921679696 278000566 883524718 971653834 63452859 719177157 471180971 828375553 722719738 208084034 410052006 689202142 124569336 283179678 949786184 374634504 9829656 179695850 401730058 997955353 462649882 638943141 872413674 720506920 824727959 604436467 39459546 204682273 79404682 841233147 949966756 700040367 280522169 211842117 972907817 671141075 21582111 454316739 569322589 134199889 718263193 835389206 992024321 891601498 751628392 751799411 89428434 107044153 877244305 990143599 459903481 265161772 502070384 263223502 306760657 523981956 278349438 219098285 590048547 153152479 772329754 570784679 23243824 581666442 795669825 546374883 260995741 454708768 528178605 865671464 817988583 521506822 350676930 968059336 297362686 576662540 209946021 546650168 33372886 86227145 93251980 341699745 26345299 761059736 335553287 266320923 104114340 871850004 412358585 670075608 478254713 387270948 179167878 637031864 660175315 698437506 806866556 944487191 80846414 833900466 118584277 507171349 464292059 440358881 307890012 610151077 237766523 566386282 14173013 941435160 236616843 224276741 451181347 676803356 98997597 143128552 252154831 795282001 71351360 650572665 602648864 83434193 168739003 896145681 923731585 304683173 369788327 957606284 139748802 139399873 838513313 956071105 248478635 614210482 122834951 437234481 946828854 948153333 959990386 623078900 30989077 113316598 306858495 669492308 17075011 898786203 725096379 842365360 419971927 5148846 970137539 996859809 146828973 110246248 900388530 339073148 403877219 875550573 660302669 352663052 389041556 671918901 73605614 397278920 320499920 12903602 361848440 96802966 199690974 590925991 657826271 581858613 186049534 307393816 288057280 723837687 82516254 641817605 513524766 632291292 305303316 885462036 93341337 365779809 895015064 888932126 161531409 566412751 450713555 112621384 53269798 165536796 24808278 310689042 941075976 268299024 764884101 210456247 583536323 124420572 381723326 999801495 3263271 293391233 265239993 210275738 791296833 250631491 983066898 474922798 372642762 201371967 25604854 938777262 556880581 384624739 305303737 643509096 732303780 449834336 669037628 592883914 589592307 865696138 742386349 671488742 426250337 341600035 965133736 449991199 612563488 645145576 827745738 182599538 510890318 407673412 153232074 682944117 687923879 731937489 775696442 695848603 530510795 304592977 584097268 954988373 272762876 629328427 854006125 206291698 856539350 431306158 560486189 808260382 784872512 264619652 179281868 36009690 756558592 530328336 949272981 141043238 36107284 378465274 514813973 102469338 237105462 482951396 868798364 268961429 25682093 904032181 792799299 418500473 88056283 247736900 883062207 298070601 809889875 326252403 372951875 818109853 488149160 507766064 733606935 219829189 248408776 726430637 327710097 663257566 85278449 931402218 237491828 207404363 88428579 604327052 703955915 821538990 599391602 396253275 984851149 547072975 832139985 939655054 134042225 895600485 727891829 418352021 16984920 353379633 681153433 225549197 987838800 914513536 195660052 817362681 157786316 459557819 348643978 412593465 568972349 830597315 639911875 386285894 97268704 346993229 783664652 692625559 712013205 872709314 887866031 532783543 752955051 590498835 14768973 954618516 602547000 30491840 443018441 178631471 31403401 234100127 276443158 582531350 104735265 907507931 71705326 357164599 263970123 980555725 142975119 825943144 282071037 279609450 17027870 791406494 229031282 967248221 256905916 248227460 323005896 553081196 728226415 130378865 671087122 114992037 571600356 473105492 349125543 691588113 983128918 814892823 30213587 281365647 362269744 390259182 969856770 456334318 859343224 241490580 53127039 85946082 798924513 333717851 349136468 712521553 552827078 620976690 468189590 943159898 614666212 785772777 312211128 58599807 105556812 252748548 535193677 994961090 676435874 379843996 487601565 814516721 972902350 341676039 698656983 826008689 563036397 364166562 203046488 332274504 839357140 903022556 486345603 125194432 560756960 63686661 881787545 644408997 464898837 776076082 822964023 537468536 131887475 689458447 314833128 581622164 551354522 6798590 124143479 49139604 199508874 89495160 836556828 272743618 920585613 493413961 274750463 505469205 618456595 167965561 451564788 876639229 406273312 96207808 798097113 605907923 996587103 555223830 343842460 526373372 597365300 759757096 384972362 892799100 406337140 685056118 383054624 827202213 260293850 434455323 439248880 373889376 634818672 550336904 415528264 138102870 237841403 818522479 533782418 500555709 922107327 686478460 36914268 534161812 673246951 864540718 713967120 462309268 45000970 149962090 32628616 550821008 576354938 622889429 526663822 996437591 582994971 849824918 269652484 124347195 546114761 122198919 949316167 337471683 344270397 861764464 571277497 310023496 490620091 326765040 150752571 174620555 261311336 480779399 31322551 500666143 645997551 114055776 153945159 380746634 399036436 637568874 505281252 915506537 454089239 472429084 472236436 338236220 250712775 947772094 599635096 663268992 985152925 415808875 692694987 704144278 595831465 644956864 952440067 32125316 691488466 695950549 717277897 127789479 711702383 621228741 853801446 277248815 992550471 974944228 928511740 573166003 248867853 873441335 546214936 609776568 360689956 771636337 23459208 21731343 4298679 535102538 361550613 747612292 351993599 317199560 441954175 974688899 603858004 397758065 451165409 441658863 35657118 322699655 844364847 906645808 827940567 254331041 691443120 336813677 806455785 515907010 67492476 595735988 334771591 779059431 4410468 522542109 350285373 5474164 799298144 930590008 356843803 333474621 857480780 342968840 891449556 306036868 674550450 214372203 622998074 655857603 407702872 393671716 480165938 314250063 96444358 71010266 40037224 244369584 761177111 668683538 225907475 671022391 111258384 717106192 583201340 298646220 700192041 917915786 805634065 994123559 963737315 155738330 409976399 671883893 268744534 362708529 769295695 677268646 366266876 528699937 490218165 149590830 109189676 618528841 628079707 661419676 779051890 968249121 623302360 271749031 440176740 47589968 636683439 400146806 136228739 968129942 343901679 502088648 408076155 166476512 539461700 350176348 828350971 539174183 727763767 825903267 403223838 396153226 216980608 99543256 297301538 203738030 548953169 91437774 343386722 335822840 462730390 959923566 681314872 393310510 875630009 925171010 784038226 46558956 423900642 421417423 793273297 947430648 138159934 708852395 702749190 371413424 215505310 293032900 678553926 352013539 767441144 819237636 643697156 275475582 837885258 528336021 735012519 835509403 806303965 708638538 721197023 796341413 632365860 59828322 678919735 778672027 492139590 930045109 535612889 103880133 243875117 539887045 669810561 884583367 490437628 103341094 813001117 605686827 541814146 1882367 94722363 329564399 954302550 343095168 934736214 607066900 756439514 999013625 800734454 324828703 943352077 882486021 977056365 542683580 910170451 624302863 759469889 88896590 316438608 857004607 68275805 444152488 104399476 468365926 839697234 631357884 545064854 467093286 84125943 355543516 650376410 364453323 105556054 687748040 104626834 145820500 934047309 853046045 568218844 744526872 209725416 104881896 766298420 169296385 181452929 25931517 967604441 338347892 792648977 867135293 805975522 197723732 215746592 279662154 585633922 257094559 164597877 66999248 387706307 258716168 386831625 928515821 423988313 336231600 928618635 768289239 425263180 176651774 190216797 493041053 133001732 477884974 269098272 917955696 629175047 53766990 152530308 848818650 401512557 862957793 90337947 849003567 705556882 243059886 942979947 732911835 518970130 793343371 155569815 881388626 478930156 825210166 591460550 195900176 845475079 241301101 725499578 456717064 24180363 522407549 416651236 881253693 475013155 145203811 141250113 637504714 370819361 256297841 714571338 256099121 320215040 831529842 125076002 707162476 222862894 823121976 264398599 404502092 934922900 252045230 568621072 753007566 492019345 681120153 879626236 140371268 113753362 144131059 329727789 877564890 940566251 877261996 797863599 833764723 901443512 2907004 239343053 237418 762582303 267240678 941293394 190820730 440308444 434761203 403912438 290091218 778505795 556444421 590379374 628871932 766055651 165122160 429542996 89318106 211680197 396322508 559320936 762257014 577098850 545499205 176256750 756769087 494270021 761774040 230862520 86287722 994042881 625421211 959540732 46470293 684524432 456854153 789387715 609172052 606738210 431392000 771875011 412368311 646568690 745442827 316957391 259111115 150810870 885276963 983961246 309686448 708275412 726127333 64275575 692021588 275202616 109427601 938700472 671648043 396005772 186606657 766107904 171628892 738974554 579928712 507108277 69966305 664550715 397850482 582174348 567665247 210799945 139707484 169313760 921718637 263023506 945610244 787655063 353401308 373939672 277216767 476152044 383630838 929241385 108598132 355416383 416808174 173044987 200879545 998681216 197690727 788778188 754641159 93691708 868748195 489600415 34119909 227654894 408143967 673265282 822452381 620240050 702176243 112408215 740077181 411069835 637801037 231218770 561619309 119275308 91304862 306404794 2807364 492170579 540439089 421344161 18137384 684599183 986872562 830093090 564060877 178389347 973450716 227689290 764831744 658058992 355861847 455373480 429355621 501130469 757032764 909814748 687505315 942239886 410776095 531200103 670192904 873730221 527257690 801197680 546112403 683887354 690046572 346299643 80488133 132172977 873128118 419925158 188044302 33758585 344558907 534346841 124478459 559547709 929294953 545146425 140717862 251803036 961685709 567506758 430046076 145233018 57093521 619202235 841136448 509592087 652612069 999603671 178145105 892003302 491166207 558450479 498739101 79901058 76514079 280871325 344083807 951673404 770051259 965230232 961622433 648481277 985990817 322193293 125443550 236957283 143088421 62822301 113249532 557434532 644414529 318560386 698807908 175009470 181988419 316780191 459923598 217858491 406402945 548353818 228145427 197395015 829915364 595419452 725765872 991778110 689840993 98566704 104643821 193885230 113749098 908398628 503572716 498173039 596750997 252200375 144831262 29653434 246801868 465647267 169994603 703438966 534140868 243244402 765512478 134046908 481262987 244390037 387105668 360841539 693512070 776611836 401450233 914441501 963110731 360545316 823035283 107808180 669542279 295586601 754081157 526588646 457419521 326309805 396629830 436770603 435786082 205678244 625607987 671973076 158930244 131667159 44370296 767995478 209256773 493579177 741326371 630148521 726127965 474945171 304649396 354784494 803774896 309545747 456101661 310279446 465063844 786895852 553107057 682637809 269103492 164525223 303985178 479154954 932454907 895994302 957162981 671484680 254617065 325118615 990166889 951926804 401706675 251738875 473370147 108765664 731251607 304381274 664410212 950812460 123485900 203968904 174812924 346753548 615024426 349088240 522523760 244887214 37398898 242076280 701541238 428292230 559683684 368474381 387078373 185062955 946991802 682010202 620001609 108682265 886686535 917970091 369072915 502953668 80652167 285452875 39094520 281371608 410276728 335344029 250168544 287995187 472407880 906631237 327014443 490114856 537395279 648844319 110745564 728438598 984221731 932672835 362188729 286138028 363051520 342538674 513852398 602078114 918950338 886141137 829097674 348999426 975529986 153756768 441565028 326001707 622379062 24486128 174976753 50417112 662691741 886977832 224455098 549972648 144009861 839770012 496840070 6903009 777368039 920177835 315348822 217283375 337218773 232945788 91495941 292476026 643750167 750031115 584661476 945875982 212005084 399909003 694645803 489426533 236473600 324342885 67528275 202031652 721091398 639042419 541488058 878128442 758455697 834063617 824227599 439598968 54721525 444875880 812960799 951507916 817347490 308474920 943142811 145389011 297605412 394510105 373426656 345489417 776586586 398280256 284854043 755852334 875329835 291673468 385890484 713274035 485000499 528386220 695358608 521741919 412622232 13685199 813152221 191955202 210491475 504256807 989051344 945946376 909579716 643712025 83678167 988602731 361316851 929232427 937629937 126816039 6164635 504129177 815849289 53505539 548404254 9377946 484832137 320167971 68761011 545285195 358856569 541139196 398252304 209685884 356819918 624806652 424515630 776159179 529732041 605483771 373845487 210091068 377725061 914654666 162137018 923549706 522759770 729262319 323573599 654188898 698202009 926375082 915034694 877133753 72295044 344906384 970761329 192903208 576570552 369529346 574214510 595324609 282911508 877162616 37142425 45989202 268868015 786100445 945463477 201609707 264273275 735567332 513931253 799676785 629168781 788505124 817069728 483797469 525250919 934934339 689009667 619667948 483821254 432711235 845182804 45066098 995166890 23441806 594564728 506167944 168896993 769078444 404813887 122040246 881233151 119384220 857697203 766599518 697130783 631351790 830876973 435381864 233546520 664531221 588087099 103103193 983931758 926602555 726699548 201504077 523924026 550979529 678359698 269273143 779824494 559463850 493356074 96978083 270595464 263256597 248219890 190077129 12153123 429619625 801077261 913492409 465234816 415480190 4917953 496162989 903913364 399336263 559889106 427446759 446611819 461149850 879266373 730376696 375792945 74667139 212544923 847969234 670110201 912238485 111812307 882881803 747895805 831136514 881791947 681657876 642424495 146915608 933044576 128483336 242189434 616837462 615538473 743220220 174354953 145455502 624690331 515930667 808988708 760319445 408245802 39896948 26841806 184250707 561481797 620446574 843985201 895401174 755601188 667714413 962113445 900684435 473468740 605156418 332430957 534219088 519188622 647253691 502087458 693139994 840328401 636749184 441132834 484034246 1526754 99318228 493731817 951868919 206750271 636366512 589065872 565083246 203520113 112045400 679899401 489163918 36189304 988583269 279226922 88222636 625913819 154523668 567911131 448917454 720838592 182096208 375652290 250475702 642071687 279488960 424934390 463268186 256464788 817772374 485642649 590863077 291606628 121538769 595944266 889213910 108958298 341727941 219509179 60600919 845803746 794907746 372486807 803073250 218946721 197203167 460761082 976179086 466958608 940790556 764676161 556531999 748757250 68706005 527523678 544690863 94176317 170522474 113704418 853151264 757661296 220103448 433643628 714370159 511871174 653160647 351631313 469324831 152887523 126805585 361070187 763656377 666748588 568229497 68143766 894000266 110115258 44098571 210165473 477288060 199525694 103064172 479458247 554635350 22371240 708901278 854460247 212371588 766397231 750306852 916215254 863887397 118839756 865263889 791544036 546826813 474539743 663292230 826949539 33684500 489822534 232556844 581239680 311614246 588390833 643516472 44420431 500348080 350194692 297531925 331917920 955840757 679519477 309192133 567039039 839310129 141935726 143030481 760819340 755558276 437824728 444486618 994745693 590430124 983951004 442219028 415356464 580563822 66234550 391335073 794721928 500972740 26373326 714248010 778669716 163564757 147435489 966630199 150027086 573764284 426547902 281241397 462949954 30613105 555562330 209598732 437541392 60639740 575475167 914904816 876168499 656566556 502687508 25347786 679430000 427840476 162855888 328298075 335841157 564708351 368742089 749252475 366726225 579245010 86048933 754887095 364574671 704743993 360541356 732927073 756021798 690401496 229625662 894408369 375307728 327250615 716334579 692890319 318237630 858567853 909430002 360876994 4154806 697656442 710791837 921867991 780973832 991919155 171006574 537627356 452888569 329743791 391036620 640829763 566034020 631389377 658417842 812247140 792820705 888380739 637688779 476578375 249773065 898071104 709971829 644214796 324922830 879686322 512934524 905533549 293752726 853628962 982394979 421635614 471347066 234834052 97661901 737429801 849552133 690842418 971858187 755059762 407889810 424181144 627595113 440892547 997070487 457780915 109988015 939035926 161189540 702417386 359955118 913743797 601673746 613347394 556872907 484355770 34754728 374215322 646631949 785034061 187227928 575986832 648541930 214965267 795151695 14657880 71532710 911525559 237872236 647815102 408630503 542607478 678629181 112199729 643530576 945991942 461944084 736096249 616693427 893213487 180593561 485270928 854416884 569705582 842376016 483570682 413564291 12987086 331510733 923908831 808327196 168522001 779259062 649649787 29750317 71173362 491130313 440401587 488514575 914467618 567478281 355701535 504637913 778372389 568532303 525786049 399024518 887219642 595757920 766365038 117599833 38096265 571891691 371644494 365989011 420102101 140235181 654243189 381121560 817887611 944922049 996714502 745128888 480383422 185678687 811932149 359311677 244801315 909343522 211713420 472949671 572827356 202337730 490933535 898554930 990933341 816366532 413875780 797337883 410921671 876049869 691218480 100905156 878700664 938634383 187291261 656266268 73985479 18704327 428693588 457092128 846681201 627842228 89209047 661757739 63941101 24768057 333326997 269070703 640511848 290596038 585169579 496815490 461932430 440186527 1400318 385517509 895557192 159441986 509311859 933728317 93538872 524063004 347632691 889002162 218938441 370915151 383031765 717430211 816816667 25480079 755757939 263013447 147655861 885222558 285820937 84796467 633241321 182279146 285293690 590963020 465135470 47930839 537187550 278196907 402761794 299261815 622396093 386840243 515750378 555197252 397436767 326610031 934674329 597613280 688453171 641308646 310452617 799210442 26190101 703744006 27087335 629306564 36209588 634981866 251703399 802785789 123997299 662912349 452150351 895902627 740940649 350356352 584117611 64939288 922791192 886141860 364488156 605652329 297919089 402563691 718338346 861275162 53741462 656347273 702742874 801176539 233786075 951614780 781253353 740677119 992357515 418526036 634654728 578474495 221394657 82821904 10523216 352458417 32815127 421301549 283417475 274712864 254309161 920769913 855971973 2509422 576337803 889973605 875627903 413198124 710449654 739840334 494455605 602942679 292798047 258463509 695516053 82561205 729057449 40123418 443711472 526522680 446875745 949440080 740555723 720147213 703151916 426425736 815420130 339823715 38603054 79194732 731449634 560399774 677553560 728996174 949625566 717814825 335640042 799281201 205597631 339281970 19921941 240941889 854722783 408352965 501400664 40053453 291832119 319072106 71418354 537815404 989141367 911251588 354705784 350609689 142486796 720459516 643146633 660303383 6534009 365567366 490228565 325441704 769060192 631908601 635801769 591932568 762633811 247227461 514221 924928809 738149653 342171086 660120117 851605263 164060988 126797541 695217140 120622116 330638872 925602730 600809180 489598067 403992048 967315052 126104256 936669007 194401076 430667286 317159992 760179285 16826235 466488605 967015360 939409238 799867180 484401243 63366795 235688985 327102503 449319764 556524956 30299282 146644932 552614567 647231910 22080951 564787812 926579528 858868815 453716726 693648704 312564671 338823509 836504224 415400080 799005909 311780032 730077830 131845170 873765102 38778688 972443855 635884429 82157289 717775318 242128405 138817413 750033629 952782969 971512917 682863652 831988832 90085012 872956625 656752762 239603898 370694218 35082090 105696630 353975901 589851649 716141421 859975186 106577973 916641253 776204380 291155234 182784044 384845154 791420544 995357886 562324782 5208714 407809510 122485854 677741973 562349130 67470088 569482625 13469056 524207820 652399571 679311997 766928503 443723650 770729476 809182697 647799555 598463346 339637398 648529797 161868227 617652347 563944898 484831898 696320607 443637402 294719371 529575120 333125875 991219642 430807384 325947274 9570599 761609706 538031618 867898783 428273684 279882310 960197029 308982718 600973161 389059198 305815467 628677752 25583496 531233358 186979563 847191772 648763129 900547506 802010060 231074664 460197942 544423253 868540941 262786586 440914364 345308346 234818669 969538925 855417347 259271783 980193039 315022768 311143068 568905162 163428500 569997856 379028026 823166337 459006970 389107689 19208996 105511742 124763141 117785081 25317369 282504220 334825062 295387120 564136223 929101716 432328580 174271614 711817314 589734494 126498262 569253700 336466314 978751842 987910463 235034097 43018567 434197595 440434272 648803016 455232109 195319138 709542790 120394643 917668327 764386618 215743248 960909273 368722922 235301888 402505694 867174011 188772081 535317999 530462745 674766653 938991852 267435873 381795890 895782504 57220980 536093221 99107525 436621670 362688875 520012436 446889885 839297182 579389839 179907250 505483019 282048854 998197393 469362750 262787637 759668236 991322769 867507071 744102051 270029624 233127651 586262823 875504722 923788308 932364658 330628775 264584393 498958621 780706999 177076180 150804505 552613218 651468537 516062495 730414685 506343932 158183228 373328904 996543295 283278447 533105060 342930411 436874730 891889381 927365748 185249326 327710995 526678831 387842095 875541934 409369181 829744980 874799284 292053331 81016655 288699404 298652563 759546553 203880979 151520369 783336262 688298764 708630207 503994682 16674982 312477087 397805273 388060714 79824515 623335606 898788759 813741459 667767297 616271863 817700451 212562667 952251127 890329342 457770382 99487125 867736580 674208158 948190097 48885165 753091446 568311656 111236831 620130716 825764327 47354798 114357065 879921502 34928606 729668255 869722855 220422521 77731144 287688357 12211637 814357009 108478531 744636141 942392946 837653016 530728736 215634119 421880177 347154140 832544720 686228557 527208558 802675247 375648022 415779748 278639500 18948308 244558853 676813177 269294000 602993291 581990225 624357970 535720074 273050678 98146875 521138365 515145288 594275372 984234396 635324420 101741010 158513000 483888211 666766565 131813437 126097259 467884483 295222728 454156677 348909463 862171244 924631210 305780581 973842246 324295565 511603096 756736297 43829752 302900751 223877788 824593748 743482405 900081892 248327625 25025526 914501083 792106746 726074577 558847425 653407250 449807797 209662806 555447382 368860743 986820896 983695263 930044152 152451226 165818759 2187230 95731033 10167941 170541957 455528131 996315358 628785662 577348135 943905985 319714405 111581530 478663284 838769377 986620792 904681639 649951473 684788828 447347469 163337218 611084298 902469670 97999818 572135776 783353198 299151927 180586863 234496025 762866069 810583427 547232177 888464341 260241812 117214694 603448763 100055320 607711303 614765400 226471155 45573137 775500447 939432631 392689309 13885276 970490718 262269843 138677785 446925060 207430069 777518037 831666944 105095986 509226 392107498 753494035 804689015 903660937 997020031 113242846 953104778 533799026 243115924 365427239 862944540 434808003 362149873 535600689 929894642 936150556 781366731 527873545 848662213 446967230 31501401 162538375 928550823 867202561 334426429 763292994 315648868 189143742 427507079 319308828 65054425 709909475 454266405 953492576 863202497 311064388 309360794 733954560 980340502 269767780 448435161 791754327 937043016 777369611 142548280 132677125 662489483 40350865 691496442 148982508 341141093 791033023 721082777 156862496 455788651 744457037 531204306 99874397 188226303 601461842 368811122 334146660 407183394 436108188 348697359 373698257 599810317 225209537 98006077 232183020 963023110 917618494 52470168 446882689 989812780 978010644 592112136 523265688 76910227 678402684 36803557 874854864 794987581 934795561 500051326 293747999 395553338 824247267 737331311 49627478 853413400 531639068 395597675 257806081 324766171 766947611 608894997 422134719 633628792 274874284 915583800 600242219 482625483 730588079 731579157 322730154 681769385 387250073 347740389 853482202 877616412 191254602 661811832 210902403 471333378 770539171 627474228 318235830 110901971 636407929 617330897 171790284 459254986 115037086 268181615 504257735 650657460 150742531 310031070 915173713 222937110 906310451 280698921 510963809 236017973 51485955 953255992 243603718 224776359 111754089 952668980 287703598 204056833 156059503 270586116 809229903 344554569 510783010 71216570 457909547 267004093 986457645 642797927 882498176 148980821 236217673 956699910 393003670 638175578 96965091 285519846 485205976 109855842 309972292 560526452 314709641 86027243 967009309 922510524 503283927 969300691 549749308 51897528 728401284 517149306 785999890 977765291 437602068 887394537 739887644 782478699 430394295 232939666 539231878 764346963 239424611 671574270 452574916 883983699 204262293 666963761 98280870 209334209 430065492 389026129 535061757 756769552 204281986 512373879 31266719 540636325 115748352 562081998 577018695 915633985 749562476 447953828 723341335 309938166 250732165 357643755 86877812 310402261 522364496 205817639 29372127 489033488 956529771 623644120 241769146 441841935 808515654 494536982 694422774 551679580 667403923 88055378 382779859 711301145 92707771 307803658 438939031 992536391 994602172 15873332 29901544 277494918 257444663 381773472 493432863 188687904 841781564 866410881 440293366 74593832 960396980 676178811 852421762 324386944 593285925 797940643 900440928 787787756 564818722 633696410 536436601 377859186 961794807 642968634 467805625 477764266 674688722 359669383 59933400 892269038 322507451 412266256 67792121 701625870 765378847 161463986 165491889 881837128 322910344 965006479 443924493 903097344 478980034 551768071 606697214 115995861 871503085 647208381 682227963 716830343 907429096 627734745 758328915 639579194 86052324 817722945 108196975 438978466 180308193 466564251 466424161 516146367 538849903 1000371 203420311 500554407 433176152 473734176 312144282 806600516 338673472 749796741 436884017 162624480 782069729 564289596 299671576 418141149 43324184 657284664 578319059 287555327 280739904 230028549 31813777 546530924 868191705 505905664 520460213 620039771 621434707 773581240 19375914 610174421 275241397 416292631 691101569 969232396 881869245 741371960 807547602 503009450 127005574 217190003 376115378 482061151 279248370 432200284 645228116 864648030 435028920 671703349 105724551 70103999 715521498 341351138 910395207 281324755 965776144 798511594 505421659 19784225 871089609 341715045 471833070 326740711 80514202 710775934 327461615 975632779 257823098 172005863 449196955 141700546 579899657 144870069 644010679 516403968 763118595 107521378 139942141 64156313 291916057 527978727 792977899 562354490 454308461 187547151 146054707 401908767 367260992 306834801 697617651 4516223 626509783 39240811 170888219 121377427 90843612 512248878 519202303 718779240 510117460 672315506 912585181 427829477 162592207 881191744 10856240 853588145 793093054 81774979 637471427 392756952 452941011 445502822 222546987 786035416 232393558 151566005 244637564 607162351 17651507 472428475 928887358 715553596 155563255 71819683 389802660 909914122 698598284 647108507 103738790 831783084 919728568 106728783 437051254 561697120 3544765 466883806 913144931 591228963 7116295 424542291 950712391 616465183 851182466 784797171 61510085 167511726 872251735 644019755 430069976 512875719 554981108 967070035 156615569 930612549 936753531 377668352 615293723 212142363 987001385 661622331 36511242 468972913 465416105 645145801 157821343 602594039 166103609 171943197 992046451 737590618 959318756 117602104 179259839 543152264 127014227 183278158 663365469 643228723 61835911 700452523 483415298 5521207 113633897 406242246 582531705 127545878 484655361 241502321 4350907 186160434 592184500 406319460 402240932 359840213 560235309 601481068 337681778 384815752 105764825 970516836 437055877 547134203 767611565 264952474 104282171 311760774 378461150 74650106 217993495 938302593 512229012 193320665 735930415 556709049 717524806 657221503 35429156 247541146 150847034 591579397 828032115 65331072 525780366 315628716 783350307 658846807 156713820 50346989 312972090 925900947 450115731 977723171 949977326 409125907 130669278 516571090 245063787 497497116 41833411 696138817 254515057 249036699 119228444 976782469 619692098 62859179 454799873 568221451 996165540 94734840 652954906 356968783 163141293 818483402 156842014 857969762 83351443 112402367 334902714 954629240 768362521 871928806 856206895 131879716 505844155 961961005 484937977 929964169 919394341 821507210 543636864 29106625 158693074 451164161 213539610 95739897 659429536 321516867 929426176 74035441 26908600 227402292 798879437 278209983 623526278 179107897 508012020 383824596 355552783 845238147 680897666 431904171 861841932 168556597 486984716 953836562 883682741 923574555 225415725 32143680 123444591 991678903 231060426 925481891 789423528 575617763 293878596 753834677 496492534 337416237 644696723 133271996 915490668 310828424 580911849 328144842 877416039 447808540 315580933 453694086 876940765 189194011 424549513 268991797 745629392 413026602 434133112 369012503 819731226 272177441 965242033 427230939 937507816 986066142 795104453 568467635 959217179 544217173 72240043 781539743 702644680 983491470 713119353 906148212 297062362 682424845 187551115 516688418 519194990 916637069 368342891 448338660 377478879 551625685 318758093 999392734 164852427 792564694 549104317 806987232 754670113 656697781 196933842 458471611 783477288 738469440 841532937 755820593 942270871 824520987 92097047 654668229 584154676 373394728 935101053 185968224 403162138 895511469 788463856 267849585 347836732 794965177 197491988 197048925 842907570 495309451 862089297 819223296 219194969 429100376 286537150 114109758 439193797 821590045 725910253 829332455 387982306 764884583 179169699 476929661 365445779 284154541 674478403 551212401 53276905 781935540 878664832 307299463 875042270 671425070 706954951 483477550 872945380 542314783 396897935 206831505 292013271 323799768 145538617 702658078 590311741 821284064 850075574 259671355 819315681 864040567 706408323 530259016 912599747 998421804 155511835 408100207 193614939 743841067 534899836 757223259 915888518 616478220 176158425 868558302 989793845 274457026 157347838 354212530 174775731 536951029 612906294 767731143 458295578 363328990 501447106 518991984 732517889 412082300 349853802 715065240 926391979 329320171 532742673 8386083 119608908 460227155 953300777 465294462 577324158 785858913 54039948 767419665 558086586 4246929 658007702 152876040 974207442 556430495 439507239 436433691 704749191 114639517 877581436 430314339 923926295 678538672 13350916 863652504 879780008 68548068 930313844 815537846 420859113 490749130 370205531 346027538 196260965 782262510 328351911 744164014 729824253 170057754 147940161 573893479 672624848 787738423 259127415 160415215 409277133 751612327 576745094 46205425 480534144 488038466 668204036 901347108 740952751 763313633 996254306 258143214 605636393 197994968 949435521 425447281 743682720 919055450 933427030 469361155 411894434 618651919 755112997 106703018 429770243 993384845 425066900 39062077 518363506 158888008 295838777 736471795 276727042 771763266 42119393 477575797 62826264 713777986 286112312 383644188 573126969 260082630 13241848 745853920 214819146 977645573 11436831 56268781 136514761 836979305 531429020 184140172 972674742 137366965 441693776 542243202 754143446 559225920 669219826 93613182 431332418 616246052 156070019 331410518 724988893 129446930 268075232 578000254 305255555 265491692 214178925 627970500 668983615 738930838 251122584 160539679 604210168 726797552 896262418 102628299 260704752 980759512 198199459 863310665 397215517 657587080 463158242 120383601 735743204 827708613 347951663 625923637 515124173 501711579 482084553 865866587 138322514 899287714 744868352 933709870 736839210 511301205 403051269 561841654 48015347 95637238 53389218 210129040 104708069 718619095 363288582 780508906 136627938 123266164 981358662 515663533 420246961 314370246 134998638 62495384 320269236 741016031 87580907 248138980 287999137 300187829 931759129 818488126 397616936 405755557 411180258 812386559 704095169 509879630 750576499 190583886 914523324 532827704 933417904 177679999 166484324 95394150 631505746 772264786 690057409 317385911 418496714 435317358 524084140 559013094 693442172 261833078 961236935 239763304 969958555 642511815 862213216 961474586 505565614 791790050 362705620 104881614 162441917 680084206 341369624 456948392 926285729 906468923 819407709 147614855 599539386 649676369 284582690 694938144 206014596 785933830 590564745 233591805 349302300 750140973 803521177 197240323 406943001 211435454 909245139 416377189 264338443 347988832 173714995 458065132 357355603 875244136 542760318 636393380 506236499 746086758 66967449 83883925 595060003 547688930 411719016 212769609 82005752 553505376 661219590 442227358 680471016 102134402 650807985 659843628 5878490 208366820 962087192 66176972 846438044 159524016 449808682 264038432 214618585 797475287 345739883 576774960 202358876 100653327 244621200 863861469 714008027 270406376 229782403 868646739 722717089 119230931 751569161 245925714 340039215 398160267 850648489 60647880 320675677 638954797 60789458 825798954 64073622 877796014 184840852 854258860 115137637 751523315 308934224 642888366 891412746 275267873 951982737 146937068 419799167 356218442 508411051 990702407 278080411 127689970 786408012 547240323 438239813 948680079 966784798 21926125 347257852 930619041 656483170 501540847 677685104 197827759 626883717 120681837 478788295 297078619 192002633 81521029 743932845 800751044 779352562 242756035 724414729 239969341 260469735 676047889 704441153 732886696 269331530 778145670 285948806 479050996 876777199 261205388 389404571 413219316 909922037 120635175 258308265 229296169 791360659 257015591 447342382 594141917 797705326 446103066 888580219 370855807 646750497 632832994 951958761 7249117 507482884 979535627 158016086 621401072 219029595 746629777 304804961 317069930 274519006 716852706 691175916 155107001 788153844 725970618 709359023 396939789 149218330 919953062 121058530 137884185 475200878 594892156 121211993 915428713 706506347 788001828 258211601 529042807 452624322 138877552 929946454 644665367 413367746 414094429 429900100 505771277 92900203 452716024 41441821 520480773 944141397 588095206 653158750 5681702 321523254 719812540 48969630 10959188 286529221 820795891 313625186 381065843 868077738 327355074 178487992 766341876 719964782 903585807 304871764 636898139 757940790 389016743 326092629 448336388 869256141 637672231 324593119 933258532 707566308 970637215 517679993 362849644 633640386 495259111 330533972 487901886 816730314 264312589 957063414 273641147 422619248 58833038 89679132 698890438 208106153 647896737 790274350 49512848 671300220 215251802 429023525 374467599 374373055 720112605 70723417 930726066 357925413 95396322 793785942 941324182 306393890 988533798 515942862 513999921 198023639 305450451 764309391 556453231 779899992 230179392 81941422 581249531 411838721 83081472 218875899 671176051 799683926 765203617 897376424 977147241 982412821 817296348 932329952 764204488 489865021 177827769 706298352 620168693 145726437 953118002 529277786 16518621 461018959 237150009 442830539 205198916 495618037 236910655 782869716 502036049 190642046 950770594 624249817 211335243 204063502 272774862 282986567 583579667 581939577 560781728 870408708 383891471 354594600 579102996 773770834 717032197 849135698 14247356 730380349 397706587 761877331 559256349 57699213 241491562 762010033 368897904 307392838 890644993 160069544 182210451 1874061 745289746 768643106 816540400 402394269 229479829 815013008 76156627 73157148 101884882 574817207 362419319 65920714 454128506 957438146 52346819 518395557 376424205 896127063 140664737 827529435 121899382 258150192 5416334 938047549 517146026 569621338 549158704 762871099 704596127 260615014 292968503 120548058 750033974 665251381 308658910 3020813 439631874 206226717 194295326 834953134 453687280 715520706 156472429 395363291 171771827 818081364 800445217 928675731 643410250 182878080 155778424 831260026 800421397 683026143 923284206 508277267 841855694 290321076 114960934 771176403 846546969 380497069 30647358 117003048 385065406 882320651 64578468 731032683 347468491 120152849 853389354 814490043 916537804 557804457 58984458 405550075 692021864 791842052 977333057 766468287 582008246 183146931 369175040 181696976 34859263 622791353 565548504 822579413 499524011 525869668 840776931 465594318 616357614 207726518 255240789 523714736 333453232 975031469 232301991 127865550 207073457 358078737 452450687 378975446 299519955 83305780 199529764 398333018 188317321 207614810 699008628 862316793 782844296 146805073 775527875 539314055 87486174 909166401 382699817 764916450 99164613 347061946 769854737 447716511 897382532 625835191 176846954 677141220 87126965 884676638 569136468 942896702 155127615 914437992 335717137 776381733 758588974 595336640 443699255 936262204 992868947 320507765 343790223 155695777 580499895 679196826 30966366 880724891 111940723 202532144 921152825 906495651 326624399 583686933 769601435 520650707 895238724 706331675 993278264 375614650 898791350 448889854 209335430 256829127 679011931 892920183 691800754 680011879 394353842 925710419 900795765 998324262 443530356 551904529 166260897 827394154 975118035 633405792 63759369 919171581 387293509 412448008 320206096 512066584 810356285 256278917 554971989 505330004 460157868 111519623 491602648 338735397 538445277 39300950 647052548 445626698 295355468 545199171 462188550 484085809 55026894 863465876 624417654 560591673 552934581 752629237 37674121 970534968 994385429 547199587 81543556 578349879 877882639 687537770 780282310 170780301 292261259 815790200 503387717 114184943 66359788 807738691 263479952 762870172 918269671 306994623 274450943 779973436 774017535 176961652 649744332 419309323 29897734 928649940 673545640 637815487 602270174 784074891 436519520 162222678 808081241 582527967 517464274 411451384 250546514 869594397 785212300 682655119 714316651 402267016 956320822 433242136 497799350 523221819 147164579 667661837 448534019 292310991 610814238 740172772 994759336 58012524 701559106 806494098 340926025 779981643 865887546 943835149 384786878 678170745 415317304 146136804 892291252 777477267 526650692 576661567 632933482 618381958 91526868 812580812 184825092 473293955 17573911 516502533 863143860 895558840 772331190 949499913 784828589 786244802 762718225 355296270 464072121 75382585 554094128 237631166 297333558 121431840 510988037 649382528 758284238 221621602 57513378 938183612 342322541 49358941 121191931 786218970 591577591 127647106 285100657 581261352 986330135 807033544 62855751 607800891 175214768 458867495 871461052 974519846 524782062 654709743 278676495 445866528 636275471 635384347 622428356 861502884 785862849 387281255 390499659 681282728 588841318 920774597 412048053 227010752 602195029 881813100 553902322 65966955 798047704 870953974 174932880 898315537 139696730 899548925 716539853 484661220 606250744 137115295 536709757 154388452 893146511 546752859 535277323 233969082 52231094 849394661 154793737 663431556 744314391 715724743 414285473 616400631 562512907 810562906 127879167 933487417 776926887 950378068 423509764 274899271 905841888 987667953 957117900 173586082 304453519 487332275 761113597 423399459 109996522 251488755 40680014 507212172 441695619 143752008 764439395 449915339 133464777 229353290 346757274 298741240 689795939 429640902 624126026 62382791 350614304 393033994 526765680 829408580 555576646 674325784 251308620 756147843 156905936 971877191 623069273 919513834 511719047 363424191 911801914 439772109 440308298 158101959 48829570 967031343 953642596 996271094 482068244 552297356 874848203 827621214 254370784 325293038 483469188 875448126 146468607 317165790 456644266 469643535 463355397 74667448 143556602 799654595 752747312 231057387 199340028 477312576 566558636 456477642 384510363 87126896 460238422 808363500 740105019 541677392 853965952 194930788 747110287 954865763 861707927 862486383 428942076 116614167 438315785 552116452 476350807 369347952 693053243 721610029 65227142 610174659 563662537 287910107 263575615 693879189 765749537 648381739 931037008 908956168 577651158 412791016 185354271 151741000 262308180 653731063 617112742 794921787 428332159 107511149 63393536 426142170 167506553 192424340 307467708 93611081 373931116 797585128 480646721 355331515 334207040 235636782 690074548 292661880 99580843 964777075 420023906 998184749 483083585 486633733 838175675 826212862 238004990 409423322 117639405 15553571 92289823 179927160 118616357 914079621 634006845 362780388 350281847 192727297 828664797 851811999 598533218 946146352 882667858 476062795 669465766 267696776 943731291 278234611 627593716 748656952 179598368 713406032 555904500 716966991 261352942 510598772 732385005 372320532 264098995 501198131 361461004 275384881 150400859 630411453 648929219 842656956 495009915 859678895 730953645 875142628 996781165 962734980 38105615 554904000 850345766 891860522 708932439 454348781 225127405 63669188 613758641 904049200 953347602 29544966 920405943 311608885 852677095 152497189 630013144 273717210 459403404 641390024 906513020 61484635 834441683 354655143 895307867 800247326 537292810 563158594 747625657 559047573 78332801 579921146 144754699 355039597 467420359 392525194 159426332 77048509 620164730 792298523 359569884 667753155 941779164 314873347 70387707 426689231 550795337 618456536 751911333 718935801 168310470 191507037 420967300 8192515 528080240 963045036 258720736 739252409 632260127 681283593 233576801 536434110 224551894 900507885 989625001 792284448 786973639 43388915 567410834 856174877 604770427 72148488 224280497 466641248 21544481 567490232 376529088 593619191 229421514 835975906 442226422 762453767 820067532 147225257 883124695 353575065 57554063 306583589 342704255 754134424 434547640 893896511 728788118 622102538 988644814 603559715 8543853 918035477 167325721 43991940 838405664 289132166 769559785 31655073 233085717 969892246 554389183 969877885 121738209 299157914 512981273 195706050 707416494 974926121 768880688 716803298 111088189 108528502 401198141 18003173 302626276 679422830 104586974 576236131 843198073 470244724 276591069 247567522 305884791 826179284 366058469 807609197 22951898 730770391 565018519 325102501 198198325 595075490 897591660 581043699 166667115 172507234 89272089 6778344 216772887 321505235 661456343 7457885 540662048 631362776 800705328 306624136 709982450 284824804 187705498 293701536 190391132 199574250 390830453 973238609 181911318 206284207 796873860 453589472 593979940 508988771 84853838 984192126 560616864 53758640 768185174 54264585 822195185 321427302 981271172 692971888 123459131 596094298 767764204 325388851 762858813 62152226 514693081 841275913 928029149 353026900 402614362 78273288 814869644 498144622 719381867 134528650 110554810 501071430 386218672 431037801 657717492 609165837 278094890 768805355 255165193 546871552 625278643 846861457 812197907 326865691 505248285 490097267 18361727 486637895 702810736 973729627 302092581 935870544 945102191 239005614 708495612 852831076 406321298 36782382 366422989 50557899 333554432 827425134 239284112 113940428 136708425 36580572 682129958 459238672 586544754 40153761 449849097 904456691 165409015 335044359 559924219 144239197 239922269 603447105 175790888 685472690 280944401 104263222 272529720 693673718 964948420 594698869 324879391 398995061 488781200 246540227 367460214 509655659 461494970 966357215 409340920 907341147 525322942 611782243 343141378 671899751 877627503 544846799 603728489 891607507 681305679 758416094 283819996 605499198 795011579 773303702 118345759 42106095 547556433 163638376 369472303 640900584 23889075 801320643 370358882 323025660 565264405 469678547 252976939 881079072 549508952 505573887 188100142 473843533 545292752 332465832 7841163 607588820 435600935 547949848 31819538 146890598 687379409 243028446 853207923 316312604 864394791 152070270 607223237 815719083 187988019 264684068 305264356 690365762 714147523 264945897 881875038 571614480 42828551 355163497 523117196 172342908 207788746 438211381 171772611 142307911 263113789 460758801 892114299 440533147 617282622 683531449 56333104 751374511 229752741 278049831 851123200 529443719 420608007 406967069 943295653 232049228 798806750 12811901 395377361 503392760 738152664 560054036 962211939 750260732 311270178 408407415 461083414 904497862 186379641 588667034 855587456 903380798 149967833 834678723 634981474 620058291 251189184 918174702 536839661 31519260 504439777 433125241 817016773 490921863 789395587 963977340 48211749 621907615 629667734 924148252 499591461 895302956 39567350 480838333 819658427 870440784 35951454 377644637 363692536 350318818 488931160 73738793 955976092 830496613 335167287 758980399 48279335 100424123 456521415 385256708 669063985 962366414 636989572 134293262 728566365 199568263 830022546 411137763 478192113 453114584 869013218 153870655 439338534 262572443 703060962 392384128 202707251 32994125 922731629 49553748 50632232 115208966 940617215 124076758 140205355 23316904 16188365 262802395 234261223 362370667 729965967 92446434 26305362 690661434 777307273 548968374 803673035 331511841 99087008 231981392 529383222 524662821 391345058 377705284 164019717 925079979 828252029 610899169 126370668 804706556 111199249 733657153 394245415 570770648 137413837 331769733 167649394 310925790 264701799 987139415 419081375 260124470 693247822 626284607 805298947 199404954 735614934 463689000 215456846 515238569 272011576 73333084 344832052 291670126 560203008 881756176 238507031 493700890 665866290 85837082 377601085 326496966 221917827 24415894 709622776 710938984 360792334 180719210 938630968 233920216 364954102 808639992 238089811 969261525 798608613 938930854 792755989 628615835 861718820 334431716 8503837 726599249 880011735 265542521 616826308 641225039 674995809 735553961 335483404 817851284 944191859 909525191 581929143 390296513 943932521 693117849 18692450 225575103 992702740 647212859 540693982 843024470 465451491 317597254 850922613 178739989 114928383 401578992 170609176 769166574 219811589 645112251 754088367 436232351 889999720 116272375 70898303 205996685 24033339 713993224 745503148 269047944 128522054 276835658 532358255 655713455 639024174 472025859 493870169 333057450 518076993 150268139 835601414 367272319 688998393 546423749 462622281 349333260 407138890 211181065 899973272 319571535 718700797 222478095 74194661 178078918 248443139 600461857 941125182 761593485 281046170 68145762 231916496 270570774 43469126 182043403 456476542 364531438 786454524 779452844 754335034 691971265 541547513 706854408 786246952 624947994 104109222 164337514 971058963 82412494 956640773 121381706 290297886 472488858 534936688 340027328 196618043 637636932 173341191 114850702 573491354 436011374 362958509 821683997 779221554 709246789 642954623 180152025 592194075 999362254 986938557 529130823 792949924 800119549 167337862 448499574 59976150 278525210 976234673 224346145 6639933 372653896 761345115 607439281 462325461 647784578 708528866 919912046 824726340 472022036 207178999 796526515 974853737 214035676 272749508 276657191 898943649 591565925 533552603 728480924 681974482 112406845 90664901 589111107 833691602 11794237 400745070 847572241 198901712 116020850 198288355 443221818 625792980 678023489 788381541 251392538 945673223 724553063 839511346 358115795 880756204 798379920 504415745 823454219 582397396 672388403 912632739 889470988 391101206 818957508 211427847 154450302 419325003 131464537 157415710 77873706 464126787 250682769 870766189 990723924 889750113 840000728 26315303 311998484 591624570 192643515 177036210 435687186 841666337 321087041 643184302 658261041 242670291 213194090 843996066 657638881 76708135 98343860 634307500 56188670 687095433 5509027 851684285 21501206 433676941 206237267 507877384 704518029 284034906 544144051 664367316 421081085 630571197 892899701 833188191 186946065 24946993 920718470 98441686 398505768 995922044 62193811 785324530 580403413 793898730 851608080 161662704 665043966 644670876 318745195 81105357 137651061 163337656 436030137 260654543 495677701 621025672 518746947 352685563 923540534 60105812 748305368 937816349 468279443 763724546 606684262 39841465 446527035 437276892 478240954 8296380 79823518 840445094 538162987 289246226 590906981 77478917 194270879 267055354 324866161 892588759 970386949 263526283 479379346 172366993 152592946 99335081 481876818 716074017 731204534 387002434 218482597 501187381 706862718 543169075 274964961 522203958 937531546 69521876 13120972 890090888 561821403 309516289 467665025 933802118 28084956 52589329 855183066 961659562 429397230 168340672 633917624 672766690 996632725 549838846 982680211 275076804 800681355 429610241 173819709 627560896 29854873 824408792 47818231 124058914 380711415 557946047 757333218 52069416 798402921 192185290 252019810 795638472 195209237 345588985 508774598 952292443 520545099 354123160 895597057 902075815 885362792 554085551 349578809 504763651 311068180 430029470 461031876 123551010 536916517 928587550 465438019 892693252 687482343 755793374 669721209 134734361 927584370 274623494 880698344 682514699 784809782 107864571 831048721 67273657 816189994 425809534 644961909 801616176 916129869 328101488 892638508 878931498 130715719 437419009 47567973 67726915 904681725 115922091 36893394 407627024 468840251 322532628 467732191 648381504 625234513 109774274 919630877 827781415 807723117 502350970 493226279 117909372 403914741 154459483 186249120 267011206 512523362 754063205 504666898 107863681 397084600 30958506 550608925 840853822 347332375 719232022 68030980 880443517 89417179 727698322 529608897 274010930 788521064 461391888 627225320 977765401 559963903 198910804 873636784 595530880 246578753 141895267 687554934 623520723 666835325 146015947 86372532 306005315 35131190 477322703 701209873 348271563 800498192 946124645 997416130 766233570 301379847 979711933 756877722 98949340 520430238 689037333 459275360 541648204 874801118 688611070 824964382 793904298 314167068 913149995 85250861 398668019 680712145 341892527 475725983 437898315 691319738 237998778 458594360 963758353 630843450 113677065 921078315 655047008 241787193 572560217 801283720 462356781 665509295 56410332 50227984 140049530 961957188 450345763 392669762 967122403 305451635 713993338 214582796 18852476 897160171 884192282 350561353 109721361 227132020 181676440 32392946 656041781 853416082 251078792 909876079 191185749 470772702 84908530 882457721 701507333 501488586 444565129 504225183 480135548 352778741 63095705 125143455 5066582 574187170 899056546 37265791 391190346 873191189 326986801 86282314 974674354 317313265 808450987 291401671 845082088 589431262 64438469 316445156 827616698 333249228 266615701 38029190 712861873 681963723 67501657 472743036 671108713 425429349 491657411 414400314 916315305 896661934 400512404 326595794 957127058 799083005 369114915 501724199 269767436 284075034 505204172 796469723 317609391 574498164 225366341 93689770 473427582 623499585 748213374 737096964 709958269 844288361 421848038 977299572 893315593 684615458 883731967 221059619 582791960 414882781 925876082 473072461 591759456 456316237 40672401 56854337 821607274 285921965 374150127 603968582 971905003 473237165 264008676 666145815 448183109 304111866 890521532 215157917 483011800 70181112 714979082 183670278 263788380 72067147 344676635 328918544 847981335 329088861 629097103 424567987 384483075 700536744 216071977 975547583 568625087 972965709 905297089 512232649 548847748 9322172 820264592 978405546 290508538 840174918 370211204 659991555 960178668 841307 391679694 614456761 778428409 549508930 676792758 120167936 245174877 998396294 741765200 958470010 624564542 712629755 70032180 177322744 214757040 718150559 313435067 894891801 475008840 664973094 411233186 109858230 971076956 190329142 952407933 278778806 26386464 337454528 837479231 384539927 66282553 805280778 479550438 192931356 373245349 719773765 107768185 424276043 752232229 261272544 646350633 955911712 410651099 365950050 271619787 925240625 723276857 683521498 739412821 337809362 580267694 41058415 663864530 676479800 765727346 530093909 317641506 879124015 977452924 273052811 537646851 497440961 340104694 648349566 619555361 890085586 541184284 630191144 915200073 779108648 803552477 468932713 474777904 977004276 819229838 550819428 773752213 188342395 760653579 912640559 310093547 319508233 844991901 591014211 495704684 88776651 363896599 787438735 403954768 821357004 788741606 120155191 236869278 971975164 23422821 442466850 518556633 447135657 845610745 879265771 246160702 71530371 896138294 575912435 232505975 236963487 981979973 616828738 49944566 292626101 6201918 338710562 674282027 835915797 399878800 276497392 23040115 835366304 730985646 841587243 238646121 512336775 757876011 908567148 909239089 467176148 684963790 445987964 543305346 461144989 281452315 814074991 643787351 915425468 532686166 850434003 561944433 479630650 499336773 147462369 86411244 680226657 104651765 403723126 561348853 917262753 549891631 275694958 363242614 46826817 683752810 436002085 226634485 177717211 669118493 283037328 277548215 476313987 177437108 315241424 656902095 193012181 532918855 297761784 429601429 408885370 535182130 647593344 591757211 833074959 917480940 46199941 301715828 888893193 416077857 679730813 478353967 872971024 352354553 903286099 370928297 598582933 136056277 11139601 168272082 77516083 381419804 838602337 207043538 259541419 715108711 877701541 903620961 966954969 577043781 646226601 181627161 537904774 131867913 292036144 344885172 514296955 22529361 859609020 625291583 619271123 437270525 468212615 14245796 447643181 598033216 882964578 361426130 350601354 861801848 606935884 702414922 453532328 740794884 968465067 787252039 704459089 492499853 449730378 459142130 994641744 690728883 287170826 742559872 980343044 453207237 110875386 343788168 149155141 27006010 929520102 302592201 163244124 231229063 953132287 176662287 416245089 887452562 768146645 465402877 49382461 292460792 530381330 553838664 649528733 589355763 215810981 290745945 320239579 38838758 221742323 680265597 430298440 447245674 132957253 92594007 716099233 808532972 201290556 827162367 339691992 487827678 28035772 497154308 72847957 43862744 744820489 337216399 396377778 782194124 117232991 228403639 987282514 258324370 887077383 5380523 161482006 862274975 47732889 946479771 482138865 226892886 859605709 813515606 98191564 73664082 822786772 116355098 818081130 842252991 683781716 468466729 161156190 603390008 377804569 346021827 353359120 316946653 481963187 70321245 6148164 908823990 862795712 234021421 128953907 671267345 122854541 740764961 335574554 781944518 661078495 460448372 882349677 566816620 673452712 506755126 339083266 289449 821448523 603961336 299536166 658886293 800345322 80128272 621083030 458278211 196454460 65503317 139284748 708399789 665429406 995922127 376923809 723996558 148941248 997871106 357506455 769045976 585542648 139502507 545042056 134088372 55244805 720031994 356085698 375664253 714700121 743973847 286144552 751452976 993162041 20464570 224629911 280865832 455923529 453848451 931863730 293832159 435499575 631974869 590863097 829086039 68462135 986721535 132007877 315883182 413937406 489258216 477932646 36136941 422537471 609724997 401503377 773577994 957130831 260304813 466029014 919659903 598716536 264238163 547499404 942450067 49610723 996973040 493475293 50813342 711277035 134163690 490128381 790269405 592597449 102094520 230339276 527138011 159967895 234543439 504626945 838373524 358403373 142201917 223396462 962880711 549224995 791653207 367500619 352650461 304151161 685678332 207450542 2795739 87339148 178890825 708802647 58967909 987962352 388349596 688778011 686525357 467937282 867365372 218546152 90790093 277180327 605961129 469836635 466095397 302563531 614399427 432060335 995976332 455359568 476798720 75748853 420249248 164141446 606257468 149317253 122347089 805718217 541547210 905070295 41947696 174887367 701494507 570648698 174372203 261731244 489243181 144263865 641805422 741751864 329276366 4813150 223361701 925220542 529691769 808284020 679651682 940137612 862391685 128932373 978150181 587441737 522060904 735387090 825755992 708732868 618942572 744178356 56029917 272742357 635010398 536126027 829233972 478462125 584153194 325183644 668600205 505390778 366676042 908999400 906379133 290004164 12313938 640979397 335572721 103356148 409875429 538149923 630678216 634781841 727514242 295296738 98074573 274222782 495677064 118510097 525850945 377728492 764378751 366450517 278558086 171728279 268441940 982264998 641406641 707280320 596539522 394260317 910986462 154598143 138406620 495383443 17153414 933523485 558913897 888315613 397360590 94193353 431018512 308809504 47088500 477858516 594299592 808684733 317884087 796712586 175197763 407209661 994582350 872010010 456200702 232922050 497187932 426041993 50764886 194141982 289587181 778744676 167998520 944245477 604781248 39019735 875252682 386542448 816565575 390451248 861048152 807347397 40204527 839973209 136068177 515731025 76258133 196800936 734262597 770809075 398686416 52075223 126386500 758711572 31682589 432808192 847049601 362397223 185376730 225469048 510863430 798205565 711901862 539618186 13801829 847685138 714397459 768384129 505576106 218202257 941646970 101011663 208711903 813724972 309597645 580267799 168449771 704766481 678636374 114797495 428195508 523974344 587142027 591524801 945714968 835521485 84864380 267334300 33299674 120815600 353856144 339063814 472605501 785384657 997938259 987631534 983224634 847256180 368997504 405000596 428082193 862309122 127090890 85616527 310716886 740916151 682915989 902163891 537801076 56688740 597832223 230342983 659836229 237884564 62293891 87484468 943505477 652944690 992929745 18223442 131164675 486246811 360262884 412500988 795402760 42769892 693166772 894189997 380082899 19933730 64693516 785037675 536073832 553757983 416872228 675796900 82257904 726480031 431609303 916262907 344004938 196109006 345742870 277775817 819340168 11487742 882066762 659109166 288673924 52413497 869083041 563151586 996799817 107342349 291108966 679321013 708096732 881017461 457902831 970175535 467685537 779667645 580765274 435926984 553289114 998080954 570548115 420255886 252658652 406465480 727212420 997115966 409238648 433038535 340642490 648713315 901785654 420746832 410178929 374116650 749605218 375062402 68654463 139154839 853221231 876682274 288116629 86679870 513608055 38904101 566872549 201284920 590239617 580354452 302768276 82568808 296811507 299401345 11016564 153479758 183278323 606584179 656125821 276776677 992158966 743056207 334559364 376414423 872711124 446001319 835646895 790575652 419051411 990073938 90118639 171985413 363741934 361965024 44196155 631089687 598021606 521860054 515187715 565047893 869936751 760790956 913454843 650999908 168630755 218337011 349119061 793043654 639028585 352355680 930066283 515631976 97044803 983677141 752453723 828997405 276923004 639585993 521440013 175071088 809715192 717774289 986618300 159509321 499310093 463207900 646701749 41758862 4664721 611020063 141018254 159649750 607105011 494558100 772676478 403163991 214518065 931230306 316761744 766334304 33396160 688700036 828951768 330950592 245923048 395543068 967379974 752534113 309121735 227264481 479761806 173933713 135589660 639219988 243020614 328063165 210618463 429356465 249031264 759385312 227797136 119648537 169196126 754192420 895861673 903084648 299932176 680411715 971091306 899845652 244614970 850576726 7838449 66398136 565923338 772897221 91208107 168142692 921746316 484713276 227555796 737398068 50689727 489399580 835500310 885787560 725038918 175021182 364421456 787192636 260651550 92775720 724634658 306485127 8642066 54235825 57856046 797716530 331346350 823336502 611314434 882323327 552058808 828177565 703390068 347892948 375761911 166181601 315633039 92462931 561773254 664469746 274428147 589650320 411336201 659184744 959781593 840714102 560868753 741500363 339968506 330319250 3402940 783713135 614586518 545667789 341888467 56277313 229348312 900710195 45036913 92955997 934575361 262486636 897675045 791125420 422518531 865108282 524730446 484545697 510117047 861134679 855679989 315380100 748373399 158197933 79896730 786209328 425433075 236960694 45584050 503448673 44240659 617606974 484733640 914912413 8694980 662899004 123548138 83423749 843607565 204817713 957835549 336837060 495518465 705000986 956581285 714003051 988767516 24050662 555320430 169290557 844196632 365066213 790642474 856095190 248735908 82372980 344697541 70481479 88491235 925945522 307839445 223184351 588496538 2584926 152148550 916743498 562911245 283546313 113743972 207859359 489445518 893846806 223172416 508651038 173171395 611624724 495373215 984587565 966606482 721087741 477972549 985272846 558750351 9167510 868129662 93700253 396763950 792791303 95994337 154278640 464740744 891893750 488118994 145669350 123021531 266529822 75623276 59422111 204037982 265372173 161277377 172351600 711411858 531046821 110119980 875320751 190145079 854770023 777644642 767439076 269776865 550650660 439391632 968210995 126715869 636516808 578327923 360779563 857706506 695292314 406677614 546555264 282900785 873497921 248508535 297078790 906152264 811948590 346713350 640534360 186124004 283775691 613042560 884265676 768686615 283284114 474882610 6741231 360441627 837815983 274499420 400898262 124700766 828735641 943031950 224912488 540722833 285415431 28039661 372441140 946461886 709104095 117697762 769130618 794150643 205035384 242405708 699247096 85311131 960450538 530320493 908861852 979683655 348897142 254898336 556040873 521139020 185975410 617997124 400708985 618984088 598439098 570442333 358718606 647872588 662743813 529505041 669738718 885548546 811641144 13445931 806271986 288861260 420767981 572331130 720505642 66267527 508825162 445340612 333050499 21517798 978799363 982105241 677381763 570303087 47571474 809067605 490569419 140448155 995135615 204447577 720142855 957641792 966524734 748934284 837377774 76031474 847194236 718677349 742980905 903335909 582533647 355289081 787852746 686774053 263420881 773084411 743208069 573884417 360454978 831437391 983655083 25386938 688404379 869965946 307238531 280299813 598742533 673279515 372628801 21998890 87262385 524599948 327140270 472227391 180481536 967543413 678449323 987322366 419933944 992168556 668411840 410041637 240771352 780722571 570732643 205907900 936216336 19053029 930467305 744502668 518172805 349536865 284826417 905556814 748884488 216260451 653877055 353940595 461681322 821929602 408351148 807304732 122467543 298860553 88769297 374360473 257363315 273586297 589611204 219645046 314270744 484521989 817711055 565591674 929427048 253810344 166019209 831629808 307277630 513735172 293863827 201176161 683953356 982898192 437432782 249019742 74132966 149306506 915002823 624429381 239612986 446896034 824801558 23987199 138384188 504419193 980902963 179711201 369743390 715356999 353617847 613247163 339168140 914735895 188131980 839310182 69365738 96939970 983170624 727224819 83557048 818655676 780995867 713620035 4623913 622111458 903630646 21311868 922775006 660205406 646865155 721716187 988356263 730415295 985094134 624712126 990024744 272959428 417600153 66227151 942853286 15948046 635274918 52423568 817185159 930028136 637668099 305945854 785704826 633038861 783862751 440312269 107445068 18203444 523025936 220029455 628656414 131020674 46675335 356202265 692733240 477051375 564179275 793816661 712142861 360547051 302731671 203340774 980318971 54326095 118404856 890366106 872102428 135851022 321308868 637982751 599737385 760628285 231739457 830453483 855008347 606537719 598380446 671607580 784851998 793908963 345785613 138104971 602913124 119328533 374609877 357099803 700081426 463288632 341872271 964477789 698481752 303109420 433539526 562373197 825983022 137877094 271994419 344389436 530593290 660590290 487602168 957520810 493059461 502757640 627245209 820661309 274674141 165972757 557980701 511681873 545088534 196037570 789762450 285381560 790751175 400197729 640707395 531475435 288134886 301589503 749322721 12301855 357356958 102612150 868280529 738870903 11380409 158487047 955171020 247707040 378029377 224246829 422187512 56005872 277131693 729435716 378043262 545575430 402760815 100823208 431921575 992528838 850513133 486618679 331151891 679450074 867485181 399675724 199688844 192458926 694050588 341293496 122212111 335595842 588865627 794660204 626119759 954110001 305734138 184115835 768583870 869227198 808266231 97772186 891643373 998613365 604938689 347373525 956991848 797653501 651451678 264601519 66171768 75515399 875702517 64901458 73858587 208730145 302712702 781752742 472316080 510814140 516190350 264513982 23702492 277141060 54340635 688951576 362795152 852688092 343467138 830200255 195097650 528458721 525291916 963793174 402343167 240626004 974291432 6042819 702520565 943560348 501056849 122106328 388861619 320478119 416566032 440846292 213276048 192125943 741090023 465230653 135536356 52191281 865888960 338358739 716087714 440018642 113330803 959449390 533136486 505164145 5489407 706653563 667850624 221120500 615503781 72771591 652810390 885829820 295717817 447204616 2891590 324488071 763448635 553478573 147245775 380531571 275766359 40551810 864921914 96705264 537855891 177331286 397477132 728065032 751690638 852446466 36178984 296568387 802802523 515795945 451438988 742046778 484399848 865684800 564161145 27042608 307854204 736720459 57516588 866276345 23430868 51246908 957276497 171530128 494911827 765316910 687532041 316822338 652145516 984481612 154608644 292531926 517408510 610616325 333993369 762084771 239517049 70044454 440438153 229608360 473598319 477886204 136388372 595015522 285646425 676430227 240378837 305705709 673464707 906197134 507161585 595458535 27088086 899391456 552282689 703709895 421160514 79065052 114498023 19321946 694596744 474005124 122279645 847639625 53831146 481861211 736133638 693718750 157563025 39063195 141453329 512809941 427356935 709425873 667272691 459887728 377618995 466663849 722485466 767573007 592715884 570870459 604468866 449439399 308281213 839167370 887826160 192923969 371126361 545443513 433796476 207266108 198561100 353673548 678047898 288288218 53457364 223783405 258821998 814975509 719041154 585572115 875154403 784423952 790577432 722411351 694131455 198174141 407381543 410244228 296151317 94411544 531294880 535911430 75103152 936883619 551478068 591092953 39671207 162261405 132414622 206877524 822955447 885628086 517198683 854055436 908472151 958844462 103247053 976008520 233257464 847872411 20726739 918430076 20517920 289695138 984469916 127573864 366269065 843273196 715383842 684671715 613831530 134686153 716334605 24998546 409479322 968544418 401426722 608247021 485358622 313691206 321286962 903195257 425097306 264664981 342995786 87578606 406975946 536140295 734723409 412088679 794952352 483541289 988496481 587398677 572183000 481382315 537106344 952556208 22628610 82718363 343435496 84427359 103803266 917648866 124995527 733910160 562878745 131380371 247177963 879623252 509907492 1496374 95440531 611930162 796691904 521228292 470264662 797905103 583324053 892926111 117572172 313976450 338539409 769371951 72623745 648072716 607223287 812891932 361439489 933708813 688953780 915866996 126366903 893307671 91607202 407890856 570244097 993126500 460319807 304072300 467650865 849385299 636176206 904710101 306141186 159927744 13786933 299172208 371219439 854804567 675530527 301609143 838853219 121460677 932934107 775993191 508037676 425956929 806708443 257591101 310508404 41437786 80021151 885407013 138875917 661681492 766522824 66122772 716567422 553060152 164385084 264436137 680566238 917081471 12856678 468130066 909110092 83292253 842242509 838775451 770202493 384700714 463889552 306378068 645305873 722365205 335846218 857652322 39491370 563570434 73973958 882149590 335803821 736010586 755152376 469216352 209574903 580399821 842400404 648365204 46974097 167126926 710533327 935894438 204333438 736051448 391007602 546962318 606203808 785136962 398343948 141485621 828082589 321819031 754727099 854307045 107469083 901506528 440190541 242370890 734082823 468508815 306969392 351211828 822090662 675922864 167253584 981844251 491021029 766357027 318131841 182785301 238067507 782304240 663017691 828196677 537346169 649772823 589074751 986262035 755672464 351464098 559227271 108673108 722019465 361061862 301919972 76107900 548248998 754212578 319064509 566899370 981600871 386048136 650628215 329233791 170875817 732120271 239293405 901343169 72399543 150278518 961710210 32858665 351426777 609587029 923579296 768832616 283932846 454151695 425224368 857637681 43965351 73040723 92432691 935148345 461222088 742107768 451021589 647596161 962540786 90007475 356748577 618784709 594032025 750310561 209600464 91029652 852504310 994488149 115712301 916324913 717259835 187764955 705911272 862127074 833794675 293402966 673162904 468948296 141529591 446017389 406477593 517405784 771597442 711125120 561221900 451438440 242145844 885287272 747770582 211208351 784053399 927967888 545582005 309587470 616050070 540112453 665461691 167496379 647653302 74529768 171379931 650897666 963464176 48908488 922035700 734333423 203129338 388864078 8757614 47554491 540135776 171007048 569002979 335410604 914848983 874638845 350455561 440783088 540721620 27569684 684484665 132474312 422949336 558495711 662668497 817394360 989909551 973560784 546578515 76987794 953407119 544027497 69504002 398496224 629902944 418001930 875625426 884708092 373935578 532058323 565146461 258662564 166643776 51487141 933726918 675797923 409149645 873268904 492224776 185554553 392997131 110090263 588527539 895900687 623837878 841384043 149490960 930944923 496809568 52213251 721678111 31795986 883763049 62127242 838550823 921573352 763651569 158167706 521934982 183540264 921849983 132331283 603700007 525011704 920838334 509253464 719594900 441049865 43250548 259048154 896861716 591918596 650600518 500954029 201021399 197199330 622935408 419105990 350716684 322438810 134641520 471209792 345363005 949791802 230972301 154826097 782547211 701969687 152232500 231785596 27743892 615993967 299885070 940040926 994624233 595178180 74512902 360506520 621711142 158415210 230599633 15654336 119550556 321626326 486073722 89727158 365011207 226200805 270997120 713299409 463246084 500047118 999012462 352700459 441206993 236129261 593242265 213355262 628034759 132889970 603420224 185996624 864229416 188896262 459328821 8067916 701616119 646012164 618960585 259024954 690205505 554676876 599680591 668307532 827174898 396967308 847111208 779711353 449347792 748908235 817413317 408729500 286077097 120719775 630275445 820056023 244855282 814546688 965504775 146747281 794316123 797310091 396859418 499088607 423387315 639183207 360407788 765044430 76604119 713536300 573189087 338948390 357179756 137052050 184090445 277672132 833806843 262206045 359237818 112955942 62295884 995314294 131858954 124629782 520629417 897720028 664991831 990487532 381686790 397572820 598344955 507303835 864845872 167910838 821417973 226499265 554737546 513913106 645012003 904898244 142709911 693331592 436107470 40256514 373172525 539781785 648581676 213538753 640968103 856565397 605411017 511984975 842702248 555193779 889013974 408822500 866381230 790877773 765298902 982772068 15771357 743471650 3760904 320094093 360682306 647437848 472667853 574179815 569919559 297212718 846235101 646055948 613936398 447350909 875776472 409804728 552020075 976619782 696086334 349099287 863780773 746284899 433361559 480140084 944339665 822860203 720072496 446131400 987643737 97190838 147354677 458979653 717439119 359489162 316370022 364631770 269000692 887087336 267563023 993812997 374702498 882823842 562469144 752592430 863927759 381838045 195881947 988340471 108978761 697768816 203270441 567885687 804337334 704489076 974551669 185432460 702271244 269374270 106715661 812882101 186846316 134671875 904169372 435944512 538306551 407956601 117267353 645911386 394976515 502900406 900296163 520654678 18064145 299089543 861312858 707202605 587305349 615234454 858376859 999237583 794875846 772236378 334549455 93533622 5045899 305428819 346053788 274633686 4341460 228864573 493490112 353347260 573742207 254336461 247662827 753713006 965271094 243690957 345162631 96004856 709320179 251419599 337715326 576629727 325140609 719243483 345383557 287702534 528012919 977096777 203177951 209725029 770286221 497705781 411704906 511636145 748449435 751039805 21070237 228588674 498313076 354244071 544964507 620289332 177958522 905125923 583712278 932636597 124434538 945153400 810426679 341534184 365455025 153295389 21277000 628020426 9810219 733137120 798914071 237413821 574217228 14441927 96374411 750998825 841376238 968624945 115654686 164358978 523544645 952187004 945551129 962070075 719172700 552380994 318024594 124234250 497935185 100494637 660718533 353604418 926962801 664558179 818128860 789995078 360034813 901397415 287735025 235004116 853947746 198034715 64010202 950007274 630117786 549010741 106651862 876042878 400234337 679397398 659742588 653677241 461246991 289625490 207621831 608163550 763065901 692021175 697614542 226181090 959134105 640302393 225400451 632529842 279641193 478937275 996448164 224703882 329891543 900792917 491675558 995098297 752204738 397180265 960194396 505634333 157845193 586370081 702391128 895961023 210306526 558857512 384928038 77530817 821401025 140668186 400475029 664318328 901915818 916184854 157822127 431276899 178385953 783733952 181911892 592980343 235802346 941800053 634617529 208134771 410990872 513819969 734807186 307031674 184198498 580545206 275898902 526976462 913802020 335610941 896024649 759482002 774332272 331691095 318280291 136144057 45235186 30187220 818561792 367935061 649764511 990855927 262420429 703241650 166608552 479113278 900833308 386077629 423316807 783810287 267195833 620597578 531717047 689889543 851340311 931651009 228404701 27325584 329334322 335497224 721730398 306938933 639785729 242301921 630760976 945486143 560482657 518407907 822699123 628513093 772711565 65806379 968626292 556276253 108302505 448327131 44478658 358363036 860018416 612197742 570556488 234491561 588954460 834749381 2062376 982267370 140997651 248706697 875097284 926732343 617957514 285496036 488245528 469477105 126533535 438436631 460241961 462940590 179121684 278707248 268932605 4135785 301427478 683522853 917863764 499628753 590870430 653463879 332714471 756058275 529178646 536328712 461418256 672794722 160672886 344597363 777097979 499765747 649404795 352447693 923384391 137311351 446553601 445155600 279103562 794097737 330556799 153267775 519348101 319240487 307959726 317057941 707869558 957351899 45027789 217640763 173180045 56853189 890666243 134623196 812371718 500172033 41141622 839151836 921754907 335949126 670775730 914251364 758180994 237793005 448316013 427939260 933271175 426912768 405460572 608344114 392099182 864492657 657352743 805609132 183300057 470426693 709891287 875417313 872489742 683939803 908118705 591308465 116783835 373485491 630738969 586493432 755205687 411762146 166788812 552708971 393565035 694153298 715446741 327669675 176994505 543744217 756072428 61499667 64927507 496254556 199107849 622052999 899427157 814566878 248816136 194272078 840979363 567276418 243213065 815196524 856797519 988314343 607598418 455585879 672986481 976203352 335664251 337655543 22172359 566408659 175524491 609384474 52151381 458482814 114466018 924219470 606230782 612791744 163614417 779920201 700237640 496030627 371640096 273682935 503565605 604522010 86246590 630200242 812517642 628338678 476679235 843192155 88861333 858288263 923094686 950321747 48183080 86277556 780822164 491571741 889350327 971228899 496769271 415596816 112744886 496959895 384537529 46744557 940581270 765721068 524597528 367607330 716491824 814863098 324480605 792801599 495299210 419046730 935622021 771561490 834008338 947117992 189580755 132297884 860697830 125239884 563628640 202288679 363284484 957535641 360107652 14081108 964941506 275352394 850053380 834207524 531188333 877636535 562715768 646620139 942348496 643074024 300552165 784071772 508754167 25652357 11728914 372592594 795062256 104236179 791854849 327263084 18042965 647437799 264233958 649112280 597831419 583476325 46880637 48728442 911716804 83470211 898631164 29342045 488567509 667983721 670055120 215936580 582495970 647574149 949724271 106543559 597345356 240960379 924029834 336774224 7722427 239408229 652397634 928370169 593931448 600324142 765973629 393239098 509579441 533641539 257906119 351919690 450830869 398867792 408481312 612739437 704073695 546394468 62154487 280354210 686400820 881376288 879991235 63250289 4743502 252667566 953505929 938815467 191660859 626706435 467783731 776184950 892618208 724863227 388225743 45506933 852265250 86431466 904349291 223897273 750735618 824222020 162057079 508932293 301988996 449367195 162963515 686568952 602291470 489523946 506202567 714776620 625862688 646856977 399663184 707984776 844832451 903975123 29608729 714471913 735751358 806407547 474863327 239287731 574032965 578244704 726208465 731382625 69713352 115556730 814116246 582775666 970103383 16077920 63259930 514049118 408112156 170722911 275633959 134617147 874417622 506867812 754519352 823686355 163303423 912714025 489422332 232876111 335835055 537826323 209478648 750909734 600487952 453451046 317330942 28747907 798326894 304025780 755886388 505652679 522351121 974188426 638712490 633757567 205477591 299720971 236350948 786866980 191683359 921356392 784252105 243023549 617887330 732605254 383078580 747638418 796198754 165685212 728629041 717250663 102387703 776521399 623976487 796929416 66723940 763748445 565663706 328213379 49122675 12857077 745431796 28211096 927919830 767891593 211149596 726928403 504034618 166866496 328046082 308602319 116852163 392936691 283105183 948346389 900193430 128163566 112680587 110161373 994014176 111665151 890187076 277157421 572725543 443741418 782694638 571458742 183436010 845253207 566552198 463074219 11603720 110407930 100902819 515099045 700448982 754949237 262593273 542992062 841328954 829187121 902505786 119492402 169184808 189829379 679338246 482700211 433228997 125616384 506915667 128810532 883716298 537438329 504595754 77538033 114859282 108315860 885036861 849074368 760054096 209484546 109631414 728958877 237691238 392692182 16800062 637735465 283598063 608906370 579722871 741193165 264407606 643967542 26402140 310809682 802439333 333735767 328852646 552445236 9696831 69083382 321418342 670888010 316632862 589695083 687026732 481156068 884720383 360579211 797737928 171134589 259794003 929118796 392751894 198673275 146364089 596388897 84815463 757171473 344356163 719451749 396314933 515663324 542975166 278920729 651262978 572126150 94246793 849787972 503420335 38920070 748261492 905612821 529764759 548888242 952900365 591389684 764625692 828548245 955746163 117298453 960008094 916061360 730576262 999573126 885805588 723103254 315670046 537227901 519758461 711244109 194200876 997927070 312711100 778048045 19547709 718511884 982854634 876352692 229131239 7986195 855425295 262556668 567702501 959973668 685700084 948924484 200948314 234772059 20865866 233481035 514253191 839154165 964536979 719007369 506082277 213646435 819622385 141077475 58907201 427573935 174549387 752710057 17429423 773148658 187511422 433456971 475529762 200353460 130033769 929521925 35393207 249451257 122033840 202431993 663045531 765748784 256583252 567553228 633145344 173175521 175823300 502413499 518718311 119232756 300927812 139055504 977836153 289009687 167861149 463806881 985541735 632842314 1857194 779252027 707736609 490936685 335910395 159465667 993787611 373881789 939568077 81378722 721305394 987672294 329301390 189952030 569837646 584484078 944865443 93971492 941183123 135343752 343099788 25300194 851307824 835076289 831664186 569047129 777297658 694979795 130885700 38805225 946262533 565274629 833606457 862222228 12822617 42301190 582794801 696570766 436328498 6038947 796318149 159694115 440276292 42561609 700125007 701113728 603257087 360637100 880930955 893606054 687237 125102456 906725585 409242755 858661986 142517788 817801117 686853267 603123170 203868132 823302941 742085570 696334645 510123111 318813674 839714280 142430282 420373768 667884261 798846339 492327652 14166588 39800127 398311918 535383509 181080722 711379969 761870995 435042157 278242437 912018793 868322676 912718466 672038591 337000364 700687419 46353186 149573447 415300102 892198488 386768677 799053274 524179279 171320970 998087268 508061587 866895715 239107368 670019758 473662663 332092139 824436031 962514827 128433541 360622851 225508754 728444545 205618330 589535431 914195217 410233931 649318495 568074479 621913377 471773527 891355224 788431123 91101995 154295669 309136456 945275409 380879093 735324060 704065704 621798169 510629991 152125804 129205363 89960211 564273816 333927911 962712649 358186482 932607690 533455015 957361419 399218149 662866686 982410272 842319634 291922335 238671924 730133212 562939654 770538785 968151688 973223222 102019799 830833246 888900005 340709913 925157062 617771970 166018131 884222362 750754688 204074428 98824725 648048225 836071689 373783203 698969235 172149908 629174226 518291110 900996976 240457338 520943231 319881387 978131679 246240316 818837933 192222388 677727195 979790088 690582181 319898844 969313700 283358376 374884804 583124468 876970233 945836688 704619162 689936570 342340131 988588247 551833991 895110476 340274935 863620988 416792651 919652218 976548925 546863673 597355620 534833543 414092170 211350649 394480065 735370108 217893094 586976983 787042159 888100708 71834857 379036487 221921763 934973932 509088727 505572847 167221043 568654652 945158915 880843478 563804355 516782286 135504754 174491863 819175073 679864668 157504660 145524321 600219267 195719360 587870224 211227434 71039209 469694704 919845837 127481852 180036576 436287576 441038870 331179464 493333298 931627333 556407703 177118291 96644732 727063395 209837807 915366741 164396468 492030052 988131074 761920044 637734989 377770426 536942837 852806282 257418575 376870668 614870164 680470655 371047559 716912741 744407499 779438115 597076791 59784234 221743394 637873044 580622974 46359246 118361299 351116868 877447322 13129613 519845590 954511405 618297720 721418287 949670065 732412956 523175550 778788751 717995745 42518179 551015285 894856952 802524878 104850211 378698258 900274531 717064370 548732157 961679829 590594587 753205605 742766816 430318915 474255800 460952360 374714891 123768171 129749428 308777841 880384241 342232498 871195884 659403880 957010581 768234064 276936357 515410703 61345472 566840436 191185534 777423058 271849659 970907992 178916367 133198377 291681365 686574626 121111223 622175504 352437647 51622802 391793791 834368982 282903162 572479694 281582211 272039266 215172440 941133434 740192173 503520718 609427497 637174792 234227346 721950297 203662217 330998151 782781699 997428704 986489004 750332541 496755676 755420449 94991602 296707807 714411248 17294405 302490151 967696790 228367538 423625932 831896017 527456683 151626218 553565936 239278869 482486234 747947512 659112536 96699225 183690527 594199387 611122357 824238233 573430547 811200132 220940865 395203602 87207510 589512412 929520563 921662156 385062334 796427195 43993559 449240956 82169423 377246279 955847362 241198264 883150296 927074547 289822217 462362714 304830695 716222427 215968776 664525455 604900222 807746117 617573743 696371109 790470174 170166270 649608325 89977107 707458188 183272378 282892083 947866374 495559799 170982685 957654354 227918052 358847601 279166821 897388430 206064603 164507511 172617814 347116185 305591928 559977124 612773595 857424288 693805353 183572140 730137351 132940500 166103205 698696010 689334732 788980470 669221044 492802961 30548634 264546572 635796832 401007633 521782985 257712968 255610148 579820564 469891592 803256889 260098533 214019126 157860177 647937941 485517058 207896301 733442996 321361654 395189141 9666619 45174607 153423179 670460164 2382946 9633854 372459855 638569847 161845954 95617821 527511065 234462229 928506492 504628220 618585093 710081235 797761010 436237407 186423507 528711695 882743224 373761234 78702836 82902883 25120685 890179448 306804288 378752565 568702305 904328285 553757066 302945226 635505568 755778844 911860160 524638630 794552374 14357740 521813592 715360961 658397419 585107527 877335383 496133507 338133064 796778110 999816505 655478435 476156252 922788339 708461366 373021572 644972013 535021093 617517160 993436799 164930249 905072900 212523147 431596143 363924267 147216186 857316102 527046043 735030365 405735804 224183244 179492279 248300570 460878865 812286652 9702787 766147160 43198029 882918615 150310436 239927805 870084545 441857311 632542004 576885313 834155458 236643407 4556418 622667942 686796331 305987343 277762024 732146230 710781971 121130027 648073125 609425270 954153909 533342540 889289535 308673999 589081192 413568226 855329880 324038273 465076930 843921844 220874467 783052256 608518033 660834364 875002618 413656377 349922526 139458287 667272972 251835915 92933258 862845379 93240365 646136139 104192411 205460987 492306803 504649603 396577480 56438752 828977177 492902590 169527357 297880772 926162897 688371837 130099619 710450408 7825571 760247194 812440801 554568375 646123188 276550857 481506763 185121671 368956523 476734974 148504063 752731252 66834991 796373507 603811305 154091607 492912301 987045530 28658549 580933 134409178 163844350 822421415 675418863 303846999 243408760 530034838 997730917 40116350 996149907 417006476 857096207 842215735 237378292 830367023 668216110 74603566 326547641 222295357 983648272 261072725 754234059 107788098 167870527 458756212 865889584 516936364 238582025 851537533 435443674 88942975 268881892 253258159 303528046 350941941 790148127 54107926 877764267 577129061 630198397 131007725 415305786 646635929 749985008 136371110 924543821 521165684 46172302 117532183 575792648 865098676 321410430 199877017 192508184 28238953 120316141 25004366 945782309 562428185 545232651 381426159 881984524 69342716 394303597 271144125 112819121 536023913 628602122 71692782 375799916 69716828 856461717 182907823 915037526 263816468 478464690 785460219 323296174 191460898 854237749 673786975 92471596 476762693 241737467 252552752 388319862 317791598 300040526 751041517 102010060 163144872 947274677 64536467 740090716 427780585 439991495 514834036 149687315 752564589 416648182 69614443 824469755 79600412 985524332 698486389 88198449 460630170 549122707 965851568 361652840 804880089 809893516 165048903 196309409 900290788 418058024 439680744 638587657 911557288 107052172 700438297 972593994 393186683 121654162 768627965 521666502 629248638 120001434 405019969 756864627 854379939 809678722 139418981 908653696 174187186 910148870 380105934 649899422 842117356 632095455 190272275 606618077 652334971 894272002 131026457 366071565 208410083 624271710 847589033 566665556 764328355 181291424 219580681 222473745 34527956 780498629 359577651 932749617 26906262 260974378 896820627 947283129 156325654 624584765 814648583 563666013 140057520 679487243 40208133 936666811 248515372 352966250 278668245 23085206 65060506 888528544 860810237 747862725 560965071 208263807 795008729 107250657 612663743 722956257 451657026 473197248 520586001 265876806 783914245 685622132 933437928 638616044 88729770 604130076 729557695 524820023 910156338 497721081 953649235 658738458 278359770 979035517 824502214 278572187 829593558 188659650 901706492 259044042 88347750 148833486 869595333 581033746 734805133 903120546 536435094 25607628 762327637 500791401 883875376 736704639 660113677 79714648 43271698 615646352 929018026 979168528 76619098 388771761 341610576 716281163 724427985 205675345 42675522 42666089 292664739 372123219 38886573 953885744 30628300 976077196 535724363 73912910 329529064 866361490 590502529 614157260 68869764 89514461 908539842 995525563 483904800 223368591 723777305 866049885 660211675 372183783 337347920 105666686 855491465 666933703 240324369 190450594 125432080 110174739 507994122 829707212 689822588 63512664 806116157 176859002 400148615 113841262 750277596 789660548 432126760 43906558 813232915 850906865 900333346 367152647 57114584 681605867 513423594 667363852 949187720 975158711 994630447 394245570 88996821 755230758 943085109 443515376 517274823 806193308 200643903 854413502 909586049 35982704 360184895 756553692 378221784 120170588 551174740 39190649 946075456 466338079 731620331 493302282 619259636 739059396 206431286 205757509 95229313 164832451 184486286 456631159 608129865 7001154 227760005 774047165 198862002 71333107 25532807 596433216 750532784 834653725 219330694 4377105 139348533 977539548 712429589 137197603 633755198 54673965 780731992 166510274 303565872 205189818 960541013 423990714 154908833 160093210 521784357 378752804 653717002 928753525 36125192 387394403 6842181 113685477 353574591 279280846 533804936 76468115 976548264 146212128 228171183 59579949 881538980 662907954 233673476 538488438 269408674 569339418 522115221 411946149 463585331 777026288 551039503 375613258 132903662 94678677 696058670 484246197 745787573 802193290 330897867 778922062 111699334 288095867 644900473 955791017 395260916 315853007 465940478 624958019 484373917 24549506 540730266 448144667 371743924 258633282 800366401 76288392 354798044 589038775 427428703 852292311 390509617 873393339 255863374 436282853 546135120 282199467 167578480 15394730 116035308 720144269 484907809 595553322 860775447 83162901 223914064 632181324 67491872 591748069 44068944 560329195 805120326 833223342 10800860 294195716 822410092 520162388 453581746 975265381 531083680 183474707 321066236 867588001 682107122 117415226 138497403 920535277 397592976 222428974 130452471 187342269 416973541 519846432 150563137 551023463 729063549 994052817 408986608 136019364 422897037 762628655 871459075 401171377 549690766 109526597 657187290 58182271 466235725 264867988 102164756 95238601 142502875 915250741 478966193 909790478 793273288 83394553 963182345 662886815 723768908 317871053 254446811 60418128 45594227 582843237 488137886 377330118 14472210 924532656 154273431 580364846 563133047 784514929 848831634 384686627 723898656 657506115 217199001 817186354 79714167 766236308 372806612 812249545 414300656 782380523 881543120 404929495 581294292 22971305 20935701 849516343 777156778 626060017 524158533 307025436 274660782 842609569 600825857 210865760 591447176 856704583 547214536 454735169 637674035 50947074 598605214 953099448 238042823 568103990 779606603 984699222 304986984 366548914 481806796 610584160 958394286 554294105 137699607 2668392 643380410 912400028 751722204 978811198 926060405 861521079 66496013 894759241 132952731 818440425 548197077 577550179 512677074 776152918 728138197 212853891 486732461 963425200 932003490 581383163 205258515 367678083 8182748 795743454 296097541 492210897 984285729 105470297 551011197 419450563 544101871 230641984 169740745 455765569 932954954 998648143 223335727 490660135 690334461 886465670 609649863 276834367 975309814 932300012 687688228 204756279 289262377 764731211 443764083 136954384 236893639 587123574 632132126 800263968 829992577 555462384 117978271 980089380 929873403 741891757 711851829 60455090 74717462 970106907 84475207 726111882 753146213 724053829 6524560 690906253 249083884 82063920 513462865 389345892 274361726 626525065 328544178 258867935 73829762 63290294 569616950 853409543 11647163 639563902 614416942 940297444 836150628 417714330 58925290 76514776 507048540 843410258 641963236 275266010 946229198 458879669 281340193 559713610 497590308 312802550 723714325 593515573 444022392 419350455 992769740 985027380 341969419 174284095 358727327 277299449 983386146 754056141 254973216 157246546 611058943 855355538 127095563 880467690 169887108 813189218 648956716 11305647 589355525 100632911 715822699 696831808 856759664 544392142 60608693 282800195 742155153 853706212 584657411 464956902 51589231 820101398 307512493 882697970 310588704 124591526 850686456 517813713 39143383 292047301 167164987 512090915 255260063 523716401 527358722 150437973 186472869 613052067 133369934 239121993 100879480 853617724 556801483 777092715 236724456 82723427 241780157 124465859 156564051 686271556 375208521 221041931 781044029 988175884 819263658 153963053 727467046 10041394 972924735 686130127 933863304 838706613 355628305 872382590 22707083 332387741 712973162 829997411 788247767 250458390 839344489 904013904 996793712 503445199 169988809 130708109 579059386 282441629 758475681 2854556 512319270 386374897 809243372 85938150 71565449 916303651 670111700 746734471 728587155 223911626 312229003 441932545 651967850 40399457 604687053 437662930 220184935 527495333 929450956 121558754 308185505 907673249 331198153 687628342 202231037 328306225 286021706 723556345 716689346 479934235 354735630 212047352 877526437 738161359 154328939 165094648 114232979 923749228 983736151 707305734 399194255 274162209 316869981 233278970 226290287 657316933 50314193 377452939 66887973 460982291 704957414 945066005 330950927 884978050 831311540 927510823 116078141 758754185 402922886 286124175 747289780 148474956 805625206 637569879 902769366 387321589 314337785 916863237 434669850 872817057 460071654 254108071 273808530 349347440 322455251 485171621 295207088 149033631 413561150 545010262 412962189 281836584 990789145 436657721 846770150 997866453 980955518 486167212 348356478 565689647 981795571 787892033 58016905 87282669 56714731 64359979 713195016 497128323 185716130 463163036 163806659 408942986 964041921 363434667 578251092 961260324 532841445 665227785 47095436 703301995 142509551 558601506 356703039 476074664 72322386 1746754 833246509 792231765 264709029 669867399 899306052 515084149 596973189 352845947 401939908 387357038 835732989 427585805 892784937 346726003 664554865 975201693 626382723 215710746 82007150 661469413 858206364 73227194 872987714 257763344 788622819 321997222 172259094 485983144 651915758 387918257 329517832 998037735 279626921 246913392 169910508 802002403 537800593 450652998 833933216 700111575 656001828 886939071 231672971 400269107 494497356 910217921 132002934 34504060 303636640 669010075 311761635 467203405 26140689 196520422 379033586 99304274 358718016 444294028 425304471 545340354 410671004 214839892 72799638 595663043 585572805 559752456 392640236 962044370 898180996 714110086 33591483 54733770 193816306 332482744 37088872 509990548 888137545 722775318 134616233 101105692 962191435 205510878 11624586 791635730 156231667 502310444 670898920 479258428 228435126 647279635 330495223 804817564 532471612 718802523 722138711 875238799 334776253 45003472 403530014 466609754 730335785 673144151 93918745 74328552 566542380 985879914 437243147 281361061 914484551 832706387 779540999 389173600 697418015 217789335 154501300 993177918 607053524 71943204 48684125 126157874 475791776 33034583 5920037 970344414 614104817 291473489 936502304 604517523 622180797 405989118 887003629 433902488 818219229 217297055 759925353 475210199 111824796 43950335 149453779 940263759 413760938 377183935 861327045 559789573 18336249 494159186 119238731 730824835 713455028 731053922 838560316 355239814 147076631 799811786 206799283 376492234 526893594 996223366 571621383 936154799 1247644 913677631 469360215 633059469 751396669 969484309 446273944 789388360 743211844 466908346 750235066 236729622 502935869 665371760 552452922 802637445 321699832 184184662 920009992 380994713 738960765 948884410 670543750 363035964 922992366 359790802 608758013 399805229 847013891 762151361 747811999 312024165 526380852 69875542 999944764 62170904 627225015 698345873 122433451 614167778 906534030 481272289 817254999 725649614 710679738 843980681 96345448 879372141 873797888 869905153 849360943 302827085 570249516 413795611 87529952 586106033 66145379 293264932 593017675 861618366 133710584 644853861 549042816 643226913 241801685 601989245 75763399 388403754 817661645 704769466 532006250 275357281 951722770 546957188 679152556 455166586 904655992 69485423 673390153 690366069 369167903 83903816 676594101 336984343 241769915 758439557 358052486 108640264 157528691 462195549 895978128 170017414 486890559 381349532 679475824 641913157 517291745 478457876 366102311 390882917 912704450 193726835 142102055 832204601 531130712 495471713 313712072 675669894 898519885 599666224 541193301 230509605 5258612 480589048 488505045 268474708 558998601 503368689 336677613 869161639 433515045 547885718 275117689 986129801 870376227 864579422 562623366 733699083 250821965 55663537 787129850 526022914 760652903 435833930 412595549 263825891 699568273 593685604 111054518 122975199 432805475 179592436 413541932 816650835 992156126 448037427 992975217 595269031 579535659 990484913 116369510 971258232 212860901 723631525 223319936 604050159 696082842 173553168 15188488 875967434 418311997 320700306 337856948 366658055 565670454 38042961 521008231 156411751 198971653 897003193 257084092 466669460 703692981 540912802 104062815 565312576 687761094 127678104 986516222 791384519 728846212 149705990 11107506 625501043 466833667 961348876 684456530 417183467 54039212 208491783 468325221 111309161 968913301 51999493 511387646 419468251 924865663 844493255 953415842 370450584 914197854 964475863 797224439 134398045 62763420 290934860 219652826 522653069 248762554 485805757 459299588 980198625 341600121 518101169 172237604 648381000 495332822 881643841 133642071 458921768 719624241 428388613 706912050 15102742 903521273 881144045 377602831 751166474 551393146 502459986 990971372 369124354 554573951 966180670 39529576 472979887 988436601 861933524 441682821 683803868 386842764 137383884 854862216 330581578 873576015 26423919 765012349 688037990 764711158 693807731 578779852 289523820 200100972 528745325 308265191 385130118 118886061 280940903 691421508 849419254 990840445 436414572 353833634 703539292 660535902 975833775 460384765 473510004 916221817 74753955 960137975 506597538 91456408 647485223 648223415 488374033 752508387 873414640 943112725 721148192 786472084 65091174 592624702 260730878 51523439 133063612 158945160 268857184 24370910 619710876 572849745 631070386 329828906 129851769 315983931 221219224 528465063 452078756 155337623 254635978 627119830 578499745 255424018 48307001 666856522 150192021 544130563 240445298 690802268 310875943 661891459 142370732 843908009 67902869 218917713 472840709 848301159 920172892 723272021 679024918 158838170 641258824 215104042 953708720 374651591 600143038 432906740 494877830 636534782 624394350 656957578 330431611 80565996 718413530 771054793 179091148 97496947 762249449 406004602 642968576 496883487 728462329 817910883 582996312 966355525 572164652 521289313 213723343 291516836 922307396 320685329 910040875 156321189 852662709 113780424 155845641 614111623 890143234 186044758 329525720 877422686 404429415 339387742 924817353 571320219 827116639 544660072 805977857 568416688 419716582 740413902 354993424 314155188 656932782 151547970 79929865 626391694 392029224 135499662 537032363 422843374 128466858 927921214 711214448 447087718 303292415 854429190 801733366 703891152 838047769 274423725 645570685 559863505 487337952 681728822 424660297 777774293 574775703 604040355 954050938 984736842 2422731 82731284 475463435 56459919 850919167 337449793 719328205 313983194 476861243 789788558 592310450 156485254 27314096 359345446 543587622 404307003 871465865 971366048 471356080 585434657 445290631 152452389 615200922 402153624 466841911 965397758 835919068 457213669 32070896 914450051 635513596 757892411 719330650 831922414 472179471 955300296 417041841 609477842 732649302 454287451 347473784 12693975 821285634 330226149 284090952 813149640 882469904 528827121 573173312 719444416 382357758 194585522 292026261 436532255 754382516 762216045 3120320 741175723 795110888 720094836 814181984 675907528 149155264 967069523 331000879 847115393 995328823 742097366 655707136 497648237 127951151 689496125 345789669 277104595 445975722 580161825 265843959 494150067 19674129 316465447 419027249 583755530 358775448 541255146 683264294 182850124 872219242 725431567 972630441 637118728 646106304 388600742 749131188 208773757 895742799 383877743 683149542 470283454 672522582 683939483 842892263 197276223 616614297 680521739 844836392 983177996 991806140 731597 165353960 294649251 224816802 210263417 16085496 418256723 555629061 965856785 668178304 616351635 936973559 982044498 480054457 203082193 826056708 683758019 984913310 674236289 790808477 466231202 290370306 78977125 602663273 367115413 281184625 662227804 269002590 925387978 904071689 920845202 946963205 954186665 788182908 235963669 1548660 537928971 667035941 495610161 835458343 793203220 101376587 835325247 521476451 211878966 93148642 579928391 764220124 929333930 468557082 240736811 736700080 541489277 518358259 362332420 423676018 111608725 424497423 700478305 475449331 806465057 482860939 308743678 7085819 202688609 331081566 161053965 339300798 679910098 407104796 120371777 593509098 907628779 247861282 344350968 904312808 710786058 743657129 30341183 226085071 15975055 509618487 275798984 905709131 948147788 263216292 112621107 326245974 205250172 874654052 354655779 303394449 595680565 844663649 356003989 438574924 306627741 460868360 287722152 715645148 981881945 847812382 222117628 93158141 559912887 827995638 51001270 126473228 893980931 87679600 657526312 955000521 839417767 519259300 889661273 756039531 632144911 904369710 985581142 247407329 826987385 572233920 58506793 769422014 539468391 291023397 314288702 351711291 854623445 283632590 432060371 403743230 375301313 534636418 421387364 483787201 998449265 73499603 628097345 403214588 657153525 979546313 561428175 809824124 130627939 721981017 591345167 211410647 56188621 91286173 8675262 208874551 448680761 841762676 467870694 713015402 256105648 623422833 100242927 532084781 3809845 165299526 930046381 149315453 318148235 677374864 895974430 469433952 948192029 576090791 174035561 835556453 505491198 970876459 396218803 762468336 84674301 441994091 779317076 996834710 567071507 340150582 868263199 532997555 899914888 929873979 757262349 425698524 511209232 113824752 903181698 27934586 95788151 933906647 925064192 993784289 5830195 913580918 234428567 134997778 639172880 834587015 460500392 535131191 995582777 629179971 361466626 390170470 238816305 758003959 648245749 253825237 807636173 410505113 479595845 626976034 307203032 806371026 287461557 773976213 712495360 819237875 305836641 9404229 298338300 279922524 450657957 610258693 180072590 293543792 427433250 299060398 760959564 355056188 596849300 213350043 740564794 415262273 916757737 431576366 861882466 618721833 689150772 555553003 40492152 426924502 758670844 319226087 989954998 697617550 311857728 443671873 201294156 687691470 177632065 373795062 642592654 370265722 619761962 526933623 119367662 280458361 244413683 646635818 289920188 264735204 64337525 275546403 571368385 301709106 368679746 869622353 103240870 365679692 442414491 285612541 201766726 221139084 585567275 521515724 646669629 370649419 769127318 835201462 560111334 729090766 253623213 670579061 365553338 510624156 938859146 356270861 583645791 295689360 879205287 939943740 507982701 498606562 302055425 736956269 491469272 269913823 783401104 191950489 540148143 176694790 564880190 849123527 531522861 511160032 984159816 814715682 248533756 287591945 859652760 543980086 976947580 774014766 505717418 277949753 713799599 86800489 336851747 435509070 708249457 807951142 838347253 221448982 350046922 972778950 963745936 841979036 955398562 321539227 23722035 866393381 13871719 787792331 388800862 82427400 512742398 77115418 720166613 239687364 105298088 754399267 28841242 206036068 634369813 745917349 398740311 493857620 305957690 820572209 478597077 126600535 5584930 741729567 961750653 286484195 176332030 354901534 518419825 943991509 533580355 690600692 46247721 992328589 944184698 481695916 239692140 102048855 857054642 214404046 253101349 515144291 288373253 379648649 826590243 309183233 131820354 212381778 778888850 517912121 41506116 200827622 373585473 647865540 812485635 828540048 599963547 678791574 464734711 983349444 664011185 534625636 638189016 173201664 405934277 875732184 268253185 341270737 857792815 35118900 792244431 72971783 323332739 845416793 273995148 769105478 129562601 154836812 457064332 462686928 403825353 618569615 244695618 418645415 563017323 527851091 529219818 341843760 965124491 285016656 537447045 991973935 613565114 855010563 966507462 992517877 254646994 170097981 321145357 793957294 203838878 632375970 288568015 848262816 115796852 579999369 383162401 96659172 572813990 761437303 431656435 63940125 165698393 807668492 600960400 205737850 116810906 160212660 777419187 721706480 47804844 14696867 440029860 163127208 494524080 681897447 58799990 310305021 865326306 790370460 443842155 883929298 405096712 729191346 223736513 645511915 608939849 584121439 601992072 820515869 210393102 885962058 812204721 220338434 533211032 94322486 675506315 202829220 625802433 64765406 342167150 606413704 489206366 697328350 429259547 112807472 754291948 613969417 964145492 442221051 931920414 674770425 71674641 265570120 615331320 823299213 195095833 538152435 147186681 999013181 158791082 106371464 380985063 888894786 174054851 988679454 915615910 25869773 571764996 956885700 797244690 868462203 911426714 29180254 863753997 570393279 362138981 351662272 259496313 82253489 876164720 233977286 687349212 298853073 131561265 817420415 396011734 611976374 626353029 651102904 839785620 567608120 347643137 362493929 546159795 72371710 471150057 169852078 905710454 514299378 785260372 929471969 777966193 456541118 870761387 491671101 705056229 820838331 631673483 788232251 347188490 876134664 889444707 337052783 206842112 974057428 306637248 406049001 811942980 631397982 814238357 922834900 59982561 384579748 680899519 496016192 585564247 630397780 830921313 727341267 33678449 561665555 802528804 65165994 100742357 635475218 937741100 221132181 967269264 245815981 866732744 669772523 91616159 102366911 922813635 48918032 496059438 738327148 165581513 537546124 592505881 103505461 739042854 854176690 501837640 914266604 487720363 121521539 311045507 613417418 925915186 909771448 150189486 248917971 611060598 761970057 547382528 575763569 348577237 695294820 270798008 198371047 525716530 108198735 53876694 643362369 567166452 647615546 506593959 490335405 686334853 447594437 148236620 453470984 713745523 319221771 80386143 799649233 685573581 949520872 889180786 61729135 604464515 289836700 629518911 220888189 215355000 308658721 259991467 161888401 400596372 469417795 504934452 580180015 784750989 607919470 386675000 31285963 285880204 894324026 709364866 405108162 601652387 997162653 429896324 771038047 896845393 4688207 624391003 763946794 70626689 188558235 840445288 14205125 825956890 371520650 621301882 154688610 524897471 576025385 371348433 541712460 603780648 625237682 609083744 836115550 418966442 834575200 851835581 78133124 242974253 468995540 114473226 19815185 379247375 490532777 9968327 254244217 149488434 665364892 35210737 208692173 136892238 30240031 234875271 301872070 264630538 483073546 327121128 893194241 900687401 377993912 14707082 427457946 383099498 877263721 206487887 272928750 202477092 302402620 252500262 46843025 819343845 989714483 243035593 394144904 462104864 201525521 168279434 74927843 768136226 36715839 51228372 178965126 656409925 226454745 470578045 642655857 25930925 752614180 628941850 823642326 560122096 681968542 137015276 497831148 753637591 356879333 187087936 344362478 600829785 754284527 551229078 732682826 346270515 454231637 107700554 76769210 750751510 806660433 497425257 619247623 521014443 857565309 383775098 383457332 21384209 826490981 109921150 544344260 924468267 124004960 441261732 90589643 706717601 310672985 289053995 366200732 926071193 641583321 645504303 136322466 114953925 526886308 536146995 182101404 699721623 298489441 161942137 550885353 188041399 762741838 101365205 447417959 150720602 473451130 552882834 737332857 617438799 82412526 986218781 641169475 211958558 707355689 719353934 765336233 103063970 777170730 524143312 597210284 135607103 973384913 433110524 696030784 201999044 839192996 385629708 844550656 472407482 209135706 396773713 304291452 893945014 139304752 21764266 857502103 312465516 167665622 9491432 391160158 242086955 716103790 738363010 499876421 201102432 907842176 930412949 750036592 536378949 395840309 148069090 533378866 924128828 756085609 508405093 315081354 384109089 641359325 129965565 979218818 116890958 827317486 643292950 770390232 568323788 946629036 101590024 690566880 639015914 206004742 674969676 156357796 222326509 31298044 517056858 529955492 872504019 93618624 233690879 750480352 183154152 883141087 58138537 30968719 385808725 833588359 790189026 635221743 855338175 548113430 552193582 395969012 115204387 745209471 969585267 177655021 766355692 340426583 722632943 203722861 546134826 360250515 970854005 78676388 527059432 631615344 938424341 761215968 143409052 785497059 149868686 521113081 521745483 701451023 174332025 535076255 503980175 393043375 551709749 513516572 277543198 551701282 21620128 137726767 121537460 784435203 51514754 734164065 772710178 14463288 587100568 89959174 664723137 98207707 881991563 688737546 608790059 235413768 362915960 678969692 933425957 973038509 31378595 742056900 278495905 160534033 220744071 655644637 686642133 227009709 666805575 757257555 529161284 40447910 603949978 126187182 489886014 354068475 92309040 382431296 824583104 475068796 965699403 589607906 831415298 481340402 176471401 128861087 155230402 663461756 623601685 984713489 23318971 518300152 877462621 957171217 378068418 921027391 364469537 410838460 823561838 696899716 108852974 849409645 831797067 912031294 362097022 400116720 324993345 537072714 824485547 273955935 915572890 492085563 145456783 911665258 14481528 882513693 233154943 787846106 471607942 641796614 662902732 986183837 60299387 361652866 449285873 554442933 270436349 280535968 298549626 881118996 305118940 81803594 502053610 755938410 657467286 697950961 218549585 983555925 301596297 121291590 350835170 384780473 547929848 510951479 161625947 426090669 684043114 772098197 361173141 889008176 300115628 172391003 68102826 203147575 491976882 174851038 892510281 913437060 333855694 478111997 890936333 680667994 245587288 868603924 564802416 671779187 785174440 582294940 963641735 141010590 676495979 750388063 716010685 499005194 991352808 784750630 62367281 424598762 482906916 10898496 305270218 283927306 785209915 727481706 481577227 126569048 382730168 665773409 160900628 349077341 538899719 350939743 338935497 858072834 360578630 37184279 571122660 893634542 290705294 719726681 214800382 228541654 210854676 492131519 171377391 98005899 57727157 35968505 337612938 64474444 110057600 41353512 441176166 891855780 603776081 531798091 57103054 697339103 372782751 58822377 520653250 89191576 223717020 502303194 590730106 813857502 517754363 62276125 29790260 908973173 497123099 986796295 757938199 475067268 244159646 46701536 527304483 117066974 224009434 115645465 250565664 62418300 120484270 627593118 314693352 127218966 738473888 740153568 614696009 104400084 484060218 859539036 921408391 236007579 475463624 385257111 507779906 627667635 563615855 335096976 4041286 512475311 927994743 913851159 421148187 438207840 152039897 985880346 294866490 751845118 518693389 589612429 976901597 854736252 893475935 532280751 753566379 254678925 606379817 531240404 360515090 683856052 906139735 646968586 605255704 357498420 106820720 515547481 286294208 886547069 25008271 558408039 469030374 254108041 588812784 480293208 908453530 20946811 900871136 610240607 234676353 744661537 705475712 785701547 31250529 199188466 92997217 445716137 265958424 353224868 385055031 561474080 601612559 783223844 311072996 849043368 884288097 908203138 105293109 713417587 8654372 82890745 705066472 521812090 217607489 818251230 902222805 753388840 377484978 538878573 819868011 901167117 903397017 417190626 921921500 873825980 375122424 750613183 74765118 926986096 306020546 947928986 357886847 216572039 111632748 871828486 520447124 371356219 544364382 268879729 770769658 85417276 742116819 753567868 131839385 133667548 556633415 115253194 835589121 824114596 284723467 348185724 882835075 755072961 201372918 511038469 111809834 415179999 81404715 931200709 746600704 116121397 997053907 967811171 34204852 645093417 99630167 4200708 63268951 540822659 435829554 161627784 372553392 647027700 903871018 492069172 196657355 653558140 639524226 83602604 115576788 3554349 818760697 599835852 320113431 638700882 824727126 900824372 753353979 346683516 733877204 190044789 49828734 296123455 65855367 421218017 323620734 295805001 994974273 352052678 747491315 151153869 459650635 520030314 249651395 600926214 382277135 367348213 668393453 187006193 255118927 220625166 362921794 240391704 962850097 440404 983071516 224909477 466568660 259119748 284842713 983443146 607210902 59724739 153835310 321584540 619055269 203466072 737872118 710392179 686745540 91354592 836072296 464866639 114524700 663973276 181060496 802485621 535209226 468723704 283281382 410440914 199862588 354543452 277225412 796124168 510003468 764507334 225156235 773148335 245690006 687561646 29516934 854612891 734908335 407352542 323367619 19671946 236638623 205037715 158555008 55879960 805313456 242242020 46381944 637060214 545749921 828121189 571109021 60648399 434962518 356668538 909363686 932464618 462499231 921008364 718109060 786745501 664991392 853779832 79395448 215306209 775401012 829293443 559151548 251865285 676718734 673325509 65936713 34654666 590937083 345562087 848034185 391819833 41805517 597815020 89729896 443664495 353264202 758326637 150681063 508781236 761367245 128227573 935272005 104938265 542449676 473692621 399510388 715341180 267905514 722426446 287016300 975591119 986174374 809964813 770686727 679609796 815639828 716668601 429111768 671447285 660361492 896414215 170344828 738106830 334187350 861375549 715379664 128644535 596535619 243126004 868442530 654792249 477909691 797421957 583301354 120577182 734947590 145791716 647891059 612436124 638063030 745537080 55173689 443175698 792134587 994159302 748180270 261798490 204193700 565489401 773094285 180168909 699391586 169275496 934699419 805207261 707953166 740529659 846280173 716644520 988324784 474817063 580471016 486341307 45468266 817376372 687240395 239828366 644976071 80457063 803313559 867140563 835986957 378916461 250907019 336255272 321428229 8777984 700049417 938407120 344994273 74516992 420308995 750621943 920268568 216975904 553370467 146542595 606217877 985059537 506297699 866644483 126511658 902562533 545225669 721774211 922803387 573082016 595097652 360637256 983713392 708013880 504960748 539670108 730097369 985985412 5664891 265302103 272251654 477756037 154630096 520594520 630418465 22925855 772858040 973436830 89969775 410981625 958804347 937912119 251532585 668457314 104092649 914823358 249302540 81248523 947637776 211766357 350849191 584449508 810001960 49742187 580780530 984131623 918952073 808776936 861427508 720144440 250833077 54469909 776546055 894583260 469426372 590683433 497897805 31604934 664234816 567310587 612350218 385710849 47306950 318111332 488905250 765147089 458810820 204571097 841200856 999535270 143321244 628543007 802040277 477637995 975665744 768032667 739272384 998926369 149704867 724410192 11980767 539834501 62981085 92676586 126423367 343625886 524965101 246935904 436575245 778851154 563591422 695724256 266908098 511914866 461202707 927806152 437396326 146271129 269777652 7872982 850759132 602926331 312952383 29083737 983295561 130395236 277168583 947178388 373032562 283744762 810548152 13067775 919008921 774030693 785090689 351345779 16967882 953219807 69002897 764605708 505646122 834917468 609651882 73898858 987101941 221973757 636919537 969660636 591486720 320761528 170681039 698368484 542730114 993183475 310079908 606738085 278080814 87853630 981438813 891648723 36448512 877554943 705033248 350545427 412069624 112671364 876098115 243307527 803326315 279223167 449803804 169221584 721954237 294517908 790989816 982906576 127509337 225981409 945037607 128798939 741772156 870434781 321249326 94497380 669595874 576319352 732714423 422403072 289682006 399843329 680796624 355022132 743097030 308137709 824268140 12354699 96647667 259482420 932816559 497305804 472747439 844238496 307077170 841682670 35094957 621013934 842214540 386479409 946944212 766543796 40996209 452598453 39997026 566631449 44383694 296619938 826812869 995447603 986003570 363623166 91788207 968318924 408318231 709271894 281197321 106613079 618581527 198485040 903809897 254776492 278914722 617482900 347827380 88889726 372487351 407770465 233183338 986208551 224016110 311671231 793202268 643079746 203496867 841775384 340033643 799734367 720721524 166554654 738653363 153445894 720969880 949787712 949997575 695549007 979257805 769846955 93356847 178760948 266266784 909268879 793788894 564573790 196002431 455015623 454113630 540692371 838037188 617909491 904847701 397660819 314219063 91218903 723522911 316029772 618803664 944900698 457735306 500095366 431629253 502878895 968771453 200282978 448712570 859206253 239695611 534856986 253350250 805549345 248612630 189956963 946809354 263840188 495713055 721552759 776926856 207442130 288458701 964735433 311037326 114400152 903778855 386825592 286104307 745152573 704287816 742492865 801923135 825605729 758511794 768183419 492499123 331951898 436136956 262536795 200822145 65410847 533389395 987401782 868610560 495567861 712835972 213824986 455278485 140527219 942786629 995377172 602463418 933691858 68402653 961685094 58677657 413855918 970548615 132764258 958508327 966190997 479102741 823768752 688497401 400742936 203840237 727709573 46997339 729562033 220609005 596890448 213970015 911255580 501256979 664225795 497925734 471227625 520402375 953184789 995582764 68173292 42709389 355758407 553521442 820845542 823958417 290238750 294665310 124405477 30713136 953992221 712458425 126600458 801751887 622936687 482755359 465754124 989790932 41473157 845213929 301922887 373959816 273563164 672038983 203251933 56555528 578635371 844628899 56477539 144132926 623181013 465110628 625058481 966211256 273287505 32764000 487358267 187640498 275575045 96807523 937537984 482127208 283472350 450937389 215432134 13144371 359678090 826056850 681824314 413322101 687812951 944183501 75050321 368289241 859342372 824792465 802990008 631183573 287977053 336270949 715734467 28488571 481541452 90438725 311045063 730166516 259656785 803316449 498828256 378264954 195224503 298701898 235799279 645046959 113936455 982910348 937325259 871928313 844905154 800445228 9348455 615684641 530253197 968940690 268979921 859108181 608858267 892925363 76797152 665032843 145950920 985954205 469788797 972289116 145657831 790768020 327058404 88131557 658119097 897303467 773390899 518190989 569452660 481220036 973567270 27788055 573318630 521341697 475739451 548168787 7262690 58871470 596325624 272128414 794982920 712010245 143739643 874963140 629465636 838705008 917232732 141938845 639248069 487730965 804047983 106616468 629508370 730322998 244820057 281729893 118020486 379639624 23970054 702927610 492315233 596646137 581892233 178865041 638629351 927664245 60947095 79727949 727264904 625866445 612301402 633079004 971904309 30917475 834235963 268002237 427076274 735832132 150104166 527451161 155138349 864813934 384243153 306452217 663028542 758929864 913188269 578794987 494361519 396137445 850024983 713076456 98471071 353114460 9062317 909944693 150603768 799603363 333718167 438983354 826250762 75094811 397507587 774218516 749049916 261502060 345081802 925404773 939336639 943251801 526788111 450084822 959653318 248266945 24657965 783521927 588737434 654334823 434412486 823746803 532065791 305253646 752834074 419537561 81645330 313959810 585595055 427211114 847612261 34004693 361020975 719682645 639244536 343804296 502910628 186678905 776792122 18849692 371733171 857460686 770229766 906276559 516221359 944424537 990052163 944224153 97629726 889382834 414192068 329201670 10426936 509679341 194149397 115894248 968619593 198900986 780101192 69270503 465589533 213367655 329350122 191139111 121704085 67368709 673134825 368568430 592192561 506512655 219951284 49655862 445739884 434754904 429256918 806814052 536985106 442512610 656569285 21447739 215182792 501159220 318406232 539477344 623284248 752276800 247546706 913529724 227919121 559968468 751889506 429766402 269225609 88481469 170783008 990926040 562086800 967184900 461195454 415952315 543849683 94540488 475658237 621126200 999415257 46130678 785292610 831489849 783905757 764634115 430195036 345374035 335981353 940292287 816779042 44437819 936766649 236077770 230364142 13140037 53812568 424493373 660742856 320457342 526618454 450438105 348620160 270713400 622834686 308550176 300327087 927869584 461595668 413096781 851670564 283159592 432715402 474544802 275874249 880401305 303778413 348490647 281848513 613545050 921386149 470991144 987537850 472951149 222418389 983650568 815534803 940944715 861074980 889973874 99885432 805151993 785000574 413364600 342753742 452240848 351115374 462941314 453676195 21381170 298336932 149545038 237861726 340550927 421800273 614807282 852109869 472884424 918237172 545397033 458644329 873193447 47157435 374877562 324859373 119208149 644285460 825570956 547167341 810644076 913962126 880077570 991424784 889950400 137974456 462764981 300208044 569194907 188738185 763117975 878981366 613641899 625708100 631919793 658151285 22680796 77829887 463288552 858181925 380694583 349630946 995706288 958800282 456565902 923187547 607907259 547837961 242278562 925998885 544579745 895187241 841326847 304153169 40132229 329474109 924400053 467648002 911011995 827671858 808849392 667514500 160292257 974419522 811086094 527480964 466944334 191840237 935003099 221528879 334420811 803738531 335940478 702447450 203511641 456926364 139035743 42651202 743379673 872425928 734511941 975474660 954263477 898532568 384351135 302368654 73890021 706555806 504049908 502397817 88858933 279866707 974930432 371986585 383367879 104172844 619525157 224594133 452793568 933736197 62664873 115209668 511658483 495923918 44125204 534931431 131674028 245392411 836204870 568080757 372199676 995654362 308247613 149822226 623101643 560248137 201935086 270944691 823251880 291642135 419053455 966106168 463307875 876673612 758172005 126138981 656702554 615140443 773104779 37453962 262439406 26069034 172904505 26700923 20296296 900630361 496010978 445025259 914482668 690888048 574184021 225494176 635450717 944625402 342085694 679812499 373214326 156509826 513249442 472379445 697371086 140019829 393025561 539082825 315540577 179209247 620917815 707026729 550937838 180951495 346145406 833328063 370021435 617907294 252550109 670791879 437763955 375470311 35823910 492875388 795345917 424879706 374464945 784652671 715957766 265466845 204246769 313552714 73559042 226542612 325269214 40228345 895819686 245187296 57557522 190767522 272042333 96912398 217375893 387638950 208392345 221798748 429181626 222412440 685315181 970080038 678034125 400847678 642100804 398818263 475725248 692084380 89770001 65076262 629771475 557206588 437152845 745022859 41698885 510381284 352101205 347642308 593305005 485016079 189625981 56541713 844728069 604137877 565097519 536975318 898104886 634776364 232123311 643592529 123555168 980762500 789673381 679877655 755184027 435277458 488964281 587781549 58953798 927786909 3762694 823878693 436639760 910236572 191595226 732561508 451235818 292294143 91254006 680772015 139807836 726789754 187869391 990029673 367928837 720728010 944830239 70613459 408640807 362476462 105616100 580148161 438448003 788498989 617407621 75654313 287271822 179914537 241946788 935982461 795213131 696274368 657518885 460449880 272286559 822167431 415587629 876576919 329020156 451887698 448532657 360696280 374006834 151160870 986680981 805040426 238904846 691573203 1515532 54082500 163361831 689009857 487872116 513927496 353895430 358166607 736163207 457810606 475592981 22294090 129045649 315663119 684992635 727957770 524191471 147929289 699846207 112476484 543603128 7743248 834379014 287580792 115471209 164152713 82371263 800644097 280643865 496322577 871003366 922894271 51590414 274464703 226267112 19704099 670547149 23553485 443099591 704623411 162754551 840005235 454680960 248326411 579203753 197774272 540683017 281309496 706602613 535632136 805882473 681679827 396945965 961965453 125033843 967365536 472426666 333819216 651990666 807219314 541938515 587274243 162156378 864293732 985074331 106035096 162766152 410257543 553254463 911463756 746824050 460339612 729553552 628463270 847922898 298630851 225031720 929104589 18630723 374534334 178193255 346123481 641707620 407101810 386305733 610317326 365909844 222190286 885915661 46178605 737551202 682505237 222408106 338259666 210036247 9812185 565742340 171240897 85044763 776028242 511915942 195960769 306286899 480942877 579046179 556287368 11937345 894522935 411551588 401715553 109022750 684109101 712863361 66442527 693765408 709048037 278290215 864722864 115687252 328739574 976359 923755566 41384396 458016525 634403551 300480763 314340651 369453498 749736840 393624408 323567471 457260079 999587817 427956657 176320933 585174106 347734395 854817302 492140731 603856673 560103556 698700587 624540295 736377930 29102427 899261905 777327786 932397949 710621025 14149340 932003002 241929085 306494454 458522592 552224451 970153194 476686607 638511459 742708068 678355455 81082908 375639587 772351943 682512632 224418564 173644456 146268225 668962890 955393859 833790997 326926455 118978294 786992280 28052396 240190149 855499320 553113205 277513673 889134094 206637209 434670551 618335874 66369342 849675274 202285265 180241429 694255006 909353369 88916856 813108426 961788715 327630781 790468086 596111995 134848266 982708747 542327970 8970965 529830283 734418141 484085141 515080545 971868295 192468640 189180194 632731700 206885503 977255007 921527898 408360349 389046553 747775313 903249043 589802245 808454570 351508795 632888624 790720952 246488811 848712536 737232363 880085366 106724712 988346374 21908447 318112926 815261113 100322794 880587624 199399953 426232088 120318733 360077075 409955193 517964685 22271082 558288106 889023047 776983848 461310473 560745444 299790270 885960161 517371704 888349089 621180164 892564333 822285429 40722712 162851588 901245890 354378637 519627609 668275943 289778746 678868821 120157438 71163440 154088616 82167487 825330647 60636616 222884041 913222647 935864004 171811144 234667836 111687209 483230488 968696650 928001620 995717453 946985389 25876037 141970921 481180718 576304533 346297755 922900624 776981902 723420556 859079802 174666953 271297645 265420094 482311498 169433740 534705186 565397183 650786346 31767625 316469684 412300774 168744923 973945262 254702929 9611714 5805340 162846297 93599693 571654424 767474371 403685676 864073612 789214050 469861667 689396600 824453795 599397571 22514437 501715617 410810428 960207442 637148233 960040723 10086090 455552726 813647232 651720220 477403952 419290825 413670973 167652535 586366949 290712268 802592918 949411224 668973601 37085479 612481071 467444723 140630452 654684247 399882738 512381426 308670978 597994323 357316486 351419893 538554133 879929411 307382965 348173188 914377905 470031687 150996074 969216456 132097627 376430839 582374928 194149118 304893589 180436504 380459880 609244227 823427239 269814730 604602871 276187140 957471429 612268301 736101116 530318926 685431234 756077750 919948300 947247490 75963462 476209292 487282733 712692233 728880834 860877627 403176094 57089034 277770069 160735236 546657503 522161504 202948234 972834915 177155332 837493153 81469675 403126702 487588451 386464270 527022789 494249261 782595886 970860717 985447313 826148134 928139394 256972988 73238352 207260979 516377787 229604212 982999326 477831343 339373113 910817989 759598307 50071840 434431383 12724968 872051207 959304766 417431597 207828854 325688907 758504949 689617765 194268280 289166257 431893629 633381538 665379948 376653218 574915875 55160615 28156675 129197259 883165960 216628610 937151013 554297332 145617964 315297450 638590846 729734030 712621334 788276003 51558298 744610030 24799327 602168606 923735888 178941538 170148558 43754089 496828918 927603439 141239470 38739256 562450075 560217864 825003599 291341158 290032502 240966076 995270888 154838128 248874542 182379148 945960970 378201621 540506643 4246455 822063970 883368181 719958832 487840000 959437722 842089617 987358165 811216112 882517282 817073542 974169465 597804781 60596652 714999940 513324617 4854580 546957500 945980172 294417126 54228252 74450234 456997711 337236581 716930916 99226927 630344847 605233224 769693182 262123032 332015929 505749986 82550702 100781841 405094415 822177146 787653751 895511512 365063490 232637097 109167109 619904429 129162439 614236613 783868371 512483578 889289577 153067159 897449992 51537425 670113376 593093890 57020812 623659687 206580360 932136864 251322839 488023558 504389168 152229496 621660639 405614915 41284991 439050503 552645279 125208962 622155921 154806617 670409614 238406120 142668190 347258468 99752488 353004353 347456047 435429174 44923820 994318405 52191508 272154189 592393301 176662467 960691668 308580612 499684282 262931907 652298999 682430429 734285135 795431860 393485296 140478658 323142524 494936777 595399466 189287751 912568217 103673419 849413489 632639989 741447411 871918133 273744098 39635421 475475760 169719074 346065242 186069434 233687497 93745893 161199829 213996328 647469147 672648552 582535926 928572276 422053974 567051125 597069494 288894294 35710253 170825801 209278591 148595029 586558932 843704755 473907984 680555000 497035190 890541396 906004035 397172146 250928018 790140353 295498711 5807782 376135893 850233985 231724884 256687190 490666554 286634047 752691956 396138756 683310676 463127239 872117198 945536032 835494078 997286140 419408889 835870965 160916171 45548187 538306584 106659776 886520156 88325498 385861768 836689045 991781457 448831168 188567815 328631378 103100924 829898949 967937616 205544910 617297714 998198254 376091534 907017522 900740145 509771230 478630251 596268511 925824530 724539803 321465170 275624186 998263721 787023287 270376626 996621026 169606493 342802146 656675651 635519660 846509440 533351595 298327860 798285507 828971248 276074373 990647788 465773516 909719629 58450383 730577905 759345855 402673286 398201539 786860879 331988611 771420815 423877828 104594787 777981820 107051343 555878053 498347015 353597728 618354498 570350493 622872859 109149030 840697458 142181442 246686879 212591838 487073174 878233039 188339033 819589079 379136595 858366969 719208484 320412552 115947084 438573296 296564526 643988881 606787415 397406455 554200484 972802718 459768568 760746123 119172715 751138489 447430380 744718449 805742189 658157833 851096155 46658204 884659249 222979777 272972572 964929263 647369134 261523879 464418869 92116159 396673386 888599086 980966768 607320430 365657726 185429485 323963886 568692342 587280951 247096050 791618843 168513343 459036437 845078784 266079737 123438806 942310496 682683191 656296419 748057398 241480861 636082982 668885244 678790450 319061197 599414375 234130554 452739963 719072770 736791652 509375579 150787585 823764489 865051371 809230827 444469750 524450 575850648 492398529 256480306 361842440 756526522 165208346 142513863 289251107 968144009 264790613 532061240 812755934 896643742 803531379 245719723 389848116 705947470 49632761 237655365 708290661 526522004 633300891 700937644 944608273 292417375 369464905 366906416 945430264 384500950 535962925 668995646 791696535 959133336 542576693 738756365 50782812 614403445 1779653 611252977 434213361 915216961 359665712 377219326 354645544 482186176 31242255 44940510 592810456 117446414 119380203 559476609 612698778 8915517 546784907 473998084 114753321 791139298 891001460 428449518 135953879 806916177 856065315 419639265 417387844 267314218 712556319 588766676 421290370 814718766 344839980 531563441 597796417 840331630 656301940 87805970 768197866 679749800 32997333 706107442 853009141 346965164 714116300 584378234 545923102 795201039 817364433 179839965 360241958 713263251 616821512 89555357 694900507 43945055 474267145 107022633 748786003 907097249 46397839 847684505 503764239 539297284 857029939 544856343 132962119 195406379 154157830 214517914 949018851 417733356 788932678 998420447 819183101 298102048 603477205 76316704 371433387 872094479 998524998 263035275 321765080 873680603 220434623 11019453 911206398 461935986 448721925 700340084 603431563 597135237 172135122 978661618 489848145 774344818 320492108 927136433 205516009 347346919 246829783 648792217 669118885 919749703 481425324 639480377 459978662 384472653 205190374 51393770 199956677 95023422 503895247 236830191 178099919 718744067 503984855 289723184 189118139 139166762 325280990 719922698 351186502 168803591 714511747 429793171 656641814 700159882 917660135 330558568 982619695 136933417 483470775 530245211 413489675 124764236 165844607 493349665 47291819 842280832 982618371 467866506 510492100 880788523 114987680 289563869 958877300 560845831 118473438 549434632 977374228 872926797 628969468 167873283 732115245 196931196 343721320 79057962 103887831 227079609 317798740 925695527 985467963 90210739 645507771 827730164 439097560 72515260 800466509 254102165 303354829 568115233 141973582 315382725 402576167 204335902 78368732 142442947 909057937 916320434 777560743 779634996 651950741 5826983 400318484 641247079 46751812 374154668 971629604 807903416 350597785 131632545 998931511 310353736 527065473 793580805 332079037 357571621 296587341 621032506 15455667 143578365 182739359 837523154 445071441 441485673 343940190 964549670 714995380 956804022 54388207 471616927 993658598 345791492 313727095 383126507 262150568 340520962 619262425 576824733 733528861 231031013 672924634 297850068 631646512 862699024 273897037 843531158 844583543 438520872 171943097 648682389 29450075 649576697 443166527 190384431 60671640 307611282 944089952 88093991 124733929 387087689 573250129 8190928 750263610 404960752 65736104 989373773 829134834 97053527 751481976 487934635 142744196 509343341 606372219 883336569 542906362 537082801 642707600 679999295 141526621 815217360 916795898 809393610 550833242 66705360 884232143 18047720 292466532 567970948 511313810 191011022 434901559 209238452 423754563 196095863 165161113 645463412 469621342 452517893 985299209 797876378 528725573 572477873 910106045 660028717 754244008 58153984 234456075 369509105 563321720 637368071 668239283 809929837 893025884 925620832 950063618 124006813 838743874 634876925 600719145 664278678 745670842 457416171 960367846 654250006 314604824 768283922 425655165 117350657 185936754 854523465 304651617 188617130 77825285 311664473 263677141 716252515 849784243 23273421 373813840 308759718 288738652 423176423 613365437 484790358 300457541 901854481 992727590 722522329 259643681 319601558 816448886 581889044 385533010 586561355 636504801 759469477 398662179 804734115 834960460 164560060 400774985 551725984 280313774 776903384 139874318 207076278 473134044 717669929 573705445 356153471 870056173 760678596 107580328 944602902 737346880 273782124 171525149 936639714 733173613 892170187 40024545 831121941 502444407 526509388 8396465 346305399 644399905 735287092 780911530 922208037 15474485 623934078 953858986 714237489 831965609 940131596 587055898 383914954 520032313 6121983 807687212 230140955 588715994 665561644 418736523 669200612 932297139 706154233 874437874 748993233 230215414 971700021 571816316 641298292 775143821 444503400 619911790 784467465 254777448 854958302 372116505 531362447 939304246 513999807 760400472 847597699 860397477 533179002 488657479 485908808 584081775 258181446 38765517 456347316 298017129 361170871 836408475 896583056 68069621 808287804 362048370 338790702 816960108 851932812 560972834 628935743 564250504 126816101 272089113 326148829 864875158 51050997 835601386 445309405 395601639 713302321 674427791 264844731 153684785 957793819 286868539 890446096 576631180 978913494 539315265 25408404 756823290 846225930 539697487 607028225 948001037 518937465 443979455 751346670 436530651 658737413 752792323 305776569 101909318 339882648 305717575 32283980 578113244 584262672 180361261 154222464 652073554 658342021 680589146 573540405 898114002 628676877 625914335 615647957 878727355 484870905 232260344 539542613 705203480 756151730 287892307 642450097 252166332 930703893 833126788 122307593 30194914 187097682 771006063 940408322 615956749 597164428 348453815 458452847 136863779 144404264 610766559 348789941 264240659 430340370 939574210 613898933 881896448 618686470 659225820 17749668 121775889 477838659 251754185 881370118 565527488 948486078 957875122 22303096 342566613 585731577 847298287 497857074 276146408 335733801 367874915 548246250 226986248 260331868 547324326 333634396 102227041 542649781 140331027 459167341 301639190 353583197 664026612 485860643 411859716 279975968 484823295 479465476 769822007 888678942 724084818 327658919 720904511 390268141 832294006 793377971 308829341 840264040 279401961 868582282 887100422 615650925 806448345 506391610 361725238 706947261 854565282 917148130 963102614 456559994 975064922 92676861 724484600 685067930 165418717 564153151 43845731 647591265 715560193 412584688 860079785 791681484 872191213 976326980 524811620 508580315 309645828 254965384 382486591 948424769 267587759 346416367 843133201 735932752 174457413 769411857 770324196 201826793 588706141 133510251 975782215 902364642 435236022 671027800 224452950 766583546 626462552 630327894 885993932 209613951 843670598 313247605 927432551 52347654 973529091 85411559 578330776 762929304 647795992 453211178 62173092 627659273 150156208 625802967 556103483 636603178 772483861 160507860 389809016 276587991 107392801 894092893 663310111 969993363 629070478 414205630 574067198 79058640 581018604 399832670 749914370 899986613 834654130 264678135 582924194 511956300 347989530 285427005 708912965 593404440 408158010 975694746 508118434 852069267 314691972 390963373 31159146 942660515 659551000 789879380 800894963 362092561 726243543 131806206 407576010 97699566 208009079 65403986 106169091 658363712 449944370 970227973 742042829 403491929 968064258 916663227 682778237 752632853 627116746 292358249 689484090 125437269 77142808 646399300 797354747 696921615 517134787 906628035 998467108 664465438 758821755 801203075 188345475 865034530 932289647 32688828 43654338 675037276 820311538 196389170 964628811 466335437 779194910 513683514 383564601 541682426 17473007 395277914 951854677 722311980 74151708 15185622 807814416 349416206 68879950 552229534 480042370 934194810 618479088 228959684 910864168 396912218 697492848 644813523 714352443 607849928 659636788 682906082 706034986 444181102 611064606 632822064 372401945 485932823 66317724 51016165 765256288 562161329 677060099 519626527 767576394 901150897 387596177 13560511 402899989 189592966 406933641 101099463 133348760 955582060 296654134 945485959 729059441 364332332 792699923 355127172 717045163 790474359 965405742 402985208 375291347 533901770 233828713 637592467 361898319 14706393 239783893 66271218 984384054 971363389 923217423 778779508 843369950 106353991 555419748 929683413 757087748 691364753 726554956 848365796 881689435 589818195 568177297 850676874 262606912 961028286 131644643 658433995 146995091 962655222 830349493 828668077 226104987 962792639 748159906 594949926 313579270 331454066 861577432 708002851 228144681 683618157 67392618 156204482 472855329 557381197 990617227 450585437 302891066 7427635 709080010 776171946 43167071 813884132 302018115 835277741 935639665 84387744 809485440 534030408 649009402 319049269 475424171 638679503 592859701 923075183 591395779 940085264 237026784 270921605 912328783 59689688 95221666 873786454 37790414 477565409 995871556 778703589 143305172 912459355 858834515 300698379 264400867 141790000 415789089 280567974 635752995 415062037 391454004 551246318 803404551 951234711 277710379 677775415 43603378 853068286 78396581 518700218 584891506 219511841 41374593 468605779 248471343 393671154 185364879 560956915 935835567 952157974 907748223 895821743 59139705 46311066 539851370 750942196 651499478 319394938 836738352 713020181 930345880 318168171 555452730 304896400 285565748 112774011 32684655 411634049 561815477 95602861 666981923 836643244 418565670 675125113 322841238 395052914 747146438 486034115 989156133 720560281 232148261 346572463 39445603 512876635 293824832 205863592 87862534 90095964 349352477 916022672 117932133 638814499 655844953 427069485 748199193 755596031 682842022 431217040 473824164 677430446 177765506 801973976 698614313 984638745 861022459 403017340 707171391 339685406 420481480 288412813 896076325 448658017 647525291 388789869 59996985 275940535 757767415 871471610 420539173 935271010 982691378 388985074 108329654 827481914 386191261 392879139 839138648 520885508 1360372 857475474 76837970 841535124 266795459 789614634 772297610 219605220 941204302 567941635 228772664 702403993 904806859 55418219 354208112 686490827 475938158 290011159 603761773 405501606 453551666 997276184 610680081 359529648 700846423 660555588 826442964 994754389 933711200 727796658 743776660 248706994 564800058 902113910 902313051 924326941 229634463 704849020 294525373 810823496 132796372 581334945 544818981 401841620 728076200 361931681 782770213 770142634 425126576 441352705 418459738 691853198 272472680 350069978 731979560 663793686 565512371 702822267 942254 972756425 276818695 408367813 514718789 556000078 79027727 65103659 686597482 553679261 269241159 388005323 240529589 6064879 243645395 72352661 286334012 781574825 353937782 949281862 838451234 768918459 254178054 615982573 627764854 346013217 637586660 588614409 675343527 341868131 874977493 430402361 127658599 446816761 792718044 474459978 928543003 172586654 108514966 962299002 268320130 631063686 842551084 510613735 113444663 325034377 89985267 499647585 478667703 446162277 490634920 59105950 790987810 603048966 841636661 591970846 442750841 383671498 892602453 414571572 702549524 215040163 409124398 525046470 672718420 748695687 202377923 884245505 865374675 705947612 901156888 126301389 103480514 880940515 282844150 259953578 201245555 836692620 589741027 846403170 440092548 767916680 129432168 854592415 299457703 976576943 957721061 879552084 686686536 138366399 391124772 817230141 521904719 899418073 10422838 29696095 586926803 208189547 93010436 876821868 706232201 631267015 557318426 543143247 614276882 570436344 712143125 875929226 439198047 902306723 546556834 906104443 916330791 928212008 993995824 198904032 406876675 877796608 614835289 696691211 432130159 387121030 569243447 643770451 541099709 989606241 659563230 107348831 526526248 168368452 158505747 761936339 117280665 355204633 322664196 58163184 80602841 124902695 358621671 750497626 800443055 159518411 582972507 235739655 267759251 97135645 690783435 804667557 867186197 441909000 39341496 171394574 756249488 1490603 216889020 969994642 884198876 701843168 3641926 346620525 782158875 216147272 470395171 669104555 471180515 255763759 154255323 524711090 642114267 134314588 326836673 229696570 329778614 919564873 656494174 333310351 157971942 322176489 727241892 253169125 77457630 477729473 1332068 297622205 943640837 112525299 500817923 67329066 1434738 590740324 983183695 509127037 164335733 715347617 287487066 568973632 505731174 7787923 201605894 613490549 670415325 978501444 723879679 352951123 515405520 593644063 42849311 525663693 742782815 120389247 505699253 855849496 981823939 810422006 651993897 457796162 116831680 147619564 450186356 352571852 305468026 742976059 445875728 500058199 178937802 239244440 630512274 87986565 911126213 879825949 466152846 165220621 385916032 220264040 460869664 273920598 598291402 644776579 393920678 534703584 5077912 451348891 582071550 248689955 500197913 43972293 507799515 139274168 408827268 428936506 901065454 841620691 48548412 287870992 253026426 414463968 26718411 286360041 62247061 548803525 999066737 785254597 271032184 856790940 732880155 72431979 690842365 197231348 9119955 612180949 169218665 163194454 106995527 955360778 225001221 689013508 714080396 623643643 824586819 791243818 85002260 334895114 253527378 5946376 590376947 324174607 580998626 951150137 13101523 608796874 178355386 177224094 223507729 87533645 722265476 784902494 364445679 726225434 107655897 658932005 661527193 280130614 402258765 866949979 778216694 57758002 243807800 508236489 8505906 912715128 542252741 333520242 567088021 868911835 682247319 567490399 412839099 279942519 908975513 549729939 486199696 612780862 928541928 158956379 456526368 294687013 81151091 313758654 566798554 216275126 912773063 673025363 779626089 766652021 766367994 211422520 941381437 591949338 401941687 417278476 898734895 286477936 921947299 163279024 96401239 950373327 449391562 740656453 274918958 206366737 163086559 246782375 501427747 877983197 927664695 50674384 891756493 925858777 229954154 201208237 908652448 617922648 321305886 885445324 849670189 49249203 652208483 432978578 920309256 308672749 49545219 158672270 735149443 432143345 985934299 174380892 502649357 298520952 170888280 536692238 164802497 805921692 363379784 560881091 282739579 258755253 528841117 498083400 17038005 511285989 270709604 901823488 192097446 458118865 577942563 379294504 281705051 887061128 521291550 903744735 327856479 834853379 485472197 916600000 225224180 796685261 206933035 451224291 889959850 934140816 947666918 916804553 108241846 104195966 609584977 476670960 754643533 536259324 464039243 799786280 591040127 835285246 387332315 415009633 497312035 488915835 926993848 96784050 387528475 618091181 219301606 646891949 192410125 128209566 297794580 543496822 353990560 995502964 645662202 245944944 82591722 198918852 303335578 383290311 204045485 399523290 647446079 797038071 598115758 129664575 911883754 986383668 46386577 848659803 162470221 440096891 673425165 204397036 158658088 133851568 905263700 295982702 580363646 890708173 443918753 133099042 240376268 97083273 574122928 523393011 759207421 474258143 108198857 234217572 199301929 918702299 768811261 65759864 129289521 681994261 479999267 90240708 893904263 47967058 431133691 42803235 405223699 579035747 187035473 551171897 338001497 112431344 423079023 325867589 204045263 995889951 45124710 112162576 892082320 401268093 519313923 99316213 491358379 662913131 508327220 264464114 241857887 819563708 415333352 282917397 266671881 239488030 777732404 101073945 869307816 810986716 597051624 27027937 406645361 39157345 424427506 572911678 6961125 155201078 500262893 697523412 799344780 771143599 626071286 694430245 809878865 962721586 946269545 125225880 961985802 273653428 893736442 346760516 974800725 332006645 675076631 296218027 76211889 953198019 55730597 772615843 32614679 650727674 263129646 449487419 823388552 962218941 802205865 667290705 997377997 136064055 345387031 136374635 832221696 282147528 461904174 566453378 724030644 168097904 122282637 645358002 806770340 850169167 542369295 994622341 396738086 901561872 416205105 85021997 463180588 278264897 643931420 371097843 694879562 451958291 224717757 428080326 818912765 223980021 182113995 910528239 959234161 135238949 274112199 272483496 54782129 186919255 526078821 329803000 757036802 539415311 860912304 326557229 44859890 82372921 379848376 248559049 194198275 799203478 732608664 721909913 395286116 546476030 158462550 577284643 560045457 836826767 182873702 765977036 905793986 472540957 217702431 361307794 351737165 431336426 501260427 451567485 505603510 298862657 779876860 575819492 635492619 110078519 903669375 959221791 840684861 878394306 422940943 483934910 482876626 134011188 569377914 108843475 465200582 637365674 650455915 97057205 631569708 173755751 617675148 370105533 718657858 255801505 233326538 611304132 721763716 824536081 259993265 384126015 335267148 290241980 182081801 124778053 251470304 520153279 294933479 948698375 785844807 566518492 795761826 471434503 442624544 571205226 164285489 890701236 685539986 143208356 359633741 215247240 39002150 115498504 956429528 199298142 999328952 343409007 337062408 875303015 296339276 89395393 184842142 875676855 29268378 724161624 184343347 395969047 276124875 563596861 255851362 386223059 633097859 761122507 768063888 111557318 943048153 502894711 306590864 230748208 433524922 855587190 835636545 786343935 545513571 109023665 547828363 610141586 52577646 192114092 603089952 36238174 321440169 324372007 106659836 906801431 305356090 481858904 307221958 355370633 122525750 838345228 197968155 330405450 51779766 718366772 467885454 648612788 127423786 442040491 320246144 930760637 691841474 716723385 152048299 819916248 439664323 587901542 589222469 29454838 491851444 544490241 901684193 142989954 687757570 93797342 53421178 659083155 643739712 712063932 808306000 794966713 849924024 227145982 239085993 217783161 183121064 244563180 931599737 541577430 690110171 415640730 799668757 115142929 967592551 464214881 133570139 460438286 677825352 870348150 752164301 630538134 403240365 573000313 593616392 266508964 92034785 66368341 919028080 712370051 489202282 181653554 394488365 381793220 848728236 652325886 380184607 224574304 577490527 788580575 745509349 12188221 446205595 353027981 31645018 835746547 600858036 445099780 986284492 717777233 456209868 183742841 127147496 236163218 901299124 45358860 727742718 516399059 751162887 598417578 426504781 625273184 682743702 591966042 467050633 945503648 510194741 725698736 108973523 249348041 909310552 971209990 554093347 312574534 89720759 741371996 934955721 39449231 984074883 665807228 155994712 657267333 322049506 615265321 447591056 755847044 15049523 33387601 10384735 580072433 829690701 709736591 362356059 301551349 22465001 854070622 540723242 775931462 870049021 816063412 541603332 191902367 43949468 167174134 771674438 10904899 68519078 367415429 557995716 126937305 984053712 572985164 677759273 381025437 408322319 759178337 510951596 118976099 35540957 100617250 813780088 468199319 253078552 746751795 304343719 722088296 132984646 364708263 59423455 114655086 924463929 663706924 405741881 68570369 6803473 483542214 152720475 281046815 956401473 404231249 506261831 717561165 196765323 270434746 584420579 82588086 159540696 479472914 295635554 723791122 478541483 515119192 252553328 496230441 700002325 144948042 543825675 357843099 398550857 806529565 701398622 697355137 161345157 173923522 385714596 782159457 202959168 413122477 591402700 29780339 959353145 724628935 103016660 785839522 886092536 680280860 309716423 977989053 486129323 707070151 701634792 95596793 629073460 939921553 923709927 467207241 308913963 695082193 352070511 52480116 141686264 263900587 81647326 677932354 164185055 136099384 640311080 954071391 922832111 896731850 93932390 149946408 630417731 85785492 297331299 445910369 396189190 896714922 337577304 338454865 418012606 69912460 791673332 866371386 76227541 389216365 392220337 239004992 91991474 24416268 50025957 156910537 943764839 564347775 745121905 640933466 933540031 671077213 995071265 962419800 517504594 991068618 605110942 539741352 238458608 202610618 739575147 906898296 269713903 293050638 985473439 390236144 895119950 909454639 621445184 495199502 26272462 354273054 146299764 388790350 82303851 547676974 744066095 966104987 996021131 457095036 289475251 257573383 338920353 605733815 853599777 402675074 876138935 361256457 960688083 694488353 213148585 309287291 694870140 897816405 355040617 253001979 237976028 433636946 697789349 333808870 6623732 815793424 329055829 117200198 287339253 811121537 917695340 699901617 742342837 831408976 102638787 573641868 337548947 583984685 992847613 264345436 298999423 107123739 109094690 473020578 990696280 982909878 299035027 730786810 699817269 724527699 934637297 932623725 55755757 930480569 675318518 563950809 42570216 480665798 373752065 732139759 73419227 589595852 415893940 617566124 242268601 727376937 726754360 949028791 330407343 955000147 275896742 471437710 13033397 720046292 3076025 227472067 939858595 233673022 765135005 977862650 874700977 202991269 831352180 225220102 188903701 834031416 303856051 994073831 349278263 950134822 580881161 95548316 512492963 975427398 865079943 533609581 494504849 279891122 680855332 867385978 846079268 663862725 371635758 793280509 662801278 897798368 329967099 167361727 259356619 962924675 161576524 321708621 225985159 949477272 21974789 861039801 934801803 45907842 125001207 230739868 420547184 337222565 320378577 728183495 701412775 272291034 95476425 474459949 946324545 555184668 439495626 28212189 605243671 143182141 831249749 725947125 241233767 300098801 928468426 613991970 167213989 743856523 565692256 860877287 373028263 839707507 710697310 673753010 817985958 591052552 754746897 997918571 605352592 275770 452622759 447620444 527523143 578516951 509757586 1387819 636144055 413835124 460264435 359782226 877056252 185245602 542933892 599396729 505171325 68256548 144951256 505151564 234986721 357676628 857219463 7486931 937071885 147029568 748126887 225550887 137691357 199332747 415454322 949259266 958095674 987773772 26156294 27402699 915958190 611985602 447002790 777222567 401862708 886053648 580736988 907540779 238743021 943819126 792542044 25411388 677707126 645662210 884257088 826917330 143524544 513581333 607797286 835237065 480710630 166514433 629975079 1254785 810102959 46870693 631065197 791034378 592499691 312447183 264841478 596705292 57310706 329322320 986875132 41937485 906738621 781368040 93269041 959893811 536419290 367842286 29697507 872825032 130303172 85903906 170454128 67904289 312677640 932655870 367101150 12148594 532713618 623459196 383623268 891078178 513263734 132166403 6350700 690434851 387535211 298804106 909645191 163594407 488207439 697045525 541983913 515610616 322563084 144487090 152105087 507617342 890686814 69314908 753994434 752493448 283667955 61716651 624777019 905879458 524394482 702374297 24917603 139949955 814749016 12806799 504312797 480958074 406362311 212620254 140354850 792791752 886839949 281630199 657851223 84419793 81564398 60176468 702440339 525837545 351703501 57612269 202399412 447371886 525709162 130509546 404908878 441836201 617127080 711600308 333105685 332376299 756935461 340294743 211940002 36013797 996949380 804598020 301265172 855933471 300559461 852843323 427793971 363377751 77085771 118834023 127805197 560865397 102980995 352411851 865062827 669273042 616305237 569198656 170296163 61570094 734394737 146933171 805675067 125925734 449055546 732754638 492889683 391404769 863153278 347155311 980619808 104846285 492656789 334114166 67605873 498416418 798534765 913766263 520713863 122508215 191714861 608915467 261522988 824671471 361417121 658417036 794867513 673428534 266597065 544360117 975634376 135225304 41162309 206249659 334420139 339295029 975045131 394751413 984169916 672331332 840717524 492187530 459918360 120698410 679393631 798423161 917926248 336413768 207927237 199328890 708697100 378109684 421266881 969812083 191131115 945882996 151383943 55108726 129786325 421897281 951118300 666207478 31176547 983579781 739197080 760549368 629889794 516929391 650228290 401647023 955512110 878342027 982816056 915165271 569109610 103177346 13752877 266816913 114291919 173460545 325877617 576764224 950249678 434260616 21628082 901741689 628175216 517616374 395180943 723540382 395123504 698818680 474803419 88433124 760304895 296164548 831688101 317657259 148435832 268910276 614859645 46813105 142060012 528397224 712709612 840930014 165040851 22300464 141310056 645795121 101329762 116452529 681361816 681320601 320686484 122595766 154340318 849047442 661485102 989629309 853063880 32183058 867833777 870782917 417585643 984625558 625718138 325356404 578411719 371431811 157710027 519967568 584735532 174969879 508691027 477682852 408253072 226022834 3134718 255164590 31389549 636548209 363543074 9638765 355027439 969323391 927914756 472543873 666390501 535216153 521234386 405861584 892018633 907880911 973814911 838015594 919222775 92330259 181228349 374921938 38622492 449688378 620889664 498274104 635642271 189876514 546718128 515327882 858590709 313239723 919525460 430032415 906491861 877948009 225150137 353202029 692043008 580578875 983985017 781853529 91345884 86097388 400338375 176969081 560889656 48994861 125651082 219850567 239450907 928955145 383037765 786105070 90579452 954730817 26087031 984162816 977434731 787153889 447872856 408476531 668128680 686336317 264491595 867251206 440644851 118427577 618039319 673839418 330843896 33636560 783518025 953078040 334066920 848721195 251278434 873677287 417294491 650544750 771459436 60143476 724005757 294204465 509441018 961702159 195427318 623529818 208626327 641103084 899887583 510961118 700027618 659101831 105899777 870451649 719254266 676891983 90454785 233602013 784369557 93943592 865546659 278535852 564158475 284018186 471182426 843876319 950467900 227942745 877590890 592264433 802197551 421578754 575312981 155425179 560774520 166133860 942568786 534826355 226114227 398425721 820168677 9848763 655589608 738177027 36132586 597942963 457249871 636721316 142394186 947228377 749117562 359588092 257391383 214724648 391086268 193621750 725013966 431129880 574194862 309770579 828367060 107821455 827574785 368608967 696501137 205737350 103290622 989656818 419834861 234146017 772817408 963564238 856533690 333624543 295051192 162503757 20408171 261222021 218154506 128787721 828545686 427174717 501835111 323794147 642179567 713071730 159412210 486071160 75214283 737458140 725866998 325260363 65818502 600523245 79361132 50636596 992189277 140833989 682288953 167557503 391265505 426567865 479874431 764309968 523527902 14449085 252986197 139282703 54570911 752183044 969182511 679724549 884588408 968253584 315953964 286330509 437286150 482461672 401291395 148389047 680940285 255036581 136083404 654866598 473881474 284744134 651035390 91643248 172873843 203505027 466990953 496812906 697641820 650390764 245482837 927124563 75897496 759584089 253511016 897608859 735601463 493517034 946707867 610612169 249330691 993436657 748920913 68744878 317012908 724492967 423405404 627852514 753218726 699434492 179853173 595141696 299793501 105455511 119590998 420516118 435805458 55774203 595382125 863683880 416752502 10347934 553294985 373003610 137729695 498157229 902604796 55096059 603502843 442641307 660287418 852650608 787516786 382301569 503947725 848604734 403495205 447790208 175689620 524963662 183104706 888429659 455250993 587887440 121513569 967199348 90243466 351605280 57820343 166679447 935465789 207838266 195820863 421234516 909290199 931760820 668823099 121333090 105776258 738003211 412803625 311391976 899075200 933732275 463617122 876082082 928505248 136119589 371304518 550702933 116867641 650647421 76365156 192550731 473966519 520084225 133792880 775232592 711872303 326142187 369286910 792382089 947574744 1289587 635624865 575387922 437245969 192026852 603018590 380620723 925689785 797132236 673523284 834085658 717019893 392530491 699060211 840443785 820417831 442650639 241490676 52019606 150832877 410121352 378937748 967574727 156326858 551942463 943911739 54072479 976537882 342843813 172750321 266146083 100699180 228153648 388369305 445874816 762740196 408777611 714348099 135106716 739272886 520654926 79481318 873782752 670244749 623111160 898153332 43692265 868219630 9790332 128689847 177804394 514191255 30284305 176316927 441597430 33950984 103030961 702148593 329837926 837692192 728342295 164775876 859079632 192472914 100000154 165947611 820250524 820043587 889660544 106184877 545202945 586761811 272691180 756500842 308986337 624860421 548906170 377772468 225183932 124354774 935673543 460091532 621968796 808700172 275091054 510939573 3735318 981588616 777743183 175348906 889900536 116320815 365208146 905585913 443505191 179065668 488715970 304641545 437521497 661402610 943716992 112808788 197185421 856518775 466576760 586701511 828188889 632871157 259441857 168454784 266917337 873575284 530331907 546500819 950172761 827919340 15921439 532221752 537165043 996448257 912304279 599478155 111837117 565827667 636828381 979455591 174864766 556995961 621214771 829713829 342217586 539915674 91047433 371673374 633084472 73862080 822169189 745475405 719826284 954201079 388967684 989571950 748950939 19588760 254094986 304044037 150429465 576860615 17404288 817625774 55097014 143462904 370536382 22068037 29667867 114027428 728689200 816954471 222301844 835868291 498798853 962377358 617361202 85197295 912854012 736315247 481623338 593280480 465707582 663203504 580241111 139169585 973163927 944291464 976346506 613180248 529468810 770573894 746207839 590099649 536467406 863900571 686963425 253166365 435459185 139452480 666026256 793156537 202482527 648818033 842333867 161244117 624948931 709464674 93786997 41741682 230773726 958499555 988543431 103850864 812015825 722959869 368061618 192315232 487136577 999941410 460322283 590822376 595363184 763166744 339771844 837781442 429764802 369975698 563721448 722168473 795522466 481038778 625316674 790176828 54756177 404101037 981092113 25548733 310337895 345119144 586920729 585510564 676918124 383619399 225650269 657218061 521747748 754784604 484267016 721988069 637763606 53199273 764247231 409557265 181772546 959354998 618354135 462734797 15020918 8299246 386788063 372485598 67405531 756015245 853444093 909473524 768777663 161239369 251823839 773197142 454005646 566568776 275819035 187314937 621736734 709252861 173404192 565350278 152675171 574653586 540898774 252734499 908326284 790503610 627632757 202614264 339451341 478479812 738647227 315106976 641946639 498017539 78721582 932044489 482390795 675608692 687983194 746828122 352081228 402925197 588052052 411122001 243821964 69048286 450256212 865200221 955527867 694692540 111477763 403672167 378799323 163959213 592086890 205916459 509074931 638931605 303055174 380226713 520286549 916526925 461476400 667373194 17669417 362266785 860261844 419836620 314984035 683582231 861819121 252404853 890980692 236999613 479139735 178959697 820998501 340710705 739217143 574163167 263938004 570320070 315816078 938906991 373328091 349254520 266425114 304004923 80244412 746263985 163763802 229126751 276398153 908947193 508412320 999050426 21808376 363922807 773966087 440457618 910570489 571933033 894851389 890390515 494028203 923329381 306395627 565611784 652862139 584760525 506707446 140181289 594140648 680199475 789425860 531531180 164915656 867639013 153434429 619345585 264226324 847717371 210575499 266489801 485756238 832278629 476882863 947807982 140300851 739944944 495309407 281182768 570324183 963604118 156969648 536592978 373290759 733048236 168951565 880146913 422201063 925190970 805757922 702672914 94153153 872884744 919786489 360771387 520478303 895189810 553232706 574095384 967762984 250387236 71770055 820110684 824480530 804210662 137011703 499265008 659233871 116144962 636166138 975127130 218200952 568060956 533049825 893587302 370659760 740351447 926356763 590500489 807422616 425537670 229041367 687600538 394018107 99412421 102281926 756906117 954654913 254807158 849532021 5738593 953716627 138241209 197816396 215162631 176603907 659012919 513456334 923231649 711820199 685808559 191355737 559509947 303859625 834230041 485492730 73827578 819006639 253638314 512037372 553392458 941356830 782971045 332231419 153832935 837014496 724561367 409368400 452463521 893516109 382257673 930073723 335214898 559449360 915189131 951145058 210833985 969754826 964439039 991980243 343075693 133705453 82877364 892393314 996000810 571890444 358837137 569287091 805516948 605538723 397046845 711294816 85336839 446799716 425460458 969979836 165097282 883000455 824032224 366348113 656397065 398755033 517685313 384208838 982337385 827766159 963901570 915492558 256680926 751308404 376089930 576101816 105805012 635400502 579493595 546255362 323770406 415300423 656997606 583454573 475309031 836859103 432088480 800598217 938983956 793736306 20323468 922472216 975571055 347670476 902292194 97446315 973914704 402146471 759945245 320191332 351907177 985247021 767702309 442504139 958578811 224264709 311552479 492933042 914630213 428135319 558865528 138357904 216425399 604737871 503104359 617834819 867590360 140660111 382685099 672451851 464601456 403621313 975750129 45301095 690289165 181809528 574200951 391152400 446944185 771451240 861998242 196874180 496390805 640401747 283181596 52186565 515731620 979619356 397781804 346817134 301297542 941229918 147078079 342513493 164560258 972687388 745134159 590433180 259980352 829980306 359563502 427913148 887265927 992875007 682687480 34327160 551876485 852955940 33390422 387283374 950940656 866454704 787938119 876886652 906930594 782768674 690813076 621023338 929206256 956351237 530927128 758820902 889340868 320181385 428441900 576466551 216221823 689672485 18485137 799281747 197134538 183055973 913656251 31290800 122623822 540917035 664320802 846948759 886459522 939496621 309753836 678683343 880991474 849854251 717732509 437123091 649236954 433886681 598680101 746443692 764419478 1567740 441726968 168732137 308035313 985241297 735512014 544427622 390754629 403267110 501762170 250116223 917137735 781683597 540202523 815712532 687557295 875070007 260966489 578186973 372234110 483109585 498458956 718036339 218358734 751655027 573336056 886075986 66879061 555291355 156652743 418773679 16365646 182192769 387994605 807909569 348487936 592153113 211989485 344827386 277342443 702415990 872818466 276883941 383157196 336913713 970070920 722143611 345927206 158085189 177627316 706050756 53761994 589488590 80361505 143897767 595604297 708533095 81509094 879056729 892229811 334640101 600208464 54142023 297109348 800567283 795057081 954737918 656317713 502399611 598547952 826871860 419601166 371260149 28376971 876454045 785177519 157765757 84986438 18004880 938067524 490398646 566625813 639922774 538605225 546209579 782857851 250454224 906206790 859624393 456834797 566396212 364982425 264590902 586260597 854323977 666437968 258547853 719500388 152183477 758450899 840970481 688004079 272925095 631242799 612945117 964064001 815200637 349144416 512275281 834364451 806786355 700327108 683751808 4461837 291888373 625650713 378762956 218548433 889558672 845856229 124260214 578342784 656452466 167068410 8730366 54341089 784319668 229177361 589632079 323763441 832975198 979923663 760607408 599285721 654435526 486370768 160096436 337161427 561972782 675431330 224763166 340410232 637974710 863757073 898216396 1080029 254839588 201634655 348030174 12670648 607863189 32776005 362581583 775700643 857107197 91567664 211936335 727958159 628719093 63062535 632432458 390029301 159199 971531404 470099933 774957840 603710535 438404689 109426779 877074924 135521335 820312070 432758951 13121643 319118562 365232622 392707121 591008286 20890999 562645132 12734337 649845782 273391705 727666669 332296019 961822227 553231326 854579641 879205986 157595507 177859294 47050805 19302246 983259965 179704725 312018825 677142006 680460862 399809992 754604574 157915082 822481402 296352799 972795738 218604978 544326321 800474585 567910301 344490582 494173983 814778851 166840329 721883992 145910716 357111651 310939481 127791867 169765629 233845114 330401743 704410505 288649214 899506870 934252323 387045872 81832383 563758610 690397131 742819640 785047342 968820796 298330200 321438367 496222271 724428372 233634277 92293562 87371470 509456472 71155133 855343213 42979315 295201384 389917843 745872310 688134167 368509616 357130637 258189448 601783258 619343355 50655256 692231575 54075404 240120753 663542699 576255847 40583726 858205191 995552079 223830861 777474660 390659338 700784369 762309040 71387603 947541929 848858580 328259137 764408838 850698091 67713543 74525275 541018563 101789036 353720257 861890093 132541326 291047020 792881294 590434172 108105778 496697351 475947471 12141443 662519198 803794423 638716787 921935735 933006383 999044920 147406865 496838601 806738879 802496821 922866452 847687943 998672252 228976924 632626021 388262293 517207851 165472706 938321283 121429958 261102845 952357394 281856737 978565694 624304824 53267025 7702339 624250704 937514590 352764200 640700515 321036935 151258601 85647899 292170290 969693900 354068415 762783458 980824814 972831325 153713320 267199225 961542035 849772471 983934543 917522006 286605173 241099741 779303926 998288231 673207119 913164312 261476989 275298497 472994458 335283116 352167009 204055755 801512463 736480892 69863009 81295935 187765061 243863418 80364996 724206968 445265142 409335639 346418824 753404715 190201742 688570782 514862609 665257603 697798808 217625928 416250904 517859772 777973312 269141622 767899121 852758024 602517842 35692923 551925150 573678829 298566209 613755124 565500351 821306179 195793533 448888458 8902280 240652469 390945994 183173528 932731475 475229041 529605952 430776253 74751607 71848780 660155826 120118712 68397287 228411855 509014762 719867388 379388604 728302299 775771777 738000842 147525578 774099504 458354064 132194476 494768063 722380857 47872361 887307379 601473277 582344334 663628296 111097868 524440193 947319942 48078363 987284695 945496233 42518587 874521335 71218080 339301395 491185149 693867579 367327213 105450839 36192623 481387169 964903174 851568623 819836744 200524822 390879181 723976427 199019703 133209201 646666310 122689752 59147009 545515618 214393850 296650841 610572784 696637037 949272410 71514002 599243681 970512221 853221875 330299952 735621599 739470500 458802248 357662934 671835635 135135907 488633272 222254280 502691247 935329107 148202171 671810125 712701835 336803084 370058067 702034304 512482710 733094110 128710065 913940103 291082541 341204174 227696211 380119937 624391215 139380821 994499755 607203037 551847746 741549282 110478145 763780774 555501948 57691228 364764048 320578506 29634425 772733611 701289428 781926863 619344802 818082434 473092553 246517036 59703373 869755860 893051578 392859946 319577575 496373181 902133954 533969153 298822480 966106997 951234424 490365982 408463282 996494960 633306074 552800790 251158090 888861697 482426176 34357868 859788394 788263539 42902311 14741636 513934637 464482724 777161531 44306254 418985037 437172109 657806484 487327049 4437886 734483531 536287754 353072795 553660216 296259292 126012989 162209802 845657989 35250558 867302867 976336606 592367912 456410801 180259935 673429672 704777195 859833772 49770702 790843863 287078566 52809898 755176756 765640499 352278778 169414399 107390030 262186308 539043601 148928658 679601014 392111456 705008240 556727842 391633227 519467677 431044161 602719850 320857039 225560781 424261555 852408794 937085166 215081120 759964888 107084053 91054801 282815559 81408 411143533 79493304 208305243 319348012 226866549 271409134 448289524 430684670 866076978 156487883 898654990 359711390 330125583 860088967 247440629 564568502 740182416 169367808 830902596 990691677 570156015 708395181 800388616 158235372 757175340 606991717 305299190 124890298 997065742 185848175 196187750 853213034 62321072 905310794 534473187 60473312 389743571 846324938 845124123 785155819 925727144 25302751 154906308 623364472 237844701 324361826 457503219 631829377 123271327 806382138 739609849 552732347 3070462 187087317 676988597 690304708 990067805 533837141 205611648 423749115 504283122 629805574 26257550 385282417 805165537 538858117 239943961 935300408 42479425 547917816 353994744 859216906 984173556 644182688 200075780 988249636 66378029 305363254 351595465 409483457 487419256 791292583 40769546 286639679 913678102 483391680 988563277 871684186 577902130 304768770 180198415 429147706 654046274 872527182 458074573 54758023 270999469 250099640 220363562 40397226 337387883 411095855 827262707 534989044 887128802 405629297 794229311 162694022 583758518 721694910 356514317 754675013 684041024 188761769 624309689 601232677 224968651 207663107 143711443 697009329 769384441 298881236 236359476 779464917 301365583 771334812 676995224 256051001 505245119 56102785 13486909 681343170 508432915 964871504 890052096 389735411 233806949 322890940 853522899 512608183 946784245 611826021 754522682 491166978 562399615 71706923 921793038 825188596 79263291 419057828 744919666 171915050 210321047 95290282 350691284 738073608 299744970 135627879 527445209 425453363 487124860 717429826 667686549 998419550 115671997 527126517 150874045 656760467 55569754 850970101 567052392 11625654 80172049 46806000 723917110 790364243 682182014 184738392 133028348 58098610 334078693 369384171 904265658 695142587 946277141 694972333 133758939 820107188 756747890 151703631 588191892 770132540 916165023 474764931 780362582 666261165 373379454 558652859 305715091 48973857 611633812 112148381 612858719 233818150 194953188 472381708 541034695 172761171 449382902 284682518 668857970 813555153 310529016 824684939 127721072 943722285 471846830 330501563 196427943 948077245 997974495 363709518 64151134 299987563 679101599 265507354 701979004 18707840 66290987 761537614 717288306 514274319 346691236 765246621 616323769 205406348 729466648 323576990 896205247 666311635 535484055 603426918 444213761 495188203 221741306 493657332 996453811 649125653 864660633 26897157 868713569 519819639 891029792 660428459 827921079 185562790 346346540 773974153 538244491 147657427 55724976 134285290 269887242 958016958 640995971 228997497 387969797 347335834 458014767 304480410 367458463 44910525 170371431 651392580 765687744 568061684 63779773 686230310 575280477 808969465 980874078 129368479 123037954 39380930 746089287 409819680 354246168 847774297 468773693 523039185 272305350 887707608 526010052 42255394 429654399 456195945 929586974 195996015 992143901 821098490 795827291 603196383 622979415 720066618 196703036 737241250 646262241 399755532 133083733 664590916 61427196 644515181 35096506 39293793 934077476 575678879 308747102 505971571 663705648 189252035 289642677 60032244 450080496 361702145 226683384 100642500 116454006 817284985 814639199 476247280 539020602 337090792 779482997 869693696 239271508 274293609 374301181 840900055 600822603 700911275 112304784 228931862 240284721 272440522 100519187 431634561 489088265 540152367 508175375 869969060 46209229 692595986 472255240 349362520 83504469 446015684 826012195 960983626 134704618 488414771 132574259 501962224 100758842 547391678 106044285 849030103 621993368 324637291 68413260 921655772 492927981 416569419 183336587 450244567 209201803 396883044 311169981 863643111 676465624 585277176 767442918 698604775 604235189 948921072 241473155 172266212 99503302 480125106 230856646 976955580 900673885 927956820 403674376 393015483 292970251 795923044 7869607 383648579 551776152 328576347 934398816 834988521 882226210 913625850 949368511 637961042 63596925 948913774 776240930 26965153 884977057 923368147 130548673 760337127 635777051 743877919 31600936 624770646 128220322 24027507 773400812 367503699 479659541 910018498 675313866 116256631 967837222 23754127 6091449 316503781 574088070 659068698 409617434 468145509 396490144 299613401 199046625 966282461 595810996 917659568 257879966 20533786 470498301 7676901 891095067 844734846 851664688 857778886 328532155 305865861 139888419 798117466 816110669 169754258 432998851 128682244 572180579 490008187 429238191 912130113 694519349 828062278 151604344 568838342 516265097 74734478 358523997 139399337 353788260 905544221 625291333 835364800 804506945 501470516 177056722 220910093 848296274 652713313 593537439 695374048 481069017 286254510 594262690 433181620 40415076 155247255 335875586 62602069 924953368 296753003 180788571 608433452 578479788 433235033 754906039 322143211 587684472 937072945 31733743 403039744 311183044 139979117 629056057 551054953 71981877 793143648 491461998 536884092 752272224 305103484 143332779 736390878 819609428 220895467 851219428 363212926 943998576 674785926 37703668 545562284 277949325 386830977 544156857 62923933 915265712 663710200 684145630 530541261 438394874 747341478 484675030 481141977 11831144 418449796 656346719 626114477 185460040 164200138 405697834 231983024 207923534 16231889 454209024 253749938 25160587 209067445 854254334 244955248 145780167 35061283 289875507 40978609 101214950 376589557 198344933 572860138 814795473 605844224 50630265 223732064 450857837 591128471 601153891 135769541 85980096 891368725 422711608 652871098 500155079 950394747 163456866 867301588 464075871 634399652 407699331 438230370 285570785 132955736 230912071 364132346 199975277 292293499 359234244 681816993 969925695 742005856 498584923 343990643 508290231 591253530 969813197 61613535 379861421 248959462 611625600 286897817 527218866 141205519 584003101 941722048 379452647 253489597 833309576 128570930 451381008 126250848 402588866 701795361 209691268 134991178 288783151 805154533 1274183 635135848 458796627 57956012 149632644 450715049 992382304 846541658 882718181 141955421 829915295 802922156 820389777 726467385 972736943 490432936 759496360 25310496 44101640 117955069 208372356 556640846 793599007 710283836 167409416 335851822 234868228 876781338 95299927 940927403 946066001 785157887 141141957 230491852 126713217 231918070 588375562 874783337 278829841 115440396 981385630 828677447 445931423 403872387 486312095 286183051 102925887 784423840 372577299 260808708 481100525 752841126 703115840 282460629 517680735 260560427 709880376 925857634 332491124 127214609 488571172 522937816 567819858 145647587 735332988 819716091 639121557 651801873 728793897 879820692 316578450 967159214 924141987 140826287 234340124 701452142 381283146 509573528 225708852 601312487 896059809 532442527 240547576 463949359 859802408 331413807 975664622 254537872 654160997 764300544 482428837 503625061 762269253 695899842 515843576 493699818 738217276 397658876 537849005 457370538 529828993 170184174 980241432 574483319 842378239 622378817 878710481 386888121 477032065 610155252 915907812 407719153 420667460 994590764 566179431 816797683 59936131 78253373 317678798 961321529 644683497 877611234 497518421 874799158 993129060 861163040 603470856 914097249 174637450 442054815 375496758 426822412 59871602 199733488 774298915 22610263 780571785 413698296 209000196 503554638 630166513 905966815 531828000 595267666 767976350 970663929 150884398 722882512 827411936 448095567 387694040 822141545 426980377 381329351 646118393 67762450 444062272 935328143 397368154 47209829 539685572 956671713 625894844 5212490 926242119 743306435 445978256 297614526 253866994 785398616 475854701 238283353 107712501 588787230 484708835 244890930 505217945 473369571 917415093 624068860 394447450 634822557 815624341 918159598 590641040 137562092 363304860 12208647 112600221 983993771 79153372 182275988 163621120 234899005 626111724 369962504 950328292 753850591 961260481 935823828 783081183 728185463 552353882 67757295 856972433 959179333 747331323 299055678 111701712 833464497 353154375 772816920 527262936 456490213 30553383 716265933 77092052 765107165 832025327 723198516 658845315 551542337 516862724 270260237 942624155 822844258 370147040 158099492 1282194 833895461 639439101 713856459 507237284 480192642 989486207 351202818 368064416 23154522 119131653 86916916 145606378 783562044 37743977 147204760 716912072 689327020 454584881 248160008 19877967 549868271 533429506 743654530 174289510 338868411 412838228 821264993 124414318 689016854 951041267 154969246 409966954 516205394 615564002 972098202 164083507 941894231 238538466 417325010 597114544 952221616 871458832 222927201 830152371 461908328 133075835 367817950 859243581 990055976 842020430 512967001 786898902 293335437 567642569 350976044 681004878 780199591 352557232 411080860 293989586 76153713 933676318 466251942 775091425 744218439 568902118 52197363 395761663 921034433 16379166 795208392 330890045 273746792 817362782 713693475 629167516 17068118 717554232 727233425 303108200 922793530 679319299 452195119 218629716 112979203 488717108 40165340 367037558 912580264 944517768 46581506 504218501 81971328 569016428 49458006 539288157 993342242 765922278 596323032 518200653 223575642 383252913 902707238 464854798 953278990 56754052 17264020 531089023 408449944 313511777 237783951 330013125 397838710 266214545 825824328 961572014 436496061 448122769 758566541 942622399 870266831 973698260 576372045 665931005 939911947 276732312 500961459 544901203 465336232 329903316 962425889 750682857 867198792 559749372 874792675 874941172 302037568 455955427 777241614 116232810 562653240 427202587 915700922 616316143 524637384 523264697 738072818 956280480 435186497 797259273 362375514 986000892 250181573 810024447 405001477 360788528 723190937 133823288 678200364 739670550 307643972 573382695 553518499 552329117 920074683 937309851 838382325 339474241 59955842 993389215 701994435 793175705 644571431 689002023 599448695 219970802 596148047 739099801 452591772 228993512 659659674 743829906 142081570 895247859 901583552 378030501 566679407 40929763 3240917 144477104 734224766 594290362 492336638 354217864 182270246 167803546 850609317 724067020 56415168 34599316 640545329 673594490 766448047 976780292 431529550 960742398 399584173 806243916 433269873 127803914 669219094 619362093 28132407 588378022 481093828 630568019 521167734 951938623 344580824 62267361 95836154 213861653 33758049 687507753 157694895 393607252 264781627 904365978 966688324 614494318 525877750 914933707 300180104 163257793 705839193 769298866 786444478 292213763 80496285 275358517 747866654 365356781 840058590 472867318 437394294 304803609 51848450 904490492 777496530 418432448 643953911 578670309 418093475 544326701 722056324 85729270 260796457 50337940 405221408 733307702 916411036 231324622 875006849 873147633 694380008 677680172 559947181 889571200 649982022 799256020 653411955 281341012 668882481 308168605 903025768 863260286 587965987 912316166 292654427 77470198 62022711 43638556 27097907 898950021 80080421 812403911 968409863 657148611 391806588 79240217 144204167 933352694 332779037 492558504 272165765 953775743 98816227 122963502 830619000 209608581 721307337 101838224 722403092 84558290 844245344 825250792 926894820 506260878 152111987 629130758 747073758 972411319 530067822 910552687 857474591 50277323 543856841 277426584 559306478 179517457 85927960 232416464 512285303 212497637 761678566 645772306 970550949 387987060 351817736 443776671 545541965 521684822 573649584 63866172 413816543 282738429 345327657 519216836 98483366 599273893 974399271 488496832 131854016 856262422 722134143 277441241 317925230 998012781 23785314 616448838 408521876 797584039 764734333 275072643 849424920 670749448 979157764 651472263 275513218 116969298 527075330 420625238 550908535 208860618 925623858 968996007 784281627 347947250 441980951 134454523 837492535 907004770 337058238 176840153 763115956 971291398 142167369 467959138 758994026 714135568 116862141 466940336 254431715 901455728 130013344 16380346 894593666 467530468 939300454 282946132 64277564 507948871 939171484 803323044 376046480 847113386 361813415 93595500 451687531 94275265 145757210 540927620 280754868 958579805 79363317 580510823 500031387 585233061 495257087 425012642 627404855 782637952 505648368 636351313 27415878 261841329 145114742 827202316 747376590 873362726 410144985 588856976 841484392 127843257 317455515 715196506 337216482 308111671 733959844 659504569 848331626 102291356 162052184 555191775 987204819 352565392 506827499 798525271 398253834 3610194 423073021 597186541 34151803 396204919 179868146 186653928 827613903 624877578 353859128 280006732 752766873 311088945 109007837 685944180 141143222 305584225 478781809 854025511 962571839 99899354 974699569 643845341 51654854 338488028 570015209 472128920 614267118 867698986 244688558 992844156 575119248 886657707 820862744 231382384 885890662 662805437 381180546 405640710 454779602 784792640 168207580 292708463 212113416 74787078 845610616 973430600 661870190 235632969 602289853 852832127 785475708 18283691 703021854 250828499 505153958 694612441 59601905 830835818 869992602 843329891 214542683 257776307 230263777 613175597 559545644 39038328 319662827 254576594 833227755 413990331 867743609 585308779 713664659 31227867 548679964 622398848 528394128 888352451 152736589 908167598 324884494 239332553 332447114 287368742 913996670 104759366 68962666 256826880 546912511 791941284 388031968 152332847 384323431 44863770 872457890 699395320 378535752 702931405 204268551 733640567 266963305 726849128 502220734 241691371 880048792 675048307 226379576 404110510 557447566 244387015 192252191 520039793 918433102 131861202 658933030 522575015 40145229 585703183 526944639 87064148 732836227 636934984 287186532 719968445 565977436 879271656 470243950 928500132 552039310 347387784 604635154 310466466 29005108 390547226 51229736 752069895 512086349 811298826 561834416 112122656 535309398 445143871 668323547 140773935 150307882 871364740 920625893 752213446 541831096 595609996 978903967 757473026 175138862 952806895 13463057 205997484 124283614 330926468 771433622 965478358 383481501 810548372 608560728 381136475 395974563 915603294 891545236 999765229 963153601 98042260 723783398 598788351 200505164 92327952 602872409 180881373 621728104 971500025 240157705 412017652 461608194 25417748 773824075 165550189 662921776 287206695 244595895 718598642 438325255 726646342 832700220 546087485 514422376 296026235 351663833 748072381 899179064 790997542 734479698 592152952 450569490 930592125 949896527 8031516 732354664 758937335 104884709 889806284 349058848 274210391 463386940 236414179 139565483 639990903 410053004 259304411 978109393 504423498 131178124 444965648 373215501 971932195 355200695 188907289 962063486 402826119 746484733 749742027 908203192 100642015 357247902 568193174 404886100 848378003 786588250 49155814 615913438 195800029 376731423 774996901 160733430 552881814 412234039 663153860 732650973 659717516 363763068 309228331 154843371 959474849 518076758 35418963 894020690 662229128 575275124 935538192 85726328 546799048 238286857 317157572 221229862 275939423 407053109 976424735 65766354 379872602 564799445 912991715 832627599 304449089 965658287 379296442 909031669 601050896 273207841 632095934 776056990 961411143 973020551 409673298 19382561 265834051 930324563 328140834 562505079 61977446 925789866 304408679 196632592 185306716 919527042 231018352 955234252 260008699 350335104 96895294 584423934 133963510 404717188 775585853 751016415 70868386 596888811 115287147 249493294 222058461 138651107 513503359 189853419 313270183 772464521 164663086 950075111 774647747 601233520 886714629 979359363 187367360 859389979 240611379 583690621 648504043 977889648 361257887 511304270 201523219 571714741 690937703 8546 170824069 354278463 606022263 268211172 999108944 783308378 730782373 135856197 253324268 984619801 235091583 447048768 986209972 87396034 506192168 357688593 569110304 653653206 349085206 718447488 472344315 371274003 70234861 774305282 495925891 694957369 124763605 187888820 512713271 261069977 202671000 755472663 242401042 530622100 621766162 495703990 189584403 878622921 947944336 169599118 302725592 992963162 411331448 179979108 358121619 942819778 82602311 52604090 914567942 566973404 373758373 436982399 237087322 542579716 836284886 717035431 120939165 575239628 389181511 337195518 452047474 418475757 981556593 490147039 960716007 66454274 878082372 485526860 550950602 107714738 453281006 60895902 230992811 215295984 827910544 709726569 561511173 465178761 500866292 265278999 431748782 934193397 6809308 50299732 56300254 141652403 390878460 695310538 649543267 450231632 498603462 510527683 263989990 65216238 156109940 463480772 258704932 434816673 200076403 384724762 672205923 214828030 81927034 907944568 644153475 655388148 649139021 838601945 802309860 790369350 70085814 344964497 608343104 407770925 646622160 48774844 111886689 762675248 102742305 875916053 819344849 261262322 84967348 733472188 142894396 67018298 931229919 449255755 974609558 251783791 65706788 355326862 265534166 946965875 957109425 876164828 102888168 807200963 328221141 55443447 362330693 945611373 790894526 834657286 638117232 57869324 816110485 56763971 213136084 87083247 708042964 257384288 90353292 604262529 73640826 257207065 656420321 89595227 960031532 517155864 440507607 513339478 171075446 514729185 493685959 158543409 1600755 866170227 830438340 16257994 24774684 448597702 708476531 242467269 207889068 735586688 196218864 297994684 120671659 417880662 197235208 847959398 749742416 590269042 234033496 999744713 957281284 25999799 878560692 290207967 40386737 228494757 26681748 298472254 255135819 624817890 618885588 72078530 84124471 301865968 967149866 65008467 178007950 564214652 195579099 69650749 49090983 528630743 346045641 67351088 910147045 824227025 480441074 970907838 315367682 645282535 222372374 795813876 700393899 100002923 996370757 539967327 228651687 705606310 897453451 556630085 818431747 642223549 907398023 529455873 760067965 149384710 485028795 787044695 266110152 394382869 718516114 981443720 489550896 351377139 28375845 638346813 107899396 891299868 698117667 752404851 808073633 252976726 112908820 286049724 519799322 20935566 521420429 134727415 201513769 562516460 20696224 91571427 80688483 326672896 685275508 483120175 24320526 150596781 60931773 146247058 845341159 241831738 340705798 250619773 208744394 54498019 953055587 169934910 259227246 96650599 245320123 304665887 512727722 47391028 272031114 200743105 956451894 978856119 759262007 644590015 220034792 129844006 92372892 5643189 52718327 501643209 925389125 83967238 937710830 384846630 180397678 444736462 547696794 802757971 82827322 136583551 287143331 734789226 303557101 922304946 395572022 721273959 538881608 177194926 607849954 602206258 80537098 183420542 328573150 785719553 389178648 795706383 761920346 555915205 925067370 852451073 437927912 443786020 55334585 480526854 478460629 791649621 780883744 254343002 334935796 429321950 990994238 924050031 899472937 88928986 554583468 884258176 133168343 757802655 91204681 681974212 491008132 652049326 960218660 585703072 922500270 991422629 94313551 793612922 650005947 238903134 933187388 127091393 96398219 247829761 605706620 553496758 426050369 974927669 398080729 162961560 522452138 646723032 466472685 413397182 106569403 40873324 805187130 71151492 732022051 930230642 451925124 980071757 885781446 892048317 746673577 849940840 547096642 254044065 172292572 592915344 825415647 466114144 22082025 157213938 25217447 327910074 28068884 47991094 771933564 987155285 284648175 333842675 115529744 443078185 406351012 163337335 68352399 139453439 757455947 411723422 888719750 680276482 292106306 748572598 88198409 974430655 461077995 127620723 59155067 945626660 415855748 924393191 366019603 215719137 909970368 821534257 411775647 238297791 989349089 302673652 93651389 208866142 683734784 261352589 555381659 417780636 968695886 674655474 420205349 551488791 330172169 660202214 864105714 353107231 543725687 641859600 673479032 679350193 688915446 599565433 637979586 679213163 37541756 274173025 552199965 434479907 882388295 248278066 453734598 924255694 62070075 53895376 680715099 600137683 894560466 755032287 810816891 805708822 365386491 420393834 259514123 447206033 55342499 432763856 35108708 38961565 741420560 275764295 641953545 354931127 4953055 223538473 445033948 615251009 892461675 517352590 737154623 482085446 851855973 135510855 250952133 803212949 561045245 533144223 236297840 443650127 544691069 755283870 655678059 437555756 637920729 347499363 120738828 544309169 391445964 252325490 467942527 983457508 655352330 184891503 508025794 451166476 955849570 564951449 77647743 974794770 143628441 407891695 291983480 880907925 623130672 410731767 456973971 688256838 124348817 642132005 363571061 593669001 909879922 483586549 291315820 130628952 565189680 999850353 707113285 993266916 292641967 490901177 175563199 312837572 304627751 96365183 116903064 469875292 301052073 778569835 610178642 532897678 847524967 628044847 294094693 65789327 373550057 62216481 616585578 361061532 133557867 29684442 69253023 229172922 391101640 485192276 601672345 543823273 980020510 205846315 352394358 413739341 369522818 579002266 343567797 874336756 364162653 282386030 769827382 729790830 492331445 986437898 47331011 147395039 453506886 121930891 300232180 671791292 45078565 438582545 651237131 784447150 288337743 113736839 596178366 224083226 467663646 775807294 995767591 517960744 731684462 811016817 866428159 816929607 916894348 232319880 621943640 444708316 315881209 671913365 855852865 51168272 742694451 550966634 683818455 25019882 441891823 672433149 24718627 625325942 161710539 650931372 702164509 234168634 755521875 771783733 115020430 600761345 679387637 683397135 19475420 491392721 73739310 170001274 119776582 960045468 569431997 984173958 935461306 649864730 979387617 448961708 667659168 886498032 449283792 64564098 997093496 289291875 124704822 72833996 142312539 162509434 422479138 946463595 600801055 521276459 928439190 161995730 530106401 815260595 206103422 896246795 771541081 147161129 711456935 547276328 17391429 753475492 510958809 39487087 217593738 720403004 417482804 654561903 712406890 48865506 340563016 720948169 875176558 65780286 267789227 648194411 46208877 188668973 121608940 57689019 465511393 742720193 774864661 784982981 965954332 165806880 234547504 574870432 924805281 261831204 205679912 837225197 832234741 936252926 109889789 541411745 310478315 592702322 707633978 644226472 651727846 807216606 243880267 846589595 294012757 198015642 11367670 508384542 75751068 90486232 170542891 430018145 546461880 834647280 557927166 790518879 32768492 966532216 801720903 974300979 97394054 1655842 873699024 373892255 299541640 190797892 447090708 919437923 681005609 517932410 734024336 852958583 18683230 89219914 135352084 19965770 571098337 996134351 704495581 857184591 415824981 245647534 45100988 972891744 483202615 3715213 227564544 314697470 817563461 300657323 271768947 150350070 735216115 655157767 908560647 401211509 27583033 343437904 953018791 410703154 224369706 670726476 683812330 16253893 515998616 407564087 683028328 676255953 486624538 137851463 298194699 772350184 32011216 2494429 102930672 773008381 419091198 739777751 620902151 350111600 474744052 444999005 936014941 911277630 688013137 510554081 739417847 145331067 46678191 150287195 462054352 445926283 236392496 866065176 189300453 626588494 25910779 33324467 736773819 488302646 249328443 455145435 464453498 541064691 713616477 70096209 129295640 577612237 25130111 931763148 230539810 657771515 149374899 228292679 568247474 77774127 147256426 959031516 11475260 354621005 975727945 452993120 732723665 605292183 261097817 900925131 692601309 283320302 969751007 777959241 502602202 738879664 4148778 258887056 912191039 307172819 508473709 273812506 277207715 430211942 62331813 343169838 890838450 476297789 481849015 879282050 730657603 75173085 180741421 547258846 421858775 680580689 979158035 838459595 377791488 79435645 928238313 915976531 737171285 28472910 480286202 200198538 268790302 57960636 712167742 490385659 580291847 95347146 129460276 878166640 498594492 879960748 254342522 16333026 616904473 244386101 521412675 238194687 343106087 843296756 192886638 572238842 53338895 9707010 813154881 786315851 120875286 497460538 651122345 840294126 892850207 323152038 854679032 860335423 14802965 282061316 865797554 130005512 917778455 956701116 720122608 514445871 234843491 530391015 720289443 970894407 775656186 603437671 319238262 625086095 379163508 846594265 400573819 432275717 409733159 353334923 647663126 420699904 498027154 268009080 485826323 74174772 464497364 484536736 692371762 55884205 596519405 641608910 660648046 243630332 872962426 558033537 309351375 829528619 510552097 802484020 989909229 563634071 928160288 20940553 205983791 255620917 553375000 540656013 555386889 757770553 134624497 466249559 673159316 675926211 474524318 264212039 35686006 803607561 824327391 233538265 270384365 790868550 75870503 129292781 960282333 37239426 543015060 413108718 349681226 290229110 527597787 245030719 752655106 583064028 414490701 719710977 818092401 571302733 415689172 693888568 850116038 16239272 395591299 796903628 106351065 54526017 403083149 256032119 951649575 546220752 518606309 821779702 73852368 416083372 377771998 469800542 178656034 61118812 745783049 211602661 621702823 733975631 438723233 626322524 499430784 36065767 928747249 905969122 455407094 810810621 133750343 158229811 755478649 971685940 937779486 569849480 163088622 547857539 4613078 509865321 425035120 875706239 26905682 743026922 677882152 282303337 159746367 204817001 221438187 286319713 853534042 972709823 24433624 221518506 524769069 935812565 82821761 229067133 108723196 573906886 916607217 23746930 951409089 502970537 164398539 863310724 983954285 430471002 381932220 20937496 12905347 515140248 467990058 169096114 569215335 696049110 214635801 73525291 912611340 66885528 388102744 504479131 377000948 295328807 524807533 525300077 366220044 890233446 98489814 353350010 115405661 567842427 140286766 36061827 119913044 633592367 701711390 591227688 642618223 383182893 191206013 711550767 961826168 927930513 757198064 516129648 690207031 877966652 598493780 459772972 36051225 53843942 361174735 323038750 602632099 127091800 840747179 709978950 735113094 95957032 577565063 874388416 361573503 615551809 884854660 142969308 140152648 168397585 48922973 898720616 61986237 137343162 778985905 384128538 225938549 352723328 927229152 761592845 681030587 525950957 546425565 4893205 457467433 672979170 963838212 425761925 337751212 12641587 387271864 461804533 592661859 133898043 346888936 472202256 59500759 514916440 479106119 788778679 629256591 344948671 438887211 376325183 981447043 294627573 871811769 949467816 49399388 471979198 855423355 70013487 888625124 446984124 452813006 475183567 395865877 92574205 435087907 624518364 965589947 302399119 999532715 734143757 481272326 878488075 439090484 832473715 720638911 375974720 289678434 953027502 680531497 432618484 208611561 525746168 913136800 705026308 310231280 350358037 395502883 259626780 990815325 341676221 954136523 65005795 201686858 210257921 679885541 131077816 275898602 319588819 713838917 565594946 827306369 39260139 261509543 934590812 970562878 285869815 402218778 93939894 417312834 830867355 790638836 814046694 819586482 87226804 58705124 368274905 898468769 93420161 861894099 248020170 440749814 471939799 169100505 650604562 171652696 8116107 696724696 557021109 99863935 85551336 387327720 101018446 526726200 298202289 418002782 352725972 838948596 38464604 431668142 471826338 514522404 713537023 103655107 184453812 76291461 191743836 558254534 205812311 35316463 178414584 391512863 403293127 174053264 722116724 451967221 175886612 357449156 469021121 67822703 499507324 916487 297137215 70618986 215198304 254781564 712091611 425033109 539977214 434511779 401899661 942548883 571198379 299727409 135190364 310234249 800965608 449547534 934569174 554383160 639976067 53071695 530383010 591823905 357175353 13194743 726516074 583092183 6940693 666350280 514820610 30784413 578494369 998852191 575349906 230465891 645388852 85753207 274937598 974364825 909900320 228220945 595265825 566493657 417236745 534292169 240546527 361400423 314696050 868666995 68064358 279014242 510005792 584443489 976048392 370702197 397091380 845095629 342037613 796523034 470948438 751502464 483672090 587038466 495385250 82679381 862299834 287448106 343996118 888051559 230934890 532879237 857839872 466413944 674533524 124553914 242484166 530960375 228064321 156943750 813630500 31692588 389664801 897603625 902748680 634572444 758476052 934143670 946937768 688647736 503336677 202000143 837645072 929602359 243647940 362566929 566735638 767138435 365227033 60841457 861306204 137885172 159750862 653107928 775426965 101952348 646423758 992789426 862971364 175634085 910014618 435260869 412568687 508223384 560152928 348028476 207682129 804209115 134367087 456087729 424332086 735719195 903464481 630604755 383259836 134106131 736145881 900757315 175555750 34161906 378286710 976199826 760028109 361772581 590780447 517179210 28150073 715327197 74303708 509717563 287028295 222335581 676939202 900635317 218955362 473246192 622272943 121184150 498482992 685859302 746872323 591205393 541783732 527190923 960642095 609200681 589441168 447988752 68767116 761537759 395269020 819906772 204477465 470610388 161943363 473050005 589419417 538988180 132724998 667509222 363283969 500739203 109333634 511441009 756792133 655282284 531977322 393640602 31290343 994092030 978782577 281651863 616029448 799571247 11458433 926989432 830820290 907919591 867739688 175734844 468456678 216918941 493361384 942180089 663077937 478258788 95790972 87013522 545210879 17865575 806011319 327897756 396278839 594924229 947994709 913485522 661076583 901194596 170157391 524988677 399960850 239955086 93534621 771820547 347112274 748404830 604904067 105799109 459708504 746734809 796797234 664864082 307404260 803533446 315331585 631081070 448709773 169457667 934998454 63437657 800459471 410467358 414027006 532110107 711683082 36889760 655420015 670011317 985760278 73773904 320223245 470677509 700494922 214182185 146944923 52314479 503634680 269432954 629576745 187388147 755262976 703684819 486985146 189698398 862433332 193186073 575480344 873988137 416129237 986539557 729445853 574680570 433708268 894703238 598785185 351064539 513830005 309042130 931238518 373344836 411455521 667320369 546706454 477273445 977646110 258796328 962272047 709770689 817892761 744905112 789597157 559235571 107146496 234893245 603112389 989731373 253892655 372197321 887508661 872871909 977534353 557376571 637086108 236234467 761936586 807009360 887882523 344273700 705412269 573860880 578193950 500767262 595424253 484930894 714225689 644694318 658574125 981141848 819163447 75963187 187710416 112909279 585748435 825067368 818284123 109755720 740048351 974665328 537384506 881299637 854495228 725955294 730404896 549395162 214748922 108236564 984208108 344357672 40786907 379857905 269952873 149776907 117209043 338045286 742813715 917733846 293074319 658488763 816799354 763497534 494520355 112773069 966026343 750751952 649535262 788342161 451025318 806482134 592737576 566534387 885452133 626568769 798122638 843530290 660724609 970429787 657626363 698587178 833840185 939307140 656520861 78610352 559318772 338952210 884854480 954342488 798077973 437376654 362605582 33261733 892117622 805837299 887028558 959932 766693502 544514853 113619844 541055371 302572198 765146688 475958671 234368033 332141674 2891497 968308948 140716485 893334590 813014856 289499664 129066982 219215577 661647787 331091906 953033756 460441652 772069538 68862356 660178145 336863638 906436209 832120387 697612848 920086489 73898127 690349639 11997743 649256818 552553179 52017207 225587152 642113776 16318543 440964066 232312468 316368437 443630914 774521220 186098101 808972158 282528558 700482569 447854533 729214049 310208896 961499205 5176000 494413691 240321290 157258277 277987894 492635786 759182233 415471682 744510820 944954739 62680795 820615503 584053824 389302621 165773817 797143805 507889685 448803199 375829197 555713379 792948246 472004682 883667054 309040408 267888733 331512791 4293763 97606355 94393142 419527674 297083428 220720355 420407138 827415647 526611217 820102290 859633268 374522260 334270614 1522971 690122921 250257439 823361113 403515416 614598517 791446603 998364846 621106100 114615461 934919711 959531778 735575300 739071026 243187710 432883679 337607499 755351077 95966131 964752665 122554003 715167527 621180651 451909801 169846209 239109105 206284951 239297401 66979439 276367710 95776478 438208197 528252601 509456007 748868950 356672170 480892232 489687581 389645182 471287602 919694274 233511927 159398153 3787989 209865336 752858068 262694619 819465692 247675452 287158328 888551035 467792322 811759747 546172907 952074910 929284579 377196565 656843443 363126920 338358335 76136782 232081908 652609984 505013197 917293987 595653457 765892239 914382309 635922872 992880549 291055616 741463130 926368662 614633526 804415334 26877744 59312197 159009958 882739839 608020618 393851091 644050959 229081763 650870365 318980823 444503756 497819209 767732234 579435825 365528078 78108512 549478940 208523259 128999603 746508489 929186425 302514818 357002696 338081888 18341958 820375486 75880814 813725814 266001500 825766945 610052026 178420019 653830878 256101185 83648503 230234765 384241017 173232044 776106131 392449635 1906029 614172868 986389673 286863465 375104125 982660422 136284382 926284108 574827421 357232388 710370047 698558664 292630150 607551988 72639265 101597590 432593980 717267078 175065551 470527938 974489224 528383452 939097101 122049138 44613733 914681953 362338109 35327584 872330248 533016336 271694708 116518788 535462542 655932055 728994700 613214982 793115099 406413703 674168676 212220566 163790077 216402559 287704650 179479667 169829867 168898665 278222091 703684003 590329695 326830191 580916191 813690094 955838422 973563770 346670080 214952284 233992678 560897524 413544549 254666530 680470656 720131887 825270700 739501326 642563751 44064211 486156539 425184989 309986245 503039992 458461353 33053699 995159151 797246765 589925129 768583297 882770291 216665610 171077847 808019500 323383737 302503641 351858314 665763446 49257539 45230618 480238500 961718873 908016243 97221254 780813354 922736413 518724333 395300944 685904539 809178221 569248668 326797802 494977071 713260784 913595441 672055421 305622360 583476270 654213883 341328389 469229893 885334422 43814466 60321617 591556351 537878590 69880940 881633544 68203670 457351200 516892006 809769273 604066634 788504317 493766807 535043856 196079540 817672318 932642369 331705526 755331468 444338284 245658677 789972404 925755152 776994315 163558424 88999813 212389001 954531013 44948373 987759517 614782846 660888260 922285508 927494857 734191204 852717101 489716274 535427790 373541798 154969954 912826896 198465687 328624594 882445213 515126106 954380584 904590733 240939777 816582707 81791252 288674573 748052346 296570177 898079751 911387773 196606378 666230747 68793486 851054935 435790593 93900266 56685964 346300343 726949778 878524852 554888771 647647306 727609460 274062964 675271095 327085471 490919102 783696358 566536663 400657008 918992300 915455515 174737463 262576394 813963763 327366825 134917796 635109413 553735525 416534532 676919934 641385109 805064519 142737849 132549446 82931991 379078237 650051227 791154254 209372840 63829695 715587335 718804106 936887205 922720657 740905963 835524109 303804700 487577895 588272127 645755545 799262613 308564529 28558417 966025291 135089338 508753468 595120601 666007642 377647008 344775679 13131327 298108877 425177492 725654765 390191212 655458860 307194618 402012756 397992791 505528620 84104746 15104621 937659320 79379069 240718971 377330978 822411124 342544167 332323883 342366354 210905194 752290250 715501921 855999301 110790470 659075423 41567318 937496613 528428554 124206834 185657857 525666925 78276891 442645032 850669117 550473194 499834982 317864824 549109653 993996239 331347746 244402143 417106710 96067575 496386028 426626249 310944568 418150104 79178443 471328900 451090148 167652524 988031184 905809065 850850499 23457601 763438930 236528703 738656080 118421334 369906023 352541320 815389679 442204450 159504855 948924827 168641069 763563452 538277137 518136905 696870455 27236396 37764936 521835200 353502187 788567525 2767926 759087150 768280609 688082794 635135716 806093653 510558235 981888011 615390387 575584414 645000609 65013352 365051532 951526713 345032577 223963714 399316417 284494543 235164669 605216631 818328968 566128402 67329997 663843723 147288420 235923498 434405988 819718912 467333225 802089113 378906831 510125956 906649859 681747063 987312416 863859513 539657238 867426675 427870953 930119091 674516860 720241946 971516656 769485836 9968683 606898982 273272874 328248522 908059400 460641120 656005580 970804710 716294516 448435104 74709900 254153040 756965649 69727320 751310761 363517419 269266375 29900205 478932372 323180220 415374197 905554126 213534847 748132574 114969402 662168113 121831465 736391761 940108127 806455611 483128198 444917547 168639241 698127825 706294259 880165318 782649332 99558484 653020279 788515000 719530603 3952908 993490270 186204004 700904251 329193220 9947408 583700985 847157094 348076419 796935682 106929210 937868570 932935442 773408098 230911616 735436500 450365120 931778957 622242781 584643214 645910484 178121621 935607689 598021286 310738250 885420457 174213054 672353622 90171833 797684118 927307234 972352311 920205341 503913660 131553492 421182551 660770571 960940063 506292356 865986725 496777569 299503090 424683718 332419603 79988681 925217869 671151034 170858645 57447506 640934966 606435481 602372225 256541602 2182699 136482185 248484310 641923581 681685039 243066022 627313019 190551010 106615458 772464964 475238357 430295334 657919638 352087241 55234052 184043336 189432380 195637985 55504887 496856417 331893688 823110297 16615029 617183563 681011062 284291568 54456222 364935074 487063943 183721717 694167074 503608708 870501945 150637054 507197300 915612867 246276212 912022147 584418863 633691307 671072386 704821316 584188534 161209033 864786650 331581379 538831054 710866084 702580082 136768867 733148856 572009857 897837995 512454654 13171985 454524812 951608076 20763866 97523894 277697334 112204211 979572287 464460702 943763459 842544246 717278990 986489625 293887443 95399313 555858685 984875573 122468610 397874226 708763912 631307157 877808313 829106117 751393980 824826254 781635004 240749599 311401069 581175372 540844045 360593164 345595980 701685962 423963317 624511413 402875739 884055443 95706427 677475064 513361791 510177160 681866714 208009689 555971756 526326890 445722694 266907969 822131145 57319458 793883740 860986394 848144795 631864903 535330052 815666137 389464049 293489108 781439250 476838521 871493645 380720718 526418686 303964324 402915695 847952031 221701643 521066466 101059034 945107544 258907850 265364752 748852074 895677026 671560304 68738990 346395112 622082884 435806652 257510531 667970876 471078618 922012255 331802073 650174259 526025259 539047240 742273354 554631150 545790298 277798317 817012610 3677523 200965044 538514942 672804766 994226248 278736237 32456416 321943569 620818162 400681391 119748579 715330948 603879027 14218785 790200581 416567038 972185253 801306620 831864184 890516693 457121667 892471321 374370235 874904531 821865496 586290467 928201494 197274642 833319712 607813885 878673005 373650647 622005981 288851550 172577944 227239925 503693108 293533562 648984039 615402750 70970303 469736584 880908595 724403088 478772193 616986465 387058941 242948451 914299886 842844321 682843156 90329888 497692207 316714973 354831962 429113112 269786501 376831590 570383099 896494866 889140732 224968425 5408094 703765101 248843305 423765150 124031576 78113186 212572329 598634928 16030857 914430032 948122801 570228074 483911706 635891484 351585020 243865419 837714695 781701479 567975441 796627256 994231136 31874883 700228264 735061742 233821951 334387997 199418021 177052471 927140019 663072020 109923140 368741686 822904819 72461176 272418912 686937683 744737194 989661924 812228953 31413363 404810118 680990213 326748840 852164808 909976001 669577668 59215138 909508595 794160591 134023681 814323400 296703342 759080997 67261286 909293040 3133948 818761650 953094787 502115834 168756217 255504502 768453422 515429380 356037863 324862185 607234342 416283230 212564852 520240853 183867353 33410599 776505277 63636355 17967058 176312080 338864262 667460461 981333800 863144550 552310381 232145272 406700446 858095185 543526862 623792241 279743251 615455958 813586929 588711987 268314773 483505460 256196740 978553663 975612345 931359365 472208092 93352075 130760619 86548661 800998651 435085967 660568414 536519512 936105188 774571480 543484174 229777195 342606521 902671300 685596720 980316555 699451546 897831059 667165130 362074967 392022479 54715892 99534789 255914263 706576661 714512764 34919407 737965356 138840658 823686103 21176736 227410466 423193461 878898197 722983518 531242827 462681846 582596276 777023090 415849475 822602156 343654243 147705031 204888304 566409153 323079226 923342626 617853088 465119076 427022684 329151249 558376651 438705735 38775292 860408215 873123188 284336899 633648705 935918102 237725421 560033527 585546992 572334063 668713007 993444280 33005097 37880169 188996115 271500315 845808851 52963399 514347816 6006166 864906321 686662022 236173396 201424720 117792987 356763034 986721062 544609242 681427333 956395855 759578822 143505659 754754741 402345328 540661359 287025179 550983769 191755552 159957890 473088951 496709455 672122540 859636894 652694391 322489249 916166685 562160901 552232127 266779636 148735789 84448918 99470071 530973929 317082238 127658106 325391232 523570594 318060151 16667904 211946671 317731003 301924556 91119525 887863864 859135789 535139075 894286233 683699924 647717232 465086308 22756724 185843973 185479986 139514814 110823952 817835886 635066034 279236497 702189265 238019353 351755242 885835248 234212764 497783971 125184526 865067810 69532455 115090171 460583676 93782078 725141723 657010510 59756731 98592566 906901052 902768056 811261468 837707710 322288175 549962902 672996358 744650980 383290711 336357880 465676494 243477688 184043686 411706250 483470753 544061552 564797448 403684579 186348922 6363951 595759889 691586944 589471550 111993652 380612071 283256616 315685301 617704054 821680883 811381868 513625892 981020133 386892004 649405331 55493393 316734313 202827527 436019836 846675509 608394084 356754449 12609558 451798150 919095075 715938364 837953077 61947536 791911710 569019784 511493450 833983027 684736881 597434003 764475051 529577872 871237106 935570045 891402182 348400709 322757022 829579546 950469355 725634981 489233398 507840381 112772064 692322706 795252314 706130035 352116748 519595070 794506700 64060750 358964965 448691912 250137348 780813763 491801112 873813976 516968629 719317871 165236946 288698047 931043927 793844799 629519671 519885680 184722274 394663385 375516277 889353933 656569102 928612057 55061098 370949474 5168238 725630626 422067344 664929196 483361599 431687399 468561370 326977747 654378394 226451605 767513052 560885716 874993373 118951481 223072259 44034435 302700455 824808521 864002427 487718050 314835603 819329032 94542177 955959945 854055210 208186604 248360861 660949353 908662106 57121118 36624468 514811257 829622151 497058560 279380519 520278440 399923496 982923657 882649282 812920464 687048498 244206490 544171711 915249021 323649038 915380874 449549525 226946275 517004944 302719165 331785824 335590251 496159986 371314507 288686949 408128826 533676071 689825891 794067198 778532661 427571517 250943731 863398011 648628258 218596402 723187231 206926262 487512358 736064117 936932548 985316273 315994986 350527502 324952060 369645277 666934542 17028474 514383639 735528987 286841311 649971012 724888801 892680400 353110242 656144534 879741380 345904073 392730405 194588357 803693692 998213576 793324300 625263458 70332318 963038047 671726401 370409751 901953752 130129985 227764656 755037701 165057723 673480958 546231152 693647227 413457634 130785517 404136810 579063845 10047625 333895734 697670516 633603461 166083810 297838735 136497111 309145264 141026224 211115227 593108323 829889315 568102882 249933587 694860772 262023876 614352001 995527931 532383183 424569747 661793404 82103974 518252744 478845507 45136506 134352678 79125977 778988153 102059605 49957741 88210627 956977578 15290058 391943824 793218102 928571945 259187263 20995708 38947133 688010387 123827004 474626030 211142291 37970110 71070680 454264850 561406613 436983625 534299521 113111482 648380206 56536139 314570830 753054752 71077570 910823845 989164963 774997131 683555464 993881693 230398703 833745188 56248615 9034704 130054507 655859337 750855749 846825062 917937723 749201396 333103299 232157730 230591282 757651047 685813081 620759718 639500704 791141379 974196493 7975959 455972183 511083594 928693954 168491274 197101641 635927243 740589277 757817620 827487436 272947567 738224205 308844525 543395666 797265145 289218666 721776417 678407014 186561551 61255686 620108056 763137701 672037557 22465603 610274178 275887087 251337381 961864955 359708712 49427476 245681141 245257304 38687418 252872950 674192355 711341503 666855270 810916572 921900113 270592750 849599297 320082618 186893671 161656125 88403795 154196891 529157102 485630707 307903598 773843996 129604686 248125928 737474570 773067964 476588763 700979482 946941587 132373068 652838581 117128170 978110087 764125300 289118386 77519367 742975345 215771994 731643405 500647319 66974052 469819405 138160286 567300917 360417735 911115322 342413610 612350463 710864709 83342957 699071592 365516886 485106555 466384545 843053433 782073136 5463057 59359493 770072050 398093866 375079014 919761488 304629793 771964266 634359227 43224876 232663670 719831388 230248195 846065668 944006011 229537347 178176800 422657224 996733276 283779300 158297942 518402956 623065422 675780612 276179971 414468182 564100908 393116347 335633740 100758696 414769282 587526265 636843028 179440715 36076469 513989291 105710777 437469429 251994055 622169013 379457982 674680535 502061258 59396503 522643492 985101223 226368414 408634475 344161247 437902352 273753303 659645498 189243591 559542153 554678546 514788985 763762415 266889582 803036791 94162138 400543036 431848383 622990122 869606666 516222201 132894627 291283631 930540313 384661505 836318899 256889308 690975302 375336402 246210386 581322782 454530381 583672106 845108029 980716352 698174128 786219310 605996023 548739741 644479842 724047045 620242904 744831749 875636528 575764938 942932599 666706792 459173118 240280893 798021884 262443358 100185034 400717579 23511773 752621748 708014384 954593439 784636420 920542028 662734156 565397967 955340465 575301971 715771582 784527988 485122068 37848271 795622722 100115809 80743097 757681606 502747300 519881 720989401 654049792 170548462 983081645 645184575 4638199 228261153 915951965 889200442 747445327 130799597 47963404 386593949 333566706 867839842 702772131 365548928 251498989 409754064 441859445 410919207 978105661 997833497 707794669 882985114 377898765 724150149 288324075 537624546 868510846 75904045 310132977 18720215 300154206 765018479 517150768 421340725 671089350 535325975 142470144 566431292 141197297 405644840 429964505 553720210 486462691 825237665 411434423 442194733 713321609 88178881 513475080 680882540 281593404 721706699 995349608 28988066 450758446 749117074 536590752 395683072 858106061 135419426 773588641 366739544 411804164 422681442 85401203 39495804 486354491 183597098 647255405 649567702 279801514 159297453 746446004 735837157 957532178 220123646 427375367 536794716 821796507 298139537 581658472 677204356 946868099 118003423 619172176 987645315 249972753 215555622 674580087 311591360 993006326 245921936 526138329 50881647 118523233 82870073 113792449 462255185 94079611 450826758 746122997 378884250 173313599 891637557 437045359 970405557 53968633 337117554 89831526 290589997 679260095 999887178 730298940 494838087 694573999 74955687 621845504 394039267 33850243 455616192 7210228 218973929 562377799 100117251 442042570 647663576 752365101 710070468 236581656 306997398 427873158 346073556 412631268 615130239 895825657 753378146 382153588 932177016 72452871 767794919 316296451 696059635 670414099 410687233 272210196 984170510 548350349 405175469 477221064 732074160 502316013 764089673 858015697 40676360 437476379 899117047 140263389 56906081 827860498 384743586 971366016 263591658 192916607 631486615 782895122 590056675 906761597 497909670 120956834 621156543 528326787 197937054 163431186 663368026 414891475 503371248 855657357 753143293 613559189 807070845 379576357 387508479 27851839 808469208 370654550 607049461 56411099 999237634 891077868 377759692 554191456 909664266 575706952 408404214 537687933 642513991 26366013 243828506 222767962 998384037 389270797 850061842 655267412 22319137 684825176 405258807 916911809 269454580 230532754 525234604 988790283 287906367 924934776 604189966 410208286 833506398 99269562 169852507 613655715 627018748 978855949 845844467 956469829 762510662 928509016 378482195 4561764 668947635 519991096 566068144 16266921 92288753 964744584 176941149 177080563 882166224 673760932 119955838 638031571 794066656 168989237 452810298 240394286 658215864 676372917 40109525 1542268 385692787 224828540 580473196 28566843 222897258 59283643 230405831 26928079 710294874 23164243 642981215 288458617 96785037 806641060 97747612 504004847 338342251 168522170 995415264 101533655 456527116 885444905 274806098 720241024 915514027 146468234 21746503 502617543 434326953 970845890 586681981 170518593 588873005 922287910 784842184 424952292 102946079 211313037 135497068 699406532 931868040 907991435 578996408 185092751 796249088 756385085 980055167 62460652 688012060 454667049 433992920 809632899 561100496 295234922 38248946 775065885 413511200 702195543 624546927 967716595 269991259 519509912 295218213 762426127 885580629 965014502 872575070 196711167 967407421 529823147 880577 925628008 709985651 392632004 932195340 301616513 233664336 739928754 24044494 269836758 304592725 191536526 673756185 11615362 754179383 807827044 52866794 649619253 937625457 419815233 564169021 133580050 574907624 314609482 865870775 815505068 795929685 507702957 519516368 45880957 181166603 786354625 792560203 725337430 249929363 598316181 875403784 79801510 414689365 858980641 514162934 997511139 700310501 637266904 412717454 891555503 736364021 610485893 402164858 62795008 241911580 746415897 400654085 183238872 638617750 803201710 154675790 7070420 684574406 218577325 689614540 284351363 992932672 179616365 231559393 598696623 659806467 976685004 356699246 790703782 643827414 593896530 54406648 929225079 85362807 349062266 899313668 228596143 290302884 793973133 451859991 776633821 804925267 481078334 103166163 64413839 265292704 983980611 700899454 114074027 515742089 39778024 800319617 865624321 73657117 47666696 604109604 912775509 146541524 726182021 537857409 527038286 375882506 868063745 153261927 302528175 402427718 317876407 648152747 457202563 441886748 456354949 24374504 424779269 551983695 692847603 151339180 643645093 739456493 55654315 309836612 956552121 748302553 614448130 684053783 930803799 217803621 355620484 813170044 745926777 224809094 837175881 909738824 189307038 846713963 623709721 188123328 59100824 390813487 577963857 752125316 862106167 588766435 184535473 884800820 232921736 510390146 879493488 791504295 567206677 50009194 317226665 266904455 457659842 347177161 114334473 553529979 369848015 852038029 890509010 882227658 94190739 14629728 326778912 777696742 369651433 460069279 549076284 200354721 834257726 717718807 778817868 974530488 429654154 73823042 990349208 125116157 972298158 968306722 661554776 219865708 318779562 201122857 455487552 733213822 178073131 391537150 485667239 98310139 886598627 542096018 599231769 911123762 934026609 114557991 18137316 513053032 957005980 490600535 920092960 825158133 894989252 853342020 915945372 283324256 798846032 645927039 452955136 883563221 506793935 452944950 234282044 28899506 982045353 468346269 701164753 710840572 904443617 556662691 23788140 343511808 427905225 24980145 938688692 838421299 626826536 737924714 706421560 8577130 479202365 187582485 355762021 341245205 267328416 642280956 150537416 744993272 945623869 123317083 297607403 400350668 937067589 415850009 853643981 103712181 878254827 316485111 843850918 723084154 612640191 817288339 403965416 46018597 990389019 245688570 752255979 321285700 831705812 91408046 151106935 194135230 370641697 331198527 208512722 418283277 301316699 314718484 794557695 585156733 356946321 301210379 655604735 482554541 617734929 60237425 591437252 637948168 908028701 291722907 456987335 267767656 465099250 358953327 572540662 265505313 172607413 438568220 498874559 164313014 805697960 984270214 82934961 327900648 697129715 568857271 622390132 500590931 379189890 90382090 629130272 105429096 156004805 540278232 574246999 489314573 753635492 965561866 633203117 138039469 583204342 230465310 162215397 904560569 817712277 830594747 493220913 174306803 955246553 606925361 804711579 282512198 341215890 690047510 744758198 169964619 475816848 730891871 842626703 822896220 378781740 81560867 492028900 879097868 141952840 677876734 744845558 873633785 408474523 637723771 788268043 188267834 242902800 91372870 664819929 119180459 243997535 531032134 550963381 494330648 326881420 529438067 743734808 391328169 979095825 929454404 989641478 490963023 675373563 914838539 958322421 974819412 689552919 251050921 248668964 543941475 563260022 812580088 477433750 337275427 122143191 617723204 364325104 792844107 188702960 421573078 91730814 79680061 16381610 825799622 225833821 564621816 619133884 116333969 709011926 692169047 599893760 896725013 791622026 493608442 230657302 571095983 782280453 249917908 646554357 721110765 425515414 79555067 534925672 801673075 261388813 985695933 238656001 262999753 549043088 410343612 692294208 403876937 113231674 370875797 143172677 78122429 510540358 188878196 32446872 951028122 569753452 320210659 521411886 479228622 203702479 135834242 996575843 278346993 410472358 425978096 47583619 159738975 888712140 168987149 566048989 280973646 600937252 85942910 588748977 402979682 695225028 458355061 963719512 451846822 995711461 534049503 794679312 913433538 310453128 891425568 477107199 66150498 912166165 540444413 5025309 981092293 974138322 681810136 16967345 800883592 406896268 441121759 599810685 367083774 834503808 555387504 560337263 766668014 787597539 297921545 355938632 691483053 582887197 737918656 308964050 818183648 618536239 307262610 615002363 826269402 633477198 748970995 243508991 526729140 421799119 942248450 41082759 361065494 695279387 117592506 149153011 520591792 879111550 805432995 208070854 651443597 808303781 545162144 914913960 777968122 938517110 120752689 284421409 431068363 673240108 642977412 150803497 198587141 74581393 66226297 52990074 985106587 675339091 629873684 384071833 283358357 601604 961061627 322310225 280319703 623104268 323940407 655569273 402794887 56080153 856797711 627601231 208069426 258227713 171653737 843199696 736269964 22201694 334217397 251952435 821289868 540396206 220059498 549806035 872017107 80871014 178279063 467951392 378097020 557363843 99896407 989552076 913609513 135871027 692833364 655540881 994398610 533123366 96373637 957258966 806528646 481521772 791241592 719245313 673423074 131777517 62125934 136881438 397019366 130507719 967961511 180457018 44619012 935753934 254597740 220655525 498856204 137517551 177024858 397299365 577618639 544135277 530477960 146985807 673421929 125202551 720538728 927628470 722146773 715420093 404324773 964321819 137096347 438931933 232837398 222997105 546289344 653515771 781235092 447456139 307444465 141986107 785013544 697862569 228416288 88536021 961709151 696871018 377269169 86553848 709806356 835220761 100227730 933110493 745796799 968479447 745842266 112724874 533956423 794542301 999906635 570550496 879321998 160977797 713945856 785408414 145152313 341293127 727925447 38082994 824218328 913991150 802096668 881217265 868822432 362126491 181929315 783704764 381448182 853620600 523964904 317421817 569626647 233187169 322552121 273605473 433028483 329050062 928056533 628863495 794003660 913263708 763081880 373121843 479317207 486446487 452288549 179752898 821366296 9391283 496940602 763158440 102671979 146559054 923859174 967381537 365773508 558558112 88878295 481151529 198134294 687603000 646761788 286195400 663069899 992495498 534854576 943640846 633144319 600553332 453692447 311121064 949369338 303128257 431679731 400235767 455840814 871755607 72935137 191231164 760029866 709995838 116081360 150065549 409125984 100337079 585054777 174782848 969662853 230691749 450227886 992895554 904225819 74955097 444982807 581727514 565426041 833570854 88975614 146999566 234426912 808610130 563393203 350141193 459769711 423275860 352470117 301314487 142337033 987542079 829379244 523681021 435693437 133413579 644393039 622993536 514548910 244370742 517574212 708605616 627202913 325370330 61315184 715518213 975559828 793556703 808541597 250415994 906889648 413940217 679058043 210008577 256991849 733196263 112050650 732983914 785321536 948660448 21613538 380329608 461819101 422587236 306973162 227794314 344413050 772828005 422512015 289938972 884768730 709427716 862103783 278404687 103951613 121953087 483677870 365154107 612912161 761857931 842004040 412611908 505240366 235693570 459308181 203969599 263241249 548968616 716401595 86935946 310250875 654287323 743325492 897395469 4631715 378209883 648057047 165045343 613211407 183197801 996472048 189835287 610283387 42163746 252812020 111814377 193533945 270419226 851380483 533930352 591793188 65416479 47079808 960544158 645818781 43107992 612794100 956587270 452753121 248429799 215976950 955950929 908310712 314757091 163537087 795648903 715186769 192520003 602429405 301952229 717920451 914822599 368866753 924655808 980079586 946770005 109610665 500653539 353256886 220803506 311751391 738184861 628944233 97502879 56380010 280871022 166397604 215579391 534909371 889517085 250872367 546560392 907806430 600015031 649532247 541836215 237142036 995838439 388215733 778308110 516266393 748636765 891274512 772308803 858532335 898925573 261687163 388088753 911387083 410308782 771146105 696906296 618249532 843407551 999733948 774691349 986384517 757696724 365926855 256530823 922103783 79743934 134834523 88834448 313602714 466524934 44789610 94560079 300652476 765006257 573718760 223392981 2500306 758959932 964836338 11094514 34575428 517079759 466047575 134352921 286521685 192841811 276764931 907475031 779129586 256512578 215210063 424458120 367201086 613419279 398602838 676029436 694056440 921848323 985775919 321626612 515200906 920747175 538910032 515693538 44147017 694602414 22793809 730638931 973762134 268051864 702892462 134425934 415588404 865050648 832240367 425382203 894814922 511463121 900803846 867257396 845492481 428521008 348484491 200411489 996422283 107246963 558117411 319475283 582094621 657008885 550396626 382440742 980301333 129970962 173565820 454783514 754983397 630381573 394030439 997038329 405787974 32534859 460858339 875185926 268018164 6028774 223434113 828611522 25377744 342398603 791646738 975703136 885209859 783741806 412803030 382210969 234782467 359744813 235206832 387148757 64369749 174797283 708247603 391640578 134148827 850037820 799659698 391496275 366012838 157416466 239801869 511679117 215442534 175972855 777089026 774739674 317552277 983149646 768136575 108634485 811630269 278206515 899592219 804934788 408453225 747345831 303088464 489944407 483776388 280409296 79837536 559341911 508756707 598729144 960837155 41860787 298707406 323367763 349407572 644285818 98946256 781158721 727261889 879093195 134216439 808589249 355696941 64091099 720256786 571224362 352354683 877620594 215255133 426329213 964930519 431944571 946919213 97582309 911972891 193491011 801773742 758311499 302123330 308011775 339629040 252795599 605750512 226674480 265672273 439221850 229379328 801119167 308018648 131985374 661365552 643840726 855006238 166006495 453710763 309712894 134929851 840597454 960591400 999786952 34373315 942987959 722790711 885207487 198818884 128440439 342997173 477219578 175454519 704636639 37381845 956785849 484695406 777132566 396449361 231353908 675312873 732874229 24986156 263067980 654116967 304374342 421045486 205468783 107049458 104423371 309232865 152163774 317273697 317033633 114240236 474073202 914321129 569696445 526928392 19721001 959567405 82456023 363976098 449954238 598283251 555617362 825469487 17601708 152894894 76770231 951554570 744970745 775770666 86899668 96779440 370827675 107932254 838074151 729297915 137163492 428907317 797293569 553089399 94708617 927102444 636138529 888489427 104598811 337224540 675021609 297701495 684362769 972886687 327924371 896243096 859010930 215227383 317509223 94537391 252941214 650954858 326383753 248207961 569026480 876661210 79842682 401414506 566431815 354984520 721381836 983972794 839336792 8303271 943055897 214426778 163770150 170608232 290582346 17251969 726860289 529993932 197586487 201285400 368640043 961703150 948110161 478463192 372064955 932183470 225833 970704881 665059052 647858979 287013255 177503617 935999058 577271506 280063910 410654137 521638351 829623800 5506873 468974668 794827141 419924806 60380974 525228730 445356852 101258757 777905525 906901648 253849188 49736937 802843910 714666619 132011810 705123444 918074870 68993082 316226310 731213009 626950727 954851007 56838162 655752855 172275184 824653853 517969775 323610864 975744794 502712628 22381025 813939283 52897053 511574263 853376551 595682354 76154693 749999347 608299541 363476135 372311723 393480125 902861427 49768352 496458778 229264684 203793385 342862602 126381524 207789625 393905118 156815928 223432422 328745729 818563460 690528132 494595759 214323274 826994934 948505344 511363872 259749825 211087150 967270333 283583917 600510432 975058740 288995360 476014021 698888918 793624070 768849736 709885623 5298997 365480550 922350147 852070214 628896457 865176328 9875226 619801233 237913344 638093948 45689861 153008657 585100425 888928502 262425022 63083958 900427338 505317769 861776086 162634851 970753946 40601705 199697816 876938030 621035094 747175896 810962922 745916409 723960867 37416444 828020550 197808557 220577424 849792007 188301184 753425898 104944262 251217765 591304947 940551160 67289774 272606742 582927304 278781423 676856115 430574222 634797415 514390813 5790448 940572076 187213323 725398172 224880680 880802344 245925893 181955327 158980392 723216912 511845369 865374344 915253593 89397972 448210714 601033226 546890035 69129978 171059428 849547321 898797330 481171938 932213355 50569863 186100096 127975734 116793728 52997745 378996441 458769054 787163128 248138061 352772910 941767137 400894258 761745311 697133277 95291695 555533671 154316735 77182910 394153858 882881704 560480015 979573496 727207014 496188407 428137495 566478651 119240330 693586215 783828721 36195856 913114421 74579379 179328299 632165147 175880874 760491506 84815891 389680118 213207336 525525005 738653312 232408553 500598928 194494112 734518828 776937052 431718297 412810701 67208826 586668342 771200688 708068982 505048367 791372310 14209472 960899270 638011006 303628457 804578872 866018197 668080474 949212454 19681720 239903427 781235933 407514402 786742814 848400216 577525389 79839503 467714580 820966420 553712634 610868260 702630454 85372907 9189515 406900405 205265336 563769654 454650139 596350509 643126296 144667980 430282669 542450448 639305167 540594982 141170151 119182912 183391069 580892764 489693505 423498436 34892341 875610480 532418270 244438039 484776295 748841047 975230031 76345655 98787088 290312613 418922979 341456686 592332197 521091147 788234840 289450060 166641025 348226679 647401331 346905436 467080147 916301008 736829197 651006372 777197534 312718257 830047397 518612671 532588823 93431618 229206921 762060801 82574968 551658724 850762047 631777408 426713138 685548332 118886339 177768951 766010269 412413063 982960900 681606030 889267255 987846933 119517526 898381207 401895592 402894699 794308340 349645394 292345856 781713436 728013736 836784326 242819937 37037495 684684084 337634556 809795082 334484781 624329855 750991084 843480147 44959823 340203800 97182757 714818480 166305369 521880170 924069550 34432822 423768968 116586122 935309289 790328616 498314970 208806132 653501259 789447307 436728685 253357598 29437540 682955641 218801751 630709954 152651641 260606876 795417440 791131309 36895092 17125386 575023517 703965657 252030994 325712456 631585 418747249 555745567 127885687 230447192 885372574 841406730 880430036 988133429 637826469 279963793 972253633 542550375 834820730 424629229 527397873 900318184 946777020 472885760 60738763 812959212 815035480 919824714 553709646 515567655 114227862 814677632 378341581 734049700 757177239 265169446 936449401 727828206 228642920 915135910 454856833 878948286 262117506 564691487 742552663 939571066 553779410 446363579 865158048 868285901 242485904 944364352 35624769 683373206 529500602 962645930 542622472 358404291 327397876 826910750 359138405 424733600 59202878 205106831 471320576 781307568 808654013 875842844 32317509 988001671 261804996 825549826 124142727 368507598 483976931 403971722 949104407 147932854 224289939 889610929 597460520 722164843 112270758 371655535 73749039 207890686 440121941 337877805 741518870 849624718 242263620 612323671 508306130 643147370 206131962 543033112 933732661 885985587 866454234 309861909 858650727 920244706 61212886 798756316 791321996 987735776 940811439 943039580 621975741 632670598 36436762 977943693 274504894 274665627 897220552 710603727 852485844 237135154 162871099 32367934 973417207 831906562 192695863 113010786 68353503 963545510 370385946 834286100 379258175 410724612 42427131 551457567 202451305 799777219 597332791 991248874 693302673 491348460 714252240 629738461 474609576 188633622 916589318 229374990 416417661 762390996 246246223 99639832 706931535 828803660 156610290 237425958 390453216 729976611 424508777 622349517 37837328 831945931 566258159 224649885 459082839 661307557 698211807 414860542 53116171 670007508 826583600 399620438 338714546 427215534 42887451 316934128 493849471 128857406 808535258 275391596 1150021 151317801 596728920 718092413 214020744 575123283 394538780 555359471 366308464 61477824 348705931 828978411 367500179 181892248 794099325 724820568 76171503 611300770 806008558 617240859 149243264 189400285 256274623 791726100 938334428 31690743 472140731 161510829 930200322 208614195 807380452 948458869 653522938 446473376 596804096 619834693 495876543 193635237 141785309 362260814 463744454 209075032 593329330 505928839 530656862 581712072 829955988 728720127 163920198 292830043 40829968 749947172 203212803 196727595 224026287 945057992 286040071 649998024 231281579 437479659 198829042 495333175 207089637 33482251 899137849 59396300 605898093 415587646 195530724 580983789 905754934 967079644 240536125 55733490 17919146 398761639 314041227 807324571 457776807 34693932 354844141 339378508 441893152 664335778 688456676 542151545 346208027 888975205 161204121 970738208 519601960 612124700 345947776 246953694 359102392 157884024 932773054 872485819 264473233 296051609 914795667 144652282 762694469 147208661 897666726 781959595 621799169 604182914 907418748 519723519 310737907 872786323 429017889 108003071 231389824 945889273 543459489 206616037 720675450 863535999 424353065 568677007 919127506 263144162 6014422 449243835 378344060 140255301 759036267 133629642 526711738 108461501 490608459 825132759 152179827 886182009 286834184 347610073 873150946 271398529 542153843 776007915 116448888 456627747 333811963 176106980 158955448 300361172 387550596 127073679 397395585 847352005 266033458 555817919 941795559 895061165 993406422 903189216 960605473 473868584 431893818 240641038 807979852 192810610 763529720 213251797 269572167 817588205 517728578 465364014 362167458 374867061 817437253 108621032 110047706 862945256 823320324 633217786 455289201 24343751 941329977 302999445 802834858 582018367 863239889 225464051 680244731 525047656 756339758 708253268 776794427 727326621 852613586 52965683 385949185 88071732 646553818 54654648 916693791 955637437 856128923 326712965 148510630 393874371 428779586 522095083 597930708 873294890 100377474 435010987 436005074 748435054 932829674 622930595 418916165 354765423 850866429 648365781 970425058 584923300 670579355 297011382 615985105 185040074 77797011 310856709 811139734 848713253 675008629 910344800 42553347 659879140 310450326 882970043 954579006 731541428 917044964 673010669 323967630 900920758 973586971 555454367 394667287 998255945 570351899 97263783 281000733 529835519 368293074 533282739 978794810 402032145 282523113 853950008 966383853 762944289 364126517 45584767 135476527 558107014 72167186 63681995 477746083 521690045 642059702 235144391 39773820 767346511 466941568 993583655 29102850 411805968 970833703 460822257 710653817 568761335 195768424 751549047 354199319 103443207 766433282 759612320 940798191 182887936 527533540 278296771 139032401 388090399 44076370 860373491 782612193 428103775 467997080 859008253 986243795 692692277 491081056 379678495 144155993 278506853 936910378 796465894 868250795 604925056 372581849 876857798 453842295 312202785 150150941 898333238 395017863 14678878 26471875 920474938 765727152 505777212 358729967 461111837 902055941 631345034 656904764 526020150 319291295 258817797 885112357 357459097 173529317 232184407 331284626 738427996 346270433 500747500 865458643 920221387 876949204 999454025 481290198 192727334 735736999 545284588 860673864 643609052 676778416 606187206 98263979 610768052 490765200 544974946 617318137 354539748 600579133 776581691 985870657 231978999 454641637 92077979 606449971 11596876 816282448 587925819 610882657 504116947 958711618 263241576 743082524 536032929 250618116 844422678 934381220 451862606 862920375 185212579 225111651 532825104 846610103 619946970 493726662 865444634 6025226 374097421 948650171 320355288 366700699 237559500 845550975 209392693 316549930 164607205 232427875 449096748 296584444 455659895 83925091 624798043 793778279 709151712 631134786 128627840 81075829 962154736 675492318 38432265 629910713 155194608 38284633 602421072 251623849 860689388 286163960 574658510 294383635 380161082 309400179 217526693 878431669 937851718 433548688 566124961 329386289 23959634 612884894 370985829 545890387 143712479 700924117 290928596 328934357 127079920 807834725 516991715 887537823 54801739 173228618 812052055 183690362 200053995 356972497 695547747 450241057 577001210 20846171 824363669 920387445 563235000 552565768 933683322 929207857 798289424 462788142 243667553 587541606 506888320 201695541 777422346 503810192 874936615 892970643 858664255 38340694 993748570 734041594 41394290 903959842 137252424 11270296 506859208 325975819 966968039 92962645 971954905 340463752 950853079 307541651 423012192 504224285 345634101 88039624 911154194 893379176 476550078 640331090 317539220 224730995 855375001 402691097 985518002 979697952 137415746 180287671 615979910 943553997 801480336 727419553 817618596 618366158 940461529 573347892 899203076 273426060 482398565 688687607 817025171 558277265 65744978 264621307 782835333 499469884 789934202 364090484 974410041 481190992 707198926 266290799 784535447 191365731 47748931 42999791 198828519 846107937 4439964 947729092 136293793 956679002 82870833 933020256 854507352 658580330 118579384 133431995 1431113 852656168 836984769 997759634 455522511 515050697 75988994 267647799 415698144 638257518 152297913 673095652 763880785 853798420 506414857 317433714 98629993 482136191 31166191 686108137 637200741 562794475 495004929 456466247 534506395 378148415 44557664 681068817 581774748 967872735 823739110 709288662 642621829 738276911 53826386 113554943 250729142 467828556 129272251 410430279 311240976 714710823 87339351 806107723 198522359 538932092 657782297 996724254 842211035 25046082 850458711 719057495 980455021 761587328 144079562 870871726 60232428 798392337 733145800 354974416 209423804 188382254 392263166 116500123 320516897 216167937 73739829 232857776 598529290 275163850 649733620 749288160 818519689 537434692 279033084 906726306 466421668 295807489 373018372 811552525 465240486 173113248 752560596 686409753 333230641 413151873 710396518 814567503 428262441 823807302 823592080 934956411 818190954 603294076 727078723 242406016 535006330 154248074 192252403 233891981 872509643 586369382 499153966 910546995 848321027 68060627 897591316 202051375 942699838 750924854 92324601 428619507 389456883 781476592 898236168 545131054 477362858 623111268 358247914 296680049 836327856 909703351 54727092 839366793 725039157 737412135 361446553 477757755 948926731 498089780 847516683 990785239 439679103 215014393 239819232 672219575 604398019 60178936 516422349 687500827 123539648 770747182 826367580 661811181 644868016 290664468 451063561 155813881 318515343 29979110 890465920 419628054 8307491 809273669 560169152 492931798 465633505 973099087 138789004 980821373 535893143 607198195 5610695 155062369 985143182 505074444 53794743 215968758 446014271 745068254 414538203 977384692 172148671 180135988 70997079 86572827 35534040 577167190 241467887 382231393 485507182 326848123 301703487 703143817 444697354 365176157 853456573 412164230 520687663 76868289 891238974 473336153 357012572 719379033 920304340 677364418 599372671 1723068 688338757 194735474 13116979 204592383 642826364 176196746 251157360 614442629 624242835 428298562 505950309 242072559 990793875 137454562 877805821 223707480 585671157 730789389 226360793 997111380 527887899 560444851 700591782 724437936 248694679 283958154 460220431 669553003 642425613 625199043 450900600 418101625 107200051 905861561 713290652 813031705 933123563 224975785 457235679 238354046 428969119 354712884 142328487 72580982 841560803 919990957 716684261 994347239 504125804 732539292 474842647 954785309 486781514 100445857 868928866 614083946 513180515 553819690 944108993 661701304 840789629 485196070 504720572 608213081 499939232 334462894 855504465 670576496 411624932 629570202 347731256 393702214 727569659 293460928 218138119 959719803 139527690 985811024 493156727 140798091 663285988 792875123 600505203 460353019 182465064 440024731 224346195 472052501 531570587 846906191 965727941 212801477 88512145 80174457 446438915 892903803 658888877 314931826 891665826 675841812 674886754 845981002 128869216 795892332 769928179 46613307 45850777 234375404 806494232 687961483 114008659 425784387 837516196 775561108 487790907 843341629 9649636 839960824 790490996 726673010 934424594 944938746 723413142 473710798 466821720 565776632 258578776 270918536 383249787 587892930 338231336 141115938 225238399 984827609 697129802 727086554 490293285 240709637 307830328 575381658 426577862 229324745 36446765 993551341 698743578 962004588 146882715 929174998 425550804 604129283 250003776 736110327 409404339 426120319 990764475 839814504 641060403 301853725 149898108 148969902 681468244 651138372 441731211 669358166 52075291 286576248 136985784 710047700 175283868 604135056 281701733 964447406 841804779 262949673 801282052 19114537 825466402 657475932 916184754 274524694 232849526 351515093 993816027 938891323 13772544 109677381 427856088 230798145 880051258 400967015 904411144 891646730 968616780 851724472 859488812 301055477 976058227 294079503 505685556 647291178 886386431 294291179 464207347 417710812 139178040 297766912 299219991 282707105 752884684 875138553 215733143 468580056 238755050 708076442 952324550 352312135 118029447 476222002 191824340 538285280 630355496 531138839 435082170 805132498 253312690 607387136 851427918 887555444 162615107 372048901 907719104 379257919 302589848 446426984 290627390 438475088 214596268 590482166 335764854 154588763 306742594 455476871 66951350 892264271 406617549 617511265 72830801 68241590 470333546 407478832 521141641 706979938 511963670 174327745 511362704 223843668 948082864 491339057 992898478 503579152 231518751 657042427 693743990 147422757 422474924 294459406 532392014 301001659 322148434 834280755 214645315 36435809 374003807 602696223 979008298 938204811 205093024 556686062 86246437 478127963 970313187 416815428 750362826 652975320 331130801 225310961 484991559 4695453 858470780 726940649 957154966 190797814 130771183 670856521 371735140 667577337 516520378 414529553 322666616 845025632 756210088 41388501 310971601 902026609 536451729 251328914 993023654 799539863 550997214 46115427 208375269 394831271 281617317 71342630 920464685 72201295 932170457 798614442 634118619 737121157 44195609 451375456 182227466 41551001 610890311 423195255 861516528 306412805 803894512 264394114 875964536 583357469 238644364 609074211 258084907 643479741 558243574 364329589 649727329 477422563 183110102 878726269 417759503 308794895 400133926 292737115 871687025 586374933 378737840 61324767 461157056 637061517 637376990 709530828 711410427 693304095 598605232 551732 798966253 314872332 376052744 70056749 108777865 542271252 837634093 302216356 643209061 381143880 368395815 387177016 332147099 169990764 677437301 87238586 730913618 182205869 898466080 745631974 508977608 336092069 778962616 237940464 943486074 124229096 724180648 405304417 506537304 997237366 175420416 154077115 962900557 810338039 156053205 336562148 225300576 3738896 266311375 402951582 380399949 403336831 39129759 462553654 400898350 881907181 349258003 131643554 649974987 823231213 503750430 434134691 553027110 200859042 118234229 775860410 171445473 506500770 500148745 947284113 944050867 441051159 758420984 3577643 201415155 65843871 307802867 330114422 683556685 325395647 723918667 949761273 804222520 21410704 42982863 420137254 280451308 144242836 762380822 729887450 968221494 681622136 156560254 557319798 580621724 439883374 968068175 291955985 760018963 917921537 524556049 890723968 338347020 69187692 292361342 397669556 203557841 982315711 482323030 567293059 378861540 438961145 523136841 628723074 569717409 437682852 236753483 239595420 671325887 172061970 583486982 341439293 298836252 28289802 927609425 746313691 886349456 94490700 859897175 501423813 892747287 575767252 549684689 371390981 537489780 695205498 326646792 733325535 781637402 668624273 775126327 916048275 692593462 880490358 954635458 884602276 493380954 641093734 108299982 833092228 762127840 17501195 937173265 460678771 860208022 617689340 537825696 905178806 682338801 397396949 789019751 217582333 737006305 184363930 701301766 509267571 95841022 223841709 548796627 935881175 979084529 489565106 272180487 408961775 832182341 71790903 387372969 395958572 995678450 523039880 451270254 173488748 537477754 997343967 823629112 799666970 222857711 551781271 852797128 41268791 333586959 650453614 894337274 992084317 822726541 746008435 62043113 173822446 235901288 456484580 333469086 39865580 523696105 677146481 337488216 586119906 576315713 589415727 504042421 330741604 737047365 542686906 28543673 941471915 1855960 924391134 591530079 701215754 655316719 823353727 780763995 301124049 553763181 364666066 167089683 511164678 534452190 25423856 289949055 306780901 523633551 77851146 744826110 68926627 772588005 437582852 657711948 456836071 604783938 911765601 18601071 414879410 60892726 151184739 77494364 191923943 59913231 740514114 21930948 777315670 3454216 509507796 840296576 183127874 599915689 511947920 607280122 435703769 766072969 816023927 446132763 102848687 852132050 603925730 630314137 984505256 86789074 787815530 296024837 889959267 568638141 887776178 244736851 278562245 973671801 603808943 494876393 898043337 514467921 188644396 270128585 637475258 211389382 44494165 441051911 727473977 655477337 846293446 182967632 282448902 755962827 671892336 59981414 521198004 315588695 622480735 769174191 697319165 895489554 905849427 640616149 460754696 935679281 496183700 487397607 59858891 240098741 163507166 15422521 928536010 790464414 856649972 578302901 336029001 167339681 989095268 801773007 577382471 899784207 532593380 484352206 906081698 697136856 25245159 368811826 838188983 761411253 486835213 439213137 485660857 997363874 106003333 67733102 965611064 190622155 792226169 994852283 225569469 735018195 942360565 308115799 730587536 709742150 703446170 664099789 946145230 83115951 182087622 857498328 952720683 506755151 672237351 880105790 882425391 933258031 304127439 909330250 133342039 848673831 515391822 896391853 942066759 529351387 701337586 768415869 364582503 662108712 325965380 448190453 710576588 181610293 36917083 323715013 543019731 39661909 771401429 860651542 731695462 78917386 508834310 251325809 696840613 498869633 532269448 981793456 321580133 81325130 791245543 51663046 331082547 128607576 37946805 383138491 647704834 518061305 790223690 542128831 93498014 749133212 912397415 104796613 40579936 912885773 358312721 276815577 243067186 101698444 117341212 932465828 102853231 24292978 313535525 722416839 169489441 643747740 5632112 627254669 527411985 97361751 814855164 934393102 526771804 20516509 786874848 388700420 940235801 458225854 510672811 832438168 135710111 530690252 286276985 747095140 522199357 70562705 452953869 65793972 279896301 515603795 183648270 930976889 370859440 210947905 402701566 847358136 716220482 879374031 204338384 55672626 698292024 809545854 629225189 295615823 119491476 212267504 15075272 589000171 65074126 908048531 174485854 576365989 360672334 13749995 515256171 401609077 157572798 271574655 297586211 505208742 778508396 193119044 41096815 879296437 491581390 88122538 870318725 49244402 884369672 464479288 380349213 672926915 339583062 608761737 741659540 714857734 731312494 360051388 793687968 181765156 742506149 607626336 19526880 594848158 914953019 970109526 546017726 626110197 145828767 586305536 77420808 780320836 864529814 723302808 169151296 230614200 148648406 129695250 632006236 409724414 231611723 138325510 431852795 351664939 94833645 885010121 828989642 682637585 590595255 513867465 928420551 614165566 620106210 321403006 358650257 983513885 208517936 159287591 294636019 797739638 114867302 518870613 283371012 370981983 176245825 593992367 106809346 963427016 419133614 529210685 211936463 744134603 962188410 883458485 533561221 793750500 835993594 21580195 58227442 98222070 920973299 251366176 921112288 674412159 485318310 884171070 859903044 636062197 359867846 931357198 294799062 991317198 814935615 240445661 81024746 785268091 865872070 917723982 386745792 74529212 485364447 879002332 289244275 479469263 928748020 161133382 717555106 282914213 606421428 288598311 651518070 423405053 501401160 242982636 770915012 788387959 242513407 83199708 930621180 287103559 530790370 406139987 354095098 466321189 842400050 119733246 118127273 171654002 684821516 564640825 3478241 688810295 727053956 572508341 642283342 18199220 669942369 998013735 732307882 48505445 272862001 387133556 951105179 150629284 234897920 164773140 572802836 54820006 49374630 104011334 981162329 889407663 110853689 826928616 621233746 350888078 2107013 66394937 676797245 992092093 31090248 676914420 121294519 866564306 480836250 807879987 487708177 716007807 743040765 351359939 1956476 207208713 972392060 354761144 679545755 402580545 820961489 219209786 238591716 11580034 494408567 871149383 444069435 867293296 11919998 424658433 105443081 330914784 697606943 14060734 598362852 593103783 241876187 776279930 760849006 122852142 454206964 742324161 366620341 915535839 406030272 626001835 603072373 181579287 649557169 297147905 462946368 71250247 196030749 354267512 873111084 224687139 821128838 184320328 95614057 766765217 364017455 640522087 485903961 109021477 133394616 863733821 304843652 148324557 681989542 481400586 651825787 816960415 381725867 712517864 566448262 940031614 879983068 938072860 104179152 401732845 575962758 184398397 353329596 222448307 298353039 268032768 59773983 201302546 508605160 852140655 608273929 802834369 497014773 498555437 669242593 112529090 397380657 857892241 114465546 639767662 5699708 389641558 771165620 267462680 435072821 583597504 90186855 230074508 111876608 263314621 530106030 422803604 376876482 752022480 987029233 101126839 764388272 982240219 443840232 512558634 721467751 295073058 480954501 339448083 711765965 598597615 511950485 698275163 493143894 966428264 201156205 115341878 798874660 962085138 834909575 224150415 350558227 72214529 190598594 917385433 42755360 718066828 387755852 227514133 272846021 675041493 273006957 243171326 997650747 73928669 485813015 1957691 58059703 651051740 712609195 303821267 530051400 246861772 53472806 404429835 690125735 168461961 671247547 936726113 656048824 350791160 533098583 891298409 733942209 271985655 914012370 923823642 931688824 621883208 8541320 595766805 972313083 446730738 439724880 451437502 922263689 617799199 188986353 380900901 776359298 772963721 842139561 831178572 650440034 36678745 303875075 283521897 345022532 755645973 743391317 630610656 900828670 511533240 121101189 357766293 670235272 933008620 898735364 587206875 760614588 717722692 910223438 118165196 972670 730075501 508908110 940048773 979720829 589986654 421866551 689841842 848485042 12632339 392564475 206570161 946075838 959697040 36519511 618024817 63017472 916052086 101778394 713715658 649279452 836215295 430857367 463905175 188350115 534419672 70355527 973405186 317781225 864321052 726507130 317139779 328109663 246737296 96064042 104173531 942600492 918340741 850214664 717983466 118269545 809792405 843796121 282120441 770012122 643559337 104700337 913749374 643016442 582428187 757659251 625831092 615738678 305091200 553046685 859208759 589734401 543527931 167956286 755128113 811247183 471563423 665702097 344030061 974885172 771423501 518734696 318712267 14784312 676667819 136559581 869069417 926161895 216843656 601099042 301970837 654089534 880786759 510658822 86228222 434189152 496337986 578107139 965215799 761105359 24985183 280042493 607021420 858178602 914965065 107738611 252303740 497565733 823402713 216909426 154393028 104919017 863538264 190895619 229986697 33471163 781056065 217269392 613653746 875046969 224009987 541319340 822058882 281272467 156570337 252816524 171339789 984632844 419156981 267239027 274830899 729899711 239324366 739710362 425443832 984645180 824437008 968031044 389866310 852009700 107493798 968624404 468961846 855252194 548755454 923823562 527267356 746993926 315509110 480797528 705409853 787029661 101898528 224120483 724898052 157822458 443554675 203458201 651897085 272794811 19638662 992886022 685655927 247048912 137896416 601486068 689350216 713743261 419305229 486302832 500102472 192137867 626848320 619289833 49493210 119547848 389155339 688681334 908428429 508629195 429561819 971451083 628464610 63417127 226245320 481044970 328817840 900377685 260485476 777228217 10296797 339285860 198774753 938262506 119037173 663574798 640056898 51433627 889077075 579513104 720249019 626586871 16925654 497303889 60488221 548797729 742538395 79806274 385573078 735049843 467683984 887853006 64628978 557810358 309978530 357354922 331254827 218455251 720006742 117748314 693818125 188377696 418017361 433042656 637478581 679518750 43973556 57570380 212094862 317949845 689716115 549152063 438106122 209691126 124547468 207998649 331488859 96976821 818692617 957698383 414668460 919065481 781080028 398499108 743128510 288345639 590596279 618389383 943855194 371123623 990070743 187522522 387955488 704505652 854338484 134061164 510973243 233967984 306893138 734052883 41065887 239971596 390078559 247079707 371423395 684823207 795688593 811533620 518750099 420012873 524133133 377030454 381796872 751937615 524308497 615206289 885525332 633591937 266035949 715085604 338850695 179274768 590803286 800055947 89706485 353248871 97135448 856845042 775363536 381528453 977086280 553178848 623448709 624171539 871702624 261310301 91909342 828447735 700915090 608063670 382772997 98512081 140568757 686818899 32318888 134543036 223648037 914981058 680577560 723252252 831007274 21284004 28910141 588204863 119266144 340981724 793364511 177487505 881402055 386467964 798192567 565839489 27550661 458725216 592555584 557972259 187463263 46973626 751772514 956463636 185173860 193953798 19605418 458282080 197829287 951022958 420622980 117431593 74121763 61745120 952896158 538722497 604226754 755414810 167993284 184903262 939597046 110326998 958571468 453301848 267616299 154975550 189672194 287893618 548291790 116945383 927967976 972508052 849283624 310256369 737940078 547096620 730221522 977551304 196018466 102781637 723186164 50186335 720289894 938248646 111008246 191371480 843003803 378592380 378859872 951558463 74256957 445397823 359500602 81096112 521387467 407791399 477781566 723147504 714064061 166803441 983084661 747383454 162021775 136166029 439657005 578124138 665553515 770290008 485682668 836837648 212667413 950836507 281484511 668805848 649374176 451325984 829229631 141395453 641342357 196695092 446765004 706604274 109728789 465002918 341673955 660594387 10606363 305611886 96724369 35238726 225196859 418688058 781783611 289661296 8414514 451124919 106527836 206999697 747329761 901388666 1340844 235559406 257820067 364254686 830807108 476646070 505211304 499189572 95330852 277230824 151322594 574245612 697725295 840160890 860242042 329415135 432207027 705276183 595483579 663476266 364626172 683855416 356310311 102364493 750748313 497401099 272295268 812976228 757699342 821257310 372892911 123149583 225375158 709191765 162468893 52840296 673339102 745903018 166821687 174364256 889152515 963348928 60484569 353714147 223125807 29299655 795500618 453776953 618501614 435399142 59227247 956386627 367362286 16650570 644835500 914677151 750482750 40382048 895854910 994834237 433406685 99202329 246228588 272556542 58578818 260414644 320320985 93033664 623642885 893679541 38024064 657488303 633665248 655163616 478002876 617327807 651463089 317593398 253644586 198388560 343465462 895829361 376465925 605740080 446040960 46297277 142553879 982877164 309662365 324936745 187939147 231464501 236496836 941463305 616323594 211190997 218853361 809817782 543728851 149760046 198701515 878008042 966380278 642400335 937456728 152825266 250384510 268111581 542127830 89805463 80279915 20498450 195363767 855751245 146180947 318012975 555087003 874562551 664540032 280828026 163989577 397329971 9832491 966353245 948842338 661952038 387842827 963674545 493243140 207583835 608972574 709658610 188108541 181342979 303094647 833333041 470388208 374936505 210293130 81763688 868193482 820787326 684281651 204667749 37914914 43959682 880859831 997023987 589933273 606215186 149193643 844609220 529023011 762795305 199463264 147055886 338468277 272470741 801784578 810348667 520675079 125980818 189486704 633431179 958805405 414904981 285123212 951986108 16913176 894444651 511167409 547617136 836323011 75695809 413031027 683281253 847782253 983192466 189976134 9407159 201351508 108532326 551197510 99995963 292295911 394525189 136885797 920480477 834087290 245364245 769523910 906028886 787469584 537233502 910249189 536142966 571276493 954494408 172936526 185659938 450378935 497730575 85622484 837716080 187747930 319551296 323573874 652690191 104681664 739967138 250306824 210472926 353112790 122812083 171422644 204597246 871692848 425106419 137363822 535290657 126358759 746918169 738499482 439745221 767485784 240911571 946519898 397744393 819752046 57090682 857270494 996138387 756259834 906695874 339028706 866851679 369450184 822123554 464658497 304184632 565050054 981155562 123442937 198316919 610390344 821885704 417995304 173233589 103329882 118049672 545969458 405685923 795158261 371861952 372359026 850615526 766212628 104914999 606900393 218519317 801853108 463129501 220406403 784980532 922257370 121066172 562328039 398707821 819501940 52265558 306727360 429670371 93428251 374371966 65198406 151770338 468218794 655619223 727301671 285652233 344994364 282270632 577765255 505869178 252424109 44605673 469052776 737366298 983755759 749303492 327233521 792053444 369703608 159456638 369250530 838353056 276072172 434651637 982444859 864672412 509209078 588976721 949426148 532617359 34769261 255320013 731933115 324464953 171058860 839789994 241968639 899739936 878193927 205819064 808636870 103430822 328913407 389982996 503557577 209244031 527287260 244202742 380663006 617438667 434362137 639728592 325452577 969515282 600478469 865878869 773711789 250329781 755853535 687333212 498309831 623199533 13349991 427164377 21960158 415354053 873984803 199436127 652694706 984364089 624294649 476994101 593704778 609710463 711302016 977589815 521130902 348920933 914051841 321656692 327586188 538456777 752886422 317697008 178205617 61272703 608304079 145707025 743446867 614215298 29172557 998296537 543070146 186868179 567239170 89841389 200912289 30463933 851532757 542288234 9625671 605247357 412462408 381717313 425524646 820851108 237524619 888948894 391489957 129433162 249640036 356656521 768637700 100119955 9137438 29527965 752951783 513596218 484011061 262480889 808788047 573197969 851359537 941409539 964466828 825574398 180280412 277688600 356758034 288403421 116413229 922393283 887098220 40324201 378739937 889121763 756957224 598092764 90412883 923056939 564286181 692158416 327226751 555076777 814423445 164879864 701208108 251019661 844882475 848428265 564756375 976726937 282137689 522706041 92168829 432481934 485143934 796413585 832891108 776159539 165548530 124477479 588161876 874002661 977602766 872137654 569602131 467550319 967098529 54109846 446093304 165659330 418163669 7069760 222272023 641388027 397147971 449448268 914445218 853999261 713839989 950581886 575127615 218454151 268565591 552211216 395908670 203408704 434498257 574054871 719166368 638628718 351766350 826885432 896000099 411376166 354396826 749245297 699908936 273250677 709576797 462645178 440548466 126251489 373852947 441394875 315353759 632534771 389058088 482590166 256156166 43850806 141120973 924569123 658460468 753190334 598664581 321568808 200291277 726182645 36409296 459795247 287043681 120289145 847840570 536873359 330235769 527613363 962853554 721577816 549639062 275771894 594507914 642960729 450478139 131941250 861197284 378043142 948942528 372171363 392731666 562186516 565126599 438151226 480511758 101925557 253903395 97597177 984597671 717555387 296655116 105261382 866430064 381375580 57549873 786664296 409745883 329330415 315780609 607500050 254443011 41834151 88734496 114832959 125887222 770291328 278972945 548859919 152411216 577896866 416220547 58242967 153145864 374413040 949043528 646993766 444353063 838973242 675138442 524412471 141498332 216357447 878198402 845005898 166420183 363714462 344162366 954310884 733365269 489449873 349111231 754617563 662346165 40599720 631055891 85316700 47956769 248962236 896695324 396834952 679139297 79337095 254538627 420861 720981905 706060827 437123568 668346520 683209655 777052659 441483414 907000364 364227458 190272097 105166401 462156178 82899067 572178705 107595522 287779635 189797459 836773927 497487375 923913158 58486003 346413735 227791306 844734824 879742239 307044956 915203983 800170418 401815523 965526668 425940171 569602911 571462149 292127846 749752405 221236638 631768860 85499370 362437106 183238312 395265507 256197363 180476566 504607428 294983939 690333757 522719930 36430720 291868453 277049636 129942310 635934123 83286572 698527802 410188256 977543673 631155178 725325543 130862543 303914760 525611222 51655891 496868108 329133726 722909225 755400706 135244460 313313611 142374619 210068380 499912587 93371920 355793050 519316479 639961380 367722641 900587879 676816389 413015022 656904544 87239724 385686915 772979513 492997962 149188842 64771600 503437486 544919575 715904833 844317489 440839625 654620912 806037135 914757118 528842816 332399249 460180931 355010749 949387894 388237347 754843484 248601207 724999572 45608643 697811576 343947987 324695782 661411051 343250244 838610170 964694560 885823379 700304594 451061977 464027189 780926937 171154224 144966139 221313462 712522357 176520058 652334860 70639681 909550361 434630314 348365241 577068585 14997185 128624521 781622947 906006205 303665419 535830477 305153117 528564729 434745086 20001280 858533485 844805517 563627110 211259539 79716696 929279093 739297128 323428124 305869606 499526855 940542529 19722073 633511826 871701463 665453451 331828281 307748278 48288956 563801942 700164385 698572516 358416952 760693833 996578491 17679223 891195348 39507548 953855745 861391926 738761522 142229729 90929925 682931960 851198808 976080691 260348144 23053020 294026142 538008607 704822381 857923527 197809925 436823201 523870627 684436342 800284196 651321551 796835272 508062068 748721829 387366700 807796233 298620616 591939579 779371750 55948687 609869404 279201941 115560478 823500199 576667055 591560081 445107568 226403858 492892844 736186975 769600000 330437648 571576359 977359861 272332858 81681506 481136994 900675801 292547264 190817233 855151109 573863457 376961964 334823251 218266220 427591956 490189690 580777513 809304634 605458402 398187822 359141048 285036620 799016149 957697883 248898177 942039225 902685188 485044604 393616910 363655314 681536805 328672217 548036797 213836814 268824413 446515111 633935461 754030421 417050642 396800630 179490205 351963279 396623851 540851714 905788977 252035353 204710510 543566403 805867562 148592815 706600183 867899458 683226838 479454724 28985994 24984622 902437459 36236803 798617322 245918334 46400137 734485284 561831083 770057039 461963065 263229999 695149989 289249391 389696824 224297906 106481205 159108713 205697419 457448629 531168240 931338463 686270671 743813614 832594436 75524033 134425065 928088339 422845774 785664516 854611008 807022387 252262314 447473650 733750347 333125437 850145075 963817269 635173295 618589376 902532251 713866733 85152172 916286290 92367401 631117685 650761477 679731476 525050981 462929198 231237777 504604703 914312157 792922732 190792522 350187497 680525528 30218706 565225206 755328733
