100000
2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2
504634501 857588329 877474582 873664684 199059892 101678958 635579389 716089616 588711794 484479155 37010545 958737952 229660915 518118115 151590089 473904241 805695183 603164786 609960695 560977131 829760069 137399968 934036129 21993044 707270231 806122161 138974545 86065709 465453167 162996169 777038811 788946960 320800444 979753257 982617187 318935286 144406647 791726229 202979733 786346615 996505423 705647505 410848735 248890418 798159555 461973160 175466694 958056127 142141672 544445397 595029796 904244289 177616690 317780251 948276354 161826096 168503895 353976559 686195643 221850693 902613811 173796594 117701975 140065890 893694133 486944888 634347714 705807670 520916620 619480671 669405173 6250938 354787649 399078580 824102507 940415044 644496978 487807364 662601995 231861091 846479110 707864148 276274286 487345216 277173219 262569527 843790811 121384321 824468620 829914613 800870984 639956851 820222050 898523969 352116549 296096970 148589886 397879396 455313373 892662286 889262532 961717396 648171203 591411732 608001292 448543876 791920923 397424060 817622625 92665091 772234904 427514394 852563125 938027837 636408187 407865416 346168634 126408966 854356088 199190252 306001488 984661566 871111975 962929136 813884366 592739040 797387534 732979939 970303576 895453587 105239880 385348706 681955477 727830284 550431737 54227786 692272053 676893911 438748084 653333381 92645512 200172310 399247516 410393307 645433479 524102648 289726595 295503454 64204457 226380147 366834234 686746424 921864243 279184251 587228189 422426656 911536419 30664311 878491600 610611963 828595610 352058173 304828785 522028111 363347328 298939106 487808327 999735267 994187945 707008396 272818436 332716297 120176257 896532336 369659471 401070120 965602594 683383513 260474929 930008705 317999353 5285161 921494280 600703800 710522970 353643721 514228037 683388241 146400363 544069246 321078766 988262911 289252874 958613230 156800057 754769835 965535709 68985680 58851510 996436564 818020619 422189734 447035194 148841401 153726850 927720737 686232157 322870908 70736631 167974738 160276371 6130711 500090204 364539458 834145235 690478014 70938783 656577044 314302790 898237923 248758829 998827258 145679783 815151409 538513022 832105376 790327943 472821170 961923932 381050151 621166285 715149674 302192896 777291270 702596213 235967721 391874066 218656480 359576705 467457311 826161068 591717966 181549255 844341436 901523040 216304720 164467376 282695628 371958259 869591095 784046351 908703867 126540679 187043737 232865744 289764456 996821268 468260705 860015781 420109642 603856191 934985853 666297855 575319684 95055924 285176606 925986080 586624337 793993810 176783143 804666098 954109144 813269096 964565632 146183315 658341892 631842038 529571197 290742057 110518989 409879257 342433069 301525634 720770135 494098087 349796568 979766615 783695482 33406048 745083137 618924847 189674789 667479585 84034198 890504048 873448404 472786276 582908710 331998146 910340259 327841110 373854498 338089776 479746854 304413230 126771264 89179873 931344269 987125097 348618139 141250819 71327574 59647257 805002892 38002603 550014579 955656810 459102753 908217645 109591778 84736261 711543907 450482537 400724389 1821867 205684945 416992826 547358602 971772259 263953812 818281021 729836442 940584054 991932130 491995834 986301304 226621610 594314638 896564642 774441267 32218190 497628174 142906631 903984147 979497889 491915312 102229501 570646178 222448054 527582545 660309623 240982049 13109202 955450403 573764160 280457481 821611718 844986148 79967931 160534718 677000216 44229777 350971264 951394242 630023245 789273858 359061431 527016499 665460052 976028972 803060859 408064094 139696074 930375717 433978630 591929065 326273042 252429700 87326040 496484307 234412432 113443986 280961050 117807320 735342070 208808583 196751175 273013937 661343523 207509598 913732349 75807329 273323482 324231025 112518697 916156639 924019326 90866827 206813956 426979223 901153910 552060165 733439939 606391220 219090465 556567496 229432011 211279115 225635219 13872331 201839629 366303749 881570991 693969156 801198983 828075115 723623480 66122713 666398214 343655005 396930981 574167108 989812204 317787751 338466714 554853315 21251870 181212117 32488272 327094613 43227253 807573021 773323506 337890093 627812790 528136262 99177152 976852946 225425730 824036494 176640472 866363321 841189775 163460629 143960930 909342954 356459325 486568712 499457456 178275498 455095424 896810598 792179304 315046606 732665547 795639591 577525853 355291726 153721460 731125434 972979848 364097880 981815966 161513814 87342810 665289082 17132100 765599365 780005191 643108422 272908276 194948247 313728819 8296523 184403020 393232620 350978006 702853778 412767806 892421409 150700846 161091479 945868869 438577357 549406746 313867346 699796736 551825043 586534177 447468551 891754838 592679207 986832052 604313326 552543480 62793218 730058455 94284920 761484024 233498603 429139859 177304555 989670303 247645478 286427818 510526812 911506014 535170337 828091842 93965511 886108516 753988379 678832019 550550045 368038639 691754682 998921409 96907916 124617844 951289381 118974770 222005686 493076459 75931821 646079443 451093624 997185248 869053647 693399733 9820334 61394132 401160862 892628585 334018519 920634210 474519890 186280436 385439727 284543236 680885282 583342628 701236932 768167608 919599750 531494282 13952461 659077984 745285484 54071252 799167737 542464220 997334347 412758460 211376012 736863545 690225873 433822445 27864695 445298507 339901239 691476516 238932963 197691361 750247957 519200427 951019529 292228251 4295664 360317858 926347320 13973407 329214984 733420577 892088105 318734192 412682015 695472231 342082298 719954107 813950863 301533868 175418129 230517570 237685178 644601973 818968272 943849546 168378125 614500792 431740453 405826571 654148215 518203999 611179378 545125601 34691687 472072159 109645059 557827738 702234106 660211721 141391086 322385461 790854738 724626997 287014149 890804883 801707565 853368078 749311654 143030875 130287332 712412313 110464847 844692752 956087330 850420067 873075401 932324949 818830633 936727527 213427360 63047166 329725943 538540315 455808559 188141691 274951198 370628230 422801885 650695981 368548142 325430653 64050119 980035838 860811497 81422008 570287773 355445430 345235878 754051858 11193082 153509974 725455500 286633952 237184076 873145106 591094493 968800916 372792678 625411915 733977634 808320834 990472618 32010649 498169947 729312757 891850227 640025343 875025858 709358740 885900665 538624856 476992632 20365040 636885169 432397560 295485351 906232115 991093327 482716493 609426582 516715004 770584672 643320540 408313850 985541216 944266475 940659597 546141442 217300882 510769307 343003009 208895912 302213810 609659461 689338499 526535495 301918205 203340321 6792373 773054425 201695436 237089852 175630928 837971608 988155039 442089779 209389574 647025316 314376299 281309337 270043239 771881437 125835664 390577283 119346896 470676905 211136543 432016954 543846648 882916126 272956748 785411955 433161978 517105332 990140187 880766618 593217608 19402035 16777209 926946601 66520987 273542997 318248003 209626620 200999439 726427514 872816504 731325657 358172629 159369296 170949770 115819264 655848972 962718896 802330758 265016134 167824778 66094758 619334030 519369016 347400671 901894206 966961118 415193704 286572414 40460658 935928315 31404994 31814290 274128233 484702165 214021278 543028489 390093803 368273720 795683578 915594786 572439031 947718128 121860696 912245196 854597394 751934512 367148422 687094922 175733082 98534951 627029986 282550148 465042871 626803900 612826064 924428162 298452797 83422437 611148155 694815255 617315823 512573264 158507055 650655048 990019278 867044816 261292011 711197245 961787516 402362605 615081929 64083725 843925497 87411824 474756993 175525236 859245610 421885670 104164620 395151471 712138681 692888886 240655400 198762576 825711469 964543891 739835346 933774804 106456810 578471099 426991801 602239336 154470391 683138938 993432558 987105283 127291918 172082075 367080227 556003387 305118049 285452495 331657512 599672253 682326246 45686570 841871698 504605849 404712343 618815253 886360108 83958832 782742704 465999311 812178992 715465919 501766377 681494172 25649211 188875690 384015177 784840106 969136364 910846500 932033780 704183751 564401029 819278779 127835008 570877581 924394679 647058616 975415896 121326733 969409643 39388701 897279153 714211186 754856710 896148388 170913751 898885749 425189854 623123495 706929257 641883364 137548518 474841391 728492485 810426825 339678754 543222926 333409146 784379150 367811784 114192437 129000488 558421559 90280516 276711962 848633842 606329839 15615690 404446982 919574948 867943000 155063131 310263306 935449875 970902354 344300544 825057334 107956920 974420203 192624461 10064342 497562449 93318842 318726570 592375714 686602265 172764313 158959118 522366289 303982057 652966624 645613456 359372235 563843727 215187272 152453132 726314715 211141089 697421624 146766032 573074913 618095898 219845617 557948218 959351553 248278419 295414424 172933363 523054268 834310879 672086822 129894207 715956462 997898279 405418612 812862757 486739595 407421497 45286433 299156680 5768990 130623624 183626648 779723164 682061990 790971461 533182116 621203104 360050758 322894010 277939670 857041896 890550302 973417632 385186432 933110064 47407340 825236676 716144555 235905167 778035605 175853874 774955981 198919244 926444534 810258282 491117522 641888282 473995719 570077068 972219570 765729376 103084224 481276256 101678219 793032499 747913797 947869807 246568784 189579435 912197431 728028778 722670478 214953379 759327567 841884396 747529538 187405307 276691081 755087733 755891391 85150485 955040990 419348014 349630872 466625215 663556469 999840349 233959771 568696539 792841879 495811537 844960010 952847801 275561080 882587344 500714374 341817780 775974509 321612266 994212460 784881578 397059760 370118391 660067299 924748123 791748212 390343388 175210515 927975329 387190112 435618932 701738288 859643304 456749640 121328682 604456428 402301973 438840860 253781808 968362886 607551922 192652346 771694730 748194308 350288572 472753919 492406384 764815308 324294806 882730336 921252418 468727225 873517859 373958015 654033180 115943506 289066521 750918131 300161296 859911768 683475444 780561634 992322160 178854333 66440303 411280686 669544743 752027830 58643347 209552703 75596267 15776312 963065994 886080865 523130356 41607410 414367521 792721713 358926132 585532944 587521898 264427552 865862707 920123113 473951058 743180372 341254393 595295487 434057383 425392205 233991648 543635750 396805477 973728022 403494130 3571971 433876277 374433320 323313144 204956292 132636534 700058200 848655321 82037091 997165537 754135460 226275425 378971821 267599168 448889139 800955391 734246177 45261707 219146050 371733541 289898267 1565342 334101155 816240122 117861476 879025216 566766842 73155744 347299504 534112625 16552134 26484540 371640326 941602788 401411984 200118759 359112491 574366806 78364514 856228030 29713021 29455547 569897324 975835496 265827426 253908777 681494957 619311528 699518204 537140771 320531200 852401929 805076484 617930412 924353014 881704754 975114918 905095364 30090852 442089623 891442187 890201690 129026550 769466241 614086072 86500778 864685908 516493271 940460028 116522526 715671592 473872536 773101135 844166908 540620327 362386183 979718119 114919076 194019740 691586546 638482015 869054893 321535539 743661418 880666133 408670487 749243468 512536986 528869884 504098637 455585853 822831510 332021251 320649255 231066439 55957332 13409297 626297075 453094594 964625825 456330347 781812019 280193588 16460788 211941801 438061410 949705764 57401898 866370953 546249838 909629476 637246152 904366934 562267417 983875084 978410602 699927974 834731212 232274703 272881917 368126448 550059806 765051077 84558308 149978623 90467303 83436378 950242879 821326627 520482018 342408646 653205217 816065628 844386041 671212014 352907457 737214697 526253985 748067055 493335416 363997103 379726090 806749347 607920785 755935953 966791258 570023399 596668306 109957363 872437756 769423997 790811545 619999305 251943843 757752607 274992850 800579597 737012918 110832930 1357772 65214930 421277977 857471531 241002715 891923200 314980555 905013831 572154664 164522197 146210799 35313063 446545472 894787456 859939252 933858065 705448700 168571181 415850087 344242562 990832513 451844781 637902206 289654295 266176451 733159156 623623939 647318368 759221734 706711539 615504330 649418024 934059381 623256313 545965431 138429934 518202250 168803502 237864997 358338487 611480755 966781951 662383849 74080187 885151905 312475680 552580574 519666252 875422862 857829270 872332594 104294691 560906659 778830106 472801431 650912309 274782492 876143347 349320 794732745 955567358 580118885 622436492 413917497 67776047 706095631 328301215 653506635 111229993 95614836 311821483 511410740 285808593 922761811 860240923 961286555 226599453 706910106 783309668 771668947 128592042 27029790 769194570 885970241 435038021 973662380 455247957 148171487 892204248 190057171 17242833 926497730 908412586 646745694 650121854 790229007 686431076 573556071 85122096 724987620 451932908 534833522 941076282 848491039 330239703 315968780 812969974 986406311 532872613 873932015 336337272 829298334 942845029 512240684 530007072 485278943 119604119 859091900 643074897 639897952 564556182 925383617 991042122 481288314 184688512 164826941 361544380 148876181 793887715 723251221 199809648 525420715 929330555 922935006 235326665 303386256 134900768 629669987 875703328 500878406 860554799 888109656 228779042 69268825 514214455 666314401 409715821 205634485 538422183 582791452 67270918 474491110 24889411 223961293 216418656 754437238 332088062 434467471 45279569 608451070 353871309 760542936 638853240 56296657 985647859 960602652 222517786 244346761 594723783 350132838 285885518 415030045 192815499 428530233 174766726 867570155 216994506 925784756 213914585 819905874 916241374 447189962 248666852 700678668 628726222 867103380 562347032 542019500 894387684 795715580 634052386 259025958 736347219 561026377 379467467 430571786 829986210 179579551 829296083 403043363 762085457 691110927 366164002 976174306 650699505 257153666 253144136 939497055 634753831 793007902 826202989 644707738 829430487 66655695 846516924 317398935 965781725 787451576 792121198 280270122 435104933 126851009 581698746 33577560 230760246 197966188 314540770 221404884 403142755 252738838 730746166 284614673 436354470 136307050 448414043 522139330 483863740 502725255 142197078 418886841 156955984 163575674 871948486 824043741 548113412 323438892 322940991 852823945 781602227 344864754 721107595 795264271 58769238 250847899 211966120 579369993 830089497 886332790 757834377 130118984 904115067 185629861 132809215 173099800 342254835 886367435 934591586 219148582 738708989 402137876 976028797 105915485 536160143 673804199 844958772 483546279 280733848 304892923 727891930 419429728 209268940 214992633 576424931 859967830 154294441 62488432 283055881 684991068 87079290 773034073 630754084 752326589 183585250 886109494 211419913 247254927 913388424 575136738 111716261 884993506 38500861 493101797 693833046 626045317 128020205 467207459 966084347 206077904 198154631 570885673 937358548 528729051 511437952 973090130 778993863 768032061 767070819 745813091 466892297 808052624 889021752 805469801 221667967 190821209 294901427 152044991 178219018 703966864 338164176 322539418 864030666 290115994 732865013 850661465 936381991 460202897 113873098 541351799 208786170 473494780 614627812 774993570 28541987 982804398 49599524 798598271 126681386 348988108 773057389 552667712 995398601 9226083 656274966 174546512 735706606 653716870 915696171 743233322 407245250 108377109 318857232 289511595 833346253 933438688 192194467 408714465 352674210 850376169 702205605 582889265 861324594 277309954 942579224 855131321 198496093 494792487 473450756 217818686 93528359 704355208 346147516 975213307 480926410 94422168 188610242 464471575 128118830 93165883 597797548 724903365 873773686 562462215 996762665 30668631 309037386 411369175 927337588 997488717 197246379 292594901 386677055 958324707 271179180 635681414 849029281 441468380 284375135 360559478 289447079 665966076 59322252 14042396 429239687 795451910 526545659 517982316 751963329 705776521 73586773 325220839 699895250 198169226 846259582 955120287 779726229 400084042 325223607 2709316 941271877 173434655 333769572 665888837 15880110 877748249 23128977 545398935 273978978 571091377 590017095 106563559 436538267 207948335 753235918 811588397 367080464 284609467 308335168 749070847 591696466 747619628 335249160 494424507 495235782 579334823 850166692 878503095 834896527 269191456 206239261 724061978 388089650 873485580 44072497 299370249 216636770 524210199 28649168 439204666 360529875 519849924 239128855 13966266 25916208 948336870 172641090 242389962 136965553 966155399 781437714 517540379 8800978 182829382 787204008 940365330 388839928 369955999 709649354 469029777 203603478 502473812 143351754 453632109 393492398 555854221 852904198 734967332 493790534 377029654 6877608 684270837 704474660 113891673 648483830 553756428 535255414 643483872 149128296 837682123 871726 232591166 379683584 144371372 379570132 674808991 686836975 378535568 401764099 857326742 607634148 772789366 640368393 986470186 196993107 776233038 671123706 861310165 864711108 522710537 84049205 378850620 776680184 853176990 601665998 996803195 538870475 506403234 290570419 51267728 372773267 814020733 904244106 450151142 856467138 395739718 283769966 373158688 223830481 546253846 418113553 387349363 950099914 943327591 692724273 481052377 826168173 588814500 396813663 408788180 382659512 466262658 819879451 926614425 74466494 23605650 430566052 755840585 367509552 896066336 394937870 911116257 278465414 956438575 706038668 381383824 470281639 145803954 30166477 432363638 813065221 247764689 376767626 458832799 774943524 603798852 534961020 478415018 96665874 111655073 294880532 903635891 723891674 446138970 685262259 47918498 735702345 120560077 805290651 450864767 333658173 632461852 754371097 899317560 639623850 342261072 123567438 291636290 535651726 859937683 419560168 243526562 519614456 875209170 693616331 94459490 122851658 254781038 371946212 296708336 105836873 553587629 531361432 109851086 484417354 490274968 266916791 586352066 494442947 155155094 584426692 305132622 427539686 369648755 271547240 770049749 992022963 786345678 28369968 97770456 859961154 401098548 191555767 798606669 309507131 232518133 28958081 42881071 322698970 733114885 349086707 736517149 994359814 337138296 130998291 67638754 407954148 91826202 402812445 386882236 167566583 31790967 205148877 852164254 678011721 549123990 755111444 940499028 760455540 588654099 854967989 860934016 522149620 307220908 192723010 307332815 658317733 354761118 99250009 115252166 230189131 416011924 471828968 537563443 389019157 737992817 704440587 596109039 741733142 625876025 23587414 44463252 221878266 984259577 225373887 814706450 704348974 817636898 360031580 268695376 616051638 388338067 65911773 230402083 755173234 437368218 521102156 70490790 525339352 47973053 54629031 743534326 237042593 194014109 732740249 758766338 532204486 864156154 925668174 285392468 554686768 141071309 471584368 661645656 792003010 979532156 262410797 384348016 918246758 106105284 119794311 536533077 256839056 53146088 990957626 332500224 917952415 854955319 111406776 632608837 788136075 912771990 139624255 276354104 576611687 693447971 733590927 341414519 595469948 609842948 554957962 349183674 841328454 167538259 903212330 378695595 145651467 69177264 421940379 872633362 44165545 733870999 411270662 88533843 39783455 633127731 408849966 813745997 353934287 402036315 415013619 946190516 197588231 123737486 856696564 492442544 587624672 620003811 541663123 566534707 886754984 721610853 918185655 280352779 687601211 776079022 889682713 193416216 501037091 861720292 834996338 153298511 795889929 836250201 727404113 588461522 501535022 518268957 881388302 287098292 565088595 565917110 248627042 684384248 368386204 249103303 850742055 440049577 174762734 638458472 808662948 276001399 932951663 909535228 796587927 216723681 9180008 742261338 27343265 473757210 68425863 4134525 175261557 970826041 351038801 82450759 680266952 405836096 305030649 946450493 200642948 457519027 715555624 518870753 463980774 925738208 557526309 833334101 612044876 595229004 953809100 31354380 913101801 383102537 639811667 580796171 32209093 516099281 24061837 15128673 920233677 648412986 838640819 886912795 992987396 593278412 452470128 129683196 358592690 436112757 936372609 600039081 856760194 246504173 250548087 381203775 776110822 328760208 719499573 162787351 908711888 532824752 176192491 700028508 150209323 266413878 272433713 560548196 285652953 150507592 659891954 737201748 823919997 173365831 180353517 811707223 617609873 594060707 172780089 24683760 335798029 187015376 819986582 310100040 370428442 863504613 826198453 679207087 257633422 624305524 579279736 850486955 557396954 124723321 971058117 627955662 385192367 360920515 759821818 963506924 403197350 441287271 822766391 655026360 702656766 721706761 375259309 116860995 529520567 660814026 179511625 379767731 564034007 75328604 341866203 188631783 585568063 324620944 242409376 774680328 624499763 685690733 204222065 579472655 937506372 161083391 248895697 636211140 584052904 413489546 352448737 461815976 843439519 591674925 750743418 69916280 497600322 217160187 946742492 894034542 756257236 918736410 642092036 611332144 112051587 446657085 344398000 476863421 358389707 579505830 161878161 667553949 905516603 109449837 398393256 719938261 790609259 802731666 43620444 561433766 886952992 628508336 976491380 493213473 859546366 143778976 666426203 982757404 340569991 24480150 792047419 774822838 849384234 476712467 79999789 920096848 948171570 249082059 715803781 435097023 815411273 974004903 926283911 328211891 101699768 219233737 954970779 837237562 128938650 188597290 236343282 507777551 476007862 48318847 680351460 961569002 936625932 653759676 568578022 256734079 80622279 730867903 962407379 857551055 748904978 416248673 470210827 958483397 970120578 887998242 442947340 803687498 335294276 336128431 502216056 760832273 506265226 633420758 911621399 586905314 349660930 849502835 115011425 299881038 280606240 834843685 416057858 447313810 494026908 830247338 398883294 46856336 80498133 386124493 826044282 778111767 356471543 347907179 802801225 410637461 480396512 561410450 991714975 659640849 761352378 865847272 560877850 532748206 766098816 451995535 328280667 916080681 983704935 637881617 385203813 343631338 412964610 790532000 727114862 490954444 681609597 438715954 671832518 710352778 375847402 661060621 216310222 650315914 552732393 690517180 425787716 315161555 25934397 908652324 478494484 629649478 232943311 591813893 304742266 294367082 290689863 957564498 439667403 919936693 797194284 396978753 364544176 88385849 529784874 604898301 652938937 651648384 314270072 249582539 321054158 337651672 831304901 429870108 235701966 479015174 461186816 661457565 853053088 863127663 9684446 543041256 415234812 924204803 384740348 324278695 602648906 645931720 695371680 562453716 660223363 254203107 43446402 915310792 906966140 330292137 314031014 469014431 279331759 366159736 366602690 470637124 267226932 924932021 426213828 673292086 563571949 914187513 251795715 164769602 519089756 986534277 941393083 113699397 486939186 287368282 975194993 272281315 449111492 456345724 915137194 334152824 407311050 829944874 336727274 501215956 923783261 287652002 325002503 813315813 872381191 398508070 304455002 954525904 899759276 211199186 276589369 405289935 611370384 437775514 59930541 211521904 123503716 607897572 657965947 510794359 564791783 164023713 187734417 479807612 682734107 456567914 208584876 179225194 901266831 847213499 474751372 308414871 325597878 983565956 154554576 721841145 560319728 383132943 277970864 520200922 470682158 962469919 816595940 872243066 367162905 996093890 967847799 123067225 451838403 608325752 350792053 808590816 630347043 221762147 417086381 431126799 317300082 484762231 796452540 861629047 884212053 29370113 598137354 172152734 129248258 856445476 533939565 489551644 460462197 699061346 492538535 968161149 312586398 692268975 793567197 494139899 580086102 525913393 884198414 448785040 610084113 397354975 768285136 417810999 99394517 23264845 891618073 273462128 948481642 33711571 640370938 286322244 967083092 240813453 70289466 980011106 242719914 775238373 221975677 810044163 802027731 382101275 935522625 35558663 135666694 780800936 477130345 283500802 962658380 381707944 772843039 213043602 119895970 862425271 517808954 499825723 515824364 346026929 942178221 837847198 794791613 354699135 537018517 195847122 25088315 475082203 264219407 385123413 524602451 545374499 19918660 835228340 909632499 577499917 713265382 247540904 27585585 538952180 541146229 890779984 897798114 181019478 101422098 253938723 607761545 625712382 585054947 518093793 99637446 351695816 166509782 461757307 674362203 57215346 310608870 137730879 857780812 642075110 975899163 446457613 298266799 658431213 752767001 205109267 20440806 602177335 747169691 199847156 463874408 368799579 732242175 436917233 769407690 864899159 720846074 647344713 249956178 303850862 269134257 380138430 974049582 303230366 131098977 565524012 416105063 385091249 768704592 491579887 135595056 320644234 353743451 315354661 905739218 151295177 505361160 748785703 267656810 816055771 914346243 926755746 930877767 705309241 677033476 687238339 384486633 977737532 988403313 477144330 294612581 391209447 587747739 305793379 262851668 546157329 504113120 714996342 598710252 802195198 397372168 56804714 809462421 905525079 798072363 79153947 475183405 491102805 295788597 104214024 391137874 337856401 36384726 494487299 264924424 110549713 894787483 404856345 155763624 297453059 648323496 934313483 779758059 848903951 656395266 487103957 483521705 94502932 598924052 437038168 786126750 818099329 653671099 63471275 522615890 345241496 186516626 44023598 80957836 923855607 218758322 342617957 274089733 652158333 688464121 276049219 361837133 979934980 287693629 94791574 259723853 813855399 933290670 227181601 304386889 97066410 648478470 733830578 150230319 625452594 464850353 66102583 871532023 57897426 308724311 591365232 190472770 812724862 31086897 837157704 218830875 44610137 435060993 839105855 25889960 561628679 222051147 300639257 819784112 588937440 581099163 927346961 615979075 838247972 136474941 513590467 375615172 880089013 900218351 625080046 233646760 802686626 27150636 626097826 664461465 655288083 298369883 302772215 961963948 979504476 771673128 581151760 993548005 216358611 554194853 81549067 103697598 412844270 301529667 378383132 829060035 964796543 525591423 88686202 777652666 829807841 333836066 847836961 240090297 115560534 609026648 892980544 87553923 614575965 867705391 905549205 273837361 663500841 32037160 651107168 249118196 72356239 849581829 269389717 533901737 936364497 411472087 955810477 888465453 746760052 175418744 912821978 2066648 570126709 193895080 104900349 490922014 84068234 548697621 925732125 103453909 641262394 760951328 827491222 320379585 975340540 514565562 413145953 549982814 529622711 741380530 11852149 412039363 332919183 550788197 967402167 936031785 573080112 491031407 652547833 132635754 444717178 62025369 217261725 588659290 728447091 584965015 174391012 127059432 860791555 972445092 752040334 490360659 78290486 413178579 319394169 837039758 747576570 416463984 979767272 451499156 846846752 130127842 584169606 297522030 193516589 898323757 548788731 536849850 869107961 589876715 328174930 272143010 303521860 568206708 561976950 520976054 344794004 618830851 982672040 441288677 991009908 697176090 201147570 641676829 657046951 264167304 172776602 206544139 940039095 869109141 420073078 891203787 74483134 709264863 838538695 578654506 319882356 411375763 139393435 419320663 66289598 118850562 286358469 552032159 809208952 224142444 237119141 768019416 10109695 619627941 47159744 323717393 627769310 965580686 287634329 10815168 99718554 479638522 935984795 393644089 555217452 410733334 426724706 433637846 189007341 918040075 844815521 784890423 387047815 483350288 383101049 653653852 877576247 728137190 903296508 185105504 320288347 312032330 942622408 933694532 453260864 100322741 208022912 693878032 315466597 176165415 377620138 845792744 54105949 10416501 437396942 47729616 383128518 91283968 721139401 955744610 913600720 662592000 749914793 358036510 173191054 702908593 300260802 791899434 701099177 170021342 915181453 118567156 317619231 495991760 136776369 663835332 643284238 699047070 324151655 804856808 578978106 161598215 726879284 199865185 55641319 174756187 173330039 755084875 542076892 718581197 751933551 362461186 27932884 627275165 406786857 721196156 638270365 370539841 483105973 275667785 783089331 874877655 512848285 955766164 186813524 657843732 220829620 976776870 799013632 292614915 691279995 871139060 119852335 139708478 375288846 464695609 652103840 842364856 723313113 845942479 206663700 734056067 267818355 853514312 10847299 395333528 515718609 883944385 705058935 544863760 501186098 442063761 4941237 56710417 35363933 73552171 10436557 839028702 127709588 399032292 354632212 153024427 672078880 165382845 245793210 56222488 307870868 351266390 558445618 820075047 383671747 348699721 540681242 767127648 668600619 608228643 36416505 509927428 991238700 962158023 584665547 382618913 628808556 33020867 813723382 624407638 955514937 319285144 479604700 272363879 709161179 653914866 679519103 71262047 345441895 71591950 957322009 398258220 967852086 494217525 630702007 21822431 944526095 76279934 453964081 648595857 245850877 523709975 919173030 978837398 12621187 737684239 875968217 155061191 627008077 87181425 469702054 370253178 59189705 383583398 354304940 506122626 594357241 714852263 145196197 117310392 992857760 514470281 532338960 458026479 61707575 513481078 715447169 94738966 347447231 260192650 116058398 630793793 652834594 748959845 347770431 873675923 411141722 704596368 181662211 855234379 730266922 628179824 972876857 552504327 30549450 633999642 726332986 971684778 60325144 976519077 943142621 609070416 302435268 835708325 903145515 669440111 428924031 697643343 310998958 991116611 22105469 884090460 56232381 540374437 290145720 388485703 225001690 490746352 561575455 45261794 681533650 840436988 320933475 273854285 685025066 312621147 804356056 11138181 960207521 125072777 393784971 333653675 695865291 708256649 499882492 253738244 575008827 662003662 256715863 976063157 411378059 493080824 486165933 174967359 18223549 396686389 985188881 869117547 554447083 688938126 204669287 605040050 885490355 383078399 477204853 918338180 293639706 589498702 703798834 822216151 81544703 294717330 403736462 333061854 794419943 495578050 243280461 752155785 551952193 375048472 165902585 797944968 585254914 729855268 986425059 721362609 789733646 45634507 640226137 137312095 658495578 48781225 365125382 708724672 296443382 510878923 695751455 58979064 541783722 157123184 958928069 750534645 161128322 75625047 819448210 871937225 765863565 95650944 966489507 686000725 461093258 7220526 884802285 665144944 264155815 417754205 967066774 970227514 969029211 943037206 63649754 840683585 126973511 661818845 424419251 59403600 529320686 744975847 126299043 467687194 519276380 43744428 622045473 373232815 408633134 190976500 317218791 945863655 362140701 50336254 9713951 42644866 232993233 990207336 634207621 859687232 871706180 414987203 760880856 592597759 754858154 193502699 316937850 435248533 990391793 358173815 291250814 68955410 93067963 734625597 664727392 96645233 984284799 526004548 838896993 454600305 437138086 104289587 712487946 148320841 365012282 290328259 98161263 179656851 540162505 329920478 424472971 544512876 393582284 187683893 225815584 573460979 330521236 763429663 922870015 634945377 656938923 29566442 659390425 625371498 641612447 171876776 793974367 227798098 28172971 532361264 723308947 917784881 54982849 92669047 845995324 708986424 452057272 688442903 740457272 211214127 316832196 522795163 415731688 518265917 72247341 546731065 960470984 944189189 229971485 324516011 338624658 101241281 993147122 994387391 761261066 790330953 875593479 545246780 803788808 847180449 474576951 280303344 158060301 891257335 783319311 517219827 667118219 15597746 267280285 533265294 696875675 981319392 477464338 832771463 936837474 743931960 735101157 520597899 277326745 766827613 405034517 891512203 843622514 717941706 16493405 852047784 154940238 597293135 444158480 828154615 506453132 497063371 312264370 565272947 877403948 71240693 196168731 279818502 461052617 47061006 151517074 635293760 898988001 840207531 973109726 771136647 725759164 621010995 475390141 953208406 460336163 464370759 207961989 230237379 553476889 521792918 218159260 192895075 425343912 350075670 911128109 948245291 417033080 716695219 37109759 222477733 209149813 138254500 84724961 976744461 372680215 457961762 488329882 159716009 266475273 978225368 570372125 748399748 540132717 435802179 108267485 851662469 253615263 773708875 158682222 258396419 45570140 663022034 675428419 636202456 757405464 455802680 96695642 99605818 223713507 173267369 94946336 968669570 698237420 349744632 414149460 15029350 734554339 236637484 765891776 625074746 981109404 35160437 873765949 96228275 110604252 140240423 211718571 363336808 201067752 134659311 671938422 690883891 99468252 467999133 519558504 850566184 562177175 400450685 926487597 119444691 429222387 999996500 954960621 566646163 138180095 52386912 534570286 701827956 17520180 630321830 206267906 107174534 558777123 693287222 38812043 511674650 473493821 922939704 370377833 597509768 608391107 496279154 630236563 142207979 967077275 469119303 800665181 538864483 294826811 191538493 880564912 325857785 745095802 218260554 750021422 381953148 497848811 387042377 510400675 400339558 909165609 253888900 285763066 835021619 377367374 602478806 958895303 431565513 884089374 702872255 932469222 595349088 869449855 708736644 108948480 139453471 823646670 437367974 376301031 505627663 969473425 288245260 703821677 735663783 921402326 634261984 684569950 698641554 95036217 342479344 219864306 401099438 902981090 61407072 808560125 685698803 901346139 685196917 74930666 503941042 92007161 801023021 522690432 188986578 529914228 942800440 154938306 778197380 475314608 10027598 116488039 701431908 630202973 156807590 868529778 323594680 929297801 48409536 747156703 190170062 444724905 21060770 250880020 968866273 51963050 107597510 73637818 593985881 320835826 505434479 119283641 740954365 504023039 304734060 667703136 182805203 84357074 504434715 234495979 844515937 803608033 603269783 719595271 155918151 730993038 811134446 783112444 630007116 678816776 624873251 540566477 860623744 885591697 735299180 833634394 431505718 974047888 24519471 899657258 701724528 226514540 832128166 539203437 771480671 120080957 392770140 54973674 178120196 821709148 163082143 849123285 87841236 215952901 628785211 32564511 720286060 281685174 714379415 497158094 896429145 421247085 207916330 809639897 672838282 187201664 513611120 727800287 482226561 387615880 800370092 357879610 665107094 465502633 618933669 106302892 358969066 462051638 696946920 747954550 42031306 97609214 102018896 911726978 107264367 900987058 577049216 934263873 72146054 161323984 254281616 674312225 842503620 134568844 594358212 401891191 145734833 965007307 668728801 955347660 716292237 717425004 383955464 710463024 970736788 76279583 19615931 570758662 843418119 157744175 899918053 247204621 928945968 198751301 107880583 996323938 543990428 123069575 298738350 687118759 634813974 540677478 212579618 766957161 354556540 17492273 874817459 85103785 10556750 912122556 740132625 350181054 820481036 224563932 468131958 113913040 415751412 724808231 841643188 775299694 978248596 491467465 629930624 912209894 514297778 492106124 215756124 41080211 517947795 545905271 124176736 893117296 173084747 860982984 413799663 610462131 648152778 594559619 769143405 920300313 338411077 985937780 234492332 999440116 70096113 734679499 884472038 338281367 142511571 363158226 290585552 261023202 826121390 292355348 899652666 925456608 49685473 507175826 624739870 728990068 627420587 704739100 812338152 198461673 38383104 423250551 934347048 212302071 211292802 720154422 271221703 468643969 702342520 774435618 228024263 188885764 646622780 571319206 760142211 864305698 682042103 298941089 477842377 34630299 43278553 284661511 276399367 939791719 754116388 332326322 360945141 847211049 216380939 101752697 255627531 624168427 596910840 993560735 875690266 375824828 492969366 394656879 254599470 937435137 912374856 569025997 779453001 704242463 679763171 47783631 423544391 282949724 499502231 466920514 788050142 793194795 352392191 603575785 183054636 74239084 727916977 434579704 917856550 171417434 316982954 904984503 353929795 184524819 869110204 397115854 241050538 838911302 677728603 72299918 582827834 158640919 252084955 452545370 608403508 659280626 618128081 643444500 158411446 38672211 610633869 4117969 705804988 581547391 181204629 86705062 860784908 973662109 190635353 872387746 610757125 848517538 529511015 6456261 549112322 310546157 184481649 867076340 871881012 108487970 581920160 880994940 748344798 215690648 500481622 371686419 343378109 423185410 477491825 835812094 596972654 655141806 72175906 117035040 225156211 153968448 486964501 370045024 489234129 185648413 948879772 590988303 775476335 424406563 866981271 155011022 270952870 644680223 626404360 682082344 156819045 843815656 653663976 354347200 35084661 947600471 29783627 842701704 522564856 210445046 19465404 835450467 323733955 348111948 946284330 387638052 122348444 653033471 92949781 779855479 761977833 266530623 768875686 733773537 361412326 86717286 180328107 163652432 906965839 822004758 48451119 143934043 41706757 735434437 473031851 392461364 62606576 380047944 180666717 787723059 57024170 945147891 580829391 860100378 388850211 202197692 384696585 880250186 77160228 902172553 640211068 684253561 762075683 603945598 522295541 763307747 359231597 683723250 94461339 938576459 244271631 699986321 371429278 640818025 294933289 677854304 994216106 596178678 755444410 872796457 170244637 853990902 416958160 979453820 558393711 483855765 462435810 154134650 769469845 869001782 540642810 764364788 200682357 37018818 580750422 754335819 864328801 843280481 984652548 414562573 464513554 479568191 191099984 954535387 244122745 893936366 233218249 138832113 126886332 773598920 770776140 254649251 931679257 486723666 457482427 391722896 594869282 196243153 279982859 922041255 131523442 498201853 989750928 365760025 125561983 552155177 237610817 668202343 622840634 491593342 270123242 205237999 762228134 109582622 379281140 261107025 658801893 415580352 808553237 222185536 588446198 434348811 216358682 991416998 597941710 51980263 894841144 114765182 75343580 149018492 500224147 421458695 870033653 746123574 543556351 892712684 71469568 22930696 315796246 897503936 661065153 583473735 395541982 69545735 382026878 963461167 469408980 347307415 874609415 342089129 623108308 644383908 310314072 999762172 24840166 4959087 139431927 917730728 273267674 689709977 139751982 443821979 221444836 88330177 770031332 610580190 793101325 305556683 251381114 677267127 130826856 938459229 48575349 686182823 125698680 85174571 961954070 739307446 322222435 212798114 393157000 256976874 122258205 936058 510023338 908571498 903010611 625429086 467360097 721899513 830759405 245398390 653714237 978723258 757916216 242315786 291262933 515602362 420553146 619877571 248845692 540178675 480331613 743515549 736876324 307260021 73102805 500718816 993665856 811323650 850301529 534214115 63998582 566175193 969561137 591145200 449410509 164332052 390416990 766080488 148688391 30772238 153116859 255202695 666055360 932435956 818277317 351317767 492671138 856983931 40229875 394166189 125515931 638818618 97113156 779686725 798632291 64727732 320965603 364695825 153195403 850629295 154846593 396013067 362803424 764349493 338877579 27260150 739590814 332982368 963260794 264750325 738984095 363104161 729471068 132051839 383698380 392709750 562172315 481276581 812842410 694639229 664386813 290848032 498558298 969071969 168681063 32352607 517288511 726908066 180269164 243712758 770186505 762921627 468232437 834966138 300490352 987823264 829879150 721061161 356859189 499457248 693318026 700006946 192616958 68599627 937951373 625553769 471413328 673265986 302892452 703007479 304612617 915831743 692466073 49478598 672450430 288922075 760017192 236048035 161961041 162609912 448355512 595522275 956933682 861753538 630747793 122724863 434540212 991502727 697242798 909070382 15269293 643196223 82191465 57784974 923563322 144252990 265756926 555102181 697549252 647889978 570027306 950035289 286876750 355962113 694194646 571198462 66538685 580563745 958284625 474908782 993134151 270677809 912628080 405995319 20175849 882007280 472580277 890656534 245974626 479362401 593021641 150820649 511899979 788776793 650919374 344613774 898777369 699147120 968723411 454693964 600539617 62881419 767487372 737018807 469131526 248428669 958558688 211876142 407565226 88899619 597724954 263838215 508684304 74182126 956372139 639936812 171994272 572936877 651951731 941019738 204098026 166979016 684762408 581494049 526789209 86936998 601246063 353376312 797683541 448431871 540688050 857817024 804187234 203769542 729378317 492580892 820485458 381067052 273652786 249886414 743820053 589718597 174608439 648667650 916031833 37458444 380078649 679160460 427430598 108366624 511020989 326194953 613206568 421553505 967770507 832384438 124465100 339468331 460880665 769475860 744087889 683343875 366233940 83096760 894746549 802681115 517079339 407463668 70778502 808879183 831844807 107412886 282798289 800405044 270099742 884242927 296574352 953528572 120930662 600275445 395878272 958562732 170725661 188338784 758169526 427480681 796416177 67713604 93635397 985455840 499943327 569907686 466257108 152461455 119657243 987252529 702326167 459524341 824681631 297856449 916277753 289795516 214561097 842724135 826973769 983344509 119373806 387475621 839990642 904064730 115528362 360663176 885906061 660729049 923286782 459961793 250363164 252328797 317334788 891389788 299739947 99810170 940438419 411692143 232672827 455269064 658918270 214958022 292017897 414243278 101523450 395723365 4427092 66794000 804733846 494534812 73130756 392338614 601316886 404254197 67230098 99477828 706629445 816117926 811116543 295658691 209984276 464630107 383832692 454313583 6949390 266991523 477281449 707494627 319830074 330334302 108847541 516179258 713767460 314908940 279934210 873678138 73094431 830809750 41002806 550871177 427119597 984535071 337805642 702774827 845309290 62611171 722053418 931735385 101433520 824515766 126169767 230850234 353540444 5311284 702485277 668364572 476862128 831049384 251351491 64505600 71905699 145343441 826123950 587374591 317855989 53955250 994663624 794339982 375454525 813247963 229336164 711768823 740482083 947630288 647360003 964263596 437932619 405675745 409030612 613415236 959864520 352226238 764172967 25297406 453209778 589774553 329319560 118879863 747302487 573105237 923160282 423735610 950064248 189749938 750852708 90318563 374010924 272742836 19239833 635135493 104439800 407230680 835408530 93615658 41959453 742976906 479523842 446607546 216442219 488578179 951564187 76360890 730159052 462735260 198428987 93799883 742290679 593634596 959663046 36724993 34593313 487416210 209883501 345768119 871685393 692635541 768218596 804862508 420069444 652326393 834116762 54919480 740152409 998012010 83594642 527997358 196587234 226647508 895817058 768481163 259256710 306751350 822187423 895533228 495654749 538837071 183221558 4395731 763707073 34404443 90821659 164981160 980371508 620074981 35049549 723220714 903348784 606288840 752496029 899455396 638769954 50443358 795564499 364511645 626344811 56350362 884337 1966398 651416394 492446606 28022039 406371367 191368895 184297207 343994768 448932488 238230860 878645990 30252662 40902433 376758115 71543041 628818371 119638856 16211658 780214232 151250169 73396989 25662975 840713526 514386719 512393183 875755347 33501008 971306305 339342109 737429684 446063491 26627320 65908949 34613250 623327629 334651431 110667027 968725252 55123666 213478155 39103149 667345724 310910973 273165124 707601051 266104120 587216619 583378872 259102573 613874339 47110567 216013981 816821888 122927570 177131397 625398126 222591084 152959027 7690849 400270802 960471214 131016969 785988142 891104705 191405578 478774705 714119098 441509252 461760369 980826058 687845078 579012380 549413193 778325288 646808291 335294735 184373467 193575701 180745849 879100081 900360404 291131800 795647079 668849638 105537520 158663341 304420359 590978405 491255082 151340899 280801680 385417996 4217240 293707595 412371485 80745909 594134518 428405643 154166092 142321791 838445376 847036831 782314432 980775869 125917688 437278044 920729373 208536219 580116032 665237887 661473209 519161152 16836514 557842278 323706229 880844005 802931108 129191311 946199379 31713823 834474080 282297649 235634837 420154106 369055413 502361897 767119279 136596367 889547068 334452464 922276263 956564350 495050284 194772549 898924866 931326567 21512883 478098601 583882135 178960154 306383034 680726534 323068048 56161090 521087004 525726926 370905278 486575712 936518236 505565429 993177616 564644286 96143163 261331642 373931310 686339860 587284849 848084516 896193887 898762458 276808822 507753002 831356793 159986947 321206766 639115475 218747934 986484830 510134116 703826742 794988901 84526793 576181432 693632663 854493103 866746350 804669724 92144066 194339574 497677972 14051800 782978845 171295088 827169172 844870476 87997132 323456437 974048889 517141851 452435106 850982915 414168459 487137350 149514637 935537018 28346125 310980529 214623423 209230431 315619113 297321863 776915064 654574494 45901865 691471305 548329431 503199800 832279896 214749416 100737146 398820132 106026827 950802439 429616564 466844702 721110692 920842911 558629585 542368136 548539368 986824335 565705446 802135897 129870515 643301087 775349155 88492583 862687959 806317027 519894211 259023503 738417470 358045608 197338761 609507200 969534979 69873620 795665138 906895131 144402305 959181025 587061074 643120153 577405720 267056511 361888794 634215012 319459008 269254611 707504502 328834097 324990642 112298941 82985473 174993799 43506559 209011755 995091794 769723552 245497688 274715610 135205765 453697350 937587300 365756101 902119971 739288140 189151347 256899022 539652051 374801011 376936668 680588316 739121355 234948215 448638863 722704516 510368690 516957937 852280316 987710056 256675134 403525466 509570521 709767138 557786171 937109767 93645358 405749460 172652951 891269496 982408634 630783416 569353967 728014250 672618463 275362459 382084357 744462152 137412484 107855356 349181897 699501113 399181478 127656462 588190969 957475718 278474342 871915436 110200326 630145433 62654211 901890313 122708871 561437261 617614961 363091331 345368556 253453913 796086698 585424567 404221637 153751395 766849860 748069847 376949805 304639369 463021294 464204474 140984988 64773691 432395455 40582102 85986184 481404316 691446240 145863430 754789620 430562799 176876188 219215902 241056145 327031416 589863274 404895362 329912595 511373303 664839092 75439483 767362608 27484090 767428935 885156366 871563501 943676959 693465751 447504263 6371411 489992781 611401817 668106031 710286674 557631154 378749557 967303395 515358668 195072109 37938399 442320196 884178432 356561585 458088158 151308240 413271578 606824597 846334104 906103327 754434459 527280257 322326055 376412881 418704987 787377664 811472231 424569812 757590570 983706865 690291889 341417155 107359310 50680423 579584069 402214240 449465558 169366435 851585914 794946659 586921658 434999658 700716087 505351141 921525370 566429220 40672036 400534890 215321565 192399492 998154996 32976888 75504459 542640053 240369827 988071464 578037205 923621947 567489340 148945448 120693307 75246012 635433001 972482116 940659607 698053164 566265582 609106257 751045310 17699102 400617061 288462122 917230085 515509617 425165274 507550208 316564229 307096887 849981017 915243024 66941321 405428919 266894242 694687652 453521785 329282878 517462235 998304035 759426340 455657005 469320807 259355582 753809242 999926381 23663450 138455933 64347198 722840288 825988630 17736020 349424968 30976084 798983171 877506772 451933632 459641106 907394523 825909254 592068851 734638302 244992046 149456574 473381712 680321506 865195032 271327238 60922536 644871564 770327475 148234116 863513419 439175108 624796481 487816087 43479544 716450498 885305971 135980297 235792249 767600785 355416284 633423525 123448323 549079755 706317036 933455104 748248080 970413972 694518241 89885295 705971898 631099789 932468330 721446905 865846137 72163277 542731354 252144644 429653727 176033858 426419371 358640509 605154765 42219852 94226358 342972260 98548369 193704569 210494129 821751803 125262078 824168661 354948505 642028751 681715261 807716838 467628774 507443510 637403404 689379144 853886117 155150943 305030808 748850285 454270389 123054636 652884205 188828117 692820992 830396681 994421048 957267250 860474123 70715516 483324510 430614701 224537506 980527918 783132621 319900155 918126962 239713782 843231519 114679665 278386600 359337681 985553015 885686414 646902888 227395194 659040886 473913865 350641266 979867361 797027304 920040614 304360864 268025721 426807699 569154610 989776927 513212618 535674686 706299914 485796778 643364716 449664190 521002128 426677762 473720756 161062890 567494642 899453653 785646998 900701603 653437420 168135270 687570438 380895853 118921839 740157230 828024847 67725759 920996073 695155569 413067889 895196600 987499326 349591302 661338407 505261838 7256996 899980264 143532592 827947936 356725533 950339935 273537848 380357603 866060289 995735320 729764320 648112312 780080034 713167902 186056374 308900195 341031667 892769880 719797140 28737672 449400929 672757429 512061833 963550198 248516736 282096920 105871007 408711071 187321095 708724418 632148587 328822990 330187805 285438310 439830412 301294213 749915406 781668864 521386277 725322807 370970522 362848853 324841279 354070806 356213415 326740124 390701760 787601893 301169899 858808826 829753857 17009561 253452828 484306072 81143644 250235839 136251692 343399131 763303323 642046946 31953046 117879445 476504523 163588923 887540717 30349729 17743452 777450661 108000660 370572458 446608151 921036652 233368738 677590519 818923101 441430820 405141017 65989939 478760112 658799148 131804901 416527991 199650244 447826946 431556406 507358971 877304819 916370945 873508392 137481019 139254651 416202866 597159805 634587874 515919985 494543172 343457279 906742447 426634473 512746447 87276481 719055267 294573973 139360478 356259104 813692195 160429397 289237102 374935639 266922730 292430424 777868680 193838008 431605040 272274829 42856583 596552697 504962400 451535977 231347651 635678635 335587502 159623073 5676099 945216961 200096338 908208516 31455949 905294879 813318984 993484032 40641405 30053227 980544929 193817376 75229760 615573412 67250096 653557267 773054074 30290851 860099443 323127677 394774174 618388253 825015229 910848766 134527109 819601900 245951009 814550434 984929478 583042438 28471421 578371176 345072186 485961407 176899445 773121330 498342687 849511339 7989932 576135468 612542114 598972194 448311048 300178663 890372147 77508823 949355895 732163642 334193311 734159302 321912519 446390528 556522424 172101138 50555284 501010706 792251270 546696152 852792826 785557679 933144917 433977135 21798460 565178319 863964590 769935545 780496708 620892639 896581673 725307014 406026400 481828123 72226528 138280150 847955486 464965241 635632411 773593184 467693960 223911539 719074378 398414787 628045423 577508174 333921635 892196535 938875456 59357344 688873588 984766539 555276986 143314879 749329491 785502121 988899379 653382283 390405418 228881089 277499583 22853886 153721832 785274192 163104979 733348022 234367411 693414989 61658887 907656026 31872248 872883371 299055558 949976586 566119052 654305974 174515902 908920423 348497815 625608741 154309043 404635821 626696127 654834944 170492332 227719551 750273228 170680067 144623510 368622907 750182384 806172941 930442188 299327925 841093552 801188359 461950778 304275289 594303923 747018566 975649410 325580270 237817377 595655024 956051924 557179162 484780104 949948922 505153396 610880449 924085641 452590876 925329164 724482381 867694942 961579664 741945192 448399092 996021997 86328174 73815140 519728301 101912170 512331610 294713082 617208833 53093471 200329246 112675715 918239705 931960099 730550968 247632503 475880816 396303051 759209683 155507575 761351468 955533220 436621289 109036866 539986427 264858294 255106960 775337384 799607370 247496643 182606916 430841640 845178974 830928536 455250820 880723100 67618864 808827815 448819219 875477759 414697427 516452733 132925535 782626735 790438398 354273620 494890702 454544707 715293004 929445892 559333823 866900764 980028992 955423117 875468444 979773615 571250137 883949718 370987454 873712562 291958613 969011781 887251236 659299444 825352167 981645071 814864882 886737838 775564281 465621146 571961277 253136741 749279802 108499382 985333083 426082217 423437822 402685224 228668411 777233105 465030924 209886024 808714879 833287049 764919080 460595093 827069361 856066928 433672883 843118185 683650355 85011060 580031654 544934076 935153365 336614490 434880737 1638983 155666106 62047399 194292309 73562909 380747 946121098 495937238 433317431 791823440 441956530 758533128 170239843 959746650 711080333 217504083 217477119 950774967 70747081 751335489 491324613 563975834 487693115 681882490 721095796 419511826 73463919 876930557 875024845 201927683 126391646 776536540 374756642 716908081 805976369 630945722 895164507 708449402 942972019 315951943 596235370 118895510 501571239 612144419 257606680 681323829 145482029 59282576 439616007 777165335 813165200 269244437 772309458 790729445 733932896 211714175 334892825 820209711 521444242 87701987 187413057 676491164 353477198 7018529 841669924 856778077 425257777 179927040 624993844 268760899 40268580 958778075 15582802 77907824 818804546 723965365 816777057 564260612 874237835 255357713 13101539 444770511 196925107 553280994 356154587 116858218 790326159 203125930 751871057 814309037 366879146 973935856 381856124 744233055 366090026 176737908 85582618 740636505 340393358 183245305 490140170 614920599 584229045 395233074 840742602 940245805 15573439 285238595 142085442 256307167 595081334 648550645 30812158 254517726 805834724 363333 56518947 985876002 852632348 870749796 247170166 605302026 263300539 729867194 746929125 457002206 455207748 812138656 60045335 935261725 843235025 696961100 600605022 509068556 468571305 849652603 421469639 659592243 271004429 300928716 756012647 825886918 831306879 725211570 949611141 771731411 818572493 173120084 655994823 256542030 939115734 222901409 962356325 817740818 182552466 223541929 61608526 739676411 338255501 581026907 36112231 795145343 619702728 727609614 197278309 174383220 923097059 747325352 821063671 941292858 785727665 32703013 574659326 948386239 454772722 820981304 895830055 114797047 963705967 879604482 132428687 395883311 966843500 679001809 755750422 555090939 226922835 124000837 485140670 104405610 552593018 657820013 381342328 650364239 314956625 42173684 790065527 268875663 406365979 82653011 585890494 745135003 402513796 911515035 921500201 712552671 319684828 331442332 749741766 777163629 507782266 225335100 479514421 270482461 700165136 940939192 735545957 887495702 568464060 341981395 51044525 667271971 241979635 959230817 70344407 988032185 777368346 473984412 410487614 100655571 198894099 881709015 852551805 825537470 396566186 548077373 400208479 958527631 780400603 800804631 202407104 417880681 599268795 680415470 21039323 578672969 529564195 18102228 145285288 622607335 118332450 500141387 589264689 503178645 495403113 674993756 235032789 406051517 558676926 122545328 599641479 219202085 131487077 632361962 510976895 834470572 355362366 392142082 889114557 990986960 821526976 129464861 335529786 185109203 222441627 173102791 233929673 368930694 619452847 219531485 716444893 709492885 654330313 316502001 228121696 227102315 112579578 881257591 273232822 217381845 587315971 973523038 244257501 118889356 942635623 967133010 325486541 860307100 18232275 389315852 791491568 585916963 67651179 844441084 175016097 94863699 132682859 570970207 553515716 93485395 515143958 384515444 938385948 847171236 937355532 469020646 199387036 765616240 877036472 322030278 258672581 951495174 573625997 271930370 779256016 566836775 855035255 975449525 35973286 616204630 450452287 173177262 311808284 913171339 775272032 364864094 559203423 109828456 226387259 25368505 818801165 698646647 964309737 835961913 412815229 269661885 330420652 632560170 604060468 743011273 494758665 291966921 190042775 227239669 722800772 465438661 284494639 737856996 367054584 517074647 929450254 606378929 684971006 635503714 931442883 267725986 271191554 615959490 440664688 186716787 250058700 345422131 662741621 905862798 643555226 171115453 158178713 533100965 832577470 545097187 593143325 636910254 273917611 464490545 231896146 760143409 210691642 1790971 290372672 782811404 872107520 693159248 334595366 100891068 764193373 942021637 12847877 403496184 939796280 275648047 817560595 40923036 720993471 999944394 489919433 74363668 268697452 602920846 488562719 209329883 371930749 954678494 74536037 546390790 908547460 497444319 62752026 100437107 941541229 13883410 587306270 980342741 55329527 557767611 674745296 598183634 16909891 420327580 733851170 42639132 876952187 337071666 71130433 82121258 14202369 660770366 291088570 673121747 342404648 975306694 241875295 643511671 925001586 351306958 894505393 125193408 689892386 223512387 938354026 65057724 39258733 875500613 818410027 336275488 795119374 107034500 352883574 927407133 182481810 20108957 785583147 958044673 211393297 687743855 505511673 113595283 826524581 173497625 356585410 995949270 393888674 795673344 395476240 578345974 268545659 60035569 84158395 885161631 81529792 664995928 403917415 933974839 302178134 936115754 694240415 575503804 565632312 848529595 990666879 214121093 236610756 550372643 466459908 587495601 864094647 104444549 403737282 815344320 5516205 584464075 327388161 803228999 701894462 919154315 807991063 527441132 720700946 930817155 536229585 963066762 957561363 334589417 628098410 54392120 558962743 134174892 504988723 242759601 528971785 141713405 755795336 754741975 888533867 469778638 878972184 919153201 778792319 982606066 834514689 805566373 354328453 923438438 882593695 378331925 728229910 390385790 805235920 84332763 244351690 699485788 88164666 637371403 556521269 467777319 599054566 603304739 300272482 539113705 620078241 144275276 322695419 121851472 606143045 301940067 980417259 107315400 229633276 705725366 143417913 579417414 53326589 113289436 587932700 179398826 703561709 212058225 597289399 698505553 11978698 90429112 293052650 809091258 522971480 401565806 914169102 185581379 319229444 512536047 88395588 639956097 275425062 345462604 793533989 950745618 642738538 382235834 11233087 389559984 462189326 925178425 780564237 280163972 642516827 441049105 8658096 972401882 836389640 17085044 185448629 71640880 407837180 997093532 28768897 432108262 404418949 910146675 959980053 687070259 31988032 129668805 799196041 186361698 901477746 42781941 385576778 365916233 188113420 205238217 254308744 476223462 129113897 943840558 883535892 89832233 386597288 443893482 408923820 35947086 223964006 696431711 162964285 580097268 81023601 689401245 934571821 867303550 535600680 86814338 373677950 170581797 538080676 522520576 326402441 828095938 276600900 240350336 77055172 236783079 97483124 501746326 821224431 716076286 981167755 468069339 96451261 578420527 891934031 241916581 777142527 843257016 835590147 577219487 245402332 691698015 591571560 856252386 928346367 283126010 655570181 546699 112928664 922110812 7098468 863576033 458387894 20434792 478429535 908331260 864996921 144373943 669268670 258036267 210597125 860595961 357080097 773665814 611219193 337288061 129227379 599009699 360156438 349631275 108389224 357429128 316383381 846180977 162566462 147100539 545528584 871465282 193154252 161442782 606476554 145395204 564756317 311850703 38279820 243836925 453410403 326972166 187221704 966936796 872359603 225891640 231344568 789995713 986296889 4381891 497377411 799472091 415365054 410904756 479191077 575742299 504608301 728300994 922267696 218276824 840672105 770863976 488109954 705285780 308618765 408187013 345062058 958725334 125533534 539432532 342326386 477943935 324024915 586112066 539721866 322320067 331792334 130667733 946508134 843997138 697279516 292551811 490043721 806273925 637596494 701310810 518237566 42385937 265017416 649473726 347727104 677244226 230493266 5651903 710532659 986046655 306195688 223382349 817888374 459063187 734287194 859544057 316029189 334027186 284423511 782717447 944327363 49293546 912670228 82412653 867565897 447490282 586880864 536457340 206954222 438905759 431621470 627242923 682784932 308868951 663050138 696484250 124151011 48318010 170788600 341140970 256727157 734883125 891658631 772018566 588238991 387312890 544987699 676523275 126907807 695703084 893553923 501325718 234947966 781269766 419158675 396361465 453337764 627517422 788983305 636962175 448099397 781477391 509539275 956445372 595659464 744051575 488751452 888523117 350335387 569840984 984689007 294409697 609500881 409807831 661629906 471849244 488113541 143305767 247977826 617373814 164789745 867144713 56225225 139642944 734347083 516755256 450532835 622857255 834841577 40522490 485025979 865867456 345928062 419951646 433653393 885058260 525388685 96994171 997638659 800058147 413665375 412773136 735917412 805749471 393286858 460245599 825507845 645178096 201889289 380495560 960770327 506726699 483837824 960206168 285090639 621001344 341375184 272953851 248354089 369277680 850784566 576348908 125431546 395320710 88895830 186661988 184498994 278198864 521035917 438895513 613724445 425607007 941797587 515773963 23942902 30816428 487139470 474440833 976027958 622643679 228350578 241011656 717970502 355228869 618751760 952237563 560413427 457469476 563926412 826569987 357488421 52472668 722021310 306403522 720216653 172603930 558095076 47701465 858584535 532682382 985568903 268670402 905902980 773423440 787335829 585194200 394708266 716031094 900458900 372742810 657984618 752486758 862930048 195991322 304906200 321249315 150955462 451366381 225095956 298664992 985864107 734839358 789066402 840459473 168539176 655937603 425789662 555316828 359995755 473473803 189166933 817088889 536404712 967590677 647183537 771395342 917815841 856134878 479341580 83695884 196580851 783934161 73848088 709039474 918863432 219649673 888756426 21417563 356057311 383065465 253323374 838520817 849467909 360413935 152621243 837329712 378877599 674688326 795161007 656827862 963143565 233447747 392629389 154845523 229898229 808876366 284110865 78816111 714678148 546606624 287347075 123152898 623580474 418775653 537364013 686833004 252482338 990246390 310585058 996724555 235466948 697586625 270307675 90779971 237911475 519740500 576893371 585186 691255066 9599025 300829489 698189468 188902234 848884633 222615692 936557943 826186446 668867048 460042530 960644623 806085457 785842077 934849062 217776958 624137537 710466289 190660472 654018866 431849232 192869522 482910991 978333648 257887762 649202759 789933074 115381748 580566768 769380780 535293943 523659244 987129604 152187808 896910087 196569639 861705545 165648571 855169569 831635706 506131696 2141629 622858526 517012499 618015723 478972632 661042602 988276127 749919120 967772667 563396395 533366970 266573140 198238171 220005306 41374005 895058807 894653816 609845582 610530995 935117882 215296665 283731519 701044783 412615246 271078590 447290033 11533284 737232612 989184658 521042357 27279770 134267517 858600583 765565498 567286054 674304590 964324948 823496455 895497919 164711161 855203068 777671528 258035546 863743112 999951259 909038636 220751511 426692854 434645494 469617371 691332852 879704374 710781527 716390091 399628175 745862412 756260736 541234744 678843365 854702203 756505888 939878010 149980409 893927119 877626956 240106042 318769507 781960206 854229604 703070345 140595236 21860450 221395334 808058095 300112583 970317307 809099396 628719704 275958706 701275422 273817117 794942840 630025612 670435088 912884763 636556374 84881502 395506551 281893162 203857288 615057735 563457187 42142956 831983890 623402698 859088141 701108226 266179382 137296537 897129194 861829800 237861175 769825422 783018770 509022907 81895554 580580305 464283138 2379437 137424545 252625934 632564333 729705201 299040215 76906378 165498987 685684847 244656991 758487078 511071928 521598398 154329642 493811756 482727411 638957179 564479929 963246088 613858333 902205698 879990331 545001083 274636023 379485617 17912767 355064660 412707757 338759560 903998204 192410219 366325768 239845969 833320531 432779559 888622113 47432275 764375182 926702374 153286208 998838755 511728633 109100240 55185145 804494037 312561345 65961782 770090761 615016062 549284135 703779358 140240613 94332213 952702702 355358988 280383069 543123269 221890152 609450529 347001525 354752865 220185950 555099270 943578329 647304333 434059799 783894824 568129052 862411256 252860368 497894125 803044243 38412075 665303619 878600503 54536255 768558258 276415736 342487382 986011318 205096713 450853328 170521044 793165946 586318473 782187366 667379716 851566854 602641353 177130455 590539408 136841871 671183580 204960480 563832816 990684596 609820039 231567253 234041396 760844156 487362382 926804795 362348204 389247391 604680831 334129209 633630756 832788365 586597851 514147751 660629878 449457289 584149796 120780424 551464426 645062144 903507413 373578823 380210600 944084088 34731495 611818263 954747889 43458732 594513434 319486306 825593071 634842580 593484915 916856157 452759646 976409268 646942399 438318056 652042295 103362186 518021713 392989171 813003942 957843908 15267202 692163668 531733825 990428417 376347841 396406566 737676980 472169087 934598285 242244731 259883280 312046274 364997064 699789667 675339820 703551306 18181389 579816303 576047036 465048725 242399255 891751169 233540741 397368877 151806533 693521770 577876923 273349761 103874818 958892031 827648238 163048928 971225331 220137533 296821939 33288677 972127858 332631473 885194157 267315707 123703366 93414996 164149646 884574151 393998943 679428945 564116660 237348351 800208073 848963543 783533210 584064896 319683917 600322867 380942296 553687998 110322096 823378627 854534578 545528920 634507773 772169304 829870312 624171486 201439690 960103985 993410194 197405978 629433747 340918667 943804859 485775619 283841255 500064303 381336746 444240368 511021272 391059446 567585143 665633765 291359383 827240975 36700890 434544841 497725107 955035311 100521180 18027708 745441713 375525299 882772429 24752513 185751867 350138722 711932539 324919341 372947996 195932654 758837523 557036058 519513438 363760164 83193199 163476110 685261753 255689443 925436687 405425147 32578107 635750102 786756411 118472356 714145280 803474888 886223492 705302886 981613654 806649694 613314707 914022424 111799665 604529613 817687622 108095749 181599812 240994802 538421913 163945002 612248039 678349026 670943137 915441053 523366849 523809895 284750958 774191903 227609840 633559239 589265465 357121362 328537985 634815999 16634252 555932612 927723697 982451901 359569050 634500258 525714670 733101182 936655421 109152658 346804656 978885771 801513076 31606879 525070062 743097339 170368742 255380309 680851881 159804468 142521139 680082269 189699635 66853019 1261585 454544544 58866117 659990105 367100436 416772928 565003968 702446609 680530655 794811717 156067932 744750691 98367660 841616907 629689630 720878520 476967265 957666103 215500626 584843689 699167789 985492618 453968436 498903738 865037735 207651133 961161271 225246804 834345205 653402422 896673166 185677121 903737357 515742551 795427797 897946803 73144315 382105776 902814308 937498063 203745673 535214648 692718776 357665244 686673534 367753920 270380828 776235531 924513641 55781451 451382542 339503764 228819784 824308392 825645343 85579180 581623360 49282217 639776650 364823989 564373454 51699496 794646051 636427544 723492315 598230748 835263797 365006816 494103914 901657305 88016332 212797646 487025734 521801913 272061965 641996793 659906875 807409794 214541963 126183804 47221363 207508762 916590662 82358664 386048905 410772579 877987517 796515933 273875303 53751310 841468819 633218917 271118450 761610208 130275081 765907981 221214698 303953572 191505395 341172480 194398706 549795168 603734303 431440171 857989280 637519017 836305416 402061184 258958739 698671845 746927867 604604061 688236725 8996291 794782493 321635116 415699867 789740731 217269248 129918197 286758322 764716639 307686950 523538553 453938817 704765208 273618600 892820331 341586113 577441887 420380244 283113868 839223496 327270108 434768058 793530576 152065040 717752629 192724042 880450753 242655068 480087603 630549057 493226330 433442006 122817453 294212873 45878677 993394957 489743358 385177683 606209506 869062840 794230108 808342686 624536375 191213448 70481785 880052485 769155245 661838258 650510458 517021739 50969148 803022421 886087640 250226013 834658842 796553061 504152121 141174468 655667947 98967363 642204605 307622142 203474166 587409178 130008676 251785275 173555968 49189702 233896483 368984888 430838205 860554995 499617530 515643744 415209784 242396920 309866937 438342646 205705534 18714382 239594345 806328514 319793061 875372098 907134437 634788192 591580717 662371429 296733495 556520848 612478731 469165302 837164281 969659283 13185531 398839282 263827911 718811376 427874407 103104690 612166837 268035214 393452872 12943627 872025362 614755117 115453629 550446559 101344270 782669482 611407882 646033641 656067920 187612726 760212738 730332740 664083355 499378471 404750539 869848442 363922692 947101754 925538375 383500165 631049404 737399493 552692436 983276314 835636368 790308040 623910958 731694871 989454508 10762662 716168676 325319959 589725107 966039470 597085856 973356162 206153083 939439985 9909375 833837160 893124162 912175169 42824370 689126739 620806377 765931285 771766401 716696919 827880935 293730711 80411127 181138316 742053695 157684307 624390093 383330824 436314014 801860917 476227431 305878155 812562850 71244478 545935606 816483206 891086178 365029884 208772783 678557954 996897258 655831302 390170710 16890442 219505433 751030289 858911169 937085357 420090474 939045485 452887950 129469603 392978983 757635582 1190758 616770016 703035392 55779940 237045050 296788777 539833566 878469658 626614934 279326675 122063837 33956348 770370972 461612111 671199088 433270117 706374624 104351940 708039430 47873786 887011220 683957174 911106186 716276326 873519175 882703809 43833011 426339513 30512929 117561095 277632504 507843375 526649106 493878361 881015529 601368010 532804824 162080704 580556606 107058580 963735970 31815395 273467753 578044279 577316101 856051761 122706598 249597751 437003445 38641793 396029079 684360091 262398382 413332386 770062022 855628471 191542944 662022377 341698500 652585668 511956718 282790180 85818050 638537131 969096294 373620403 940511982 506924781 534848187 363158337 437437893 454257245 358090951 250856541 147792572 105665829 117840189 22962383 316543083 963000319 408852254 67865176 224269635 360369646 609394337 23798151 592756501 999323416 308729307 617488324 379351826 644743799 366978013 697792899 686807061 320947381 258906353 527248657 428966461 506178878 796971506 584761906 769935712 60023549 255850921 510578091 142014561 236232398 278592720 110965503 727659018 455676986 559111346 220690011 17515635 976104819 998250901 229444946 426527738 582560140 318607660 958191544 704046978 636985974 264765113 456666055 677057901 683789969 772044706 472265852 142947729 580039843 57046801 179765304 470613192 524360713 687517620 706434053 591842732 237786306 814532781 484643658 295411546 246323854 75036351 697601094 644685246 149459241 220454196 320839225 613359307 770471697 621542 494601964 630344800 548696521 163681910 211209214 826160909 363910521 536570178 917622208 95347663 595460615 792758424 945642994 40248697 822691378 105711344 927735104 740379712 458219332 435351574 871277836 76019899 874618883 107177004 917406022 968123215 773912718 269839885 786228591 990638837 992509447 930169443 882656947 792089919 330897917 400453319 204319766 65159759 2553132 388940539 418865338 810254413 582338069 855313994 534073691 347985182 199217121 116265715 109325385 46151896 181704962 384737668 634431563 812576077 278894409 518775634 654805770 550981862 573350738 561008307 301411372 146973976 826613882 912237370 588805478 943868534 920746057 653217864 500141828 309355824 848724928 200776010 169098198 831403832 355564587 292130275 341149711 751632529 743670825 801628285 816689760 118386536 872757474 101564183 457994870 484859343 411931894 909464120 309809136 113252884 118087616 276173028 68663213 233686000 237510336 943802238 769937466 10134902 771731157 14051263 792844500 628158559 115358506 197735936 704594047 253676497 83189393 475573105 571449361 301098704 896335197 815135654 43638036 499417904 584189392 507839502 623058643 887916632 660645861 200408714 137582727 165073092 993365920 906532282 495637767 890108048 274793512 703929284 270826384 275672825 831324256 528930635 536609119 916584166 591821481 77647275 928071839 36300431 208546840 868210860 225989555 355319417 662196079 372452091 353736804 790839623 340781483 209040971 938008140 499367062 700778099 716282342 506986247 757045728 972938017 478137832 840033607 316422 569801583 633022245 728823660 867536744 920526561 655889495 683905076 658774436 878368049 604060338 567195405 49112771 66069236 488234400 838612531 405732849 103183552 307786696 618257593 907083713 428279906 771934284 227048337 984695395 330686693 737021456 259153528 603541948 148631743 295863927 305801294 727102883 676632517 920988854 123851181 44161525 674898196 57133923 565570408 490461700 978161854 907130603 846917474 465146333 940853601 630030786 486402466 220278933 433595500 591919070 535489867 533237793 937516501 799804828 751772647 571162504 743947438 251258343 401217750 558241428 549979929 760200389 204488970 570522307 945442831 86193521 470563297 79938082 584882207 897454359 222945870 465161598 174334518 979673441 131290479 862614821 462100499 354857478 796066240 66756470 572402290 394535884 366204661 312404630 411537842 146871894 703375102 635270030 320670059 72157979 766522133 965645156 134818633 678540742 690556621 660253521 373737098 638372612 264524860 462755760 417968766 385403052 13350285 497095915 105353096 315685277 161585852 131657964 394488589 218615605 854854947 496069748 556966121 803844788 445700165 527042942 467952683 833672407 697029056 324875795 927271689 846783188 138843017 828902178 343317564 649035842 402031233 605529040 762524299 623108843 383868642 629682624 306060254 917445467 813471840 50162080 356382129 97280573 608182225 306595364 355332978 60247339 34758021 566611070 992288120 947238448 124691970 359631321 333382557 997991182 916238005 336987010 131811441 444681118 484540135 23260591 370497699 571504515 718080586 836388613 826715549 725176135 277575445 672951282 745211474 795287887 380673675 782285578 594229702 167404545 935550684 805591037 853188478 268609259 871204737 23169978 453773579 834705213 933125038 367747670 492188659 269516620 965507713 124789523 190719618 805457171 671955595 217003371 740825782 189453034 983015125 770239136 877989263 59210405 840106771 363428081 582394498 663760966 880357172 340633874 378029327 192091829 996875258 30807964 185546581 105942377 765692924 269578626 588138001 955780554 245257687 353163880 233471648 498285249 976152015 921756895 809723246 717353783 994827943 534117938 242866621 877923068 515056690 337315959 258269045 169633030 289852747 889046216 673353095 744082737 363405180 890962930 513331526 99918407 764773793 762602360 979802600 627540873 286308983 678932500 536353217 60561241 809157484 84673696 517802836 858575601 353847448 623885549 922502752 282033525 264811338 199806959 505469604 772683770 100463818 154196679 495080893 224173972 128524389 102515524 398240202 459779647 667032269 239261365 975536443 72493354 602698316 715339837 449577472 26992327 702352145 270520231 926842470 956566412 970231955 871402536 735243108 815594596 806312346 762719014 158381820 154409079 428774647 65616820 100275328 191514731 102979567 31737703 137103570 767349948 863405804 716056893 342322289 486924336 78187831 966617933 429591112 9090462 620637430 773520327 997681000 743409747 707032017 891809820 635927059 208232127 661538435 483866570 135603481 533750786 164103888 465541174 979926487 382947731 473793827 280477923 397385758 713106344 896096899 804766903 105105323 459462269 224308021 569641833 247542549 614719675 557502949 658405001 368555488 616613042 384238774 689600424 945709706 312091561 897075448 899602475 515649824 887147091 760755237 58437497 547341286 162716657 479340230 648933992 92390546 655838643 163754841 597790617 127576461 326860972 476899722 493734484 967738418 511849037 20792426 745676945 483035427 589596907 326487994 219746069 490727353 455700101 255993772 27991468 78187242 397392918 846757450 507404127 120152113 386669743 507113731 339872051 975774768 757750811 723452637 437786062 837373560 629507935 750096805 736763855 819163659 200788335 174044340 15002641 604049704 666532294 602245173 458407385 124297877 519193297 351333119 47354380 134214676 47956229 749976958 83965806 59409718 149555972 239935150 688910892 287725070 307663239 471688365 985882329 776867221 714866848 14819732 73566812 242081340 728314595 268218965 523195278 302733751 768062909 845639889 352209915 67727796 190213133 430107723 688491537 925236200 986468593 394665185 145431784 529040699 267788952 957031166 288491005 761523595 241547540 742710939 471144155 515014899 697080803 336503162 504965255 187790767 37701668 103105251 624754805 675410395 308408576 340777148 446135316 601102815 651032992 860165221 901014076 160624095 687045918 859420098 872491419 176507019 971340667 715110689 659096369 962260440 270822165 948664645 67126392 169889979 973705226 804703802 570840712 52410990 351834096 442419017 573102459 597953404 879793443 411465948 520279229 842363821 147737328 395635628 106027376 325242822 169882760 372718059 818849451 11836415 233129197 523888351 11943699 878034302 242877212 304775644 437463785 571152597 85897104 382624713 407407820 352393114 839421873 430686917 823209573 184138172 199421756 250354470 238613028 920275759 269127658 559446547 86999999 577320968 689353550 554218159 570442710 58416346 164679414 753400363 429724138 782379628 682635064 780992038 446534247 607291906 545978619 697903462 935995528 701595855 247071372 626125642 568397702 393246427 125084103 469751024 101834915 695671723 741349880 993272484 343489698 665775535 454449991 369515188 938983612 350917996 193773707 493566885 438109294 82159771 371090817 789227354 827084318 918252959 816776571 321098699 841709760 162771620 591466205 631973188 586747913 677915009 770020299 808433300 344296632 675343992 620933883 335932270 762298077 160957098 162220159 953429595 762730098 556206973 718369917 526641048 242353303 83528254 362209260 350183385 35260494 995497274 176201907 443896321 921896550 899309807 616916070 448460828 900004973 611283693 588524212 322006939 882261364 120780400 816425466 462575313 946669246 909113280 113115878 70620536 295717844 952633435 102734449 336024127 479965354 207008210 964558948 297879487 624882475 485885328 955631589 381987255 89382643 366355996 872780084 416211257 8867905 357768658 469028621 242903285 712769028 506655870 575208714 983423160 954986883 753273510 29339243 564585658 972174707 929084268 603420001 765989331 183118173 85390228 95928827 806955205 200564575 282768579 81232256 127503431 944760352 676344610 645768342 871850018 949709154 886530678 879845964 879408262 572831240 463768344 344141683 962138380 150418965 242258614 973035385 60359046 118089133 524530993 114537592 634642616 359226245 110567617 163170281 697052918 897282856 76503750 106850962 761095374 268347259 363157718 576649436 93429586 255613639 594686327 421557815 488851552 166201035 863217825 482286471 440271178 749597144 706426159 802281228 947513861 235541713 284450592 348428030 776460814 407423390 720439822 406447612 947265124 164969811 187709281 108674717 357441443 134348778 644936280 701934029 244279482 545739361 9086873 459112465 607594362 532355676 732508324 865893787 653605548 851331015 783653600 352548464 72174110 588180165 688172577 447618761 983318634 8293402 119904988 208268894 383677791 885236803 49986405 491849431 14228276 640947613 312766681 964181123 499147380 528639456 860319974 269005225 334859438 169221561 649716220 409249952 60893281 354762503 55563218 881082631 999175134 701645700 982559083 313768567 599934588 403910000 330872848 847515617 518234130 420259863 830384937 255336732 50272975 471382070 525792488 956664098 30563934 663490209 2801786 252495342 850561459 909279854 253995748 237299538 193791188 493523157 258350010 930966598 301442754 225782557 524822561 365261662 717800639 418997785 24426470 953350257 290806698 762929122 663386889 375877239 805590992 668718428 903115993 868367654 599403882 949149825 200548122 157231455 812382940 9296268 592162295 701846981 743435802 930197647 134222167 723422013 414844350 258154103 65968353 918934853 381792473 408610793 929385520 416265743 717519901 420535910 226686680 996523132 192750440 136328252 661760153 567828510 225053247 941707970 607698056 579350296 31192719 198232384 390742793 299427866 262508488 691528601 795891123 158486681 265811952 886063160 242552864 475773487 335659468 850888304 398507506 8409959 340378713 388875735 734180640 330642561 37313084 16118717 33867369 141109454 97308843 759189746 708033323 897682159 82989529 243870900 292503437 83954187 984975097 744559822 895571912 659061719 223152762 987941495 996194990 896430071 150404814 460616851 196557681 86612963 144148827 627455281 218911061 852309949 913596971 493913881 107425219 27067062 902543507 875159425 611530448 41861698 434489477 802233841 122774627 954153256 618257338 832269563 386894861 851312914 671278884 88591092 848723902 26764893 750197296 579653043 183334875 781396930 856608222 801741936 476760072 133552551 932357047 908018099 323701998 328853228 343765000 456669955 464652695 413105589 641927169 311658435 550398054 321288405 881810668 356200238 785245418 964749349 773084752 107575538 668730368 241592052 90110078 581491754 458892890 638195016 521702002 848707812 375623416 623342823 127312394 109371613 505497304 32419815 832044760 82423771 161456089 911728199 179801595 798131686 390789561 881880786 71328591 992024611 964551658 279334841 928654307 304051565 96316104 505636009 999884522 379282296 977417011 71197086 222814839 817420222 63132117 166905120 585544617 754910467 491676314 618710408 493861001 221122325 108801230 547911196 951103655 943228676 204872575 930148672 220749850 539906054 283912498 902203972 571524169 737147265 332129694 85488970 420601171 163937140 336987753 836829078 830879429 743875393 277218473 330536239 287992030 967629279 8074126 624232967 897223394 859515217 522071152 851581837 949925674 14629306 183796561 535551682 600062455 642100596 464662687 778641411 573069083 74789448 265614044 965512680 508339937 872817851 920108894 836956193 103218471 700842916 808396393 656903942 856883193 658785234 255703931 790889529 970916695 265231181 29051265 812501406 449975143 672111567 659331793 427235304 859294744 745014863 158670440 215731060 144421711 66214455 921688614 872124891 112604031 255360194 711346275 31796323 23549228 585168676 922668839 564491636 720887765 619118520 171951745 276501372 208235499 46623510 262939394 268861492 797711343 648052695 708447118 942406374 365562362 192779971 658645903 160374398 292602892 188110773 816016456 746607288 763370424 15931537 83965219 139645131 719367085 725146847 194510324 689886502 178070914 386601056 591430868 335063907 823866669 854062274 955339507 936813955 354016028 176065189 678423761 349235761 751937742 86507143 940562515 664582270 521279606 583009991 517465493 656723764 735905478 484861323 708869056 731901849 813476006 254996457 759952376 72822005 601655172 737209057 215237967 324891598 696820275 434113254 853926347 141917101 577126068 543680732 505342777 272686395 615745662 928085491 455015263 341058587 180633950 570564859 416731073 174258197 281039688 285354628 980061125 616929425 619733962 171094820 124330317 300889177 543473170 340653640 774901241 916800565 950351774 605713750 332423976 926813808 823898456 242805803 929978310 324483990 658220010 498764990 747034902 790671782 770353979 970455678 437358749 269229358 988940756 825634853 401557359 504446304 403789914 952391101 54737428 305768549 944037686 361237865 591014040 616019623 368751302 867612784 546122767 129072697 916911316 805852933 675967839 93062161 897375946 87962416 941589027 722858964 949374658 568933281 545060892 158662780 707728601 220228214 881819974 342336178 874236687 710828340 381596224 710656808 393683493 413234747 184839421 513145131 41016890 529887728 951345586 210763562 921915630 634732430 512519621 490980080 997114343 81945447 808720 53776903 191171338 461123486 501512933 361120357 974671517 767487381 801995901 500004092 784353418 166594022 868552642 355944438 577023171 742795287 241283128 55461582 290389474 996121134 646057837 448918273 705059983 930198797 45645243 631409286 617424893 308367072 692172323 774676058 109944005 907389140 475080328 649039254 612643751 763519466 884569498 215305992 171895967 370857292 412607481 876835552 710126364 460870877 771340363 686862355 906258743 252561811 532328999 15406399 406484734 685976739 919002527 992736600 270506538 463111795 173930785 288335473 633323636 697332370 967894305 790963561 715204564 880869402 5279063 674187706 270678030 392732052 595477031 953129759 394206647 269313003 141795913 415683449 226783872 567079095 978928370 414793730 928926798 839757059 940444133 111365692 866423963 417631643 794061018 366004563 231430563 381621516 23015514 989567057 789789097 642273985 842598486 22873695 875340995 478875556 371416729 326920114 902411833 176176043 626966651 288527694 532467534 791827541 637823531 828478246 744898402 877853841 91855413 66622221 214867101 801161886 672414190 895171859 182611779 985286571 61276393 472553127 777013764 575736011 267789660 157957008 512640817 454379774 754197607 379075886 805903349 733135508 938148668 460947788 696598496 269441934 609398354 468979839 329604968 422613652 492180770 324715839 2271671 628208366 492643568 221165528 830005230 312280689 255418729 886552886 422279953 947936266 682436876 334640297 805125732 719939432 335742799 752674781 391884185 702005125 142786310 752173014 711130774 737960141 534207991 481438524 793798283 619348611 714540557 832671950 706570218 179488723 534861017 673235330 674167247 926515533 452012499 996452233 458506304 564216950 42216081 519907113 49836222 628642506 319254849 592763671 758001719 769184614 568088498 500948774 50183046 48037716 834237186 295664226 707903894 912805295 782843435 100122379 266894169 993142818 725913773 568316900 758801694 540369096 180736791 239323878 477778123 37358834 380656768 91314223 812594311 536322784 706771046 7036389 365155484 847923349 291085375 101886007 358554318 176861524 411475659 664469785 128892406 368775540 903328319 925087154 600953175 878461360 34276429 536064822 138182407 442798441 895480736 254102209 272303805 474346675 86051784 532921363 875939588 709833675 460115816 359652672 809808851 451066101 945240431 412365950 745281851 601590431 330076293 487376690 55687992 430614502 974246658 643770807 164919008 25962850 437502084 668456909 631070654 246598068 706503109 881328740 965640501 543803776 849261568 734826049 950315751 862805283 619366488 780465893 352558738 124770805 775276165 236454085 344731973 906741123 911509380 405209145 952163158 957795313 741478175 47661168 913142919 487897706 800630943 27953559 946697992 370369570 982942195 458041832 571884867 901636039 175463284 944947900 439125421 662321985 686617329 845705024 727901675 966906528 825417011 723788651 511988261 706749551 809885783 324848207 952639232 566363507 926853124 5434510 62423413 391037235 947931744 943177896 44657064 917487492 121860910 899707884 278446412 624524611 504620731 697533464 294329399 172448758 759095518 823178275 54026643 501809059 589351391 230424377 618148694 191912097 937397138 384074762 380284854 577857839 185945909 627880284 349562991 258275670 478506975 582468068 790344737 677621575 29901816 173650711 280032975 552022765 931307896 116539932 837045439 666136950 175766490 545346195 621658082 301713358 766710175 821972912 119042040 340729192 758858619 654634468 117695137 554296473 483213608 667641942 444449225 150724765 360800139 635692168 863597960 430872625 564224071 41152635 858651411 610245656 864286420 969585928 604296728 357823839 272687823 187157074 601987750 973450258 512093201 895540390 306901424 527294909 766217049 458783750 5400105 498135305 960135091 358218246 376130378 643846978 950726273 381364948 381726278 3670529 918044708 675555072 518359171 133952809 361628172 209362769 149388215 517253600 874888707 45553035 1364968 884941501 586445095 225224115 215363386 21820837 167771751 992350783 314740749 70243082 120991045 893512165 819055360 305705896 461162822 454814689 831119934 948815518 804423779 424835927 150310533 451685362 332212319 799563882 553387246 778355332 734755983 737388151 153439841 648263304 706403303 44565544 807257448 213584892 605429856 230382372 334003424 492191303 66057663 900999861 106543091 589892018 428982789 290712931 30371783 524992526 998670738 638769866 744865787 816904230 682912895 307591915 857854078 901043579 797587587 191190801 64463318 556419404 738380693 292120672 967672294 962621431 512144873 315268251 300119668 172558735 934982670 342632547 228064784 279507630 543168223 878989212 935588726 445561836 200805809 227846881 185255561 753061829 297572689 37372445 272377971 566106103 971487839 804191574 970731960 624227276 79650683 686336668 797823406 888655288 4383922 873387410 412441323 797126601 432642334 358518715 74656748 741657914 501642010 89089508 638633102 464727805 49769020 497826448 806075044 263359672 815228402 952748232 388178661 239000750 247136811 428940812 55934076 951564350 861534783 622371875 602694790 910681679 859613497 741663708 198307988 410165912 579624652 482767261 961599719 893745515 803586530 284059445 997429476 530422463 162215296 36388307 826667959 726893605 454508207 614707486 409676284 487984241 203467975 236261366 628449360 167300468 527677065 846098782 377741424 414740943 107094781 324858980 940472585 457855831 480212329 209691837 441565517 322905611 48963492 641707310 613679101 87287441 504912173 634266234 405327264 181998747 728089812 88122374 971546193 995286571 109983183 519135578 922826741 710164524 543033598 849018614 704254064 235895644 688798287 591034857 268089462 593111811 675361170 481827637 14975832 468268660 810790124 69332515 104324180 770341632 434425475 329092974 920878936 274943090 938552636 86987136 832613657 958072435 70183975 418137320 77791033 556654328 35254222 805819168 471050084 601582797 929848407 188036839 402036643 406460448 125715866 124917754 345589498 23453515 790820493 341740169 512890088 706168785 46696561 675540082 120392009 326743451 721225526 601347123 787322451 279910162 13610440 410278121 719417402 897864817 476412055 702620251 407686281 395800599 197692918 610957577 733266470 943597859 651067014 836009178 767172463 563407844 393333991 22128846 529627437 899307370 646876818 599428677 312078638 325528459 722564279 913975307 561576005 165069412 606080800 937890762 112674797 113776050 814662577 264122815 823505394 557343348 281904814 999015245 370815910 836669040 260429145 57574865 944757050 501395160 642662715 965993506 583052174 576074681 375716694 36280611 433596147 829785110 655545987 935082190 27525044 405964373 27038175 236426780 346671642 350235007 831320440 296690247 399998281 25284410 767089738 740664537 82698146 934007498 264167241 202710576 294779672 323164787 813769127 302483749 992314645 770962627 722220634 673973501 109311558 874556667 864135444 111357054 743738570 647494549 6813855 346489696 33454699 996849268 591920858 66189020 154741750 370121169 43991188 577113023 955153888 877207442 346981260 101935526 912645768 516083358 607968130 85190608 29104942 775062489 404671142 529242381 479357372 138148902 448976623 78259716 559365444 440067478 170589563 291113451 835258297 727305954 889758707 472944981 617495277 58242608 42514794 740663084 315476935 295685071 796614389 339368873 569157354 975290662 844736326 892820259 415549487 742856726 693820856 569022765 397888679 16531841 436743383 131816482 645754460 261650355 707576054 738140955 789767144 657677349 406214649 687475488 693653929 900837139 715903970 85037884 140674370 783445140 71888009 534151380 573330485 963763671 743811988 483122825 45261092 957538362 496578785 556822628 400117597 472063932 432942518 320029137 396555106 748278363 215328694 158390723 926412104 946799515 739362051 574621873 425364024 515936399 115435837 624804184 311943280 342591033 916955759 911148582 285420802 671043327 952775509 870087515 280722605 295588122 538526366 572676576 336823199 768078232 698778143 753343055 594374980 753882478 971336919 463009726 577411918 178709483 77960191 520872450 905140354 100440541 824864026 716317339 565641737 940579418 570554405 559625445 427921015 411240741 194595401 76330043 413491142 661987280 508135459 672946091 525110041 643376656 367839074 937481881 514238099 965913497 370035126 147407654 744550323 990812112 350273862 773512219 839269165 923667381 839378047 829098146 158230921 289985691 928815673 303313286 544953889 208757485 825902721 626450452 687910905 407471645 930087753 721915433 245075886 258435771 266523911 727297333 306499297 958518067 702951381 473134904 12455700 39658190 712452981 155017174 457405767 65427277 416210963 80688723 725810647 240089236 247077132 309046913 77392611 907907743 333433193 265731791 329659920 652284797 116742300 38638140 759682621 310952142 605646492 89646741 45054360 901039503 420224700 766210508 726181214 233046633 353306957 853745702 17009224 520681628 863234782 496267308 57486454 434698644 773063016 78813660 114757418 242434086 493715169 359462687 677698627 504829864 819593238 195201972 600363703 858761191 861283466 302121063 708970155 277448379 614530599 723304897 611638165 197906529 922016577 118320301 867966790 465557914 67582945 910647258 503124165 377129978 825761280 908748552 309474756 890418279 72580315 618212369 195997225 215813326 93692698 997133985 382806459 565199777 398198353 765119464 492518597 945533507 380431131 99904374 63916693 283878554 188009498 196476074 452867538 198126223 844920997 607995283 272508701 384522827 94884015 40330621 982602423 168131345 373924687 524710169 51009548 219881375 380759906 247563316 295035683 83303691 947702100 17086313 999394046 950345940 887337411 135933180 763163697 343517407 741513739 144165439 144652444 968178589 557265346 438405196 331788670 332096275 435904610 724369707 85612243 788017610 305327303 674021761 282435658 570800967 706201533 68053470 617938689 684822126 487033651 400968935 972975366 12819715 984984205 778477407 621520901 375147832 612120592 956198533 290807446 129491930 871607005 518100494 167786364 157789867 296733171 324149976 587717211 56525323 110144348 982446184 549409211 20151246 278769007 291673943 691389361 286621066 256979227 551158107 388798641 669463238 692957591 489683239 617962724 565105691 599988498 138334837 709142392 228643054 704248937 758383603 41029023 793989372 225984383 223646350 70083576 612097674 684848593 568385613 629228645 835656394 481525087 869015683 810445873 885752445 877204325 673177685 149231628 823190621 790404517 534362376 861096604 709102578 916072499 42969455 473624568 612385927 426713604 668448600 87866826 900627899 223204146 725456433 484452977 807738807 796002110 590642645 715514570 57855991 48009794 248978788 363803247 45070275 524685350 430996503 488263672 698794082 157479531 941573577 726260556 683860041 745846576 328521148 559684439 368378830 863810162 923451843 699369794 173879445 979799110 668988055 649485653 172520297 66642644 404714739 655019310 974918881 619247857 951959242 692760700 687011449 562629032 5635920 427923025 453645959 645540340 638747601 821726631 476593772 65755439 266113288 591898830 141998428 254911745 347544719 512631525 152042579 594147450 228829789 59216747 25327797 342786206 929214448 585223445 892130219 391174655 175516319 416045095 491227690 322453859 56754372 47797634 975891828 448024950 813479034 916528638 803815060 691410625 300068540 368226286 171360506 113082040 306108481 170423964 754460312 912992224 407591832 925758910 286007537 31998609 148965592 756010418 544326837 56001730 891362483 267315455 699102865 954700217 166357739 558019150 411499754 370280724 628731979 727457999 953354602 597365907 241358218 81538222 792848758 745654396 813516558 166502073 65199964 25648854 951332776 766222778 93136603 970628826 835150554 892662014 233624444 619778644 826137928 872369957 476855990 367062490 797468968 297569468 973329615 810283473 309132844 383759249 253348468 118405044 470329060 727214536 366561886 153528171 218103586 839257060 860620642 894524688 67256019 186313057 857979452 811291392 597343017 830758147 595000365 160234129 741420668 282711568 847407410 171691939 781028237 379727805 253773892 843713966 703320081 143243165 501180333 783613548 867225615 419099035 262587780 195241613 278610001 443363116 891014907 715035972 894451610 706102509 773733504 606036710 925455071 676477823 292987807 943939577 108164973 636548440 250259261 159669311 408404854 627291771 487538008 638360987 666667287 882286927 30270159 256340754 533654415 858993959 597276639 545933226 529813941 783083271 480263429 359872753 981807425 572199415 728606425 210683160 237211364 784437254 575641794 454538967 524604176 101596499 33261032 631749614 60250362 770784637 924028664 579285204 714098572 777334241 887540949 169417271 326820686 989517783 430873878 257774094 207056450 764333486 659154536 597729985 350104278 65434764 372281705 182744294 567018498 735834380 561542355 340887303 726929008 235376330 859141264 537410184 644128936 219044529 101222957 64894193 667387169 622251363 92067195 834018330 794495054 80280545 926612157 371613211 545369325 638330751 714350064 126250574 985072128 864771541 405245808 48680146 668254901 621527670 463395465 573734016 592441227 935296897 398603379 693825708 967433372 765231806 931946171 34017369 652344978 406391013 98637590 6432044 988631968 622999068 714476905 760259941 934528325 434024059 252581646 340519167 619367144 446772302 258083857 437686833 493281050 423287318 858476104 186397850 332110253 781887191 975838288 690685859 500538258 522394941 26608501 263624703 505964755 694135894 850784944 701558113 391560327 633481028 372028676 425505881 245157510 637437182 478095137 587251927 24896252 662526565 66890971 856020866 522102681 34829561 590625817 90479058 1270307 62308164 326351690 533164523 97211744 635086339 438744015 340772376 604251976 412328553 749753734 379221993 935670834 831103395 90211839 953376771 427676440 109138521 945746558 469624825 156717220 843023626 1939245 752672085 90110161 462649792 392077460 392466875 634994118 653042331 778839447 655123113 270736402 295197942 856859243 12111373 189460928 887039978 838865011 664983647 278617803 486162396 504546589 209164585 738253090 369469026 448743990 331361107 165873439 881082298 497848123 649762602 484832548 86764766 940394599 531871775 599946510 775253574 935540233 529731840 545980997 796148745 950170846 920790475 438818591 254837946 326536900 638212867 421021814 791686829 724495848 404278774 475527878 529777797 462412261 976827154 652137606 468645472 909699142 542468147 355044634 366677924 884583937 532220830 678893861 625249205 596889403 313076114 850344155 416773948 76107191 594306573 425317525 548137799 444847418 812046268 856733394 490535115 721077101 60385458 9083260 465304880 300106305 387179850 672362869 473337232 151993916 599955279 21448951 267826948 859197036 464642716 738000533 631384165 53224246 371739871 749001291 842130336 542742056 990283726 884798171 53985091 308740456 419311642 565959630 752507071 909843838 240586657 427824336 560372494 442820059 267791816 637592696 693742791 396226086 563590108 716270664 39103646 539192522 608409815 225527655 26547155 779358254 599275314 411550345 303037926 131377824 522341032 968988502 829601387 927050257 414326543 973312532 829976542 386842726 665232966 294621424 352159400 202064286 642801892 900100932 603858897 168062384 207518993 362456857 721595924 19978852 769084610 26159193 499571633 969822050 306700791 227186622 843451375 199882116 300293752 647568600 110562858 164887108 328695677 713046412 400957242 32658588 842593248 348042848 709190585 749348010 193592932 543023795 164392469 116137584 584656653 937927869 343060165 195072674 413222168 813641339 209196008 606870519 188357450 773666479 647551267 821860906 43182368 468264163 781989241 308048374 342065977 487423299 262296111 204600327 889307057 918381651 345492203 556783216 226680254 76518006 499628340 293714905 68794145 917758102 698247242 347543890 960870457 252577494 438397180 226351815 620789604 582557822 289222671 158914770 240417703 461931473 190408158 422400114 740831145 69727713 501881119 899181584 150448856 495468106 980085952 690673155 368325014 379952776 555972509 530058257 83633211 274950449 348398334 187609807 688949811 592566530 497965404 571596348 876034762 895175651 165465964 978936584 444277803 830700841 84936148 900062341 642037590 538126994 574884148 327202824 303578370 773053280 175847968 982630466 14749348 247467620 837313742 777293693 52794692 15235068 745773521 863124902 568350678 553469343 260251070 942524186 506088852 734277223 832187715 83543653 944730264 390527934 795346284 312301615 536034809 989580220 628643149 581834800 297145391 935810601 387093312 548700539 943241876 30815929 907912028 78639535 931585209 721934581 307852858 872846108 58050642 644291878 761422644 709646972 256050609 226822561 256961694 312993840 575988973 505265129 767788513 492798520 754254584 980666916 103445321 880144892 758216595 476888300 20170735 302428360 3902807 960727909 296402120 525985285 239651696 102542559 304622670 562886880 166346869 746109836 637068385 634323200 947034718 137433414 696327964 159889328 730332795 445157476 664334846 234633400 105421562 345870227 599810061 509594824 478175507 699031146 294961539 672629928 753911794 906560092 382124292 702338314 932980866 688597385 911445005 547153516 145946372 753872400 62451499 175593291 208512767 175988625 815327229 343215794 358970775 69503943 169730261 20084557 931709838 307208591 106721518 102388852 637446882 11501096 254888364 205828998 148626201 541291500 123323664 687915770 796460496 170860992 889218557 400904723 102271835 246295646 714710614 26282942 467958103 494946453 879133739 502952143 366788763 675506390 736039781 306349645 535043615 290365824 151449263 638497514 67089555 720374526 312125517 308791019 959515046 201601558 75363229 929024954 762495543 402061437 95138351 816146264 915312245 644553903 967976018 908428495 586434140 849803676 780576879 258158445 148609679 259814781 901846162 332804768 914691395 457075689 377246438 236978879 470642653 669985292 905200589 268087346 141252245 259134321 460346621 246526241 898360996 20065905 110987535 281131175 805782276 684809348 778223819 878723294 644830288 489626278 524787607 979302003 900283343 425880101 423833140 108122000 403662485 955823835 168859917 405868147 51816965 826420883 93475834 942703839 362866637 734136552 124697193 918893361 388326022 827102562 214391213 237772880 930165158 149420936 996076789 581687362 584615772 594879637 455084703 386770369 576382391 767902073 963152503 649051027 630442391 966655693 535198713 382556016 715110028 780836618 689088135 411205837 346277455 952686215 930173567 400274144 530798729 501475014 232372210 208804932 521817804 263828516 107092758 339222271 761735893 333229228 831179356 241679332 532757053 882274740 203680344 369172324 841847191 997462779 768331109 532839511 152238681 27818216 665143225 104334923 717805383 121211922 341512613 647260130 360290775 229610157 946306303 878714907 41737703 784560044 492118209 251091970 231718903 878660810 957483994 826408397 128591076 252516659 626154973 517827900 683364913 915793666 545750477 173458246 8093513 840616103 134430809 734490613 128084021 9554427 271311220 675732107 445786475 445416934 486324996 799176996 542102304 41431613 357672847 113639813 123848161 476237480 952518226 895323389 800296071 907591746 209287014 612802208 166050295 239886793 230054035 514883725 374888006 690479744 281760935 298513254 604881137 478049861 242722888 408986698 651285941 564316104 390173713 789819775 445569108 418304181 102891875 157477498 80451698 376199088 553062076 944723524 799768677 464112303 17744026 85960104 728857597 797522278 727693829 449601584 474308948 592974973 954280038 994986782 252004846 507038181 744448192 543527004 343016129 461118147 713866661 500742349 232613557 742748843 281320097 275617914 829226996 560476456 180840857 966376605 750883028 664273235 664155043 890754577 236333856 758491892 364743909 495926703 442593130 447573826 90583198 123240986 897663158 587224582 907561212 230926083 803561186 146732315 132378533 649186206 498925230 541939631 818866390 934854329 494088174 94377880 821769760 957423820 913547355 63588254 360997470 123889033 343638208 570091032 679997989 902259854 133628202 76175798 833185814 965251797 605574920 57498685 157664907 683727440 145985208 411868442 929743887 168638061 22410163 215572270 278936870 234633389 595196902 722146472 261558049 176772773 58064284 676272860 319570249 590951428 778727613 830316407 436910424 23023342 339889870 284935970 551427077 224521121 8482164 168605992 944660897 497946921 799465817 69729942 662433957 566761242 762454415 980134387 3991601 218464389 887450430 824421811 731180440 711272853 384230159 560485250 299412036 745634721 421519357 384240166 676138373 753700146 675890654 500835941 786338520 298128306 760912416 991332205 45943582 405298057 991371686 991775956 940567505 9336924 154669229 291888202 74649227 150233156 292137262 269192798 114674605 284421804 466642321 936579058 386140385 140218163 701773913 729813511 487636596 739947780 743322960 867385822 159468757 679919562 646134510 74419487 791458356 109797928 103376753 635887489 842593709 657597224 668533756 546766157 751840965 403208765 82795630 360665195 73848492 2235031 515727992 135083528 639199839 762230005 119040397 369216728 310195419 490346566 306030861 334047686 457733574 781699219 217343242 288661924 973336452 862124171 334575393 474366055 508997733 71768411 849163896 244795732 131112678 127722019 166036024 264464362 860015357 367630784 400306183 153783934 904226175 413680150 622700167 835127474 121570571 522494542 300613362 13161542 316339297 332232678 196091587 842734127 758073479 440841266 482201749 65068241 415655239 587224733 391766802 169707820 445601733 12916628 578135046 987764707 690667413 382891941 595106804 333521753 850763099 50766309 647040302 855788016 51490912 513432016 115669129 340558122 97067034 318186939 393358280 696131666 158365156 887889583 581734949 443760584 97337238 180067412 991347302 258659630 467021436 112661889 48422579 961138869 48833764 277264951 731371541 630151133 686080361 106566134 523214636 248044110 749765698 36187862 64801609 561669222 667245244 623111389 496629676 493555630 416497464 923699359 2536210 185083623 382782790 176247578 775545709 162868068 898920292 648163682 408316425 881784229 531159009 724701993 253407766 976471712 612985140 771202856 589177029 39323258 838910472 428300346 763681821 164977260 158472415 763031614 414191330 663355924 869849152 827628234 904457987 828833358 522007976 317286751 765106795 189441397 466223925 397138561 747271363 553855662 100551678 895337831 359065793 980132008 228388917 941449206 418796478 846012370 938429357 352953302 115791723 867020189 444244752 920469849 309266842 159353040 462634562 990599606 241031027 672258064 534470657 790442891 555284999 749263114 476302615 740192651 961362725 129441624 627994078 56712525 870001137 485815369 153630090 288044968 153965725 190390964 399994142 890781120 608095341 187090171 822346829 835023686 809232359 491551676 158690058 450072832 677574946 90272210 215968011 401157472 727152271 371428975 228749537 732893027 921708856 710891329 410537474 211691354 742606803 985309234 878916086 896118185 380120912 314589655 863876466 349365860 241298899 788845536 688362961 724821618 561442135 226297570 48820645 948362474 353238899 140477567 493096493 752941153 269674618 453385626 19242163 922951558 212765780 617219725 868666557 245627349 949024903 659125737 601837487 445546851 240123035 948719427 606581736 484081112 84086449 942685499 345647275 447915335 587102258 418367586 882204124 356026396 245839607 826501983 182974261 219998650 16099126 993588993 322347522 707285767 114141584 909133619 199001122 648299923 156203965 407251614 132597810 119921377 33587310 570238123 490929746 365218149 784030234 309878566 830643797 391072777 165751147 30986703 784576282 707868640 543215061 427237935 660035213 441545495 49950159 557168432 929762393 416254997 899883685 434179386 226304469 141760393 669367054 947132645 165816393 675685019 437001858 872199977 718518138 501858087 990788687 963535995 571418416 690905443 677878378 938000247 435244926 74356862 675975531 182584616 866879834 748618087 227327849 81692049 752803349 680390830 465612591 51779979 725959238 555226347 680721444 868318810 757420698 5952108 852724695 53649139 167490065 959667282 493776972 51139530 682938906 348562594 846381464 476159078 774631561 216048982 592938931 65365594 778693324 942445162 777410797 817195141 329927835 376791253 509451636 68179114 142731059 145284169 90233256 287437933 249278465 522605632 202448482 951254659 556977178 398815987 64447663 93739546 134275694 96503562 490695868 823276747 658521915 255912356 515660630 28539356 542838584 164673423 372675823 838338259 411195705 163369206 922083147 905229797 69757724 819735563 468899176 325638717 730830272 623312984 548229865 866329871 129535813 132846225 647107463 773320396 991048208 463679448 857691562 138114836 938869907 978948637 195053617 516779139 509105450 837391946 124993635 152227687 849348854 330949644 965605697 52201457 382088206 171274838 757472072 707557309 403198663 600106527 243407141 503577265 531560974 697532842 402094545 171149361 27938370 777138280 404798007 208183000 999177145 166730283 666494035 235082809 363133641 272374496 787059225 316381293 347496803 659060804 328993793 750493734 279319205 863080860 513343955 278111955 857670019 392894179 865758219 92887394 599554401 936654860 302774240 984469755 151744486 463446317 196204831 611748834 522776454 185669823 298643582 152177673 802809756 984157990 34681644 542790066 312331850 297375942 627402887 835080273 885086798 18836854 942116424 317800466 977274290 985134663 873162438 871300472 119030619 472483694 228782806 641682788 413789772 461701257 396119090 997503593 698247968 737022180 261331631 18016552 719802448 799979619 262703948 401123182 229314711 444062546 994019514 247902535 207672754 676804808 766427368 146991515 451395045 600833896 813715295 115340943 150651703 76597441 984902399 610847176 781297466 712993670 653913750 846526773 196123218 745744936 157380334 52133320 3707500 49255792 50939611 328895142 57580660 901674102 811280137 149958360 246043063 390075802 925817786 597141915 20161001 897251553 869807203 531412565 510173754 638612537 393481817 516094012 536470572 883464986 69253007 388194093 391108822 373541587 305978524 420437041 816472565 262269113 970480887 522415363 569587794 906521246 849239046 712182428 407597809 998561155 47231150 904480719 587948004 807902577 826041287 853562641 505859589 812882975 278557599 686786051 613970143 609953046 634062644 392057302 544838682 704086641 141760374 703070837 831488872 675422137 255327180 721628326 164139006 949367409 734579163 178042843 770006147 14019274 121248699 499765194 656742048 94848188 314352436 460803272 272998331 984250903 784687769 940398152 358197731 844638641 911911423 626608853 557149847 542322701 194080254 374769994 854011966 160230216 387324338 141269635 795030980 580791676 870110266 180648646 726135858 484464134 751972328 978182997 316262561 437300469 75266336 420500120 54182137 79085634 479512875 952500931 154711397 653555436 478378242 40823207 903410289 754914540 262551916 605528304 589789830 33609635 395994541 132248694 161937184 319795494 698397153 576655206 950628787 397998511 624945210 778799001 309210349 740233751 435437518 175273893 832211161 316304358 409811482 896410232 763353508 170174489 22736843 387287566 550954081 377138579 402703443 41454586 619705184 237273160 674698984 234641672 554255074 641897168 411535278 571635405 865254611 473839846 372052287 743486794 753516752 656943675 592056530 896984827 396402181 275687177 58609860 392057847 919163076 406932000 839979084 89990957 416307016 344751977 632751542 130956582 207746719 371795694 341934046 783551215 403311821 368684032 744746960 800350072 86998664 647564789 255120064 277886540 57105172 696730330 20470451 813858189 241932395 635650492 89558457 701009490 918840615 487375234 377354500 656958306 553437418 203980160 231351725 729765708 354531849 434998890 299270110 362032985 292958968 772419281 908902243 577616469 734726283 380455976 702568250 5738093 53399686 572178706 958296645 902071337 243720222 53656044 531801682 130245489 934136535 658033225 417979675 219295935 164125200 650307080 814016192 886432686 937216343 812544378 640315505 309842249 178926332 774380453 133777205 616836565 867048352 268455024 927741604 779083012 88625602 731320618 779615821 626028245 909164240 596664319 976193334 12816297 324926365 370114288 921456924 53280598 584481767 242288804 437992144 599383799 771382944 59434542 354361528 556147180 382807392 426845454 804497928 521890970 481493829 369758086 31301954 720227318 781435395 79322133 364221468 672207329 978156481 77088963 635888259 914641755 732588076 891721307 823443403 183747017 856907807 719870200 534400485 835912619 483705886 311649156 206671329 314371151 490945966 999003787 168116043 590364991 991784028 546361975 69835363 289553760 479753364 505837484 357237783 870991030 872499858 918154400 550600524 40807481 877694580 945151172 351071733 853965207 569171808 721293989 273560966 715875600 742775712 278224789 658667988 512623615 652143989 50678991 227263852 967700093 948803990 854526076 801039361 629707835 91158838 864556970 916787209 509654682 335731019 913020034 440704446 323408328 766065561 446442646 812896913 967719398 482462764 987451056 640929472 816173736 77320709 897273670 598653393 380748198 57039524 154880179 383912167 535218079 425382893 878797510 797544480 184157224 572761802 348927787 592615920 404677954 161496836 350216750 420096953 629557905 21795730 542350114 619024748 708383389 869906008 331201335 119385592 770920478 597453225 981391973 488322123 143547452 905173221 394312586 227351515 528360290 421948547 954586689 712922701 588774793 318001408 827619647 149583994 64831843 781591891 353776176 898063334 419950851 644344692 859807786 64793450 382647441 820341833 140236866 847013155 747353633 563892582 277430574 885000434 171074702 566303336 642842610 103734327 951123440 840219808 64430656 6704806 311375909 893758331 962148456 117356471 244766660 786854358 552999570 148233399 206355950 516149378 734809671 158149400 69833297 771209119 435179493 78969858 806153239 681569190 96734566 625269693 290919795 603171903 280045550 394915577 385099906 325042753 752210755 9258275 19390031 492899165 501169262 743658468 492591908 275709324 131277638 87528927 83537977 41073120 877498350 350445323 500556477 892881104 35519415 584376732 20403462 902483409 297238312 403495958 237387591 2314294 193830710 379204106 157564407 976655301 301371618 581066678 283983745 189374552 654726318 933734742 249925254 559724454 336934408 195211570 562298408 990604831 282448916 95600029 511912649 636131976 441620376 818863502 470949755 992901538 515228382 888808181 936485824 885079925 298385345 254656364 328660320 374432662 110043956 537860118 198821776 730429761 190001039 525316243 980265402 580533940 953749336 988430285 391068022 260257051 993355985 214493944 326614905 591453388 459857224 244195444 74702587 681353034 356653659 922807086 339740931 629100836 377298333 49280033 948486833 597252581 740227871 852433965 876296429 339797157 738311014 186364262 669291081 242474154 966289676 47623445 458542840 588968747 669658147 839128439 879420247 971982 247947181 313351796 860877520 232037094 608157498 426939678 707352578 936395709 463418253 667177425 815388032 778461926 432672511 335143812 3288699 946961951 189547749 852102422 5456590 777809394 499205283 87258620 125705133 711086001 38512358 500406290 674781743 599885311 473834563 464666636 693076614 682653862 19812846 372008981 431849728 811871172 687840542 460972379 437376902 315866171 503995161 408572128 896737516 739011726 912674204 109527969 318770931 525087648 944534712 715936616 150446937 817456742 915385121 504317433 186756160 906823199 394886743 506368526 652761101 969689417 506748132 462178203 837225366 462984129 534289057 705912399 171338395 953825344 880829371 335123203 992742499 683808025 672195948 814164327 631554725 793127369 538770988 506644515 214272223 836156594 822982160 953873191 275355835 835783887 555241419 450280251 576621837 191247222 389032511 3945469 128238895 40432605 385445862 498843610 345042534 260626747 569810756 245898878 816741114 215714289 463321773 463055575 52522251 236062684 79366409 131668384 735994740 569956689 307248835 551581626 443064877 574543571 406624453 246777753 57512505 218463269 609344854 444306603 97222773 228939296 680992817 480158635 249550979 431673237 499363250 355559584 372155751 728960850 447877240 858286151 478238978 294778122 575396418 587479375 834053891 655997103 558615040 790407740 973514263 610743057 358198898 394659232 345155933 349115900 492513411 963647112 393386864 582903398 565437351 853402946 247364319 27207072 857572969 420206384 16569015 281981721 546439821 653612303 666149111 256282522 554331738 888706359 403847390 882094613 555411319 684653235 43894482 350402057 843939882 799068441 368996524 62456557 707615112 533948746 371569750 595731286 988555289 208031185 997350751 109226008 53467749 242085470 713420216 848282552 514353229 832851563 113330743 276642626 300384946 744914873 950400789 661199454 438182804 649936050 353292019 726983302 196422861 292997263 74265615 526586414 919017000 786720305 824779116 234104242 609720792 811577962 895503620 272818074 708450183 959122640 752508380 589080964 795582796 340443061 234049452 576906472 641802908 171680198 140323491 743936266 391955502 740876370 634048793 791591000 242732645 460591088 395354203 646948678 592497140 859259881 306754257 758481447 422687 31554562 761545404 19329407 779302114 314615754 800760908 273530055 206406455 258910405 289241917 198025244 781783559 984268921 213443440 628199874 67441984 991349752 683192150 350962358 616725319 159744826 92442790 339343186 174263473 858494598 528940441 259086173 127912646 683326984 435895566 433431541 969739503 232741708 542529472 307089205 138957146 298360524 698222357 43660455 565805522 52908521 197021585 922413088 66391587 876348708 468337730 870854881 45043270 885351969 76371774 630166567 628459186 90169273 972709641 957698552 163575705 580173579 488719120 644389567 970529345 314289272 715724696 850850974 782671838 362253249 769726675 105323404 29232878 99829630 372240617 467981550 821278316 142117105 667733664 860311847 508309013 218838804 595735396 317314815 146134048 865150260 391949092 293794752 177199261 501408372 252293259 829740671 814581328 429948380 795286915 270020318 888023266 117613363 386630253 52886174 597880009 182439146 917886301 771382557 663843099 138836511 628577679 588574889 577966414 137000126 563461924 245475064 965084543 904962753 196694763 53171056 938553558 65107290 840787251 693579795 229256318 877390354 896783435 452811032 246525203 807269556 243585560 319687015 82726501 886793280 228721472 213653487 769286198 327561264 933639843 492642706 375049856 624321703 112310795 220334170 314256167 238259411 499255511 183044206 411810025 652820895 396209580 356848772 939219576 161029955 866045517 69585779 702952035 145653224 792810999 570198144 750310988 715094211 376935745 615630933 935266553 686254224 595513014 996434852 102425065 517813663 261386432 430508577 55096618 206526491 748565599 963134902 133505718 832320191 958786672 768202113 32832027 92960545 847185845 144299039 946665340 720230075 782288868 138595273 803856043 914356325 264388973 855858429 811604371 883179003 416370104 342334955 74081509 23698532 744120920 188339845 183673150 709043486 619987481 65268896 406595765 532068617 815182456 136068123 324294633 346154875 38534116 92005351 821519061 584126485 991101404 121766992 468029366 249212995 72626223 575289610 263235793 152769315 76739615 331574648 281120349 549875496 369341197 133408705 361328137 68968400 174181559 555543056 445208621 974799962 545452587 518681288 969942979 71175617 118914588 335344373 820083668 289627072 39401330 743207883 26452295 741131481 822690671 331439439 609001998 844785743 929396588 625123865 574027431 913022135 264095859 414104977 218858720 985759418 46664945 102407320 513412865 314773501 659111488 31814756 268351637 18858274 421252563 382239017 383559065 164730124 839936072 846131871 916246584 280582974 562599529 790754957 955408180 142253052 362982375 717088019 284588113 368858721 43542624 270298951 163883302 113586226 211736837 220690318 383600791 171196394 119479554 591131995 301380727 366926753 685128967 519160911 928984860 557197802 147149273 736194831 86072334 734138521 792239773 513569031 890360090 139295730 902255242 605651214 96782520 282376909 317558039 967378102 260739596 687736446 122181793 112623033 172451543 837652935 252223121 822230346 89310390 712098798 318840119 459483483 617795426 67495402 206249934 996548073 599308869 766715783 213697717 500658627 674673831 740886126 395544575 582109851 288292656 680889421 114125236 504441356 454247440 866318421 650237081 895959319 935713620 838505558 56103858 209421387 421179889 693627830 850646929 792927853 704669314 951573981 393043587 582191251 381680097 956149507 574659797 28326922 438476885 855026076 875077631 214863685 309815622 263404759 766236205 133350182 98036608 852365311 501882285 779342234 109048706 274260298 743923844 847208217 881275394 777029379 780208293 451281018 436785853 309590677 97632019 928383249 928224146 755048963 906977032 367115611 588279809 242302090 951141880 161114257 251953350 547985798 888875071 432606896 512794019 110405149 730416291 972324318 323075404 797545502 863368692 140953057 304436142 716952424 511929235 584595350 657551828 805968097 529781421 623046543 291564872 758355445 376712348 795039032 377493266 745444316 649774978 789637603 718669261 811187814 904301630 855049020 103898750 786928239 987890210 101781427 213413156 87334293 106299267 608904867 226495203 551707250 546134759 408091461 325130230 44495984 534291882 375638900 874161096 458255850 752756980 620434854 380236919 277474279 219462622 774921002 540546468 614164614 377199004 172297394 538901100 913890673 437846701 931734754 741890288 894447798 351847005 561142271 689225044 517918059 214508172 41801834 624601754 816667669 791969339 835159646 860539623 901530606 561441959 823652704 336509186 506936707 134831249 706849235 889935414 300690111 357170841 987125968 540977872 437703505 963649652 819728928 430414066 809535265 35601372 431786971 204929148 227041426 723780332 924375813 668292182 729310166 701268746 372053004 176768931 708934741 300912288 369478423 970957582 728700390 77386244 448295020 410042071 140861353 15042347 692103557 181655303 711492964 519683695 867701280 922562551 685674851 413074745 108294087 674027339 222902455 83087318 602788724 379555610 753770429 534255184 571638316 417403638 154555552 336255594 185640730 910966207 810834946 435318588 640587414 557784382 352077107 499042139 330458940 242010167 987088413 151621036 580454871 233495093 711018327 772173571 560679784 838560905 641432355 259638062 875875212 953376536 949348000 787518686 617538630 535695587 202291824 815217962 541556785 376028114 281386687 510987779 655689259 144821170 842460099 245459102 281904631 746000079 318511478 215406485 293088470 584563439 455808841 930256411 232962223 102548121 325081900 344393061 354102867 190378253 383650182 424038733 39835293 398700783 66455573 461290623 211944531 610008109 191884727 792491878 660790018 448472112 43534072 973149552 722058045 632195178 107386820 629135100 854800516 558095581 508980885 839268461 961760032 477315361 688177634 202384516 542883697 405134178 718272389 680677182 457539327 206994084 263278277 829198662 187983549 781072530 505548865 130851872 151509555 210510034 154228564 859164405 823160657 213926673 267048767 928123227 95007513 742887172 316511375 702823325 997420417 45715141 813816961 784804206 164847655 811910078 938178620 505090985 651461892 415542227 757923572 624102205 126482826 501978287 346565383 90204384 616781509 502112459 679349078 650899893 524101544 660798779 23072181 751101568 698208505 241700764 472226209 470303201 57715896 773623313 699336601 729168520 556797606 225651626 711292265 357867361 495906678 992789716 821914556 822415617 218575738 695228852 325602259 479526222 289380455 178790002 879891268 3867985 2536414 364285974 763856946 415160579 422992092 759657579 331257537 455319985 653565197 747409593 56504825 667181227 982938044 119351347 568837056 389129757 689362779 497123136 874184273 785172259 36801567 991934374 735749928 409387646 471437767 941497902 950683234 655492965 738099288 582689475 446548969 631585262 261653784 519626190 935982003 163971321 914859793 829429554 39613638 745346134 214136069 199151720 302461661 952820517 121386409 560264354 750959800 995792199 642299389 125811817 855611479 84781894 237696858 62851341 340565074 378047038 370369771 226544244 155791499 533145372 411478175 761839163 486037509 222220788 467365199 131670536 107285355 450512079 314193435 862855277 207706091 79960337 588740075 951407724 26103482 797238506 403308969 682894093 942011267 513897693 913530053 504193565 921917593 25654556 330181267 888118633 856507784 31870268 676780672 808496547 80239820 622174730 552817412 960235782 713152976 996677874 552001536 445184053 39232376 833552686 957974969 523853434 483928119 754847990 449667794 731194559 147247361 319857184 765377266 229089107 277351447 408519159 367014645 178396953 49352562 261766869 777610126 499833182 467818947 529668606 141732941 927257139 841579379 522404159 508093519 494287743 788406018 559856882 667322691 480643486 851385588 958476787 481438880 835159402 699921088 74006993 499880188 215532964 702860131 904990026 230118228 54894674 901087278 481783831 637450787 339196778 103806301 162898052 786450507 225555117 958611742 793522508 189632247 967995514 400075953 648441480 128773694 117214146 94262574 350678832 850912785 439814237 935804710 159602965 478060097 160692783 86971708 755376573 252080958 758095333 118327430 222879437 270706855 883447325 690680235 191995051 911901491 880174963 866158976 851303397 954928730 54099496 993136404 376294934 446370417 379698252 233475047 402524191 881310489 499462110 605277797 626999531 276548716 796185600 502571314 698542904 567781665 506057963 719716180 827095724 286742090 531938538 65344430 932521159 944198928 622036446 591072410 841800198 602444848 367179908 230338006 162942969 902414820 531908150 142977059 918843674 40347247 511321683 101906962 445071524 327775931 309479626 542428652 663611528 825890367 769959379 840469222 37470831 762171478 4442514 732729711 509566967 129515900 511300421 538254977 190011656 631124102 528341043 268885701 737068919 81911217 649707366 895709935 212298877 925551920 59922623 393131054 35528863 355044181 943920816 5656768 164805357 961823972 172893846 871556864 354752182 169003187 924233091 813464828 484336851 187385285 202876777 380658175 866409970 537848218 765741838 699668329 299341961 288011772 470291803 626323453 625807094 8046897 507663838 651858631 691965509 522446190 801080833 434953871 359836290 887877137 201499275 122151982 886177634 773127559 441397156 214156940 31808699 710282154 657562764 19451065 348114763 546931643 363301999 580335870 735664707 460798274 551766291 768001643 431704780 216607098 816029446 715741437 73470052 543807004 673450961 154909327 858860874 233269962 185034768 322434865 175369360 291116015 511032137 32656258 384604367 349390099 19331460 849291926 231351362 445315191 745579151 748607202 847518723 175699032 935359164 245452569 413388555 73303670 696270605 883029022 140686374 474798566 751792783 587563119 934620627 226042641 144945939 686095888 914795140 946778206 446806280 924042321 675376726 52027696 855035819 653127343 744652645 987936238 111823911 309658736 629751019 245073022 337081004 677135213 177304642 334823759 818430352 433022734 705306727 864048823 959552759 973321488 163528590 381142910 102659773 403369542 114009367 462897057 295936437 915145544 387170916 30335460 547410843 556974812 989472896 373274170 782428632 9534001 419367524 70828969 623741272 591424245 285334807 859686664 64837246 216900762 345641735 13777127 970122416 992005709 537068995 166604998 624741206 162969924 270092751 693971707 881662968 697481807 811838335 485524201 728228706 821066206 346030577 192008774 370547053 382002776 734083674 62818985 709772565 457164479 980753086 99169219 648704817 408878332 132998326 799137080 839560020 776367407 385215557 186100082 451042294 623572872 839925142 976260794 909343258 571930801 623496516 741755420 382399037 549118743 417012955 173044456 869534542 17620839 800397863 93883200 102738691 903420912 620897376 785254594 95617479 547398014 651265553 901235523 894727959 197031749 530214310 73695209 167043991 548195298 915475254 418779926 917390028 567674562 802048406 841270525 604288989 708613559 81390447 768358592 835172914 31955420 425082579 360292683 30316093 505244667 801010564 392440075 83416644 771422502 114728300 978263865 316280090 651216143 972354371 641763249 408453849 791266836 829455730 930481129 488797472 803615526 470613415 835187141 513398330 45448520 366669957 174644892 495277880 702728987 330459027 328415828 121040737 377899680 877346662 583334069 614470488 325272454 996244451 37453010 779883322 174009724 742131696 647972900 149396611 624889361 190761238 600765251 107215550 781470496 496906051 676054300 449102439 141625754 101306364 456130477 481553852 962494717 193475209 528611278 655436543 308025870 453035055 643847039 16782516 561237964 729806492 924967874 593922313 846204708 354415510 686093389 1997415 290211746 87577179 962812870 445658889 269995953 837604589 921874140 37208601 535553724 168002315 825476888 381181263 34531516 404508951 646230823 749425581 174101902 731611885 249818253 412217436 149343574 129472562 473778427 881273387 508004935 728835677 628845846 939939148 192687057 168038584 418181894 655888116 842207150 554064644 978999981 734411973 833266100 118426390 895804513 107901616 862853280 865337920 971774335 385340387 407504752 967990284 243725476 524719206 975387948 142787824 525232243 992259229 865917896 299903876 853837325 902599452 367091028 583580830 758605188 869428607 783909039 902331661 529858004 780392255 578491496 541881416 428234278 72693557 111647704 491227940 24708114 441922304 724075570 348787299 289202868 813220474 600316733 98674168 964873947 117364429 590208286 374026190 468968554 780975965 132581001 802977564 646937051 930970751 723843454 467501120 982317807 14823857 555505812 341280528 324204225 427710595 741409050 889827547 145301286 420650326 895615663 6993305 719950177 505650835 462181245 929626125 588741578 575094531 109112901 880324594 524082193 928068932 212885112 396963250 180499217 734998300 778069032 614256805 265774338 614924896 768329222 883232903 191881459 321449049 462953513 749646119 871191386 120053527 727801401 802734260 700833864 620314010 213765790 624375242 912363767 741074233 102749510 94569538 488525848 998429313 582567113 939021925 53617287 202968630 990227613 399935522 229882257 844497425 40196633 104236461 155547316 920888904 881927050 788601844 9772365 222358360 881527133 874213861 366272965 581515293 479080021 822171825 186262695 876467874 735914591 197295802 389840384 340051556 30992174 849038443 645827713 203236773 220233954 725869497 575050592 959126327 774910526 540736814 635515333 700729984 589340346 720553967 710947941 717388071 469513185 846607286 593495019 877292208 645678774 240334766 468902184 992400184 717294270 651712034 537902103 20064489 623797972 701976101 350451761 834956894 809064766 188872852 175465209 52550528 870843354 943053039 78648499 215851584 736008564 501127738 759966577 234947103 555926767 642879151 953634024 255673724 427063334 321334776 597866484 68169630 78329203 106613976 952410397 233243131 872887462 441096652 370057317 425772878 676223756 141912582 558397907 474151084 759063824 12735499 355166954 956804252 864027511 817802932 947200174 820909084 618830766 783507680 221002723 207973794 649376775 91675833 410983850 587499823 604100836 44907226 60525855 627832044 127909275 94096890 772282623 770825429 753962670 406046855 862834041 711802161 539606749 535180652 39594887 774674681 991203446 669073717 808251296 771403527 501995402 230831441 503998865 739995233 672815188 754630240 706834709 77761231 293606394 756665374 978375842 555749733 848830818 797137984 951597851 707586885 913349121 998695954 181214529 333771452 762133874 622423122 953324664 999539669 155968491 642334157 74796571 431963738 141402267 641013212 873843 234886003 271108263 283143620 596759303 492840715 18297545 3699607 366260566 462706715 337048201 315648956 673179648 565349530 618142483 550477123 435139415 692504658 968682241 960989137 45817332 465721184 291372977 991951507 475690698 493335265 878675710 557242953 239226913 547838583 501377618 622221537 780737042 115248503 570857169 732661571 3464562 885901603 242354662 544720476 302809502 528958567 135254555 295884426 29073925 340601038 960797491 792020201 208586415 276131491 633311927 151009051 807305772 325960034 726709312 991507930 55683690 318246852 141817926 274770234 62881449 997389114 154511568 24585979 36900980 295288292 680276322 741551187 527448229 92574382 594026430 13390291 53802617 949659216 713162202 72283131 158966282 362012413 227880999 323979361 582354600 168403603 349698698 828073041 145561080 502333703 570711040 568739533 720256857 431459208 310192697 580362711 823587441 313409119 589061145 83117124 520840210 785112732 349764138 232618373 841398146 9108014 739172552 593660645 785908789 468065088 909045481 828578325 589419600 15266123 752780458 949221083 391649134 635879557 257458487 601651481 802530649 142328012 240916002 365139929 542573986 522873550 161302736 148300406 690379381 77918837 943534209 674292418 78370508 793991384 422681924 914906195 436074400 544379715 422809396 326636434 893146322 633319696 733940911 486164441 566225963 982619643 62393035 329317290 191518357 803022135 570830977 119285107 603355459 131009725 627543313 150012039 13811023 42487701 125781150 228567853 95547979 621022781 57989793 65805732 553644234 134515904 559510004 923634522 323836354 365813281 318657408 744919249 56481900 882189983 240356321 696315361 191215031 535059404 233258191 136005515 750843007 367254556 364650002 725301697 940422121 132065783 489695189 906081834 847103016 730739403 72599624 740068670 425460803 485521975 427397061 652352523 934590852 31239389 737881831 266272012 921517599 421962058 897383063 285991988 32785954 935825369 407162108 637685179 334983953 82144297 597910071 218422903 257298964 123761939 197167358 565315006 175525856 231391718 414356593 775888249 762540665 427712454 20044614 32315985 10148036 555083490 47340969 843947749 270084137 946327940 408432656 531234217 270965337 584967443 390681222 692939606 934334778 848295866 513552155 842984802 974932118 462677257 536179849 795617812 73102194 300561365 535068595 330569510 308114953 780514877 698335446 145238512 23214588 599890345 275333487 360403058 656277499 97052430 168086879 488882033 508049836 459480424 442746874 920539033 254043737 165135629 461648803 900227406 993479718 672662037 937767872 216164508 779086971 213475947 200243566 257459401 542755220 811844385 743316995 354081536 917055600 631733550 706362110 302247805 135382850 191600405 710785943 859314114 228301354 809594991 690963661 169738243 484232837 272563465 54813522 294951143 360261587 910978795 303882794 650680177 604696873 137975904 927768947 878602426 340218601 667643979 54096685 945156293 872543070 672133301 688771901 595575154 720520934 216516581 5066445 821208667 360819125 315097206 440606214 897038664 823741610 126172217 57661836 61400993 322765552 535452929 890417967 272210353 990999062 406711259 275665231 498269986 550250480 82085950 183038027 574455363 872689255 246663455 89958512 20625370 120703776 192647908 382032650 107095362 390613831 806036230 647926997 341834570 829249781 571665997 117792871 235487914 585909013 595902552 613218509 379130097 85001302 378814387 537664410 745125434 814446936 575368201 896351778 457505658 323886144 158497924 928446806 823641463 276833716 539894667 284311983 709299309 920059788 564456736 529254061 853611570 907063700 640662085 698475705 175540041 954330876 732897790 244420024 911854105 370307161 317382624 956973690 192446225 57687215 582457892 481747014 995949945 804169609 5174120 959093144 777098671 601418896 397016718 946348709 945990427 978929735 210811790 168797716 741478417 646817567 68079776 896476115 204529973 532422754 544176283 950684484 771426917 212573025 268345129 239908399 549112128 666752382 252706590 335230587 11247413 261390478 980905002 552126357 329048527 907522469 979364166 706050756 461151014 922331138 679926190 496596033 289244639 636232301 676706999 312915535 245341646 232887656 540562325 370941718 770734272 817342068 740537724 828607338 790116340 17593275 696227995 192511275 391551639 997858207 572017926 276126857 817019132 996183697 338315049 503966489 931038565 192209557 106246223 551086117 136283205 818067410 527069701 176718823 622038331 671125472 79494902 921547880 290650097 926932024 960158957 330599935 246048729 416027812 953201518 957671095 75946039 516184257 65677228 308299315 916110246 92546742 172411001 407923212 90743517 966688170 8812312 870783595 662762398 664678320 483330102 235293528 878997439 450465222 460464930 54711705 969314152 278908488 970863048 636080097 227365814 656740407 946617984 148214337 563835491 642825240 790996305 212498798 990440372 733739690 318907417 355187834 603258441 758236755 102937717 234962844 529893065 998374405 764250616 146829354 720962124 381549454 518589028 568872321 706524734 23306141 255983349 505974927 184338140 826897059 502989570 858826625 550240373 21884277 336267939 625607753 922504039 251950387 32489773 274956348 301317356 564688738 40327469 44947050 489133268 674176290 994685490 552863937 492609734 964794628 46575161 812408526 799873591 703704163 654872053 997818130 772311420 837678866 192602005 875730216 705744794 958972510 158755197 678786294 8679542 295716417 619624734 498240029 396357982 648468597 330158787 261981387 442516131 959733066 748350330 199892997 852413066 666277964 551886991 977686356 270550076 510312210 990367643 82437021 175992688 554693686 108587079 174163060 606575249 378195664 278208317 402671731 600738499 449198660 698959587 550711283 196220873 614557202 868536446 834360559 391904150 929918492 205331376 105108288 913486400 440017921 208194049 684130138 331844212 15694298 315939437 61887148 973628604 536311527 793343053 832408924 546427994 9746213 391867027 746953168 668744466 233752024 79348732 417552918 441805419 425727963 620330915 607788499 426616668 72660613 651611468 183060539 154120430 358646310 785621549 622916144 530982205 522183020 414306784 850198677 479248913 348691937 887293396 173239649 614796555 817506364 781060363 962202423 28919020 404424661 243624725 970810169 941651459 3675125 519948452 10665786 700480387 601723970 334800341 860775413 537227024 562897618 939619103 555610651 36560889 831983849 553680673 310999308 741760775 655693560 956792384 941476785 13975482 836975889 576394008 324306686 443317991 373246556 728871801 932992791 45292823 748356520 369214979 167722905 887653808 959548835 667088497 870718669 632173459 623652278 96120244 407691066 128090432 461404980 648176586 909929496 141222612 107473667 739253206 363266395 949252230 768836548 902068336 661283903 73564624 938201472 594168002 732236896 516572638 769442735 991046391 919614873 629926919 674347384 304354843 20873956 726188218 137757953 399707239 551820247 545685703 552237705 410912554 660050430 262063014 741422726 381456960 644688936 168726974 21365647 395322254 959135886 722877554 629362284 587838958 2170395 811274581 109770586 268580562 232181158 46194004 331685251 163117974 971208582 255435524 494962664 646884600 501377538 698888775 726648423 552856977 131236306 284229988 363844672 287776905 301517592 990040976 141497052 310011274 891949540 591228455 539412115 551249468 774727179 860982207 575503855 588936938 528401395 89838104 431897891 825512474 120163264 741194885 163501945 913165339 352849527 184114509 223488118 299458261 877387311 916360079 398787490 792052355 841910568 430045504 90547268 682846114 158279010 621295029 113321139 438553532 401939474 224215263 904130034 59123425 937274104 172369255 823450278 662111886 654116816 634165808 35831814 29286448 746350204 397670530 839324809 903023268 241298668 151068392 501352218 776511122 564230119 280503557 445829886 220250410 226726858 8614920 548394670 891499146 384861630 394732107 660890169 802503976 525508439 136529672 519237149 882922923 203356005 898401762 796707167 687635559 304094635 535377931 725211038 947084597 582717617 456755178 896603197 245934532 363188043 950776377 471392546 353120041 740295660 42720185 830860347 672398347 885604822 912691651 778280214 593810833 886238627 907137937 537414013 922583505 745829780 276030449 155882230 676362665 95621928 341425732 317245189 276618104 446917391 398246168 808957683 378454986 247641396 169768899 849784067 455973335 826442462 635609112 753658529 428364187 997406842 260791975 654267015 246292293 651890639 569713779 956057676 300106168 972754693 35205054 590933212 823780772 963616598 133534779 590573339 765019256 639979070 510762811 339251203 446774574 714409243 958866545 885125201 148720592 384857252 800743689 209222506 601615911 816179701 960175668 603655436 352599176 946011217 821257774 834069249 623355837 482472111 455165759 16541771 353380813 816375883 643444582 477346613 470277463 400426128 73775888 205390986 348730170 412222987 461191637 81101593 10732706 483803010 412819479 556259799 693957491 518602022 899450531 923754693 893679213 462992089 677453730 513024144 310795683 385150709 166165 776004187 925793238 126671732 745813205 80340818 740713292 106070057 622450577 605490239 976044264 521647604 696392945 727402449 223366849 230858592 312411405 53243657 479640325 361726668 919845983 665700394 792900682 745624494 897176182 325260361 672666546 241262527 692822750 182919466 19366094 932604056 645083449 519157949 358179319 162795233 633385939 548260500 294098128 71562843 306712448 507689816 134305478 489992209 489725910 73132977 283892439 188184241 764327405 989895848 428484634 658699012 162046456 393953866 670613463 311794921 59853299 478833303 358116159 705707323 148216073 138362189 60014586 72771036 645334640 369071134 905878334 339966008 580036903 357168800 115337757 715382594 162983877 77295654 184183578 48627339 760391253 315079913 227531965 295166717 642011371 546077665 496405011 947889687 942038271 267115451 16709375 110242888 616107164 532154072 655957195 577472659 895334 37291904 735744342 51183858 577909878 518592932 5974399 449019410 49639248 682408740 76639494 337116425 469978254 779913727 245214977 670758017 298965844 969203184 811238148 947511108 315895817 969133634 634450456 302710195 709858059 64247794 757013003 184181780 348018520 8428101 274112534 68656282 954987997 167650532 144555384 192814033 859524625 399690737 572187559 707232916 491634761 911381102 909078114 488497421 797798719 125991896 427300566 781415963 357792779 697722020 696915704 164683903 138838224 947635247 367129534 388906040 748274684 147595498 509396013 324944373 697303858 50961811 892816697 726345825 620284229 499262038 7187429 588544983 465021968 802359085 548871057 488008975 959768274 187959061 809785001 560151659 386102014 651391365 752553778 347134155 196934904 910919377 90382670 883209031 408373030 173970565 945232500 877342137 437250141 208064021 817416687 668574181 976697366 155005497 375432386 191612404 414282267 635488554 770176768 419652606 687184018 690959500 740352968 75139215 324780617 176791417 948068726 996032412 582221761 946029761 955997257 943291826 611006612 559206976 723192505 23228994 369799095 711853542 231601397 314490116 651775416 818011919 132603462 172705634 826534202 304713949 363716083 184441223 282959061 984489035 796889096 966699916 868557290 845164317 326705288 764460112 157491897 730451286 445467327 39949588 297512932 434544328 570488132 704825773 182139039 139455202 476499296 883533512 726055182 757956163 43114790 927028543 977126080 191482315 924835556 268734883 824507059 91672111 224945266 641354070 997170430 613237549 219454040 235363971 911483350 303957166 369075059 699924530 81541177 381333043 713119906 802327497 188248428 232589996 515380417 745290702 950843045 661387210 177002573 31895689 217517605 792814790 863393269 305470691 202321513 33556278 203934788 772025413 158703650 97802370 776870887 293712003 259980829 249813387 339511716 367306838 422021039 760619513 57611077 716305548 931676553 922529629 732368249 839540391 26542833 648275177 768991877 517100501 260784679 640074602 259101078 84222442 771969754 718691553 924386924 174212717 942220370 18154660 729920296 783602435 298101315 494469826 968606740 607145621 64022569 604002753 828175583 595867154 515704155 356538228 829096883 485301450 395242180 240558657 95851680 975289643 67531782 399180517 283783752 560767569 933400824 384305525 163386048 364560221 978592614 821042489 133375885 691129190 280354420 692837832 117129888 252568641 993956326 40322611 168295192 282762792 581207362 432588271 219037278 54168533 665204805 99662089 337300083 740948719 796575664 786749723 601950695 553038303 459216809 535044887 529146655 68693242 900132146 930658380 170421273 157458920 523746046 28556414 224032310 587181916 388406156 266186533 861670012 161996637 164662660 901262008 690913030 197392125 127096253 840174237 229059496 563022825 715935812 944112972 626450074 912416462 668651014 496759825 323760998 542737010 815000152 614264905 886142488 111469893 980237844 887825909 172439905 290883304 733428948 413250284 580074512 527761289 168584238 611277756 269848142 73969724 614621397 954022256 371192477 655165289 106652560 378811395 368230184 516839402 215039837 971395623 973523800 855706920 695298035 744257071 109176673 718605392 610598833 223746463 294657401 727150030 266453360 692837181 875609627 306941934 551438918 422524900 372403700 894759022 323400825 18846545 898657232 410713815 597159663 751168342 586038412 530670330 683487387 407809775 578763880 301759708 474818341 25615106 731275255 730719441 161492749 981469432 714985705 590609623 656799256 906908014 581909618 232626015 90453912 587446088 825666767 992052701 870943371 858560629 796305417 198090981 255103463 44179141 826380869 217072243 251845892 493892994 771827511 187448099 485946230 600431145 380845713 184641056 709623616 697953496 708783693 804924627 700121705 747785605 808019408 586581978 514661212 749969926 540460045 105703580 862246703 268660146 742633541 495734460 538619381 933447120 693408834 722858175 804179690 231515025 50530759 715186183 363748299 408034581 870564690 477491322 383504325 955213136 94131272 922784869 586487310 582925928 771276232 627932448 475943593 669349263 201606047 487376462 677545298 31327689 455857215 515573668 170913455 256216865 742032056 649859326 84967187 439910734 450846676 946716317 842754905 728354758 85588966 436958515 308844355 617582191 839154759 779056022 260477643 456089793 370098730 178632100 910162628 236348733 260182163 866494354 422907803 396445172 963646667 554647233 659476459 685468661 447418625 368397712 783566046 914326945 408315019 471433869 612518290 102818615 450104298 528396449 372992444 465813536 527612821 79227698 864445275 239937036 641971125 347002016 880121697 95697180 352271987 534669517 747890001 948554192 112983363 2341868 446730525 858470021 963504595 226251991 607726259 753606502 430346764 382548784 503973140 730662845 883437564 491286578 611472082 338811552 746643844 625487077 673106471 443915428 165221675 708862731 214582538 771084609 577520256 552757793 211813259 242924177 481831979 115280953 181254829 764220630 477717876 271322122 358373220 436483300 291375494 48437899 664083251 997337451 41554074 211111551 675436630 394015015 771373301 332197739 986241400 864408068 36877267 693613898 746666585 649358066 930012957 391416517 959244500 189661106 612072673 787605158 930843085 743415741 562778755 917212771 104994927 704113481 199410351 670391036 474297099 135331873 358812885 82090112 358973344 594080638 977895363 878730151 974113538 782565251 426927665 663922917 225581862 386089728 844214139 146158238 538297444 562598187 766432281 258149812 659673974 949028008 243296574 504760700 949103852 852389575 728701741 19248227 657628680 628349160 71368881 734972528 179358365 560155380 916149232 656950355 625937056 414212533 863274745 719118767 363703913 115003348 555736023 117748464 863230874 650794310 878606070 770201231 464878841 917972606 586822869 761165396 921529221 346339139 83115109 534547658 606947778 770065487 971757231 694361180 501418439 415345285 575035958 987218234 841802763 557006383 375876858 186422130 822316208 942064429 857869836 501842436 931089138 359686000 274915058 647885165 349186047 322781942 22413706 192655986 334984653 868582457 485316310 404009039 956326000 591702603 245796410 239721857 321080713 492200516 293532769 443943435 905856351 632477738 681062198 87320873 178106619 952302109 599162135 481361351 392005021 844216434 379583544 758453087 721282698 246243469 939317726 545311095 505793820 749224789 454964851 278779840 249606880 783922151 697288818 270777788 481720474 338633065 977565936 900147537 521689478 635622276 255808176 511318659 402496607 754485392 595654975 732001508 199183103 808258585 428741358 600763449 39449076 727876370 616635097 124334845 430492401 594417969 999721084 472156460 279227177 757799630 436900236 276405116 211187696 730571201 387441050 540815034 369509077 783164173 818005636 116088083 826854078 141494195 413271476 549534249 537533074 135891538 98549718 119200081 305815541 810032101 148442768 169420096 27740253 320677183 187164334 620253099 777302637 905513974 481175165 934105106 189159670 144527053 839801308 841184180 430063471 991500827 791316214 856958944 840353685 449339360 102962488 332311048 329171354 477324026 241206767 693344637 269308776 3313539 186287264 833377209 39074466 973339516 174512840 553908586 193689863 341638933 421555413 68850783 482583324 78676881 62902727 273718891 811892424 466853874 52483710 584671513 690386514 193044394 47321212 772584982 936062028 960057909 17868547 288808499 580309839 854699810 726649778 905879866 573676182 6376598 444637231 10205511 567499636 195656869 531406224 790005490 988233643 537010071 827719746 500734644 274242049 245618492 159982838 783914426 19637900 409507524 788841648 754217311 279940252 330839500 415396006 634099391 124332025 560420716 39754639 955893900 85039367 658773482 733323874 921370302 392663161 835586366 434035826 200472962 329356556 278841069 61335788 228665932 715313740 717149507 701741552 444893780 894914011 731457335 536616344 482045794 353779662 972378075 974694190 358619306 876403163 375025539 663989953 611279499 611471021 837583988 655569598 225795870 809337825 371255592 92025821 691821333 123843950 853151356 650351227 217133701 782783935 530213721 805638138 97615250 83875519 557558666 597180392 176430084 899576357 70761698 376289115 572789279 388852063 966297781 137651597 528805495 716284582 566895871 297004202 292742024 227958429 540998467 510330390 713017055 564794710 323128144 223778086 57903060 905014066 603439299 920481112 56064822 895456997 114388770 519138320 393636154 432520851 861519635 435854437 525655228 969628380 712869877 969512575 886550033 924844553 938117197 609444465 659570460 834607860 679763311 372558319 8827190 873624864 329338241 833982738 118914847 708791414 949339052 692628711 369746031 255896785 919428649 432168913 10214833 258418743 969645510 630003379 85888688 991680717 718409624 476603285 801277104 382603810 950163235 313353690 867416454 290760244 57746759 12500948 513285429 73813216 927263061 670075707 445171748 397756491 498588587 899672881 339773235 971602787 725137461 567272761 391299650 672603638 112180857 348814054 679010605 207094499 21867064 160454888 885231913 804226963 925024592 805661703 397375102 898394703 591270469 320678999 356495418 701637091 193072385 712666457 261991315 239879727 480772819 295723863 511590836 786395045 26201912 38942916 25333124 417751758 356353702 357885503 949514593 211406468 350207697 741828003 126796580 763586047 637844843 307466941 847392549 919795197 415666597 901257251 924409108 840932110 700068685 75437002 908100529 369620920 52455907 266446100 814808927 335765096 795044052 251889128 639494874 388296935 480374292 321707153 663053623 266105030 141797385 352928780 358148003 437883669 622313575 72901423 998538800 371028339 62537516 641618820 200241367 783923126 261094256 974332910 450859164 878871344 385909951 847502270 368724244 608509010 65797766 623598971 795955304 863965121 556290605 571720544 257325334 798212970 747699485 753417196 670044344 30877570 8242450 656266077 329355997 956717877 579605124 998030709 338383668 603812161 345050003 154555557 19766281 753004061 282746722 429483323 152872675 84915644 678816481 998378129 314810999 470739562 834636758 543592934 144171198 873828449 174380168 268104119 250228572 460485158 267214322 217457968 5861797 19801148 143577566 653517296 168126944 250068014 330788812 602499213 510505062 984749858 624238758 706776308 893181266 769320481 537982203 221480375 463884561 373165779 874501296 392475687 721991111 657728292 594911737 560651805 990671796 875431720 220183983 225377605 628590639 396804094 258377486 386672715 295450530 254525738 417609850 178870067 183195980 332297985 824439777 329970762 386341843 380128957 468849604 834212715 718207522 402951313 87605739 224920182 206823376 801020549 73670081 990912691 397900398 106158197 275512469 800729201 674977142 678477325 332160941 22801935 807549899 899238979 190080531 234677724 653527969 474926244 407210134 98080619 854159869 535509751 987938011 480532640 734616078 816279021 43779131 828267360 990970872 587615135 318999684 985577713 902079850 67606555 202139888 118906413 406083867 914540214 116671622 360787185 724717731 847250279 462607489 511675780 496325900 506970369 904295052 419528697 119814094 633338095 170321989 751388915 381278514 124895197 484286555 963476336 684141381 362276825 658095224 781235008 448506052 959963116 835922917 951030078 489978211 798620960 673144192 802398701 7988491 461078869 120349283 758210878 199073559 737563161 618099786 991737452 960702018 206858327 673124034 413410171 780647334 955129050 754860773 157160477 248939655 943384618 663257402 18151913 154097687 614024899 690556554 41492062 598010609 820806765 260817485 488288887 999690250 919615869 820272617 327372456 705562090 11057891 703489141 227503624 239942193 80384645 339221879 189504554 986092947 493616728 67047916 516958501 124062288 893510370 460319110 536826045 121400884 917506687 940677135 332402458 500607195 940131689 728227754 742308831 417837340 696474190 539721600 857465270 958197335 947214352 693867828 426968662 240503846 498452513 718643124 810182103 715149673 361727632 927728717 509770963 313167531 819092283 123092975 66001536 330447718 515481265 53396333 854421898 565022097 733983404 266565976 974800547 898154881 511667910 772713066 302607156 84983317 323867425 858459708 192530078 860545190 779106138 77601506 91638514 747522572 436949776 569844649 306028812 104798615 943284869 17379367 12576737 499461753 875506999 24673275 751136971 369656100 823541035 215458955 440899498 514050050 125746632 197217494 676730693 994480746 332144399 630831254 788908773 752904944 235318830 527962310 300509063 21333314 303262754 761284526 925235968 412322503 853205542 681116273 375275590 503913282 591096214 921205014 888143784 186509962 563146040 429507427 75127922 354204749 870932597 791576128 829634609 95952235 955573884 266337525 753927947 886724926 565466142 861304790 148673171 181815200 645152620 677386550 321592026 479107032 173431 261945603 353850175 336140060 814172884 942253310 865089197 451626197 191050998 91838215 585391007 806679772 840791769 657764922 593946690 501638168 221602249 810751363 710485535 299600593 607397424 622824488 47343339 922662664 102438017 743125547 98001036 869109470 264070812 995352479 520830910 44415977 215108698 407360292 617661849 392249949 359035935 760280185 676261510 468680007 889248821 44424004 684290414 80332703 621171277 662638443 50009251 271360651 560309865 273495677 34938937 698236385 358921023 407248149 823246641 216726744 283936339 825002830 758666359 361616192 588132825 610536749 320303329 412722112 587499176 162945030 692950253 617193289 99364272 771357731 366200689 380602275 590763809 621883126 141677967 13123246 722623527 441424645 742234863 916031219 560671077 771305971 625761054 448987509 536596659 614561042 696211499 350573564 441345325 940052055 280843462 904939036 466959571 956604581 605582063 603274591 975028796 129747985 947409921 428150052 649279408 188585950 61779926 447544168 152989909 438416817 999532005 545470230 186023313 377849108 506143460 425572070 938707121 556532150 281650699 504040993 897993973 474477940 543181615 501840939 922946137 553072082 737120287 891841220 479576458 137689752 987735349 367047345 124758688 690112999 876923483 999065988 501600253 432889407 882731452 217635058 816169643 791804365 768138237 611892613 597657759 489225018 408311568 377876574 404385054 490080049 884067094 447599352 259001059 225306596 220697440 738343074 662642435 215260534 357095587 522552412 245962413 19764305 165816002 96490614 357646065 632799311 579994812 212453116 588812626 722870280 921551595 328238926 460533310 544546349 154812240 453464883 45598004 830754645 865240012 445358024 677859222 644344940 673798206 665635746 458097498 57265080 109388007 531697279 511919337 911456711 793438560 619272762 388174297 740952211 365705727 4584318 681173776 574606317 11029765 408461052 105388878 879581178 454997748 352902170 467791269 321684013 924683324 526106873 114841173 267234970 929914791 652371525 889352519 374753903 978840481 656890982 434015881 204261141 516721154 519851604 439856729 945177074 58606653 289138238 323161314 928282424 697419016 168156014 693436307 684140274 402457452 988929953 822156995 298806063 820736364 767500781 947931872 916209567 88407859 700057671 125740588 244344829 974501592 376107463 784691914 341266240 422521215 277907559 633286484 848602889 31725302 134596613 655014447 471777984 769743721 710168888 651003532 292114415 368332811 118113209 505798930 124648779 650066196 156921951 549926686 674418777 898692563 729391388 708994207 35572613 84043153 307063846 249329742 645066978 138927233 212527358 549665802 309305267 708750272 427244135 708828081 549647688 911402338 194361340 367656777 10207981 588602946 481714583 316727642 897527870 338697425 882137908 399875475 965093131 137432376 258760531 109918385 928631898 858415438 760822215 964893722 490819925 540310063 345616524 987816720 418915904 800005109 850402036 968434112 700120733 254252103 425739553 826446230 64482469 575310939 927596596 305875267 329504561 40942120 397663798 177226176 686803671 403707883 297625039 954330602 546408827 360387562 302546805 888271664 350459133 520688847 568081084 1751598 292653172 12899048 908369781 565649297 272997052 85535664 505039792 56639286 310896434 132370202 51291347 606567060 392537489 663879165 575147337 745158803 551689028 594049052 929635187 520478305 401806567 638808594 35027818 961157631 818747127 455349664 477717667 290710147 417224177 422742468 271027437 523681276 953363117 940672252 804242169 211993057 207074608 123565954 261835674 768585703 51851926 120324864 42904511 381468014 458346997 556805498 765854022 857568208 136989653 582085055 112720761 674714085 353172187 722790257 134909770 180699592 325188911 459380785 478500701 164293499 601401218 86854754 584257083 579833466 545703751 361560886 974067136 301893674 744227014 631888847 613388835 934761552 574979799 775835588 715199796 732540596 444786064 151179950 869773614 535327663 388649455 249591207 922584899 765656938 691574740 256523201 463008767 593689300 373774135 95287210 821649839 986435862 612833196 379325195 509133869 871485227 839085700 896253585 325038308 45288688 643930951 668709208 408107812 469604024 530814030 696297523 438620744 393367303 747921461 244073442 691014118 543510538 808000117 676059939 416106458 670574362 611571274 634130809 484814168 306208103 834075395 598793126 233258277 682679853 434682681 233084520 587880966 285757590 97741011 440116051 625469692 717577251 96167516 759926960 191155964 478614926 846151137 116894669 166076778 37223171 512881115 449914982 662014120 552534809 779882331 307891664 349517208 52379069 67220220 548861843 360025577 908440539 585671596 366065756 459780431 950227397 635549176 606726378 121464468 589067502 923696689 968712543 629159929 376851500 835864835 871702623 785114425 624658500 487410829 62202223 642299621 787248504 122204668 601684893 176162193 892466854 85777657 510847095 163235241 785867147 31225378 564331849 75347096 103180954 359419283 223630599 551072314 29060464 22440628 237062055 872972521 951339944 778972161 477480089 104870115 914022894 992041953 290212567 310621808 679557914 255774749 998766179 136000259 638388441 93468243 901242787 7534445 99049243 798524255 561980480 697768810 114606813 157684606 474539600 569404255 497198275 609513476 683637918 358387274 778348282 372644970 413325105 454443240 768329660 40296225 810022430 490688124 524788001 648558192 631984405 95142993 738496997 66237584 519575502 550293495 945874298 51741830 164525764 732443865 811375666 852461632 345690896 557993812 58533365 99731678 722168829 436364480 152154995 560439255 563396167 56456578 301698824 591796353 281038773 8928966 542258954 310581498 677170446 705027850 639878230 838491980 287077748 145885014 852593585 649791900 923611419 578737789 758286310 815853220 776545581 412108454 947793862 615062787 140851612 675175282 11221263 955755316 221230470 795475339 321571830 698990843 381777631 812064418 253351695 511592913 699310799 40965701 949431070 812496467 644252716 906384028 399961573 692767658 613744466 463878673 207441588 798952897 704728398 626131155 501448151 530185029 849919505 223330645 836780107 117197248 810637537 716783797 517871773 785192856 356768782 189151155 131560352 969018136 631272154 140571837 342134589 6329486 983600598 923192066 766774491 65508865 339902964 882504620 674473857 51388717 700519371 342028112 86067632 423323050 88163362 570305620 61667623 528370677 388388140 235691484 53378475 143725022 890430729 971936386 413440858 189216796 870473153 185103936 536076545 923190223 425103876 629150480 496786256 259061243 385747179 619878337 330282385 650109491 157342286 943248973 102779940 776229735 483462753 115915352 254915363 378848713 911349151 677040401 721161556 658765824 711488085 19476237 930132413 343952711 696663337 207354365 446213928 183387287 133624752 192159062 22693547 374736528 281866460 116473793 576954251 948286360 249944810 772459743 694040879 896036943 732822404 486520262 708667942 426554012 417841166 818560250 541634104 459814736 564623553 310228752 983178855 529362672 832776850 42260955 913433097 731917952 481009885 691501963 767324734 971102559 308118480 793578224 519208221 615482505 92593951 362227586 865128570 37621136 982007750 244981628 81407127 780037387 52403147 714205966 580723452 230177765 899236059 864950650 873301972 728822693 322268776 636740895 824018753 320827899 475136428 969182460 536658487 473614155 732178876 663448230 290757512 199981193 896318383 164333006 185395517 368792848 343451216 67858179 516438360 995646813 646822183 146262056 104499832 404735659 34518806 280435467 583942414 298040733 231115000 190032655 702574899 303405462 946201072 417032421 74031070 455863010 345551302 696182770 75252573 879834124 247081795 941740074 470936310 502250732 342820297 454270441 342178140 642497563 519743483 57206659 164456579 530272938 931964199 788702829 503228127 365042970 524166915 237568059 6656463 360744956 570996538 912710733 19306149 621083956 321495340 991348312 411127007 901805873 472007197 744596090 57136749 419885605 234926363 716576327 865264663 417751355 247516711 239737990 690158694 572146116 21301021 304366327 269183656 877569030 864012477 80371248 917187953 57935188 862413997 205166527 362754187 362419502 170385288 721007184 590504991 432596509 487503144 9947033 529827741 236233211 425351483 205333639 30564825 407218173 726336204 89695461 863179107 441144084 671939453 856373706 839581999 249483820 347698220 640888154 217076769 166234375 482504403 605235890 493631929 487540961 401892637 203801998 89859195 758564519 274872381 105744843 200881142 595492049 164519294 333553697 469613515 900650370 412813100 498574943 564193036 850795997 415708893 625133897 409187418 477036922 402155526 49431543 516521194 996203772 22712773 157563061 984569377 466327648 388515096 27403396 102609952 234009101 557472592 770097136 666588856 177332703 415750270 421012475 549544184 943885922 62666651 556434938 113528226 250990277 973770721 407457802 999805626 758267961 929908231 429823296 290239284 158958711 875600680 217562169 824000913 382567736 101548679 244500849 702629216 944833981 24337389 346134814 420183603 701159218 161672083 940662889 476855079 978861889 650595429 751541053 169772615 701205763 521723905 603906671 619008621 808426476 784187800 575391407 508887880 933941155 490548862 773645314 921529593 899945427 814553505 426592860 993225552 495193336 803409529 209445837 659291431 830602501 164783566 765170284 520137603 313363455 707782377 133086627 87278944 516218538 615082921 230873709 439364652 426991462 323423153 307890568 640727427 93648655 530639444 92217439 956508989 304291676 34489173 686454714 372624574 666544495 691425482 386114393 142701442 708274399 584753547 576518841 222968749 473954826 35875120 64087121 288019807 848874662 82264888 491115942 671595690 428122476 156236748 926612072 192285397 587550930 388316166 892102697 301016694 410500399 842688409 644139547 12269080 72668653 178924091 321491716 137553518 364087321 569530795 399649516 572053356 242182541 828444526 756950407 5188393 383533110 427715435 41356929 107448927 146702201 195401447 391561653 991852464 290622954 734385408 687505351 927451444 215102694 536642577 436651133 566467241 444018383 418229724 98039491 78861049 874509871 523568346 241113343 797554515 535479463 190675553 400826040 316604915 750553938 677164215 668371346 727841882 445303836 7449029 729203313 197015492 123746103 34290206 746401913 81757844 573257512 9927358 515755261 987037127 953690533 551037452 809453791 47538511 90912942 366602708 410178526 181628860 426953176 226910579 857566656 762362120 450686180 168858503 777155554 137267428 275298622 424335082 845976780 393804677 944663447 130959040 721371338 624996640 583397652 136809484 21686719 388470434 845222934 976618223 559963825 851793480 100509813 643994325 750474979 360279197 410857427 315246980 494933269 940032078 84505362 584285424 83165183 245498476 193951225 213984690 869012527 663065624 997835424 8788116 463420607 779730749 817408875 114425166 524059101 536721843 769984910 82782898 877167638 393857590 911016509 442735307 592299325 417287608 593862014 747017575 417870644 392797752 326111993 657016571 546163607 556186825 464932702 428947759 438695809 137030333 571738213 847954006 958890976 223445800 533948679 275358472 550125313 326463896 250264766 465337457 165104425 3603053 501116545 934643650 268171183 904180413 266027507 950904460 103225537 546209933 379720418 799018667 158853614 791184930 553095501 347064818 991674784 310073701 422325635 989384733 26086785 720339312 64484148 297819630 162516362 660789171 183358627 306008273 230924689 173089532 404864809 614546191 257342297 162048842 516659665 405048382 677205531 114938895 993416321 147340697 448617427 287522420 486203804 775460708 890717853 574784955 856080729 281278215 472635375 355178368 388462622 183252501 468781660 281134135 566118740 901155369 875990743 114628529 295524006 544069170 622760227 298634217 904400012 978410780 698994744 256218585 165846213 586403464 450452385 603098386 95643513 897306421 614629759 156150461 969117282 355474637 326607181 659899762 466936993 847314166 647764743 280664089 316267763 764248848 161481546 324655015 46147963 74906307 683180642 537986025 250247686 48041007 361297240 678365444 378774164 314745868 891834276 342317531 677915694 138891719 489942345 3198485 234486806 14212902 780234806 100966227 844047002 741926834 924302558 445941991 895884456 846752094 902714748 793408128 738629794 428547703 477525450 513137645 945939622 698535707 18514160 766449262 693024405 90644011 655661867 903135003 399723813 972113329 718240875 221744059 373278703 804643763 61012328 743968479 238230981 486496963 195881737 135113968 504971151 142352939 190526973 133344780 382679027 874941916 931341271 914429019 586760322 809958996 149104687 880844856 60673405 699067786 86265797 565909238 470377071 329727871 278095875 98416460 160058070 175372977 516479462 186608885 1722870 948666778 17359854 141757488 783448151 863719325 846960290 425359114 919469752 62835264 101157342 607895058 235924399 650355779 258177126 250433353 518099401 274663535 328665262 966695728 280391713 481059409 176455354 451616088 202349549 179382101 226616163 364591363 732008916 346177273 282404917 524308992 772065110 336388257 713474794 720335863 296345568 631393769 602983008 258406494 493240165 21952286 639224781 322794527 833400962 134170293 144565758 269385688 489782716 814745217 439705229 299277395 47597798 489583573 466573254 747296661 576564634 661706563 20009622 126830900 399781167 610481850 381916825 709165520 479944601 76634493 692958513 456741480 817553525 924461466 657949919 443187568 329618580 159708771 112388594 445163569 562031505 382659580 719822977 954338624 309322289 261152271 467575705 990803802 361044792 641879837 207846449 744356464 235233200 229819528 514316604 372282002 988580892 838050261 531355641 503227722 694821037 860746243 146088207 942972454 95254795 523572873 536223763 127898879 696884575 526273070 464667473 492788227 952780220 170572095 802757291 955428016 902969272 974497802 212687286 374853317 530104825 335362647 298076433 375559984 240111535 904932699 94727230 420914406 248935838 59986099 60922979 609135763 668569381 594147488 92242876 135898761 198867586 244765370 386430887 824435162 865037019 403219769 327503103 325281078 24294410 575741133 208073287 822313470 275950712 197121299 12939072 498813595 599188281 497605828 201739028 687787071 86321467 660332321 449179268 293683655 857691573 495018901 625750202 837159546 987403143 528871102 631262219 533815496 955225710 130884530 969224819 758148575 80720727 605979050 339371730 466526870 797279194 999978275 156917196 410116123 130623392 820479776 842717309 555846934 846021159 221661385 566354438 860674347 819300039 479815825 805330002 672872506 198245115 310253816 684348338 295525492 7419005 523967782 579372449 428952127 711424926 378255250 797141050 651035965 157218099 250697120 604337150 179189372 329935701 614850035 944157253 712462056 911939696 185941938 927605446 692775891 861795729 317691979 634850165 237002303 584895538 206023686 539451692 26621039 726341584 811674209 350472162 321098616 534502095 780820927 597199620 5059159 168342031 982670624 719553163 652725361 997686210 378172823 292514603 809697971 803387144 359842964 731135639 605812383 316761531 758665067 49617126 3054924 446330445 505840774 828174050 193550603 648374990 595237633 40661164 804018338 645471523 169046020 339030489 412101528 667579823 834808076 605441692 127389660 767182781 219465491 409736506 41101696 959745946 785707058 248618073 972150075 169660083 19222328 7623973 382059338 371220284 760767728 549247505 770197531 204630219 476955760 228854581 679675811 388895081 152780823 251628798 388557165 387190316 553255286 217668097 72622026 282711168 763976464 903461910 435001468 189604123 525487855 199655052 360327101 121838812 725761844 10560013 744899004 521258611 671314060 604428422 468913640 158779917 393583641 624169998 364004595 630421714 890493222 327457415 814774660 673692268 503879179 732538078 350795806 308888732 210633775 733504378 751976158 861993450 673382317 75280667 143848054 813866579 255060506 759965249 694957724 217127209 91135713 137177816 653351489 63998232 982251656 668345536 567122973 151858244 615114444 867289469 87003420 755099807 98249212 808733053 880080195 274046930 990385342 323516037 313427372 557014785 25777946 130428638 736479841 217098298 649070640 987742869 69543963 889900572 228691799 785228010 544394810 441824273 326242500 623012406 487875696 839186586 997526321 553388985 122328925 899024053 720616664 538419223 943080638 362583703 872230996 846760816 180396554 866193206 186269697 697042935 373364797 21436276 793157761 158592288 930840399 651831432 693681169 323622848 726750112 413349850 11094918 290291563 581235206 805123102 254955801 577417647 872645471 112954866 683958888 862805384 48882614 227758197 290087881 946456982 491571638 920389206 876603282 112629787 552678626 756656960 322426681 47769607 114556468 879672610 455506214 997093437 373139211 459943416 668098025 336054458 526370877 715584641 550031514 964563637 563011348 104227514 417875127 484491466 331898561 390242639 212287983 300419480 504369255 861070425 722971298 122504843 272749561 609157674 967330318 206003285 455615758 670064907 163335588 123718978 182165870 913262221 520518953 701218065 494410163 686762008 519080761 855896880 110837646 937214365 486211585 922385854 857432842 856528821 882799773 329114954 552433705 422493817 194434786 746031051 478728410 162883741 723126280 416615700 667399306 451461826 732461152 382909514 721757635 91063720 299492058 630305834 554193693 254784415 719320969 133482046 781625222 361027594 436625869 887541515 886959873 560851684 848683348 487968857 254150287 83712338 963475466 200572970 679275161 178890483 315236640 147101787 479064831 737447325 119344723 450137931 420013909 404366313 403355989 562098272 138380612 726911261 561013563 973985605 13255054 729463583 155628335 280275017 910948875 382865414 806596675 267886707 134625418 922427615 272184917 792466900 475106917 988975640 872812700 924746341 719433316 316511158 107646243 288928869 855485615 544387840 282386105 874968908 175120368 624036768 123818995 942923695 635164522 540056982 537785466 402350681 773037611 712251783 890788240 671892126 760345193 749922487 185604617 181430307 668013583 946394294 503272370 217712543 61192354 244629432 239670631 803628280 616147252 489103629 180800616 503680964 312811238 736274598 726341247 246805875 238350216 177104877 533790477 608568967 347797121 717538972 538171472 170329693 1996312 248084940 831959175 550237049 482830374 886872861 743240634 860123283 807660683 885209967 115029768 624435199 249319493 249163130 320635368 211136868 80398757 362724447 541878682 15243176 765637434 150927029 22535460 695250039 546083094 292475918 357785068 825245579 144821717 750259412 925581526 518028710 416394926 688429939 328676057 184570140 637566508 715312342 936089230 364577564 815130246 200262653 228703712 262689541 113270555 86362588 13578954 495154228 376278591 69693739 568019617 583669686 948732596 982641756 824005712 981695447 88601770 255030651 408224221 784878685 699868375 658211795 473036010 517792661 290096701 647311214 629408172 703837575 981929332 406357705 15359062 553682944 252505258 179848036 583624015 813475839 26676419 713140396 656589469 260001008 485571677 141689717 728968377 673153204 984586035 644720902 44560843 72772130 962406781 930614947 973059483 172612181 313516604 800540530 363271851 310116634 664453480 274028703 266985109 282475755 912889586 904487650 208472608 739241782 783739549 514008407 249839028 853837529 511876214 103341170 150695019 882841745 951144232 778072832 165679076 556510 462137121 648288736 926721654 539365050 143255536 994045198 584901352 259673975 316021047 540258719 270448850 170288793 414253350 916622557 817025287 860085742 916493302 860639665 105903082 419014282 376415488 505669191 392515401 601737406 219437060 972944827 176933013 934049534 135927134 43494819 867334897 605142353 324836551 413429965 406890458 231321852 393860495 378621280 747704583 230129245 213496041 239251259 506558409 795999442 625187933 412374476 712408824 970226965 667097531 705975300 95407765 686833325 748451158 931549339 87046201 414017844 542509022 366803932 689587999 447511913 647868492 867137289 691439168 658677488 632749595 571168885 499649211 924793453 49263553 742706086 760891723 764614969 574356032 491224230 349719264 260656445 423345611 790995184 695904623 916512534 181103652 217940500 683078790 390176602 599095679 932243021 37772548 470994373 187294551 29764420 325905469 933650639 187825958 574602575 271560610 681431503 739746012 547421984 645639707 137105140 197622921 930508051 571105214 486611143 142388609 472853471 849338355 365015047 374208955 568079327 609980718 909837684 508619440 511837295 925333134 119179317 482877383 849965161 975915867 199391925 424515649 95244735 492530315 243719799 69335688 6182922 791062230 634368029 749231434 97193139 905071761 174858252 303606958 740106608 732039938 575516268 890285655 954425445 47267145 112625638 759317364 52406506 69093823 21711637 36303627 656101308 269909333 692728418 549763757 304302264 750616939 952380864 346379431 606352161 985039612 614210256 272984540 516479544 222589179 684559056 337054853 494960961 449816188 13514377 446663731 421481184 535584497 621705462 59196900 881065887 831163568 5546283 520412725 621290594 194490955 821603324 625780554 62172060 225080494 903581015 785455826 176783463 682712425 363400781 640774653 318003540 234499558 653186513 910897867 52007225 534068548 485409548 510470869 866796414 168994626 745439181 333344691 544145001 290381879 89614906 445133398 320970092 420106812 380861516 309546663 827512142 674412274 809051029 479343570 351386034 317575163 93885318 302140056 26705420 21434753 999593047 183784953 278991551 237697790 749913536 357196450 66723283 898049314 697266920 976320635 376886163 288350776 925174384 437429317 189845849 871576742 133817778 712136066 731428562 111261260 336031091 239655510 145107102 715043409 519094825 607567034 383020250 4220197 671431461 230888143 536975109 210417236 774216119 712036849 783177080 552412905 53833602 772936473 729914074 113574161 282154451 308807971 312487493 245545510 35536897 96252630 452476142 843806937 910157688 751226722 692465946 721896125 507119804 769264707 791989832 397782679 671403972 671322161 602382024 264140081 758049221 302963934 735654847 51652281 396256920 345231773 58136505 711489849 992993898 331236124 280210645 388343639 552573698 429177040 32689635 935621021 173969145 322605081 280087465 940990243 829286719 680543564 566165710 834374550 963867181 497394774 859977711 47882946 476151282 857022507 121088667 677499839 291280086 756381571 962664340 606955770 911733193 729979095 606147950 642098997 787819959 361648705 894924204 11253959 957693370 807098860 416327240 157637388 645453018 286083584 793271051 627302664 967721763 673378809 365527768 153913162 816309422 646905806 226961598 544652101 120697423 2195937 552386829 997075276 691265704 420874199 441306130 115421218 403337167 157091337 290576020 676139853 448464955 274919635 78280435 539328301 172010663 45496091 79212142 262777859 880438756 198366205 872620544 280703696 489959927 778162469 721341579 703485362 680359173 583654704 159610789 771011010 752576882 928036160 563742385 283032386 678695569 345069581 819941267 833354281 603561714 837281988 164910877 663618657 295546473 132538034 185078076 344755216 314091196 472168716 256365355 583886449 569532269 532990390 23781427 133921606 514779417 168558378 158938384 891342367 261494454 53929815 848607537 267670183 59919778 224290358 380898320 385762306 178097980 308563257 50387506 613302825 268037688 701399071 108894395 545737905 538000743 576127903 444932963 244393719 648383748 969485775 531857687 798539382 141946919 161596911 921610127 585940067 627842263 282069572 459182032 221257175 420837022 799431919 212020322 511691193 915993482 707734016 589266737 711211372 310773621 511069284 89375732 399361176 83663294 358022271 770633259 641434817 682164502 744359608 754683608 532688831 964004070 10505320 869508086 858795534 906407730 128179222 955457599 929832602 382860751 305517544 635520591 256767381 597571421 385372563 598198654 96702290 223680434 99630592 195575795 997110265 543185055 586070704 904749366 345557039 812262443 192065634 231987176 968198453 909866782 850533693 903639103 331385915 166414312 682402821 89117054 984805692 118651785 500097154 542413098 973391274 166821935 96582047 355979764 506897360 305616042 952290918 233249829 563390605 922446086 998315287 90724610 421108634 20781041 859970622 227441922 926357913 790040983 539180560 903653315 622818871 505677901 978467416 924418075 402637851 380202371 532903659 413475360 393119302 66972309 502612593 812794724 692931280 146555975 570110951 469734231 648750780 888293375 532438917 426418718 636705503 709394621 952023079 465893753 279739642 608775908 908002922 512338584 884916174 57552173 598721027 196118361 313074306 19408018 752869321 909182784 349966718 892981596 740523597 669329504 8868818 143719690 388878461 921152908 23096146 774519152 346787243 756138638 496648009 624583461 272067688 259118910 103298690 219511631 845898070 986783268 273348246 773436040 973353364 578191372 651136574 625819580 125202162 492185423 228503739 923831806 135215578 926730796 699919238 834733750 788759254 884394635 492231803 323434610 49115353 291719632 862943183 347403821 805668806 286565061 819122862 43277875 472632431 68530372 813196364 920442269 680615352 906692918 432790596 956969606 630665682 227026632 105874593 349096127 451082088 182816429 293583281 558997057 459277790 917711158 957632626 799949372 744840664 16056485 792196478 878170884 37159886 367507561 586512242 769396647 214341419 661252221 514166064 14814009 205717890 562144238 312420026 664644182 220503664 393356054 333737085 181337534 628973176 856982348 217705735 365038201 192457300 723280726 559417487 325560246 144391397 6507942 212868362 289209387 296152230 501501944 512885757 765011634 207905567 106027749 278142707 219675858 741968777 549308870 604782776 82093719 603360151 641870635 319942044 951912696 854673334 323254475 606607619 638823887 342384066 537147077 502905421 192592396 34093342 495012492 549281189 823115676 874199396 682826555 157102930 977709813 541663955 927674228 562855586 939303335 537470773 468699104 734158363 103741006 513272881 176195670 833692441 214696107 500540337 28988528 86598411 872305973 998207068 920758693 100203032 919492581 580961226 677359814 963309415 810948708 31937483 131654525 689210485 217812817 180929537 439016327 845557083 957369935 477573018 993539694 140755035 527690049 463035161 292507289 116250360 69416171 661758787 111372848 473607710 24173464 777632688 110199494 418618263 745327972 962229502 632520391 782282829 896818087 688483060 273234570 895543770 282455776 62432636 164045504 48194118 413270503 603785214 147985068 141021342 778258167 854007754 351055911 629077691 344125894 919354871 667002531 961048404 482363369 387818636 157733310 888588889 423789387 471420386 241009868 909107797 176672940 765838001 988595495 403253467 196995018 131553875 310558405 267366465 822099323 884267850 380077925 238041958 841463427 523257314 929936628 964232728 387782180 740679543 837543813 735460918 365608338 23829483 554867707 145654313 993536561 911114427 519900726 317355120 596783060 526148563 13391470 575492272 684912754 38628194 859983147 312706089 439740065 435902869 435481946 774012744 201547177 3460456 927165028 602284090 375919372 499506418 731161675 746707809 186773522 480099490 73734777 255863212 130323396 623455756 866725231 371434348 591769581 196181371 228496246 633157704 882168253 971870731 25574375 802238774 597950481 779635680 113089829 240934353 199882157 209555513 557814169 773228833 330073590 793627327 562558025 250430527 427098453 988883013 212053569 852385713 538719857 334383100 514273184 266627275 516233345 591615938 975604711 883278076 639187926 680934382 457896826 40252294 111327155 198847114 885051814 908450948 168685620 135359289 283562097 475820827 363338679 449386222 656262098 283059089 209068456 218765018 347279525 315149539 736061942 554115492 523429574 817687012 402624146 553224635 878300045 96491160 668946418 766179510 512372725 449892973 800114441 41164560 444053416 182858825 87638698 787745070 51188272 617482158 321652477 638355421 464907912 22699044 341526766 289353840 453622958 576834201 637022235 782677039 628764534 887593688 289343479 8337563 739814850 561031458 410462746 637782670 972920170 774674736 529279187 246226329 39799173 89825236 11935141 406146839 419470505 814781930 321117946 826019717 85095970 146542215 844005753 403882588 365028186 27541686 953108100 104418594 726012351 642515250 404575524 916197667 405776318 429686104 4520278 979921521 92887256 763878005 454346667 855689146 258072902 672895366 983245371 546601960 345196631 205676857 313424852 452953280 635373460 21940259 927176883 857930279 614337127 489673153 826787497 587332558 871436593 700901860 822154752 670348625 574957878 279506651 306903116 660594578 971996569 389212468 37477051 311984854 980713033 418152373 773042527 145347886 599143480 56509693 846551424 915228163 969571069 61287598 184494136 460770947 356162843 70217174 9854315 516368457 703478806 341827172 905290301 267135915 858393707 545394559 23830054 103684266 515018455 711158266 790702976 171951886 674914099 383299193 599174569 20401460 760485870 159044347 435056567 407160447 853575720 158135168 114677852 105596081 810459164 275099610 390592443 27970116 932853162 538942974 879349384 530905803 673437216 27015789 136771048 26213156 590108060 278653561 733540348 927460604 160843818 248618958 472196768 747034443 145903552 591988744 711608630 288307981 303229728 71142373 493066369 746064271 789183396 167478155 433187634 384071523 400817816 338947561 843616423 149524056 610428588 891555287 514304467 53781645 714280525 66993661 126052706 560985288 455843911 281549650 993074104 895215269 129460269 116528617 223886221 937178957 99107524 877212530 527195304 830473431 477513445 657564966 674741058 918689153 615507258 817376958 341819994 394780616 733608660 150779720 906909650 583921354 734498474 326762449 926918469 777296028 175599968 977223361 736723452 423267023 149335533 462374313 607342269 714950014 602808546 439646669 416227614 253563343 511135178 104505488 909379920 196548785 490108053 200600147 78510683 356298180 280988950 772430993 177648967 707298661 324253397 648740436 280083669 778537158 756592060 420090153 661604432 962916317 976773737 638368276 930160156 666644060 915997000 47125234 86688456 64616686 488892314 659823721 256530595 669139494 272240338 565632830 642077402 945437354 557896111 325424493 661278020 883621198 1865791 392020188 658413560 904991436 517041870 596475626 567329466 426784870 297198917 872623690 294635800 233712936 52301394 477315373 211103065 224493028 740996342 719742835 662205817 204445500 475839156 466250592 782733218 810466760 737428438 321591961 679284846 834142036 504377269 518372815 364098290 288905838 598262099 862862264 997667381 886568044 449635359 693437357 883265804 641526713 653648905 109216086 461794399 948854380 381964204 423093995 756733698 363817987 866121923 175335571 984878183 23420154 573723382 126035048 576086410 784577719 270560001 584127514 246256226 868882119 580680169 29575810 492458870 600194785 283405300 398784835 704191263 698854625 651817052 265737207 754689790 431380310 455380842 691275686 329386117 933271236 810601505 847165765 843057676 530886419 29106487 967744318 191401626 799467603 17065768 389589508 106948522 483797427 129784874 758833948 602562234 524285511 861923979 939016523 44723210 185062576 292538075 606300186 992457290 598260302 924176448 782386947 994669264 38785435 967529411 837741197 606342066 884019268 112971024 55683690 209628554 118856646 112905509 625075396 404805878 725692177 492838511 855428706 52095250 287566240 433240479 370852025 380995471 963157454 946306666 166505266 404602365 161050044 42804363 844380110 106519204 884608274 69495865 170331452 457556633 628718649 993495138 265925324 354728523 211757676 353785864 131003335 119845624 45084872 423047180 330804948 238247013 253565995 633862068 432740084 415778152 741409972 309688642 478047713 832391169 979784053 670623187 842524827 786861056 188358077 58122523 825535107 947363965 24153571 27510819 493036692 474392806 266793339 61629542 189192229 198485159 487189092 801611785 498158807 748703613 214502385 28685569 382982245 790497428 282637341 163106141 734077955 47615946 62624275 661579849 172588517 114398396 524848295 534539962 973220046 121605779 905322272 184995885 70172175 313269010 710170325 990215969 5791414 367042441 432630126 847630562 775550212 199307484 602699077 995599800 150581305 703899902 87712683 567828067 944223724 674660792 766562659 807143741 907526760 751337465 17543270 863763948 624602624 786093194 875782359 636983323 234342093 70358436 392744646 553393243 147047630 456577876 963939199 209599274 369017973 431032250 940918501 966762783 244420565 470785463 694690476 369324320 340889204 764139987 448741645 699904292 530579471 428352916 610654118 294301363 753036792 772035323 895525226 803925034 618419850 739769024 554362138 428469138 552840848 301267258 409017573 228741420 871751788 990882952 241941999 442732819 914887513 25122763 840554952 966210216 875172656 629322946 421116096 940984334 606652280 453506680 58515105 550089872 199857206 35074695 5583870 977803099 514023598 540615348 63164986 69024881 102898187 883709084 886849479 547009330 103447060 168095764 856367775 664206450 592617007 822043951 235307820 903762674 469932484 294774245 148806518 858726665 252577984 110614098 837923011 755222270 762778101 776792203 932235075 523204460 786270932 26476736 879173220 409276700 939952300 993475836 943233733 629393211 704620008 116504134 930028335 641163553 578817445 558218788 422099756 674612993 563951009 47236069 931442918 697788128 468063916 330719424 457931648 120376504 356246327 253644215 676402318 988646778 180259544 898567296 229960914 936377133 666661192 981578518 865753303 187814993 555487470 946399925 240663417 786716140 65472264 428751657 395982793 153439807 756160951 590853995 556156506 955133772 360740314 728776060 41835833 139285789 454673096 216797336 178485116 753828286 195091907 287457088 883642952 31940246 457718080 570036998 901839778 502655290 661158499 250031785 3370818 938059307 702437085 834117423 826413568 9278336 994933536 283662712 43293746 370098924 564341541 458110632 510297277 454781159 602030232 974950704 623925505 516208635 693481641 593985675 870558725 431602710 170869601 637635609 142080520 827316595 123592318 156878409 185177514 335809980 984209978 620130535 694696136 144011211 351206481 408155326 631416219 270085987 923408989 655071351 186786181 10564297 363158157 348249282 454968617 524591133 782190086 311827255 918530676 754996167 691657894 403009543 444761659 945150765 802922678 466739432 669877901 991981410 939498365 286252448 571713738 197930496 34361182 239421752 973715950 155232853 128493103 419520780 894235822 230576773 722389123 372552956 786165346 387736477 159401464 627963201 27050451 465005272 741118961 280532920 829324614 689994573 760372042 773366135 90694412 290576094 998822907 737194425 938720949 135487521 387290560 584378606 969655309 122007753 153049487 515111658 818039867 520068015 707928776 973779728 758245514 156267675 238802993 921355432 84306685 150698668 375149249 111113596 531433446 752458260 575260562 227039777 163121486 913737697 425277317 558713426 313758943 550285669 772162806 23550043 681304226 513403480 905393976 389791684 305058882 244581156 631921626 124082869 231024756 1806537 256357860 696120217 44700714 620514871 450195874 835230032 833488625 245667304 443877653 870406637 953117988 412340766 663619404 950682283 266424155 38966628 217233535 290885288 36347142 18578020 455141437 306002709 71667797 640408852 610901926 268137556 281047689 524944252 818674495 747412516 420635803 46685930 589930011 134340660 712196025 809516641 384968599 891390121 212109458 314761104 420436469 855393710 875935311 311052822 852902408 458439076 607217049 965976354 200233637 619078416 247167628 338322270 619913371 129484945 581910840 517892426 419586416 420227515 882183295 151086698 650905620 798222451 280188498 218757616 648976139 647796742 74646387 483348108 167159951 40263686 273675534 291771530 220580856 428221186 588389177 3939521 635886866 262283847 450163410 281676241 452451953 371903495 653887457 494282630 813295376 823429676 232114924 970529169 435032373 544221692 504703963 158049467 726244899 707294651 109539412 562995017 943990813 274359325 612367682 863126659 688939449 292703993 275413306 576552006 664249877 671723680 381515224 238423211 46374661 838654730 906305651 911856734 479949773 689192573 208195603 57640526 351474648 358886315 821975885 153226176 243484982 281829967 618362910 117870881 636575188 139757779 845402176 255528203 117997725 669455307 835967711 896497706 598270796 922463027 908125725 892320610 913670273 504465359 620319504 201197717 710080557 351949322 458491483 214378448 596853867 134173783 600999855 345624336 460660948 200973857 838981598 770316681 224138685 385013747 73596897 614947477 122668212 276763347 73598429 646868332 583578103 614326200 579980221 898469709 510862727 55352771 425541687 454853675 860016496 337729449 358446355 152423854 455657673 583164062 323882683 669525547 226692008 314304613 951778242 596504292 537885013 688172889 193152048 753689087 224292010 802947964 409402882 353313219 788128989 433893633 87438453 685861751 983992221 407294103 532807546 489031951 603185993 805511748 718085049 163850035 184787523 931508183 751945686 861628411 612871220 285726990 536727962 960707172 962600276 550405561 433080189 622917321 301999083 162605406 601460771 583576567 777299374 552257716 2816753 320927483 89497638 289443246 330033003 854077357 574747261 370210815 13569963 143154877 897610826 38747302 885316809 534110502 992139568 485713118 356873880 741401102 922248895 988199938 543341868 112204689 285576808 877835359 373535052 957476720 904175777 465917378 107521473 854279632 550391788 253773064 781901403 985798063 634515749 634231123 988991089 804245073 458421158 332367154 66754385 966948191 989144796 283267290 471328165 130178017 162403976 921531178 521535164 772226698 508088612 167784114 701883974 452237375 987317440 36471077 361368418 324316266 137253916 102502098 689282809 178638735 650517263 87951492 339364085 411611554 854161047 701232780 470072259 262006697 742580235 81070094 146651479 368848430 203282291 107930734 874871909 871622099 793518054 118522137 961189544 738603205 642666182 661524505 820615176 49993566 106203198 975731091 86569777 287787683 147073107 987479665 683202128 336975096 993472753 271962870 470752596 313855916 276922865 771962289 809640516 227057186 915710705 92584302 256961022 92976602 919581125 459021947 969020031 541962006 831691999 883723225 484913876 634535561 772656395 217037429 418818829 965190093 75629387 745297708 618461705 960491047 236188538 183841024 853528806 225204301 731418558 166730318 651139596 820242551 832991802 866020254 635629067 512992153 199120483 786912991 898635638 927953148 27705599 34297801 757759295 458334965 392501914 358838466 938437316 253134994 638770479 837768398 427117082 512813223 665796499 801263322 268635737 605014893 183488231 929084294 489709660 695893890 215559518 129900226 165265105 334286773 366348741 898321996 181567774 31203840 326509114 153443570 308235511 905820607 762736474 881278678 877851390 75307063 191374358 517382629 231725105 551659218 199182312 698280480 447821316 795530807 399498756 734031752 949468557 879379441 419402953 888215770 334322738 516922219 294685874 38766474 974856523 258557792 564480095 863241530 259681621 228807263 154177055 218262366 645062632 473125325 147159435 702247793 665917278 593501672 977332201 564198475 168394545 568964086 937845045 958879932 191441095 861412695 907356599 874818116 535159642 485275974 388164736 603057908 523428022 863626307 936191035 587839493 419603124 374122493 369144946 954526347 646947093 597510300 827798428 261151345 55647328 686572615 839460396 982245290 739387777 209526798 178789096 329230981 779839087 806983230 171519717 612926139 202904475 443413925 112263275 347733547 585349958 344036133 535668682 774104738 967260045 575176736 478255203 856080631 491155781 965154271 731406725 350885823 588989938 195207327 798008319 891941887 791147020 487804703 798983745 807151046 329137924 621188493 775379097 43044935 729761092 244195705 632658040 640890908 370646120 587752129 700950058 744773098 831504083 709340467 837363971 561111093 811600713 405323844 756084604 914447421 865002844 578905744 867269220 905315280 827595645 399048921 549770091 664814316 150909907 863953820 662077561 302373896 658776366 922331806 932122920 222635122 787480577 11869345 985192036 248375044 863894571 861284347 761613627 619304775 926194130 9782977 849198093 819974433 605380311 52903450 59858084 877256658 747109300 863879412 256229536 389162297 82502589 144995844 530281296 962591723 265583716 361622644 920470558 159671046 311194099 789629019 161547751 598618297 774737465 748866716 171085766 749943464 79062127 329245030 467524773 720086415 848823642 663197104 204473343 319316928 198583711 548800356 865323098 955881500 28208251 439247080 538716320 52053866 223555641 665319345 358950 964746568 44162459 436028163 222130815 947135396 992138403 631995675 403633344 412830563 840892056 421358889 697818557 730185975 632333247 430663427 610430556 862816648 579456530 225387054 778569719 796016634 560189680 580153994 616205602 692340719 717735151 677797132 914514482 283273388 545522458 59413019 165313455 266266387 389537049 912124200 848113788 883715331 191871294 162685567 334568059 865244331 131011226 75625403 760977569 374230385 949602140 680231497 198643274 982298576 618477738 240219135 881922626 59255681 100341375 632879611 547187089 569127202 692194737 637274697 515635612 785041910 297462558 283339944 294356734 10211278 469945811 648909339 252081072 856960154 316455321 345913207 480434661 720528995 100324668 11730644 246743470 741236850 665650877 537745198 913456786 157142557 96741193 46347559 972078412 873800952 813070105 924238847 54911406 126752770 422204600 836738434 141876172 198519810 774914593 110598063 922872761 223995183 119403079 87838056 457126088 673784355 869924448 612428832 309210236 912853599 155384303 543974773 44155133 503070031 600418200 569242326 834908582 507429651 573625114 624138859 890745334 788327219 440462188 236662284 179802246 203550775 700276457 852757459 494666091 130158335 998313933 328694576 504167122 204679472 471012909 889067818 783839383 731099723 561227426 893693024 312371405 548264948 968973628 456663085 943011716 372965622 121148272 268835200 201069000 684956930 31040217 422824750 882212608 525521222 956023244 774130290 328928857 443455445 570741876 475030892 536257408 648401477 904605790 365767127 283126647 216518523 271995928 768010718 56871650 517104746 634152279 760066545 871123150 590310601 362484762 748565791 482073418 433170110 385617437 166418927 722986221 571701593 152616161 891063542 784403610 415766068 194364637 426153812 56546842 132511182 292310051 829973872 415248281 164842792 93991359 546563840 556660945 746362790 843478470 580108356 361616215 771964412 701539721 499661933 929068876 217016940 307602744 853577667 29112751 827241574 878043525 656423766 487641651 902256634 837398375 210385490 31157126 915773415 223191855 868525137 28856621 299453191 929905558 418380696 929638417 475842393 321969528 467780993 691632170 383212455 342560559 443961679 477043306 734830044 457491459 390533686 645308477 713375339 196644147 9030639 538913531 944223813 403999666 852568351 327790855 331121198 573215136 546178600 386623827 766407227 870926112 211016100 148403226 39395391 486022457 199673607 290736449 462878346 847332346 198382907 281716746 831717181 581750668 793780061 142549340 928104973 759057513 835808652 268943790 491132895 15109549 66884328 669305773 772209434 607287680 11755750 73757896 510857819 479660755 977677325 687387102 1885021 784848100 613221979 719244992 485099565 986240482 7479954 933281634 398407553 68227453 450550266 689108621 935181136 842304037 785245032 110424859 745227921 339969170 645999956 318655192 110877019 461304464 398189114 100205266 215249606 619721050 909828661 400777231 438177445 187505703 291400316 701426818 996206740 136874895 391237936 192982826 505760497 518988142 825379845 40266417 862847676 734503292 278645312 245129192 578165667 563151158 687107410 722414976 341942790 838350264 436173608 249903748 413056993 819229285 558472038 966851108 262855250 120036684 276827759 823430257 17413162 70699511 43121303 467329556 372080834 134263381 704509804 14251270 507143359 876200687 627849076 561367093 653000161 815572902 550675662 340822114 778081221 132836331 899977774 665147587 180103989 458570674 707873037 955271838 765409492 413615707 105375580 211664042 395127386 913861478 966082941 618550139 229638950 124364253 419842941 862573269 755522254 600516963 10920865 763329668 793692884 466941865 144010775 757047496 558509478 947311895 439448834 149087197 798503604 933369050 795433020 294339037 234519221 711628141 54146615 814106081 500234513 261782267 208880708 29791435 627123074 21165414 585646040 299907471 461269551 492857549 85786898 819037675 917136773 652958404 87411616 668521646 662114112 129207204 911004254 242533437 242718020 417854294 865986254 530307179 429457064 425217505 684898972 708956156 758661900 210127828 892780052 934831851 411686045 464454842 678027934 883782990 450207243 123822333 15249480 29181166 198831686 915961877 31485635 10881176 533178895 387758123 746434270 171803913 483981900 817724277 263509398 308018427 265113833 956720829 29140794 757671212 736791458 707110018 997732310 187493864 751624426 615604329 75674440 190867765 634338178 559658557 16810627 980261577 618144714 947852260 177144285 296713365 191869023 283307949 122388258 920547636 997027102 567801207 175239944 368453893 805979685 463033901 850263586 275881688 678633124 526156545 654324373 440281159 930784408 332825002 354290537 956353212 575297524 273564867 612839269 390367537 242840630 341932485 123313058 835120008 301553623 247856168 605724818 943897100 841629641 369558635 455388054 550148719 986219774 973341141 672737382 126217384 233210880 934621835 250941462 132472204 301321695 34273972 695112099 639053445 428579661 527186224 105401604 765904362 708332643 972914278 27549436 202942547 839394387 214687988 776318922 55362198 695852447 274149793 643678836 800196093 323932370 857797401 847564067 994401205 651420130 982481574 653640712 495125544 571701362 517092683 390004492 894594484 972507502 245695808 375949034 632731488 177414525 974206443 754327075 852698104 103341785 56330855 148329490 819738064 767278805 854818608 591693441 280570307 496277510 291699486 76381415 147281315 351151498 769967808 455688049 659521507 13050104 269519593 962617148 398743606 451138698 898614186 601074479 672261258 545488023 890762553 572807258 565601745 898800109 450371028 707593164 613312141 473535280 126702166 237151913 68212423 423754298 734117386 421923181 536104929 872101268 279713849 755562201 615099887 865018984 942347055 388768971 756394033 474920944 765611283 455001060 667317974 758148390 85385441 641216234 533277845 732375101 93620676 206118111 372649314 429091688 674381022 897080583 967638517 540234181 396994226 424495525 883937748 899848309 734742307 588499964 243507507 578707870 99191868 939723688 731248527 334351479 379552946 691440223 595532491 567332224 636326519 884446099 970530044 472836979 92384279 184537097 424937689 99079854 566933935 760629828 93915749 123685218 951050978 688598255 534352900 683832535 114063466 533675666 564418248 492735977 399242110 346104287 199765262 361026507 96454593 333084693 586108541 129306398 391233145 302230793 895067486 240476039 579412682 798190279 866712113 373230266 708495561 239719170 168757714 72427712 145649754 105125108 634454566 132194219 240042122 777168677 115237519 492403279 928221293 385806849 543857276 353818277 129054442 175837493 916598150 916819542 562556424 137635205 210421063 996058018 88305632 491343940 404326677 729148896 495200298 829712622 911581935 755969951 68584191 454020556 597340484 902234449 557370222 962593002 202419622 157981311 984336615 717442043 641181272 834782358 656416188 434843104 654122751 930652391 555025828 114474440 690319991 198596246 988472225 274785640 257221548 440481286 185544545 749379774 220449423 614509544 495265744 816519707 364387877 22359308 643113467 475088411 477293459 322069152 696731668 633298848 992315085 439600585 580222273 496532356 570984172 901540486 27946346 833154080 604259301 720358874 419892651 542782233 465246996 525062939 551317331 249797185 946057805 390496984 354045795 14187569 332573310 456296302 687477401 852742108 524473386 146386809 739653482 550866680 597311917 54169838 240930716 403162013 85899063 207846331 487246096 762488768 476622336 977432706 116517498 572679907 763910106 187631990 198626031 817308102 700274802 757187503 734679143 903985691 707345756 944530401 396820265 263453397 780046849 487797857 63236765 581899341 899196158 35721904 146688982 153079544 392030621 668119365 246470855 844248365 324952292 961236058 239394570 946327310 136956878 872449531 370929177 259930110 439903388 20238280 64513992 263341149 648522763 493779117 361133515 622645148 683795751 320959365 292045297 511043614 832358313 806935367 785353936 534866262 537249012 917226696 401724161 353749113 981548526 350218307 198605023 199958355 999366106 258224427 635753857 191787115 681251093 926248917 712876259 986213058 378628010 272180448 105369961 451328375 847901629 990638135 78561030 238893130 855480043 488242436 147241876 535302327 115548015 102338669 869750555 490365576 213126228 778714825 896202524 322092742 212295530 342182747 87611816 905915971 218003055 656163377 882690556 512786901 573365899 537926856 733377797 888494322 286504114 688605778 597173431 999380568 736628023 583558237 428618095 724715522 907016950 396799464 558861266 557605736 11960900 302190422 122160094 739129155 842647924 538259893 312058846 648053269 641757023 290900083 455185003 860797293 185727224 398223071 875593154 336761475 950153760 184212686 893501012 722281115 794379003 265095931 830156155 966587135 785143812 977828383 818264098 704018710 159742682 475703954 546153652 461641243 894571400 922043965 500162828 840265061 759445743 785364855 913487626 576517914 591818147 880928789 60118013 111772874 116335268 942462400 353519939 567297919 963302353 166130342 737192193 865185932 669829511 168055176 690886030 429708110 622726245 556808628 725420274 818665566 156549849 128754360 34613308 208876290 847139100 447670154 398450503 590121909 182315051 523339120 408285266 104395704 399252494 364083446 620350674 601270701 827654316 486760418 144882855 506617721 160368072 715787178 885473437 234783091 989334209 61440105 272015335 559138481 117628811 238335565 168012307 965090104 721018009 240050898 759777397 349308728 320184306 645583562 127789048 138744588 57579675 502267912 102532140 173896089 322667160 314733618 119107847 727446453 151309983 172964525 212328905 636886422 381442943 690845283 834883322 886524325 307714489 713140581 400044307 748559194 122629641 762087476 594744443 199293115 8664652 53098450 703780361 646513816 241920 976283122 350043483 959375047 919810578 394961635 759575243 306861144 593356867 214678019 129658200 449764168 948778046 817086904 66470945 401319095 962807369 206080714 135968645 995332960 730286519 137684644 469985960 180540747 932135815 500217462 307819682 374397592 72314646 644041600 662888560 334568725 59164562 865962725 544994667 196503858 283265856 77662386 368703589 22329302 144512730 37445896 291863265 877987624 27052777 769257431 107896860 434993717 312947035 41049624 664933947 754259084 866831346 934937523 863358180 329989804 63649320 412692697 549457262 204761084 36468222 225875534 210154682 928128339 449035828 810744769 24675756 21056382 214927085 742362003 669263295 43410002 7404407 350497284 17441619 395860051 771399957 501832084 42113097 149408352 426825275 285330487 232280218 335301550 249480147 320609584 817024992 524264691 278831314 177872672 498581006 883679053 256644527 127203294 513477856 131625335 557229372 995413837 256156755 812742283 277161648 947370705 308144993 147518124 955916209 246680359 722111530 40277998 77929629 154395725 981276332 213532712 183392751 761440101 847578791 354087918 429650598 812312261 868694873 858296514 561130032 890461304 780882471 470801529 911191303 401796549 309387647 315473761 290738183 966603246 637570239 8246069 791447878 802748270 300885937 49593654 890350446 837046665 112768571 188311205 851537644 164370267 509891628 65780366 254908776 648488768 114053163 438571002 824332228 295085313 21980316 577865243 171499493 465448240 945370646 723274249 320206127 830939232 274702518 326527684 372159917 557178877 628932010 481590219 422183650 941297332 350212356 295996632 286118765 214636817 740077093 79636964 844552707 876436994 461798220 831794372 751067233 704195440 989327813 292871535 163427578 201650003 803561410 254065109 324619950 993646081 756724011 821231306 936503912 754370974 312373539 605575651 124890693 497340557 410002952 340554497 342552526 366324840 890687513 956304676 907817859 940470726 805311499 34969114 49021269 543564756 883095387 436717883 555308141 670278860 524098812 38689592 740881047 287751781 298983858 510896 131914735 192037074 724458440 891525133 353487347 843731652 224207057 99711312 783344329 662748646 859648446 949477546 881017187 111958026 907116067 586225805 147408411 380842643 50930848 689896240 413313837 240730199 222479476 482223696 628125984 627082142 910875589 332068691 698565767 50080080 597663759 81254407 111932391 738383511 325554238 180742997 117714985 970141016 423865054 368010184 665251401 132446140 936014327 16948584 212108380 619652802 131840716 201363168 659179284 494599315 829462422 896762416 491449298 887373820 902790627 647565760 611332051 32415791 452373421 150279633 602433222 185044080 936406053 973056125 950661595 839853576 52752638 614103899 81980937 351246009 319831542 243731791 341836440 750509691 922805275 800088547 388289839 620491324 114437224 820604310 453760757 689977362 146663785 500162776 896636087 716658158 848972163 802599764 312244028 798901537 951362862 473773047 954814716 929293809 753909734 970531237 299673616 809187952 449017880 551173338 408762777 431643319 847900362 322666894 482461061 93393014 694521020 794617990 959807320 328011208 858153582 989974014 692471336 630278120 368191547 775185461 366664318 58153024 473806303 758687435 104739896 462927808 417222211 215469993 978438889 858447562 46458915 787949553 831242331 368804994 889304159 4228512 575535602 983800495 545882277 738915322 462003555 541081789 281105756 898402419 699828987 934964004 778908669 851656368 610332438 711903364 51927739 312338228 899512744 324934285 5691708 98489352 495533612 617395767 726080935 395763841 224081658 78842681 165653019 496950801 599050306 413353144 545599984 366556492 989087824 547243029 270441068 1512572 956636008 826168700 650158524 392387425 486382244 726200967 463314891 672870269 375825238 211717322 247362972 500794569 202797296 489780599 642571656 949169449 737233418 534657817 32955604 733633279 324095941 228010994 179107373 892373834 176435972 135376054 776333710 996979027 781714527 118248112 733111418 245285531 682960526 817541612 910882620 544690377 160773039 191957241 891708768 23654468 694284030 646838542 909048721 932244084 626833273 795559802 691188068 53979412 447723387 149992991 939216842 744684467 921231206 93750368 953630499 231485287 653067251 817065545 253438707 784668961 854839252 539162891 808269002 418746230 713788497 130268448 857749314 98018358 665449969 698788371 560133032 256104266 377233748 384896941 881518721 358749206 471905749 729666251 609024732 739423048 807017495 572840727 260980838 404385106 373570440 490670689 227888357 298720339 137648972 835388434 691468861 754716548 681255236 428991456 577312582 5181248 503020774 84515066 701938300 892440204 559134505 394367128 170718758 142254235 327975281 586073931 970368224 999250141 963327474 950918546 445178654 261403267 312583190 150225683 320566802 699049372 766172996 311692001 57578951 500357586 750290951 54534996 739727975 782148721 107812192 280173811 945396381 468251339 604863160 454418267 301082636 541523634 651519583 393080867 211912941 175368123 152836591 484241080 86208675 809213724 318935494 425023630 948176077 195815195 514395241 431376331 665585090 745259260 953775520 134768898 786483554 757859777 523558992 480464073 912459092 381338421 296621842 23332569 820739865 669659139 304906077 368254090 201149947 203010724 875275960 147273955 841352851 915033694 504170954 420829493 380805254 427186625 677469176 366080834 128965639 227957576 404009115 573026705 219989310 758110022 25908374 844337869 501394288 206210689 563423944 778697275 689626728 19335066 75794658 772189398 587980961 643124923 351979083 876064703 274944584 704588803 921899119 380600020 805786198 956028289 402191769 858659617 62921071 210623977 398890860 774838722 632401822 651115441 305996396 579836752 793111413 910943328 550360285 914595447 950390409 53066526 781832167 964988821 263566830 186139595 96818708 964963299 526865961 105819271 870575919 265023824 624260972 164962573 788434298 431272562 38987790 520041766 531837263 381726364 451020073 495432424 913776792 47767186 192352103 255531151 296162178 47324750 286780484 638941115 689914021 236771043 120291163 681825551 237847664 512942404 525514398 289275627 77478183 943157932 532534563 668650154 656444004 963922760 382437380 523769897 415900387 477938336 690230451 439095789 345694889 152475226 615225632 555422051 779650283 728562633 769776074 582731249 747192461 688533561 503636763 64906307 800586876 994266953 103889169 273805540 946120643 565783215 412342713 762469840 118264540 648448878 942128859 157638061 992628893 640822431 867966479 856897494 957870010 650105757 768229241 634968240 733258193 723603828 881645914 460507923 483758374 911775014 281234457 180813621 323798776 490938585 394439878 499741564 101278626 703288573 380478386 772599861 369458971 57054858 530820489 418337420 64617066 452309138 659131010 13376046 189777009 370247495 282955735 831397602 151991391 407912622 962898928 926193159 914904939 122541617 195725727 747968274 109521849 628030757 115929279 751454635 574878335 111205855 725619767 242251229 717429047 422508672 270089682 993107746 411073814 898615644 259514312 64822605 858479032 317061401 198966502 63220919 691432362 744381524 917099161 430682041 425877716 5742359 990577006 631518889 660689852 42243798 621249417 386086091 518897086 703679258 706721411 44465137 787445537 936023099 983544052 564620092 26242491 795277708 779262169 906181927 908451813 307948090 148357290 524632774 596484771 310366526 917681851 835262519 674254158 608757567 791475096 847580407 53752529 370650281 985278725 95309038 233128690 724617140 278089597 532796156 156132570 430831688 51147572 870692124 997031506 742053733 468382095 150911238 580208824 521853404 185593429 760465212 867191254 249331763 32671165 379627340 549020146 634905917 35602606 180927747 427427376 690560262 615811968 871594976 180499368 630570059 976237283 980823733 125269044 483548931 734170518 860571958 716497296 71367734 288653026 824354083 506364928 57378688 463667203 359728896 822017711 985972447 785172956 505728112 6046230 240747917 884471576 389481501 744255640 877759281 61315892 42336260 874348348 924074004 831781763 305130999 747666927 732400271 459715696 494483867 68039090 157072013 475108462 203557136 168633309 990315587 85265589 718650918 510498422 925440164 228416484 319482131 39452447 319274135 454381073 206036500 75136364 813903795 796428396 171959273 722843370 481814346 771867117 876968399 616629822 8036643 15257366 725596150 263372930 756314495 714510254 167159134 964099236 153136908 235168975 928313444 147400220 939348467 610735634 665269778 499056629 418760559 102672970 766693319 510948656 328199249 865366469 156445604 469340286 860574839 56325907 650681657 836658956 577911459 906914880 946730104 471050198 778827168 563884326 891212410 400433221 803742817 227255176 194624349 813598812 232805387 509693376 663359940 561078485 552730685 594370517 359595369 992060482 358946049 139579941 668941350 307079417 881473232 227368443 262397652 550408764 681456462 4136345 158921013 166080510 443657682 271929374 804931217 428877189 685198942 360241121 638777860 142076090 23500180 759159036 682681860 557196860 248035908 580016253 852462681 677828880 147407282 663478635 567058419 400659286 398898965 849581930 586991481 642076016 477158553 820511395 975448382 239107587 871664373 332198760 344474681 552793259 652823617 169168431 273467540 383202062 755163093 426908386 928498779 901586997 199388650 646705602 465811180 323630844 241172004 486958853 56931474 339346766 132065739 148854369 233580697 669734660 785090659 747717418 988945251 225328266 418365164 712613275 535325567 379766563 873711902 541431561 74715956 628880140 948068787 850361558 692193735 490478243 17909564 268362209 342087014 553641563 350236773 280078966 566262010 363498333 535254380 822874447 711963186 479596755 501974029 581873980 364850214 797951497 500207038 473099273 774540237 89277250 619139864 952845408 696689341 925987574 67917396 596859549 214345702 223255870 850351653 905214506 788411819 107909855 238804014 658648550 15870172 701426273 177095464 560880936 638217601 732865811 22312837 645632719 786720615 657223217 742770742 738253792 869018042 750390298 614226561 764395828 277387467 991633558 31571572 946574797 196796105 434014008 789033106 864637514 718844285 477079957 273316285 372250960 709718090 765179441 225395812 89028268 369124084 43525657 933622786 286392797 32411874 678417310 680941701 714177450 857329999 144816782 567472273 843736591 129303827 909937922 639117182 512844214 644946323 669833696 169235406 955388275 620400469 926559508 637151646 966336022 387976760 933677831 253631649 755056806 211699960 325728688 773678653 180254221 141021411 295819316 704734816 391268611 235276411 973118824 691166240 933733241 668561602 966151966 702268994 458000567 786264276 539733042 347031839 774777975 116737637 452810138 526121441 127103087 477807202 958248367 194143044 537742939 209099872 142702040 526388708 367628497 811957941 979203287 528506772 436244888 775032984 231640317 17913316 213307371 517942009 352813035 470374087 979178467 573705307 829075554 482560458 124586614 785752470 764382064 612884274 809752981 627360522 10865633 512099270 874392533 602154302 655697280 396411280 472555228 176904511 606807255 465436024 690542363 3714079 17614176 842340563 849739714 143144381 982640830 833463568 203824692 551502151 267320683 239291559 933682093 812262858 184902463 451656501 210410983 924011020 907453685 960919973 752506070 897970116 961183231 623278426 393264323 907975974 713874373 766790874 581017748 655485778 70683803 689984294 574239998 357121157 80221260 868090634 440542163 732850462 702499720 158350940 461393970 584805066 442275855 757614398 482655542 903723745 482955884 240887844 440578846 748312139 874922964 323195351 945882099 13692329 34664989 71676395 683264083 937975309 556518010 6902265 443440602 242525243 533395940 107055028 504176216 874765415 604386987 538359932 277682861 420132480 849304841 440501361 990096261 592889025 997605042 408512636 437386771 804321898 517581602 867201803 1241728 655853070 590013437 132481425 748261841 111460170 936667891 1336709 797530704 572763484 655438972 267630232 706899162 165508577 680065774 241308035 921078255 765835470 81937472 838376495 289906899 199166920 476587181 133802682 704958243 783042424 634347404 194093963 772755026 317105564 15841367 942752128 313258766 600038590 670884219 476051749 351818448 964450421 500798798 100251980 685899913 795797912 656254387 583248135 484665585 575608440 549708186 456508688 839644009 279942286 940306082 976046718 899293594 456448786 897022143 583029217 43588572 465847144 30898774 802753577 114161599 352980911 398006809 167056966 946606652 254002585 170850170 684937887 341995096 427554806 800224495 99769254 916145231 232841718 22442667 125463363 163536522 501545938 628798185 250615806 642385557 823209983 281903783 387960054 790032636 726031121 945765122 485772857 803488136 132470659 377734568 700476541 245767868 675190425 962569499 843271286 295020661 525386840 867936669 211278388 742014785 566187737 702746763 131003087 805898429 772219323 995297143 35696322 932599340 355188757 717690991 584852352 879269950 33297138 5576448 107933052 918067432 965956731 35431061 185280162 502055590 161319496 944632756 98700036 995629264 672012164 445481407 129753892 624178902 900678791 911798466 439104423 665541189 453479318 473748791 527422788 700270285 651274763 472116406 921445573 820668279 520126543 571205380 37456992 138149181 64583710 180857297 977652301 951180513 169964030 587150623 468920993 428674207 309209613 753953073 46029321 7132329 886127186 33042627 597003652 371033789 377639009 988771038 48635792 800171025 682689646 935686253 220810035 874853641 522228951 612701518 158396009 423140007 713024471 78206126 492005327 873669783 717173820 977887754 811047907 878873379 404365543 17801750 134487760 576526465 568693868 176580044 371139048 336511330 331294328 787203050 337465323 154010881 916827946 658103692 53410141 337585083 706555077 706890073 45959423 761973115 714092991 724451648 653330043 292714631 669034717 196175114 416295620 994497506 651967419 35867521 737484620 584103761 796451037 541384861 355548003 970021538 931354760 341210264 737209816 374328817 254478061 703244742 289558741 27278645 405989812 661365164 994415228 5010681 148422820 960212692 948187651 922290570 847870412 940835681 13680553 239578807 230770843 892456079 66943941 564727215 111005148 915109512 24871961 654379079 296999531 636478214 808675652 323287884 23377048 27488962 687680816 924158107 930175771 943349971 109664154 507667814 539804470 665113423 98054488 582083936 533192833 801786958 328480289 363311389 91005798 931642626 893337580 687405766 446087721 796359018 49902712 434690514 732641398 586906010 472328827 948862579 706979944 354335586 207877283 910536234 526108296 269328885 878635589 893616554 774291899 6390894 295961906 60013633 630226329 709758327 878954073 39096579 396895998 43872488 865766256 358528829 587529672 721046041 430212478 523795376 856559360 126089797 439865645 878195310 606299207 376949314 525270764 591877315 574081442 757650997 803939565 589094035 944056307 456740577 950515238 844202481 628990865 152735286 145015066 801902993 219839755 545831530 729341949 623693659 562843228 837618761 532638364 459736640 557043579 112289810 995486496 980995000 607433495 690379231 384786823 530822849 735208579 991609973 191271802 931512266 198648201 923623535 359730670 197611886 935714239 39404941 75218054 322510761 287289576 499002741 84258802 202314510 866027996 186566487 512842964 542010693 658523286 168696654 243760108 733362079 35847458 575784079 196672647 310661804 471848075 915768671 370357325 152788103 56332511 598728900 755200978 930490939 514936524 465312069 437695033 1910028 304755407 635794142 128083622 442843687 271387062 414193160 323465322 507962238 785357903 468738392 537619191 292353548 325820953 495246970 820758832 730040827 320316420 775410673 855575277 580320406 482527584 79183860 624266991 679709066 652326909 387918563 446061248 529905243 241283823 414086421 69196459 18338008 494753713 729514199 467581650 606581832 381472621 938969175 570879464 100051722 208702899 361629082 548303838 219598499 509629617 249886905 93586936 341186778 496407282 792759979 300918955 306754494 615800262 342797728 781126288 930447184 777399072 432975317 250992578 876605637 436764791 459507135 637887417 607673359 385603813 109441801 701305546 329380138 65451944 642297974 587349360 371326696 207379347 927848552 980021825 169548739 566656488 970404938 532062613 871786049 925722853 927158978 4586749 389408583 988334879 476004968 13477654 590305583 522122657 308580154 705519915 498031095 430394857 48624342 454926384 48900535 622263748 370063743 247960393 530300688 626177890 603070767 381258021 387412617 515709478 162136113 69614443 434417969 832467464 853973027 236061066 937219945 726642699 249776209 729257398 464372085 580251121 241203321 807588214 517130680 970124151 528718574 160479151 813619145 866740567 891540334 103006744 379143289 168806722 751805085 231109644 967444896 452689521 216524353 912243724 335141006 851806459 258615879 138496972 578652253 658752249 112416327 226425248 653139680 183245716 845478866 307901891 870952815 549865166 71389101 150692443 576577436 182747301 196809315 961488398 89863981 371519965 130509754 992436323 952386940 941611382 850286046 316354996 733267207 895887461 633524266 700462339 942740237 995240032 706550176 924709053 886609942 208016744 924230577 699509495 916536499 890045275 620200996 213640048 127121654 846010493 718545736 785456002 59656569 553725510 922523309 403670357 936545484 453885772 81409789 30961456 482251266 298824463 662661054 951278811 994408039 272179181 68065380 661500615 384927472 645322584 605370826 877434780 904962200 73754869 208174486 788561177 138130855 36770172 301844024 43124750 852051710 53616377 203657577 447339230 418590067 345181083 485058524 891496486 427686691 538955177 314826693 800238439 290749242 602164762 949673139 745282706 211637559 108233695 884151363 802921609 409699638 556881022 247174156 813337346 258864158 561132733 7807829 256946788 76511987 896547905 110954715 826343839 656066611 837514643 114068950 336616046 108841573 898216233 523528198 237215413 216028952 154081232 689953185 414705666 49626206 402751968 876274273 660110328 996578036 917393291 794715492 426127043 596170855 546077700 678799931 765402489 212386921 423344017 57054727 747862299 672867473 182031197 149880758 277804240 930686452 371614911 922707105 565535820 432923546 163559169 654583862 322366109 338770171 38189278 159463821 968133009 191635620 268387611 189070161 80523272 598850421 562913469 476007450 227391199 463607668 426977528 776452656 448609118 147826205 755647848 99389003 818291389 335984418 264742713 73396763 158376949 319441048 546249970 278443597 216475387 634828485 871819253 12457099 884171559 422528903 487742241 769447743 417931960 156351132 354249894 71633262 731862947 469342710 492910531 682848541 925022800 714742740 941658146 464552660 187121872 682003002 301824298 803045038 602322419 514634135 487705995 646217961 215992358 951114240 232790796 995581800 980980368 613957775 466606230 206780983 355926496 551508598 212681855 632633756 46547979 76942414 452548454 116260503 143459065 164466667 602516633 466370599 848988383 847698983 237829721 245766870 995975912 36719604 510933652 567094324 24572737 517322981 537676216 223294982 529136145 893301154 719669716 183287294 225825473 548775574 886384158 545876541 991119593 103678742 194972033 828997958 581188593 535857636 791094767 817999902 849392000 593144242 736546659 70812469 483351452 196344427 39108775 289136820 794504689 625300064 284134525 975230162 77884300 731624357 943139431 918637108 47014246 369887560 334136157 381415492 95356621 340241655 763854397 583955292 859522200 247225222 738874885 711790568 140905343 452275162 242392936 131298837 993198417 936020138 450658131 295747424 463758744 140027201 454635105 990485641 330589653 715653151 662582096 527736664 126550294 307034801 263895376 736879532 521603337 225898086 538746198 92407896 143765699 661381232 793906538 932269471 402600786 89294159 456412500 448273387 499556833 555197151 103650512 174401831 358410944 738396687 143049268 248506264 46840581 852796269 316566158 678685916 360191046 260383145 849551574 220357167 652091689 981291827 9693311 234487361 1737538 866708092 737734576 884948245 583865198 940788126 421289824 389485036 324169189 724038851 367908922 720866325 513329607 587240089 243398500 405482369 999369939 165347587 781407830 170530174 97633237 323511470 586425429 119762025 921480868 635070344 866469610 490456831 596813731 297614069 11492099 107376532 237074010 393525485 138230633 236518737 336253127 642329738 124647168 904721045 852146238 185662405 417914147 503839774 684663832 605070025 411835373 433311992 997395346 776461007 27391287 133299337 312013517 214383769 578523172 315287253 312114439 93797560 197097640 110400128 329999973 191257493 899666690 372582174 902521710 983204168 590333153 131230880 125259037 597933970 232077002 105066225 486129243 529434327 952604282 660176391 245045218 143219117 116000249 923179233 998200268 530815755 569089482 238155472 224595790 855493555 77402240 423939275 636417886 645731022 139064950 328667427 813541047 735535534 383829610 779976673 625346498 420756911 332826812 154803345 299123324 499724957 540247763 466311145 456716056 16899751 994543858 890771089 197540720 933515905 205843577 445041441 896736851 473664052 337498655 185121865 943556016 722804501 345101862 711049727 316532116 365425493 551593557 974304860 42994136 979940364 107562480 29584543 228026305 978851433 849288933 161446182 388190216 389121285 774587076 901771488 825868565 696721788 867358272 792460326 759438961 96527073 271595514 990301404 777092600 932816156 631906800 910196006 641626195 422746125 551867365 239911186 715513330 971992215 41422152 834618113 178574772 139431975 941389176 908331034 257944060 931954381 143829040 194938599 245954909 667340605 521339697 867574695 97031719 467454104 452069127 843669123 361208036 722277188 384866456 774519713 187368613 442152133 746031945 460243026 815376472 431206525 825540380 902496198 746114221 941880908 864622576 454959368 288146516 54583852 898321141 14813743 882299696 839052616 224303568 400207800 14931543 990292847 346983184 384905464 631170315 488448876 871832189 126178464 328044861 219230123 33519881 432470509 561447036 113229177 375732917 911549724 428176354 15538000 449300560 551786445 494082418 744019543 527045177 885320694 811944767 133884069 147745290 286507551 185858037 30252297 867198223 523263246 114343997 692720954 215640552 251643384 679274886 924553444 61858745 588096989 838363871 938258076 243193145 605526171 88040651 192799915 589738868 239510429 598845215 492060647 400249259 971004749 583408202 525375020 21980610 22392626 908764695 165410110 321089182 658955951 276578379 924530921 170506463 310775266 2154676 903654341 421264123 249965009 44662085 686372407 385725470 925400690 894628864 591358342 844321342 502468184 355191263 140451538 13393040 332231112 253869210 783185805 304609577 784464590 388788310 122743484 258699179 635203693 327315221 215973363 275852 188449697 493290797 696316303 239813660 68395898 706441016 708170730 319113563 679211959 620836865 732466560 281360615 383130710 671936719 12093425 727438092 989183888 917591521 981029929 693956439 318903679 928843160 743940743 105409931 430725031 990207020 663308202 350603744 12632365 854489611 284158868 951960034 969122742 489641948 993533108 892759782 897254797 421982833 886730174 306150922 696130125 965461614 292050423 492474568 66214886 91907713 898552731 223623253 489472881 636595251 90036485 693251189 761537025 799675387 929298356 391310747 449756038 601818358 927448272 989728190 603880701 927141498 560751216 391514807 854245705 927178791 808526643 450022346 894775200 927920018 121844395 410801333 864540337 326304031 118699818 668390064 41430871 964630878 622759933 787250010 189501170 107792727 861291738 53871561 155807379 369107750 66226591 473406581 341427933 838487015 909969491 583002395 226257040 787499525 932974697 355789456 259002567 524337917 781188349 926779328 740305450 313775583 816378741 636244957 332052314 344189039 389936382 783624370 31110960 188985988 289363285 392909102 258414879 603873200 710373545 477867108 956482178 88884185 65276324 806219286 122956303 614648617 604374359 762094115 850988773 321720309 570518789 568973294 783068034 441182959 94942292 544367252 262664543 723404838 195512368 312358734 598635929 978181902 963171229 469339458 708312084 605489586 409536312 694383443 470739668 958328055 62203751 585962500 114389468 133293456 662093548 703742002 317007700 706655567 693644253 963752443 810838357 268668142 348200610 312328857 334982428 462832733 167571407 890138272 933005470 738248023 420139137 117515257 599210869 688824660 663051988 727945184 521664644 87753972 264613646 193015587 5368591 737850189 834267274 167667800 566489101 55408845 962385373 650611314 774570152 540972303 56203470 85823092 845086923 222491772 951754637 634202319 430062188 942756994 940179413 87060719 46349069 98610926 528247163 621629515 465370501 386279525 992413367 82990377 771811802 837936898 111135875 146227796 644340572 123399445 150595535 324353896 396560517 479793816 345581046 816714539 514210049 69518805 55365927 590292785 404851819 840561001 699085750 509529273 874611771 833574034 201766017 881209004 252809150 844295702 63894321 9264705 142492672 605095337 480886195 21764964 109312647 130017588 268802796 851048918 57118491 788998189 180867749 381619385 606572669 842563921 145288493 242040390 470560256 915451383 455473746 150165571 587146611 818487357 531905211 314900036 15597303 9635067 692898875 770165902 288114903 919918997 772029139 145839380 252965411 823928646 195910626 78025851 488138108 328660412 162764523 217524768 337779186 800510148 842499236 359352388 932603325 288724435 896283130 153141395 477035774 359619060 536070513 381749649 694973440 104127105 195295 36984472 616425201 279136973 991296601 759486233 321025583 343019907 964415974 213643986 701685496 136370755 958931916 561093169 842980461 664946688 698511624 563497013 402015818 560367826 867625637 627478280 539047551 929464652 468368004 380133659 216783169 74401846 940480643 143923289 445721581 740894814 553597187 57536590 395166549 889594514 646827284 219800537 50571844 219373713 96704888 88280596 564704687 152600164 812768165 884749040 433343904 239680900 563490985 368099056 126653577 897085949 574085394 307768493 100151569 751487655 662388579 414502828 273460051 712433227 218156753 379931682 4317949 53659455 24247551 541131738 157751651 461118314 348847132 585795223 992087026 982757048 815517626 3869880 840618515 488865595 366966578 758134812 138347882 894593902 736395785 405420158 600720812 60330451 999045049 845034711 813407345 106058536 393910928 752616346 161398296 75248017 870939311 554218300 920072113 897743596 24615255 897123487 667665421 541116846 526281301 450822832 555410173 913112928 290261266 324245441 356941335 299064341 779460948 658873888 860547304 326615469 320217607 331475862 185671713 245869722 839132461 792547080 799558942 592934782 866850680 188907405 504000881 29721977 906149810 577168115 956080530 833905653 995696228 13524956 39486892 330835260 655534832 83212447 416641015 563492149 33412400 246046439 288504390 881259865 381672383 378426554 272317279 938286819 817840729 245736001 733920753 786068833 184336007 726137982 492147339 783961781 870237283 494453983 545839295 948222325 805314691 649607638 785854190 346015674 74486283 821268602 48640108 669809401 508779156 568768218 711776050 724534353 923600322 587969946 953918264 834938338 20818826 326659053 128186344 836310973 910646972 584690159 173344319 683291644 257115531 25131568 769391177 146866554 310115926 207683834 435697603 556154485 694839482 244334133 863846812 89436169 492078684 146263010 942999869 905593712 663576070 983512324 710976917 734843349 666609296 885616880 558707858 81966160 538161589 122137484 612699209 469723811 656980077 897302518 256863176 912965124 522807762 287040566 129930205 132192685 243254824 259974990 268189843 202164772 232475643 341481458 588281500 605194026 545914507 787861407 264415357 353445678 276044702 678631502 614623001 134835733 889628160 341408575 597407039 661272350 302748577 757173039 601340512 835737284 214378194 214672071 842609021 246628056 506525886 556494267 498012578 487430022 658085464 534794384 418446818 271602323 969144195 44658512 407250877 20538552 578868050 787844671 751270003 244544924 233890028 39222260 675165091 223240321 659147684 359416508 467535403 943149353 172277348 652150984 544667925 257595127 416964703 383008435 618108483 382978288 542227120 843682336 677642579 418908097 954940557 679331181 513015433 656102909 187486054 361393427 433833559 880638796 340840201 110201381 793866297 416066301 955387304 720609524 465517465 230048090 306370096 172115637 503465154 756726845 63236932 730973434 744503456 199001148 488200881 691566313 612649346 701314146 930953084 3522994 610824771 507059306 607625110 364780482 567169152 248186787 312067488 428222387 72115308 246355361 262495976 736321227 856819615 111994362 762328518 465582784 146021895 596262917 910921196 223178380 300685800 327089942 992568357 602241319 839644117 647556669 452675308 733478960 636107499 99910187 78892636 297810746 892684489 165276848 61055637 981819237 516711703 426761710 799209295 743303754 727706513 727541382 664704995 532202038 616720716 416296713 124817127 572683069 12169872 778995411 786654706 14173613 882511141 491720928 309632399 143287467 55648448 834036060 719021337 976152681 19214373 570134360 865491863 618306820 179614867 548978454 272410628 158539853 750773145 680847661 906526659 150067616 287411115 418575585 631196770 889254066 145942353 932222608 70649142 177941918 614420703 426404989 901413911 641622477 512738457 907573773 147991247 522148272 197919310 984438438 278303420 700795287 948067222 763234022 192233488 191581012 558524454 512000608 300978073 904588309 49823340 41860786 115073698 171516997 605685861 527235624 908500357 561640741 515402056 7787279 340333720 909160391 692134072 158050202 134228186 157466512 971739203 84030268 469213212 193933290 711157988 59049937 295133483 24532319 318156354 39403674 389709619 95438671 631147404 243044117 777817926 68367178 911780773 695165072 851694812 315553721 199281919 529764874 97430316 886505199 103672147 262819207 839166093 815685548 345447936 744552776 443650424 468498414 527188863 392687645 488136928 241375743 378643492 540096931 230623627 339499394 621422538 913428720 433298985 734418806 371088460 766229684 645565828 12694913 350269542 725659810 262153679 445835902 474851405 405795762 145085639 752587806 706524702 428775672 758943345 574931324 379740696 489353623 176345083 320600084 800015048 110201501 741182824 549527155 981086523 312512881 443938883 611324434 604075002 309768323 808988750 917538255 851975494 870572210 879586219 449710980 359325874 91312369 971073975 906378588 149207953 328058996 25881303 902723768 340634418 140266414 794093223 530049200 800203353 874600260 943050630 648356502 736427677 727189029 362606028 215634987 603032786 381502953 608142559 868049470 125450181 966358122 494321212 28518288 135163578 489052233 801087868 570984992 671838266 780962520 348127081 202154609 421287358 990086110 397184899 796082748 939908280 682962288 948860011 487539731 125431398 702921589 907777899 339635288 892178776 759434942 309162290 250428999 799161644 49041953 883805002 675266616 830048971 277204486 507327984 575655526 43311439 587274822 613800265 528511469 791604546 936128957 461673775 310431422 29310147 784983597 721206837 236507039 864848827 910911551 249616663 627693868 955688019 773556875 902953554 528238420 20710688 875768490 300215737 548453276 863426211 960597717 755269191 836918106 610825866 991742405 498737860 413607007 771629001 674487663 374644892 282550013 24578075 551506613 778721459 363109605 808243207 557106426 796676189 263992924 873646398 910760858 383024990 731321486 252847667 549087854 954557371 772979350 345950804 784850988 323098799 130495961 645088802 107943545 70159590 951453115 932583406 927762243 267671646 193158896 571741607 277342229 964661774 155025674 98106339 995218175 628138943 114497806 519932036 903156451 890113452 173580277 723255315 132245836 475301807 283771139 669519307 66430717 71679267 669365637 291177426 393919527 584963416 411171326 558926062 543363471 656135755 431919863 376584697 124042490 750709590 76494526 485191704 728526959 978383280 481465636 368234326 671219185 134046208 751425997 916002348 355584812 259790459 440092453 913964857 782956442 205591787 608565780 189272077 241926059 323546792 968424760 267272019 240764173 199918929 402197478 899487253 479619352 873676586 277292659 244273102 236439725 599248375 577626548 790092190 98548143 808402669 310736357 761355793 661146678 765171661 437200542 19343316 599764204 571942920 556208179 206009339 827341461 557641803 866358619 943195784 371545584 112106526 514773318 622505190 499912916 35594842 817694105 579943387 983712152 732228736 450944338 793379389 915147357 762794062 323823017 761877631 107984742 370940413 928656717 970699972 21171541 887580091 268251153 724913292 933910516 934835109 291560177 600296534 280672001 303477889 503060973 721517870 888982338 723829326 90651791 116210254 144384261 999018648 444265726 54232636 3101701 792971055 582298983 499599709 371588439 944907667 247217957 189444848 150364517 986511242 740660151 401893268 360307923 408823735 709773020 182660072 599979274 496015584 879271705 686862403 301733611 629625418 355942357 21839543 7060721 83592947 150989584 966963884 449950814 620080768 252683318 142780146 929850056 264090724 828892207 228029511 414162941 829767502 221741152 40078898 119266561 104957465 755641602 751614302 249116704 930460046 88781534 522742791 333744871 445934525 5400155 862230508 516595459 819815995 61561823 640915395 842981724 905880818 152912766 7385035 339123819 280309558 376983763 82008371 975914819 881702200 149289346 853698987 439878197 164067097 410685847 804254810 507314155 969053530 936534863 73866710 105331306 574428568 472991071 317819696 410255130 362428690 835224263 902287613 416912061 913318611 354215217 106607119 370834552 473751607 582967012 114047629 69059534 425562369 405325089 241058996 528355185 925366399 847872982 693280285 362479316 812164654 802871399 984907407 631123734 207652920 970892892 235287750 656081214 778163894 874950133 188738883 689975838 488021321 641350837 754981035 989260880 83322692 136880739 773624212 262197509 35268289 457366968 908737894 180598709 831882697 437445695 978657172 478250976 10333386 380366035 426338083 3685755 139360066 805899089 138856060 71214989 928123776 916200908 516916566 946777606 314549296 211236011 226615387 692880887 940368196 885030887 306457303 581147193 567059046 340001562 822221231 618690082 564633840 475464671 116779959 89646997 670105952 962344489 516164611 87917271 534182656 946574000 516073378 382975593 381756664 976103929 731553799 339491813 560436379 731423498 582456321 496636942 635618023 672895780 215764049 357333273 192668899 181888834 158802879 91958458 721891793 618706746 415747642 199632360 457274189 995716250 356096815 167232412 341254048 307414954 497711929 39432641 567295321 823922539 914317953 643026427 295038380 703623924 815573659 818792762 350385559 202899093 564657156 964569800 283648264 598845124 6746757 102896622 799102490 288228524 41500192 689945490 997719964 844773504 409516600 632779566 255386103 689783400 77819305 258212329 690509608 635581203 267249267 616021359 464633485 328470904 276698952 396056463 847193675 197367137 775328286 387733400 983852155 592171893 92517574 954353732 84790024 850497606 167382195 690614781 509526545 635453264 111251451 304394588 47881052 437210528 701990984 759347335 540210269 782117144 511214887 281082300 790433847 968413745 542190552 888532543 708409875 134836732 746935510 52358265 415928385 732608765 797120685 206591648 152329576 801353818 959267594 143716751 275312684 927492855 468240551 973198547 220477085 293939104 814840171 252475464 751914426 522356678 146245813 320665198 471395301 293729789 60755273 954309479 103461952 946252972 494996887 490504820 117087074 904802387 896911217 949947256 338436337 387509864 809012273 512684418 78184529 245364403 2041723 661387023 675190316 877039861 215072274 160555773 834615137 446931389 23395139 648764188 341172789 100815491 382986171 386695000 687144510 407735678 652626968 675469642 355032298 877109593 177239158 74104522 321896379 695450792 16646852 396560015 492857309 471187885 514703058 648310089 286933230 371227910 575817140 496151848 352462892 953341037 991737846 267159862 468184863 283865300 318773566 149304762 832541207 337131666 422438641 990338084 854251268 28543560 373158694 600753474 682989654 781278336 518508731 93193063 728688323 678319923 913352393 982429851 366342093 76264084 898750000 338375252 131976095 932983178 723623682 863802952 561872080 579993772 870336140 825181117 510016003 89567253 214326761 794575208 494408519 924828853 195116878 207663676 100555954 595431838 597385408 485613284 448107183 714783393 910575581 518364559 895195195 364814319 87918129 634819604 837666852 44460641 771503334 6911241 489239909 506528244 519151342 681132188 28966005 81527037 63456054 701591169 625098670 510090469 583008143 802172708 772390847 315435428 322292052 157263889 960115265 920343805 934382362 225572915 237461970 818983737 21324023 231284855 834114109 754183117 508571361 432836973 19261169 257534597 758387569 733856484 8671195 336207170 292735852 864114844 595444420 894044451 960228872 737993614 149793395 451468488 698731776 348135391 510672661 128656634 338558885 447573427 75792439 468500519 362910332 143752705 255083989 864712169 875106010 282177203 446971955 275710180 678214076 880516340 229274114 421992094 58436755 808567802 935201937 409396168 247829878 366363990 613726303 66117325 181910079 399618205 63111676 298573710 721033850 770777554 110584818 422919869 328907504 35538734 431564864 442040370 980149876 913002828 90053081 369197258 868251170 915200756 558352597 665388659 50413661 776979810 845815717 567003719 742565254 584069434 267348974 944010910 930731918 55301697 677824164 453041978 134150212 306827215 463715377 547426851 835798152 413574234 49439799 560361671 569276769 819036068 917561547 423756482 87576728 172263157 847160473 285940845 899963398 202356446 923251259 900596782 619029888 21438106 3743517 623802418 585917029 170450168 542410849 457277163 800432303 742491407 623306445 269081269 120247980 422911673 46937226 860662899 882172987 82099124 809588333 62400217 818001798 26000715 742263251 239346492 24010162 360210198 917571019 355397576 231235340 363900685 664782743 800662741 445996510 944816645 819345668 521465497 273182097 467149410 667210780 194311135 292323370 805049198 102922054 937563809 232441621 813619301 627331813 477048839 173148018 384140643 42109862 71579653 281526454 110272549 314592809 521274637 177471214 191758135 782755195 307063098 640795366 377176949 665288331 430709388 952632088 153851815 16759567 296522894 377599007 124393231 31416032 581106343 139564269 390261268 214657203 372871216 166689411 937862085 176625042 961343025 259665384 997082172 312765526 285543085 899345401 984587383 965255906 384911556 498991141 988037084 844543500 659981283 219670689 966283762 365520152 579992073 547509526 756169089 187968183 126161705 717147687 604265941 957170675 785349612 144644124 208741135 65300844 538206095 251302355 811023003 421467125 791155620 478078693 45392289 789569757 215671310 94808085 381438896 974397738 716646697 775376066 422497235 19358552 397690373 589347216 22381441 835725053 788943979 592006806 383900472 185316542 842487413 663447324 948398489 741403685 568225916 889484220 228936659 845602072 543293556 555438664 143749975 199162506 385763390 849840921 465688974 233035354 92641727 109586334 114023534 934429218 335453216 846906168 688081925 800246478 297885825 302756940 979920175 128754579 356812041 238993529 721729970 850229219 883638223 595629583 501934922 62457489 838281357 872067301 910330779 476812493 770318380 251599809 410210401 207451293 497670297 131438317 202949035 977390403 364667400 24339180 563532950 881401032 239339346 927699766 263093335 877810557 415832581 798391796 865889342 437802215 427576841 654227389 515925794 717990440 9557409 976143732 425584766 303815398 920944398 72928926 56998446 904982307 796394500 213871244 411202034 511959936 897796044 210317910 944765571 443859772 382095386 644559844 701298787 710595350 800931222 782294402 177462701 12158377 639289118 144438244 227680020 94115045 119199641 113842300 784721700 497910383 733799651 531471621 16513216 137648699 492008380 156668473 895919941 546376783 367164852 724744914 426131463 524253607 848300144 791496118 651244742 291758050 730167603 34403782 604301071 974726103 156437536 211627836 614486254 496876498 816299553 886793785 964328805 715910461 554899594 148323381 707912450 968577672 932769337 864755656 10775242 748387431 454350090 204880855 564211246 850066443 407483464 536997641 104630886 459167263 362608776 32811008 128788803 596101694 674665748 732535743 94019210 553873101 549648148 205073560 470640079 244090421 874031955 141329266 773582102 975834869 820939129 73492681 936728344 769797653 60293177 405136646 871437168 248513006 345585926 874473773 11513481 161859786 126575906 937475069 665605262 7039357 864461648 649144358 683152236 847669824 885676338 6733228 385852473 694182421 267319118 382451599 650848534 515416804 830757416 295942536 179401160 866358580 107540968 55332329 197043782 362920997 467242850 807536511 327235929 237413671 161543217 506994776 207538270 733757296 987194146 849219512 170254152 728455431 603829886 647814098 525501043 194097691 703918331 790380284 141902709 412071071 677903434 274881763 813465800 183602848 974835649 980547324 838662982 29264787 975245026 446096027 683791309 763616713 216962059 441981411 120846624 937228281 910485955 200084325 80530380 673815390 287701308 7365156 948980920 182517337 632531599 338523725 604246766 15377217 874727251 374994398 986111366 306920879 562432716 371458561 370222424 472113765 35479160 958840989 512635674 51169879 332726205 604431589 634390327 410155330 667948849 160137073 852825498 667842589 648983149 665166767 214649649 977844387 859251067 947759137 953633722 684827994 453655463 381777101 217349313 3717202 858849236 355591203 171455655 501992455 784764226 54664205 111740516 345200148 383974448 409335169 714630808 714965961 40023041 842735475 743871316 905832171 282332307 426349211 271265778 263087323 961879703 989416910 698389228 218399579 891869515 467204849 460620074 364435977 279556290 268173423 241018986 66527610 335806949 602950155 226595268 337819834 939514321 608406168 337900920 383885373 987214696 2206838 538520353 948026483 714253109 912335696 192370563 913426862 280785721 15611140 30757073 754954256 908663838 704220891 239455682 217536040 933364017 759889971 280847458 257865250 513910263 240870914 218190468 835078553 968703491 367505745 289196934 865793239 17296733 151366183 961643552 499620190 798356206 267822474 584705373 272752386 522417653 577277387 333312919 552289664 507098026 176071227 468642463 658732544 432342769 538828823 126672992 35150647 369810636 854907016 602687137 311903374 908350549 343784590 600507281 82714286 752070306 606947987 79910804 684846893 258460447 858554209 756597273 914413154 557809505 30582201 193716713 508558354 316143220 434187042 864822741 213749672 815631728 539213300 276999484 489689294 166049598 231420074 726294886 699657156 877654028 620931462 924133932 445886609 60799403 343836018 813502129 208160594 583914794 212770130 948818455 721291740 87011683 721817657 212949586 708821683 65040178 865214833 794825693 191440604 729721595 420504912 557002173 629191682 45372391 884545946 64254808 562425829 621001346 925569924 939475316 847992657 984568951 387587684 815661669 161451743 431511693 901527166 975808374 173412763 920932118 787209278 188275108 40471521 898540336 864828367 350565891 599929491 750187028 801895100 585803278 173408102 246651906 632647884 245103980 115285756 499821156 835701029 685165582 242499249 698191380 278963978 514402558 834879562 664061243 221665187 106382091 873450741 656773447 901191704 216906068 687244389 436145004 273461305 86663435 613630663 810713710 30882494 781744301 913152591 792193095 828374911 714380615 884470868 505831957 116339482 691425096 910547630 191826534 304196130 278666832 267766590 186301087 449577145 262399170 998418350 209458399 498791746 131372442 844130874 851448439 455537193 77323927 164415330 616058434 394919658 59261286 839269640 761878459 544746079 522674000 547721432 707524567 768168649 780739837 326555356 609095699 655835270 264955907 693915924 123874326 282831527 531852081 419662400 211301317 465621689 881287965 599274187 31922623 837074480 825847687 193218904 174269866 123908486 402409467 452941117 437349371 294808642 45784784 331461391 514188623 658954774 994923811 16399309 451318678 731791405 114778255 746688650 703123796 856369065 624503426 306217895 199893259 473468066 718300344 157325028 284759246 607886204 253543938 431699632 179490237 228416320 377445854 611636473 714885429 646266217 157848699 172885141 203912092 507609972 988507920 114612945 242028952 246200750 248238849 709823985 697279831 32768456 471625029 227101545 983988388 488921821 737163969 8051357 32190081 889221950 371822401 278138722 110632852 778438759 921403131 786285427 697339663 274928648 195113532 477409062 334048863 962279469 698396962 445817604 183958501 705481609 711522367 381950793 677270670 439794973 797764433 198849326 848634759 532226662 570254645 192704669 201518383 761554906 467290621 392299384 325040160 114922182 355880121 860145397 9919281 69331469 575899399 661315913 44061751 63410856 647209964 425944238 383118760 325248043 719593010 354556855 781813491 418550587 588808617 343789211 85691293 186262257 766612756 34049092 502975631 80241417 277042056 985206726 45222633 617889044 347447615 129148146 492007430 940456031 609904173 822795456 619133665 25733022 552695888 688885524 175153315 456324733 564351256 198286207 969142430 834069003 157292950 35720039 652749725 334809784 400031925 357638322 368208949 744891844 431517283 181370321 785791268 626169312 349952273 447139332 263190289 314781447 793099343 505266287 681688631 404796009 801500298 170699720 438865160 588954046 403496429 463158327 229489067 728394804 385851778 983477340 480686216 491046089 998161461 817043723 971422063 715760157 975143925 16619212 563655297 488258156 58072733 249289632 246108776 428651651 266568271 394243336 385347653 836722867 662993433 79809386 459875830 609561012 149652016 780423315 900573252 239956479 946390619 371835681 894476102 702828284 893024845 970297750 955373834 905400762 981169123 215540006 678296229 642452968 463653274 581801021 102149998 546118393 492196712 210710331 610892044 635691097 728475644 2043127 609001283 639371835 533441830 620495757 619343605 252311928 13415277 720900536 84768319 475495714 104364106 948199997 103610471 156514830 941212815 534065244 628462672 529380427 659999459 483012924 927626898 758978890 755416107 877105468 974501894 454133924 871217823 674842152 515350575 364758575 426573519 162932958 269106927 596862051 791046116 123883508 726521246 898332803 25903217 203157408 373580274 794237089 290145332 837370016 379800566 633685831 991086950 204376480 316961131 934081343 85581694 170511216 603268914 713404038 102436474 19378307 278600838 555769156 881151760 998225840 225946908 69581884 570910175 350486383 345821686 956453409 284513644 283690270 234896444 685032922 465465536 531577148 448579228 693505020 104639404 362252835 37063888 929469402 589414741 372603541 550186331 933047406 652837599 834569901 113929575 527845269 509971480 936142192 415914930 339983063 124031956 590022048 717714091 221360401 884921678 24727206 459460339 353230492 575633409 876312317 532217657 401406422 486404649 363618398 387036605 329738441 473990763 693729253 395722673 554837109 544391038 23792176 270762959 642254978 979022571 519615120 500077940 779329224 74256473 250908204 494463008 706521874 997482112 781903658 170796586 935402299 786273173 863324067 40040933 832930888 285428131 664515030 801713626 358977366 562672330 993397138 538968852 562418481 573248713 709449655 663307656 941322687 980863800 71198970 812161873 133282476 901432277 604857400 839670836 314584790 467265457 983457233 818801966 272740216 121457741 202865972 70978395 436837540 384072901 265786110 380341434 998890358 551251634 537421610 779197951 875016365 671106637 664432386 949283033 870878236 753781620 689946313 73803938 390910626 368255159 491780221 472488904 944877438 628160822 821899022 285448782 505200854 9054006 372791670 766142912 376535872 808801827 409250781 273085132 534127382 911334738 742591469 103279173 139199111 691887342 305076396 625704982 319736483 626198110 980777675 79113869 748666107 45632365 95276481 439066109 904012294 370870973 892015647 690398038 581263637 285494689 901689129 590549782 899583682 241057416 758450349 854830193 397953063 310641618 671457910 361019755 424636911 40898982 965191830 536028646 580804550 98563867 572828383 292741854 149508128 68521258 214414330 440875473 696679657 167202367 103713886 386416065 95109087 863621283 180451225 203493605 757232020 55529987 530707325 362334902 733421268 940293505 755857226 864738310 6698005 493007787 953997029 257302509 838155585 829676621 476785780 133487227 777319834 773967173 315825002 945642139 625206427 638776015 933664268 431828098 802080704 558314404 698779306 389689838 630395072 898465801 733576294 960037984 748851020 813213889 245514801 312964790 577895835 83874594 392394780 747879847 364940313 261987011 187207187 438750767 132484199 45915172 467781299 586707433 668487868 953996684 712014312 258547770 515072982 254331380 310677015 957558958 391230593 890449286 658005536 599229817 578290024 456336428 314596484 387600644 483569446 511563049 807445268 681946694 116586416 993292615 988789096 833561200 980912272 742245705 169007871 300720245 798254077 191323211 763541892 384328092 464117199 826847726 923272480 881931621 41651395 306366607 903536171 212385327 766045650 938612470 458127778 58219954 648000830 85960763 537765383 390740543 786136915 252642928 926494886 1284511 946064810 546129443 257838057 484869384 786969401 461641367 627515004 262482028 766842832 10173791 586620143 124366525 45156403 368691455 652814718 636411200 912515053 171779015 551383145 956805594 143751652 611970838 74091052 532332412 11935292 185800183 352950650 731412542 338678900 548711720 714944087 306018583 928742685 501136975 729579706 320419497 241700855 300980512 477124220 733705883 817796917 541190521 366497388 491624301 796949665 369232614 579371812 734925922 687072967 493394181 249301254 553347878 444878054 927188345 841244604 558586906 35600394 538608740 498689918 155932901 196789690 336509605 755897352 594267592 639526709 988103487 770259234 706529335 47429977 280226103 111301823 938939205 973220338 86283377 811341702 202026302 276369864 151726060 206615750 287448541 145521193 794767345 828868209 860416074 661789303 968409625 119843653 289483274 367349188 176686223 831748177 163480472 373631684 630401109 830444370 589082123 246411374 402582114 404508759 490117821 466045139 639897621 554257898 646997501 74462165 211517062 278331042 661394179 732081213 252328190 546853120 823174800 666957831 165019301 983435220 674145463 933755490 194964511 752352611 979835236 148246123 243846261 676651145 955340535 794211088 533208459 480604156 365563883 419302639 836650637 155733951 841096314 858917278 953470898 869674720 957451002 605680796 607893568 965611231 34369654 716476061 488263628 714903147 260841217 459568069 310982374 624441142 687023017 631937231 643855408 79988543 915957831 412793744 577848976 812441347 685557804 771299677 242869425 770793163 119505563 646684392 147600968 695311247 734614775 843522860 695675122 354948493 937553588 298807224 342579981 532971301 737381417 953364591 20777147 848265655 21863674 480248688 996441969 692163013 482023190 816433042 133512048 161627300 210287636 178388598 703197732 888914034 364670578 194084408 167308478 308966070 808905072 479837834 426172889 686824555 956042341 911716341 525339342 639764156 793842935 651512383 53725317 428222837 475740594 949749565 438239897 631200092 548275376 145332724 614725964 370874939 503328613 81086846 221980090 132906007 330966366 761284009 731511032 59108126 894154319 666782122 616047495 954405404 650559243 469026950 726774808 306809145 717117562 364643024 991389399 961638086 421278654 859570185 124637553 700743164 634968849 413071882 978996642 448823032 26299112 254983201 612666795 138308902 918013553 466745531 959458514 386493889 846102267 612202009 369157185 427386938 139526866 612193473 516871746 178687430 433378646 893990846 584443032 739260678 995443200 645455633 916310383 797131422 950838114 683979828 742458887 310388336 634764255 337359008 804441850 836383780 907786920 407244719 788480629 473313497 160511010 606048884 31182494 927427249 689222921 567240485 964911224 101356404 627735924 190729673 826616212 872937698 546537932 832940525 247117051 552749153 761594805 872494201 531210642 508125300 624155892 932135067 740376136 238214394 266535401 672453806 255899836 907562519 785721309 779771978 973188266 709102861 90156603 455802959 954254610 570183040 781001839 319309223 582060487 46606974 766259290 841677581 260051279 693403005 150680008 636032101 200581935 652827198 153210731 136981452 884943244 339909237 621551487 122968971 412567948 556188378 621820482 920649105 765462701 593354530 721974665 122588619 50666644 195475699 146478792 633980105 822383148 695944694 237448757 311896505 640190939 155400879 866344786 527401052 985937646 168780018 759722778 302197274 272827852 299559630 656850227 492380165 705238132 820957714 104207893 662290699 839333273 203609978 696623179 624019113 14314597 903494144 527842742 344201699 23874465 520682946 708572074 867820133 772566278 719868400 956268198 826946408 618050197 764397495 324833862 678860181 443899815 199533446 987881923 697381051 112370624 998035451 832432712 817262780 760363246 29732798 542830770 251162334 245458461 450233902 576306592 736111996 229642250 613482647 499908769 848043331 170718606 270539593 531480046 232345514 270354920 940715515 712069254 283393539 812884020 451558459 405494274 930513075 470975780 524804842 518962331 794667044 563054024 752441865 643436777 134167867 412321780 618724372 727842767 326809561 278444578 154427236 850594355 107839481 973492816 776596870 493744141 677246551 419149173 200770216 93432865 812410338 340541066 33421532 732841179 54521274 155094353 587216030 291662420 213636174 686665891 56435971 640645139 270502612 646292838 588242370 810177749 617567078 960517196 457569577 707379441 547722242 139057227 364316134 731610839 668490078 583558503 265631468 668208304 671021059 591086394 76200687 868648017 810210292 938539682 660356200 262421953 990099157 244026688 391143830 729676334 681228834 773355528 397049576 803614946 836769774 642529521 77441310 455198032 508050683 323771425 420485035 67562887 717636728 26759990 739261014 622087857 944011946 949313639 586354727 991720513 800486604 39703202 256902332 511041487 195265397 326656974 193358069 259199707 890862042 929363700 977301187 649199485 258149882 264524937 769950954 959918576 303753735 145964155 235036807 517324960 88504709 255079074 518638524 742423163 325426990 449827750 980824634 309545942 843964573 448314570 305833712 746952706 872880354 52364929 775410375 698006412 242174604 112185706 592590358 718458765 557327402 499164321 853905957 92354476 221109881 8495362 855622500 821997016 915992027 270434903 177471372 792880140 97611542 133857002 769609223 843087959 907139898 250275542 16481921 846410007 726491659 315983031 893283645 398097315 265511277 747701402 580324153 172539530 252198445 719811397 852515588 344070629 734041088 896902507 341433866 180993546 896859885 742874650 824778564 822040324 165369439 117367944 992478342 745142889 255220950 549675575 899543109 114000977 832663585 509913341 680663381 751097836 4170182 759850657 939326035 527643315 377506440 759301565 582050600 289598993 821565419 876794566 887324011 891813382 828160558 326110661 674776381 204714491 686831453 464974456 112677869 440713296 343556066 18377116 284813228 62763655 515564253 643083672 218201036 643075843 275363592 288476471 610395446 793207303 475716960 652990785 908806505 566332450 926835742 993054586 731130245 916978008 923833347 217381153 946040805 563751502 684933101 118407162 83134821 227516732 708630091 299066758 534870551 977649052 589926982 83674711 610263751 822773293 406879265 897042301 364525419 132618382 691007719 906766752 527722174 557197726 844021435 125742331 296110555 988392620 578863861 765937132 876475741 272278648 784007184 538796630 76435108 766913007 319705052 81370309 739905727 565742114 441741662 828809509 224923411 387934690 924928524 830324032 223491962 531985552 613369609 401773652 987543995 213856862 932221580 902948550 561210417 244455556 457158790 871685164 710539021 807788006 662568753 974183864 521293611 5102314 684234137 879117208 619333779 829021722 382254401 343757798 79529538 509051770 953476060 762099662 455755886 601015246 552679585 269210468 678617056 177581577 727359056 344366240 360854035 242606773 21344459 290027934 855912326 881962912 686874971 10517722 215989228 653925066 520310575 909300567 127000426 224281208 40277426 541676014 252261077 168896217 738519289 944656606 270449675 460242191 243566198 820654166 842710160 690892021 563249155 322509836 372295180 554068400 712225111 214676477 704409132 988381443 709978252 50364560 915734105 33353347 318339197 363022596 936165535 742583345 7317060 321799907 640209061 335382290 143129434 225841094 802367190 898334463 436102492 451276736 595703288 600310066 76205156 791628592 922990859 138991186 586338386 50423236 170450057 689426588 441483599 809752679 893677857 56493087 486734989 910877262 707793652 926935080 244155942 712331907 962198322 303389106 663393252 604268899 371829196 4506013 390480655 930487886 948416950 536362738 881777899 847458421 961871513 519388197 827397362 315920311 317875317 564889789 271911593 12062067 720288780 794936213 688469097 854356269 703574813 938054220 300771857 306412423 280347843 94742722 130605666 671168023 509182505 140856788 825365725 953880588 616988766 935731979 764660783 632184725 34784670 465594008 826547025 100692144 56941266 231123845 601880655 731103937 412480639 796689409 393424540 270787501 904696696 223128858 814511941 50074786 808461445 497424261 256154909 435661017 113511338 732839391 751537029 278235908 479780763 314728398 727732906 766558605 689892938 312727983 413382420 928587982 612914403 397859338 2282155 897412426 485791751 503855557 661841992 416201245 713860629 486790145 510819851 441238683 396472923 280162791 276407366 814139230 845749258 583358784 413159399 521240555 617612745 572518638 866152333 741279849 418841267 470920322 161099874 394673021 577446916 508173619 398682780 191296973 860887147 427760281 91300240 506305914 923181905 834868013 7599809 136121875 102962930 178002237 269243453 70012495 760879952 7260110 904758971 210465276 551341899 759285508 719405535 114571938 385931921 831823159 788120726 630599571 974144189 210114089 506423692 136316964 102421250 789390509 288674642 66217 476407997 492883627 887928736 263133971 634358863 176122227 287602101 302972039 435573379 28010605 446374054 955975682 103181054 769244753 637982393 160853406 265023066 625988228 34750690 254200889 31199786 246583578 467757333 962294879 153372751 708374731 390582556 26818318 821567505 840328669 161802861 367288021 584876631 715311752 164250318 506423578 217208994 760195113 374425400 806774398 866988738 297043459 2055198 635426689 779625809 616613924 179604975 481562677 194104913 405280546 258932501 827146317 843547361 255252179 338246602 609223438 229558126 127840600 621594437 292903273 979899999 461402306 639440426 972701163 894562755 295203308 764815166 177107035 330529662 562743678 831732327 500472949 383970411 541754490 554557417 429034950 600242360 120172122 135777026 118872149 588639666 769491857 872469431 164481973 30556582 298897415 379129589 433787498 463567323 610281252 326746794 19653491 148281579 177427478 298700466 693793131 700066957 134813416 673211584 673721614 834367602 812566617 288618156 8189700 495783177 706488688 642174785 58822600 389227720 878884273 685727802 367596492 976317945 466520353 424645185 608511543 894568405 216926265 538052920 697686711 224738154 878212345 602644220 790541254 249409756 493879 645500925 678942391 279366423 215194463 727823431 572526790 984540825 604426727 820671923 185901206 973056097 715811508 875691893 1815799 280040920 208910489 916485473 193982938 351978575 533359363 494862105 587580533 981871289 419919987 685323897 700789510 480630620 757456065 19551600 595166397 316508264 634827357 896902693 293278785 686781093 50653827 344148466 933640385 943439320 522062798 146748716 721641604 113071078 974879917 738262967 142495336 384846184 834525709 610744733 965740487 248808162 25635353 279367014 251556336 509892011 754903214 16465534 512644312 587423694 856962668 702345495 196991067 179908420 104055178 597636321 217306860 968661701 880536911 530591510 731732268 764523651 612780209 442245176 859304631 209000064 472088894 260886543 288013654 608314437 155664863 442579643 307228758 797704798 555442302 422123281 626162247 372956018 562811258 175558206 805153128 648777581 760362997 80964279 305341723 311957276 511939411 826820896 411175758 128159011 512215515 273168449 515678529 231235973 505326910 570622255 412961220 675793101 33778876 656034551 838901338 980866854 770849258 372805748 290763265 155023019 638423290 710748285 460018991 306784281 283960156 164679585 290526928 590957591 678721466 867794000 369256081 821171657 745331930 807027175 412293599 530967569 791877137 113050511 846188587 177962515 832216583 39140509 405792973 429614620 12444 235132719 853359283 525595456 505327873 537184704 631248189 737540480 762953920 475505150 383351495 442597529 42293883 653892044 372581255 929683611 969791334 311524138 71271558 247946260 23409233 591518968 640824956 123895989 704935092 674276981 861748488 120412912 312214814 616188300 925458431 907765409 417691351 245247814 825606970 811224248 858845830 936713222 628819266 5563721 628777215 381628073 243013701 545717679 715745283 885944312 907521512 805126877 562661748 187634588 330628733 299453764 518366011 758939304 745298839 862696536 373715197 708437246 596784029 200576320 835315957 709211199 896515485 427529392 212026818 14830944 497771537 248396380 345455366 440847999 278477986 467958682 796902128 797113606 559672043 620229122 283677485 546288143 90379489 319553726 257499309 258373068 803764434 196149534 221674715 713637940 314514046 531742176 681020668 605565366 161108251 538724092 527425429 755339239 815109994 761070604 426813232 774391086 437456841 916641641 85603047 710382830 423564589 64483655 636494103 373787017 314835914 518681046 623232233 154145181 709716489 256930430 174257279 267664739 848930270 680581391 864517092 886727327 169679757 840682616 396407218 404161444 733649944 334797220 761940449 362563771 700738054 695801548 695365893 241854654 978118322 889771175 494078425 802958251 821712323 775525615 91561444 705514686 626876403 298909337 516425143 50566983 943629323 231405433 94700447 348169632 72049798 764791951 407800517 923502756 445558346 777659084 652214416 672980581 884546124 263485616 742246131 647503929 149533521 487400648 615278735 892386176 680643091 696244883 555007370 20707528 951973826 314727699 834452305 585887150 366848925 409750278 913058349 28581831 237371925 809833668 654565672 103968143 397217182 130060640 154138978 387207549 746391570 334080971 415057757 764735599 757909974 462213479 99560344 658128961 778171844 381735605 654198151 527268702 944987385 233703321 942933400 970116777 385245123 387972217 529500974 446261189 797873304 150942311 983358728 621899715 748675760 506247353 543683368 380253807 908099820 864590421 485505113 890405930 560913591 489412919 343921266 990886994 202723052 525788065 327558780 483503453 628559522 599586356 204635223 316796835 708759787 417931872 779500464 765236247 89806006 407407477 706849606 600446577 552135680 883981387 921922586 783415016 101004096 670360146 236538606 854222612 881793533 844492203 536209549 498141639 504448737 982167277 812927593 27917352 283909137 389351847 21851195 184553789 733792941 752489952 258184137 766532618 918912576 888707819 503344373 273053541 873945339 763356348 624760423 532316010 558326253 764105290 685178977 217954089 781175347 401700180 627094774 77810145 915955923 913282666 39992027 837389354 981089281 124623871 757388078 754221690 7486986 937877957 69094573 610326543 636271933 162867835 298133570 276438298 404416865 607340693 378718292 363367003 596513145 135200198 661593005 638503340 422232504 725887249 859036996 83412687 567614607 732835465 652754645 427187904 363074107 828967360 378107627 810425174 431740207 401911887 184857195 399123565 152578053 191429202 997228754 577341199 985976646 785370908 674374051 201490227 403076854 334405940 38212876 270426345 961266796 646675198 876384429 992731405 567486979 579531552 546045313 910661934 353195295 257062901 569691347 489070441 271713542 845867680 886646459 611568008 152193242 718373254 367815163 211911546 140259435 244950000 542808327 810857124 4085439 13611344 710236228 47618117 864169306 81711841 796565336 26409473 840203013 59445038 100134219 354851055 741136372 708479522 36919409 295064944 513236146 192472919 703839311 600531631 763316070 107199353 40620044 601665915 875257407 254211299 126859175 632384709 546729267 879067264 986878427 827924829 180308428 814250334 906777342 88376878 566429993 896444975 511123363 683007818 479538473 788010695 474979347 90966049 577025891 293103649 108083925 805194012 162580989 90799794 383282816 869910147 449058710 47593316 313491410 60603198 504334581 616257364 46374257 776148141 538302253 828412186 115378173 940102891 989574015 247096709 433232795 342754112 784179727 795942461 998776987 877562145 540401381 315254240 779775008 682051774 670200131 107211055 299198544 68276832 377403030 748070248 701446156 173662655 600815578 243720680 512710645 120334575 891812862 782079416 240138573 924530056 579920416 111136047 737399532 171143677 327541885 741722653 317464480 376530997 35204225 767233162 670003119 789608782 855268966 774888051 645488932 346095063 329692971 777381037 497812762 321834369 878965597 601896596 815113713 637758136 21221285 606161403 937857798 351267527 967377329 506073208 605729487 497643147 907089553 388170459 633974429 861358337 508559252 798291914 104344020 213925218 558366264 850344484 372954065 482790299 604655531 137867442 499489346 561807738 973825344 746511924 135739146 713344032 242718571 916012972 291473790 313563795 308497609 862169636 333701897 568747337 492521887 465883773 680871722 860356117 491219530 877082855 124179176 221542228 820538707 982351321 293300937 240665833 156086903 623317715 375562865 995013668 127244465 977539246 335386233 21079540 711870590 710435365 361942165 821334624 19160928 698341846 108128661 987650480 249424580 52494032 958046441 136695626 306678809 804726552 922534993 686891695 964582352 161249874 545651644 933616939 71675134 468618650 938981372 879672869 632073780 517582720 865931327 525902291 336080555 642693492 943134729 979888879 883109961 278791322 377700129 160234476 340105854 736834529 73477009 390182203 438521925 207204904 313492122 860171895 738802844 399926885 467107520 908148694 98307242 295627132 254640301 907167780 475426173 628447820 936098906 795287419 697481033 201764022 866618706 666039674 653262904 955364676 5243274 39801816 683680247 64610023 802338255 451183677 76474302 913932586 841305630 202786553 922760569 964538025 291138352 472602217 562642319 330951373 603524751 695591456 354406 458266966 458453452 276958260 61004402 364428701 260824453 247625819 272053787 942106909 691194092 676448336 115320088 438907702 909253652 321136686 86375171 500902376 668343776 697117690 578240786 756866077 945836198 564178387 628205138 802753647 93020523 394988947 744813017 401615495 868707833 62893456 986929492 90125550 567399896 20861850 573128260 139655913 387573468 674177572 590117808 961042219 473502043 645491925 446934079 175728286 319572232 595201739 254378926 204490706 856208739 391100277 871757185 461409057 321539393 387980787 671803257 116398079 375156694 239947977 155037369 748684836 575734267 723948903 319273973 400087742 906471504 588653070 751261443 891417479 411288804 813440809 47378318 61917303 833620348 620591577 398489656 31852602 104278364 192394677 214153746 881995622 81029866 5364551 890732269 628096876 142784009 756788292 294315672 208123387 957724747 493522312 675705581 120809046 301059574 770610645 767813971 257384301 167595302 806813645 22706745 58620768 434992028 69131057 353294383 398948962 610051188 282952793 358734217 808313889 900903021 713133935 49249871 527204035 212258500 227590617 927833432 688191318 541463923 264379448 272471142 583449730 495564130 608335343 590877910 517435660 406513246 50287767 449026622 142729093 426648882 201760051 767829935 557370247 841755502 151232569 356029649 416974501 574775752 233959888 934449216 511218479 491870248 792193585 462381309 884510691 803122756 319528573 547716217 852972043 749494478 821343953 387578574 588814548 939622336 46411895 422125115 824331358 837385237 644844218 42629314 76525701 398847224 189215408 503201789 248775113 653275930 125162123 361611612 477195361 781143601 872209684 665844599 35061277 725854313 631313882 11680790 967749687 994663354 68890303 722948076 985648692 703945358 336773886 802536490 480606014 336771130 778869501 19981952 215541674 429674777 820398559 987672424 280117536 628960795 250253598 516922022 199370103 772753124 670066808 478269107 977729858 961634458 398670430 637969958 512727116 444799693 413256190 357335663 320443968 798400982 680064637 359863925 760874907 232494973 137072185 719158787 743510317 526785461 574686719 159828768 986851783 349889142 495953969 305459739 712522806 570876300 861135627 706588327 322089877 769650193 424499547 28936540 430727643 264370382 716876655 301033484 742393835 92264639 667614074 642667478 251303400 402428954 51387870 150858940 351790526 551777745 826272876 742313708 884576459 155799520 811509641 821309022 627247239 44364750 288178791 730958415 60356164 46231469 710239055 918568575 450296085 689320533 136655702 981659703 675968562 158872417 486680127 841972023 687083362 44024595 902376735 546564756 218033575 671218441 843140337 698764005 484239554 131067642 378730812 947887285 761123312 827502974 918117365 927934251 907866032 69788954 343402325 239831066 984075183 322829172 139058324 960388611 858481631 567323321 131908014 438998437 698334063 490568057 807511755 893289268 466156114 97287875 380663600 975567471 999957065 873156979 947955443 649563353 179648282 704174582 488963914 909388251 500476708 901537621 687985230 243523574 362633512 129995440 773510761 621184899 671623176 300488563 399279582 60161422 530759741 714198295 796219946 554635243 190876234 496707583 468348390 164479611 13396063 949133048 62590982 537077987 553286619 369525221 311817220 937923837 938311890 759712231 636855914 484192273 631413777 994182435 15435708 150295455 799466685 861413372 79232454 794547470 374774497 508156357 60599415 421139049 689861590 932690755 596503434 196035059 248395807 727207529 237345208 345243788 848936260 878966511 369818884 238982502 412332646 989271689 610122997 695336816 49353592 567468036 395897304 339341568 32096477 731469233 619002432 801554459 779724524 67198397 651519217 449646984 958499226 860737217 204046478 4390968 251967561 774287610 631728130 119245894 623824072 748379630 769151356 437507989 778255042 564166886 536076201 541990564 513820379 879512343 772196800 768020197 247767083 926891237 51757008 484324388 308710216 662781444 112673600 533988927 67482474 712201305 694713259 57528438 709430895 17440917 433963599 424597273 238929374 390219719 177410783 419097353 274993929 405009297 736504767 301176661 668900959 335545729 683346073 971840660 586095337 963164833 350566172 300836915 822772776 730984942 202716494 665285379 713474901 309013031 650659421 900844101 572632485 368086360 46649235 837721315 852365144 509968610 145814256 23175065 327120474 497071240 752916051 504322204 293046643 247536619 477711740 139744691 44485007 186668551 482984982 369201490 87500909 770305927 195298490 692034067 461722150 828279301 728176189 541969969 606341029 593102673 385766231 329407932 378019793 916188041 189248844 264116593 32617816 564229352 289189595 755487870 763667735 840097042 22280951 618910101 734416887 789088687 420503657 202622924 718260405 406842387 357690454 179453146 439863691 147158336 482071935 567091870 297996618 39778441 237850810 885571440 953861131 191989766 937785318 411669567 559736363 134296859 931028231 452600710 569515408 564020542 17507193 736433767 57770645 766972425 356255955 933495398 560389476 73024900 877330651 525962399 568712268 575638169 684024511 312570694 731713361 340438626 781311778 293130599 394427490 247841622 306003468 945287328 602156629 360222860 249245139 626105177 838560429 483330785 808158574 381911644 635962148 724673729 508880795 672427902 148282206 31682862 771338422 603252218 72035977 746726479 157211196 97985003 240736312 309125702 598911515 51333391 893222919 560356321 530808895 515591352 305107609 314734048 65682363 687655612 867469646 787998425 592178111 210974425 162784353 974342703 266256622 137673819 829660968 969867714 734570630 761621459 14497891 498283974 354367980 660944812 878421297 573737840 190023750 286520976 939185457 786140013 46654534 977284398 615020948 224283026 829400219 46183496 392880147 189617925 181365452 500399059 30166153 385549390 907477268 370198439 691175292 75799537 348377376 558840856 716321111 915620151 129572425 312169374 947904419 708195412 193699787 597257573 801860032 135913157 51991120 476715157 48111092 900396149 527715779 16169827 532202309 34784041 485889128 438402178 693350051 55538157 875732740 682063396 625875547 505863653 568832848 400029752 249375038 942460145 538797522 707706732 986482262 890462553 146988852 668005164 449127162 438898232 479263638 891404795 197890500 654361777 670460118 814721440 908284782 439229218 518182237 914879130 437567439 48480110 922713507 236095181 231986187 693916603 401528974 416270229 142573357 610455111 793971024 946499594 567957005 73554456 899916330 794185240 514320957 548295099 609817641 868294569 715266646 374295868 148993415 843533905 339324983 849234724 18170561 422810278 250409905 28862838 131300564 87156551 880222088 267751015 611127290 557015299 52478639 155576288 602729784 116346819 619292508 149812701 20112796 286306831 717511870 81857717 498658940 313072832 722034486 207922203 465780139 830457931 91515591 550322180 674124235 79593987 419739460 241397574 456677939 524264788 322202881 478875772 914713571 665438243 930699461 27954896 983221737 956877053 331880532 854468752 581009636 759547012 791601466 328496301 563603926 134969274 735159295 725005306 142524147 462544097 460539794 705198630 419617941 710368871 236025900 785111946 577333335 428851191 751532589 514360669 962324124 61092998 422053423 102275745 594165311 642953797 342854497 935852786 412360495 409234433 426033643 301831810 61124949 291149895 728650664 824697692 131561680 471146653 358905238 946570206 177735713 355533157 569376280 63928994 209878091 856094501 755385460 921615699 214884032 263377441 280241703 304104547 893346549 162972592 730219965 45421023 98397283 325143627 609174875 58143002 625212927 976836853 516905528 81954132 207300115 772070516 836007766 61050787 896194008 2230657 333683169 648117399 831337899 824618390 41715742 731818747 472011742 649790857 570404841 470015265 248721758 975556331 161199563 218805128 799622165 854809330 295845272 870571208 176368599 253593233 969939354 51447079 277275248 463716020 388294083 188415511 154052190 471021491 570879971 512068865 62961099 584967154 659422683 48311087 854418079 201962840 60666364 550976668 478159805 797222156 740935478 816863754 435395112 791051755 839959531 960504568 980610197 624384799 238743843 60636425 950670439 708643642 53709253 569661189 651723151 533277864 891890449 241346079 155737273 57253601 373481942 676193278 837067071 879028415 260611952 86626523 975856588 334263068 4462924 930707173 122040449 97688003 303401002 763012261 38591677 92003105 286935464 995739011 704061425 776142514 260671693 29635378 272866829 433063324 598119644 208537545 955836346 170199973 689956118 753761920 234600119 181085465 897488165 317021538 488026856 988181341 859660563 249131484 684789848 138121792 363570335 871421467 164578608 471937671 549926583 457345595 441904805 942936923 456009114 848358225 342322156 930751985 12017925 104721506 322940430 289111161 197771094 857102751 974817284 867828662 466355543 467707915 967172376 962074246 271452101 838769147 345493112 710721455 218265268 773959459 346509131 754382949 7573486 831930797 245246842 942753198 525992077 968242725 157076659 30899431 947486444 500547603 513882340 762060015 534466673 140496279 235967438 81939862 216084011 943992270 426487881 929959095 605906221 530145240 581751234 248594586 425515026 993243449 999035865 118150690 405656913 254034397 305210863 657803470 391665612 64446490 263630093 937339345 445828123 955881422 29408412 196316739 321481221 984238014 748734476 227236156 578396041 791010888 52880476 542311709 428230136 746450592 316798407 451225552 225267515 424077274 447781916 542881792 544234950 485433939 36903158 596133923 163740831 374161124 624160566 954445518 22445598 589555903 291809836 481080387 804582897 848124537 588856696 327896273 947289082 865132252 473506428 814576091 97233735 35614390 778445021 356108645 367705499 646484246 88396869 537050267 370936189 195577610 677163053 411218553 867477643 761110384 554996610 274486 862169492 58433108 528004175 126847748 527304788 876101605 516151323 951037758 285288962 532158502 670186914 960685268 247850060 778871956 707550898 7838521 773152216 38299521 167219800 902216612 339970276 5781776 554287022 779361036 135112322 454380064 248149277 886678857 901273476 154250043 746433008 690360687 906187038 112105360 988182961 66560910 574155318 555441583 394050618 970600886 416561251 517644435 900684301 27375080 920928705 394145345 106052719 387896514 865257028 268586718 878880000 889197931 370156136 865317879 54038779 728990109 191515555 594305970 118192284 23161845 734072896 807102824 171890716 332083178 934022909 748952168 74960856 927486473 322621302 901160626 22315642 315287025 496800809 700705666 326043519 812211042 55364996 858108615 201064048 643176532 818760961 449532171 408995672 957623978 883292603 223152672 924267022 567479205 675175161 192527872 234627883 659826212 694262678 612429374 267707251 169902212 293049649 807054746 112437678 90467470 738267983 933528895 711113495 355089991 664478414 471745808 20695214 144629051 866037315 746029170 692426354 122976796 902987833 485138546 625643490 748094722 977717051 57140703 429119242 540571803 289487439 502143888 152755979 68187744 79233779 656884242 659063982 963550685 253839011 324047239 543842758 461558309 223671813 857908688 252272426 341202143 793989150 704498367 974977497 207006500 596800211 58393560 790451431 181366262 578827164 867354332 686452954 139930310 565093217 876522890 994711012 921492663 286426950 115088877 613202529 755780888 687310298 700206364 990186510 957216125 276919335 152410891 258143490 506727038 883407663 529948284 226759802 931889535 670550679 143352749 725441789 798539499 495934100 391020055 824886211 156687494 36503794 572497802 127376793 608758295 58726525 480445453 146783714 200850786 346023811 503067330 464753933 819903575 162005941 705741704 849292496 928156039 93642406 443942332 862791740 861705534 710491674 705954315 843796461 228055351 521301976 84421899 538349369 159975184 345476797 831829228 223227458 191764903 459749631 142285424 154853116 783275054 923881654 58551359 335048682 87748701 721869151 347366280 917531180 999961391 795008312 482700772 956989607 203249021 764006766 323917702 468936525 997916205 234116656 102555063 420554769 756273449 587342209 363824216 738713290 674607267 443663727 994441100 993542578 582560397 510311526 941564926 666937224 917694408 483968544 734415566 732536631 102255834 438943699 345739492 180312833 112722592 311769593 834512573 984954418 810478221 749162255 722049065 439960157 604375419 505910050 738513706 88847211 750637197 135423287 827088659 196672628 833576652 692593612 654567089 393751487 874846024 446771369 234777469 987535787 722383762 546454533 521022960 313479265 13133063 453598907 46241033 853862057 928040223 871603730 25263287 562366686 722796361 414914118 946399539 755557789 999600531 81504710 203389998 988987823 946172931 522230882 831640752 238685472 355018270 839913188 952140033 833788268 812098060 110336817 285928987 62040312 230705939 340971586 109881265 679464909 562651381 652531011 671149223 875283697 749412088 415894304 44658176 949709939 844812575 986114260 136017305 632346519 310891780 952435953 51351899 226449572 33555338 902543787 618191118 48830382 737146991 176790281 487054815 731633081 233174311 217178277 938669967 886744285 461227267 399661481 580327681 27195284 330304011 737769347 863908784 870494504 222637567 211917907 783949313 303202291 13400452 114356486 455563883 760568311 350551851 681603254 897879554 507357680 933668275 701937611 659099956 466891396 502899507 743600193 975633463 666410548 929773584 862378835 178172002 918766814 119643831 163819874 180191606 727752413 716711976 757614472 570096221 982739643 199768892 852125452 473790225 270648763 423084166 16325582 290095509 806759948 97166247 632158787 967558296 834881728 519706940 263672737 698967851 11492112 152434197 654743803 738412778 101546863 72809554 252588407 227189908 152631314 188281040 862895150 968019576 210452543 619045258 322157348 8954894 23818819 881950914 575925560 965280702 519453573 931435446 78445346 868856522 103380732 361153664 482603496 110713244 788221744 661293583 284217582 849987678 820921382 802075269 27805146 698095442 841955445 880857917 713364554 624784743 789295515 305369216 52484929 458680989 616250017 114984957 729640080 625303807 160903933 762008673 950494218 793286131 277474364 340746595 404863070 484660467 599627324 378187539 951825387 918117994 253072269 759364727 681353153 312382745 862217319 723775307 731042257 203415883 345498169 618232773 661219058 5544377 813476088 441245691 323057186 462804080 20627337 416386825 932166007 576066110 712419905 386234640 694426629 852868806 512328632 672848151 488584909 181601143 25962174 210376136 431115436 600624505 578894377 136408794 549427762 137732735 504787008 992229821 269261292 368705565 15391229 506531979 896961580 990244655 495030571 803161671 887213005 191570790 410545297 620915710 782306741 274478648 678046635 896718569 802218980 419652893 984248656 851656449 677270308 767423094 220157981 315106833 449403034 630694646 936205434 597416164 665773230 965531027 681468335 887828707 510258305 399031622 972747804 327306203 861936347 172358802 791512234 741124185 257466337 12561635 574347064 142869281 937782390 40683189 838545452 347958927 93311121 775799797 344804139 379430547 90312659 293368083 356651279 942245541 207685176 744710704 155850001 796183656 674707288 834630237 893187822 700364090 908354898 302262002 620260873 374605384 948210214 299271327 254649027 33500734 820549277 6970591 375280486 678757782 342676744 568886671 796914177 644844733 799564407 27631747 582478557 718454950 140334070 446378718 887007294 915924509 889530162 423688954 225550372 303685603 624632636 137906599 975835785 91929478 902853990 996973674 905630479 842437923 963998318 803287542 229860237 726572510 446450052 215412533 907477637 702417641 9796327 978528322 807887126 103401117 216655031 738459781 111404738 921193327 929276245 443667257 289315986 561284905 354095965 210378142 452824796 288857637 476381019 357963611 366213713 800638699 248310843 205994316 921354389 181525694 487522491 684537811 951203586 290605205 125154203 262955298 68735335 624210206 24851595 997938979 147152828 406540025 766947117 117955837 203910363 315257150 678002513 241021172 1477533 767274621 605766417 81696102 744688294 712224785 962710583 921034039 674721690 405802666 615994130 649501333 588134605 320071545 536093167 385084905 373832296 714430783 993985170 480698569 793969890 875108939 670583460 973670386 918910431 675581856 201831874 428641675 128387285 401388773 236332461 565260370 540726979 668076582 907866999 293955344 250014817 602482123 549561757 68125899 54451233 540495131 846605762 229791294 666359112 951312082 862988858 196819366 524472431 561612402 333661796 580882078 579658272 909760603 592231971 335954475 125008548 421534060 144000554 831652237 797511675 115447633 14917004 697212290 537738046 863753817 79525248 435160804 637647961 440131914 982397980 532093601 4291891 957115904 129353588 7850435 935476692 687240034 58019205 533156977 722271074 465388593 431162457 725125717 656219440 111365252 333015791 84238289 909118333 782529317 942793995 369745187 677418643 261207507 866781638 853107249 448020290 467880280 975611506 768464597 870664806 964136974 960988116 674332336 885677868 144697495 314994218 777435689 266960492 723506756 316035310 284035063 89546513 69238022 828896071 27333960 878246369 484690133 520369738 597297643 991972775 366507805 137946330 212290738 480485198 401868276 742955309 744959556 805243013 83517320 767187650 406433487 457612294 464092577 117265199 912726867 104687682 318904214 836934345 531635878 673034300 44176638 628370573 527780702 611003030 121159184 550485187 457159118 61549963 214903148 644967065 415146123 528974766 914550347 348206951 738006424 677875267 183388605 764309805 953189582 607074010 955929493 396427300 384958174 345101982 280247156 835759763 210676694 262820897 915660240 193277220 471327538 103798486 817407159 873151759 891109545 536981446 654175728 874413436 479024626 22516807 857855814 283575646 540090939 631679448 926687779 911675901 466049521 412143563 609675698 261064054 342473976 79283678 26728615 381775858 355774935 366548991 931345621 180002024 944238602 966910946 669103458 654147557 231099766 718748529 41319082 814325738 506115916 499757540 575946495 688757391 829166147 584146352 982274279 14086109 31359245 495017720 62108305 537659839 132966784 453466204 751824689 404459263 412887474 590671989 574179287 806771863 462209735 680709038 324702455 455101997 383260938 689770 538940814 48701525 317249138 449817902 914572177 677662384 343027108 408088704 792971178 202786990 979074317 495104951 937645808 226883660 147926292 306538075 940574746 646735353 100028443 737141774 50984504 386894746 193867430 694888530 108761308 398267315 956106293 282831455 575275009 37615058 115446572 305536411 661940237 638215611 240609232 238032947 967053675 245522601 453197249 790909153 830813200 664759190 191639899 50387743 870448725 292875002 455980174 386695598 151705743 451343194 213372481 263108054 296374183 386008418 975964249 687476020 18098513 372319127 460191487 414075600 277597335 920050209 668079122 414945006 786955725 749747204 777693804 417123217 487389195 373658812 857776733 342026123 175866837 735052833 269892608 94791019 417008911 287829266 6890311 241753310 383999096 846850375 889450661 473488401 672820699 442232392 971208421 137133672 754278378 352148680 460681987 109194265 245762532 473321900 713052463 598103776 699124571 282551536 816447128 469977379 146057647 857210200 365353493 609991219 28179810 889802816 90893260 1225203 621394620 851551519 110732585 104577902 138325142 839586630 911655929 874399503 347353023 700503326 753108276 600349303 112176230 396365376 341747534 536364930 188215409 242563817 538654628 816914702 350289862 428853854 468713443 876975127 202181691 190273186 343123083 146678199 852107506 174613670 783292684 889287724 493123003 94612062 263513982 898545315 39099117 972921925 758632330 518266630 462975181 349897461 423677147 64789143 49770255 427523152 299957538 593057528 981966571 639454744 988234141 646452338 200416617 10596801 102608235 743142405 639423316 157377907 893384029 729011502 872304856 594940554 512504302 320704354 605702930 225409407 652198461 19765191 250655806 825491236 655640548 189920227 298777306 815489558 534386300 861155243 198876147 310597656 590889021 184768540 601620750 674873056 874728111 246930059 146654221 808578960 614799369 572983502 136590733 778215255 70730490 969774561 351160949 868970632 799385512 288887542 262226187 532362260 931091590 933710305 377104212 942668087 966618095 375880225 80857918 624808773 542021511 201759350 730866441 704440212 916125016 733202459 446180515 271285794 659705465 100157870 529012933 112883398 802503999 260646353 396598659 322015712 105376066 146595062 509704963 511609242 126947173 337927055 330210780 848998695 396565601 899594369 624826082 383919512 552474422 889644768 596807459 179650080 931553929 885954574 990455972 937332189 583005061 452040426 324161375 515500688 174568895 412720680 307203651 750177671 518376650 907862839 463379383 666444266 302509347 929274542 469809185 411169688 814884224 295583627 311460307 424263610 714887707 515987513 587615548 769644584 488625846 768406182 609340568 890662110 993756195 701390879 786080474 281082752 810206895 501369067 593141056 593927878 805844829 117720076 535254204 218990729 450880275 55148189 95088661 670076562 702685726 468801410 32314834 140519450 438783127 664463158 90142730 682763148 111791382 714928880 197294385 355133872 303317554 977794691 668985270 306145280 669927254 933437377 998949 852546987 739382222 393429396 662672295 816254082 932020471 416581954 231715820 489938426 46965867 300984360 557784275 366606022 74501440 643620699 842915541 665724282 567110768 524584888 653064724 803947973 353227287 593060105 633971139 721914541 177930450 71038090 708677335 576059427 870320809 846698777 934712426 617941840 23333967 784857092 798675809 110145891 681383262 543164921 10839704 766787865 330518836 567070981 927260530 77366718 144013140 787835433 294241977 740429936 479433900 674929410 870659041 679731273 886086189 865092868 161479496 848025628 629253712 910945665 816466286 103406569 620663288 889635246 70959056 346063564 942511004 613393270 435732499 18730396 465829117 661256800 701557926 554556919 722486253 316429947 471628000 190939578 754492577 280578499 319476945 402581086 907462424 180261145 448859320 110756344 541706511 905169263 566838479 827450462 74066699 229463540 23775307 437636130 314507042 528214328 335408454 549879135 757892288 277719482 321470727 93384354 57298783 47077497 687653536 70642264 176636227 108318849 764509591 123753480 762913561 874843860 353415213 107086926 684040604 86512067 676873481 725801851 571821449 65219467 31748452 793926574 85650257 275790986 679787712 293599195 898918001 170657286 543301261 621049740 791128473 897737595 302024958 821205746 256216571 350914261 321406528 138423251 767847468 347506437 488615547 675388352 151114462 824039302 829708739 996906719 28742786 538864017 131273851 86088123 82329849 626743293 13540442 364196758 122728842 400172904 978988511 304259571 736214701 420058950 411192436 613285360 376403013 290153932 404826176 294771541 914005640 742710238 998730519 986835321 165315102 542706697 573031696 941672974 939794252 999596068 239243054 578823631 655563546 327693070 847128529 222973813 313153564 267225253 554900280 937678571 823436473 241299415 572406613 196095247 745267287 209087981 380998220 967816365 951193309 519489832 876881425 766367571 976100535 776453347 69650712 968067962 69235997 802464723 803749671 521623654 814811174 754039662 938122104 760730166 676083736 570751419 979331487 72841504 226584797 441685027 261230427 484570652 375180022 674539974 839652051 348783677 424057152 603305672 352760847 915980493 810653849 363050556 871672722 915595721 567587788 532991543 653896643 988947231 818992244 540495104 375562744 935724776 63468256 255197824 864938151 245982440 240075140 912006141 865972862 221609172 812525906 970804906 423140921 476881129 91893220 95798643 578650340 164865095 17125509 294788886 705299489 562254439 162592919 544941217 827458819 917773787 65588463 264910518 929056152 166648349 121945890 364916248 557987145 103792729 586292014 995508975 100565698 913733478 544787292 894921364 414987058 342169378 431891666 312910149 294344404 492489777 210983134 346115486 827973009 603664273 788862416 350386154 12717410 610746992 562113430 666834708 496636285 315800556 755125043 893698878 433641023 177308858 922464775 737959713 246277549 896315101 662682884 520310831 151148663 320713968 276339354 637066989 51235625 602509312 296870141 895388704 955556281 210821097 352683272 71730198 861886339 563122872 933023749 428330377 751493369 688930526 967334451 246219981 162997931 501205357 333123224 536276901 631908094 146471518 408408991 319769824 128004396 803159987 23211764 741014915 598728009 366520005 311935359 904373569 457862824 676356945 991321086 502448744 825734067 373964157 929117132 731018978 467909456 465048282 23264288 36691479 204287443 408074793 253817401 91111708 515165470 911011531 583867547 536474084 234251969 109329887 701316900 900496942 939713402 556562670 7349919 718937324 444234892 717754207 379383348 480879332 719047495 317628733 756431231 348924439 885076378 213594280 560584669 9931726 453856704 361059241 368931101 557636921 683265285 654794646 797668615 979429537 822617645 652724893 997550243 174675531 937736589 702564697 283000334 194803784 668899360 983613505 905063266 955918571 574712078 971536612 285409218 732435680 824072604 511826072 45483378 605450095 899654958 455459838 457967748 61851560 768953286 414424007 368263568 990351940 545746270 509387558 144726974 284863277 657305575 374592919 237289150 791573560 490469991 174648383 18682946 26556318 513213644 830574863 544884209 227294327 322654447 939696275 56131971 563451417 284904559 918683845 958926952 620289575 344804566 506145616 281829085 673467607 331210565 555042138 296046910 697107066 346174102 68848219 83163598 409399476 854518967 477199033 234344000 56670050 210148388 199004440 841124040 545127970 277024997 537435934 555369139 22815680 561687856 522248567 702984760 225858039 96448655 837231295 472496993 794433911 43623201 193657945 750266373 618528277 391473980 318078625 320217143 726580697 438238880 183222774 221266146 384301085 565102371 717829549 368882546 349311583 608789394 367160858 726640839 406369522 683018467 7055046 5313370 811816460 851554360 884533887 168773613 908616904 365464959 669038543 866632684 246208043 629512165 701277147 627872241 775840618 588348998 113197866 837140532 939302471 124888801 478697573 698023376 43046771 169530913 244007802 832509708 462625109 391678148 189230947 108152428 771263259 215377507 808677023 929771461 159942509 471429917 971308173 359962644 658498765 946135500 878549871 848727398 605038187 162466808 569545495 772923773 812137634 518002375 681766430 730421882 469510621 574136992 899527160 749506035 337226970 263667904 45705992 347564836 896724086 521511537 233032556 283666711 57309284 838909284 537125984 311596678 518661006 282288478 772655033 423851826 662183394 160996792 245699068 919126112 596863433 648362231 988646291 660593855 668409022 476536259 758020842 476591474 101021196 771603590 600253451 363132315 790568850 949200894 914974073 349275377 306572238 900836142 334597964 905483186 156459427 841453506 932492362 829862070 997339066 638490768 99959861 322916780 136310463 916287254 530576512 677898738 827728664 149286876 892925212 973594976 521353215 578721269 53734098 144635639 988544075 472576137 957375364 406095800 634986964 107783857 43789543 177116866 726758675 566620918 309959295 942951007 637827913 774655707 486961256 342809687 151005926 358802506 430129125 435946258 951784319 629180698 366138883 430861981 879586176 141555186 531109273 983690143 322811684 797187834 90873268 475370485 434517692 920598840 925827333 199434034 156405181 913183472 86514585 620601035 289190545 638957087 160520909 831278212 542116842 189502485 774050100 679527990 841132510 691449095 204634604 370274230 854672325 841368278 404503175 483014840 269014451 878893262 234170565 482581889 39183253 977218241 192396482 41647257 457561140 164062369 403890874 876998769 709646417 280735656 488271676 477334988 451385417 496326686 480262624 324090512 769198596 535478949 819999947 994983186 137927021 267746263 697108934 870472519 20658272 286613858 472434501 113759674 243095488 757975990 794259160 668889380 712789457 46920703 433659394 448434355 570165944 234068093 57478223 740930966 98652011 72381905 683198420 664105137 729990500 344851596 253493448 42841894 170680002 522343603 744652588 227845396 67216986 266866575 652374822 968223598 880433536 910246113 41295041 15031825 857093786 939508512 824590895 411681439 436190059 69889084 699569765 728904180 260342143 809798913 280429534 753237059 464505919 398186123 704681347 626236194 884536138 856163528 336665160 939065277 128945941 618230375 191759970 49490198 861308971 829506170 145752936 733637981 108734135 535092589 938177793 956289817 545044779 128334269 100939549 229398115 457384534 109769948 520276505 268899596 910177830 391837968 927540031 127371647 590815385 649164668 968632075 999205186 514247032 311019773 488233063 532566860 566576824 198204180 289468015 954432432 735510815 754402254 888841819 341667050 258088956 911148989 829250981 285089404 769988595 122295083 902677344 527993765 56507417 677280756 843466595 994594386 873742572 853083333 650112702 305002161 412170890 572888571 385147703 785345734 410451589 311688511 360577109 185954008 632519386 541022525 833107855 894197574 293422433 161994715 888264083 139204322 441836628 987847352 503695920 126011078 822188765 660282491 321024412 308578949 393520526 9610421 834584737 761890372 215017983 744407468 636863510 642187760 89332470 635286355 704968412 295941259 263225368 831765603 806524625 909438073 176961669 76521157 734413691 996460013 810890618 608925063 76373618 26742614 414574105 625640901 94057707 662895637 627875873 365707960 679948632 270766740 329996631 821301826 841229168 656515139 185459357 790916761 402223719 84203021 409576192 553463320 358854334 434973523 564136673 28357776 490717372 331445271 733817835 260163079 891683230 931258860 872150139 167619633 461750698 460378812 32934298 681401293 939272543 788163915 340698060 849360436 326317877 917952946 817754035 870301232 843227807 84883198 602553261 262314719 53089177 643744338 691034607 370255668 592398717 849285376 535291950 13143206 379492324 140501625 558246321 865342626 41037014 510781639 342832275 218624140 771721505 396319390 637684135 891923844 916979116 269230374 808853954 429777770 234872933 17624139 903419850 287019980 459320524 534902665 583149927 838045084 365814226 306418176 822101405 682530940 918307562 208500662 993881569 609786478 417653912 28052129 434810651 37315891 267001757 435584654 760674581 929644350 743586488 143806611 353005899 799502508 120638311 82199892 57257920 318728320 101061684 763468151 852250045 813820646 832954351 655524960 899160333 366975835 705275435 579547902 520559617 836985613 535097655 674486592 229304505 27771038 689226944 178328589 760126910 412734324 30115355 294277923 831162908 348350363 570742207 839193136 42447823 155660450 949209153 353870788 688177144 223642158 69504932 484045972 649902960 995932120 307162058 492747080 507341745 181062424 98980036 888038040 499295905 36887956 614008242 12081990 396296074 502539937 233241587 145728350 643237680 858295875 627860033 100727701 879337383 313429981 917691451 390698689 335081998 434195890 293857186 219717220 457511394 804519123 947763623 359038997 35290282 941875456 207897155 105791467 341197455 567462908 979980602 748076720 798111071 164822183 724608572 88260720 50933812 123834506 113104951 788912498 983471613 847520520 126942293 120854893 836981054 632792102 481853192 255286497 194832901 562273276 87534094 207653494 685102472 580366835 174978605 161978888 710940905 902469890 421537216 294526225 798230471 300241481 167998648 706853238 84773048 415251961 518685092 159267246 785490730 748975590 496560901 103901671 442148108 807232065 115254907 930046525 919858873 445975711 191849893 616100836 385877829 556984821 544946647 836271622 421691663 659581799 183751621 806337048 725440193 375604619 241203432 488018613 681906808 576471884 53686557 151866127 334955827 636969513 547514369 905585826 897372861 917541453 260573021 183920241 24615566 769053409 571651127 922850714 353723265 149977208 244914384 377460886 248452169 663527255 10358538 250870485 443021411 164363754 676852697 354029940 151599942 321172784 429456065 683918159 78172192 711831507 751085573 136666171 521200129 921899643 703151907 380993294 319842803 486791073 96575233 727690192 857172036 295190976 833726773 797513538 560294625 331892476 663427446 11840522 660808447 129694540 711492445 94415008 203245224 431159400 277393874 697169703 120851883 899954119 348409928 45664356 394470528 978956258 346122814 701181906 943011325 560533189 892605050 358845911 92522671 890770981 675188463 869481448 984683609 224413698 8442148 670375455 728341631 945441157 895875595 222179837 577930765 497845801 593416387 998786627 166195954 672599179 44789744 781037680 403788517 591073077 904733882 628988026 386264442 765697271 951738772 809770881 905753544 20555606 581203749 867603839 289153815 339454959 844237366 259352318 945414438 267443874 335438955 728496312 213207986 886566281 463998839 663712447 203169718 82040655 238050302 871362605 342584723 716778164 813501519 916094627 560837026 225512806 993050757 620005457 791872502 722799544 582305797 117420053 51301408 622957893 103353723 348397231 498543947 814715754 234309246 870315293 651398919 294277855 92069997 611721806 342247207 682156806 160006036 234733922 264419385 404272378 497923517 461447388 275256635 939909242 77926724 820610148 850008126 372000346 834991842 578111835 45796917 582806327 469400408 406789576 889833396 157413509 760034116 954069448 614767802 544740544 971177170 836125247 795792261 428671750 441231377 429245939 399127463 96434564 661798676 6996101 506546668 780240898 731629958 439900851 507697978 292082939 156212452 107322400 621177482 570274474 344901624 268588688 430803982 69921902 812247585 343678865 375541855 248599941 296952306 358842955 898573295 883165046 392595471 30082036 110069866 25476868 719451199 183389961 298955110 508879331 209990724 246929007 665817414 781719201 849645012 473503168 463929940 140437676 421844983 300306428 394792676 547977981 336111594 503965407 392021897 846052491 557861908 557798625 733208312 786509970 681981466 738617246 255950796 1318725 606602261 71101304 834666088 132843256 536195025 169999577 251094661 807829618 725000608 71174862 546633230 833333167 520592489 611938054 153643788 42823550 823034717 25010918 500873339 932113837 15799863 165564414 951304252 691229447 616120678 3371244 941058845 834511767 723307716 464288473 669899209 475239186 372043033 312995124 426546343 349012719 471938357 286549781 806415786 423315702 649838891 444884062 135969335 892460508 965005202 142126696 124646871 666982186 15399305 181048381 519300854 804683917 238076021 38038192 357316944 679491134 433015065 489023945 836884529 20509864 492563930 338912536 94711324 326682070 340336948 20610591 6335716 239794475 220860752 421006514 405873761 445585540 402299645 821098696 430180820 718957078 369534903 24476004 627103609 534168796 127883981 223900809 543998743 704077722 994579079 356709249 825694541 230394408 674096161 906322098 631747321 6827924 393760189 537951013 391136079 666300241 22179827 573732930 174752413 862726990 540882361 94914943 926913512 920684435 436754413 972745338 33968753 535711064 86721458 154966551 583700961 467195761 302860918 323653822 799864942 275258879 252097510 551352745 947882129 706655498 612198408 286182765 763781301 80546535 9453993 200385193 637846945 768983551 204389075 686779644 572563978 335223059 935330590 454681382 807977617 465816625 996867803 813607905 724285997 81771617 745061656 90218863 18224227 478845626 816263493 936038570 988084721 537315034 845967875 745550421 460902393 245087508 251382737 155526919 103802157 380629145 699213782 710583075 85576736 751950132 127429348 546358308 793255088 781755984 606732019 650669645 763762402 920699168 551982015 137861546 507737329 713918465 859434268 553112020 49782157 556289438 48847332 194616552 782516738 692407015 794770467 229944035 306451423 371894 432249732 61321423 771166920 199707737 227354009 216430479 906792897 211526057 766701198 844877891 237423793 824257063 744837309 952017830 267147151 445681288 690622259 57809991 217342499 55973639 225795796 803654953 432053574 909056672 982649764 467827010 265235387 837247674 163560097 417963198 261574798 412224238 321015259 341521251 780288141 776184629 601841463 181646465 221356495 725880894 170728024 222790302 52171329 488586819 175538650 609361932 564282007 42481893 50638302 843775243 823895951 49442744 223430534 351875553 372949911 415715009 78581752 446723532 198527149 534437644 610357225 35740212 579081239 584682272 15807366 464356064 296130873 629073622 771207502 474838593 679704810 337188336 227780692 998269544 577490081 399683771 323013877 175306972 706477327 855916964 639961265 975519351 210186487 669637531 444083219 816298905 777994992 900784254 333134859 127011825 114236867 398872750 80747063 575821262 103672924 717468127 355389819 505994801 756692011 594730957 356673921 4505396 376829729 836925266 508987510 722609470 791745734 312627631 209647936 440479537 310189592 465659349 422872008 783923406 206030817 430395066 621556446 166465980 842390507 926569316 47743808 204407985 400066230 977481271 529877915 403560550 725349808 565937473 178841205 232916392 757885470 359223125 248207415 703500342 998400296 354408401 61368053 679541418 351662770 94877551 265024551 524996706 980276997 257524631 522319099 519739994 374157655 818689008 720678543 365315160 755984887 551954617 225722667 959644951 218693211 784346562 802662761 76170210 188421449 843656008 646311654 149285555 327650623 707095432 187610617 116964162 126998844 27582887 764928604 676902507 190111910 338176703 211469945 212135122 21533063 118738647 863197430 157975335 274774544 310070785 131115678 596872803 11145851 365482052 450491605 182871609 115088562 8949129 485913639 225453708 88802443 762733318 862382720 148501596 594181979 170245144 929666501 969039863 236594120 301783250 549729773 746863617 224840587 133014318 462768809 361380450 326362557 808004542 296970374 5510299 370156596 808953186 729248294 270137847 165225243 177952595 139143965 425961188 182966400 436723955 845610360 177512078 971390701 347581258 376760607 361947783 254348011 641868893 121630317 131754932 466120771 200257605 688363388 998721448 321238196 670547321 539407347 231104889 323013695 591544668 101095450 37337147 775969723 50347763 371480783 362310412 13065742 536118584 280203781 78371527 192104522 962810994 787889616 965684989 486899221 276101376 260177186 104736444 168822939 152755472 898162064 432739775 299080512 711323353 752857887 453486166 926468670 38569692 483169543 101032775 31756516 305306453 549397456 635477539 247419388 606178773 290248572 502155299 718580721 447447966 391328659 820051453 635707493 279214254 840991135 483743237 57803333 460938689 949169387 732066999 55888836 275718778 675027350 566252778 536838559 702305146 849601718 605394929 922506649 748580952 637854832 3749426 769916736 14274672 143762885 795192747 519444386 958932611 328931159 666074664 583095541 187040979 18421682 165199747 869371082 332658134 736787669 292623250 887432127 444182816 525469114 258931104 46900555 722664711 409252920 726299389 346489921 864126015 213947631 931333807 154344145 275922676 170119482 303205862 375811052 151710041 667366027 359143638 89396024 117562334 424659550 457168703 9806573 697859360 822079800 126027121 453529766 448727306 831118026 460695587 969388615 86461603 240045682 164813930 627952846 594174289 556848555 952863887 624297443 281491190 700499492 248207328 24131076 630107604 405448828 564799377 168559822 490892139 840852354 114367660 508721371 121788463 573081402 855305406 942091397 735410945 566002795 964149781 911937309 389732880 107062700 573386167 851933672 84524214 259421313 988784606 163538852 245737095 37558147 237409374 990867448 298321928 445920122 667070875 674081258 957475431 556183477 496393937 842641947 21882742 650381647 547815876 977296921 449104931 272809899 372366530 673537416 749583287 621963540 871714624 372062322 784922342 903421924 818138510 170814046 208238482 165075851 670086124 679899802 233760144 246051792 72361577 557589868 857450325 876630900 974225644 247798743 343750203 631040915 623984392 614198469 765045122 987116076 291725182 259836519 994599862 198575034 719206401 796316394 13072639 649583244 113167203 837131097 241852187 112209251 928819380 278325235 926218316 715262680 979125587 499234624 325879342 507312038 413098549 228867367 564029669 549468484 984824626 622161845 117654689 730567384 700157308 892853889 96718380 515764788 638284054 860220325 415624006 509823966 930462045 404156646 616869789 273935418 23481103 339978221 944926114 188948657 929281103 291256033 37667762 203215103 986441515 758448015 877608787 920637177 225512177 684254271 779296120 993384105 753744271 516772231 589253476 613836287 493716583 122071695 276820862 653016275 843464107 474887703 577310245 778724576 820116003 186400828 782983661 550213531 918746852 212147997 658703704 885968023 893281769 774168532 8672721 86940332 517137986 255557018 133422202 429562000 266910049 964353594 870208522 23752097 759373070 823838184 99786073 896523778 846386124 969272464 109511860 652177217 727655496 820701539 357398702 752743803 773213011 982188186 755162412 918082075 116213071 172410381 551876302 306796856 641769582 607969296 7829864 504290267 695272006 241205982 156926687 592968876 423229557 345798157 879932619 479511668 125971404 874085700 187403787 913340076 132705520 471471686 58713495 625795084 321607360 229979646 369650486 149297566 93314835 946309844 942679211 548083093 405559531 864399234 498172574 574359733 218766573 62613931 847934936 233621478 482847006 789173350 358525512 931240909 313910733 228847780 751464110 910657669 535152395 633404378 776459051 882353592 751669314 168287912 553715070 533178539 524316776 979084950 104452674 814448912 829691029 242095631 882131514 528984044 325949634 820278069 706841478 983699042 972900639 929079845 656995671 503137967 28246017 108823589 687786367 285841788 753993661 564061411 770813745 983693944 463253579 648575811 576142579 831561568 116379230 993540167 626819024 629379579 936813284 179005155 489807353 149589224 193041902 418510714 369802571 988448584 398542062 120490083 591567620 98883686 983132978 102795886 549650507 822098011 126793194 614625213 113377977 665542166 843765765 434266660 778179379 829832974 60638516 620723163 621744159 63370740 145425361 152080403 629430060 449522404 932371896 108387449 976000872 399062298 76945729 177226916 863778531 272861646 189628069 765556018 554724616 625199829 30043751 596909571 625422954 147311908 465755031 105818482 49639509 933301237 529025048 65765140 413391011 258205734 279268074 536988896 659767765 371798949 114408372 427790345 932198192 306693269 293447908 890571406 537610272 713414695 155168947 982358800 665461025 733381914 601978322 567063540 41248513 992653763 733790653 393474577 30483284 541387454 340317533 927621382 71471559 937870753 424385766 427176843 39577256 946600431 178944479 764498700 973302009 133096528 634267160 14156302 139251453 291007571 622572741 577941168 441208207 125707171 953994421 484133462 407359789 647851202 261862793 590850298 470514206 552774202 902645951 15470714 736883279 178171721 973157350 530979010 996828070 695192604 792000606 671416780 10998629 779894831 578894831 308254252 965298732 394559922 647329528 377873859 692532225 453778601 684919573 661582675 436931814 435458779 162444161 971936920 663370387 399589134 724160646 111270675 902466691 823304815 312991828 950181016 295385993 889095656 721333151 366455486 172031011 255475962 270833592 269910603 182215511 610554515 839102697 85351633 378513328 24523801 575760430 304393509 465148720 372434790 276979085 204334768 259933134 726330715 759626966 17698144 52606526 309272238 479110172 207324562 36609360 813805021 693995400 503729891 252923942 211239773 263162150 533586298 948197992 516265551 247947048 397384481 708557306 224673875 66192818 63611715 631401304 790881032 557744415 412821074 466731668 727202328 815029726 784734133 724143519 297790839 256303293 760177604 420113719 582977554 330153524 83945427 951020773 125085482 620281399 459450443 991278808 83552938 602850409 946055225 395213464 2183713 518781657 554546644 747474154 170857572 456228301 18636499 445607381 952174677 730886648 448289889 381609398 824138146 247464156 8417201 635545589 293364026 737452224 191918819 41736188 474516000 659606449 519003839 645559662 151284581 222081799 149089160 35255902 411597910 447899718 283509953 46661809 180624683 624115078 683193264 955259862 845258354 904778534 986414817 967563815 749648312 396245354 251065554 404377377 674879357 763882480 414777891 393781846 694504626 114487751 122889941 325360503 357651729 695482374 197711316 345857504 15851599 182985948 567508760 963358871 228222377 680860335 688344309 790821184 770342333 89949063 583508633 981225007 989696798 185065634 46775601 187190320 755181832 443926414 713765505 841461632 8035860 877356377 130636272 37472656 855219294 187658061 881395658 387674048 713265228 462878023 58621140 307613780 693642323 523399152 946059793 658918507 820757275 913882258 702464038 493615806 996187128 554872405 517864878 350814359 597978437 870621165 382096960 761017503 267352639 92655607 550265579 736572846 314800121 472616604 967464340 13677860 777601895 679743444 337029831 649143876 960084520 547887818 910939001 443806991 317361323 42365644 830683277 958184116 179088388 548935422 591329406 784808601 584732709 666190965 924488489 209559581 389180785 739867190 893292871 414714177 678906907 426133810 487802062 615508578 758702499 454070063 650706277 546710437 786156097 525767558 494675975 39585677 220082903 894449819 992626329 445235468 139407462 914974846 677299487 703550883 92984254 886928095 247652286 230755409 116671128 263166081 747774980 662370611 591533257 793685198 847410075 803342783 343817288 974037364 862810153 496765391 604657133 926395957 340129375 548422656 390323512 182652533 931803310 941906416 473046257 950207553 819939380 457753023 287791354 812066537 560324182 434830217 64548666 369486968 977122015 855150224 106860276 99346033 946407670 344354437 740083824 855060302 200160550 562290552 354762874 374023077 313616041 338784819 520904429 631498267 338219875 225050481 426509479 150038484 401354274 200985691 856942632 302414752 131397344 520996246 508446198 69311573 547438912 869964712 422705884 923302132 838280578 703683412 584928320 791540802 289449852 903254594 13978816 625101601 466748732 830370807 789372482 945552908 76042694 427884312 267051059 791500240 369750226 727363343 224390454 800850010 439086020 106791259 386402681 932871187 845654168 153494842 124422784 461876486 47201632 671612693 601678711 519125044 690624053 443384426 818993836 359612116 827326257 420914709 274863767 195857825 632923433 68362589 658805251 885484122 220155773 256603893 919074285 204076207 569500252 680902004 581204858 995696896 129765052 83742668 782194061 730950416 936615016 195997452 150770852 529653764 495949555 808947682 627801219 47383775 121440415 641908907 955110283 514817811 569627161 42170915 899625966 454906932 333803206 170403471 404125932 529455190 220340728 202769380 488679830 317041044 39339971 311546850 127191753 941470371 701190177 847764357 541930917 678709227 152253175 358222730 577547403 803983514 107110485 557790386 277778371 802981275 917529431 752371013 899071951 224285525 954700359 897236906 453711812 124147521 848159233 211564819 63571028 49980564 829457687 980173880 819428439 978023887 68716233 406410488 875358512 857223825 658487389 229362358 640845007 736296662 82731498 225045400 582203722 787118896 524322847 94045411 703801000 840329273 424018092 730655770 940642378 290999507 36600652 374070434 444374200 766874359 348991813 417176486 680352104 489179506 425062851 352878308 838337842 456841376 707047483 834336173 860588341 587689990 823413844 868227064 585193288 12870170 734648369 604587561 276286532 538246780 672938819 165066405 781478197 360351358 597360813 450989252 334386723 535534544 346284370 179004370 308088516 742610447 299189532 67193773 726326754 633616180 591935562 206702364 639904623 712412951 983895720 184835975 176954928 878839444 635054671 324733520 766026245 455741871 583099811 738047754 364992375 324516634 741560440 192266401 355509441 389393686 836643159 631912054 853177458 174696627 36015173 434668168 492661527 468487495 295071315 284426945 465491108 199513158 976633302 171987220 186635026 91131788 754243423 656592103 811607805 404021359 694442853 266355981 250388413 143080237 804082728 96723843 981525632 308359507 452032470 644528234 311909030 408751468 23463015 709050758 679784415 296016756 444219629 156538314 623555324 264902274 669201312 218535781 607661490 875945759 726444151 878655360 195928969 742992531 482223232 123195313 147925593 758974148 536915864 883296195 468262922 179356961 733755620 912637285 342675310 779500429 161893577 821443320 851152695 156248899 629903942 711701045 59148466 727980089 360282335 957689695 90395576 802687857 470760004 267286306 385821729 790343805 80551052 770416405 725052729 152490020 266868415 805649410 592284507 209646205 274053854 641450506 74925792 926713045 166319035 455435840 108885583 35675887 21707333 207825837 672525877 553057029 38015343 90144755 133509753 332663547 299571076 487420376 204588122 504890670 433568096 890186220 225981793 14977526 639728018 161205004 19819016 293963340 398752723 143588795 293441984 998522474 476423514 359957680 724545041 953249287 282750726 830081213 326310325 568713324 200546908 621349918 920292146 551948890 754285568 235607247 464690282 346472894 933802170 122476523 721744359 500954960 454918536 326265248 928468430 526744299 822172663 430484870 227462836 324343741 590163329 724781163 589237459 408082237 874040234 789350207 53456250 108662085 466643364 32370892 158547393 516881819 353861718 223356964 72883331 351355747 955322829 768807868 782487770 211536737 351153681 176615575 47345092 901161655 887566425 893283590 157603477 716033528 604409500 4794585 873943227 298113057 884959148 602265307 3332468 40704899 675473535 459398205 314906271 469984123 916705968 266147667 280343649 471209859 716739574 257324031 316627738 701368750 763478354 164939645 878414485 772428388 898821737 405043021 113070052 122096991 561939530 978887564 474055232 442782383 813622579 848251639 649734799 53271682 74979285 676830311 278540091 12438803 733595903 814890897 521192087 288453291 34433540 622934934 25595497 629730203 964175459 231885115 632600145 839924285 506211082 339920899 180674978 115083192 477304227 466844711 846528004 366130932 817845020 276348980 775318297 161192532 259588822 391422213 92614668 106577827 940405262 25356755 196086730 175238622 197944287 719122730 286515416 555417090 532585137 741950870 922176513 755260887 311816406 435965473 619508992 923420987 14333679 613818069 355692307 783208390 369794158 861193985 515705639 46061213 899838068 146398103 750678780 877505613 31338569 330358132 479254229 234476370 739575089 113984285 837910149 785370481 389952839 36159463 633621778 944277054 823057414 336402225 272362716 874712306 786658222 492436030 49599060 904454561 138551180 219800136 595044485 700070336 523541671 808665863 223422761 299122248 134536581 137044524 106569233 124755753 868277144 143520952 797184871 237193657 476465760 951932164 578488481 126673086 291763601 708607736 581718732 822204079 549372899 322832963 788521415 269879650 907202478 397270707 88434234 781473245 859859852 940831279 37631915 314762102 920023265 522390786 683918331 812063017 917154899 392166290 157659043 788913905 893280645 55483191 290416858 261757318 480282832 961540803 321432828 103932250 185052489 649383774 804136042 483660175 186110026 929960318 187618086 525727963 528643144 490332251 627407541 613771846 848343496 915336788 495206353 927886235 944355243 528529377 340728805 661479523 411350362 114140851 968236658 437800278 738980968 287205860 129410141 398907231 908278670 964243405 174631706 316976541 32397474 723472609 248927837 30103843 851583442 890078550 479911278 131214025 521720749 228084946 730321646 406256540 298340528 58595337 520063033 847951389 553943502 820256781 165045025 549146456 919263199 760934437 62258692 675404238 103792684 453325321 140764529 364326285 925761521 666997203 943932031 59759081 903209400 307450547 717256737 711597366 855354442 994753395 851009103 72300945 932312473 470520894 71082703 153281896 533274025 297163744 173548631 583839692 472135136 430687718 846352772 785850264 479184217 528522789 842515918 147993592 306182414 180990480 162668330 139787164 942819833 389338703 795570243 163842834 31205411 624383973 77919574 132404346 762507016 541800481 843416741 183416797 645089453 143672816 193055542 81412913 539326614 489401485 538037859 366614871 71397527 591964944 707505665 805279150 695656786 182557604 945019315 124683236 298209178 334787872 933332530 983808201 838474417 373715335 866352988 232728120 664593331 974558471 193612822 372657663 199878904 747441357 475333673 415830841 537247765 787862476 699702137 529442028 118285966 540884049 438633474 521285416 395251508 302123309 707418190 394229998 993603298 96499565 566777985 422695812 925356935 656973016 202035333 279493272 447573246 964484937 156452978 259579577 41595092 717458201 165681119 706557032 150586667 579360378 600931508 994411865 327842601 971371032 270521407 415290504 628839990 833284351 636366280 840796147 347439558 477206101 551821424 991534134 678720495 273847282 655781268 726286545 951671810 932523974 530978838 433101466 42516863 344437920 684000323 378461008 779821648 191568882 904140706 192450817 326606373 670934075 19285435 40806284 802959096 18327814 347257158 753272016 511484840 208074923 396250700 683338537 774819725 313067314 622429242 179064793 359137945 718537909 9946238 709465903 33691842 363802507 127004490 433102506 875213195 966787123 379069860 825616325 365503165 941681154 192931560 614813138 956216050 546228943 334615054 974227233 517013591 393240281 878106281 402643555 613155230 789894236 520574394 568508735 777860408 309817433 738818287 595014881 13545058 133885486 163683387 566490122 645545584 88632846 477225209 734514880 61785744 431018315 440929488 330314882 144010085 184405342 584600657 550638713 994331065 988143104 675317419 942270949 574250680 81005440 36448187 66172053 696906020 454535181 584485245 953536768 369801832 333401424 575467162 708341843 857014903 767372336 789076767 266329194 803841246 623916229 363408240 520093976 206039047 388397182 422788525 696101403 325804573 645335959 378924791 741992079 768968218 305785836 100145080 776181097 612539058 851634757 782657656 463641952 115414389 162499687 936244181 501472425 871968560 314021581 575026879 409726580 555591193 904499694 285111078 963420324 317836130 401423132 494741586 327243823 296817055 170710433 707973240 431647370 767910006 8160942 909312667 699554688 415615867 990720152 640563166 894708607 174603849 4725603 102961030 494584599 338147311 275801530 298331580 10200687 605490973 44991815 214919465 545412434 994383331 610337669 389682401 532131498 38110248 636497215 928613870 95974132 965992455 120036174 210473877 101293262 832593800 356708868 798273708 514464072 905585955 563245175 634142928 731024341 992495625 196913685 395910250 861941600 851532111 121377406 433087770 828705316 765439428 807399604 530000463 559314837 604536543 671606641 304813202 873492963 508271333 76232668 517642305 463571954 886254716 115959996 535250482 943619922 578215976 265888390 518902596 523742088 291540228 85102973 115093411 918081295 295407392 655086388 116262459 859985762 854408013 61683402 4125928 878400322 322939632 797191730 589654197 720132984 671219387 680711968 43569609 213866734 376530984 662143710 874627669 986453445 998782990 301861258 736252138 404643467 358895600 405617436 285967 794629509 627945482 359232194 808596987 574427180 28176138 784438133 703170416 67015861 336188364 897429631 594104110 564539702 760414114 871423955 201776862 40767460 529155351 15093358 773105009 489283729 665157159 118644780 484444915 599897482 66356175 865245600 335833624 225668899 322145646 324726332 112560936 198217452 939315581 905776459 743499085 401332891 451459612 280951277 357354988 626948703 529212241 313555612 449632149 180296246 848500144 35593511 141820350 104305246 772076530 830749506 153609693 341445497 967416130 533820963 372056377 390057165 640689132 869282074 417192851 522727961 149410062 827953597 417537337 472419374 968295211 579805181 839033307 760965290 688963682 401926387 588795234 545205545 351559079 652871900 659188202 795147658 103765428 855409120 605984885 553329159 90434560 911808464 454127895 2790930 600751816 282003522 263401763 520828662 312592902 100232613 311197568 182281481 69147894 279577280 685765965 647631798 893342701 124748152 961785153 587843991 473148894 878372897 716616299 729500522 617892771 668165375 749852567 30067169 974040074 245712987 310910744 128648524 72814050 45642481 804878980 420318992 895250640 715006746 903345479 643177188 113785930 971315848 805288248 520211798 867419279 765304243 510158409 418419342 824040737 858354540 74682847 858821504 301191837 680738176 738409850 239861701 54020966 528201774 499318358 923752868 465910232 818560419 747511801 964219828 502292570 711511275 436267104 439511336 519679971 7457902 330447540 145862117 767427031 302008404 51709099 398728628 66870990 393558469 397136262 925522203 963588090 792971120 913884704 684169278 442392733 323920049 258032868 110726786 710354548 854983045 289257954 4179128 862063849 934328070 175006863 783991119 888945748 134774158 93628879 239215676 557117583 425470037 35380606 940267060 746144773 546475514 214718712 259178138 267811968 141026498 635883992 267609779 208314431 828024405 491097921 504865592 184805308 923950095 741049708 561804621 960399157 856738743 546157954 701824953 838364213 589946726 520977906 46567527 316497028 302753180 380736812 334722288 692720038 62786276 295446322 422369122 735597507 974312513 219929374 906961152 476692120 73335746 570520315 824917894 463132233 641226868 621259373 213002064 502467647 96281479 977802586 799469613 136239879 19418366 730710821 202832807 496224233 234230273 267792594 288648745 697529360 81744711 244176353 889941697 957538797 428558619 578263517 516877276 277627486 468849237 865388742 601819553 311159366 975350103 533810040 367965473 633760318 605750593 158100022 61764136 783226903 318634511 711563367 946233027 191396750 492962256 823958495 368715619 828390604 32690287 330912546 946433904 994119377 134651432 823538403 511741502 253289593 777658555 175906298 518777816 457895795 246933475 868507358 988689254 164236941 681424463 571137717 820860220 313679340 284691951 49129266 144361858 978745182 525536731 200340126 219644653 824886339 145982911 6712330 546000603 11774883 750923736 841253871 900402940 499122055 935093327 963772719 46664916 175350283 998051901 954643057 404659278 689264587 239547428 537226603 828003959 465295206 529779503 218636211 99880481 140772718 617077952 942265025 283191719 906697686 953452377 214723485 740570258 441234275 606608901 462183160 971381269 226590019 881948577 156173234 295815309 147302487 538522274 204709212 132526662 395724767 332797700 730545176 814523218 408491428 526584184 725775623 636394870 270985862 456615184 983075111 270077006 850073547 234002684 871642484 151763632 329347682 163981426 394702943 894339595 466962308 793392827 113071104 509917652 788395288 167978478 238184841 275360965 103993663 782796490 945174305 426813754 98706173 725626564 878693604 992413876 49681203 437755819 637594556 755458326 247074632 814664250 606798428 24957084 593525045 764299268 492020552 369326401 986290985 606439172 998038033 142290517 369310336 553758333 824027567 737145627 55418426 312132721 126735419 363513231 919775820 617039773 159484352 704456503 57140493 718136184 731014926 897483417 361455867 593483336 641808496 465882312 172272847 69793072 772406510 914187379 859076952 527865332 413392514 159698892 237595519 911781871 17733572 542631520 603529690 102727746 166344135 179278906 43307626 492729239 976843851 380848124 694560807 227585433 773186638 261294488 275175252 332434330 91646721 296465630 798495826 305726947 442689906 342301732 545046669 608927758 792449849 528677487 902394983 997599115 829304592 183374432 204380093 278232635 835564086 663135584 925808830 315997343 747425980 760897575 965846035 578812542 892541454 497083105 91981090 552302439 723863942 46921969 85563588 365738870 513844733 446402204 294210162 553094355 368574229 349117046 944748493 128179577 534121175 86887561 579742663 665693709 229449802 614372730 878809272 906023472 681121101 708136344 110594593 865821155 804329595 677663465 856281696 371200712 991981425 326926512 635917189 754600175 397980590 235820339 980957324 43073508 195555244 587580689 533777789 716015009 870991698 648083253 80425091 375683888 680566070 151903104 608705430 619841703 529935697 62062631 504272752 80523551 643599024 537216227 527549365 116176259 934954322 876618101 650473972 178223687 215412629 955248572 976983318 522015343 622333949 416893216 539715870 532424407 189221649 230372937 926462192 794959705 553963682 879889014 151793503 256932766 106544579 404190905 215920207 105970274 541263477 32804874 353842195 784313274 983831811 890909025 772147587 174787985 114276707 212470539 775541178 384066939 825224277 205055943 369729743 773542189 545418863 659372859 588481858 655457247 945340011 43454872 416409684 934570798 329973941 335259293 486353570 788883735 148046236 759556267 908007684 447820148 35734784 955801647 97232025 928805888 952426844 29262940 748399128 906500997 120610531 502916145 49807712 796919709 433632556 691163088 226771032 626292709 715130605 182503165 395247891 547103720 60237102 614701902 13452598 108752558 138444573 26944790 809014821 938918660 949876951 438299787 888169265 910842469 270224379 141771152 924516430 433711541 322902627 786312324 472498092 700252082 872410291 436751239 651965461 458946596 860971978 463816208 525409089 620574149 705309078 263240798 588790311 148713553 339293309 198728812 398552291 590042609 264463374 864670094 496616704 202355744 895739082 883775153 199830597 929332698 592569657 816611123 458353700 199487976 535892520 188332859 354591742 252053081 892701772 741712804 304311272 921441722 598772305 422840776 73749680 283732009 803134119 289964394 802289961 223551264 652811099 401396201 452477979 725340343 999831856 156350704 852810791 530005634 940501424 288468561 480938260 362058677 579519352 963761708 453710663 31894141 988576717 729810349 433815890 384016110 200907350 411015249 47584153 631027802 400665911 453161852 254249174 155095132 840387171 606102606 319238208 271472319 899824880 716943055 667548249 81907049 629748428 792956782 696968181 485442613 383501434 817825566 28112100 643689545 451071208 442423953 461774990 676117847 523504301 906389667 907380043 42148626 745960077 292297554 798672556 655816636 970519733 867146530 999853728 532007228 59268072 882366136 145530 383054243 793901968 48721000 737382159 907172469 909868352 417504467 435674347 788439116 666219190 195558579 102071884 136623650 513448428 19572049 62623634 755635647 267483433 521723212 937970229 65243933 883018508 485742549 618266896 912287395 702989355 317610944 653288567 227366803 551587237 217707712 946805766 624540124 867672700 17900006 20310778 287114229 570726679 696617090 935002979 950275398 406338690 553106250 451314382 312353046 428637603 467880801 279197699 882229799 331230593 205541428 174629988 269687547 659835578 827672938 455648259 121619777 849434619 312282784 588555453 159640506 397374451 179532226 804626388 109485636 572719818 153204705 107616641 759874267 418181536 11751067 545443100 631081836 9392242 22371613 973701689 469291886 171102894 293320750 995510729 143364727 795817670 542529740 760255041 304134569 808242133 361704009 811263474 899870960 252026577 313173227 543386042 993470766 852429500 439439945 355313490 615132507 904313868 342721410 837155577 217522591 761508037 830528658 643315503 371474274 745299146 402771096 976043987 508473677 99285525 513392094 315286986 537710718 742380119 421553488 58353315 681076328 976516870 105395044 959588773 354430695 174417189 165105669 504796546 616845391 904107907 429992137 965788443 354489637 766055377 355142641 764966878 944223645 753615127 38494553 533969861 95102313 320962533 502761873 334292149 396864564 925157252 670225881 970156491 723118595 592593799 665678459 893969156 945910585 68308901 979092726 317950739 912600453 155250652 373227595 400591062 210125157 947143885 716963026 512334108 804471574 727315412 987696710 752746390 919169438 532983272 508719978 683809604 682147197 473042095 879769692 11667276 937131761 606635684 828196724 439754403 449749557 736187615 876592864 824132521 507204573 726101419 354709549 511983777 225072345 417656212 826349142 811371402 330062098 233787229 794083677 871863693 456441871 357853714 803771481 960657886 231874391 51003718 348201432 117165358 712457952 26572980 913965694 945454968 818891018 268618439 352121724 638074479 459977608 826049786 875953220 959568275 388496761 457830112 17582720 247312332 634654284 975484524 4835760 75534071 924653996 301977264 384898250 856460600 609142641 653222720 798168324 213006316 507122256 829467510 708865595 829800306 263468907 496069073 177597189 651110290 671467809 812101081 208560984 811616589 518185943 28343630 956417498 118685331 800529852 340886022 611301803 816485477 23116710 380026190 699471855 241501018 788905513 770477930 280960585 219974094 75007095 254451345 9937739 183902593 365281704 951580300 402700141 473300124 107248113 818531017 383316389 24305806 460411374 18289821 31742957 777780368 303372548 523140193 518354943 448194591 777231420 916152740 586667189 983492447 272987462 856474607 688301515 544238100 198202416 968411515 796166124 763732323 526811827 772303619 194410924 728128443 730132612 74104099 468435540 566261586 431415087 894129189 170527961 744215123 894263988 353144248 735593284 155001648 339710940 12936588 886113399 823104796 16908918 603719587 872694693 167626431 322466514 259692678 4265224 35320106 44548525 363306141 330580390 663831714 908078020 65671392 666177015 574780567 153323906 591543689 883891706 386301131 519273101 332674788 689978216 896526158 154838223 5822778 881712456 894522727 938934917 723616384 671845965 632156805 739272116 441710566 221707383 182045977 527745710 176631896 437778600 641441324 868379384 161672224 753876185 721284534 120480558 448997980 532269198 16826001 989445028 822519457 437122710 573545635 471243094 475916434 608287010 908958206 770979443 441304985 423148677 692477403 677470897 927040616 3511817 515773087 43846437 73885600 338246109 38762823 406131339 834941994 395320463 16541599 199592629 829175503 520819837 111988407 352984187 225504955 577057997 632295059 171497155 220776701 673679137 67117753 378874091 690686716 956243515 271179866 937012957 145825279 883828916 74777869 467899184 348117181 62265860 798882261 926720921 771308824 170244819 361608308 88971130 248462570 463514958 138436410 130820358 203724261 331464207 707694580 721347910 612259943 678940587 460852287 223942174 345870210 365032421 863400009 177660367 457664651 458308076 979101581 162488839 322979501 962500181 475928144 744750567 517964992 578786578 935021693 107071830 485380752 263179289 942568531 554160659 661738248 119687585 463370689 557556684 291808777 876521738 447436831 837151141 36042198 976514198 77673579 533701392 101984333 465935239 821462222 931596031 877341409 239955810 264745693 182730947 933619956 584536974 222521946 612859278 425825308 145608188 750139674 920662043 53611752 771244629 99176380 528403895 564578450 438564295 538274285 480459007 83450034 858715464 804686598 957566649 489420522 349455651 438956912 273969208 493666894 194310709 774368641 65561019 293190441 140942565 317843954 584718659 838529926 408532210 420072120 725004564 188063515 311591887 534102139 31981693 547019954 529952404 692770119 564575954 584043300 551527383 727187079 207882561 609723936 922504728 995526451 581470686 737377208 878747063 827026739 49918730 641933656 881250857 549891675 524081647 499626207 477788612 533373979 360166459 250680152 104861298 517882448 81202734 974652518 570024626 342529979 94326505 179887063 495611796 69057945 159885191 288541649 620463547 621480024 419912453 486141085 61445388 711781235 400841586 40820157 981594708 967610903 98164760 746532826 946736486 475803284 458171627 443039409 749727259 142295455 321782564 826485323 482732642 439584207 9295890 159782845 83104524 160056369 638448369 979215570 278268350 72217692 708268259 837273363 119958557 576373541 717318415 309490150 68316223 217475016 630987274 119207226 842187879 921744173 223532006 230094575 885773511 54857040 140882622 244597365 698631293 452850401 727423466 182689549 79903549 161134846 87110018 7315364 769936506 447863807 474892891 902967071 556664000 419744958 124266229 861950605 664198294 179627354 430857785 277259250 332411561 469503432 386274173 941967826 391687589 989911565 25127230 709385797 641206866 948480415 212939412 574867373 693045606 421530803 556591551 816531754 767701963 708034646 117832331 644549437 332087996 483276067 476063961 357622288 771380856 104778048 395854298 896300098 287909330 38254170 902463095 641640907 418060214 708825529 180182396 246847392 439625647 523369762 810733217 876076202 25186399 205972153 863089301 633735930 753850306 834212028 564459549 814834373 358646322 692900792 209257885 667212241 785979648 113471530 823425585 125079269 352885313 187608631 639896631 402012351 860896703 211007573 942068701 60150284 745531491 801874425 416983681 239898898 498139007 645492372 645316265 509837299 995164531 364721765 813997910 772652567 237009453 463159342 582452549 464979444 737883099 26816913 446834823 24950079 289822005 791318280 435934097 542591546 105950070 311955220 773138864 648017306 30719237 164124 296277216 32595519 158250297 732106230 950815971 726177793 475164964 27314825 859707281 373313673 53068472 465424435 892044344 153394244 888458417 955213758 399494743 446737164 686630215 877020291 612442860 770086044 665044399 251251040 409240622 143113088 385899663 846716008 372105598 380407818 537018238 811735013 553110979 517393262 89555820 655233309 218313219 523891663 846467227 912193562 719217167 676541534 366139717 282707079 866804377 900111581 656916460 658942362 783010007 463430134 28174543 624812435 180093440 372800526 815928960 335324690 578851789 685319993 18336894 962332047 737541836 750268806 179954438 928634471 803159187 206864132 285357659 604446424 841613522 820306805 305575141 875587541 803458749 172258547 870613343 45038970 768421625 310827849 75252612 616777036 290545544 32940323 27131436 767056088 751456606 536040222 27668583 891618140 635220617 361227527 733263199 750712124 402645438 271965924 932530723 82291150 348503054 684624377 558805032 822831293 818373398 821249686 954470105 610115231 466282773 590698486 357181676 546063882 625760329 845463258 885797944 874801203 53775728 823050410 166909157 154441430 362377720 298945268 329941251 239405343 152048173 116237760 267417705 282206219 879030566 330430869 971727768 900636393 916067452 508041048 489528125 359428556 770308582 852106379 778990941 970505751 881276717 337060677 726554627 301136453 538231348 1269665 112697688 559600572 886669542 864890756 934881363 765819219 867774605 797243090 835924137 650276948 42621740 286408701 11312535 521872516 248836792 217101633 751756195 601440408 150779148 712358784 630796649 77963083 176956425 930216917 423018702 252337029 423639192 593256640 424900564 349772326 92560945 31098011 784628730 239689127 933705379 697767210 691839374 15868113 176062166 992263187 2281749 736191688 108959620 77824601 162150018 591025676 979419478 341332200 70546544 883448689 730101918 595314270 138738213 818664246 725338778 361691612 720398419 815892376 260106946 42219146 971957232 81071148 734953645 5224820 259370616 961463894 269548834 966680820 57700203 669864355 868792038 666550862 205218703 524686944 847556282 249929264 313408832 792107103 358334482 492369145 422082441 252956228 297252596 70487939 828962006 625759373 656790388 175306275 649912727 380983195 413596107 768055927 836341041 250751816 360020438 945095850 917011445 383843699 699666855 687346778 155065270 848581392 743273107 318882452 375836917 967437083 56118993 528551427 495204077 248403223 508096169 169338434 140010735 855307876 404354050 481013039 259050165 920896875 332523736 698061503 7234743 855370799 284115006 497483703 996970302 570511337 497997421 415694872 525581781 840672618 973161971 119438596 731857268 522408688 34580693 284515232 47819411 231498211 489563781 822423555 218611513 247076671 409817831 619490498 235454686 767489044 395993368 890107218 401507688 1630921 618421673 968500380 711871253 304249233 643826775 142710575 435347053 23870037 464309953 659895740 207082032 54362771 258695891 286070492 7853041 198333480 108834936 824112369 776795200 804746786 913573706 894529841 905669697 439036324 271530340 702108883 213998890 690449574 61803244 531570553 290407332 886093007 306428160 58192570 798387903 118517652 208642437 850374876 542433938 261866128 146039235 21534823 697306997 547589101 148707762 754900023 392056889 535964348 18261784 260060902 880003143 192788506 325089638 197438429 48833294 358474712 522471948 754723299 785166746 12304890 457776009 254255789 786074197 454242015 612146841 167381614 442368064 943298222 764976161 803682958 367710575 6698771 576623694 926601826 203501660 301853970 137495095 944071674 561202606 368959580 199502616 131462833 445108440 597553287 477488562 6708195 811940839 893974179 145276228 322580201 359381912 479492537 185394326 338970144 60378195 259973951 341064443 275311706 88180021 771685115 527719205 491335212 281268392 684933801 201593153 306177014 118931666 739339433 352663038 117154699 610059956 976068304 241993597 144829814 74303645 859536776 881994211 792748994 218792200 561696984 60057335 420076314 566225230 866874923 548686517 607037803 709101392 386773346 124967732 687064122 545070270 495959590 155107383 716616184 458002447 565075814 496552960 21577393 971270244 884723510 844904257 210520425 163250715 138238450 693684090 855738121 427890524 441157499 494024306 404384950 999353062 533096471 675933600 474855307 318501600 206547845 925616269 648746820 757452718 268997639 32045552 422870721 574413222 779184690 24657164 531990234 188084448 51736491 619638547 55098875 136417045 925189736 660187281 146683055 776352195 319549432 526904175 323599624 506372741 501674225 767495135 345446264 581358953 298050719 685855623 837346292 868493103 359884204 918617555 122229381 143374236 468114279 828622618 316427748 908051269 794926408 555156224 739332321 703752497 471921718 634979646 547746910 306334428 812232401 111083204 926470057 465203913 571569897 69814655 667979713 617860757 983261428 797415452 886391050 30677082 702582321 233055646 730623554 965474984 700338685 183788157 112313462 770205697 843989585 839500962 938606298 283816353 428866653 579271010 880900446 599570759 916352493 34241071 364059937 721009992 165220645 608691211 974295523 877081211 632445963 995902460 637492084 353670832 593895879 746837009 991351195 254443443 722616840 898969753 182095201 487230645 861953729 68752013 926354321 582260379 668350274 917754561 742462263 886004651 73485798 543420606 308552313 160663232 323844418 862033359 986373783 273152309 646588109 364918763 76876269 505220658 576342335 923768357 691348140 995230159 731921697 597535357 110997776 441217220 649201153 909122355 993184120 126506819 994554218 714731308 376003177 470727526 99013174 510519984 12182165 362517818 977949261 90817974 238858210 733060736 878598349 554072927 371546112 192551433 225830093 216825004 475982866 503326567 141963687 113853877 505966840 598129109 401339399 694555324 458905102 966638257 946810981 711053211 50134917 610628303 120854665 863199906 412247613 574818531 170340751 237115686 213111445 467127828 250570109 439028606 238540152 790703794 74153459 124996447 759974062 594556197 319136736 274056501 504295629 587771380 502563115 314260367 279704902 924502883 168895465 838946830 785101970 937540432 103199527 140471470 362992304 969616484 224566186 381198166 492652548 148262508 390418194 716551943 582429540 455079179 988163129 823701444 270744133 863190087 938264626 641521839 851668177 738356582 417611286 519961126 133516091 959703780 93625761 550672043 74094170 395813031 670481336 886956244 810290591 670861042 506061499 168342582 579565249 709214720 454074959 643656804 891511659 610966456 76049364 982002060 715921290 77536536 286632093 796240543 726522262 334190691 986726482 419228012 350805941 215464637 987546774 333869865 113724959 496347955 654393887 4579704 751989196 672048687 93634063 173395979 231916704 279016272 814452649 990717567 118232981 907666313 279949345 178118776 124815582 12226051 514055935 400896444 488609124 585021876 58214038 95923349 929844825 80499746 59975137 321644630 600343077 268290953 99649887 96358773 844285344 400753843 868178767 336207727 350167412 653965938 400096061 922951682 507168995 875273360 152533562 163988010 306696653 519466890 720916811 426120911 249920483 885839004 112476183 632548809 673289311 905967919 182477245 276602052 921391920 330950610 372270406 198342645 278667227 548036016 996238232 430824148 738654184 355102478 90645040 498316326 57732158 568891062 265425749 164590729 971051950 627585821 412843672 756599864 109058910 283163689 152538890 754683657 886244744 341504760 928215800 821574032 624641181 983920602 409994827 394316948 633231832 948177994 221081145 308529653 736882973 298248928 727649654 743778903 48034355 45537619 666371008 671650617 340809338 720690069 222439064 895130098 302329174 905222438 250483132 393516058 378388416 242377915 180560508 722578604 201699600 28928027 830684998 909740074 965334103 778006064 371639733 207291983 369546825 54650612 219732870 93567759 802309443 972407353 472136745 798594850 190397610 316214657 610842006 948711922 762360735 8395688 375529257 319688991 668993829 819091965 567336750 127585846 383062994 455651836 493092834 91366606 85581933 142104950 380764242 563326807 775346960 91589938 321601764 741629284 20803720 157924215 459968903 478270638 219585254 913079318 4779162 594521296 495573841 580443253 434760972 381213933 107027572 606675690 766386154 314229541 251631302 307974403 580840906 245721936 271441492 267768932 31800799 859665939 562775938 327708275 784952183 437341948 246252805 464662464 269592099 350640836 733409883 130688474 575851359 569008703 483242112 165988947 355974870 23686761 279296954 428687989 390905366 907261085 164786235 536461652 769144183 639061683 550715239 245392979 816376903 950088980 159130412 39158168 517929349 563653290 225232090 873371440 487788954 434043456 964260843 258349575 171240855 396559222 881531798 394643813 346365198 612734016 287584189 120862361 694467650 142562322 219168058 814350763 810468333 430883792 864177834 239673230 124270602 550728885 124425160 45033925 747324756 166991843 174006130 394867124 32350069 786395018 809626357 462627871 654897108 189216677 739315354 660787336 293007602 221098252 402734219 75336203 308780729 181455618 659695511 116939280 130043457 159843572 954604943 273442046 274407276 253608274 270601829 783992086 499860782 512498156 99298313 60424991 943496023 76509602 456292883 335274700 445469388 245717411 110003056 150779732 739104760 739329049 986120463 260300784 167918966 994444884 754714632 416115100 127818520 385365999 423002454 9286252 130739268 369956793 435471910 85539730 100008369 469980337 118179702 677237869 519562659 217127589 118269070 995242795 939212103 450795453 410034651 870805889 634130987 260695691 837308673 130398191 902929314 976879501 534954718 995204584 544456364 998947934 111949305 215064680 779096761 420932251 968050785 649600525 74458697 115797163 922893067 659470637 399126493 538723560 630436321 872926362 62499632 726531897 227669141 252756921 367592537 401337552 548605103 521558171 876713356 392671301 814928088 765230176 983332256 223060357 876508525 226938281 385560785 290263567 202615840 177373683 880508408 22788600 527660424 517502695 198665918 179939441 441452269 123075966 260141714 713453442 510860678 312737142 856794503 603631174 542804863 697911279 973596024 817649123 402203584 117962790 649226932 193711287 409891341 647853644 525379365 239828017 29414721 488227381 779978852 422962540 318356412 241927646 842402293 127578520 769068067 226187926 606017636 162562950 493714682 961189788 721019468 84357682 340310186 554421905 937399473 796242508 297937529 942279309 880259314 658626169 32961117 275980398 819548671 295783618 34983487 282355907 903686649 519596797 121488671 828420490 670882511 903293792 964732017 31673104 121064632 830177706 297353055 825946896 903645986 451323690 404078114 792540934 789058437 625071929 629212584 785287361 102141016 932482882 973490394 549345046 575853655 357118209 409616444 133503476 924225169 914548805 276649085 743060702 884763631 443982899 157069885 101418512 350631230 96332919 520053823 196329454 201809738 703540177 631059908 902372014 880932353 307884929 988992081 693347756 44273391 909421945 679499734 711951941 879859443 808578495 401256696 237210712 353999983 838229160 720122139 605075330 610966301 876703248 149968613 428750490 668105163 256448602 311136293 340489857 574446405 47743159 695561441 166576246 244916277 575352461 56291475 533847977 781874213 771343970 2725393 431991474 557380527 663637216 476937302 409462131 47839818 642134642 918870994 876813926 236637384 976656776 841991267 719830895 964120287 244986071 132283201 365059325 303663583 381470586 236138911 126927556 68346525 367747560 550318419 966952979 380175175 502562553 658041392 266741924 838409943 763492988 724946383 609388311 885475094 522573593 204108950 915376186 850696466 665782962 685552456 386715668 770915373 801169120 2256541 374727870 552366742 581226714 835819596 32366465 339119108 511606463 779495439 421639310 44539736 968473037 755072911 180114516 756853938 694728212 864381436 119079424 294520790 369248493 739361699 532494254 451123045 85057327 395496780 155092609 971414910 483726498 581571452 159557957 43621402 236114385 870798888 157589893 606701943 289485368 867455006 362137227 4856441 103912878 924250819 996551936 857499008 171982025 479608024 91364140 77213015 240909615 776822394 112062830 840763278 254599443 150980741 51131029 703390766 622560386 663213770 239677978 72713640 339828992 410838978 150355606 761839223 231822052 190053613 554260252 349178005 733448980 192022142 254251302 538753007 295636633 769027615 135224399 860331457 994270250 145931732 132235242 975336771 369895417 440105659 224234059 176965281 657685521 708052909 113774779 134176692 31742284 129742598 190062491 976124880 143651081 834183085 480091158 257545848 749488547 157299355 808723188 492039729 356144280 868238365 758273236 423154131 194419548 952527366 991546394 194825919 417048182 371446892 688671219 413677977 574591176 42875419 207570556 452778782 155462362 174808825 453035878 710677781 402156212 613121561 369394501 650953508 743696611 539182580 766322578 328014613 866512709 368690243 880136286 312862556 408146025 105815793 557207423 796309943 542662688 764603574 332995130 712562977 371613493 406732681 688619682 277062112 708183462 176799484 354456818 251362790 635919324 671197763 986846780 161700631 319840298 644794482 585127848 887141830 989721917 664354794 289734635 903134778 801729554 730708162 734730676 582772139 195659936 299897434 610730846 275239449 461481184 59303354 948557538 663051084 216128687 174594079 451928191 676901818 18458410 358457217 401988715 642356417 497307463 23843673 345840392 32383034 992038533 330742402 324255594 539588586 375373792 644823736 862110777 926404151 219980504 941996684 314271626 16856162 898203970 669477551 806551649 334364855 790700472 882897168 184928777 433113077 265818477 681184946 140961560 431358523 381435779 275546139 680812734 326352737 80040108 34779844 753303377 580298861 843942554 218238970 431947098 7459450 552147469 400196479 156558269 81982625 877113594 63298776 23624158 200830679 3254050 490393530 220035015 315902833 135064969 790027941 61891602 424959184 567495635 44646391 679421257 171791080 998646768 680021988 200280187 35268384 513345567 295972305 703362258 535819541 830278553 276641604 401404016 354573948 718751272 362767658 570009566 666886107 377666461 421638629 608861282 727279471 243379433 841724153 22715542 398399951 674589498 335694431 388844330 905382205 218297516 590305314 140337235 657920305 548580110 849667343 235491211 106811659 155246209 884435316 1963609 994832330 501880712 905805770 476783684 395181641 781423463 835630361 930106378 791482896 383384462 198444593 589558158 627171289 766366663 480080532 294843817 502892757 929653099 825279301 821161351 479801933 457501201 371995009 260662396 423950909 303122617 914172203 675259925 63542786 938319906 892733328 600466102 197183754 372184713 56190843 129518369 857124141 631471330 472876488 849008731 164322208 593328132 176670885 911567541 363617822 725254087 49093489 1806595 319486882 70175638 337269968 935775440 787971705 192786992 914577244 564517146 434418913 370079560 191837327 93822283 995860687 434973645 280437843 193646811 184493430 144051635 416440304 385428403 69565331 620936195 277115199 706767572 928970149 460546950 36108968 978735856 842771309 410353515 878735252 225064772 864203439 854194823 823754615 294630501 209354914 971971609 424206368 121727794 802863905 304931180 164185734 239438501 803598090 270358677 633018178 967506464 101833526 527912756 770762072 768123569 385221508 429559735 555541377 160204245 582486284 662008283 344485955 767234904 75265744 429740388 330542688 269761213 7204461 713083784 385762889 87798950 854552713 601783823 358719029 348541463 24690459 336562412 302199322 64925815 800184437 710159572 451253871 399025793 921714195 516026284 767697916 602901747 809570191 233756964 55431177 120119419 850416845 320078935 416661413 917938815 165863013 836707651 386993404 146895872 856899598 785566660 69716748 564869953 147052885 25762282 810924285 436937163 846133257 362387696 57282491 196318664 667080305 547086860 418813578 856983229 16589249 562190031 994938660 609326230 972127999 398968969 232319887 91887951 384204192 338614242 585928 336176369 252412211 13771815 528908259 277797942 519451354 481871170 10418493 409947460 103854691 570390882 232431727 603824904 38342799 765177988 863329108 248277440 14733702 897233097 353713253 112733294 732934502 584750727 273117089 649206894 758561214 56422580 620799310 844972287 471641592 379615283 799651984 956567869 34111520 115677039 679515775 821013137 117564375 192638589 42725347 986463899 568923275 177747441 539615216 981059950 365383506 397931131 918391016 683121765 988079735 351753503 967560623 368881963 437480244 623621491 427297133 2751517 900699371 426833398 294954231 400516129 513271818 250643664 959727968 685817602 659628414 183101425 979927866 25858521 43948860 955651347 466491668 89747030 959467710 919649193 441553419 522161787 109845135 558980160 466710836 699559853 219064769 828700329 289598435 325552939 637089279 121327275 811328776 570284917 558113107 52952234 514984602 439841357 886642849 226066785 519233698 983384302 517839238 607567154 907951410 463909889 523186929 623397228 516248237 591545955 384888894 691870980 638904093 531935271 829084504 761042659 401549219 831034957 283199248 342976845 434066717 477930819 868919703 639196332 194359374 276100268 390676838 747623335 171634683 529595872 782417952 43400714 695304273 40520407 355226137 417627322 410470973 76085125 855920194 44173364 837208331 902889517 395605689 108584388 578954711 42782919 128524113 586901084 785705980 338552010 939340101 331338999 959672382 645554988 647668727 334988110 354375410 245068111 139073500 603073840 60151243 117791265 260610613 7814777 17155185 95274276 858258863 472371717 129706830 466367408 795742719 438741841 757866570 994928134 39500365 6221583 841095307 732033610 369283512 268426890 692143898 295321136 901245197 352681515 707814415 218138956 725697757 754315717 715945929 734676244 433287731 836274885 182376152 271721054 233773508 754645783 809237518 773690654 429671711 983573236 886344914 223934160 788938373 157917651 202148479 837711529 97493257 209399316 77343017 197726044 388072448 29069212 897785765 511229829 4728655 413158389 3778300 83040138 647573397 860991342 950546766 755546133 530122945 168493583 595508986 787167599 496374548 378527364 282503765 332656820 276071388 385539930 755602587 520059839 39464128 114420151 826087789 515804264 43449888 774310382 616462979 812085643 372417317 162173218 595938457 950021908 916298974 661826187 217956301 948456146 544741186 410298619 915059046 732024490 333653094 372914511 208432522 982215187 894135913 275712544 45879479 726964285 413964273 926438951 292493733 839793921 231372811 262229501 334316355 749562506 212136329 853579288 51736955 449140984 578098349 913541686 830339735 912602127 687337647 469272736 52083519 331130027 309335621 577962933 704655677 300580335 521594371 561991201 745127042 517010471 591996008 750787814 39385503 282502501 745564186 449175954 164435884 871425276 241421173 241137876 841700668 393703298 790002031 692013544 699613422 434842447 377060986 286656318 400206951 322474878 898503688 805100783 89136439 56813131 873351761 275474485 348309004 553225174 944966664 781535880 598297895 697619196 783506138 88230724 960598548 760427684 976120610 519348613 95277419 524331816 169706326 40331992 81296332 753809735 858664690 752054531 620626132 952194346 245420783 730368809 184850372 346339716 787846795 998240456 638648253 181388260 873138013 243102858 249631266 827634834 344116262 31706579 952594355 903652703 701520206 361635194 422100177 577385713 633578624 697766081 213069167 568661867 60711390 252024570 151620466 436365071 936693747 150701422 378610199 768233893 451469144 761484699 323510932 84030550 75990221 650750005 234844839 239906307 249122008 140984846 893227713 178970089 662024158 959903883 263662131 344939771 578085483 480678485 773294879 804613173 380812389 107924790 468825181 410152509 877269518 529006637 610722914 162136627 738484416 997741234 358380177 821613048 167606086 552290264 727836876 407854080 916553870 858463611 433018204 359557344 367105792 891848665 331847694 720745324 302679134 440786793 325801756 51645274 58934479 656165300 974974451 718000658 504084053 745256292 333551562 557068839 382031850 619312052 706622355 324782617 948622773 469879771 589827443 728968040 132793664 722957061 167934908 489498587 773066865 835692211 590405179 95056731 759701354 1054413 586575276 531212818 821399686 529438876 669181665 152939423 948755203 336646316 450984468 651911044 866620030 462739736 187939256 119897740 120227297 88318784 348320035 936086747 737324070 837320008 605178534 616898709 487149389 309234164 965507817 627450140 741281306 84494082 952572021 594134502 966670649 93311229 240773156 461624039 871316168 539313078 584912766 943195865 630828753 527598766 801237052 462249650 100308100 3353031 624407548 863985345 214975893 938169743 752603889 34840356 423828171 750166445 524167940 440008755 102331706 73058441 406244994 71344907 738537983 526618641 641387577 800114161 482690893 258978847 787426431 605359682 206650680 993977325 965380267 378521649 29264438 877378536 318280309 141605620 826412232 365973603 443460850 704832142 676417285 558350035 641885235 966764401 62746569 567605252 386117687 59636267 659193408 709061756 823301627 83447825 657345604 673040566 15149360 905004635 166727226 227161695 314087936 635810996 675136584 99340112 934809960 919837827 403921672 62657289 205186920 506697099 205312609 96229699 692226010 253694666 181584212 772952091 457687053 304666638 965603271 895172770 935924343 531795845 907905011 237775362 28492945 500073178 658784835 676670568 527570416 537195792 711584726 831674819 454916645 46927380 182716010 34624600 258497029 688349747 94984499 492891488 192031064 94059202 628637357 711594391 307077235 390090082 148676416 863726390 740919101 458848557 462845018 506379255 175174916 979906443 411465295 241898196 603639495 861608936 89425445 924983180 84609606 169419958 516956508 805603159 576118850 117537388 719537942 273766621 266527348 192417769 545704221 555911151 528383971 431056901 346568732 81265206 404486703 937973877 540282738 326757139 986022627 364169600 8995524 864464485 188849923 506597223 482439988 756808119 100390202 540327306 351664528 662874089 197072642 307619818 882974793 951120950 773752156 680776500 952612165 427558688 470169865 848130945 567734466 253497358 449967618 877090004 372638276 764087892 349977537 696159916 646847538 487584544 374758193 106979169 758250609 32398533 311305018 906357126 664570514 187315714 744376826 192597361 373010406 53877530 7898773 704899363 399628229 740275742 175450186 62804091 659345285 90641476 210297313 623147819 831169544 488308077 441243033 617957004 134883577 908052948 76375299 656716367 793826679 334336257 49057114 622011149 986960289 665382810 998955290 577343118 271520603 113557905 621365544 995576694 988621391 397376164 319203088 17995589 265746865 901660669 630400905 22404344 514873514 787576783 174188656 135008956 32491631 310668135 969273201 753358529 234048240 654969631 10903750 257186550 583652234 330630767 854776720 431186893 501074693 93535403 899549404 950033300 396103203 764822219 419624186 651276488 259801046 793999844 73824914 579260869 11418757 776562589 708231462 392340452 830795580 884020431 866185847 8196594 820554765 622073915 775060223 195454255 682276299 931886301 82028643 160736003 112374301 331853968 475665022 961400917 603283748 482544245 711279370 657306934 313318607 105119505 100026262 683234021 936611739 810444177 832988319 749976840 39622019 287086495 398713384 513328037 499979040 735816532 428148773 483868994 440285062 754866387 897159085 883278908 231495061 810738635 39257140 789194679 892908446 236253520 294539600 379418841 986245144 395011329 629655850 365763109 747001422 677787404 385528928 713242915 702872940 59502517 40927837 780902644 748133864 243237767 700044366 349937240 973779183 202369015 288153690 150708836 105501385 945528687 130567421 299816142 338202778 404669477 493885529 504494194 968021286 337991257 730539649 950777101 476027377 546339191 193285060 962906253 859454651 581353987 247413248 74110229 255450525 354594606 688383112 354358423 69240409 730017409 848954130 507335450 232349451 13365093 388493042 431489680 963008183 157689070 3327726 117296701 849525720 343175470 652125649 20212694 738168744 669923757 471238140 902768545 399934610 941081141 75610364 128255247 457709284 713344145 366932462 783136558 438300980 455066217 286914975 699806995 734400603 527062419 673316838 685234506 705921524 356540729 428209056 868648033 244495324 196775046 778587200 24884642 207833198 923750547 507347817 692003189 828173532 529515132 741052534 439930647 787622463 64940721 834774879 921798451 842985282 305101758 380902830 394693835 905775472 32471926 380873567 546310822 150479874 56054938 396531477 968399770 500309161 161437055 949665361 237229510 190034242 111662335 998082095 477433667 806105674 476097625 394433487 458666486 368322428 466730965 642072206 74658129 22114737 901533554 489815301 870588869 393204218 709323580 240200291 623104775 976135212 234653329 876208701 338009981 388315736 777592652 47775736 243720464 392037740 730965376 855467687 226890501 746088839 763802030 345113843 584620603 762702712 859251710 873525472 396044651 206150621 945560925 828954503 971150427 246280480 59522580 38509083 328028787 41037177 672497310 853597252 57074408 941766661 759609088 475576125 543922896 674804788 846481495 23433034 760530887 164782057 549932291 840294172 974609957 437916152 305256626 462160788 645647743 329220001 363486332 625971703 643367892 895852355 513073785 994236274 605681671 143943764 697011807 386338290 702084136 464635752 509887147 526524624 616209953 641206642 746662571 808953812 680548236 605256338 820089446 572406926 959212246 916030611 821647923 743101947 842384402 979376351 975175293 615349753 826243967 876174506 647522277 90902569 745285131 954687671 181655765 868187136 344321494 657659461 798023118 492076657 206596806 903429479 317001739 305262585 849806382 673906053 542016253 696992754 808927096 287706438 590439744 500949627 804261965 604882740 413860977 828040210 3143857 185929178 679058986 602185831 837599753 95348959 70428224 416205585 785239132 136611501 481122008 161846465 720675163 992492166 695261069 326370304 549395081 753339575 735448256 84757412 153548522 374200707 347474160 370377632 993752173 140117154 490234208 661326438 943128577 761051027 945346902 913707466 637268152 81472224 250225847 215031656 421162182 876648185 76871668 777354366 682160350 799910891 817926254 388270123 313092874 5983046 866185881 899958144 473164028 307267122 776136621 156495538 572470376 388268155 532357282 237165883 229839213 304785444 843304363 588108089 687091917 779698637 108116854 97472667 985687519 312673912 303550421 718354876 472175608 252418713 966426915 253752552 4895287 456615192 974143950 400257470 175454431 839373370 206417920 850548665 102276982 328555100 222211281 480557227 958750425 588159009 294873523 838070366 654215845 580860852 677413964 830988242 610770763 55780119 893840020 466003005 592901122 958302984 250538343 478811759 845396207 938141569 288507193 113143661 23330271 246127944 337353182 785828141 258967195 300659057 804282969 222993955 347162847 962604790 119056434 713978893 362823771 499715429 207140750 39936996 199683171 257844585 389449157 108961203 304736482 178537206 337806049 944873855 639105619 424756161 865161607 528911928 744934673 466396088 710753969 577090816 179214696 371203857 204582179 102587029 996929551 183962111 219982760 41530428 381589089 982254489 809265318 326332539 209774402 104142009 900214545 920878349 926465383 97777395 889668874 230322626 577852813 800595282 230003688 313388776 209248681 577023545 233207049 742395060 920093882 554577046 122420986 397649865 437395314 433407973 83383182 360819836 279286367 970529799 98992373 922501892 227894559 276550531 849528411 353506971 261554008 288420715 168506284 409896165 320370057 624127127 654640432 649244513 400692589 423178259 435549895 816999171 303341891 871481195 948545575 230453130 215825020 365360330 713066594 225216727 847154573 99362697 216364808 884652696 156461933 176246385 430665782 59746219 510760839 552014954 632672103 619839716 868577631 72436394 664003804 888936393 177489065 86208435 631756921 142504204 248802574 733294613 213042583 14712356 942728705 353361669 493464551 239933540 211932166 334984029 330280794 790432567 449947697 812023708 695826898 168345578 746699661 219685278 330333499 617908463 834718026 256508041 602050722 939374169 687593559 249560260 738626835 840042428 976366064 376070875 505928230 367517900 144696209 317785282 637859548 132373322 796823811 512048403 48472971 179573305 571141681 56440988 809360085 186600441 742593191 514185463 268074168 908240533 624330619 865987474 670172806 546542390 913352603 64436753 915956767 755944739 157902490 539343626 892091769 720366744 577126011 332997884 432523049 390778710 275113599 966238271 679753026 991232363 162481090 966319676 633522918 348649147 154444455 357076755 139944464 547788795 612419137 804262283 570194815 976610458 600437173 79346371 819781530 797091286 412785960 611186472 598472038 656542874 770539156 641607851 45722072 536012626 832371764 367981999 315103541 312381690 892664911 417686103 970619981 852401871 549942827 467150974 111127736 921987212 619834326 494753985 579620496 451615462 79989405 369435173 903852778 468221680 150280309 29668296 386199141 392105991 588516235 430428031 90674907 749595733 532634855 916704913 908923164 930471637 528129351 700645212 973441738 939390158 203097286 223464122 357954497 891353165 870633282 896107840 23764911 624290575 892983893 184501985 452210956 59400312 763796539 658524764 495907533 463209172 513247965 30819030 284764271 172341142 724647540 629867121 895874442 923197275 899701706 930157225 895065616 244642338 447520808 411730334 28447829 37666437 844644985 121069592 623239516 552079247 340098210 227604868 658096056 154198661 929812422 599191469 994625394 860220326 410351330 237794156 985909193 294909090 20222992 563188649 991650584 91589855 70418667 723570209 531387429 991740165 567927472 679228141 866889806 307822986 373850848 748693153 458696884 898447760 660093425 692185800 529252427 760116653 531361057 750619452 341941144 1397036 303136404 378377238 82563861 298012187 944835322 840725020 514502987 318836727 27452371 103552363 236374195 665082542 22449485 431482226 524867791 241210193 493359317 942045446 790161714 658852414 209813647 667286862 887386530 811947511 453137205 605913097 97392529 889738722 723483556 719324741 609689257 525981067 184204208 458135393 550148728 677226427 505731459 497656966 176894224 584493125 657267369 10042531 334587696 2071046 934052685 807180301 201390307 546359103 200325381 638778803 352052715 72584778 99856563 296043822 622811986 273008102 507086376 56087373 281010388 140656747 874559582 106859771 689423847 17881388 876305590 89561843 102416971 588337245 860093696 964279756 425282208 138898233 841154416 241699573 361911392 659368279 828358928 518991762 598379991 288825663 431068991 795338960 519816420 986326143 686699479 371912348 809009238 877029559 25996972 264267265 810871348 714527641 74525094 38791584 444988311 108278589 376050258 863857685 184269860 806465101 113793188 21558916 250856400 644763702 828669157 360613565 394408428 470240692 565728432 637898500 475198359 660850066 280768087 504608281 656456453 316214683 196653527 340887740 495502450 932445705 686755538 88224575 542424098 684802502 123661526 334435519 636839776 990833356 457744014 290794525 486845919 269224113 900625575 807655356 326451385 700258408 724397342 890655069 804124358 396163 621155676 509961900 773108582 875642265 303743435 277897586 37281526 916121155 633791431 392653190 55789401 300382173 921647156 773375099 517310774 373334936 460267304 322509066 974792593 235503513 131587653 920524166 559814743 895739146 573751107 689488683 743888410 906136541 415943119 135628569 955410185 502545921 974465547 33562967 92880463 526323020 675277708 243086399 941793290 126603391 97000890 536887012 526764040 353007962 324495875 976402023 702401760 591810069 167156478 93109452 472901775 380061025 310624765 352106535 371513527 471538415 643000129 405857320 565767034 560730724 469444255 670770621 685792306 97749928 137796252 278524455 978248735 414643434 138259766 105197145 916085497 35719479 377622570 336466871 790965393 384046145 252042879 553365234 143121510 864763978 111756894 89781044 638563851 951986727 924544504 497335014 991081090 620761708 332439725 363165282 828184894 70825842 484396274 456276655 327048723 862073168 294993185 113107017 905943601 350493510 525520716 345214007 842997281 356528672 874635506 330395729 160231529 76649308 695442513 300814265 509300896 116494486 41808998 407245619 876400752 180337788 622513781 872145300 234519235 405384412 817020906 894718204 682388599 370837764 575496092 893871268 774778830 342323048 477252689 218531712 536068137 512873514 436436191 237725959 780149906 568926007 574188280 655367644 207676700 768170769 829921384 838126437 860233431 639290436 942484003 366332989 447863086 230042067 749355389 471636977 727110039 283301959 986634081 302347684 848320241 191970764 961328650 832153211 737869562 391346621 242515550 554303049 295977137 297975571 159633422 616844691 277219693 649929463 963978602 845631857 793808140 918566415 358851823 410281127 127117953 368768554 585169343 17017011 119673314 876445088 261886379 404162285 686939476 367738064 776140725 237467404 758697655 523156298 129136939 219603074 909981464 358971721 296138897 404475414 796215801 992388851 976813229 396916352 96256812 300873794 412460408 380723267 83389656 243884588 273029060 707084821 783949594 572713546 100261229 174627292 879826361 101462576 359438615 89361822 309745557 472639086 943113758 997890653 772655485 842814716 545769919 200948527 733643641 753136807 990918914 696538894 798063730 68213253 179393955 140255012 103856096 711522157 534400653 849531016 628056889 833224876 978523226 806950656 410458597 831111297 240787703 131730396 812905535 36686864 801084836 700732578 273158260 465244933 103363768 504424194 962732841 81462033 215384885 283443472 741408574 165792820 950805188 302262117 560498586 385395720 436298063 634579276 662025206 235038645 294297809 484270124 863965928 368920878 440562800 231031305 217742108 971293992 536418731 22890888 480771613 533357155 221525537 205148801 565936300 404006852 585511322 951068651 176304640 13615302 863437361 92178338 286994534 823163945 56301502 957234380 582704397 886796157 600279696 240642661 58085432 941961981 807457460 617043934 106726101 991294537 455069090 536516142 160524370 633012165 405109584 879679171 925615494 622761728 958121800 514613122 969537933 233182594 944708661 552590546 87201966 279875410 62964070 528133592 828722902 373056300 904181329 538735351 200580321 68755120 206750117 478687514 657613877 635339646 808208802 583751345 433329141 324475471 337770873 681418237 147948775 947899149 714164427 746006369 89965381 27538604 944427199 909994660 722476046 791547710 968804544 50087201 77994015 561500260 875304966 858745379 788716529 354324209 789819174 953217798 874981991 780094621 605868149 558545104 75820838 242245398 164439313 357728617 498775564 764294618 640190642 762641886 558537333 55830874 814658178 117642337 624307877 210231519 60275227 787032229 815962792 806066489 27713957 29588102 248988524 149106279 18393335 344284025 447396576 349961079 955305486 96978404 625899751 325717524 156651604 122669698 79346777 114701558 215047262 193791815 205223972 422685331 614146647 204755881 741469635 877360785 429809080 266108230 580535907 395680615 991785250 29355062 983673300 111314099 860620750 601503477 970439633 882549421 518816633 694783227 971541459 321827598 172959390 707643002 992398353 552563842 200715312 847146112 174994648 642487483 156091431 404692344 524837991 870681266 544899522 81037847 132072576 283917143 244966194 425985492 530343297 956172460 169823406 619590632 15911801 126453928 391170065 57893949 424596994 40597102 298498180 638415609 548513526 167941022 298293821 452430325 882231999 691897993 787556014 232373181 400948362 81786459 341177893 687319280 932361785 681966817 471797670 984260857 146128829 589095250 824174690 407756993 238326637 725015466 947226833 332805700 813930128 943444961 47527417 353114205 720298502 149986881 150187681 454186341 291403423 301939039 417223315 135422996 600779105 809377344 509428554 714134060 971304569 543589761 713506068 83025777 988018858 827229730 26047760 596367197 896550960 717855535 378474716 402064397 727817046 416437089 721664542 625306891 45791461 805471249 792627764 461505646 822150233 729775943 880606976 456130489 20275502 797880040 457532501 149289025 984880819 785518627 464245081 749511056 158242309 483277194 403899194 887055187 56200374 735265677 82610488 995879342 719099446 711258337 148770383 864506347 315527123 141429761 731714981 132105641 949206233 678767810 400806518 4678713 754573025 716972558 747093953 334794192 570608388 105225490 686740449 354380386 306847614 157448953 66398351 447284526 273233134 980157765 350782415 848235996 932720640 37944150 995685243 90942775 780212622 295528622 352815297 225684630 131856989 773736452 440493621 877923621 179261007 840278254 403249297 154400406 811156837 780447839 46271369 809196199 882737131 290906387 892838817 174032042 221375771 38165011 946958905 118179176 764281794 316343111 530448181 54525960 442213326 674868073 689983064 511849587 88573888 999096110 406503766 490041791 788093367 814683679 318662280 300475149 211704223 682411030 98501933 197968757 514658928 181718621 256809816 877618554 788674682 783993105 533578024 122622436 27737169 381491406 382195749 65412277 700780008 569820872 189351525 288681935 224959503 351546532 386975081 219777224 826590562 915149028 744420804 910971988 706839658 234365825 741079118 166086149 79091565 707358772 56674247 886843078 67250003 78312858 972633057 803343823 541082903 748609531 574868042 959854234 261531142 733940336 978628065 747139634 240479475 236587544 452922317 535149480 532428272 876571337 96408996 867984817 213605809 932586635 805332298 122442515 784056294 556951742 159904184 709458965 320193623 573841302 215740446 404206240 1742837 771686678 170879063 528075173 261069847 829525687 663852958 712442647 951070287 11383397 369819527 706153624 668449969 286262626 469812813 476281446 516070343 793766092 885796846 491995389 597978659 471056451 737502117 643620101 674610773 244233400 480080077 293145669 307295414 164144570 752347003 522943376 244853956 924755316 899444258 272958560 599655847 847079900 979310613 707298379 464625012 442377248 707495311 153504081 721665956 347498481 717921093 356464481 986053110 409568974 86995595 868547697 514483608 308625828 297049246 823811593 981416239 660800360 801293903 522281749 873355021 612748562 202866423 383996314 497955338 125175269 493159760 573221541 668655826 340577987 922152382 428092984 243085327 991025383 562713542 454212689 467018263 513367669 903831086 113253466 875157136 72104926 864772419 370625605 541888074 831134587 789932041 292302901 296532709 558127691 966157956 61691100 209622958 160439870 27931334 109163762 496982079 153765346 53107782 742465222 352439144 201507510 314562521 293219099 844132337 606280257 201143741 382466121 396871717 219539521 538373240 484516178 318777888 818660708 353692509 949238488 393073686 867929620 53639078 970871532 161286855 927539893 757266397 460308082 728149103 828634491 766225250 718594543 280533987 61447881 123235209 637747496 796185911 862376942 78103564 782313654 7891396 10988622 793641195 213432368 254400105 922731798 235884553 460034462 800152517 724705172 912007798 854333079 920785214 833410675 133295470 214166231 962134363 800653323 555037791 267657370 197272044 337366671 972686771 338468375 495629322 221738132 540030306 596893996 557461505 886341359 835007068 955358773 463547812 661792424 876903964 142081698 129336054 934958885 26652129 756100361 496483470 858330281 27333722 304858311 108155154 232818488 199575275 469798074 288262189 972854537 963778388 761642258 426680140 959311088 554718546 818608252 587972247 776983954 25643072 300237701 77901962 182101423 670960518 176391335 175009973 758002486 401428618 507925821 949542024 160262627 312375964 985154623 955765252 475266130 844619144 850408921 55843049 556443068 348466656 89882066 307887993 587461992 834733486 261956019 860218144 280385402 654189279 448637909 560622285 284874695 645707957 290849856 561762253 49394423 247753994 282798567 268396734 3274931 149128081 240000022 911601173 335947777 341378672 504543385 570711616 512615867 418462957 569047616 714072891 869013188 670208967 643769810 931171927 348152257 93197699 975188384 914025311 221303982 447933044 915463291 822613207 978076143 152549574 680428575 983069237 465932906 686263908 225235218 398995386 25599671 826516441 19294270 200938267 507165541 575107682 893017678 375599225 711449028 860627473 389727806 781595486 766703340 615742227 446058022 710402884 363890976 506141596 378346820 321127585 1128295 861765003 725228644 612216487 318182505 642271789 499311579 56928231 919132808 404022155 15364571 526818732 136147688 4413977 603935195 162547290 28998216 2930550 516208754 824613806 233939739 12243181 756728883 361811308 796972465 47110017 386057869 323348579 319830456 357750443 619925432 469646531 839281642 719345534 918009942 767324079 673985118 431844838 424066991 294741244 942012139 364177842 193899381 456058464 240186337 665509230 999719122 692142767 179853516 275804829 361720205 441313075 819399602 479027929 281651892 963253722 686100801 413279153 935913095 883359899 446132007 455881304 505673694 668687726 768461596 750927588 333751580 562601344 256768414 680860931 775978277 404912579 710661646 812585561 760726016 960269981 537199109 980746896 348970515 808276724 184823925 663394973 935902629 367479792 236061613 861804119 402669336 248486252 369625649 798887871 478475390 305952881 226804985 745902227 309731687 515553791 124091553 341493475 118649587 271798782 693331597 978867877 212568012 31982309 836277156 48329859 740174622 293302010 66095858 320785415 981388611 571698116 251008074 402974566 670989787 620088810 300400486 690054403 588780658 223800806 19486305 754398627 30128522 648750141 918139904 497249878 24854930 659100662 758704818 919802660 462642221 474584190 759376696 576449429 805311499 300842706 941329319 439932 236605607 913085813 906507330 819813138 733703022 99459380 722785956 946530010 323337522 105214921 30539075 443765246 801510179 269194048 350804694 482821560 887707735 383380667 698382663 579215542 123185903 926410390 460718789 871956990 599846337 204990549 481297391 843476003 921461175 587723229 832993894 18417592 956471824 535588480 650734679 597972112 161939079 478420468 696602289 868394839 4156102 144340124 739301240 946916902 742400363 147824094 708176842 438148995 372810365 817661794 445578561 543938483 544888683 412355419 582301622 400291611 594065136 496891354 613252888 166556186 762761337 62907522 406231745 10116312 70298798 192408480 175759643 249523811 827479597 626034376 122215956 132910782 143879392 600753400 142592845 540125765 206881848 264774647 600027741 938364808 41814878 448249000 156051205 364446615 832325608 101935982 765514462 87562313 187460391 925264368 838073568 261314672 407820599 150236206 651800516 261519565 717269378 113238596 235026492 320295186 433070807 532220843 712749388 368137078 13649800 704114566 25347858 842410914 151312410 681982405 523150737 528243811 267171058 698411357 890721069 949782931 413439384 758167355 20651071 255391621 657952060 40535696 178368329 15914364 305690111 419912094 229085342 858894976 824697736 1196496 118966992 681307728 531541524 125184999 527266419 977447918 188188187 353114762 739620636 538919033 651786967 486045635 648675515 555404972 509521063 849846006 558320176 664286043 953988413 150210431 203103362 416524448 434982456 392026681 819292512 4487522 229706685 314307225 116247845 540139670 63815063 843935148 978595933 17182199 236473741 310246983 416626107 44525655 215642650 223937040 947691667 324206087 658531768 825152985 935484808 578549516 610089796 31351418 306160316 279546985 781600105 833488967 559981808 76680718 643132192 709453175 146415293 894504000 202676240 680603041 353150238 678851398 450616338 556156485 37882076 732205294 967771466 80492782 795233208 215159036 705977600 965411884 267882070 415110563 456956400 544508234 458329423 141990432 151922815 602697019 718492382 221031661 767003087 608512544 607583427 784964425 278105977 344163236 887010374 437045234 249925848 710342969 353928405 279484761 781028359 593580152 285379277 72175038 194029930 535034756 916646257 140249617 668368008 681700954 808835298 231005530 23590305 487403466 79230000 797851425 667503767 938244056 218311052 387724367 428173940 509823104 352518733 61386375 394166635 480946335 354218884 628458996 833233114 569644286 30096380 200828592 823580805 720870151 740104465 260476901 661734115 174966876 757433461 935202596 221332879 133067451 932003570 243168703 660966591 662366412 252818323 76976602 634256163 360511093 433037854 311583417 673434837 410407958 909111685 856680908 20167261 749603368 711895044 991800796 397944523 169018715 623100408 253284011 799197162 955458490 961894494 158250335 160452557 388630890 487111034 110845664 759738439 705093826 371581714 886877323 71187865 225085369 541421595 482283534 498693175 775676699 591574303 799920888 605651461 780738376 780542406 27733477 680012898 135040482 390049549 542437910 639295174 638530674 278824534 567769707 89057966 504836374 379756231 218235904 580358025 66307198 237346389 905082656 363153791 508169576 8204947 694969795 350870922 873622313 679631222 857581099 175560176 744791370 984351557 569758883 744806037 442215521 77234720 904960582 497510776 793115804 138902969 207387692 450128899 538062405 955882821 663082397 276808657 17654678 468323824 748089523 290947963 434427221 848072101 870540567 575603201 212880740 760556920 689825640 893655148 484306228 758010033 122401291 986747048 255862458 163067994 310386544 181481751 542862018 888635589 800732543 742178805 605450952 746796035 835466161 97030650 78224286 92615598 716046552 155266148 185368450 342954863 853223736 379882148 912076403 879747212 621762315 484504775 779196680 613747918 655559434 803332220 519282816 699065014 480606043 54107049 216102083 23009088 970819232 616532476 661497927 202897161 966189266 76563266 686033577 28978223 467351806 57882178 776509044 412326916 485404710 863141524 198491235 894041838 992248628 696410889 509464429 517222538 396405298 885795871 316087863 956401515 607452072 406204402 737851016 125213201 207200877 245835979 718680323 94003742 119240813 280042185 456884548 4661347 331012450 821428386 31921041 213184041 672021293 18506425 628967864 272962387 395016816 949074414 419237949 346141084 625773187 40420036 945336558 10653469 677044107 285916009 290482495 313641166 509484618 237136000 363646914 49867902 501126059 645732235 775552569 308054766 157199900 237984280 748558845 322666363 584694337 752518881 248942581 556619551 112207991 911091966 538929536 418444256 186048782 766993571 800211334 544502044 972479246 430275533 555393926 388896573 176463976 988497104 605269562 123646228 524806507 344628167 192652019 372266376 649365568 664358734 284337090 892824593 535671481 108818589 95197423 195314141 888416531 357837727 202798056 313899977 402114952 884021763 264622853 300507582 151352830 991955170 718841447 452702405 692529903 415685601 465525170 61174117 343927085 83871978 64152286 5140343 625202799 581747217 752941506 186650958 232206631 44170963 70406954 139476140 435347748 832235976 272933251 513915339 461469227 554321964 879546008 134570611 708456489 143331287 260318936 883089056 115017411 949876779 191362304 732346765 984498146 771736954 475526831 446172615 280325673 361277820 73247322 73277410 929281303 849185276 326971442 181726032 292052437 678132878 918621920 133805610 681917998 581800296 14027741 54468761 829867754 841507750 514866809 848750446 41724728 749528039 786526717 926587526 292902399 851873312 959955084 607419537 369119120 465803299 764383726 276515761 735499299 223536404 216540512 448512706 739641772 319812818 133111643 794132783 606056444 907064194 725406507 339203454 218267655 211747705 927693523 192698960 541815723 880298172 374957339 192079630 538562227 285050989 75808155 626686571 41981947 40094135 445693961 406839440 358447312 509664324 164103853 231989785 127290411 133244238 651725194 20694173 941689797 589331648 642768361 802889863 129557358 43639584 828888739 490838463 263434398 784688229 527954645 489159295 701881604 577049345 441547047 193870642 793851922 847028543 970130678 363434498 248266214 255094323 224824427 167011987 666197277 794373302 837493902 231678394 946681064 784643668 974469576 187880392 598572663 248026366 939963778 646105069 736057190 285835224 15511437 198009235 948253363 583227341 557475734 968446046 746583153 745286184 760675951 126842992 354352526 821027909 746482144 420802651 632997205 80356470 166337990 930727415 739082568 36921724 87056673 280852351 848973121 247320305 996713602 811872412 219412021 488615812 243501804 882203 789014588 127358844 178587316 44697241 21848863 695816207 208077967 914926157 540954868 210415758 358295254 426755789 839217328 196970726 440246842 442495415 839888482 90355533 500179845 59821171 200288413 343683250 23329516 829500452 644088248 750613240 443993313 221526758 830937766 791193878 143554718 548971140 742046889 586258145 572209431 481323668 40774723 525851056 828723446 634984129 388810493 937791034 245230607 206213763 370228933 315817495 912573242 60265025 661929801 109931250 277749094 457679081 693186226 42100403 562981964 198431075 341492685 765226386 225547362 452165699 868383780 901546041 8505153 544579808 156527393 661687123 761396669 804307719 783090135 632351768 70197498 234513433 167347301 526729283 282290060 609317279 366247739 648165464 773080407 696421814 148512841 677790920 847136353 541885725 27932192 46969347 103408504 192841158 119838592 859258171 475832188 339438750 660750767 829362446 231946770 25645354 926257740 73570648 176094499 825206231 671816710 371620133 228581302 185661227 35764156 290079547 115852145 219709594 113337174 119967245 421366376 541254344 784060134 93399138 581145540 124913801 574682207 805178768 195956520 3451266 747707133 875210407 990211626 198620862 433649662 219962083 756242427 907374007 263272657 223608321 843516640 802660796 554701118 54730520 415417289 324832692 910803923 303808622 60820276 934764552 821604050 320014950 487596951 422187064 14354655 233421099 197831244 276949235 505239885 739480468 672838041 856158688 578217129 316398517 542666061 194936665 315983970 50506110 540581067 379191088 195054404 179341478 25315636 924645526 127561877 889432575 9334300 270275809 342802816 289339873 82845752 72882736 131724795 630286239 44700936 501594929 128997981 698269128 33204136 277538887 10733782 779393593 595927386 538161204 748603003 541791569 209895027 719327117 266806240 381439268 380694700 306873549 29908268 258626909 821281954 594754312 744121693 914410230 909304994 755062818 947784095 874010199 605015310 662228651 227092397 412368383 631243301 446564498 546943546 37837777 101083102 496438606 596100238 280286343 783395430 834929357 10555839 106607565 437241221 783105312 321484010 470771 538260196 928950881 607485758 345928795 461978284 654165823 296245082 999571126 185091278 611380059 709113501 361828799 631738480 346347200 530275124 299401187 662107553 554694656 936986015 465937645 81624748 908931945 593699266 574435837 881753953 48834525 448628483 862328219 96729895 375716122 90507084 552607276 963682340 238421466 771486088 460460914 355563188 367867358 403015192 603865857 635193404 215343275 115774078 717510049 986385908 869201106 709888763 853355189 282221173 198659777 648138490 699885857 945907888 865596425 8477036 310694005 790878929 761378660 992070265 316353517 764552410 213399172 919248534 169353416 206626548 810221966 423214894 368218217 108375885 864362335 307391263 31910353 52585550 593653160 16604432 547024478 347534567 506339603 146327985 484305096 782254035 868998281 126271369 725986554 84417907 607747490 744854212 558719504 16313704 853864735 900372049 91009897 835884617 118980129 565436528 592012328 414968866 473278037 102352434 27288023 694871234 480305755 398656518 120124679 356550549 886023407 344554585 737705729 179141431 502763246 499343416 545219108 32134760 953070697 174248467 461903956 301749118 413165698 550714491 661832486 888599831 832507758 3990524 507196216 149973710 57494517 373518054 796198300 369021901 380178198 684570925 68070675 94576652 910927868 241932017 579565937 188603063 290077544 887079769 323428567 629273246 56911481 107566616 176824311 412724429 831502277 343267957 649031604 994646869 129189590 752843560 864653389 494710916 53377856 858330924 222880218 38881256 799949022 937460891 177275497 427046360 650226146 123012475 28827802 154675089 997914447 280436153 3963363 58513984 1604341 540750711 102544397 461331630 872597160 907475687 746037701 958824534 84948444 295117571 480040667 879430300 540163422 125242235 555005212 727845695 922042481 89039242 350978764 954527955 694917094 89359126 683391482 700895217 481788755 397883171 530757218 11676963 7326279 165702191 601416054 240083812 769089597 113865725 80401456 444659187 701128285 228080067 147048407 158456400 858244553 500173832 30201394 452735411 36463667 602784964 410957286 233109251 368797603 153519770 14520614 17026363 395222435 185534697 506044318 989703730 922041586 367700696 640847634 517249245 154311159 50373951 49228105 111147011 386667457 770824917 391801537 250444228 174511257 763255627 115953928 636121534 202207724 931698338 787963743 121686682 443572290 337155921 617674963 926104920 477924778 82469238 358590950 41234259 1814414 344914465 476845990 718911598 338853508 6178313 280675463 92914485 343993485 753647933 245733082 707014760 962679090 152281237 618220787 240987990 892426993 461454140 41162731 195393441 25048221 333606381 197463787 992141154 431614484 232193037 196386141 351221008 265445794 481882516 447539137 65230309 104613020 649438629 248729154 984575190 292474726 105994100 815021065 927869089 934907956 671894692 73658875 160046417 803368097 696304174 479985687 226912131 637400852 18836313 303077418 138099369 508897211 91171761 606318162 583611595 689282877 685634612 589390834 94839759 731863521 64646103 691484919 872230853 455440250 227764325 719781446 321439884 238889595 974323670 103838489 563021074 827929611 737619401 442237987 531661664 119351182 860681914 606471719 149229293 163558202 894318009 630495034 578109177 540202757 122651242 602756403 102281195 396759840 711499159 827873451 573990349 672588050 849764444 547298941 451034661 994754262 165584653 562319335 124942039 469742541 539475282 787899986 622205087 836892560 435822519 644865837 172978158 228755068 303730892 645143253 731529016 918683327 900607227 641476735 285079288 983206043 728601987 85565024 959464312 700132952 373522778 374535094 536107405 379987013 463746319 355681357 294907888 295626826 691064404 147021148 179552964 604581233 189102578 203342498 806245648 954489293 584718065 429014558 477775577 885941862 567786828 689401872 259051583 209051609 393100282 911431638 707332533 108843849 296795015 612134013 79758503 192285623 943143775 561374299 334909079 603130605 638001645 37642916 823705477 925053853 880881853 99159272 836022469 574543662 497491169 235114436 695205448 419981149 465742366 180763766 956074734 845197279 341118715 198901003 341051245 946634967 600364808 643456014 890078542 841637742 840238900 736831901 524108397 64182202 19750275 98760980 226923135 422578961 594262786 507587522 779888479 853023797 528102093 766972519 426225587 962231966 78352446 826383627 676321170 541288300 358124376 476920375 161421739 343753673 520089592 323536482 344019885 775887369 664857191 517214133 245766769 695982263 98169648 744668785 254717563 175463080 92960955 314825294 961667657 640510358 155744722 801128921 403314218 780503011 771848243 25105985 465225694 405434672 768766070 901510241 924450670 597116411 763849136 267922013 950340606 212259792 445257341 375702912 420467427 188848155 386376267 176033241 880949498 974887082 342034473 436211546 982930472 115007118 302205163 178935931 607916220 433727812 253636993 917567239 992875836 337598790 87378671 359864448 314202764 85830384 334656286 29266934 392808354 546936010 600607374 506699963 210987339 571329291 889126204 303533696 237928203 674790765 969638144 307041725 749114908 813473775 389427169 500964535 903607815 510077786 271996645 654643083 20632237 489799132 757097075 166039912 506350768 128948472 5994165 54382053 231428306 165300294 94807646 148060292 997622425 136843203 961814279 930468700 652800850 102772826 536684812 91599747 600903156 791840227 48108023 423999300 135569518 514694785 345738485 524889184 152402438 398171070 708718065 721063872 175138953 694078566 728079236 783640384 677463771 91368936 954638408 528603085 339989100 31439793 402520562 61597930 406751049 313550770 130792248 357093662 477258414 407486306 608147138 172349936 72958184 648278485 981483044 754459232 993664626 470539902 843691336 144999049 616179437 104510987 227189913 121863089 579664008 174888019 475169575 565530043 536044513 358650459 470354233 64964919 945666817 319038414 734800050 302322681 507076432 921066375 344638919 949232591 392431623 985441441 261365940 987487631 371400548 545683027 651023846 289825988 314798719 475996116 432229983 857313897 141811534 477917422 710115821 433848194 480564682 818844051 878327057 468020061 181173506 38702869 169862222 403095922 45453178 858593935 855110514 281490772 732589214 711384711 439024558 987094796 678599861 79402170 188732133 568103578 280796783 869942629 164064376 282034023 307392581 258892177 129389052 244275206 148382944 476779909 979548606 445797057 295092964 155001223 862936863 844520976 982826206 52463399 469010132 6379708 457843140 9804403 105235776 356806528 732193929 759405372 598165217 301979135 706719800 334771284 366891497 804601707 290240828 932184829 490675656 757680559 299460769 768434290 984088689 88261384 802095607 282757910 429250978 255052355 451167203 563900936 45791291 974128393 99592439 75720876 521061719 933269975 914636405 540301546 660558245 301039472 326947655 948989784 762336732 973426958 533718096 320718101 300151437 196511303 264802484 935426956 919495693 134923891 576776016 223285168 150687372 94244986 411141853 709987048 581526201 879825879 84737864 269599714 41580791 854649785 931751765 517809395 41958429 4281735 891037349 996736088 192325267 664830604 971177759 499413132 782653306 672608612 998826573 21784386 471108671 86316937 665368450 286260962 505142063 663477136 493927161 898204254 950528996 146794494 607431815 954461151 9258186 10097089 377424313 926394323 675345775 610216848 237077598 944586320 648186779 336912090 79033452 445820725 981787048 280430194 695866322 949461370 890577378 272673918 628180940 273767750 596570570 324496551 856223045 991430413 492717382 336212057 216649168 840470169 675068292 509636871 21567970 957935859 387161825 250372297 956689235 823554992 657247688 344334713 912225123 243064202 204773585 856945659 856591663 743742641 625856717 788074240 770735799 94391581 253933340 440140400 673875428 538767107 829345076 982873771 126766945 825556221 927280447 674235959 905379393 181372363 477975547 353420051 259662454 488864548 40673279 565433068 4875539 910451 627915656 875504955 304513511 881857130 375320933 597401863 737568585 889020142 878343515 166363772 2636172 972202437 542257787 12704381 905361401 684099332 774987831 273135620 908667152 646934638 427978353 247032904 902229933 455062966 188870470 442768863 114003213 613237978 677477749 260620617 224283281 917795074 659103869 854203343 647033474 258250279 871710920 185672210 242881968 540173774 937551106 223850578 720016619 39985875 436915147 820178900 420185933 771529658 388506293 813259482 857785701 701778115 281716388 170606638 120731531 492362141 912373878 884908413 837250197 595467691 227482407 600483747 621748890 273861190 119953686 191777036 956453377 508856158 719153964 281996548 791305422 990914207 653348003 399706832 341824602 142399105 129250571 847890963 657554836 864736442 570078316 49492329 2559318 458206728 414681600 423191671 174970720 417594112 581183323 491231326 101079806 592531412 411363467 181887195 174348413 423985993 284951150 308750824 943346040 794301903 584007141 117418278 426226880 516761451 316855376 998781912 39785098 374374548 518999387 972815548 588178239 367589477 673983423 218017336 979628900 808581363 298283466 762078556 560748530 300929274 692063550 850966810 461572849 342248263 402889422 299007771 298186869 711048618 831649126 885136832 349693310 213627775 369733871 280787299 582668391 803510892 191944 46484607 698220015 138999931 878943561 9085422 11217473 761445247 770943172 603656755 915240050 265436267 622663447 969040694 961824307 468896840 515808210 369038995 79031108 561104635 479395296 989629820 532880525 931903465 953870976 335357119 553463728 216719097 987872947 772086882 433723039 939472564 917365122 50944218 260397793 962189828 607419653 230774928 614192268 510669773 891301675 433018901 446755554 988695644 587102198 707951689 387803755 914078060 800121081 275332966 359942623 859055641 591310410 112372346 28122597 127486398 516803790 967280377 466241948 677836126 60941830 967558704 231394261 437853086 146471120 658132650 737802230 566733988 918205241 299227712 489078487 327259288 703478084 477680251 532189525 1809188 533957834 49800115 224794503 679217962 901627748 44748904 704815231 133406135 990708313 1053530 104358256 92438354 31127458 778329090 344530762 119602454 277184614 668080915 326694953 382652173 306483704 393563542 651018212 684463929 491325476 856368526 148282848 184527656 977192052 564196207 888220711 554644584 122175298 935842880 824548847 34564259 113066701 630141029 238510198 710648988 988760379 312360871 227870707 494362144 301430447 447180710 970727235 597739286 989030829 164702116 977424923 213014721 526425663 490034492 195638544 237190803 141864931 870699713 832960075 193011443 175481781 283463726 168921173 660466291 894899191 947511911 322969120 839481640 127320032 595622271 128047983 104857566 223204062 993121644 793029209 59170983 728782566 433898700 423007652 991133988 401209295 634036 718742916 687432503 835966689 216297991 791055510 311253746 905762084 763672143 82145754 471760299 804177777 512878444 759455914 959141764 272984128 757086379 721018885 321271215 863984174 77697538 366106914 349256415 824438946 314226331 589860606 628635949 870863827 292557685 367084377 35845211 530865951 409498938 776818232 450418137 790818706 802730156 486706459 160327003 801591849 725244674 920068604 679809492 38865987 456360346 188587056 15341957 645290654 337875337 464959672 585678955 317274794 727221351 549632647 8839526 549546809 404191218 234732663 58429380 518925722 207069305 621996915 608373727 773249732 514535785 526946590 145358843 855775450 483397530 331980019 465689119 413238339 619186885 641316617 249387626 946590468 410143153 961699839 252957730 4560112 673285683 308197158 428706662 383672594 956510733 955689613 396476583 462607731 365436565 212760341 645373293 846700616 235561029 938613233 339107525 677594264 529594144 168500336 936865501 450272284 952791566 525181667 414444313 192073492 503704733 319974051 921572886 936521577 8603986 783372635 215924661 800699567 194751207 112266025 953041080 770188963 458280584 267928159 885920397 674723856 869967048 683436616 419643307 339809284 434885081 521040065 131564433 47990357 291118663 409139991 292050218 576837269 442731661 135828098 95157199 688417906 227401760 661261339 199563020 231631806 517593549 307178493 53676460 438365283 389378248 296325068 317850678 438042633 632040013 756508997 721537129 153611425 849082792 541951381 885430879 756605609 792341394 105635430 853322294 608127978 700487110 792202292 138455118 249540362 299702604 914074926 263066974 668964176 527801785 319678143 692437124 924947799 275610307 15823341 719475221 197285370 526877290 148601939 240728188 548231515 807751704 748165273 218213961 10950074 926416519 366800383 680553449 796137189 192091649 334997925 264132426 712627849 895477847 948694584 319285288 700947121 835704665 293950363 276899308 223197956 73349426 935056122 966017439 561449985 226979519 981188202 129134558 333748979 230435716 871644831 209982949 475611358 582816885 896665197 700090534 233445424 162172951 369258962 740231567 216554092 860549039 792550774 711474704 387963668 253140915 129662722 291545549 425267626 167807796 404188192 904411557 582984898 624879830 572175827 681252053 540903879 144186450 609154053 786756576 846349492 205170118 242899586 953384450 330015089 511615444 244401250 689547099 126353806 531863448 977029381 526255989 948285514 14804559 598866987 637885725 412242323 714351672 129466051 929225498 176717650 217580544 676258259 528768993 96495089 296834502 122208767 434785005 532562293 197106350 911060428 438899426 144027492 31120048 85635654 152065362 619323542 911256628 619901054 863700397 660496356 749091543 649278282 670887687 526406762 12914508 955223346 346002475 468067904 623814973 52314826 184557747 275920139 744577242 602031150 42321457 405822037 693196295 941615141 551748735 723629932 883792514 212978291 8278786 493811762 205976185 739201003 192341058 715553280 862075437 887252813 106263657 349615237 805040481 547695500 818058128 176874658 829338384 513779891 468985317 564164073 94642586 257236287 53782915 628490770 989665545 176730630 824759740 298549222 34205144 20029967 76836975 437884218 510714525 612792732 265855895 630274630 923571674 120646443 876126236 936316347 432914283 819265858 318205826 103714439 570200533 810200433 665204089 473555033 478717102 65800337 95415875 464848572 19111943 982710810 366162514 566444883 498855525 261031115 822275942 571380174 805076289 637073447 748332370 894168905 308912457 632472500 658033759 532149790 729597679 483682929 185888903 444665961 398727320 218707689 882538172 561398181 711316882 217878700 720486041 431939591 973626304 766121112 675024109 63358000 512697819 855311396 911114927 90654895 925227084 775988231 969527738 906501176 727641200 772391002 836079261 754559410 559236214 176029744 61340641 703108977 928921583 668131202 993309130 203277549 910222829 714217444 959369010 702743549 459053674 846851965 673064053 437639585 482443347 780498860 724931556 239667774 652921194 19812656 691750179 548497845 867791448 20494603 525045532 331277778 908345386 977644576 490556968 186632535 16332993 617627452 322711580 643343738 348692205 903985554 638178912 442790560 402987043 638643453 407151190 711969663 468903551 794862244 25660703 18621654 168967810 162576631 312000518 37715046 623165851 763371605 276296898 375998135 336146364 156616480 968607555 263657533 408208057 435985486 362758659 174686202 848889411 716881911 513928896 799107979 50457865 745834714 182606283 688816408 827629330 17073169 141998610 494215653 255674169 669039579 572631496 294802732 928881744 768351014 30474080 366110396 955902138 243281311 842880570 568587743 467855066 608228308 65501652 250159142 115372247 186802904 821768465 272144518 717949398 773120787 926685914 522288614 138104276 594460797 339163919 497502877 668465222 845783677 583980207 38417983 154556134 200841937 571818520 993506098 16067468 679712592 164845961 463191150 322813604 107671059 929536382 398744239 193109933 626900213 144358254 452962253 244735706 707496390 441340823 717471233 595201975 575706993 215605928 883695974 135823933 820031074 689137630 147143412 197872112 58367040 185860133 979871821 854855080 787854353 941583060 781674059 497853011 680890921 818937413 242732473 840275941 870269928 459879846 526582678 322673000 545721490 837314271 378587702 180364741 683724276 584907467 873547617 94194402 921577108 491837053 693923596 252119653 410767719 941824558 828799655 225741611 901001760 505246278 297703155 982913731 347966023 758467443 552660886 197574893 225147373 709925899 665843889 451026996 827981026 191118418 857280817 589261759 994387595 788956177 659215220 839297221 60483934 852647168 38535077 465810063 283540618 732372804 133251076 859011356 408349703 298930304 658723431 524170841 839854450 739035818 220845240 105638588 700978721 4232948 439134924 488333823 757368711 902514497 132919233 714025261 86016051 825174056 283685458 746765201 699428719 235040492 470891248 885615672 976098487 597479556 645324153 509779977 892803153 892642060 664591468 256283871 724177146 654785916 575409690 673213525 855197946 778563021 794123833 395190304 979418944 114548590 415785040 698063183 382113441 514508799 373396109 979544250 286391095 442007038 830879604 260673835 162477434 749456322 697965900 884840811 578503321 95961639 502572222 536613640 647916676 895329862 99446437 175922310 913883045 419676185 52758813 519340576 791752000 760391079 590939836 715658327 991370537 491191072 196930376 24792927 209191210 89984162 996409566 2648043 755907224 286997909 386767196 807588003 748981134 166869123 559896112 958420361 36319250 299871246 598935161 915143123 341517204 769247698 711811698 205677113 965027451 946511169 322297322 193122517 825373445 489132988 186691953 474578378 602518104 589177821 383427696 886741904 700148652 820526122 8339536 882173231 219658509 58816401 78281692 170365324 892054388 468188053 294923352 121915443 7418787 340194570 590313512 494494181 883089995 244278027 702144801 176978792 175623092 716107377 371485406 775483754 957042855 234623373 344964737 687749253 336132807 149955868 635178113 656971341 312126282 123384834 730979729 732630457 530462420 101121779 411223572 634510738 182959346 126306002 507725488 373120221 798531151 140425559 798619123 702123024 118761219 528750980 162715808 524054384 349373269 678611419 825887381 844322439 141974696 651416478 699913167 532787317 446875927 260766650 266251652 57627081 149012355 670403069 396633641 950048835 111452332 367992048 332877337 243183338 559667716 145727469 17824476 198205235 887937885 936933116 404912678 519000224 468121176 337117527 794555360 220033690 178022959 547059658 878672957 251351817 450792237 747078121 798362629 715272345 312815447 901638251 610426788 811641582 711481259 446739889 338974636 608813705 975651000 120400575 215989884 748115467 868586482 679745925 390240987 828768737 297072075 568122281 368841749 436833118 839043663 328966012 693170432 511274389 86966786 517375274 950674546 554172419 456538051 641908235 228676916 420930291 290980455 231258326 820859089 309186312 388478468 266416967 547374481 170218950 607868569 973853824 367163702 505220318 584023533 693110152 258514079 786482188 468285573 580229763 851622539 893536555 56402047 23312461 276183186 996487842 237924090 829340748 118117540 225321312 739717979 108236574 243161122 19308164 498734117 640656345 427184646 477576522 985297711 316601717 44962705 948300267 789650711 827949295 177430689 607189163 220625255 299642219 535087604 173999359 20855200 389581550 958282626 120094932 281182681 806931395 970430189 502040831 563902822 518080001 123848699 87093047 649360428 704470869 880492433 350488191 31566784 785122764 727983667 85689344 872408599 224398737 760555681 540166964 95269286 534166825 498413471 325634266 400679555 445679172 889493791 966540465 549175374 513860581 937190429 91395714 13419523 569701044 760586527 725097179 21494769 576039089 475443859 880629072 213415495 311471098 496046452 911296208 511361014 194197417 596087732 266037204 983718619 338876272 445896309 686864971 559674950 94366853 743252249 481572646 404484625 634545097 490890164 383356061 201680479 661142079 906134547 811956999 260250189 530292664 708122550 392176785 965505432 186599721 406696327 450900030 218312337 784527961 760878422 228591075 229051917 831466628 804749073 568426812 461501030 700682346 366291637 714390582 101096515 972900091 87894125 60114589 493621089 685515680 540398337 876151446 123898014 802434091 302887296 478000472 106874296 71748618 209066863 989387284 835109265 815494635 491032945 340455260 464286508 344323505 530569006 574962208 880875281 532604437 618814581 728036424 972374221 107649308 825398883 525842900 108539142 456359379 888339867 321513697 706772168 166964151 435462150 904781228 493282174 223529817 150440408 823223623 616664494 400334562 231100910 992373249 635006777 792721277 362872815 416177359 455494732 450713788 593303042 431973590 214553271 531234320 36228913 161371422 183601632 634445535 666017240 817701110 551375619 71571546 408082722 770770562 868476325 867812606 43439739 769431519 104604020 659061572 147888584 376270968 376818220 28468875 844706964 573961069 454854733 588348816 424278223 983716848 246101931 258014774 980472713 773067433 974919448 278471222 261561182 282880801 68394121 530472809 268633309 720321263 27130010 684421901 874049067 947922145 909336126 753980098 83549627 513914506 968863837 286632924 253609499 81471422 825735879 98835731 357215038 190381054 761108584 687827857 497224363 418628412 827210725 481391466 757520272 824474385 250268459 255118621 20769966 523761843 682186162 305992535 354337538 796688141 766811857 110865439 774221241 671520005 689532916 190307931 484604584 117640312 719815840 618703991 198186501 427877920 508805082 58061384 265977152 842607518 64799104 154052694 173976698 39186074 986844965 849216339 759577307 367626138 930559140 643185567 882279929 331240153 295050254 417495177 322852257 393135960 775071910 353256632 467021755 394548081 937950031 760025298 515401370 589483125 207172458 323871496 93861824 932932607 600652530 835730911 752065432 497458411 561435861 682994458 246636717 730056068 238851678 636893783 721211706 696429257 698444390 735786077 903951449 765156299 207507916 449302373 39858969 342886172 56113560 514492359 845903952 376442637 11887606 267114089 903561210 882700923 238161241 652371103 629010953 761711840 290642492 498689924 950420366 476876468 634968832 301303493 177237892 362200110 28237666 139412848 322639671 84586180 840069053 183165006 811749801 750211885 850317862 656195216 212046967 859191013 194430284 233049962 538799102 922689083 787573024 661007382 300175112 411021212 765323158 923087549 961354331 265126254 29578705 440283245 912678546 24571429 481152899 758255807 374939882 886046916 426702828 572699302 241241394 824090193 811190886 241208012 945331801 421353962 197267546 488837952 376363900 573039828 1600110 572513769 393691920 489368886 10675712 76851777 951814814 211287943 649632980 240747493 871194054 673224530 951203405 556992840 984616821 389241368 167826961 200578251 471986939 51140269 446279915 435793424 411864609 895620466 749635277 937077774 350050920 741448991 661163982 435564568 367402749 121814370 57858476 645627030 143903859 263345740 932833943 511753890 710444524 731625867 519924114 884110896 6755101 379821898 606707248 609847088 72526218 239901500 894012496 965529403 528874776 495143658 480123106 871427480 580846022 777675013 922075563 941060550 276617302 306301098 755873062 851287041 823220982 139406165 548286175 252288277 293943627 581678821 600279090 135475520 205043187 357416209 162200 370898113 575844364 727484482 836219575 382127122 191847984 13503762 776425592 232516027 693589355 825012149 194816885 903752686 219632116 884403561 607347077 755511026 263961557 852550320 112018947 148498457 981396144 357105755 664743304 961452678 334346510 240497749 679986419 185472684 110324077 780445155 834902305 181260620 229553624 258620769 124823452 531348908 954676656 191898593 550287575 473526759 826547399 738624856 850466214 131910782 59396687 108771170 711801065 823562205 191168614 216509505 896056486 969337177 117095029 27078315 537616231 304115272 706072011 446999263 843710998 744363643 40431796 27916237 9678881 351278744 755110707 461665232 489570748 980322485 144526990 286876784 315459123 736279883 744335739 645741060 173099572 366069696 340311805 220534945 595537641 343597136 632451922 491461438 234005296 172113069 444504518 719819651 697086117 382396796 328238728 14611952 631589626 760739064 92815648 367592054 92377150 577152029 892014946 123336867 169180526 873159834 1215710 634037015 401101219 751353387 217245530 120599108 398500996 611182625 821049500 158656140 38419594 301710074 316959310 588889438 131341175 760932567 506005266 639264761 410782986 572157664 972992979 970673167 412026634 415076350 505012552 603350979 688665451 229439360 210317857 780198804 795618150 739184505 984634620 52759606 139518455 221209924 505680048 653110877 930989285 219839432 174811579 298910579 999867544 577665520 282089998 512699440 110484110 681664564 960231366 674681997 266286346 719474883 238103272 786292095 706340253 653593071 594226616 220795032 464751436 458163935 530315734 251730115 5277237 683276976 413036614 190889035 436844341 912847101 294374415 92767013 982103803 786511948 801928303 251616700 621928530 936844591 911459265 636020494 666722871 255088198 994186266 58789617 199299399 352402342 598809300 691286529 585758959 83544114 381053 29134151 250821063 430054913 197856354 437521276 959348389 279138424 850800157 753009005 112892260 748988822 795950116 56604763 13388437 556535602 810353646 979098555 525862553 540052179 586836314 849193935 758582237 958286387 37876614 932496355 472169739 446713891 123136252 907542830 585568278 772107576 587728604 787043648 902587830 366943066 577551794 434471998 691113325 747117209 628980414 655684204 693349030 315820109 883548669 200106752 582792511 771296949 25417848 235063346 342902616 325995561 889957200 780269022 905338888 465413885 698032804 899475955 600041506 72027541 750448248 177194748 769472159 453885343 175297663 45818345 147946868 405792196 87775592 714138698 408005860 522859434 993138511 697863041 932681171 86852095 894194805 835326704 808669648 364491241 311440695 5917612 442015335 731069541 506034865 700399507 490196201 388267391 665293417 936142329 226235294 234263353 915399668 503906853 647204440 918769939 37356794 774026199 899694076 798458125 702610288 15454631 688086968 774569672 388066123 865866367 714506409 244337717 899574392 485053879 799054112 130987121 317623399 78771612 283628563 248270618 126300637 900414455 350612411 526804353 485174658 503413580 819396566 14760250 35217464 762079461 848379291 404872938 719411222 523185979 841173250 181043317 358695699 21362847 745781103 56481814 452638726 757206975 203448901 525107319 904285471 624413863 115426562 593609163 513936162 95838452 86860886 730621089 951154790 830301486 627537984 76495349 763073437 510458533 188981813 82970961 186462337 914770670 934362479 556852912 558022248 262916169 517252567 96373495 132705759 4268950 66513463 263819050 225349676 763384573 768271050 164846904 728196561 61996647 640766318 866917826 829465015 388343329 27872146 133193083 91114311 618079322 412736476 949573466 44309269 399747748 409522907 641589205 65049920 325886707 517965965 928060100 452453781 814293843 345495746 10053414 305654174 433656440 463616137 36259406 387154244 308498345 399924138 87258874 317841992 8765755 325986306 870838363 157372958 50084847 364496465 418001491 115359048 524731613 774765403 986631546 905818043 375713151 175328821 583328985 471059345 664696543 568573689 613369185 344197112 5349915 27119902 945161701 570001226 602039922 812661585 473496462 845692106 894907545 877718486 288337146 330579737 773213998 731754196 381641341 535741065 759542709 389352132 903066449 910401004 982724219 237434130 385639564 641929517 708770078 705402390 717217978 179425346 174205798 712434578 701409713 320049922 502049412 91217136 4837117 676630483 784348909 878297960 807841013 390113150 931439509 831416354 870716572 376057490 883551652 66237443 757983850 520692388 873208767 823280000 414761523 911463393 664260770 191810826 230455741 255958406 96044736 482953302 128701132 405834625 56351453 104479669 196252709 819486445 218375994 600166587 846912138 576407501 38715317 894882717 606120210 571992674 260527188 604545185 607848810 496150255 304785092 716661504 779432163 487286393 380890638 205184415 771905251 173890377 356980452 73055634 611432431 970654142 211410405 80190112 379026228 170203156 358109839 457931286 588923012 787940484 118649316 454923869 652153128 623089341 223597057 918204674 569250615 278461756 46617258 592197136 670339327 170609190 92501410 806225990 86995 432193847 500385312 758168700 242231050 491470344 47659841 287080502 332104923 268982272 237704189 976380564 710019467 685640656 808124721 264735047 501345796 469546121 24639502 623115177 219656681 313294368 214722314 899336031 193864882 371521579 400546177 271117129 130135184 431991771 213920485 788621108 981915867 706517150 517040533 518309827 801376481 827939939 53501435 736990029 676891364 501336099 973649456 39505967 997557799 816062625 643339170 728521814 235799003 18061341 536156771 150133603 885054244 473353210 168423875 588011816 954892648 597256242 216789008 590457912 943441581 432125565 523482181 142987720 345734411 344890952 681457116 919707612 745817742 883640894 952393261 656274295 703003161 47316948 659825698 20418008 736509123 735131634 136457572 642368334 105404217 609509582 612153412 830548650 462728667 899354743 341774238 303322323 886420401 721892192 115950457 64390998 320020116 665732454 720897092 555406901 757535545 249937041 91235034 195464611 858840029 604234503 265719500 483766545 547643793 80738646 756969382 811560230 69491991 817371540 542705055 700939112 816209695 796559097 94805928 580882903 169747292 679623580 945884321 565833194 954541491 26952959 218049066 632487154 168761981 266903710 754138523 730507736 875408319 735629718 102184349 482086849 964861262 112172624 138056278 876623249 772187430 251270467 851395395 643372848 25091908 117631926 620744249 241486873 17453271 708820407 28703622 120865994 923875163 493039681 943085868 456098160 754327877 60237508 625832916 88627206 108560441 328731230 215357659 658733540 728398948 982978658 287003827 568473776 536170151 214316688 994994308 313813043 191229532 3511087 788210794 834555152 4078029 980155157 560047305 678302631 106648748 787865626 40242900 156765667 660810168 886182121 10175946 492594650 22881571 300541561 138091087 349094259 957734568 596217562 219565504 195978588 587334085 743022235 820330941 813584422 562592706 128118745 767118873 354715890 899113784 780694704 699298730 371133648 393719457 538763054 287414933 127606629 250801389 227085826 394388521 254745085 372279474 26966602 556211557 414915237 160844673 139359844 41505196 825262977 489541103 307231694 521124256 438667508 756320974 85942909 299786471 199484257 484835263 753585021 822520748 87494993 476241675 957635447 294571331 936783321 510227344 568308764 336421590 215898091 682247704 473225189 230549920 216319980 584284339 396375027 577930309 632907647 532419877 298061006 881084353 213931060 142078467 567406036 351842321 677381407 266518557 307154230 450753304 421188497 606696149 100462557 759678964 167222122 74556937 395602905 510969072 896187474 300430281 618098536 625486885 650623623 675798112 94176623 208477189 548416812 346978857 885931339 404978715 372222855 14218869 173504325 817838383 255085948 998754739 401593989 570007448 941117793 375431700 244292716 36822160 297097383 247253610 504212616 815247537 734175088 51178896 549614919 919465034 681153811 521738389 44155842 595910111 925247349 460311585 552368974 531793451 498716671 226779882 591951718 143074190 673099328 608283706 242504415 892887893 687704242 506045663 937835117 967790389 200625589 220626489 409004797 337959253 1551854 887643086 842179174 314692114 577022937 496948191 8405735 316623046 633621669 252748493 280774163 565786010 889596465 750649393 167830646 805572460 92873075 218228972 296263467 714688523 963741150 890058539 403108482 15100193 908110638 611738076 482954386 301817031 843088117 61358731 816299570 867950036 158541316 648784626 590087616 332987382 78507865 211727645 288816970 924125920 336205664 799150015 309345741 523542632 756986219 659253967 735085058 655377504 124385156 636354360 989578305 376172548 133982712 346717702 384227649 715566199 967824587 603583567 900701693 66387670 110490793 849042618 483175339 659935938 992815804 258765213 816634723 961844936 806503601 856625568 336254897 377708435 320535888 458188965 414555157 173539193 49143047 313097810 840552655 66968575 417782679 104009376 464627744 754085308 107619202 973284157 617930208 208328481 198702521 897176206 915968133 749367815 148015724 239534097 723060428 377812407 221468540 825521561 771351453 502601916 140720188 386908620 707387612 905922544 644192374 624977251 344038137 974006737 606575886 332969546 596227143 250670535 42762712 572361732 948797527 17565136 128373810 219472007 90366015 567876930 52025482 108676252 283557554 705671942 18383216 670005497 453821825 889983369 341879650 516538797 600688660 509998698 544962088 310141554 186078929 911315934 707932257 21918746 241148135 92336007 302230752 668540917 96119984 47879858 157146495 193754651 8708827 716825375 21398133 966677046 171197018 490823104 251476010 794131404 561521828 658602857 131342021 776520834 915982322 102986146 523911754 856794086 883074162 750294320 316402095 443384801 674302395 89912805 378356170 628584556 199562500 286368549 482541875 119669842 852596961 31878532 174491395 736110834 580436908 789973020 507617204 820502791 44783289 669191050 656154999 436543811 912712129 107536613 284480047 451627136 109466200 319940857 339406133 425801303 499458763 228259993 579237798 731529491 766205142 18759661 888048846 84986345 998854300 904477743 896903841 656715152 633630244 596116847 313919952 637143947 5234401 435651039 164574307 770326428 516633874 54505511 812486886 192770570 288314860 80460972 490692214 908102875 276998033 991148310 150607164 797415501 328466379 127644537 98095339 452046192 120112889 97695871 730083290 899896255 52191080 435074229 434440072 242231215 924628507 730047083 577561492 544090832 553633290 78070270 736086181 597908224 213122552 642369628 517769167 4598504 188745514 941566830 648378803 926411421 938346061 39381119 773913306 167210431 524273841 291668465 465718411 831366813 163557416 548703478 512917253 913757399 652965071 830002130 75402070 615112524 811318550 843464913 353925318 750846472 656140122 65081428 650717387 672019778 244023836 460554165 171779079 913670439 619032441 828281523 90500903 104576416 113565010 175759675 426847736 159871146 411303940 267464546 916754075 313934137 374251351 8193245 565115403 194446037 560429822 456529271 176908284 996693495 810905786 137651195 7825221 25331183 399467890 290409721 456057783 743015155 107832780 710893260 816128943 634772011 910318441 574865328 808307247 344620342 997510182 888811846 34696629 65885834 833849261 896825172 815050297 508740982 880304991 264995212 71258070 735813799 396506148 250478599 903478971 134000910 873979072 336914291 138684791 234596258 938762819 983176129 579583521 857162326 155439905 637992586 934156899 274374239 472951332 249710880 529179215 395570468 346679418 804496217 404884825 533760900 792930839 920228999 837545982 464802630 499549769 481015785 483886323 468140380 219388085 140203159 662893746 768647563 763214230 746480426 341943077 947123665 545817746 4308386 680172273 225286850 170535542 265913815 856301576 623348541 724239325 52156871 119389738 500660340 120098600 22367608 747661744 706697889 120523870 911810979 941315838 343552984 409852923 919751868 748723743 595792850 87202629 399602027 224338047 926354387 329573673 864362992 615149779 240018982 571386934 870758375 565956302 770096201 549522100 318296632 554866926 976416208 609551794 797663283 872518613 24073057 668806512 821445339 267170013 582710630 128443513 548405261 444384021 16438853 478594052 935481026 336286860 786555527 748887843 304597154 186714750 769295331 526709823 339121406 170183130 93989527 236827460 981594527 386010368 315106808 914225368 730990289 221343739 607803911 233593330 640028179 95388834 373852620 614428681 715436531 357962645 634869228 611286390 346792934 100488622 515044369 634778729 746169565 511575975 482787486 441175256 668689471 980570140 529028339 491489104 180294910 612718130 771969916 886281535 458014967 319555441 31334870 205139860 623972087 289125637 751560338 453494302 719453564 519902347 148363737 475895945 466287342 262491103 952007811 398791320 239747998 167629542 107120 62794966 694485648 523748282 111603578 53662500 316166804 77437058 419542540 771720172 900384090 640407671 769222888 33066623 81063518 553860030 81531528 76040587 726682277 242075559 282132474 727893228 312358080 421304903 43973268 668689298 80693911 844469962 453838668 643445295 325835970 286041425 231939683 163545591 649676339 632516690 93171485 574079124 482260566 734175354 424319619 762634649 702697392 845830103 233600917 927455608 218107022 669289086 859945925 78941587 480671647 493845313 383852981 200090264 595776336 733871085 32701576 767442582 773339702 718543681 697327598 197058622 849849236 248872389 962744524 972401461 951393583 768342735 92502368 338088477 551445118 557798221 192506980 489716201 156215398 231171654 244855283 124056007 534609955 227650520 801302756 631970037 2068924 683295005 953408934 785656145 962326188 672368015 171195188 73010763 65247640 304334264 320160833 866585640 561648039 403735459 762594878 463544466 438299106 15717934 141967258 510561900 923768224 951060320 434273759 537468841 19795463 522069269 571367594 964424593 177977330 580132699 775745191 346403749 576305797 179470482 8731136 963007175 811833512 130041079 821953470 270213279 586738708 232405600 390782684 238614474 732928114 319234704 869928 942105296 822049253 899915096 906921182 870203517 830177943 912844577 361472070 580197926 175455283 810489658 798460967 200326840 884414956 569195346 466533277 740674053 438206606 34224187 520892639 99947943 799326105 203746066 94939699 235054219 514583800 870745632 21602848 107373611 252993772 87339733 600735000 577329951 509622111 448297802 955821873 692012988 311572589 910981637 25589299 540915141 329501871 301355894 993021225 199809368 294888835 218942642 18530986 593086848 201078760 932970193 443817973 98460374 48562838 764861574 741806550 233060905 590955085 656587600 945771773 672075092 979890525 148929760 951363776 783189511 830012032 491925790 140484811 993420566 632577862 536743065 905045137 302009906 555758308 242655089 578368411 611263888 230814284 245428193 143444680 745198191 300091699 722851846 919599356 584109805 922758696 647906842 446713305 217144446 863775015 956233737 251093877 174411231 363462099 903573611 587929195 19221776 633496818 332161146 453054967 904525853 287646486 439629810 438991587 255944611 655000281 266749774 400836966 677114673 522943057 816667202 102225629 815652750 194686516 848417198 25585277 726875410 229683718 863303175 841558188 727581777 348675256 936760241 285634322 954055528 541294119 877014694 219557084 152518977 10685301 93702191 186478200 101755358 592892773 532702921 345631816 922296821 399535372 517257814 47597095 519841997 252431518 275733118 270495509 32511332 608054578 329190126 546282273 290480840 661672655 862586375 302029823 628421966 630436640 907464338 116297503 398054284 53199625 416581948 256929877 788186230 483794928 261640152 408668685 552660685 788805590 796455346 847411623 88824625 618788208 746945774 752878067 495742126 846687040 954258513 144667891 156077690 328096107 218010654 82621719 209273331 512793344 934967761 726007557 392360423 313687451 783147556 695913904 999082969 522324327 295505530 320973987 521936780 361202638 45826200 670001783 627022107 913091083 878448464 509697129 358722832 591058523 891064058 440732197 447376205 92519727 128878226 893388533 157951646 71267375 396831002 36454035 367696523 121474975 954311261 621218993 143662746 122704959 304922922 302958736 410399258 33492779 377891204 896067920 595982394 945147848 235798560 498826167 188600971 306433324 458600179 469671574 823665097 342441848 558288476 935822953 113643303 355639272 457854881 801310967 615097775 555546037 201189222 448281229 889133335 763308753 132642157 272979403 575616949 326127896 1093905 43232414 667996066 4349851 999682165 752280860 369402027 604685782 671081547 625778056 940167814 789413454 560959092 112805506 938240642 18887739 667158200 430290299 102805326 320749825 306313320 819836167 777046964 379698861 551217689 694824352 340464305 494951713 861288788 603412389 714791623 315663024 2375387 952107785 638459651 664401401 427080109 878094642 589490186 35513688 662969701 959477137 865666563 194035008 304169855 72780065 2723146 856949854 663063772 79694556 483151970 993050909 57104503 476656605 642176032 581844244 459875437 257520463 466959905 601702206 685254797 763324122 48111763 657518834 746095408 115676169 653768227 647273007 248604122 65725617 709150910 879962706 529771499 890406448 335956045 221735313 521501594 631214552 543093705 372019123 466545535 850601387 631012276 30818847 844136090 731532523 626178293 771501836 969417781 813707287 733989176 864786890 808506204 626601734 85566855 105491346 405167687 458404347 589206385 428292706 862084203 974237118 101905621 57946230 300234276 158961955 540521246 715812153 830363715 682755226 78103286 538234678 615417223 215118686 703831502 36508395 165847833 643145207 982776509 246409293 935907803 605212769 855230096 567945269 342726510 469322230 266504254 196794465 308415896 14196739 577602321 641715802 595059201 577669388 556526156 77460971 593284001 394543815 41014863 941984348 401750936 484227485 624128402 74026824 987901574 864040016 635277751 869388691 105090915 270327815 399557884 17557137 277450412 613132893 374928708 696286499 738019719 178055283 817971390 538576462 424262230 353426055 980710099 940545754 699127813 145414507 582876483 585401266 373638367 166549866 144097190 53384068 611585600 784448345 324320468 515063700 888237588 170782149 142443374 740589038 14897267 226924958 829285968 943844868 119804388 338151605 721692267 949934875 741315226 594630924 663959427 205214204 102549469 824121253 866145853 280524315 185951741 355034337 878980827 923338714 843640145 136193395 713495320 702894368 545289528 827085867 93296226 462366911 290252658 339228332 195684512 920559263 823330857 28592596 672825369 578130392 568912594 104856633 995510669 231391927 710542089 727933112 756271840 87019979 218549762 729783924 73629697 819881718 444965208 904280052 87609708 851256282 264024692 67255227 667965224 742748641 658685026 73763308 865842397 309006030 366808995 124643579 791481406 939057658 334162811 170943415 608341193 100377892 988736501 219232845 720980776 4562989 668878033 95336447 666331820 707096991 624957311 156268822 568262829 141435733 397654837 332383789 39757341 267529977 122540486 220864933 470174064 59882265 670655835 304999906 267093829 288218879 943355918 928018493 160396589 873554801 891474951 803780081 484726415 832678993 412650356 621000574 725613731 220317806 695299704 817807206 78493112 673022501 557324562 994327483 941160322 111354286 518432241 281411762 342201650 945454872 989569864 252537658 802285086 841807901 442007187 885482240 777929813 785605543 104334460 46609800 784135831 41937217 304634691 559715989 4896274 2811696 152939961 720614208 596572843 786206843 406527485 673234217 983525025 98518172 777065493 922812642 770174633 480238614 61204524 401623851 536173693 356811811 679810608 79996468 641900693 101601996 523993103 922996385 84123055 309969197 459347196 541536731 537554640 37527869 418264304 910403249 941301307 569959162 287586579 721693613 530370156 875446371 917658802 6098322 878240843 295852720 983874707 679231800 437171209 840454519 696634277 909154837 49359243 229491814 541060445 466598806 1846796 112419428 692991490 273810386 890779860 104107434 203134599 533951708 811005774 913737806 232295901 38426822 241821388 841384330 493935577 289485303 245712585 989263442 91336427 833927080 939121760 836259714 212603199 776764346 259427966 991303262 65267699 800241636 240337598 786159012 723125146 862979265 699175386 67302050 423539829 156270106 819480274 546269332 566920699 793627487 987804741 537701525 448561334 240517201 497198409 988030145 93025861 82300403 682078511 948356408 618491315 282381507 384002492 14285778 245359090 114718374 585117673 122857233 649389583 474897459 58017192 596514237 501047585 605629713 280960055 197849599 65401553 264773486 842707189 727778717 926132470 76420717 284826765 966863282 668794570 424736016 949702388 761077974 732449421 13366284 313896135 802089271 987125009 696644889 195468520 642709798 376096185 482161055 987289629 62116215 852831886 435793939 384711437 720913677 969131027 780838916 997202534 186709605 918858292 505346016 481586358 55261963 337000979 468223887 754867080 210679245 630193467 485762681 65772146 140296495 652169209 76604120 638880966 92656784 263520267 801099485 991870954 942253698 644442593 488852785 787530266 715760769 909943654 36530652 349382493 552009098 580383981 157466720 621543815 62601834 137357741 830748639 740786087 187362555 512104128 534907281 682473479 304132666 271698748 866626084 199684323 236346839 917671721 402317679 187266596 781171832 810847993 475428324 69057422 217020100 437963539 33397197 475228309 705438287 705249077 445275763 945513567 874556921 518198321 548902903 713871709 823163001 239470028 885099242 382298124 189129648 362766115 376303595 633052761 93125064 694745996 120040742 191644132 42577166 4352156 314399502 676555328 654805182 427825940 206404132 870184458 75522709 93651876 322889556 575137115 861305503 106561536 896725942 718254000 862910639 55986184 688042395 758063859 532205971 924906809 126067310 388994097 825843240 47947023 655000290 167529569 604946971 905604697 139398141 935604630 538942774 403535172 455599524 230781821 386358671 346157916 169555718 290826280 762474278 647457088 117651647 906722534 431064349 451708436 247000419 190282266 317990448 800331321 772696147 214695146 671577019 308896276 23270189 372103480 232517172 998742078 29094196 527379570 487088783 933961471 839012748 587372421 578174315 404458581 239271747 546963320 112222739 995600231 665869777 367796150 828099812 947142842 902331583 512703789 329797074 977192173 392434801 153674490 38209113 17936364 871919123 456463433 482247222 810485089 382617975 741413888 576385405 943604507 565613168 305419848 471639612 290961746 113829817 95558605 913071499 252289988 676521880 570542587 151359912 138376351 379432749 278968563 491859171 524096002 203814694 489067234 475056364 668059617 785928206 597670755 710101744 475935835 667763431 256780365 731986452 950853356 58946220 73997481 392875845 827835767 476502643 231075508 149920836 597864468 340400720 769141872 14343268 867649769 741928081 610966643 158410484 22847837 201875760 534843137 329642360 935379016 465599275 57418732 473162958 950775542 753771869 881206385 22149071 127027566 655709919 328268559 714201093 696159772 238449040 392115015 329985553 294683342 303398452 521883873 758075389 126826503 886965269 797235334 579945743 79810837 325741212 321571121 110382226 439964367 924470292 574751618 287791743 191995472 896687277 462252836 78333219 665484189 354383653 12950370 329431443 546730296 316336927 811710918 983881069 10507534 341598967 946375337 728179376 316071528 36840914 908167906 113344377 821024304 178796665 977393267 213009102 230101163 7311162 669552642 171953418 531615099 641060453 40543791 642184093 296166425 739055226 975840044 768295316 762908595 192912404 348609242 9677626 687802766 660829478 460075255 704228524 811768376 479439699 844743005 779642536 344850420 995739124 536296318 955201855 255944124 116177439 627005787 862883740 571625249 857173404 78944795 576057143 868742341 525676930 433541564 512512787 149119997 763861756 276585973 339308823 2245217 606882643 952621828 552863483 75120892 479860768 236422568 286642389 632663447 296829529 940113641 684172279 112486368 722067280 389411573 791831366 358140226 28865515 267786142 239891654 642252403 690034028 440722434 563217033 560871367 10627094 662578673 800547481 393188422 633360179 393186863 884739627 961500135 245577278 71243874 78220543 656333768 338837048 440697139 655265154 200734667 609153988 276936293 675764683 239010686 282312717 186557717 539253150 258970675 771072880 979093967 313595044 739696142 348983578 797216397 583035770 68488274 461230353 973306209 142738173 723105574 314106262 181271510 767513499 747881073 754074341 802846631 778339186 462510470 136055943 102739903 120395644 572827327 128255561 402085056 507093225 226650360 444455888 413169234 824090761 149366337 621466432 13915206 996034673 99921056 487398243 329726257 326733549 225665073 991229388 53873646 872578829 819401370 942579582 356504128 397256813 175866019 550868513 25962750 566623696 513457464 479383011 10461750 221625732 677001345 951896299 50398449 852471606 391100377 393079973 949315176 488967959 60657895 514306773 523658247 739289625 523187658 342765829 575793001 33373154 843808520 983860338 108522317 88487457 348198890 645367479 683014131 490980863 598503648 587270622 443986516 660483490 94792471 40642506 674837561 977024578 715332599 271860495 783996266 179988781 594818400 460302440 132804422 243380562 672920045 457827219 172800807 902699987 633149972 777222117 64076389 595245604 674896688 971863367 79318553 544264339 847618092 771266737 22370485 318771980 60155483 162263762 570247293 785277453 952753290 851844952 35881056 251896768 816431996 453602807 785612299 398735808 762845583 174095658 909674007 467651051 322090912 770017159 163245212 909232135 169103662 763202264 806748203 471579351 550457114 643187232 398253635 868214161 981948532 802755866 677185861 701841329 390369631 691872597 299341477 335161046 602692076 310479060 112163780 590366812 238829423 971745540 371248462 871797713 239793005 945496507 370746086 587683571 369256751 414981243 71122518 656753647 187399420 221854335 541458972 766809186 871744294 657360015 712917084 324285860 957967146 433275188 119242713 485821951 474344198 674543552 388580073 260934483 670039500 844006662 309352044 496189308 844742139 263855647 753772543 612491260 684302752 868901833 880396023 307644057 738640205 861385982 44828333 484367609 767793946 84772088 828770205 681169372 430105334 21064781 719646155 102029588 458705145 806911684 740307464 647196882 113733434 71619337 565247227 382641966 256290117 693175116 73650052 640668530 994005625 543057864 194486124 105599422 76254411 546243103 885609893 364182223 463608597 908924612 944376237 612348335 817764229 138975028 88067048 614982996 713132299 120198171 273305345 700529776 532184688 421978800 187523278 423303316 513016836 7949572 523370639 902323011 266794641 402384842 447681878 921666495 143827014 461214500 124427093 759160128 150435023 919409091 444414746 646747336 45051510 86118001 38966306 217019666 130493379 748848702 680021002 805175263 506538544 872317296 301840811 267033799 837719848 822250190 972184368 688880617 714454528 18405411 781680746 131037788 275923345 373610467 739184082 252403691 823113866 426855660 176808069 834657160 195367043 854797050 772128280 701945812 895003072 562641757 786236263 166578811 659238750 412975389 434621785 896635562 671329103 840516626 814328485 374987083 339524144 273622950 447646221 650489505 167890079 655143568 216093880 254658214 400574672 99600766 146863141 176207863 84073746 125987958 722922566 564115420 970892708 45138275 735890373 379296096 302745146 105390789 66619225 356952074 998929991 838969802 704807407 854359555 405975672 12799372 708337792 112722950 571541298 74226814 640296932 20690828 932546481 391316998 252639782 996291254 419389188 917756095 482550362 298101721 559787258 829418075 914930576 698570104 84801451 371312861 929011813 162761487 62830508 126934401 162659988 27200966 858037652 518577397 553850483 497894713 203641114 618001422 827439954 619608521 102061724 888038242 246346305 511084119 753463672 672827853 244365353 991813713 442344951 667584075 775064075 299856069 414635307 466409536 606619749 399843945 590957767 595345900 427991718 648746580 770782930 6247408 747935766 308847143 15961880 862333261 194484990 553469106 65966576 919721559 563329475 205334949 678561871 505014556 181028003 966945733 459618926 105211155 587684748 207783763 826085151 436279578 541345528 211707615 222537665 949685744 75310850 274775650 573536832 563412475 358358592 971269694 146519433 114082018 769228926 923865526 884130972 541494837 393337497 501121217 32045858 730652160 517866082 810891664 56587150 985158558 938047374 751998602 395927770 630372860 287243998 837407315 650605321 808714201 279114697 657320894 240307680 319252421 938287715 348463227 937296973 975280182 374202291 644714308 480730543 373795791 702900123 968603267 56052924 865050854 215408253 909815054 221332471 555472032 82328017 87138272 913236614 320784908 26038036 504549221 827774564 373516211 749176824 557650185 939675873 61846858 768092978 927912073 884886639 782623364 122953921 349360246 682705728 409813698 915244923 837294821 814143910 501518483 159871142 999416765 458311864 733863968 71759770 431664436 526932607 511438179 148619412 806087253 25397284 621774184 162425061 768263607 385205664 321870202 169382350 127895905 299805647 155200987 745993547 631912348 440834495 836486364 969544559 721520160 777736190 958338514 355206408 496379317 124114634 367328404 362171832 28776562 931547177 463666553 872843082 900750332 807085922 369516360 233639227 163700332 593821262 783640044 89588036 342709341 192290723 841483141 749191562 74263841 107338546 381631096 692809664 170925892 658388459 698473818 791825993 826521684 154573690 268705030 434973966 497407023 783534199 494219275 450420651 910581141 20869000 132462786 482884109 799093816 429633653 641557092 22146671 63700643 343921128 918568685 874301385 825642920 237411183 918695375 760601601 975489494 249910863 75746773 502365973 650620702 390247383 255428640 836549312 429365873 510061846 660048551 880422703 100045872 365844722 844098186 992194828 115530633 431810593 713079065 815257184 498230207 678383027 411759788 761824890 543638580 656517452 720213321 74274502 131834747 444801714 418603092 808970803 522840970 875257020 508483681 211756563 409939178 661520612 731553697 797536076 268991995 382100684 239454534 759475976 874553247 259033010 244792215 163327521 459360257 966709697 773629342 640627472 710945337 423102150 321450938 196217762 955945747 973622825 216335165 865795163 628842064 791884664 473601536 742704648 811058667 587452652 749538613 377947022 659982837 838352798 529393216 95378185 946514534 185600055 922306738 331908564 790191527 48109377 682367524 162235162 255832215 74694234 892433278 963106364 564000836 322363405 8936667 140113807 309432071 866313975 298115001 865261140 759258927 904930950 18938351 742171971 951988246 524715457 308739493 612923550 715760570 963060552 861180448 810269749 400181734 876880399 552199966 45851772 312169668 983306264 817298587 847645841 954358534 160160849 637823347 582832737 926243009 565159812 337194372 228537539 794575834 186607794 428274698 329826500 927384327 595297176 197379446 365891575 518376258 710010398 616156060 645062086 477581278 743897290 896481977 404977755 634899052 180785119 791291200 693684825 47677291 18954190 787884808 240002982 240596743 988548212 766483358 625227503 212040459 6365114 958815524 252078810 291478455 327927633 710119080 60827433 105532118 267485449 301638645 10894697 112859425 445248373 590972253 488655892 934086804 457914283 729477599 278171104 719147591 880975616 863476008 990129535 966352862 900145862 98851500 277801263 714319615 810204088 524379253 109110075 454393487 858960019 455757480 191912516 881511681 922481365 761630951 260132604 692379162 183089071 628675944 167963639 82397485 596215142 358659542 437805252 56410348 214815368 850934310 745010281 436402501 507176231 137161991 860033654 158182582 645920911 100518287 823782986 954777303 678429770 664522095 975347074 35738283 165014838 24788835 836312208 256359118 370434156 325660304 723956562 587437002 246334634 944687802 221119158 229339029 507922697 593153286 580314080 360029531 677282458 369988385 833584514 369511872 945489898 615282331 765161100 413731247 296641295 887869484 165170517 708644939 740585251 73489804 243742953 581734574 591629839 238627064 172233138 888410848 356308731 846427668 818704204 665376065 475268757 989073361 883564831 120684639 675943788 723073505 649523238 746784790 690290586 396483261 819079193 432046032 540835659 301280635 882517836 831687874 221364173 129256249 195078895 35443500 309602049 11544634 189757713 418701574 598565686 101209943 380480682 391055149 700877128 547348673 344485676 140958213 960272974 398920534 823054603 707927618 70660275 891054011 827649048 770677843 290246631 343122032 184167615 913673475 30898155 106456083 905554183 912888313 188620639 721401090 61076293 281042850 7624340 775310368 195075648 586490761 737147051 42646676 910746447 553311660 199411677 629701762 61396297 576202829 497896996 467275499 460295000 344411153 732312068 72450762 565168367 837580142 936223288 888919763 300507409 194265840 352288767 999295639 915353306 380270193 932158371 421747481 910449194 875598587 168907135 378201511 654897144 915586105 679362062 574649060 293800578 583470884 101684287 250793387 957940830 438299648 83285358 334806963 490785827 944386440 657772258 701974552 148874069 465477767 392507509 589992054 216928719 980591338 888756203 540805649 757224784 598703100 981034743 101395772 15746718 906548132 573215153 88281473 703444393 679435940 190417499 255831107 287445787 799134927 122213880 861101457 589121219 613203378 475371698 316696272 662930336 398713363 908544304 364005392 174059029 29021643 730642686 762379579 740289967 135693739 728015357 252000844 320866514 342605759 997911584 159218611 403042189 99637563 354792489 282294765 645878556 577891836 236772314 529306958 189320572 268182422 195871830 130183087 412449294 607651443 489712248 868744571 720394138 222309861 42476592 613905311 79449847 423565734 853345146 38489998 207502640 319267991 149045579 714105107 732937421 482183029 431892679 855132519 484881602 941945354 705531969 573530625 603943305 89121887 126613858 527980024 704201499 465432335 909445533 512274250 861941725 475243623 710685224 898929878 591152970 877731151 890054179 360297239 558352910 63429468 639756452 868789577 407543961 127280318 831101280 775696365 212967442 62602174 747607933 706436032 159033686 843099032 407484824 10409473 355786732 470624377 965099067 101931639 631237692 173333750 279485088 188135459 289703216 795932397 128213666 90910051 382006429 275098316 633469970 823744867 162160456 640794657 498828617 520731100 927444495 676600055 507303128 750664817 397570120 325483605 138165903 501189942 960198249 384729284 162801387 51274314 299318760 12910085 626757825 627162625 271202828 539451202 604477962 429406916 948289664 604546658 888543277 542372261 321025875 328549637 424688958 626046752 195810233 465069787 203233324 585969207 456826145 985729954 841534340 345496121 612712060 974655769 362807317 971516864 266095947 7675239 562821368 774853311 825547777 332958647 36828186 747813658 660943755 987931226 614669690 973405079 431888684 86241383 902306329 35779914 552881734 315783825 908455017 334220020 418941620 307517112 361903336 683300085 881469220 757079016 319351580 984023089 191039360 817552823 209237592 39192446 696450625 510321039 325260268 743502162 534831780 275444736 563834203 313357895 466821631 535845496 247971403 331050888 849590518 339838288 596229272 254751941 390632030 13479283 658840437 727541606 698275215 657335857 329378738 589736031 889286600 725861253 278282175 133509915 904888065 699833257 177383044 567118402 866161928 394333867 694257141 948343777 504671418 415223633 679250774 292186483 560386230 801305218 784733675 340613617 561155278 87732761 697674671 421264337 96276081 643423804 697334067 843458862 466175573 471703020 606482396 462566883 786541248 388849137 766881826 188572195 859239874 241686892 315375320 479790729 782966922 819808428 726086270 353963428 300355393 568870800 524891675 684389699 424090304 393618295 408804488 369665329 618410278 501512485 750299253 343191504 630856629 730132527 522035928 642581773 495847607 217607833 548277724 386419830 389557528 476029473 927832522 340761208 81026406 828548055 62201054 735206326 663283255 83125816 719730994 952241409 434424476 395674716 554363416 227820314 15035563 871867737 55115543 286027623 602725702 35037954 134565793 529204009 738682707 202350826 766201395 311124592 466944917 15905717 703967704 492719225 458891135 206883635 103686422 364525118 881998799 84064416 891733815 912641716 285545780 740382225 861243783 291485252 469009107 813122495 820491180 150415482 449524670 443431898 526113337 168588795 784682155 319699358 432116318 306679604 495768661 718375558 811206995 477589564 501160601 673000731 972820949 647412787 534344270 855519326 624492897 88924828 108157087 90032121 802237930 32821587 609391235 413206584 440339983 35470710 795207410 18582592 643338113 881948736 296281741 255655192 410451348 153349988 570393226 933129512 164411911 453647637 689991648 531462817 841471084 677129102 833475651 470532232 966839069 197668356 555935872 835808222 914414087 282197767 985814493 603385864 880689580 846593876 714677938 130846367 448172372 79254452 255168160 211302289 108354612 411896723 734942073 846199960 218491990 563306612 189428389 337861771 644669504 326475313 859988526 377982542 3954095 474262691 623678054 209168113 611824910 886175080 165028012 195376736 765870725 703429198 843627386 108612300 291326088 282296158 135464977 461920506 222585748 178964055 195756818 866609426 261809041 900964230 334629213 882517731 527969840 811063619 621332501 956212898 79299111 941641944 766875661 830845363 941853101 726519962 983562869 388967248 275802365 616580845 130927179 80815324 990916524 60356691 772962406 179452794 77409340 6050945 91526795 238606513 637626333 835271877 376040390 57207274 983188239 658244113 660566598 953097759 54892065 696147175 275719043 136489475 285695 450837643 716902441 417830332 694113850 825072380 472888210 338266165 674075369 816423319 996585776 160841142 480140838 295691233 676708478 481221529 44685285 138776478 429548691 804008120 600231742 122968313 370515209 135250538 724349315 216108951 343037237 386309835 907889193 661124969 157135891 2951500 24468068 376471211 644674116 995661869 187097287 778093001 200079543 757170509 287030484 400116808 406382310 711334185 76112609 165457901 565232354 114254133 432684603 2821226 753533182 832855499 345783094 356118082 115427959 117157734 151047975 824958783 431912736 390742855 581239488 13069186 426000057 437604109 939355813 226897878 916281239 468091585 777858967 823607977 151045070 196447710 510458257 680931228 826146842 322191450 84118746 544191078 402992656 720967405 891868200 468406824 869721857 497586171 411390940 947569556 34806192 504947397 676441491 325510279 836038527 30302603 622363073 568486753 434900471 529049654 668307438 276613945 409053062 775305720 296587928 580239698 30544291 276604444 100187363 538170852 806492890 536433529 109068441 873423913 134383855 289292079 73731224 411617793 337087082 330366402 679179762 563521530 251008945 317823762 843200735 831585865 93169365 12804524 869862473 869567933 705931494 67876687 164070142 819872186 983902720 541286026 651101154 619358731 44642724 337175514 27742640 536555427 165431363 699675799 538400822 370289398 528860183 740179796 502247217 656151712 145507507 826000730 404686043 912686789 983259524 274458866 921410956 117027151 246330723 783913483 852564079 841624366 817607659 41035209 221178307 119663367 278209401 458719139 162069418 794769321 577409352 421372231 559070689 519077339 307514277 37283957 946435962 145015502 309951767 245626494 295947548 813270977 125723409 167663770 741574774 671178841 658036254 219428554 673024876 472124188 185602619 459403564 515198880 633173475 919554295 455125252 373788026 425176083 40141918 662890067 262547085 72724286 150848785 611005127 823766962 650831893 895990121 159917319 197274656 506938158 982239800 784612054 724240275 640951024 717116009 359351545 462696311 645635129 776033908 741714276 979067141 112089223 346125600 907460966 155509785 345765050 611842861 192942379 912640381 703690808 308907832 198547375 673563790 680114602 193143146 594019045 890642280 967978596 903668808 826203091 957454457 632953985 986405481 3463325 336103329 32161923 21918916 954175387 575508223 864178261 570367705 550778253 512239372 973496827 975840979 65641455 251897107 612570792 238497887 71414430 909629193 649303657 677880653 53942750 845724866 687520459 805786483 71655606 486584701 742238984 849578611 140449884 262901495 17057079 349549897 700542819 269170724 270926278 164644393 252503555 195926560 797177622 442361443 614742562 377708231 82003140 218307211 228181112 551823 612485504 959075470 801288512 159574193 985465518 230337265 642794891 774273912 617779924 304178479 787681082 747132457 501349980 645320213 166593579 541273312 254367169 191107846 650876604 953260178 685232776 514411746 252715350 963674859 181885806 983986788 797936603 369483844 787776814 544828205 273830412 602351305 102107407 493464334 473567628 643826699 142552660 4693615 222537112 399201254 346437112 728381947 313338555 800307442 127468736 136977852 916948963 281201925 799987711 916334147 296780365 814082373 323178128 574952939 546193298 544524735 330320110 504612012 87443549 107356756 939791588 80255109 446894388 367091634 160758143 433961758 369902220 711265792 117591223 835164097 270765923 304266214 403333167 244348402 80970745 24439506 20236067 860141864 273477639 307721020 260620617 805914401 632840155 730204833 419783044 578904584 779267411 89490602 440037452 416246584 798982850 496814532 544804590 165396657 36167952 901299148 573818174 6372749 250358604 363012693 532998115 464873135 492602368 234891393 685652507 612956677 121833142 472718831 543853239 328880909 58493686 727010130 202113962 758205943 813058702 351373648 116362620 407612959 673681034 88633349 60138546 559979560 976233752 579567673 998487696 552320441 680155095 955907173 606195014 921890646 758906986 659738001 214176453 401738995 379125755 323608703 315533128 513743491 172151668 108316594 853171053 914052184 230827085 270965303 10673060 966767205 348711890 497360563 566917958 708765241 413903649 876242895 924537951 399788956 428044306 930363918 740772398 457571180 411573885 520665278 603068106 643638724 535538069 161138422 401909327 351057770 776557681 666656182 719743465 598313731 417154793 949944819 833171949 714184975 69909566 679421585 874848974 700888228 951594004 362563512 848843677 323430589 41882301 733018385 551914266 441195254 73929093 62180140 205683094 46633426 968216095 878358294 886338201 335930154 452263931 952379504 121185176 584318100 633708115 786991943 762842375 388949209 621360685 189791829 865531719 398422703 336974968 735296608 780634542 913250540 390296925 838151314 120063718 635672997 348452255 505558182 361744925 514552359 987286244 468979485 594846026 130197459 16810217 807318472 82560283 744239654 533019639 202529669 514760447 145986241 3098189 359397588 149428299 57531978 23520548 229419405 94657111 644165468 532247017 698241364 845607925 884609534 593806287 566460084 5726287 876439271 732019785 156436763 129617190 90458537 592144175 15501728 337476782 116161618 856802751 562122714 98548534 56836712 73252148 806361702 644386527 925829268 920001694 91839816 931342371 865917908 248338848 731450504 972600833 886534880 681736385 298684383 582955788 320991354 507355450 177214424 608142134 862971384 989344604 983383076 158600914 920515906 635907447 489019485 938792096 700895799 596643258 711059187 729968136 939227196 823400283 718380269 323909462 708398062 484967054 102038 519406651 956725710 582194155 912380554 223572431 682024015 486929969 368696078 347173898 391385935 237159889 976378446 27310491 84440767 53150899 281728149 976389196 935713466 368149707 521635367 136738446 267509862 733662568 196813875 183237636 232134447 203708618 764471214 500218589 121315118 829349464 749036030 522483447 2482044 126063438 551362719 174153763 406726080 739593622 854869575 677696013 721860135 788988097 894691033 802427031 700809058 831656464 596226057 328304164 627581210 733975693 802997858 737960401 412165528 210296485 720727854 573937988 361773839 796379101 470332143 72235702 722378714 13694774 269549687 346165044 250528366 181924185 748522976 995479164 855335290 806215866 645842752 913172528 782452346 426451837 994288747 289308276 842555623 442692719 884856396 549905327 6736209 237121167 117056145 726440451 92632090 285927674 351194588 437764444 508838574 771902908 980049935 936590198 684567878 117659671 344417514 655135390 628379810 571346489 677023659 853129443 839670319 629528110 808297810 487937062 219832608 241027764 772810012 245977046 800300705 286647620 525210311 501533422 879337817 961106707 610664798 687684499 631172434 585186244 190636484 479721376 243091433 163711194 113205830 934144319 388361367 847002906 545638287 235925198 166984338 243853171 958548451 370099815 60578847 853792594 891615297 816019804 588647723 950100226 703662088 229678641 180476373 160544552 667887870 825561994 707969676 361754835 875365555 573240103 876856379 242332085 246135706 221064913 928664265 528124574 227382109 270895438 229885728 831467119 855981150 110077337 439597069 244091924 843874788 420732996 822068460 366134355 812911823 336623021 492453464 328198569 19299550 424385426 73291519 960131001 491883624 294962056 772636837 973463535 806350923 254796548 553559531 677292051 95335428 355881984 676522779 309912239 324585949 538956113 338336633 392228178 201396589 466361904 957001003 76280373 909865007 590343443 119556358 129605068 38971351 231735271 538568813 202362082 549816787 940146386 44844283 570623371 318691163 164474464 139258585 347041028 356859617 951761137 468340728 530874 164432109 238610134 28084406 788578168 58805818 621931306 473285395 612626506 904842667 409663382 177740137 725689539 996271236 875711243 839046764 389307074 721408144 262723158 662459528 205951428 296363313 139161385 265355432 471441104 458017372 444963994 112628977 859119208 620262887 712929700 418725628 287705321 700759180 758385446 536182783 669402172 622647414 590118791 404278936 555185735 29513399 381281569 481081007 989576478 775683465 766028832 773828558 44675600 784747175 865102856 247803247 908730044 515660342 351992774 271830465 449251750 668661543 401282680 365323853 583277285 773130195 957994601 102257736 211558332 629834680 738788490 294943941 797635688 942412406 23663121 312105268 807350254 912785829 289759785 57020482 331568375 286305628 146367700 760499521 24377148 818754110 452692627 473860049 732852338 946897134 128288542 814388924 50305013 508052325 952195212 680796228 629278039 37457210 868220071 498935156 150179215 785730207 921743377 684574842 778151957 631631381 921599977 298386845 550340156 377586057 343096982 851268424 254678495 550797782 816271940 467216204 86230207 925166745 779634568 766377802 725687485 159059887 357143427 4688057 817758418 572605926 149468564 941354022 469898627 44672472 674057817 555048684 593740764 716983287 828731505 398456137 310146046 112669472 259976874 41318023 540533321 399996621 945761044 494006126 869299580 383883237 982816233 163838691 468546508 776032795 77470006 157677178 781801434 528240708 924367752 522473087 882177535 221046538 194151752 400201685 668264923 120325389 195924714 786772681 189287416 787547517 560499433 467024106 251435981 905830507 445101537 161090719 838620136 190041215 99359634 266283039 502549984 582966701 811514040 190190398 752836905 136462387 862424174 294933800 458507022 302266625 585944524 197223624 148615509 738279970 99913388 217607975 393946600 136266631 457557304 807539737 707246362 998902532 540277280 314750705 845653629 936529256 511579090 930490137 716730931 539322321 472061752 771211913 811204394 300970368 80097655 552640247 459181349 684917286 719513134 279632338 114393014 540216687 131607073 195054407 621396645 984249817 766335420 98470363 203753828 876381261 599307151 49425268 356341754 449786917 618654067 836092791 526506654 135619005 515303665 338002180 194416802 35059886 35825991 879216141 530260534 922983056 990640379 881846338 535405052 200059502 249428780 699012934 402613685 857385225 235927403 428015009 469878695 849511176 363869293 898599351 102898349 856033245 234385797 894978349 937011216 610723063 391911850 132752999 16648503 981998329 874179378 829980375 239394210 889863518 212627138 555404156 801005028 191611208 594819705 492556130 845341574 555635363 351348720 827752507 756438962 529461424 157081284 529799458 484725927 723364176 888385430 177677015 129292114 494854553 189091340 248878184 317423286 165265364 637440615 601544825 168090609 46827534 310850130 894550356 920211023 416681719 988606181 845686149 976821842 848301812 497947352 501266542 680351425 458617222 156011350 384770563 427761469 328921299 317969541 113117505 743047797 40081218 399944625 574587278 378013706 849047817 568828193 176098619 51232303 265539652 925666737 772703428 131965038 171330609 237497409 746397853 981699411 554198028 344660836 481572344 356964254 584836750 886992597 695435468 428891622 243424428 425035506 692191040 450689566 888516041 377797077 886946416 583169446 689388200 900015245 173461302 60101571 885775418 864520837 691645829 170589111 834335893 88808207 227064958 342404654 896427437 509281960 851036738 992182603 244888682 744532187 940634071 960041017 555602748 179963458 667425821 157410454 119001727 940309817 632798412 104689580 303390513 300815676 719397507 428340816 583939491 463746053 197737998 644602215 473182322 605557214 208605901 848713022 596446124 373454325 898579843 302782792 467048742 515166130 947792880 871317551 432051585 141022977 763720650 120620177 810535754 250474489 239505004 572247363 35953713 932197689 189417756 291775264 417608507 635879567 422967593 786445630 509600917 577466928 164963741 917074447 449150439 511620858 671396368 437260557 451255691 842233284 559935551 146578935 898050280 811449103 749118907 975242758 811586614 124201295 613560398 232940681 227256734 28577148 456716157 925257686 531329463 902910887 450327299 879306453 954455530 363564739 813894996 392564336 771822369 703767332 491788981 411415210 516576334 400927990 169798007 544247787 787403310 180888501 130837470 742744682 967762464 869913820 539275048 820768834 281038407 211942256 142018639 390848463 467142855 212369174 743883829 480725613 281245021 155957598 594581278 768820682 40163062 134232291 567453539 281146994 488637943 650487512 194430162 765448356 627968778 113571355 430297333 332100911 585359287 904668138 499111210 454745787 947688490 887800199 539285748 615331360 96780876 329056499 727045648 515906882 906977545 512167742 754538611 773575649 671267617 232537494 886452157 832253708 899181784 474417149 734700497 410622469 898601168 511362639 47643898 528348285 640172418 170001045 173949679 706555325 528727890 278618117 455795942 967910729 974539427 326365204 145603567 669013951 158550154 282146859 385071916 984656096 680594019 939494312 866252595 632885008 665029120 409220024 383010301 359125553 669050848 74482314 924936773 252121669 606011202 836643125 290409714 215775988 927254898 725567420 914765976 236141576 772273966 540374204 236695192 264576710 413863467 652670975 87797109 354329444 620561896 646566803 597979338 553649977 55875481 463501461 423157616 3397427 798861315 715576524 315271044 856020905 926003260 112288508 764496309 145669713 75642848 291733812 675857353 460355676 243013406 194564918 988416301 351743489 663054877 706565841 606218923 910365785 670419301 995000642 175967585 494102729 221699100 770058458 353625811 456645586 200199433 966841633 848388111 751026320 231128009 907977828 27649625 39463486 707081013 469638468 663779146 346367063 867095564 845378535 346992227 122483506 379267423 273563956 19272709 472948710 115908127 441845284 871044879 701000769 295004495 982492670 912007411 147239595 25673165 61798788 48000608 309860587 268969998 162154040 207455956 877001493 86067727 203450519 828444997 535871809 394965098 626057590 665584023 665563138 975860592 273619135 190755247 692460596 309135165 835906898 49061473 715839371 903874715 495798437 623931274 235668272 928213737 668936696 820130486 986498830 691661963 237520596 88637692 180306322 395121695 945303950 419493190 211620932 735996420 845965890 885204564 804641058 654046464 834505231 54158957 720311651 165833320 982484349 561780205 750283101 675452504 615634707 507907523 402581471 339641241 927270077 349695690 727925858 733102372 322140545 259970532 152365801 63804528 684634960 548662945 514784231 569970187 427163415 201357571 444479754 205670124 60509299 696022878 521017011 454593476 540121851 698255287 431006615 331974481 678377221 105802787 406006995 562291073 915657409 41294020 789343009 191319899 990123679 822175559 507721495 728779845 710161757 8293785 386978660 129280295 978755885 17192068 84295546 583208696 142834518 899050714 767254344 129654776 319969646 490584184 476053126 4682432 720726249 695032948 677536241 791287978 545871534 474152953 300277772 433308198 825740950 802168753 359107061 797915213 525732424 549167794 333437924 632435389 663931419 483449454 772739559 417027911 978908303 7633209 100666985 517804684 349418846 717356 735115822 861545987 916582710 633143718 113419518 646489277 63187063 165180453 620807733 988890976 777604601 660247777 371859214 896059022 91153842 688266343 564901839 376783999 531648328 411650520 823986391 727048935 443470711 682181676 329607524 984345303 320436695 541440188 362940600 312543180 161369815 173427556 881649114 19038217 847913309 71117202 802194895 400721187 848424694 561858564 957606054 564781616 442892156 579000864 787132911 524932496 613661821 350695894 882033820 73919024 73208942 841443403 364072219 524610747 864564074 457267 68136094 386497397 986151887 520013889 669013134 452518336 220107299 29451714 383758132 478670310 100542416 595316302 521930316 794232950 828214041 838091647 695852824 603369383 344942677 669039545 739394701 791193941 34586372 555598453 112053330 382454900 419039631 759936439 579460732 816531083 831249991 358631254 453861433 478573763 680256783 271912907 667099821 899357138 917861131 697266424 284489299 401138365 829399696 245628805 915810272 935050512 842742689 405807900 630876458 540739658 327738775 345975990 797786786 597040269 357652058 15467128 7800382 912981451 741336053 836488452 83786214 333282168 226537666 140094128 7541775 58824121 985243353 131492553 324289681 543774443 738520571 633600052 889340317 170929605 111581973 13616915 958051795 673532357 195423181 189922565 715533048 28188700 828171243 703019960 108552464 636700646 252471937 595664538 759275007 797310359 552508629 316908753 820666370 874073561 951137542 551116398 490555362 377270808 735463365 832972051 624740660 903130656 107292982 680889939 948626578 407035063 952540718 7092477 262203922 307403922 287672807 826207314 852599674 756634886 292038642 213623626 105927602 63878830 690124845 172441908 204546345 523701853 216638665 115653651 192269597 918379430 273422411 98947840 884898020 719253927 828996978 164793049 551030376 101181433 511568722 993086598 307773669 160220922 497359661 639155473 154044979 77263467 344742286 271848633 996075837 967274604 82170527 14436647 813163336 700607881 20466203 452559672 663375684 798493263 417217386 279463680 242851788 37629054 773245771 729207666 434023767 452092300 509075401 332755533 19810727 533716203 707388663 742921316 62803727 716042694 828516254 241837846 437249444 246313365 53510096 165647855 434988362 334629924 437881422 831568437 435667539 112496948 695597957 263141303 862545347 323599999 503760219 570841595 28664751 852547003 868134815 38419093 786486413 86649488 79515109 375214270 326566242 257925432 427785717 735280730 888432559 659415435 762033252 125787813 731909054 581176046 485118924 944257769 842280614 407419565 494152319 791354996 543587178 222801089 473048196 275954288 646411739 893514820 675583702 634020902 530157224 766897125 378896601 558014507 910361537 761829473 860070715 706264536 872248077 541254910 464014663 568139825 128282335 796367544 574793537 431857566 499801286 168077516 442713145 750712268 609542287 198157284 881642488 323991384 334390675 400510852 353106171 393848867 502826716 858510999 926421694 5985941 310593510 903261540 585753195 702181143 105447880 235266241 795406111 124635988 675028972 129158049 399673014 123701616 453696564 124384381 296826987 869990090 437033466 39070655 774579470 280549897 558069267 994438404 183381711 117420560 329685897 617618111 976206041 343135037 672297038 185262354 957001303 68138042 372573363 206531790 439058245 626253655 341098098 80317021 933436763 598767517 248886162 327521317 105238186 169111537 258032469 55262480 670931221 494176587 154193568 126899397 519949438 943014996 343398391 406165708 311333577 605747514 299328200 253117983 469631403 48245756 96704264 305628455 55220819 394515442 168998535 563625732 773891881 150110545 843846797 273462337 850042423 669948854 957903611 689943316 700765437 411085594 833311554 329211168 606337971 62248603 477932064 79721574 948418467 23654375 299567052 343012044 359314912 303883566 860419817 89711960 375875034 152157628 214613006 495811376 920019041 776523880 745706537 268130000 545874445 827981365 5375562 527778567 177797700 831380289 345263571 667819161 808209137 439937465 162106415 842309084 664755499 274285321 171548013 97951151 425780438 286716721 736679401 965643094 184027726 785562576 527754910 916893485 82542897 121195292 201328542 214623951 308568862 217342937 625895936 389285897 441505715 802520876 237189788 212013761 787130963 707501651 318650282 743066265 102097960 343152928 15009388 816170864 183530883 874309816 97972743 484673626 608894558 541813613 921680304 429098740 366776791 534838486 439699051 853459592 136839800 452891333 231550060 414938649 358317681 768944203 999069135 360096930 120645377 902522453 467219652 874249047 186144771 438914428 182826149 165026174 112647254 781609144 960616316 95129836 785770859 899552666 634445012 420581776 47285880 917445946 919356504 888321743 302189386 449051669 260089957 981358797 226135963 312510927 921741950 97635029 627414646 176289380 661305614 147315066 727886777 897424786 997697799 407406620 795733935 433062653 741785530 945413508 1781568 285692960 7024167 708330929 740869830 316968475 533467252 205855624 981020016 310950370 613276065 3644843 348142354 120021056 749542523 554731674 361290877 378966194 649685267 855736070 308326668 699595532 265140795 919733595 813212061 146486414 816918989 922398456 288866961 268428359 996903880 188354909 37656492 4808657 334810977 475217617 303490753 933754161 495682208 588280758 312690825 171510034 470682124 343750109 745916004 365341404 440041911 781273162 470626934 278065593 145698095 385148177 37645888 375118280 341053651 383766620 284121612 514127147 959160671 795501186 608148088 480830548 458807710 638283983 361516896 981046463 996688668 332127681 215613105 704107799 410694250 723153009 988033918 548543250 987296225 868111126 377093827 560323353 246158216 245268248 122077349 785487801 954909582 852126990 733894646 711633638 264531907 608919470 995606708 843868631 5606347 832563214 980826896 199586781 189688983 607380090 864684684 604121430 347733732 957003704 108029597 903445613 515035520 31909669 327629739 819348904 889454104 60907838 645189051 825916094 812374657 242044200 351755573 148177105 496091130 184398411 384187554 878322143 571797362 560282074 364766404 844340737 782421016 758438103 726329432 996277677 735437952 684840505 279638808 484374909 658246743 586995849 632337498 162072130 652857693 964270356 395288320 858036828 102599684 720401101 538398618 452546607 1114619 27787151 177083610 51209680 896448100 53497611 489721172 134665115 511685174 250203673 470140219 773734038 801708214 15515471 389723445 837024545 677719852 933599575 257320130 488363172 616626615 162432369 64472135 863039389 369273221 426095980 101494753 695792859 998213511 293670643 310692311 794197502 883538057 840970261 540805770 167401271 75452074 449350894 136224073 786148300 374737611 826075149 924519556 88592875 867176908 277596938 449102118 928436501 36608165 902584813 928675409 949116032 318352058 33520953 326666179 974960556 584312461 608747326 808808331 784842687 127531643 366370788 250829494 456758920 718923331 766690976 871364933 598078533 672660090 392421481 886344009 178551779 903439554 711587424 185422179 284729624 193431642 936090181 209193508 179685858 927721271 354505113 528122892 140974353 160248438 171678973 627750515 810738470 415197144 801996626 90312253 176670513 91812201 978807274 268335961 659628394 169323350 6227620 958263553 436111940 567115356 192303148 550835643 988649675 715602885 69932992 513043961 292874583 164643237 486409564 988708268 937995453 779533521 67412356 327260489 12234120 435022117 646400616 778501673 94658323 660081872 307821569 701739685 825611107 684508883 471209456 221657014 755394317 830802195 214048914 255415508 883124069 436125342 673364027 452212320 212644115 187095837 709696824 333454183 99202522 323236889 280584543 975909300 220818067 300587877 601906834 552870872 35153227 132995833 719430614 960380885 439225044 87051197 361980213 183888857 559207415 634926809 72157313 809241934 210666033 829383442 278839741 546379872 655224938 641977211 685148047 343229609 680122219 710319525 408077144 963556744 513116690 225354514 621117584 61466786 342779726 293022324 359128435 357188199 654195689 600337097 693886399 363077811 961671307 165494684 915730668 488438261 146849816 729221541 11176803 750039702 668535218 611070748 6167536 880065679 555664672 136877040 839147666 118289850 678679839 305622183 506816876 988472602 567869924 570173449 941089143 577082686 533594016 664661558 17253045 60705999 856508993 327274223 886800574 486118421 732662865 402238306 112098838 846944375 911316125 292551387 127844309 54545875 286423945 333015727 165356733 584031063 495499563 779274815 992913095 606997375 845201907 224339623 246903373 238677405 279728668 753385959 839033261 102139992 159936135 430308743 937001071 446378169 492724740 225655526 431089906 859395498 428564245 999816324 184996081 159862157 393807403 851709971 475548973 102123886 930989141 774080552 368966000 596152549 379159591 123338316 495969435 67217807 552104129 616112603 635132250 671890781 477017471 301739846 579704080 44740739 269341429 465023726 783696433 322661043 499328147 961506305 679315202 21551983 889433390 307003345 750852968 651255299 126548129 722006375 271935016 915919618 45907516 338412909 453208203 502206938 905946471 167537724 343714427 814918985 465585894 216655016 408148291 105325661 623008991 378208063 295140873 225635380 442916775 39079710 379358839 276446999 618594417 597040041 260264646 182251144 715845913 648472774 797349661 997431704 34410459 994589711 219863839 935635486 413644385 354078694 866227170 849355427 427208626 96085603 426906561 279108481 284334788 328604010 194462491 957492952 490470831 958705141 318462795 556000478 912903273 309059246 642996396 977270106 216559488 133163873 238971728 168099981 508287384 526635564 627060473 284396947 156446179 982079037 379848134 415744422 430699480 272075122 522485332 571358348 356662860 862500776 231852482 359754513 561043750 99532180 143802128 980494725 125570366 626488987 205575742 771612181 304705238 38522723 339039603 128092071 957455392 433698044 742696364 513578807 294036620 452434216 411567213 468930613 336963169 887263533 324975224 461552034 963001258 302323556 80593477 664038184 224107579 554026265 55192612 140568441 97423067 548206485 830841498 709740719 976759426 100457989 365948809 395649937 810843263 441012871 669716703 655192612 995145583 601384167 903845045 190055222 656594525 286243557 271526382 530811728 152499760 182437016 758301890 964999929 385573683 316716388 833551882 697041210 775416666 911633077 291746129 428893789 272387619 183555668 663554084 981304429 32738640 300758358 578399175 856171477 38092777 367210992 180696023 350708356 266453168 106001010 896267508 647701035 937971656 636022982 937803978 471158445 766034676 115738554 11440714 803263418 883578670 674454442 986345517 331140950 584968718 563036313 681316132 552081378 376560551 582083811 696086196 988378986 434366755 56976549 147688203 173162944 339127313 958389567 697507490 117822604 198441065 756684749 434850638 984184292 955381273 841780714 191427113 900690825 378130006 483023150 262915617 136760761 985694232 996413885 515926559 859861430 948692041 871243737 518261148 294900666 626196237 156463698 177127470 765797164 539903432 200621011 685852753 397237291 480161318 315949396 101979565 377525457 703341262 879156713 591599262 695912090 986249779 221258932 982971514 15277771 132139249 930460037 868642126 93015430 419468668 48552526 716079628 867177467 972220149 802378658 236907449 660999368 195889944 206136605 212676175 636049055 449119594 119470740 640669248 492204120 643495672 820314472 18853511 556007423 868294980 743344461 13948993 48815898 726491524 773325736 830723267 970311687 232942199 710622492 56719424 177838094 151737709 809850593 396915266 828061835 885293258 664081141 986675934 649193812 698221981 629700719 947116020 993072807 864911283 681513901 312528189 775115765 862345460 109048930 497827059 271799531 931761704 596643246 935095159 848748212 795829647 161148939 601697863 133728338 366853185 714683439 656083899 27548522 743032772 833768882 375374738 838514757 570709380 735286689 346849568 507967727 296115726 710084673 637501299 840304819 65895292 882900321 39100386 291299761 500841490 429576979 947706485 547728281 170760511 704471925 627608045 581232153 646298701 327244626 811133480 794565844 621986430 1743329 592418508 195868638 701967588 667797538 421182572 11922618 661468375 247902551 787791828 589676972 519921649 689885125 366681928 768982639 872548133 639359793 183858462 452063630 378811553 817490040 249573280 9388029 778221282 721645928 189391798 622341309 46325128 958997276 245673056 573812278 498555551 313596409 380358621 415711145 361616581 639235734 706613633 25961759 115757768 473340421 478314752 473784969 700579812 360380237 821412717 436395005 192668490 622620750 870901305 361017535 672891535 349958886 939388436 101295123 932894052 261340319 829317137 528126276 953975174 960342560 636691732 178149773 133003427 330448053 882724538 298211053 760627285 86470443 104413974 895231109 588531145 344519280 624462979 806067585 114783127 348656823 757195538 351528926 444197910 377707273 189513707 171854148 946274285 501110976 692855410 462498214 6931030 475235729 863276410 340044519 429438724 476864379 576237090 121288574 255521446 632480685 473050762 238831232 73512333 554412458 474534606 317887055 942424320 932607583 44992570 279058035 643306975 634456691 501266401 741889801 877620454 854385086 268547436 909601997 316965396 18690050 517889424 701383642 661859278 3413936 205268447 627962618 855982898 291658704 855757175 705276740 230460381 847656453 904830386 87371915 255196971 837116912 921713703 490055078 206967396 833972629 49464592 166267346 298328100 596827967 600035228 797752690 30439938 182966783 300201941 312199203 764355563 593724446 907251767 375539899 779218411 377794192 517581184 874908906 785215203 927882634 428210852 844561961 677553827 256036327 727941842 201043313 487210335 426767992 350446999 58200154 242206546 466470835 684537783 574491255 185422452 102406585 482344498 278984445 655143389 781490840 875867217 681061390 840291681 268873269 311113710 798572114 240211809 695447528 193018160 800941494 145108770 751212907 496252514 343317580 74037370 382248053 691171091 413474190 567437409 855769580 327074784 957937638 594395972 615325653 353897027 653864129 759576308 547928960 441212356 907814195 852549910 986090657 669324094 747646925 77528658 767181133 169949687 709764919 213493286 913369694 13643134 231707846 517353112 347724881 912781416 533584358 873768707 306702908 407329684 810192375 505122450 323008987 534255080 156939089 642881829 617777630 821163099 27598888 53929349 996871469 664008621 601036997 631762519 25532121 182354119 859745494 463238959 276195485 399233897 439360051 199760478 362673297 895946110 494223668 298959669 58834071 577902466 408703764 808769705 218193148 195507749 319195968 726767836 136661801 164413229 266489209 143239559 464094495 188354467 172028125 631630889 866980537 60185383 307323350 256914244 945511047 31015250 218026397 382873900 777902057 533035636 770437548 705393599 826076117 414067175 353482143 511919404 362241112 298400588 53922315 657320329 198611115 5388199 520584586 551399633 772212494 416859394 362903630 962352411 102176489 757751309 640567503 375183003 657189821 281822192 418021895 919199320 967686723 288748498 718134410 867974268 114773387 231168543 115368397 107143369 88488200 482589558 577614536 978024066 575266681 489829727 783882433 730961058 977928904 654895651 894723883 773570035 287900361 843300249 259029927 656022233 325958584 558980233 33179012 664820789 982709547 262252787 85845436 769017685 483622291 725774762 387787202 714854635 95498419 388647025 790950090 280760939 105319619 722595538 274406972 185905370 204973060 345764133 466459269 989543429 897600141 959433415 344789990 67305744 271227715 268285434 154919959 955916178 589740228 603331858 959168326 619272546 35873777 815590676 726063938 699456978 847109641 793707218 670878533 908909930 824893131 411963255 288622339 586933712 261405676 511050558 639903183 558991372 162802811 431199632 519713269 60850698 200614654 920481010 394250713 52952857 319594538 21140322 695799724 887635445 901573366 798659227 874311537 591380296 606561101 304317024 569935652 595770415 616561844 402961643 647031161 619678652 336298016 861210184 307166060 712427431 563653318 74322233 32150502 562635240 888085893 63032808 557803938 813842447 981256947 429326172 909598225 642390629 522542228 295749185 346100774 857835354 495938375 2449123 900328026 706842263 872790173 861673971 864529499 31761176 192763059 60864164 820305503 558827980 621878880 142558041 106255161 452196190 73402676 350070771 632038794 642422229 25000525 140523096 280344065 951352483 721618104 27142711 370608858 848377097 222921950 948217514 972519507 954525377 254760693 110224171 805257698 525248094 974674430 115423466 627645050 666876502 558335871 87554199 35217659 118802321 572864702 946395908 175157573 450894561 395013173 42186237 586551784 823875808 666484776 291757526 95362221 82224334 847070837 136032948 292512040 137894343 520369145 821010049 964407921 444971229 929218660 60323511 448219343 279105041 839706163 166665633 379710251 910602090 662814196 402915928 864580495 481273287 98405740 172117218 160729570 77349537 944281005 770688807 319437011 383794110 758616045 202861701 349375382 289008674 586630201 976514186 299957054 666911997 338796321 557517635 685444889 99326460 969296178 110795027 603931807 449304988 909142756 73855555 315303057 113879909 133277238 95890657 73891842 334549836 987611098 987794775 698595178 606867194 576238518 528876026 952437983 60595865 680049274 141294586 233992908 674202949 419564189 747241018 560569761 303076058 898652290 297452535 142607323 755018722 555028399 507509454 8417809 500431161 575296679 719728281 689323213 305113323 116502251 517183727 454616326 526275003 968277982 593561166 100419212 489266712 429306448 891596901 383404535 619766431 325465860 844548122 917018849 677319092 710317618 917147711 896711385 282490436 930925105 37021593 667286666 447243662 944689194 459880075 81733954 623231458 190884123 861803979 204138352 557954050 813382549 285037957 376431805 150191812 307338238 133120272 494424783 494335525 926356278 180858178 960730352 648344986 923292348 131448491 594707204 732388714 183743348 288039041 546982653 796459997 131496113 887124179 45964998 578914948 762557178 40199305 234461246 641555006 304252574 117684543 731869786 707370624 350939707 211056743 960219387 708440542 676318891 322952682 88850583 858625212 847593033 426807331 195479190 82963759 315308151 754869597 228245254 482533234 217684205 857814977 724514161 933630914 121420563 277770934 586998508 552746789 244456300 924532512 856918144 692602609 427141332 163884310 868128504 563370273 798578581 880937265 715014514 419271186 391458148 504175819 175865898 22460902 494744381 704250849 652744553 600863863 749216584 412644606 544534719 828105127 521056586 114029526 109944827 786140915 743414097 48563906 132757800 618748327 757714730 533173256 727025344 640922406 189422885 404382051 256320389 451331533 685172381 580311404 904963219 22934184 840523338 191231124 845131549 20031257 252011698 651345592 909610700 927186749 150680247 480903013 86595840 239798496 993456854 766179234 118198246 850310085 994682675 718809202 589356355 489862529 503346275 788690891 628042502 81192033 170291429 651898198 545428431 418325410 49061453 277072233 808948156 135410984 192762320 428427927 372736513 940728120 301213346 500372734 156974142 183030274 988267079 971016691 215481172 565860590 262158588 289163709 876414549 235545216 942065358 777089623 224667650 137369043 519592676 998614425 262612534 536440045 504363318 285650268 577303189 580765658 616142197 726107089 618463420 775238661 181815777 40814852 125260785 703267220 495366389 858022051 245542962 963139723 332370309 369398036 931651806 602809639 419100294 615658160 25587380 17395489 182889849 918245826 85670282 370694038 637596460 821567923 1654422 535817844 719478281 757502885 567234320 750786098 912154881 345468210 238423396 98359687 87438642 846945490 692284595 20460254 261408840 903109325 239447256 300498673 982384432 765282406 207403641 984450198 412517882 526977357 734187874 286011803 234960673 780393373 828857358 809194769 187832470 175648194 243452240 975206763 338221272 238385846 655570259 211925043 377511702 900130416 811950704 631871838 907658791 230961970 57272715 284109532 718118755 1526378 825190800 77657116 803211909 120010 808058522 629001201 943624852 404164346 477738681 488972138 292846222 170008451 765215755 870579046 521995595 340594321 140483379 303453297 522510928 274553879 115945522 204221383 250992711 285156547 578519664 352873502 308930133 380034416 740371145 536824077 323318089 955331070 242032318 641907363 828362025 258042408 8711375 887609833 414582571 697633861 707873441 752177967 190352476 134038569 21063696 778057814 491234534 763864724 337760753 607099397 348983451 959823639 357371632 29488053 497912518 556871791 437657008 754948316 765469870 297812411 871734991 730951215 252213374 274207898 174889678 468617613 550170815 825561835 207667877 943646707 449278514 269261209 650737495 147510608 632185837 458232450 981949089 863254925 911330302 316733114 709195280 311817852 230629563 832764613 266667772 805964577 549354383 535770421 548877933 5327621 320028100 699566742 910894842 893477030 403014314 42876705 622283433 609864028 672547586 48397975 565273229 658298649 478456698 552705950 262702636 150835645 234097573 83854619 272722043 68521683 197554830 767335517 365018056 524594806 643478715 691581876 700958079 845393362 195531536 425744611 207257419 93692061 358452805 195950889 20087690 619995455 975173066 938484606 384983361 603566947 472484803 178054042 345859075 827356519 281950730 253426932 292873685 121195155 780966269 167651498 259511151 617633748 501943198 25780361 855199587 810783353 354127734 750056866 819394360 467083403 96573507 445707341 170845848 546684589 373107935 362611740 717301936 667362368 709887207 202638798 828302965 158182157 552380309 274287280 751572566 814641266 325567037 516836767 88694407 301702143 621401225 40855906 75838797 980102068 699333032 216396405 683097177 306363962 16510433 39743602 182426909 31830669 231600441 287466650 742825164 819421933 451796751 867881403 923800879 224392381 432748242 54829280 135998172 504108154 30463307 753031330 482445056 498887318 530737292 297707640 553456133 96478705 685862682 937344298 948087916 594120233 770677676 194051756 76448705 545735115 315918564 879019228 445405895 818234011 540965246 409735486 467745775 540399346 920897956 7960405 439345260 836605783 978295346 674445336 722822744 34293095 510264831 348640549 886545210 647613467 142209023 941569864 530031203 81753216 773794175 316977484 528145916 925333243 675714264 423924901 701011212 990062872 222337027 875291268 21202751 954633245 618393090 281217175 995147922 536708120 78441594 516510693 675892453 505527178 538587218 388297705 181882409 645309192 654492717 160210401 718174446 287964590 363092710 454628114 830412009 518437310 196458068 135794727 594623781 178756443 869040523 487404377 361308508 782547407 681306915 122622111 692594888 700433574 331335931 478610398 718300832 531539649 829066643 698651726 608176206 910275903 89896527 852943019 152004076 459653630 935651600 353141438 297650044 225235315 589640524 370677776 743269105 772890249 375044240 228327273 200216674 194213675 965826297 797316904 669351336 908298807 418336994 277261120 895177600 778064472 304384332 200342680 477118947 138725065 237871487 808550704 864400136 201632266 159027845 946695297 906504095 883049387 828167328 541232412 183808710 27961088 218821205 890216212 787369272 607643662 171092742 665417107 382892311 162939811 21285246 257291778 653635753 419109272 728131142 557696603 79927628 858798956 640720036 388612123 546472975 317827132 239763711 883600183 463651280 535174695 444652253 736724993 283785175 388832065 700534757 643549593 63590172 2336373 467730052 158822263 94539897 642304316 889992462 145916267 664225489 991675845 729120712 660208120 425671384 195327946 831392700 898063383 603932659 609600471 20529363 676312713 17457268 632095282 216847128 532301314 714188908 575659880 549679166 561271238 375378820 250379703 858734390 680346220 189802896 575918444 412015623 401931458 627881693 278108597 448260769 386703472 34972811 164118766 673738236 283880530 682997044 548942788 534856679 8654890 249879833 363386615 574595678 956742365 149777513 254326408 446958901 70392941 564854138 889599912 709033696 622538058 930020194 435675681 303575336 337065861 187183826 376863418 371710893 762821488 962477101 85726259 421884418 361540769 728639706 112384310 751962295 281305716 486423365 417022642 649374789 788231140 158172979 974300266 714085227 270964039 578358631 393951988 954007320 12810268 522236758 450807179 676794984 612355917 353334248 951696668 201263293 952014680 583052236 389587002 471199159 86215398 282698101 839552059 924650213 499612464 213656816 461605313 260884516 283159776 349963630 285966640 99251823 175258008 88647948 5738220 264747144 677694616 404565346 992293820 533579925 163837880 261964538 241220293 650668086 848958781 196005668 771522767 290583191 862607373 441033271 706749321 637662895 491653996 411493888 49232354 679678158 832581496 252985939 579310310 723454267 208970476 614677191 773864774 102940730 606472724 284103959 703429779 385175682 201856560 929724385 57281799 643990703 55039824 560633201 735372709 388457619 595273272 491468727 985860370 906256459 33229208 787254329 238492067 78927411 147455409 69411622 476646450 149871026 269884630 926980430 136528876 254112351 623830617 683361065 521069128 865270212 782960729 156957571 435287903 897608135 355927443 349648351 86360620 411097277 809681896 116122541 303611065 841469356 416352845 196294201 926980266 496392346 16546300 854673017 624596141 530078071 345575986 28494322 77528109 85322977 304130455 588475124 358476533 213017453 305437153 939167614 539898396 490971487 503485861 731123488 284652295 757961650 643448037 309360737 661023975 91349852 485817395 346002533 714910641 401767651 871640808 315602164 470981820 835725391 170658417 806917574 570968605 800822694 346283814 445934920 333696754 532809894 686642013 559630167 559502696 458625332 743940232 445393448 346464363 640941443 22134635 565284541 407437842 611246560 468084101 239258458 329981533 755720113 687373749 109958120 361557413 605109653 360207702 615039057 630796540 357521610 796697592 149061356 123308309 362512925 10061913 800697102 934599557 932775903 970396333 708844272 703697598 504465411 585410198 797899821 817466408 217079199 45804068 684436629 317215875 129296831 515898272 103524010 856233371 609979427 293512871 103171920 22231224 157464723 864837705 238408939 586112435 799983198 724623901 554609706 759915320 7723468 675062339 406515445 915124755 772590098 552071158 193991520 886032295 834875298 534518678 248072044 960290736 900082702 17074760 239545956 951973877 704455330 846097369 33355624 368727846 371304756 260087256 477562944 539553350 326065501 581564794 571600543 718656547 481916298 928586639 286750157 460577476 140502844 292172110 574906626 159259698 812799204 122435261 339461060 277142729 576554799 773056870 16672818 207557041 319680951 315165809 859998257 145782426 829501383 910639444 786288967 762033865 70601658 378919957 89779187 440822156 535783866 110031346 963005606 401486945 810462123 747535314 710975788 796831257 100924712 498328538 10463533 738513837 274218377 167195170 808616063 536500982 547163451 524854934 432242958 42390096 859638772 78196305 280528283 817005272 126444196 750280748 32145028 592892818 297337966 609400187 886784024 310674785 755275733 630094232 177273766 971715882 708265117 713810416 197188770 25628019 447823985 861680986 964182388 946236464 243037256 822691531 919609873 514321376 48282124 677854145 940877173 785821235 232172394 130852826 643457475 856399926 279807660 99752929 892998210 631270252 628224633 546104283 697031560 369253526 449729707 359825849 38540149 677015137 541141158 320763512 54156665 868243164 178155942 627551647 983951404 459359713 188594851 511737628 990496643 401782458 910227376 299630553 453721183 71536117 433936584 31003999 20104276 868898142 89842700 508037547 355585212 631995229 50644561 265920637 711914199 222542513 161704085 111081710 170306435 696980324 190262733 265829076 625338212 393579630 251661780 766944531 638916849 957341081 333025153 659399899 505674059 981493408 181072516 115283456 522680841 247683545 884474876 169829363 511318088 249088702 180074819 692771441 793756733 240743865 228467471 96122284 484823767 806826060 74320784 459548272 750982271 558922660 975541784 951360458 633713706 218955542 63914813 91896317 249931942 211174137 992877947 484990156 162492636 300160877 43902036 438465268 519352029 845115758 650077110 122147525 923876714 798785958 798782136 264770265 258793741 195219012 473440302 722817696 34217633 753690568 70128160 857059797 768076207 612527874 418527724 205552534 994002732 956244935 473260784 267250472 964816829 562453844 788738073 950597420 562203379 73197408 884833501 342254529 938608189 361743027 990427521 589046907 218105047 666944426 786223783 328997534 945691823 558150099 349091404 711015721 384896723 143646887 954487195 689841842 342357670 892070068 302381129 269185460 862986344 150588265 888298097 782733833 667154737 61120683 345816634 526124581 744144404 110838949 285011279 175974472 896673225 395290794 447300393 390830062 773966233 833188500 358539113 858652501 769696396 876153181 668597841 755805762 795266895 969965139 915452464 461186326 780700655 693470263 137136787 394578130 321570676 182333550 539805793 828786858 947906533 476459219 914242307 929956540 821653487 237559913 759062988 368994637 429871814 731348017 333673629 216187711 183488775 292587353 203412391 664522401 411421176 14662536 628243837 138914252 934295412 130871748 872655566 386515291 52794955 782911563 789521143 586550840 822977779 682466434 630111485 126790348 122899471 544532434 817830421 225452659 204352560 153165328 562108701 852294450 195558387 652135855 84130413 253477849 311571186 213211540 123151580 705558554 164467515 212537834 959158879 437501911 74516049 418046273 299691599 869167806 416888906 292351314 499664573 579037366 145726555 339458523 151117935 618295841 24701118 735449800 408663945 915165646 157568580 267815697 927456853 768238185 832474639 271614171 641009702 710022503 659491929 755118639 904316833 867976060 947082077 159502321 310454032 729774084 322423510 428776451 341441427 324633394 786328289 662279911 895767208 673632353 519137222 38547115 580940057 737610342 76437575 918005183 393274749 347976562 135020960 826489003 679134680 253264764 648173910 115241099 58347073 457872549 670737717 913120286 189830086 748902937 642978565 728034458 874049771 637344872 264188023 502586314 458067902 479859725 376384925 404340585 831852585 467172481 150398360 985847591 739605781 979269417 700606124 932919507 77448486 266562824 113017202 629285362 410979434 109903533 431005281 927770132 577988044 315244595 772441798 395859201 746191886 959428455 274122610 956575006 402692974 964245477 75964484 458483811 754899702 745140629 398459049 161326050 964518942 575616270 414496447 692622215 296379800 842883283 366300614 245443035 563864183 993970855 686444490 300456553 97474417 540085120 642825761 203071358 80688471 530961960 264818609 190610287 266587999 327374781 684720111 208379820 436290985 795800565 172189557 598407315 43121445 464546010 828938844 998633555 23171276 754348386 322080263 986859837 433529051 822683240 62356854 913559748 249559583 784384000 212766481 265037157 853146630 211840874 344703645 224504065 974495566 130758807 311835017 429098300 763392774 673609053 157437622 151366327 103236975 428805462 450320110 780255497 701580712 54696110 550544366 246811957 404055031 465281732 154267387 303707866 234237750 525023702 374400169 601725514 166804340 931722643 983796161 656641312 112068725 800042959 666840500 564376335 531955492 969467508 83977326 288580156 67526550 600554587 632001545 191427296 765750469 224378156 768040760 135235560 400559304 873805703 840876970 804124224 555952964 969705629 506229250 104262388 640522024 955900006 567402322 176686774 687159170 736847346 595020251 640491450 730841845 68781178 661853272 123015878 791239813 94263973 282176139 764083735 547836399 864209917 530586935 272771102 95589795 152164246 844760895 483282560 105508085 81484090 736877658 888604883 546943193 13237771 281150959 543928309 265925730 688148153 666574563 524879054 480014829 698327602 352114697 408488291 378594137 193433754 753661234 672784613 695823674 394939285 603923293 444079589 649792919 596416464 456726736 289408537 146875632 866022065 307266471 294623607 283518686 210342470 61946647 458571270 27438676 200533604 524287360 81416656 473890131 376881541 174199650 623586010 132277580 636938838 684455408 508525767 244149614 124625112 416705190 453669022 427939654 345650698 216613639 366992353 218895960 130753917 500298001 37935217 908165541 961766852 292681791 985062881 792453368 947949939 194208884 19124549 716581586 570519554 743449638 427882291 356817878 230357320 487678813 219257287 803479796 992907593 320984827 718707937 945822052 985176703 562997149 94209336 358939924 864513671 813554058 227096948 557796 478999677 688289100 111291464 789812845 778709668 51677224 490486393 823014538 599722516 803286155 527016922 93373146 965093110 180021312 405800692 40886244 441841042 655568547 974585129 773284039 42593260 314093788 6682944 855828498 406025455 761902663 981334490 988486869 957560975 364089530 414855000 513807924 63224850 604640682 91785152 323678761 249026207 474549509 709370712 35872119 295568838 104827945 256793360 578003481 853757415 605060746 119646105 701227779 343031872 967638732 22034217 345104125 354142587 677421114 55850364 177134419 928086714 234962738 526974583 65036268 387584258 271348128 627835007 265177198 577598141 250969846 260611567 750495715 350027244 726844643 606186797 639757031 852122677 932590888 801820287 340027230 285835250 705437322 701733584 20462550 383984253 760698389 860051503 528444017 253524748 39867290 585092655 319719199 302834824 929419456 396165480 639423366 537983435 281807113 875088115 623920172 996757687 423358758 894483959 535273608 237838985 606180790 779590506 16618026 312907881 661957372 990117104 235956900 974640842 644397690 920430851 134637454 187300278 861575469 633897838 57080611 144307543 411606739 942080445 475234463 79158393 499307415 9214220 961347012 138367405 265020797 392637069 898863848 873824529 547134788 108547725 630315010 947776062 564996988 283746255 245995851 727128685 738362023 668557916 642578990 748157608 572534101 111852024 343087693 312193265 130522026 199484548 475661102 622471731 789945804 123455910 968984293 776448130 936913570 282155255 734652639 606045976 483328123 181185802 180571589 180199815 957296666 774378337 282112896 358070611 170374365 919397 124561903 860084618 319680153 129934543 121160056 783211436 904223481 38343502 828281987 534834505 553930096 657059864 498905896 182402858 532432763 582463019 126639906 879986474 83439956 803045902 895203271 89424211 846647046 452071329 501895780 541067959 634195426 768412474 638206622 362380979 662776427 383009937 967447764 169994382 400704537 363494667 409033687 52799562 143899945 249746318 779334047 883063188 99284451 468091147 866261877 684838847 957826581 969900422 519644446 244721183 974932744 952461029 701504060 441239165 925466215 965666127 300087909 409743656 257598174 872300825 223773180 30975860 951750983 966768486 282957791 109339982 45018818 50889025 462918526 713556120 493437703 352879609 762109592 420147367 321851629 520579689 562451036 588122226 804537201 881313473 562252574 402682016 47906694 989309499 291312933 687163948 424372759 548785009 931317247 505757051 446927407 261786235 1628648 97075552 29462044 235388425 180786467 703837158 835105143 799922709 10860781 952303479 996518836 320230670 125648292 891482378 950021837 527872626 464326354 151907974 433736945 461766101 479250126 83817588 732428758 38977107 688780992 917051035 368433251 590244373 485837125 445144255 112751245 823949623 981458080 45651094 81468188 580950323 158629730 488694272 205382427 131594429 94800088 252335733 135420556 579065109 306147736 274590128 432418015 143918625 596023843 503876913 282899415 790830138 286470365 183221407 387882707 160492359 423293737 661057601 216415241 188783071 804322722 275079581 587818379 719689852 198010957 134994022 729881067 119552843 913926792 863634686 405131928 222506313 596296654 178204273 169218318 143296278 927127668 300319907 688535861 268844743 799145481 808849980 753265142 301891154 745745616 723200170 68588162 116313185 886875772 383444701 839680601 951851342 284196039 300481168 470856304 841110184 937162613 543691048 47509085 100234317 556827744 867982492 984849469 187132949 862978306 522948154 890012381 515190362 701002960 483767621 463772024 620725956 775995853 987437992 927110405 887454294 375843764 905582605 486381027 881250276 205493754 323092143 368742874 810072953 620998908 5445623 35910382 214485864 670059058 822217861 108731893 445120951 4536456 508449437 517550137 187529060 482547939 734376004 364003081 712595712 256874004 623285116 144229191 913779307 761456495 916286755 202004966 878403402 654603095 646075350 468752637 927933863 465317074 237650272 910046973 439059193 105043730 38831898 368273895 201772900 593989315 926663114 927790082 518365314 941605373 234976636 616185990 791569468 496735520 719074634 130908382 696715870 751619213 727366272 458921467 411052728 5724708 959480075 635225501 524906486 168834940 370343191 632323107 703779273 858748039 86707010 398699633 513448546 91352602 520154794 540771553 914934607 466247402 186135313 929427689 550558024 346011083 448659182 722122923 306119265 526701015 654162857 606021446 949025503 597845412 700065550 216844935 750291440 565619310 573584141 791927506 98164744 776874921 610016271 268886050 673526221 936550641 545182530 784696071 597913250 59310317 210098119 388222609 401799111 541864876 706116624 448787878 25538720 677701120 28671283 500867484 640435297 276952513 587293375 26357341 960980149 133772145 429314925 105988305 254266342 43259764 817061160 525721558 535837377 234746223 673390950 615189294 16561707 742751776 448607090 527337848 983337721 105738006 401513945 266071263 1661310 55679405 389825164 251446773 893755216 990452903 242858946 148043800 864513562 118301503 686242062 696190498 118452008 302657879 310361590 221599109 140479054 104411392 372479052 364981103 814711765 645932593 564174541 698624912 789595352 330794701 294383982 292167723 958023978 56785501 954310255 881443666 853881806 821459034 423388623 406360533 851120273 576241250 138882007 540018822 820240509 499993136 406908240 374001744 637790283 82333032 781448067 185431556 240692412 511321752 24808227 365882797 980274619 461791739 959082860 28065262 904163219 827477405 130824315 768021244 191351392 29820139 389440372 476090581 290025777 457481959 806342224 566014349 874775614 72117963 928234037 120290936 253743353 81518081 804335485 600308827 570076198 546733692 268612947 407269893 153028846 884017976 268216143 915454590 224973428 190726652 502537818 645380092 240768557 953034417 44892862 636608107 141764707 855221550 110988662 719685624 557727861 198412619 76085715 791551542 888428382 966580327 786560897 309530153 650393241 547167148 775103742 603398642 841164170 146916855 238429993 54280405 250887494 875921680 159636480 3632820 4306282 931118266 428946304 947632627 91812577 227401310 738326305 681020247 684039349 724467893 812238685 846658575 225118936 487296519 545394268 682859589 925247644 250136433 713535681 305531571 570600737 602285681 985159626 268475560 751688338 481402771 339461700 534425171 144869288 651932159 988829677 239390898 109169367 548362107 963689869 274354943 596206854 895880451 899960691 506658563 668595598 697796598 824838811 584121527 254337837 938083838 697992499 107501317 599519947 353636735 691524275 79400552 260033041 55824684 131332429 751281319 15237540 131277264 221126698 828963449 495641569 319348118 861566984 931913370 691577601 376965352 26108438 466843180 755668586 563403038 778826870 455353044 584142842 462158537 903208136 24994850 574403868 54428317 475160207 324939591 125941129 626981400 667672135 625961263 889452531 46275142 936618902 710180037 252548782 275298487 295864985 228858991 205821841 259155342 365277112 314769663 594152600 105146877 187601727 796624208 859234319 828382175 579885308 464189839 374799717 971538116 242601170 408745862 314619102 51901910 378137361 749606411 966699196 310695960 748014194 720378272 92998673 8221872 45893118 133315465 374676074 402205312 155614720 20816369 599027464 851516473 709342940 611491602 25600364 420877056 727127256 971568180 247954748 316971257 131666210 316126765 543504648 424197712 857035653 88763174 890295391 645731099 257626975 356038908 387523168 307008920 320921005 312999794 391123087 333490052 881377256 355935704 294831570 537916384 13919485 381476257 544699101 939557391 4582928 582289214 752443722 150758821 499472303 295667623 855143870 654563408 41850151 975127185 749004207 75173561 213964634 244986524 836570354 663795429 592480172 5505838 792872046 946006046 871308176 669333004 403479346 156487417 775737369 649226025 657533333 429871314 209514687 95800766 142931438 984313209 377404236 260748454 339411431 246680892 826083256 718324100 180740734 777136024 962405257 501224693 428543881 115826575 329536231 172780774 673839300 404291579 743386662 59536151 720434157 877966703 810560600 242474950 215064776 471995555 724211180 510816394 689655086 719370112 9242138 859400240 698446843 507840590 9500895 310517063 513310905 684818639 179065602 818737091 134248768 722008078 83327745 503264395 923897908 797888844 117150333 989034042 45662792 982285179 754462740 876625659 674927267 922808056 358262322 145875392 5726531 504754720 209206825 687398075 566722604 671392678 563404032 704674151 206798059 710774346 148599088 400831492 822192539 470029499 555128056 933828971 846805367 43541101 646284621 118468516 958385727 996820573 987186780 434153188 721941741 892052004 437574327 196139676 313052316 847622373 165348112 572276287 777992585 957671167 733868409 896146131 639754876 517473804 270113475 346089719 553720570 527322681 259550184 723860369 164044233 303359048 774158292 598164419 784629725 184833196 63315010 562360801 116604548 603351822 774437612 757956250 649741983 560972738 193490054 302939391 749164584 793484145 9533986 557658344 458361079 835654309 717903674 75910615 82413816 911784868 484821909 147873409 673695597 252854933 862849847 592257020 772098152 943088914 535884062 611386633 69246539 130215537 873244632 807895782 166309030 838523757 955566330 884057103 390377616 312996041 175649801 136448663 43488181 963638861 654902085 703613180 824493712 564954868 607143164 573564646 406408214 686559040 581634979 816155566 469384955 537859991 105616679 998993665 133150435 459413385 277450659 535127179 333286743 690432972 804304404 869061819 507850748 65723503 315847659 889775576 958955221 964491029 678020906 58524149 868863821 193602003 844915895 737448783 398308293 3998662 660965168 340372774 349357283 686746117 834716740 336427572 645341448 487389531 531645907 364744524 509003222 617116132 353826591 380240558 3591127 589176422 1609090 595388382 683327034 338432733 208670201 951291102 344637765 4110458 234505456 862774614 916870430 80254275 466168489 345290848 932079591 641912680 64065704 15122243 834340114 294212645 781208767 556734251 717244659 836846801 556315677 27899249 891571196 688847068 553381267 908381220 967271195 991462784 326333949 354179791 792824486 660955351 655373206 60659732 163035937 894753270 278006299 826173974 283182786 830967367 353027957 561137080 75504412 923107721 404400691 248483479 667820563 164487741 379063934 794155720 936938827 243709713 258266590 781346235 232200230 317058050 764741758 1612801 629464656 4950907 307010808 88354810 506908046 19692853 817670875 780791372 667174100 50389260 734547343 709040124 904166327 939227543 968253868 102231943 788383042 110756752 547037026 700403266 206251782 846464787 217307324 310804070 32427561 236602247 969325707 528220633 451629639 483071143 303391850 939793391 904897725 757968895 558876156 374237499 518242316 631902588 619865996 801684097 743660566 934398927 579501981 623874614 117920350 678049739 200069117 506091447 26341889 730547997 813593776 421627452 151129134 339640017 860434878 611541315 910841184 317535638 509328141 863947699 921871243 960747206 898129392 820106315 250319274 66770424 378304967 53965870 78379511 698522246 221584911 484503806 121548940 243151540 266231027 21913914 600202955 240276916 241041917 87554884 57746225 507628129 377108188 83107941 777491984 185233170 8249783 928436064 717375663 727781273 199096303 122861427 526226672 814349884 353491196 402616432 156993482 604715294 187143063 875936529 121357106 555364784 88453586 916339304 23683695 451668701 101057979 56649969 696227971 399676666 875301801 248087220 551668415 870856894 129928006 404635273 9275020 388632792 410924067 700142363 224213583 821206875 779403091 556678591 395998840 961227856 850819530 109689921 482147922 725740262 971490753 54222785 767602795 164377367 346107346 155281616 935337547 550789760 540202731 765790424 922886126 343631461 723074769 22321030 685862632 364322389 879681374 152503345 378843040 884761283 940682909 796043865 928009256 17743791 820891577 560053788 97908402 994401982 795744048 632496093 919988482 548712505 78436152 648192723 427710331 534893083 874205519 490725579 309120580 128729264 163280752 375121867 616159010 693737849 539232952 9119472 59472201 329197720 857739155 746242244 464820567 139745376 983958147 610077598 908639401 258356633 536916517 644985621 563860001 804059049 655631668 195960702 864674698 94020205 973546340 64337147 30468987 602357573 439470145 105318407 378505346 209540068 54632011 167073275 881115513 418448001 210677285 235992978 10766435 303528721 996747492 945606238 214696792 394169284 941291052 258036318 495504215 330023996 127691284 852396199 676776554 723216898 85133163 799723133 366488720 530015158 391111466 10105363 621656112 352937657 269428097 578866860 942564705 529037847 337635634 32753379 915109916 140160433 256420981 17255860 132215814 973183393 677170584 379184236 959037675 774433266 501948694 904879184 969263549 644283267 649708198 367978857 804969454 967420387 736601904 532930284 103202185 162324664 255170666 958734483 39326947 92980210 611745051 486284224 383274813 651373232 611875084 83069118 185661100 377260955 257326331 536143862 870386762 68080977 199476321 422134877 811396780 752898122 252009563 594167758 495437106 531302245 323728107 938205646 800113802 656742608 432060202 914936641 725240982 621123404 952171803 647977475 704720779 875208183 629269009 746414248 384885531 359086662 841057181 107964613 796329975 760621649 518870177 349011397 641842916 229413553 899885346 719160553 214036739 84231810 169153982 853068661 143513051 848209971 49910318 621807117 240099386 366527180 895675680 411247365 399138869 846598641 197388686 386235225 3557180 234938420 816253817 468787250 220076707 501681262 785418712 123373373 195161713 370199421 844756874 63575392 583876272 166428165 549029212 25853301 244463592 146274111 240740502 19367627 61452089 274937726 836762966 377874216 930056186 133545202 344807178 804376516 357537696 353647578 949717502 128179153 249882165 350215930 190880536 281421879 928146423 939918153 240697462 107978698 793509798 701511600 857310624 497750279 808220455 225959424 58264301 560583542 881449884 526062119 959753449 402847049 856963693 745338844 878287189 255239525 375047765 965738970 279603580 249648953 478223458 707631475 982511888 811384402 481470169 571754973 725789506 2789874 737571718 629708569 447359385 740221552 66434632 64939446 457587845 588936385 328383044 783404230 599543852 317047800 679045109 415232619 205070564 67890784 476736773 974317357 814931029 262136763 663796381 868615416 65269343 160620882 820980728 874772998 250883239 658531007 321755271 266642107 564037433 19962291 740009880 753835788 906961323 147585244 129788606 311115347 993909843 226118935 567313651 180898206 639394122 220287663 703278981 876867951 899070792 706474458 996500314 843434370 449198295 10544024 3336187 209795533 919349776 267094371 661494038 796380740 401271029 710167202 444978271 708474789 886083559 628891910 320254123 446126902 170745539 339296305 162231696 646674767 53091975 214622360 292684650 383748332 33492681 455751260 785156550 948501482 240817212 58052544 224843455 371866800 911293574 732794885 131380127 666229026 35243867 649637203 155381062 121577457 803082061 760606491 195465277 572146095 206687864 747434353 453355345 826542576 227690727 864961732 4281135 942670950 762530624 526435781 425817462 792602182 193285467 925207750 441636141 162587931 36304318 652887370 283678961 939593423 490155942 382043904 931751112 319630453 8026786 942685153 980213715 769759489 954072677 202808918 492922529 506471209 841724122 456708161 893355820 385535272 564006599 834862176 318965366 870202691 16126153 802617348 583537254 740287325 765009680 848847301 857819547 795982091 983378665 855770306 997725304 304186042 987671148 128973056 100292511 928418465 320549467 758979014 349326747 959524896 530263757 537186489 755911967 632631346 312115523 386035069 325123214 280985843 655303853 242593417 136292014 431767289 364076605 995972728 722492731 265463754 269970447 716552404 618471300 380911065 256660634 549975416 906809411 554116809 166003358 665737858 951412617 147374096 433048246 785527886 609507301 145000018 470853614 238450682 887468967 294089923 756383969 207756127 498956359 934312928 512853593 698588870 478615726 291088619 370945741 758139720 591009396 640705784 694471200 59305548 546804448 915317560 350538014 303623556 513477487 778181276 761226293 728686845 22822981 411435474 583286477 92508917 280352715 134688196 145295680 950724367 966909913 950201986 635913227 213718297 950855938 859445858 796230710 103890722 80177309 573729033 546934971 75526421 61428593 240456072 122274769 768389735 995890075 527402716 936934281 170035793 551263940 689213790 801083210 449313865 869007847 435477650 594845153 831732730 132411259 655331606 161495978 656413157 196372693 83321949 625629332 657588203 540982323 899950223 503256518 406183933 226790321 88734916 543538276 481205801 80248755 492945980 152970040 399268785 863282575 810175950 934785003 315775053 679582774 702555584 197001997 342398084 665121773 434559996 979085088 333330573 897759797 269478519 454400778 636274033 515597843 553658476 173111726 601119484 97719791 155839523 915993156 178174203 696646326 102711479 369158767 943488640 450467429 510117067 214001744 71152509 212536449 945747949 632444630 832854613 571444106 680874380 928634651 262402709 514249418 823485789 256187296 926413306 69779409 740189928 938942938 227501527 200818790 399100670 466044035 658883286 898358802 861762980 284494913 469282705 799066510 671538482 892636638 317236077 635554984 116424946 293310514 334403237 678793654 216974794 555096847 508976350 162153038 988265482 716109863 555748709 329042065 988212580 842418692 976885831 486483496 154113427 651966756 39946185 491069985 207770338 324095229 994942166 507488539 673050503 488993749 387907230 453467026 389312519 740358665 83495239 964025155 990303941 417354961 109597967 292406487 462247694 754758575 324871097 612447183 269935234 852612238 266580656 317364403 576225863 565452999 781936354 69022032 643585336 684492672 627316885 710544243 59036587 593415429 513064155 700292529 294806816 556974056 831062752 735796447 29693783 887209214 172213452 973322146 842081041 502042827 815183792 959092540 335800836 839804580 553504799 319573172 634904002 651222076 511836609 601193635 161400304 682369348 748276494 734834591 600420672 209309762 990018976 36002072 978808395 835759737 782735156 457760185 996627241 828341886 499964824 977430575 608727561 86192298 291238115 529841101 939733646 298082280 816447841 619610706 793725100 365713 827750752 145692854 543747579 53998032 294203181 181239195 190668174 952122092 383473681 431056402 840736375 523313520 730040947 757701128 327016917 300667159 226730437 121257874 309725698 39781566 760105202 406908483 78894248 745432076 62864088 815753304 965721237 535752796 177553149 61008430 409559411 73031336 529616896 390828219 762787477 566779253 146430759 747536837 850769707 535508544 316016093 284727784 361200302 251617636 708741555 298871351 786802191 875135934 399338193 504625460 875496110 792122425 239289995 23143989 169636024 542246163 411522703 752696477 670381620 772296300 122581288 893981258 710131807 635606555 446040078 539564082 682961170 842263551 502418590 18347176 690725175 211979827 443681957 308111855 310392353 174848156 484364532 49938228 333906913 501702141 176554474 983877145 394678967 373550139 996676001 141356789 678393221 925590776 822998687 769798728 2779336 451013463 728170237 428827181 322472439 596210961 283482226 28153252 29266967 146515443 115620042 609411973 636623243 115328434 20993936 719651575 134344213 774183169 710334373 77714688 462253280 895726227 499679900 735874752 286038246 233535545 669519405 163559397 78058863 719695514 29541884 814898482 506564963 616720615 652292530 987791441 659734706 461016819 301036029 170562844 737435209 703783362 461314261 453024618 806194572 587796204 88015203 492913108 153187045 654265656 162922108 248405258 175692011 397714733 256788603 774069977 725947612 35695197 826204641 258269014 944094035 969277356 687403773 290609527 784307840 979773539 644257045 263421929 426795746 312838255 373303446 664231784 499217760 382873255 53144440 320089840 224539327 256904339 881408245 642134848 661202271 270119619 643634163 979320524 33593114 387719359 1894608 481197623 352610424 856647404 628831574 812982615 731623288 21916866 827552749 537988216 171342288 433621868 385657 529489216 704967687 882534554 99373199 896893097 206795478 365135802 479279727 158079690 696108991 752364681 961922689 959087797 48613449 1962717 807649654 342278536 90087625 358330525 190110690 253358663 403933124 41398113 227561314 299568224 763907384 890843918 469994430 609114953 849814059 503218607 88102578 477472321 894482776 815134938 757511855 626650194 917884861 708521958 607358731 696619822 985348550 942041182 34324326 715573882 553287405 853543362 91141599 291462726 98748569 690642502 896936941 340277983 457646275 98972031 609881505 184213942 275590344 264806459 772645836 768916961 409451423 631485368 842465321 285675302 128528333 618150531 60167220 693851730 841357770 609785740 414878327 61896003 516834963 269231511 895599825 823255647 194539278 332614823 404969476 104346605 378907707 272138901 375196132 820132573 299040731 872776049 643292870 517501491 101030889 341322805 284914428 701465133 764324407 153796081 295307748 851974456 793554260 201305962 991137011 788435850 547593857 478360003 746484718 260367469 680898867 43821402 703170121 828865048 210262060 198415744 250040165 688946332 777977457 881284364 301788410 757682640 232674357 495818814 679887654 97530494 659735213 609249800 383686881 641829740 91141181 745892719 841637193 463558240 899471808 741118329 396024768 395624584 246432539 679149217 245761632 979845761 169753305 86541425 1459239 401945176 522973214 970833491 320901359 402428938 777589302 372535634 718672618 385832070 314553407 498187550 497878520 598735544 890901115 871626536 883022924 890879363 393351492 153568729 619149651 300121896 607346946 896633001 299334567 363371456 265437702 382468700 155251559 318637508 617334976 819774123 791337414 998250697 576036439 297204728 47406471 35671179 112051481 864375336 731160358 410240225 164411199 406345478 769684878 71903360 630606760 270379839 600161440 799428830 377816331 108869324 679067570 647609347 889060049 428571407 7256719 406942576 333949331 95297795 37730705 519055799 444482032 71391598 899573199 332974650 318931410 641525703 739714969 115802504 11320967 753944765 826035462 303303135 732895507 101349425 362818605 447053460 392767870 215998144 536267367 375156571 1645818 76362235 875525397 79338149 595075987 56441208 975221163 191244141 883069735 927262276 281046739 493943998 920439650 57374974 534956034 615804261 925113207 377077106 713124489 421985937 886877524 810458057 498083797 350654465 982950239 1869024 649304981 893140576 14723252 221466363 810078722 479652300 949811623 435010837 738781873 613729527 357085490 497526001 816799501 327765837 268108468 708276608 366913715 571456900 825885688 761970437 532512808 229147935 721165364 976658380 949320819 738016584 662422734 881985234 369584145 397493630 78179146 786345277 214131176 564634690 47178353 545850764 86217501 72043269 606954527 573877064 75485413 908330466 902454156 996742872 288655015 677004501 290576072 167222351 983868537 353457462 617542829 814917581 958709739 726615532 488664723 624370912 945053684 938180186 66432815 17345447 109595691 516396641 931183807 211475228 74486771 805312561 178655596 641104474 345666580 233510497 620905167 101584743 82224613 825634320 959849097 940442716 306063760 308627350 617617104 726531843 549944882 564862468 827367573 881736876 912431314 548841285 66079499 596178212 886104727 514568756 407803519 239837915 62991271 912035930 654574627 878592005 365048441 632087011 307061511 609418711 480720641 243645357 487427700 518593913 767828479 55094396 30111883 913339326 612910923 752273984 507300080 670828049 17770810 433876662 654295448 415722123 240341605 866872771 707884727 384366023 13896723 594993689 280801548 202523911 879148348 732190156 895437872 57663059 646288294 282125168 241055243 113124503 329714240 180050629 498230643 737681859 3958290 429638422 211392695 150244098 753954924 135995880 104686155 207832523 266325942 597793463 723989367 561682505 722700548 251361287 307298667 955909657 589457414 979735853 992720440 681199436 216124809 796197613 616831265 433037226 62992235 708576866 778264352 84350173 801958128 163734230 607187894 722703350 233143210 801066240 322607519 606018060 133991781 96193636 539713379 566898018 815873587 999700923 533001245 131531744 456521423 310339665 766517959 226098198 918823043 569794250 733508154 443782572 426738803 746110145 130298321 837130176 690859611 748920963 667706660 79850854 785122138 469858683 235186906 619305232 239121690 396642806 5731256 546987026 225004550 148827341 223102463 886651631 637669636 552573329 843987422 109211760 705953288 5584209 1773779 933259265 655271900 162954779 897614381 961715769 86895472 544322432 494996833 836090529 553436859 346422394 949923533 267777680 851243491 901376935 253405536 520579116 957666901 987734550 544514894 469388076 464863148 645472936 306216297 553594417 495498319 698667571 864290779 470243522 703587111 241340522 637173737 311532927 559307671 51905263 305212048 298575600 141850236 308878794 664836217 672337565 789394217 160717703 195391432 827853948 474946118 357083772 682350359 211412225 590146624 331485492 76240623 888152059 833955015 930630537 933980200 371412723 758461365 744957118 339203812 131728967 29464182 325281268 645525638 677426833 493996912 832991612 90653394 588747971 86455243 783586461 253608997 288770647 39884909 65069586 183573333 865198062 817022973 527509374 498316315 379540586 286997860 629267240 514521298 454898487 323742598 721802890 570586015 337653752 540431277 66521607 147891442 688730934 54924803 950717040 31500207 170186949 905245815 586057290 37364393 167530604 175467202 872304363 473147936 150301037 726829127 179123375 580565549 938814060 959508877 463541463 136897997 387905994 513824358 889031827 954994455 604611700 271429118 723969600 844202733 128025749 238532172 368839911 804485523 402111546 217771303 493070043 795389552 605163912 681236368 720245473 726233119 71324933 918155493 913483383 687062888 639342879 978600383 748006299 842363396 648081693 771054301 647767269 204336317 557736800 623068114 423772694 353167324 552666477 592683323 242369040 490992390 560131217 519719974 706802738 212733812 416892196 25160624 935022388 913392504 65643725 253977819 2454836 341842587 134781379 393255779 424052529 611219809 603431658 250083647 770896499 816120060 70113152 194940581 426085703 734016936 252042514 829357709 106103420 16812679 84639664 300636191 228843456 854785538 670326024 476041696 738501042 340955210 405577647 683160921 606788773 884856845 561730255 17695891 742919733 889409408 56660537 151688068 860221592 457923751 282117414 215005555 454752270 835815567 547858112 538352712 79196723 9744337 895238790 339171821 987675663 509288098 971796981 345597467 123266244 746840019 475634356 502832188 877326879 454838806 353663484 357504715 185120919 634318525 731408739 144615491 683622740 320141064 166087182 28524973 435642191 130141571 512779925 583775096 371557426 203037048 217536937 716812409 980208453 222171277 509935955 752107239 247389029 832054179 119285152 982789707 667625915 811829244 749332028 926333458 115760684 803028191 658835065 499892233 453641100 507975416 818419843 215573299 525528891 171516786 592820475 412108825 826621911 729459190 451075647 144458558 96384468 50478957 641694266 870766741 52097426 636512311 863073653 975771158 128709395 810320799 275407687 812403817 930304880 845208856 585243337 860546552 357172519 482514874 535075199 705841775 183796964 338890579 995234960 202262947 141241252 201807876 260872731 110532615 432086164 264569136 54079148 237725532 131145154 618212588 405633280 482348080 209127220 625560150 400042176 674197926 203860067 564781672 885873742 278726520 57936975 522724957 873197331 953903411 680278366 54834090 768830611 250509467 228539341 226589521 197791513 210613311 103883353 81340535 956348834 702640360 839225724 94634490 153713335 409946465 482063564 416130956 131512601 335744115 601100818 301283434 763612675 822504268 249431400 69007411 489686262 275377479 147803843 77075487 713868680 412914891 563508075 917850339 596891213 280505637 237324337 668420999 644567025 8132696 327524791 787578874 43772009 609888017 518840266 319610711 292198674 879548262 87160210 892254840 755926866 256556820 4593248 559919967 913905646 384740265 479550974 504347194 308269847 463674848 115855704 839409493 482207355 200584352 771049615 605117936 402202566 150556016 13413295 233811398 904604467 413595399 203001226 422159309 78664075 364430980 185091705 399850033 682639339 689211096 298903995 953648354 744881951 245344503 976900539 357701947 584814822 181921183 895426594 101656372 957659948 222531023 953552322 769055349 727695582 68427565 801475774 442107656 628776215 230283814 592178383 60044399 640124219 658487461 201804717 824704009 837727864 660933928 446926650 391672133 683747843 708597829 531188117 770213710 863254255 202457386 312502335 366369330 864535522 274190628 279311295 392536366 451102425 351485217 42882812 116763464 906026976 31066914 734635300 657080612 240259421 754214121 595609276 543460922 647828457 265240706 661504294 755613222 164584988 144406964 637150661 431714224 312782698 427338029 777184248 710102125 298859991 142449886 559459222 326662143 144622378 536215996 833093056 512287837 231618141 650989782 859333613 609680406 602634796 994538169 967204818 404496078 265936241 208510441 409920138 666099135 780515031 89761014 80009529 307445598 39294811 904616726 891277973 591165794 989179520 327548863 192141621 490884566 882671947 742774508 194108287 463470473 418844558 265058732 777102763 921661940 166799181 381231206 960038311 182356194 413765284 756501829 504380076 792148497 612635359 264433289 372638660 192661267 768844641 501810075 462168843 670723255 488740043 14520627 884972696 651050499 109042775 227987750 367413035 624324918 931751717 920683832 113310947 160924311 144260089 290348311 868384768 355157552 913360136 197002460 454465216 627686514 531948222 330265096 328270297 796781726 543350426 10680186 283920213 71734812 134615658 810575749 619201341 48793854 723353356 591290209 87853536 440611293 126656095 786341835 698884561 536418263 566432461 246794778 158938450 914566450 574772247 781471753 763938993 346487045 72236500 210228360 269905201 810636426 906600245 58633104 857491521 144414581 282577802 997477361 162736703 787795872 26108481 983244892 126115905 309231334 947756572 163569627 218316845 867048019 96236603 710084594 208845676 594990821 43604694 217876183 997315641 518031193 967009631 673752858 859305256 227618356 79924224 924965649 843227569 876956272 262165836 894035985 353426919 810300432 152763283 804673820 106291147 992110718 166553447 108533626 313950478 92987849 906105836 301400169 524847874 210658846 700710937 510033316 757930103 892160988 356967982 780071555 588890400 322299744 353124547 866682666 102868325 319576589 361815847 16162104 707008329 583794857 234144822 265515427 465826854 233959588 525212862 675513430 176677782 966502218 755606652 503367024 739609387 526634524 891473025 697517263 669314934 782970539 749881686 680715005 448077275 856894913 563154804 293063145 700371626 502125102 808232826 352343052 712319045 22067823 290784252 502581987 359932501 243645578 683816074 883695037 365989108 278384379 820779655 917975740 413831834 360721518 72108984 591610017 103635354 46933229 570983079 348790112 161079295 856343522 458459690 848456291 795605364 36772793 950129574 483895856 74381443 419407035 517376534 507602361 272784194 417075817 628651703 598555353 498401520 122756288 605802542 870351961 192634581 416963102 456276960 299484896 352984151 149295931 852459115 878148853 878506265 848025266 641230134 934268237 585925640 875774645 97339004 97032506 381680626 764573772 199807317 156714982 610056591 235338810 66417806 584946942 594214256 429030291 516826455 419505520 750567803 572740584 297684020 510895436 470704786 700971561 614901386 318994568 465637713 517643398 800181871 7810544 785041745 344032365 81478362 982800995 250544368 410469255 587982179 397341706 936261788 893898661 400110089 662353901 810858737 635476433 320820306 966860803 319375656 142475213 946856027 689092998 311382975 592799318 370320696 370284031 816640489 845958853 312279807 420938704 772156401 730117306 930596150 925357823 546122000 957708526 916945115 919876065 292502475 695609545 397323809 203617746 396763562 998089363 711016440 685113598 834006460 312101476 44611572 779394262 33417930 349759389 254822905 7066959 219350128 891011425 602275004 401041891 882033252 825125229 94575926 252946203 706253545 887025109 54501683 294970859 944999237 358112719 215315903 765846434 905653034 146362066 341204434 804050363 267246581 797685821 295963868 873066143 303330366 319593751 648634011 419088307 810194706 831702504 856315301 605882097 716613547 877960862 63128661 844301566 797566321 735707245 851055507 147471482 380833714 356377924 502849669 127488495 443074301 218187124 251002556 710679033 909071953 394267581 699141021 192634232 165212030 31027343 675840799 779293429 820777469 113435483 787086241 152133845 862037498 425281793 505696148 708894065 989878171 88776606 430312983 621314217 942579165 945459459 582816382 470920995 36021292 511299879 526585969 823400850 158953959 526200553 87556501 562971938 517576586 837230592 329983349 134278047 420678984 14249349 977997214 868094084 888987308 574817087 343340672 960352260 102418406 521361135 707872280 811828816 585139041 342871192 227135695 438159829 170487264 975562863 619626039 103601031 167759537 720443100 268272889 359640439 799418341 199116314 221288328 733288097 670797881 330749921 269595267 643678901 806078258 262623433 943635316 785854861 226929898 195584350 554815259 344840252 768676307 594705254 95429806 321608480 945322174 182774399 329535644 917210058 200667319 124021171 361652050 423941228 5111284 783701315 381338700 182089525 103302085 169980350 933235664 917906072 614963007 516308198 212808209 941872018 579705959 802640398 234554777 182769574 918629186 560123171 759745771 661672994 273900677 167781078 645178137 94311948 138982162 475131439 364990441 287059059 870896945 669286335 88861089 395309181 222509737 883468530 750499778 324906528 815181004 639277384 877514211 222463160 554044440 662184316 329140938 447202689 776413526 96992451 999305216 147883573 697025760 656049803 562578489 592741108 685941278 333830202 452096108 890651052 60720265 12246787 789446427 290196953 358152764 275362656 715713074 108463284 987603035 824528823 407575054 739691504 118412592 746096559 648169432 6998948 530623410 728092993 978306645 462886058 174251875 362620023 163199570 829237227 215561770 789596337 443392043 958105604 954786875 726860474 407413626 942331944 423456230 819518127 148902285 532608891 249633045 883944277 961878993 757862019 730176301 673598449 640941488 147953047 610149586 907387414 688012123 965235360 609020641 647439486 45443494 934462722 250078936 134845933 815008767 500097916 919194313 585991049 332483670 463009414 913074752 793531900 828499610 4874552 507419341 698630767 791440640 727638997 927409008 931987261 147223346 735094198 307043122 835735018 580137948 164685781 767964218 908839035 95325032 814478035 523952841 42831517 504679260 379302596 225255669 673612750 712314906 282457740 765618764 583528021 588583676 372136904 620757065 153861035 247390153 688651031 206906102 194164212 275185008 47937179 198963414 310640459 849471359 194085341 794402632 398278247 575473227 254258029 134560256 623658046 96555837 581510012 222199140 32839491 684674735 791938945 48402561 839344886 870047556 162312962 428051111 247693696 903620115 144115788 172735138 738313292 623006167 678994244 519760533 34658041 907247566 585301972 85606686 726412819 712840051 318497420 962244072 356542202 300200008 651667658 848811060 431011590 39940670 945063938 777064032 8834220 718750056 170836038 281159101 140661733 843428044 605857219 258601595 397391119 426628842 62649666 453053695 783014336 4072134 170634248 844391961 325124022 814316727 189925002 836015109 159532109 45423183 425481168 220473429 509436745 131349279 595326956 886819713 689921150 875922067 694072388 947835065 778814435 256625834 496645893 50572396 404197118 203691530 803960354 270214871 271233935 330801453 30383616 574305637 674098293 815195815 302520832 686177468 869824385 360550514 902141058 544306487 696605048 211468143 714518175 311814299 341571085 2855669 634596183 768314782 290293462 907896546 927011679 87073157 85573098 732104159 249869051 568722004 44099902 422413298 341321426 929421211 338024409 638460802 896336471 552198394 798021450 728760500 837318674 658559321 666460469 648884231 278265980 249193390 638148967 559507811 307252448 922084297 954274155 936337500 827624645 150582213 962695014 751448917 98712248 432174161 348576838 818344607 582999005 198802649 838409211 259833693 644502099 642741769 455899887 184524064 866201453 673414886 429620651 96033312 977140961 553300153 247461653 87469733 334838325 89478847 616786145 353264424 374374877 763322130 275751274 58357586 352280268 104427215 911129896 829159559 146526607 426946166 650674042 281844419 34729907 531855615 596462526 345369889 241006439 357224252 332342886 453911306 146704725 171952934 620613189 566365784 150577174 96144954 482113221 496843299 868622572 636871830 312356962 585502544 555908313 286176224 722881710 689153004 764989403 273457784 322864958 474471741 623764099 761759820 68407427 958928486 651909172 449076785 147528954 901322705 516178570 602294272 525836109 490606007 714790941 880175986 256733592 249839970 552444160 212953023 118148894 176200184 516812055 953921145 923788178 93932766 515035468 713054553 164637331 117947747 293805911 512710468 224478178 203638861 757936437 336366800 819817292 161832223 605417124 925792128 171218711 777341879 956306994 879509061 264935475 759767033 281750440 310357772 594607233 592468444 731557103 155734244 370049115 688779114 333120737 772610152 504387880 135118635 691119210 317781462 584397460 696451163 854566149 257680366 251086745 360571133 548552809 623151249 58929695 487599648 658882066 342415745 898749095 286879461 443267102 770322167 887536766 719319368 974042300 706304482 82341448 982699418 612001377 113211499 549394649 274652561 316562637 329390699 725954536 225023467 987939806 325937921 567205189 45328096 205739672 718262705 946841799 813634215 399116372 169119967 675161911 605408409 572613416 600766540 589867164 775656027 454203108 619721979 498375419 277563637 700651394 494063589 621814917 523605584 84369982 607143849 314289584 744818899 310322338 519578337 664557225 520191987 581165292 907592112 128665496 164381611 554693275 990938167 245331946 318298079 832446260 348689067 588126777 893236248 655352448 24719353 510501183 349976403 604945980 636194017 268016762 782687272 119382075 602285849 549009146 321750211 130707730 888345497 30460016 3473448 35383955 487817455 638998365 496186723 21327572 713645103 346908911 564322810 822918980 962289733 685417849 428277978 477964161 369992535 62309515 223344206 697250215 739426545 404163455 613867011 45435313 486512776 885764667 689415194 558542406 770303564 287745577 557451754 944882426 352246905 207752851 325363501 130443492 53736156 534208827 443528345 968582025 34452485 519912280 52210226 197373090 312876032 558041587 55174772 952485277 77913644 276638112 929025637 657791226 270631352 847359342 285781958 792711159 862628011 882822227 341846714 444394854 219246564 925371820 609838677 944348353 453500908 134100082 244088340 922278766 494509129 420215173 271762506 453453054 366499733 317494020 824448260 968677899 37698011 469149959 334495323 449251069 795170810 151976091 494817840 50972108 716117304 336054283 176212138 95079707 588327996 272504582 178647140 807949021 270050531 791685903 835741205 552589473 832753120 997116153 929210719 57293772 801449667 329010582 462501523 225108721 174878392 476069216 485218294 488972085 106052325 93335912 923350177 834260569 852337243 439431743 269343016 907634644 304060511 137763326 220647853 672973512 71269045 304907787 333625350 587543875 376111124 58005845 100751357 507987656 585754809 400089711 6757618 326567006 486769741 241464602 451873048 732590087 661640720 41833886 372438897 933890997 292425047 18828122 229120572 540972316 651208117 171073397 815937904 579236250 371852377 375602041 829444950 802286203 325357925 668358643 266769499 697354497 202381165 968301383 569139924 842065261 574369590 28084361 281580257 845895887 189751165 565871351 867021375 407881267 734096357 441527939 734436238 439581109 812131055 456716509 761060326 970236259 859994514 173405775 921088063 128670982 447087546 731563383 882211116 993812609 238216406 196758918 977957667 699321945 215969526 940461560 131184882 108493753 74052298 825086058 38813487 746374891 729787319 74177471 887028015 60310353 606793377 193915742 564693672 684169810 643857518 335779932 658555366 728571354 297109298 316858662 472487678 675406217 829205577 110274451 849613392 204612498 448315401 538496694 725872260 604714566 792011600 83701405 62903613 978507434 953470015 692378949 673130310 39782352 97219619 418667435 713312299 229260045 4433607 11869097 762783555 412430964 732281920 512373678 122525139 121708919 304419071 793093757 976523017 576491872 85496598 957555664 493420168 241612336 635147205 965862965 856808166 231409302 795437727 224535397 863165154 121414565 354365185 308458024 1517437 738916155 250379786 747517288 447931337 210624716 660361382 962826610 769198093 1285086 127697979 235709674 974386872 698689607 942381475 892093956 19459317 459119002 481866750 258616187 999901853 668208014 63090733 359138836 917026655 91713725 575880893 853241434 220197789 557905712 314384839 103568034 755048436 699641210 20481297 552178259 395018643 765039595 194650126 554075399 729688100 610693997 271147339 856477393 859502264 904087493 944652909 580352551 583425283 472446420 656692308 964856241 356680676 477380323 316822801 383533427 732111315 590225294 655039722 501961439 802543491 849173225 429333080 865000543 804762651 999228405 714442867 159284512 825849928 527020545 252104858 747023168 314438495 59698606 753607542 802335165 952090897 167773228 497035927 999906459 660468786 852173598 103887634 533567631 447276633 455469824 564861128 408301847 85717607 69547853 72791374 868146198 229846021 402722478 255201678 112223258 171060864 632645036 183887084 697308694 343146965 304648176 358091166 783108087 683239750 836257879 615747945 560607489 500760348 75031092 981314593 170738276 974112627 90589093 464946282 293839157 842218698 444981693 570344446 23505129 219699263 297083974 404272597 26932396 832314953 229479923 755408359 666841244 340884705 721008526 500562670 531648508 275799306 768470920 638336969 490619784 215443145 933798747 303863372 39181879 531019585 600513605 438962423 771214635 261681723 325096653 359549115 614028356 759932939 935003875 749326690 904703556 112262330 123636207 34515116 668301039 800650523 914443627 522311942 338341153 639627876 233381353 694213831 825973985 464436509 625339615 406445123 807469220 19948 185035454 221368475 283796172 699898863 77299585 696662789 562805845 505333924 996072491 269346326 230044378 683058486 809373862 405253867 450950528 336964259 467044695 209373544 141272150 892968178 44819467 383611802 982772796 107437089 671108198 398583810 670041378 953763330 471997187 638754604 696120901 672580113 867248800 830727595 353680346 306047141 629292493 13466029 743170210 830814797 162100353 764630054 486911222 505039767 863613184 289882744 755667128 341704202 492978843 372841725 382113904 432014025 396560948 176422384 696003467 133164830 724982594 195241443 970900333 211036923 72778884 318501635 516489572 638860382 403441485 488924464 846231576 126436258 660811009 309169660 446368534 111214732 459671898 865093752 643286950 582487703 840863594 199477535 516091430 701884115 545607981 670911831 950518738 347479386 539859720 682037126 658886603 922918560 354202660 346979160 306389572 280669483 619098732 105184712 347094196 303463554 206590378 113920137 208611350 695325681 539909654 765398426 936722976 155145494 683498641 983180104 299872589 911490925 284517221 379196221 511943907 900837294 234919194 529792654 899266065 605941816 983647965 972531558 417383710 935567653 488062425 614620718 668442570 47358373 317376652 278605707 302492316 524663597 450920904 480843227 464467374 261276065 850937335 487762854 509353062 968570556 485147574 121543655 360929474 521788160 121063101 831318666 601521071 160395143 273370682 256249638 916551694 216675515 491404013 545670556 632454882 297944325 625131675 816458480 578858336 860874034 174536609 155993674 996744731 690743777 856844894 656874333 198999711 174229555 630691978 590128212 525668687 179591195 309365322 708661304 251019692 764060160 362732686 98773585 509957033 907284159 23620256 458842430 740898543 27646752 566306196 193944573 670730078 11895119 644247722 131951032 728725801 648048347 467288251 187097623 579170902 256985949 648920397 788719527 331560708 118003557 125877953 767398389 638319580 709629232 768757193 27500459 907895736 859702138 685723635 909902665 541935781 930378478 710264325 193268261 889710513 538423708 917526269 989231131 593925344 65204113 272669521 225157528 642860543 700122408 419435981 969761236 581528352 266135071 620930543 193239637 347970289 947844682 150330550 565687399 224998850 938371008 365063896 634590142 946853211 64535475 289750767 796551966 89723021 516485979 502047149 407000576 327549997 958910010 190297137 319532171 933654036 292572590 825742579 326137794 368730647 733225118 470047516 28332738 992524180 263483542 996194790 360254969 735084853 825963299 736694336 746812219 955227396 945731653 370466707 320645655 474526373 545042852 874325461 992869223 923399490 713935098 341157892 240795661 36687963 463377699 671412748 401236338 253780084 800337573 503847000 955017868 546778064 377930297 675244865 962763817 616995098 365740365 57682726 339958621 442017932 524120482 49319320 485455605 465892445 563268748 853306959 249067556 321859568 622271845 831364962 959618412 633282756 451919525 818474970 602048558 524215927 52978160 6548379 216723338 140931188 786677838 154114444 267522402 176234164 600402661 238807043 208919856 788294701 229198592 397093176 806100530 589022737 532413197 838885007 284684391 685858455 1453685 267562172 134994950 673268965 273837761 476934822 837019716 35060182 297746987 652236656 731800391 767296276 470785212 222037927 573235239 846379349 777994771 773359349 930475360 341084631 953283429 306151776 665570575 544660917 638069763 783779880 194443324 559148468 299209702 130349701 887773362 112396957 378443805 707570954 81619291 400190967 368597056 609815086 202916899 609463087 759934700 179334997 412297561 355578808 768221573 79679396 901549772 496025394 851527665 680529639 421554821 927106580 178241444 127586514 398398953 891564089 192074824 445921840 488733491 985818746 757185353 109428738 604723520 957695327 136626214 13804475 120903493 839080506 841133897 373533624 50828418 999084588 120587781 502269331 25665423 803979161 963717304 663487016 213467728 534698980 264252717 47590518 62974328 265865570 12578520 378713806 551519121 971100799 738852582 731490756 951057760 545159655 727789815 325640057 102047781 100175462 747680988 642536745 129818247 728396946 482848524 271404964 489819237 254863800 235723780 857399199 571120261 705377000 928777209 416133818 79320859 157981263 629813997 832737212 691031841 517718931 675463881 676213144 988782267 388345015 160419146 904894650 557992224 350703348 64703163 101907059 424507245 578744785 775971988 899774256 359273849 658850267 577399702 830662202 592862366 45401905 344065094 73850501 647427037 125216998 618705694 592363567 926536251 107986129 722583166 581077803 705212386 135858251 704489379 32785459 34123774 558161706 926123506 371174407 771376654 294755377 970211168 865966026 620276521 796365965 557552323 408659474 694517351 341717937 648667440 368144318 814351078 468369211 506031591 995105014 789525169 696296924 674018036 880037616 875687471 388780598 731784816 412167480 567475108 127687358 934303725 127555081 625633661 996777252 294625858 907596238 627563826 861225407 906738250 355889034 595287452 602617449 533779716 939061679 368669657 818496004 446200098 399783551 689698891 336334883 67658283 266286257 945936962 400902286 62037143 139323188 889594298 714397874 49325553 909815028 313679236 432723207 327555019 103240532 549358159 721671940 58448345 288634946 356588382 654429550 792159229 282880662 675172227 463147854 19788189 113414992 663555070 514764231 620440883 207611999 988140719 802020246 688942930 498396182 201410415 601780422 786163530 751815097 122699885 353710860 612155815 597510679 263959862 267917704 466292831 987451606 394725558 159213334 637660923 481896480 496663765 408117819 446927319 494695256 261110024 510395370 284722930 938186353 447786882 177954937 257403849 396691933 190001022 788665874 95224445 915599457 583006355 808138709 687951459 450361278 405070694 178749836 984621590 870679281 375871095 763818144 706638883 505707261 542604553 373357312 232715548 675647649 482180133 511547757 362395839 783110040 447740838 366527588 462070112 60981037 249578569 736331306 191874351 108365660 866126603 189327721 695421869 767782310 652440061 97507301 375109575 86447307 592538732 176258134 767459197 723498824 293914365 543195402 998805619 557387185 550989514 280247363 418685672 396881506 102319560 376896011 795350332 622466195 816506087 220702549 606296763 655679464 268534872 309056073 342831622 712166034 862228066 397254437 108058883 870601536 874258289 400519403 735689640 905364236 312067488 957638003 452015286 531721750 563471075 889887557 649668897 512054425 543524269 105835438 442665957 603848106 204615468 980448289 917594039 147805316 603966317 341919799 289815397 990407584 846057620 899593813 685426029 960180961 759507562 549679694 765584355 797477085 550965712 372798534 610910601 939506022 247622887 67190097 164404163 757576479 247195001 266715535 955270136 989512682 183160766 223132042 593764004 265721617 339951561 865162547 124805338 126627904 775840350 347574696 89934132 750451860 893395437 317396745 19021990 595352490 175206218 69001752 561788154 757268636 187559825 566710843 261036717 266323933 503389563 681101535 306170307 317815452 225974361 354792156 706417504 721138606 935252958 669835253 690901071 928714043 494435493 806374252 542407356 150875839 401452634 942987344 24037384 798284529 81622724 224079034 830797033 267670910 152254730 123309243 294563234 708090038 114535604 688884031 520098632 898471732 692883021 524036179 735074360 736754924 102221899 457178686 45843184 893621842 244780303 949576989 611257459 682122787 575414851 871998531 612930026 566307427 771171879 381125738 416948772 115732262 981416183 82245788 613281149 494643263 26147542 851032986 858432763 47902697 168496001 870764533 76423880 170295900 543843269 838278627 243548556 927228362 141553261 389832393 16783585 708641832 409218255 824394610 533480892 839353482 13069988 817273562 805362921 918767025 927889429 514693821 4348185 867775025 403752899 54723799 640700454 178942162 956305621 140742940 33176502 777553856 569557281 683094543 857236051 859338341 304088932 346481216 595412001 73622573 643960467 268290736 784302117 240166690 677322503 404099330 79332617 68600276 147173221 27453572 187130976 961178183 739206631 214646436 453641364 210130927 523021576 125980496 820455236 719747641 933104358 729869065 585181855 905393352 912505754 137180560 673227427 427598985 91971842 58231755 35716897 559285995 109212518 144591567 237100147 285415023 816972041 330654683 126727488 99818499 922031132 201981846 336327409 445830829 907370455 976696093 39831975 630834606 221614802 566935716 940278081 815884522 506888296 984991914 263295316 991230736 173542657 555111926 59265284 166487347 76352100 851914122 9519474 382740938 558147154 951990923 589839128 241256218 235407051 801466928 487300072 611390934 621828964 772159767 270458569 665232433 730029706 207984819 740830451 652084215 260816277 82331436 400664677 161158076 465266571 505771371 28415518 902253030 518842303 987801169 994078260 883983312 983214651 425225619 611197863 105361639 719682137 904840733 529787600 794681476 320219547 128186623 9876702 862267332 291683806 766262023 921650807 392840895 514422408 717102703 864825896 454179398 196618237 825648390 671983572 755859861 275121918 285237272 880554654 674295309 629090111 328083765 821874547 120796990 844054021 36955210 684409086 367416269 641471950 42496882 210815691 252870565 826848007 962880777 37188330 369063296 216883272 64036441 914292708 432609823 801096317 187465814 891310734 222794421 467027446 411161596 142184539 184052292 400180486 130128881 360416555 609694306 423189007 477675172 887250583 158572950 831796762 740285006 675032995 655099809 393630091 220917345 499098726 267637745 257594403 630971290 367762986 534055839 103674318 167780097 766396465 24588690 259355200 198610543 535017666 561118024 858833295 434780963 41340414 878043972 254032419 69830820 903561071 760934761 769503821 211085256 29983933 826854335 346553779 591106407 361024469 921873103 473531445 106104580 463621838 381154054 730961584 59232417 469696195 799968594 27059624 313908232 351571089 136132776 953732304 734682160 40386448 464703473 567764671 655782327 697865189 168444447 644927631 939629110 733698682 2766291 372595083 160264488 857286588 289717736 663884467 52974498 108667368 399962627 644566427 923569013 786761276 987531830 550289275 838234764 921038528 581379592 547237089 728894493 146561629 965098893 158718082 110763077 308532330 307996847 705036661 353757642 160144297 660833547 735963243 36956594 853217587 807128933 527117179 918791864 221995525 290646139 109036164 257567633 959700584 923104614 215117611 231985921 425916763 524944497 236986820 889420691 293829214 197746550 520368449 42478003 341550405 32988459 803433907 875758480 242761612 556716965 751163672 929221803 660930697 537094811 405771541 222696697 983150485 980198497 664010668 12386401 878842578 136100906 941085511 290078982 719937063 85976035 166529022 225714124 511174156 764703235 115469398 642570700 772915007 101139443 692842862 12273448 379500384 413306917 912444684 959527294 549539145 178517234 532972975 785088682 450948786 226667272 109530844 189811650 701486560 169309171 228679865 806608845 23416028 256872328 530200354 323753165 422029172 591871537 895102 797135293 268545496 553940981 357403239 666142715 392910874 546330592 95003128 426352410 789197645 263136218 900282775 321547277 604828267 468579163 802632427 111158442 252822669 64901044 914074979 655970628 205236718 163257153 221637605 594139487 923397296 171904409 573866372 339698348 123565404 990092956 816970096 159808594 380324942 906440915 635105202 350740260 272907037 422261828 523137233 70744497 220480407 934638337 540314383 368293638 466698413 241995477 230032180 975533894 453485035 685923876 948628852 464935956 428850254 913264426 783611810 449274852 721617468 414261801 53061970 88227224 304205336 733584988 253689252 87285804 16612846 39368980 140814369 39605366 874312307 495171799 898408475 756567875 14872917 240458051 496379702 864623285 369472899 710158862 771925777 435417064 402743906 993362838 127560989 724088918 847090458 772880305 566109901 886064090 601969895 373058156 986309853 461032683 271342036 206387129 176845968 143566752 524088371 310095514 656410378 969357112 858437659 342002319 187498121 517711681 636069247 938581468 25124450 928585203 112121311 738476179 944392860 256563493 434012061 436228044 285215531 397190110 676233405 420869171 537988708 711217711 348581137 281641481 563123054 664861957 216394503 335066501 234933884 572152025 958064890 304658451 587170164 351373314 972975402 133337449 522066871 636038378 792325168 637483256 840614088 589394552 763778340 843838523 818194405 324019784 545839813 897190035 214248490 501252575 137969852 662817472 1680097 544647257 294969464 559782453 253623207 871702462 281346900 421028794 614554140 568881257 216958471 288012180 463406148 253223697 880731439 742172726 916156040 763818600 349966282 825755327 855625662 235428997 58847967 576761758 741984228 719624487 2514330 686879471 652072313 295144402 963350521 306339761 743724947 617429191 405714730 132421764 891561618 175165557 702487098 197920318 166858802 462899716 837381867 705661874 996461184 601526610 969589222 738027350 943808427 48254631 731575243 239128932 84027560 750960205 47385540 378006563 133511142 578631825 796652756 989727574 758113879 85406634 365418304 689384441 851043651 573390650 494889482 535326788 852476164 197265616 328045678 867106240 802068891 463619596 674775787 955562294 740190038 77215702 739667341 903360911 517119419 682877427 525218892 687545032 882143887 639255497 687235299 500253467 831642813 571672936 735949589 915321407 796298168 611747784 931346353 600084231 767979163 800323952 576707341 32611188 846565835 72537187 390509462 703272242 254616275 326040355 848984218 444593707 82746058 770530816 583287033 732623968 927222721 166543561 689638478 662060151 853277725 671960261 414005727 972004934 381001665 451154017 458025775 269956824 213200557 525760864 504579309 586997817 890526286 281167200 227514276 127189922 717889677 175043550 926428806 801941941 3052292 176400906 858241635 485598833 820048026 28921473 860846566 857090808 948283667 611400912 897115919 517780340 555853994 959762814 664957992 146738635 202076409 243502957 935898985 766614803 686743608 954623036 943192581 378970159 157509614 180030423 256213786 768440335 853972016 129187220 397148068 186571136 807162293 471751229 436947646 172335626 114183740 228302013 97248373 801001126 472746733 99837122 213499423 520883964 165875099 802813896 741883358 118331120 914436149 186600794 732943501 745066757 622907875 170995232 164649535 664940759 476490319 58705075 863698080 52241224 254546621 574577537 181601604 348580298 38048006 119535762 282173526 503284807 56336714 806180042 443572123 429640065 620500510 100760870 685310349 466113400 888878242 687477279 812828368 797777784 392452211 627625888 340275316 187137 385680679 398220394 531440604 738187994 92338082 754964056 242089659 557486511 605946440 882911154 995286320 883474887 193175147 895610893 916390324 222458598 886989363 161073821 795782674 985131461 836987556 577118821 703903484 536230885 117324364 298927724 607897741 665404019 852990123 749004870 517645448 476390324 161681801 814184909 335041323 224277551 978635414 102402634 127602519 172576119 780394941 377520415 366522128 505881580 62805232 189697478 80795791 870677577 139018614 119922434 859746722 764114654 456851645 686646688 293412371 86759040 547963132 280614034 352937734 793385255 91419375 324885493 864246485 683254871 393200280 338834502 928307976 31370565 719517556 623494428 931871290 788026362 251471316 379722429 185410171 890013574 467627476 288835962 309572611 677955488 456921334 731349957 615328194 99925828 453007264 719344551 995343353 519558547 259008581 656823284 845362239 795564082 687959536 179718586 370415556 215347223 16244273 676458405 275771051 370643721 569282245 649939874 383486655 143775308 426053967 833059993 880425037 775561669 796300749 660629617 879909083 943616227 535607915 49381798 578391175 729641219 398246698 256307991 725210497 614570833 895385719 157996400 21168970 282730548 678398112 391799864 420593574 98395095 843146626 125924364 897175598 59086690 31215859 967902838 640021817 836183748 446404061 941197783 706227532 328394610 65584455 849124446 11029130 130778652 81350718 158991297 665924377 657072356 730085027 443468761 837675319 765152839 792782406 126162917 952650504 428629810 531734862 277984957 548834188 929802103 766324915 50933247 512090295 509442644 351932836 288535787 776473296 83969965 171007299 647779927 281769930 325843538 716893694 539197500 588102314 646889736 241641603 106561026 162073221 292626644 840811291 38316962 224391554 417887091 791560172 321629068 32843528 795916827 293093066 766260178 397071595 370571731 975862405 345082327 911975 281946636 702328790 503977062 452198324 235192521 783526894 512764125 716211090 574787332 964336465 143276600 270255916 21472591 76359301 206909012 85893201 576577249 849720663 594051509 999879917 359015658 716565073 86150180 871572347 919514776 470114189 252516181 318038504 936228838 524110805 131214272 877969161 680944634 64899717 942584928 17542880 303230267 678969592 740519733 391181185 118645592 399844573 330778871 862858299 491863383 800006 916417859 661437562 810593325 659269797 656233900 561561694 27109386 120091653 927390010 672348679 604563120 895981245 994945781 296665590 977139008 117112079 74278930 701328733 750848346 403483236 398751863 67364980 832756763 411691576 578596092 728385054 999012335 814131819 287238593 426594014 385800044 659798988 329696658 295759387 545026539 417106331 716709998 586506574 77621210 157231049 330935034 791392624 836905648 619836229 559319216 457766067 142491094 549664278 638149024 950835937 634237224 691796418 140165026 487178151 88171215 830738316 638410261 939221498 570919167 283971543 313411071 975426615 533453951 598500945 335381119 525320099 143772308 831408229 146102399 191269082 290306410 17263468 774886821 801848727 850266926 717206289 317678200 357325532 564533963 799485298 35388293 216529469 481156230 58315277 633375463 548957651 955044790 283985221 7177678 165630081 421207305 622631285 545659391 290393182 173909569 442024222 157864824 782122688 422437580 228169302 198237817 796675202 908321157 220371888 176762946 120640466 875203661 763630962 30352181 562728088 148281608 269414770 201381783 839562261 602120866 335220189 726004414 707161353 942261451 134727951 173925369 976217280 887313181 800753265 354844215 272149298 235139064 911758450 522335398 187783552 238225133 655030444 265714103 621054852 803546357 34674024 566528987 401934301 358786448 28727973 888391747 205949897 203070745 297446165 240821392 326609828 810075153 974233866 149349848 432567184 291036236 426410727 154897126 686806890 886235909 699315854 290007924 937390159 874074791 385208919 113746132 346201711 762764222 94907487 238857396 927184709 148761798 832227963 957385014 669154349 686596330 83198963 805232075 494435411 430957535 450667846 362554700 801086155 758833117 587293446 756677916 959948099 816281457 617172656 670878747 850139185 364122316 546647071 780053674 883846159 772790259 801455355 534056027 126029661 220103880 846176640 130800006 451925661 712653167 223557246 541244748 84574023 911436228 710213397 725009046 135238201 583160370 27988978 446583202 519828314 834564743 71091140 331801923 166916682 137052653 335233890 127513143 992359956 22896141 242876728 314327730 838681507 606579612 686911545 636139142 604538097 750655123 156234886 155383699 882682975 223476252 305289860 417584403 98296541 525262889 75980072 146690928 63384167 634171853 676634414 50902448 841273590 956136582 38638343 722884859 925508466 294627046 428140099 490266861 933083737 737283614 34408613 699243484 606118175 840146130 768704370 656035489 321679796 41028383 830851984 642923348 754267069 962015194 38238586 166606082 512844342 152293415 42184951 276616365 207399071 999956566 712254606 656307660 129675715 604834436 889377932 944038055 25758808 258823314 784937600 742216065 69142361 406044168 876138841 576161368 692705226 339136241 955578947 236949555 982937498 675183865 752072528 346359372 122728341 817193298 586633622 159343296 246510654 659757430 196099243 268890879 811307586 860777676 647150780 397517107 550441935 941219845 916578889 363533117 543006624 412055566 121299698 101023467 533533075 949326695 641350335 344721961 281546513 950365500 930648636 224442300 668511718 652876826 676656376 411518801 215805222 355159887 870992043 500922771 546212776 329346101 52368543 614323356 903283220 784538142 106648320 726654527 739279395 445737991 481986819 148481096 136492182 218009679 150806907 33243886 205853501 536143285 193948963 333935399 636015714 755105016 666663779 463967777 358022054 479120160 80519423 164658624 405141241 682238122 206897853 854399603 336403609 862835431 544211248 849396406 418603570 292079132 47175247 430670391 151986597 900020293 741881553 964505977 886528172 879001155 531683151 705413544 123501556 446479828 206921776 198763274 617299770 734765285 846479784 503351906 975926988 182667851 301102764 647330548 703271696 929928500 289084739 853581322 315968122 891562866 150817094 165093811 508560194 178502477 361445529 560122090 746156119 77516116 124405363 733330314 346823642 429828623 920946185 110158524 231214796 503307969 168800730 44788487 886929976 764973048 503415680 887384135 62691337 198115592 838306860 588786790 266424239 305038605 663296414 202125205 672164096 189049826 610622919 886776194 792503942 508984241 480081868 887631190 800547627 572347241 869800694 663813841 27432807 469986971 384142219 122080721 560061012 128322779 120133807 183587433 813402189 922500228 312367574 51603501 130662198 568967762 689293171 296798140 354983383 553643326 120127374 740803202 686297558 988593733 103424505 78427891 52064933 390324254 432567198 527181088 789319635 96829750 873994822 819547134 410811642 254578405 286976419 594362057 528310888 22459615 449356071 286578188 419478759 207978329 767381254 752774145 278856744 345100493 930815562 660209359 524298783 795062897 493040945 701438637 391090308 39975253 893916763 689066316 463536494 778361242 439016094 695699432 789621882 628895951 867018057 585278298 732746783 129331021 495413949 503448118 574731380 461453549 600583480 603129311 60086092 984506146 212955561 218669769 37208894 755208405 299450076 835106328 53038516 986893137 314183323 683155883 434073751 934734759 345966538 501503582 232333200 602596158 26074762 495883724 274010526 580439861 990764949 847170909 4367717 968647801 18738273 176884033 866001795 389469889 683339229 951135051 335707618 22415424 262958411 745085580 755082749 608028351 805666025 22631370 881446742 299414903 421530463 164127995 656963961 924673384 11488873 608793101 257028488 149366112 68104550 157136885 305152949 578809850 330755986 427449142 808544630 465050189 92062129 454932785 94587585 308190710 407733494 257835042 930247105 714128311 346692644 120422469 607828052 882559180 696922341 581153407 525815298 665435021 802492464 335428310 954208331 149348586 733485576 513314132 530469497 932401702 295357702 272323585 660515278 509149479 651015639 234565177 604962657 374026217 699303409 655017791 412903808 547029849 131428090 782210619 7479694 747884735 311815460 658853502 871351931 945546904 811715891 32486401 737412977 879808671 836437235 319218271 574538019 742431190 746313971 199073586 767719625 523616406 723756738 841919297 287338895 646681908 284142145 143641827 594002102 347252835 564723261 270105948 807623114 411864446 21258626 767928215 721489450 508332252 597644353 455743438 555576600 308116239 307962881 417895733 757894872 916122987 159928030 98924618 422895657 19289219 747595063 854457762 192932795 164800122 942771101 591373880 418578508 827647223 186433807 432757019 758543353 180480941 634010802 325342211 829103808 278740967 851027589 904697798 973513340 603190560 768698385 195006176 920805600 988519209 420089420 634807794 756636516 786138389 880332481 264800109 60516311 776158270 764263883 9747233 796545626 366451099 141921768 966523169 696499592 974728579 459553462 232793337 608634101 578070716 325559640 605311267 665421543 495780743 968630657 329882179 504743090 58122238 589710640 13716609 904197917 163083270 52730640 292056272 671300326 923635001 387329917 863698083 332416151 659944463 134338418 106239294 678104998 976888214 889366754 712483665 515689879 454442877 552292360 560929437 839362321 329214813 149208415 529308144 96596578 514805882 984673298 904485404 736097353 595762231 845238667 784058854 555109678 675545845 654576832 473142712 86205516 312375845 662113724 546964654 74155541 755220020 559384275 525720065 114119866 607456764 822321850 680226662 991804976 574733684 290746098 703243762 795005757 894458938 315513254 627228954 457195361 309080255 611396528 980204675 92056877 89108236 966256026 545190273 523445115 356659903 227693927 756078402 111328586 681672218 498053401 117041132 637064168 804029194 324240405 930505661 606674165 663210220 123177479 38412812 701681221 618323020 338301840 256910940 387268761 33419276 72303073 444274567 465394803 176628560 408118108 759609098 333578582 325689277 167691215 169930427 257547517 373422091 36572656 141621854 591645532 586997732 835062004 928740737 189997730 259811726 535507208 988751781 404765660 590089768 688144589 398225742 26073464 428209953 315102320 93919845 609405039 225526260 621239456 107437842 979333022 972371892 786278752 209258189 470027640 43933982 940195002 600857111 56802816 385830304 667503639 139668160 945504419 882059443 140526627 330241837 894359044 436720518 354968197 359284368 316938010 668939228 871466850 973876966 233382835 977185098 27316923 589215205 255984287 572031017 503297669 984131746 80878906 589788654 613376084 124686600 665370952 345406376 232871642 470367231 840993633 428271368 635677593 275265757 458219406 675317853 255817826 242785859 857062511 679402712 824018425 999762388 379940469 736798092 190946393 114404343 692985760 870724845 749529391 577028640 272251834 204352077 869273685 105103915 997502880 282361593 596253665 718156340 85209490 498782399 965815151 265188897 707540087 631132323 268843120 939420371 210918441 838344732 259404638 821929465 179155896 26979271 423760108 863860443 586820404 251241297 514554308 956845525 696978248 514020808 762696885 903739070 521024563 60087977 262206414 774028213 286529749 432755842 409512789 190598878 172295570 177801389 787754420 610794004 39384180 315440436 477891980 871654853 103203913 960082208 358653237 753331414 869174220 935433836 163920286 248621932 614011318 499269555 37772635 624691354 462450690 501802892 190443161 340850882 453379624 907524146 971684284 441250518 136049375 837512500 908805494 639460932 983006076 357363903 183575791 126201081 45913294 775478218 497041191 437881652 712864884 20970560 729478218 565613954 866911594 558789300 358894358 29508544 282172587 434851691 125577284 951933258 270636336 583319156 860769310 33344088 61817843 926549369 634868085 489562258 284523325 447400019 817010200 363633191 489801986 226942146 346470556 852340347 188313166 700078145 819425425 820552604 414898080 156926364 501182437 943226313 32294265 217722091 555796298 612947648 831490190 397794578 128986061 696595531 307877442 618432740 906174838 944368209 730412775 646905775 462899555 64731005 419826584 90300066 751953298 259516972 331308337 78672716 887471104 864619331 155348804 44557247 363191723 250903718 346259530 713733219 307441468 31434926 98093863 17807507 810093551 865110449 588061033 442727424 718666723 946688243 281148833 829526548 202165170 99783014 69054789 505784076 106396335 636383240 429213830 989976680 238163438 908244867 1514022 349723397 342101237 756933343 75348655 337220711 58931977 588123590 692030387 899042387 621762842 612688488 12571523 313872846 697254938 532891429 114625449 890304409 838860279 295083499 804409328 511585530 819819301 746739502 846944283 773894801 267112526 936335102 891614169 534173437 456900690 538953660 400171733 63882985 290983705 190141503 786649558 134586446 679330356 783830203 18727632 504919423 813440783 425362340 351827942 144321763 634813598 882900596 445223101 920370386 306312178 128196145 309719867 979770243 402575497 886512282 475749820 40496419 140696458 134460015 737124462 656470273 642814205 435204544 939398596 572700719 193861849 347381782 63569137 316539424 819673074 229447220 911027353 102288962 378470941 369468785 183975525 838150804 651043922 445607560 597759915 506599917 880287666 72957667 41540158 834097378 859484945 398505791 99476669 774881010 826699006 186681228 770527652 597449430 531634219 324499530 259219366 391113374 876119679 98434088 850830083 373149009 776737657 18268778 946639484 876305838 239057902 886872271 453235192 621908728 863334101 25609233 561146507 599751090 619991782 618944004 549584743 853591538 148737899 849156340 241986534 995878356 550851284 576946915 190709815 802451332 562249914 908497226 840331240 910377102 627612615 182624877 87499025 102648932 611381792 759784156 629806957 213536001 465129056 437465352 533872296 570570032 321362985 442085294 525413142 556707064 91929295 504478158 151184653 795734127 528293555 631842845 363938288 696538152 14154533 572936660 592873907 345458521 395868567 437881542 862882449 138326978 470405173 195699316 169546105 766034048 653562544 990991548 282949113 62170365 477445021 505169262 424842107 543836826 808072062 819791663 896867830 783423584 607986510 912905343 927450616 708040861 497014434 655786983 518287842 380969115 230188641 985767427 765027927 60083385 116829598 70095947 323538502 865816279 264920029 722562380 962150742 700902883 643784243 763960933 350071257 215784325 895485803 277249001 772765135 439604015 591330410 695331325 310148376 2917418 986979648 186001834 456169149 923409337 580869303 839059856 267885686 756540302 610739930 826874613 228449716 370782514 961537438 36321057 838426173 309305531 197647287 314673409 869548783 677925759 309397446 567547257 650918681 382544079 111820667 48866042 933312087 380638923 565541118 858889793 905113422 210721088 308525897 451654419 423858002 491163556 504972316 680078983 427467413 395007066 268083853 442825590 9767556 467043617 868695217 769064509 103813664 685245875 300232470 191379428 544371918 739667459 425378123 765725826 53063576 201465608 779299361 183065859 368795798 643704593 37688471 213016984 654213356 790842847 368552615 860737185 261933383 415609946 115412059 26668657 97766768 573602368 305679888 192881537 455396215 460997236 880780955 48768354 283230948 274775107 631029519 964193809 320368277 225850072 885550210 554677043 629654924 617325506 270744382 182518715 242373999 624748572 996854347 522108003 73988946 380043389 555687784 406142599 256774804 707336714 427178903 569365579 807807424 45652999 617824220 94803433 362947746 109912312 526084029 939641264 679015084 598134206 587086646 535978530 98449031 940977870 290670177 437251334 72706301 478604992 557536618 438689807 983000220 427198427 943550471 678157084 295804120 640275025 574916415 228657082 597658241 750324453 773813721 673331122 979353504 199470666 26524654 822536303 437662631 993279094 728742494 59868883 873964020 770745702 349504933 99194855 961341885 933307552 606824246 186922128 229672893 818866125 881621304 360278698 867575955 142447687 594237881 708996850 382749424 290694212 300720 627679671 938885422 131365758 532699006 733038275 734663398 48573131 994814871 607228450 77538903 879447786 909024488 336587148 618105775 262662433 579172033 747571320 104623357 11158744 612282291 838754210 145748053 243778428 799107233 955428563 728025472 566577517 902198479 977602980 151246731 174069128 672967241 740525690 197183957 108878357 322884921 926758356 315508611 781746594 158642160 991329858 322304703 965492282 33945507 372357128 545741576 234400217 371407777 525179563 196613643 94058148 133260101 853660917 962486509 850914023 504505981 944253395 93164424 756433185 458055587 721819729 59398475 483289911 80199058 46337617 962647967 212227462 794266950 804899814 156048382 428057211 757196222 597514240 246831815 527024900 892054163 754947027 606354916 888264365 913243949 904608244 181866258 823003451 135110119 241171000 855623076 634260235 96604706 670717252 760814575 594512721 21314172 448969691 812854527 564984236 65728285 977332125 781929159 451044185 417497249 158858948 38557274 283418158 447944098 329470230 429330883 179310157 364323093 44246187 61981721 553969555 477563467 716806354 4494328 344021622 871376001 976698010 479698088 891500487 929990892 958498023 646166746 602866067 568416441 824024673 21808045 839175351 314292791 211796437 11618109 755944239 917485512 96273894 385570566 185730300 689599733 553744894 348128270 252298783 821423405 313851465 295327045 926107842 992512219 975594722 511278766 55011495 43001847 416816694 101083566 741632942 460927246 553119509 220244455 980063218 133179710 99956340 966946907 633843663 969119700 952153594 824782909 638434076 319165133 532352807 979529336 150051205 881034596 114958051 365826711 138771404 79560651 190736193 175345666 207496452 656972319 844157681 327417392 704692752 714794199 107910316 3016129 275221231 419065515 266850744 598348450 778381304 268430572 144708091 926760660 956017587 888479448 418726947 276821619 223796925 340476378 526127640 910362131 723539742 721281174 220782219 356915070 992264805 144932674 481326001 852598168 604853222 120824670 1654045 655986577 833461821 927797319 768598616 286937146 701505228 578973479 419014170 130970453 254208398 986891058 734249014 64344929 485381731 829996792 913534445 568705047 351108138 773312965 627973764 14460986 406149296 101517282 785692307 266603613 507990328 713229382 602991038 767862264 737798484 292939698 379686856 386060035 454167641 850361501 309769596 755248895 459266548 401722261 392214228 757899538 25400799 599640767 956760479 67469617 471157330 372771008 113109303 661446284 587949201 86940827 157527438 335579043 358961007 136329001 777766364 694227403 493690269 28878927 464232339 453373687 177142240 496766542 785450705 184991566 421252060 775001998 202807165 983441584 72421435 55056964 642261406 896907434 426434841 733361350 954610798 292528795 93667076 684251528 750616961 363978975 883379406 804229745 297497659 446806386 928887253 773175383 210679929 133842339 42559207 826797103 883617923 936032983 75882853 458639382 261206608 219679067 156343064 438472284 265554390 682062352 51614308 198138226 88485902 175736077 375231061 348544874 670965263 450226806 421071629 76197684 810641312 28919024 904758481 796997452 120807140 410380911 817180641 771432991 347344650 203505449 958729117 631952824 877295982 194889406 461558578 151766622 534492486 494533062 1406257 236844572 525392660 370654588 354092870 31046363 234866724 881670381 539072824 916614760 386154356 225450843 423228485 184216521 497306463 987246831 605877368 399361809 21869362 832377767 946856749 597704924 227015322 728635515 567049568 875495114 783853043 73711291 349290671 865286936 855335 418469986 453885974 482620411 320171190 499800852 277365513 989957351 456854416 661272645 165231672 434255438 336202737 712602789 475117604 583463773 685751169 488668269 578378647 792738812 507026175 227902416 904218400 248772648 611627003 870337887 259379786 147800142 558533511 984872380 408876569 666713887 216505716 744900728 13720765 124589714 275577841 405982668 462866425 132370163 589882152 715655335 779170147 630886640 405549661 472269609 342792195 647905362 855422772 387133667 893462901 405385481 479875576 213394978 74240381 474540595 716571630 147655096 548550734 297350564 757842267 232556901 581576623 321402010 219386241 453993649 845061054 721574514 971242660 109365771 712596451 458493760 482739187 366938091 17201972 38222569 998495576 967555008 113347089 276389116 896149535 958593806 564612133 384220605 839283794 565115741 532702616 976502327 985694876 2962532 282202466 10825775 557406575 303379110 533905123 516825971 762788648 781231187 561822158 658632343 672911179 358090154 174313595 771222811 650237171 227753540 942278434 688339541 443225891 610773884 126650021 431267435 240658298 127426501 75628452 71837702 95950298 677128922 633296145 934731155 912332900 634535219 952871200 839944412 464649533 276379083 57895720 494874473 258673057 639093150 400967549 953463522 480304848 508266233 513353546 863244145 191232057 18312241 19141801 176328854 231210947 261219924 403146706 290311180 568919869 873310291 882963744 605807183 869221887 849290749 225573527 784264819 973884633 365552686 118549525 615353883 502230469 510478341 111906773 678159332 193524694 373209048 30185631 974473978 986374716 308591613 488125865 99298757 702722538 876038481 380689983 21168478 470162444 534911921 408893418 283616136 68650488 80368339 778293646 927721719 904402458 846914991 591660927 697795221 316397702 706734440 312649015 873459188 218709511 220639165 449576078 461660818 114502893 278980405 437806310 490071628 371965909 598305312 417364274 262245649 922048294 660087215 446603463 230089969 836949055 408519640 907134970 332859897 56802403 480888301 215840352 812265246 83049725 663859421 334962001 637987241 290364535 276563062 431008988 675241421 180682580 723689014 744785921 246505623 632664533 783740408 491865131 628636956 805176678 580305382 36020445 58583548 414744457 542956877 938978836 528566924 159788821 935416171 519950493 890631670 757305577 875834574 391159989 170121271 16294497 938471543 418171421 664853072 165994951 532878323 482452962 967871893 982191934 454660611 631381141 623875845 317571864 663692202 862206980 863233760 883020279 255178391 631504798 381459714 359851370 896317870 704095715 837403233 557808112 502957246 200179109 712759844 711215455 252387258 100804099 78517452 898699826 467587049 654505946 580456056 351578333 568653113 543743290 153383340 882785050 19083629 490866393 44376004 947431848 654246002 676207885 788338366 436010359 837059998 735965632 835214234 717910963 897006405 719224141 951735087 450584794 677956845 198228105 861125674 180583351 194498285 1580494 531923661 434065489 950250885 395079157 677299877 179277026 427415519 999061462 431169246 76123863 377652108 128567218 13061467 992700849 262487110 494707596 866474237 584915040 285973918 772974940 265503020 258700067 102090084 286358381 850624342 164342755 462944166 505756963 868430116 457218326 269859080 20603082 779648111 34048923 116936451 654719805 565963835 520981416 665570440 214226955 762244240 75261961 161476650 658334586 246610229 982565772 781098091 100127292 649395975 758194960 675903139 625991960 705343524 177335353 481494365 210281475 545024233 701158265 249283834 486129771 614546858 335451798 168545807 87695376 261040816 675575248 565884237 30974752 803906425 555277904 656491406 909913623 866245837 334031806 309474584 301609373 342834713 329411519 516560602 559106999 769092229 867110398 873230152 255402497 610123787 941750226 72778306 319077460 845165485 81956510 433838629 976112800 501496316 451501344 135658284 32998788 879046765 608023834 857561155 536367385 560446115 755905369 112528102 487043401 123396899 599032487 12859557 22121160 976262036 183160663 742089202 923001976 991984735 510652067 441095011 210244598 323617827 49075419 289326986 889288155 747441803 495560549 504053134 515562147 478490312 476432925 997231633 175664695 63369099 73882567 822540271 334666269 707615575 985113081 572345020 394418196 155714704 165613390 336727734 879507417 547389965 928736086 660445216 986611249 665480339 101596053 436755781 276311939 304810584 801651187 756520824 176091844 234078076 467643197 748109919 786798791 373692423 405719879 233702289 74470571 613758815 754446632 945213961 331553239 404649729 720258715 325011526 6878173 121125271 392845650 450124715 688700994 215620537 295228336 382076014 340667175 747630666 921270603 688712437 402000803 146990532 569189950 419154352 399190540 794456140 72671577 34535491 120055275 692103356 992032096 108709419 736719987 71964067 747212548 979385812 537113841 362554374 831730540 503421747 576191239 212185031 325352020 240565399 763191710 400576304 517124534 207850838 820472364 614369553 739913993 379720589 185280993 257217488 682765949 804249355 177130101 790070610 827534162 211891237 382819455 456387065 744577693 246950910 490036762 403612787 370767154 295627219 221625284 259833953 226839100 54708121 420638628 392563897 221549454 950396711 992892849 795618304 185234792 912136369 770937583 347922358 392723137 998774553 396174572 50483218 149650283 332110883 430688565 188271326 275938512 592447012 60870714 680759634 445103480 370373794 33143873 101179281 5861770 427958652 439487828 802583345 594033468 698582352 703787211 179524749 232733939 96994772 25630682 512063843 758600869 475737832 66321678 289973004 161337630 472561549 21102720 360432530 15692362 629475068 619904827 503348154 836230272 346104326 873762642 937286530 707028068 612699667 504010114 31822181 693347984 554956108 380353813 199053349 613730726 838231273 991146832 19778074 92360489 393012422 304802301 236411246 141070832 229576297 769322932 945424280 927576200 300982246 528517466 695703991 161161882 922945805 155704421 131676803 830200606 848573244 912464132 625346684 454897682 141768488 457715801 217179114 202545080 467401101 747908355 652704331 403805657 682418037 45057703 632293243 771631678 377890300 612861537 878582082 247654657 550039941 923399392 611688468 898864732 415075147 370837140 411842377 597666575 760352129 276730216 254353475 139493747 945780226 520545094 172951290 414664525 767437446 296433156 194722839 618005157 818435024 356766595 851044028 25467741 306662609 966562170 279999141 775140050 791419536 921776286 130951256 775183366 850249966 712404094 219063603 487237192 873636541 912629235 326531280 741327470 552514092 880355195 403448888 295921606 678934413 207956139 932933773 892756057 180670792 245060657 230544431 561679314 991107747 95737186 143207045 38491582 289061004 924826109 120468319 35915792 35829301 21664418 851081700 332041420 317862647 54943668 606064481 866073151 110574366 501564417 196594378 648555145 450693290 667334387 427514993 762515472 462286922 432744054 752044336 696942401 905626482 553143832 776594614 91206386 877525962 692129036 665761798 746771423 702478062 208987727 310783328 994121340 545041115 518880508 642530596 526034746 158074102 6504017 50930638 369857855 924622284 623890470 530846147 379174786 329741875 424494360 66993835 412600088 671156457 80907609 48730934 930012367 748345037 154023383 152708823 432354428 849926858 771048255 31461309 614847555 551255637 327642596 519120591 124595632 756978322 388489821 844744311 268797706 757857731 607218170 260762786 188328929 749144500 25603263 541433063 765599694 207119676 613638384 176281183 78746928 325136380 67759539 957082806 737171445 284900803 853355303 128769490 408472743 130718978 108165946 809718937 720160970 914878172 728908069 985007763 927753466 283267524 124136509 649339137 204584193 189050460 869591959 316916448 772247777 261618064 910172919 487036037 263773444 262788868 553025067 557664102 823450611 575854830 538205516 123816253 817701610 83241242 301156796 806454643 91416085 55577515 682951284 61058933 841018324 909412197 639870640 597787979 491404804 985360978 322686289 159367896 812537858 439368940 824948916 60113049 680406324 42291757 118334166 502239406 750665217 443000535 542365992 374680075 86579702 942543217 400515994 500473566 883475624 550843503 363335018 136613509 399435897 269871922 978499205 173537275 545666641 317680561 491789133 541589117 761439828 655695622 137037469 717024506 765279121 442415402 419461536 670917402 221187779 379436914 867706189 429799252 851222338 964182535 293951884 334592971 776692545 859407075 488455842 286296222 601425430 976110113 988045155 464036308 674491432 758050418 953934536 967277697 150305487 371190539 865843754 766401284 387981297 843612907 348440518 937648647 997476120 567018625 370075325 380829285 77825176 861668906 614494635 799898792 185575407 562794506 617744449 378666020 161352129 830323432 977741740 421170444 593211031 761373577 944379546 503089084 3506598 559729052 951379990 271165665 882195430 646041110 680658115 56758348 194870436 285011268 937652868 352886422 127296801 218273989 94913192 260372528 57108599 391220845 811103993 849371857 189134164 483869492 743992998 820705234 16482862 815652122 878868227 806920800 181827891 469506373 935480085 511699559 744288880 149369836 983208372 435228501 895052664 907955588 338986077 619516041 875787214 622534996 509398151 917828888 433379648 759464672 487199772 31553678 633555154 17802663 240828109 274015374 343646352 103232817 838881889 272966674 645271348 530548189 712446516 300459184 838589746 968210590 208103551 961692649 455861857 784652083 721797828 663994438 309168722 930973421 478476380 152443922 412751815 417655880 234302951 773169579 704609831 838329285 102843189 468420271 86445834 312011076 833122313 272675432 42021420 577076116 680300504 993723993 947884824 496636874 857707277 784450049 12617417 210176327 267340956 581922045 353860634 918038674 714744613 583374765 515606795 851450802 328660315 392913843 559064589 788284951 676217966 399051869 942950 122108825 304398398 548847284 861652992 709376823 145454436 773611906 150531329 415652047 182798880 170310837 578921248 387812097 176054475 611288313 907134053 463593028 478154947 47228189 866099140 222249434 413986476 60540468 846163614 596777881 823849445 687095148 543043464 956276496 954291914 197752502 153842436 100408664 909389741 432704637 114309795 388189771 120091214 785600098 61487136 928966695 856963776 924463728 63999376 185300202 317583226 457132501 347767538 175931183 740136729 124468157 951508998 318868639 29720762 253860926 420441127 579886798 827529940 918184261 527084737 655884120 507037102 34815160 998799305 234389090 425670558 408839348 147519208 610148430 503240705 466450571 696263068 829500953 553535223 315030385 94803197 957143822 376855030 454575517 271679691 746543630 766987219 537626492 899160096 788590755 823345261 773732275 44344481 469762857 966312915 590834466 444870848 595565808 480228808 385736040 288884418 321141794 276970282 11890112 667686557 883709840 778708944 472994490 199920786 487794705 517445992 436546436 5689310 108417975 248294564 14806125 666879722 729617075 421280918 430691356 526492435 27447004 370120057 342333107 188582290 292242678 141759123 453154344 754789295 709778990 441145761 717627667 803878008 51956191 370328225 316554674 938755502 643420139 721558776 531785253 299188568 95711559 648480502 843480947 523872162 521281221 616385398 740529532 801109253 215797976 538058723 18001767 920193475 471777497 654989061 116250591 359342624 667856882 326237676 480730191 79576038 488784459 350921284 717282927 553489994 407437007 924436283 601065663 683858193 640864121 118556166 408666240 292544117 520490988 251983206 84313088 875060261 445896138 518504739 242790943 808966149 235006699 396045055 35046419 652765507 106585013 42764478 564984282 238398683 590344564 795725076 908461880 59945670 920252325 220065121 953538048 640709950 484649903 570140124 724107267 554565922 807421665 936316167 453722518 698937419 302318082 261584724 308182275 10696440 722352266 837392004 404333896 643011970 256069695 464874314 495314396 795461064 453933733 271956962 55529510 685966628 203218098 613935492 940094163 731719819 537362384 2268346 842453831 778362712 760750511 29178649 575975178 266823287 45797479 238250384 684312097 121611850 222897478 909323049 356438306 142941145 657693047 561289020 715141497 527267679 495458992 866509837 406828910 672303368 933694962 696266040 511102359 763849396 403713432 435296455 443228500 539932806 980190996 168907429 118192896 448220060 569189807 742525346 43002202 421668494 93363229 64698983 631468917 937631546 153317741 128657214 760493651 176664310 187418266 945763459 295032353 260981293 758974394 415362855 627009828 767862279 663648891 320060482 719733292 743487571 915909717 916925452 784083944 14291464 389823995 636773420 857335154 971196306 189521414 974150516 495872839 603601237 403955714 284035138 467167505 672487067 560639086 870586748 741412682 764859074 249101814 635324104 448967637 962985522 409637036 566685332 818761403 492466857 908381428 906453956 933032182 381358845 108624171 654539709 597376268 941177080 999193826 417087041 306292977 236007826 994603822 424443306 291738615 938619226 873018218 912340094 289937744 72286866 881589892 574320377 802525541 951375806 885948183 691664871 480127829 857701511 955817825 658895667 890825771 432641637 26163433 143632586 26277506 203109633 186622313 843725240 122406346 184196150 447495315 738408801 188097727 998661284 39148484 760902300 128505364 945656856 70688803 314508704 637712797 513825682 54783804 814625517 226876360 631215712 192912071 293520646 695096435 297301338 555420907 66125311 833032022 830422096 349936448 765042812 751279794 522898163 268852476 432964201 639296759 35497069 516511251 8667660 799849894 304177511 752363098 721855299 708621762 655911086 767990428 956892993 170707080 625996510 332413977 674494900 790531586 350606622 915131726 461886892 647670510 176119673 241521534 984427727 830967628 471761740 649556719 252616455 197272183 590708218 144564428 864674044 137412853 451304907 432590187 311297256 301812385 158469244 597163263 599304020 379103448 289537217 295751013 790548019 760002109 405159105 605255221 283670926 476176009 581533736 401166100 519195283 499197894 608922079 591206857 81746119 184304857 732123980 910113803 789353697 30270610 749292185 54923532 151073220 816281944 432564295 453474273 16226700 117196484 677748008 424266699 687814680 28674373 778191795 249132457 352777278 930092445 207475911 166837717 671718569 274824649 684416742 936767713 328366388 774735746 476510642 425797820 975522324 699170038 236605983 529039262 562010222 753410006 13735799 616999086 427153626 527230905 186224716 666987260 188892857 982364775 80916999 534685515 34776581 94924891 906203199 411163364 826438001 373457884 394576298 624332742 528808699 934666585 141875720 67100280 970051214 283784221 319530107 722199002 532744515 847920426 181645128 845310187 905403328 531443293 311248750 535220238 783189096 871484531 506292471 600072586 870914107 340448264 281351257 318425870 325220172 557440647 921827173 350009224 480430432 557262887 907937177 441168869 316875619 355677898 515569323 305612448 695047016 140626417 17664378 531888523 593046346 484660370 474132064 949678477 476133245 286659102 699570685 527675203 885856174 810001569 824152634 59400789 299074551 530918597 26757299 382355145 169403531 898932671 56934004 72273832 384065813 995550154 128297130 854836730 65910730 654736620 435796315 252360469 732310880 899200902 918719202 136729615 834368527 606532812 187224591 613254108 3433953 371362595 681879780 457376082 927764633 81027436 858360169 234886585 151382777 805464899 485830981 592495334 644075656 158110788 79730443 735884863 210908474 204670127 179928558 186457991 758613026 468911970 566697646 812839622 720339384 86356046 974064865 526585213 925082621 550457596 383408728 289058270 493006654 23271680 620725124 144240198 896801847 663982293 808946993 961908110 669516437 357643154 929889386 871818338 349231916 923318554 687405413 145802040 833631887 593533752 505198174 104190168 389474686 253895131 176468041 733726391 957761702 602265421 281579059 811120149 846002325 758436841 286696638 912883067 784207906 20840418 463040276 949009522 381484778 188273265 148154103 643533711 500414612 879241281 270678110 86940966 732870393 128963271 215689684 431968397 465294867 150662216 346399132 224282552 658130725 30062115 405227615 228056033 666643614 802883404 171370918 834449893 395047130 281857911 714639509 281906693 170250194 490306299 61762535 579587526 654916285 532691672 286247557 386403713 798350049 405754400 858947993 486190535 899537690 851572661 171241004 26385285 343776399 331616925 538390904 949523797 848327805 321605800 916750347 143976777 641104314 525486797 834031751 506458659 527232308 661281576 520640083 735045581 3055048 851980244 871604198 90403585 765502171 185022018 151178563 29219054 501455965 620207753 104904288 789880240 306077308 399345740 286989422 491339394 927351145 798461091 217439328 789771770 435481650 932336058 329410347 716419969 816041379 292492049 763487744 704133951 746533215 446573351 949882773 614095624 982055222 388364017 282937817 649231678 983129807 188748308 816049944 430795754 659319400 888131176 401345280 836104771 852448407 412058624 416175987 326522370 768939814 59601096 402484430 369968832 463338849 846941549 683241199 736605179 550771272 164669988 400110643 24518249 600941071 894065746 492811618 708070150 549749704 8303846 377785525 437964950 848096191 37459380 68505446 776890551 719129736 709080277 264188833 122699510 111551854 389572350 209472014 929465624 764928836 513482848 376136164 368543670 142166862 638131181 240657757 227742669 274112488 244159785 225272974 725393580 365531233 566296563 746441233 433590042 798689543 815294734 651012399 828340460 890954921 238843003 479972717 920815167 486835796 617859797 464571938 846014401 783319629 430316790 545579494 752798390 858729490 271822546 713781228 565367654 392120607 401222910 636102698 100779858 609676561 123888356 500183965 878949110 898552313 912669240 755789142 598167355 111517321 795247416 566865650 887659015 40939250 203576329 841824983 340357108 866330034 150415405 845521668 853433735 391832915 553599349 673299705 289074591 926759694 469997995 457150031 206161264 153422718 932905874 338576115 773952526 445096583 886854402 529380890 762566788 337544998 515588695 655225887 439098106 633434950 129919566 975436023 810932160 230142097 787366397 810597247 105704353 451900892 815851468 995668201 29860413 746208108 875656159 209413187 157394906 277826665 728003933 716163207 358747758 496025292 388520030 623346788 65810826 402323964 19167008 665307114 449146603 706346948 170604547 643757570 612142533 607280868 427274033 889914996 513522838 434213634 279232135 264945964 169013380 667920289 305883842 240185555 659097198 490987271 601425567 824921941 689652934 282046595 311694038 639600887 818957409 606152069 353682602 304034912 90780630 324287432 944929526 712335240 381128300 661854877 203211542 896040408 109440557 543488256 548006854 585450661 741603227 78015457 428941748 72984075 287749665 861611542 250009240 593918038 547936971 167036390 573012926 67984292 879580815 303126948 777121568 659656609 637860417 999798545 217031702 483058847 137536955 66268588 678178330 744989418 322159204 392812386 22791582 574028624 737103944 877289547 41217954 762832286 908796057 648959539 11655393 238824014 861012048 436149550 408742297 708149153 586982936 317410911 73819981 488207054 879936601 413137828 319606211 32065051 777793234 564374795 809344104 34890277 497488384 533825706 266296287 574203918 172222597 823137689 904124370 284806953 297232783 523009597 617799327 869010891 477009801 340614712 993772423 827261216 382440511 680402101 301246389 325521959 561442834 874545185 228402771 507157280 56842820 410460172 505917971 771956771 993520726 186642102 998055441 316917765 475957320 311402474 807169479 138267084 415915217 137153200 967335268 345632213 384130826 614482633 110866668 177336355 962011739 452964735 239894140 894377786 799244630 96653158 899118565 625796637 398229161 147886032 344081309 421841350 840302731 928695274 713987151 674488081 640191383 846639278 310058677 746299262 623345928 948144557 803002140 944422227 927237340 628172994 266391370 114147988 4335124 701394743 2237381 722367490 430780366 258001870 838414496 866488775 444359641 526370994 899336035 5844429 341117821 914710059 678352264 603398886 666132938 319802436 727221453 445652651 69767000 950841392 553002154 260516817 977963486 443260441 947612034 830354405 829691222 793852341 504306760 795432211 235334741 712861325 453066504 462298785 458649543 107817601 430364067 737410580 726125467 832833313 906751098 995696368 5178976 744633995 264633651 13950029 345450498 257176053 970116193 411703668 469502897 325230406 8222630 555313265 814038377 83525667 761138744 684109986 361441065 595175519 394973742 364174896 61407227 197417800 821396138 389780881 729169383 131901638 341463260 199396891 511471365 212011333 869536351 481164289 68084463 858341706 832770877 438516665 47924041 631752106 984708762 342379830 508895304 232826610 811740758 848734884 367326739 168011202 605864098 889602290 587434972 193137091 951423345 821294494 776088950 543822327 541819282 109866247 963496409 733267328 741215166 341883437 107057023 631220289 918417374 795838264 387962309 76843795 312779626 345915651 830241663 491287833 289808760 899593340 874978934 834091131 396139565 53741624 613690299 936466493 417154251 894737235 825815286 254707091 948707656 144108903 859876724 42110764 170770324 432022110 893216389 422545479 808149261 639805568 512687707 934350518 515327420 956254190 545778101 269051940 195003019 494612557 129115665 370438343 67518685 997106504 27377051 88386430 566761025 414298900 216805563 987136349 869575297 261401197 6479582 559686073 857851517 781173595 31174314 550818843 406099457 223898609 787541311 904499780 786294589 250584178 283183994 93090774 921662934 961502573 152543480 341021580 97554366 145819252 357215154 355138390 202911577 527366118 333757583 260839006 200257318 60056578 235016680 461961939 612675391 48273610 150189706 443967874 325002761 72941282 198239695 96593142 594309059 471794978 513677433 908650263 293676705 60480636 21046799 182107686 901524758 396186732 251341900 448707218 155784550 727094724 382147480 612925869 8011384 380953694 304069810 33891969 78997727 930163375 548527325 332820848 864072678 619426291 446293488 174799671 539309992 13688760 794408259 182369040 660540682 740191702 206325921 529858572 73119069 88328203 420460836 680180358 564725677 329930207 469387372 707335634 131937476 950309636 656502865 149767774 62702558 710070943 188061360 989472420 811661510 101150809 492195687 794228021 80013417 222018399 322299193 742454957 369105517 539005465 204837107 503314157 660266389 137892596 290593700 785126872 124643841 326761851 16369769 27260277 659537464 963470927 60375623 542702372 96801988 800605506 721511048 454408264 226893004 509734400 94422549 775213754 730866715 292330877 808304380 412414695 971273787 627748108 113543427 704830790 801280169 946258505 443251154 334295422 416844623 708204807 283953135 1745530 307030508 192146742 991574600 90934620 796627310 243017805 852123612 803505130 948588246 809835667 991888208 404707730 998098118 238538894 860172654 698545113 239284202 864390064 398490906 345227262 22981148 798926196 490512093 748290857 715532866 683914450 831732069 651475596 109757109 373444323 633194814 663121683 755067072 44165686 175489248 181130354 532782049 341453898 839463035 791239720 36930684 868742856 378158894 393647045 622962786 91708030 11431307 597231297 653306762 503661163 670305656 151024764 30397588 686546265 97834592 147563141 610913413 483535746 277806336 541645773 692908118 178395797 917126862 345807393 884995582 705640511 662574077 999469356 176393797 922394658 679779553 666205949 167672161 223026999 365934886 238487393 696976193 922606628 792825983 375180618 466303055 525632559 885600285 868144385 305323264 642877397 604178949 207716343 168988873 239713605 119652522 996933797 591162052 522799340 173404235 772104310 192926941 169451526 982347973 903204471 840198083 776601576 224549593 635141226 695209448 226441112 559602979 414057038 405784128 870891944 610062729 296895757 644298863 55726740 279934671 618133972 288506583 658331659 794029001 191409240 875083259 356400186 789169579 291910515 806700967 514572551 893627045 804236894 409600388 672767970 104425950 694415753 777197677 710362523 390951175 747096326 339915594 644860963 994206080 501138004 134802148 857592136 424809146 315359304 23660857 423896291 204728053 320635441 399261634 548621794 416945579 608712785 385440046 418714027 906276106 35444184 556184099 629251950 213133069 666474415 764755051 652557155 400763851 360650566 52921851 352229613 61476971 200382345 166794545 758688191 877739486 416501000 499427759 440632527 805083862 282809751 601058167 729637926 810617691 660182547 161533583 44338815 460235451 160921498 625718950 769126100 908481995 599716067 129861582 276946667 562635433 671013840 98412131 125847453 229018071 103914154 144143862 715239575 970703080 686755632 233826332 958338421 658802684 496107366 136059006 772540946 259347059 184571724 18088465 113913831 979480774 96816686 109505217 909877328 120497698 838679806 41923669 269285758 769270465 637673688 537551637 38409545 733956308 851758967 755868062 598640176 524884132 87825110 166121472 823201567 731865860 751326119 670263545 869098908 577520800 126194093 223097989 137801382 346712410 338418713 518472287 928095764 192720481 682331251 715906572 413455991 358867061 259664197 689943855 642585097 266122708 697970645 722492178 5766988 454002192 45571515 984058113 544122911 33793827 753346109 318517885 477693455 108491137 732208576 159048830 544877225 50224303 541185841 507236490 357897375 680918529 65257268 92362882 888482871 289994389 75033493 275720665 771216847 655116522 38694394 15456421 484585565 36479876 953159386 170096247 791734707 86062534 981586566 491935553 184188972 595024095 556158430 189015536 44139733 886545268 745339344 638479686 363884840 524409840 428872701 686060351 303984107 574067354 820104969 202280478 142210410 892412013 12933982 74402725 505070983 618506743 369244527 182429082 372225968 751803497 73263517 804120591 989024079 28914527 219409485 863694177 511737947 52377369 181834032 991934004 709513946 161415167 487643869 662432223 712055718 581626755 832186042 39194705 936500309 176182538 345700367 702249513 856333337 106787377 985872600 766390022 667624376 180772164 508998080 634805406 716671871 206243053 712106983 669604754 61684216 868225442 943056747 255636618 156270524 274626230 650648688 960431636 370316435 15501089 238846606 450998501 845787860 6507707 454859059 700533079 136895752 401622325 563213653 295107980 652670896 427475796 315264071 74278101 14537856 745627647 259145442 743533643 554726452 70606649 732284970 764917745 51890671 895356185 478264938 804535784 519574967 413195128 147873553 688946749 101811669 604807601 456424442 730840898 168665830 400171128 323783778 814753615 176483240 215721113 438691919 32935742 312804949 419209574 627491326 968410016 823560016 528085431 593541340 2005245 502747646 408135656 460748348 733233190 205046980 543889804 868728543 211355396 283953081 973689412 466915249 734472592 823528868 197077707 552710928 194393278 910106976 358964482 383000100 456948844 146158023 548936752 765774306 333861295 979366237 623305555 724670329 358611436 258379018 456611476 952701643 609051770 324517482 852056017 614007020 739455367 845864390 117197394 657664551 98007869 80147549 836885806 232336789 568426764 832362841 558036968 388530166 239672384 967839237 987352152 945091964 562297144 839252097 888918110 433158067 307834697 328180748 850879688 680758761 979784562 249974708 793460250 830915849 527183981 266676212 143470475 955965324 694675465 360183425 643422963 537790393 434588556 333566336 721463222 643940222 464124455 176150466 397382538 33751636 743774932 375653060 158834049 541809489 243614437 187045321 420258554 456167577 449056446 695177878 624797378 281212300 891449661 174024705 440426518 218058888 686494187 930686912 96109246 327708848 735670041 586641093 480564031 524334074 533884564 876873370 134492469 721601739 253457763 29597449 239279417 428044264 406503585 41242084 862831162 701508562 28738410 151862536 951047051 920734544 301314391 320762852 896824632 959777766 288491283 484420092 518364117 812945584 197237578 435871516 669993882 303934037 140455802 583343506 830710252 72143424 596271039 382310653 520499243 142401085 525008259 368621300 980265513 752250298 716880895 898467632 691050476 787647749 305811230 180176535 844560639 926881806 248370638 85403356 777083562 806432440 858503399 343746994 840629503 939945518 719822200 584620439 744193781 881395429 349296736 316520167 666441575 694382760 147669947 692643269 347745599 740439048 570222770 135282242 443427857 561577419 430528888 539383229 257128756 240913803 46533985 987995136 844381947 929709510 346208148 563117289 179879674 734509 890352692 510804394 358920864 465038872 76684425 689349258 223271541 330538661 225946623 355902987 769741733 357998191 689404160 916944022 657299732 981114938 256518882 835364736 695977939 325927676 892807903 130721020 465616821 887960640 296939065 921140405 842666286 986564842 867663489 884051067 377982383 513642536 266796367 406679762 893052544 176149436 18877625 515953929 102032426 750220678 747202559 511161202 642952034 69634427 725531605 963876474 862523158 639722679 375690652 389599729 579743297 618906060 35486915 843344120 876227677 636977769 851787836 634026659 820804794 321024321 587725891 847727188 983893236 786363580 290395768 319932791 906363601 356165343 635433997 604908753 624094696 343044826 837361260 595879041 747730704 262672156 916753616 531615700 102034065 698840252 383374836 128020130 906734420 335832881 446552829 642653576 472535041 152140935 574734426 233152647 307365440 28275222 706613555 313540019 681250548 394949235 807177969 665944604 803521970 708471332 228529014 244770786 229366210 878087831 971519705 429672700 896198787 894980590 670681022 318381389 832557040 202486817 209920167 812672186 555335346 48360898 885404091 838980756 811306915 20414314 741965122 113886256 460990476 844605494 371304121 909400642 823746515 760266210 599773843 521368924 464068257 871640856 957513988 556384625 280615084 537484157 468176526 520370263 588538470 126549537 702990499 87770654 963541134 143850011 560291402 632668865 922550066 88242509 621181543 131096701 97701812 600437356 254835796 891220883 793421090 446761920 578858339 260338382 770782036 270948251 35964256 193356767 822563975 299498639 367163555 859421017 771852237 193979850 264912323 229303422 759812635 269002908 784147835 195241077 356552233 638085458 217012030 55476953 79456761 460011710 506724054 49282966 720289500 73548726 123456332 153287619 950473481 955149688 300544622 661234112 92627737 18239666 13467837 535898986 846189025 954713074 335281078 281566677 307324083 619710016 96925226 301364554 594289630 240298794 325452136 421532012 329579323 637251784 965361464 926728773 393584421 119162214 961550996 969541427 840023618 817589576 460902541 636117822 425866988 319979459 124139808 732098139 900972181 48537391 519260449 295170469 153381680 77750951 466880460 700351952 719851174 105984688 107833339 437543389 645264559 805569378 76195060 553599834 665544165 116045013 750927409 620411852 265823704 862048914 224414197 788288723 737930333 744052281 344717991 373490553 189618925 363612580 87671823 567904085 300630935 98367890 678508152 544509224 953059318 84423145 958537739 981035912 633907114 807915736 787286291 148605853 445755075 202442406 899597543 151880573 98199113 532120594 536494155 213225025 874762406 713155916 899298144 364201025 24832204 293318876 932361528 650882340 219653139 982223382 463175551 459817552 244971538 876844194 129796646 720878354 435011209 906981355 343608747 107797366 851206186 878352296 508662145 306792868 533493145 171750549 547646547 753141294 71806502 740823283 159409846 654955843 943898023 519787448 816407324 304981827 546877330 799621853 671483634 567315251 126535951 979203579 412607368 295514540 974335686 755200660 583193953 948690790 618057369 927082299 736787459 682691114 830065879 256246266 724156864 541248231 750353859 584741864 719599289 672509033 621920635 837564913 613309437 341203277 32226084 376743101 159749720 515586526 431886600 250874908 399402441 350746847 512354099 625948992 599030015 625095416 975994557 765068211 268139256 267743140 158673851 388180175 24812258 256758614 549971520 87112976 642071478 673171935 884103391 296847043 283657872 374648280 33108737 197700435 922801499 666886897 90681302 425402164 859899760 371023817 166129964 614689389 642124697 633875189 574878133 395748927 892311934 739426363 580664083 680855666 481520463 411172662 522144374 294943059 296107843 415353410 261544552 596417829 414715752 372224922 949661885 311706142 314282737 401049922 95109715 741232768 642325624 993433821 544445282 308706331 963937512 552342685 430650686 456905235 592029213 607631494 395947038 530103948 41993395 850199193 308199808 722453183 163033339 509455033 304357052 986728812 371669361 883016285 725910741 657928362 823911444 285106578 83610486 254450819 284319853 10582104 801243585 329364329 699305657 617653217 3819398 479762974 859566162 40958355 244386351 658630213 375066248 727860623 597895341 897841929 95040276 593642873 238477231 807610906 331393761 898667396 951252992 542538999 536311054 190973034 502405865 287947398 214344077 699502980 693479485 606698106 440418982 473871624 58397407 509369866 377193400 259919286 999169544 668085362 454554805 552369034 956396501 596084008 580537184 94259399 33230545 586802159 967351885 766235556 646162140 576549727 521780007 548193219 548675021 873025371 553608338 224526984 612201079 101362984 560685627 179819826 358987413 542185869 692218506 206499192 884460113 672732718 353525752 87635476 330468375 854742632 465927244 998772157 324466395 36325898 402053992 957786072 2851464 613718175 585928951 447841598 754911762 544911243 454144043 14052342 214806268 535915663 879704178 199811012 959801329 260444016 868368333 150620851 463778653 230833822 821683681 150235692 217114021 449566266 293688087 611328662 35299010 878935844 170714590 531952763 563013173 609818483 387238747 56717890 664229076 83274657 907822893 745991856 863876135 390384036 819241766 730001436 560481770 625422446 264526377 758885011 357178725 569235172 355488740 544596895 224934078 489419834 893748722 693116711 347578903 809328816 877854171 897759831 448849810 198629312 190863249 316454107 450146495 894042452 175063328 650352870 964470428 120186222 267569501 501068803 678563644 832994817 980061506 28982273 183810271 785718790 136781489 977930592 372766648 588437372 549992674 517472424 935264759 290143855 363762791 827915967 197453581 349957915 20616152 863116180 67582088 127071093 520483157 908836399 980556697 452779524 682318396 138169177 540876732 2867217 252329717 131770097 582469738 269295273 380973229 347186510 263703289 516914348 676380760 858519854 343790185 575517896 333146697 12300919 702545654 852009926 928679813 5305731 805135804 294031016 944873592 878656048 265262160 27566907 675621843 626356893 99465034 736485946 723228513 410535254 957546982 605502231 355752849 753368830 420002738 470932132 506501244 383250247 162002284 100515044 211769913 158506971 165187759 324401089 90550204 175263138 354732793 699380622 596635730 341815123 249896587 960092498 902460279 381208679 984760553 688341521 309710209 840643055 724643492 619513761 716375650 889570417 529430081 383850803 587200663 824825242 836416498 732655197 46312322 885328447 310919728 27462215 436898621 379102233 844066878 975475090 206626171 567726181 62107442 181355151 777552992 697530988 287374049 867702198 399383620 414314186 730017086 980703151 393074055 248306248 184990640 703729903 509904275 597385649 348414164 403394449 93088653 659528315 75694850 90707114 513426632 588554039 542858261 694538046 295666676 277681993 822913043 418850370 648704955 151671475 605501291 138639279 667429575 439264644 858940133 119144171 380213129 710315825 414662847 659909160 612178298 598778124 525886618 44506035 318281548 613952759 293225297 358281993 857442842 810285863 812844199 609297239 473159444 441211112 374942808 606200214 791482440 393433700 977427467 724902498 210675819 400902767 835319804 646812770 130743864 695024021 733218085 859602883 713753033 841103887 133293466 293075494 853220562 934976934 339162739 750108888 190307986 61143925 676462573 781548984 484098760 346637162 566067243 427637870 396331529 763807205 928761759 827450450 677325478 848550527 759891865 11908920 62481261 31750078 570292260 52627571 818300426 818170880 250617589 86486245 425889542 151997968 744997722 764451866 877915002 917156354 219819065 304665714 140931932 609171678 636392919 15664071 744615106 708900393 568304730 50438524 155866988 56301474 331541670 260097264 623676147 159951402 974972510 656294145 629111419 118904057 346860274 220768331 603636674 994688559 572480360 377661385 270700374 272016163 541328318 856437444 901848594 595616623 659378848 853000017 713025807 387077471 471921704 207063190 731714880 799409484 47649961 160051548 328512481 251561883 892757056 826433850 532697421 337369303 917466949 256192445 301357618 375113404 852182950 826785905 212823749 295373417 354261025 50160808 162742842 599125715 781672604 823536871 524026514 315441391 123185542 931477111 849107027 952091837 808095229 403249902 685517007 778889397 706068564 651261558 676001354 749855118 724261942 66290873 726731200 957296966 411610053 306047594 684509209 892733140 700231118 949154243 728194363 763866311 782819404 613440588 41588413 929742634 226563883 773837195 835970486 792229803 841948275 787966666 688898227 832759477 951283588 152913474 774655699 629711545 233351363 36408510 948797533 983571562 988627294 300026413 799934521 657897986 316496253 810997275 394323456 133878646 997099027 6414344 422694910 26678335 687108247 496611325 602892959 28503635 50134466 364251677 735532022 752050181 9569676 823105912 782804243 590984177 929878451 656592204 998507172 956862823 69432643 906668213 382269615 55092553 639609929 633314850 33332223 158196091 501052700 661792119 693118760 545430609 276155626 898738704 962851778 280165597 813519286 265244282 943742041 479020993 17060370 935820232 542553814 141280762 890939740 542241332 133785115 94071328 872538571 654386378 853527745 794532206 336032230 105563023 703798862 560585793 220941669 823997106 332627484 887482685 79599947 22487022 362132083 668938065 624101613 983899418 467706508 660744918 687504455 928219044 602995882 418576754 164385473 443578202 858335198 374736352 642670499 631531868 638530089 5640564 678165386 721354932 727076092 381736527 888506712 208303409 862299098 421829301 368618138 227696666 752853098 130141250 41866498 431380169 877704529 229154044 525965184 423252438 386653035 99082745 499144458 209113495 737385751 797031070 212255561 622331808 974848909 894425346 973485707 862915136 999911531 16051086 327667242 209614207 524313803 716601984 179007430 708583070 215850223 120498147 771460935 408053678 344329426 475228202 996227170 956365976 907230448 914272980 196713562 226771489 500702866 927932349 238255008 187235188 344487763 20550407 786236786 635015545 275131649 331111085 498318513 794619136 982359954 326468942 647798909 621754192 763252995 771096080 624870257 199829874 712489789 852496875 838383331 368641372 706794106 822639415 51189345 338833894 367894126 215253092 404002412 150724791 318770250 49323810 314960898 515789684 636222131 262945158 775677118 406010672 447378737 357131303 619813699 993935719 24548689 575581590 847772889 844124137 39483425 176054043 448839798 648627427 248898703 425873967 786152855 140974953 315281027 530478331 245083431 571988027 448429449 511751470 631959574 362135283 112833079 899428020 686897155 397134257 888508495 483786792 783601275 773318709 184079137 238194388 178909960 115825382 561450282 29691976 91952901 16771522 201994828 141291076 595790571 249706218 62664736 709859685 276245305 854845844 660358106 723797040 360722216 488384351 465527006 547274726 653862153 757612889 469799684 495320465 16219107 293019915 313457805 774975368 418159526 721207889 200371446 194123116 699997136 627075321 136627481 71748709 735369122 383632969 545439251 60289423 705299694 870451249 792406758 137544622 551599688 128499486 148090127 91700857 725057685 738532447 748350505 74768131 750745835 594913861 304700629 453914833 685853768 245705980 318899788 224158472 367917416 599152383 948528461 725643283 636426834 416506189 33838549 359189668 404222087 122822354 711580907 735653757 380470721 44627242 938482552 676394038 537787247 91063624 926616086 276475742 251980983 381881353 339993024 223072162 683700392 160025478 919281796 158217740 344598249 923879251 902005643 186972532 354141505 436856678 709822787 533247272 307352110 822051988 842214359 242602181 711228026 829063056 237593979 168336625 375470481 902894706 944968518 487929707 48453508 897793000 51334106 801757550 648566270 220549886 881686465 507845204 93825858 494544614 295139907 199660651 882583728 537105095 511942123 726385350 1113050 840527001 840559082 88592431 376802444 186651768 596070238 570383154 893209219 555597098 231489934 127843229 746899241 558546711 618245184 320287833 185987023 785156767 168219878 402216186 929735029 952376093 253872634 743712814 166632001 299512775 956106876 753513809 78852817 274826678 743833386 198756741 966728958 637636066 857549377 970787147 368091881 530206659 539944225 336810465 959308900 650329218 13979327 707543982 790447620 510482851 465078842 85613708 337973562 996301068 531071166 289198623 4362148 300546770 358213438 977278712 110338412 483826310 659577717 144713229 840179918 216755520 637407725 205270136 986078658 512225226 531741927 281221851 753227460 82643203 473713491 217149506 275487822 319784506 665861871 519627837 889810100 844236681 55413563 589790918 201480325 688675995 124118384 813672426 36631682 110858811 316489696 487117082 569729581 357752172 455340397 493641967 371446227 375931639 941168454 484124197 98652653 337959328 847164862 902289579 667124604 324291591 876067910 538589700 197897172 41742646 337734377 928126528 716690605 656782371 390043411 164296077 104860653 945827613 4081355 982695417 687835374 286441638 729140641 949877459 309856786 232815822 487950898 122748608 86624701 167587041 698049436 850364011 383322701 933272127 914271321 73720566 790499658 938776383 657408112 240150631 231486223 251702023 827838799 953206363 834938504 185483458 910960390 386198276 208072724 444230241 625886680 414080676 664060524 356417117 64911427 892269323 604707472 273684058 144724156 444534525 601546958 659836131 790951843 835675760 276446001 428778207 336381685 836419373 485753554 533529219 407929734 877026174 529962311 358461311 966578795 395584622 111301247 688316334 447102309 57459304 951145399 971706927 827788971 553657817 684974669 82503165 809469357 504035017 674964369 578994859 955022618 845211160 215885878 329575611 668473615 679789475 978797957 231917745 559483488 135701219 89979142 252708621 125183338 428708988 456072103 29129050 560492811 819270912 575609939 49516212 657381521 210592805 55010600 674233882 612815458 643843025 941917282 801609461 278985330 642794632 90894016 583034731 115746169 897250625 911901117 836295687 791287050 25042793 329196233 722956490 982822208 797318907 123552383 964926393 237607105 208031801 596819675 122173455 566983120 645684999 167337434 624386885 764485911 127557497 88745375 768594615 129725557 280690349 267428352 140236549 563192988 530857452 260270577 630089766 377279053 65252709 772410596 414096185 938548393 318775345 664208150 255017146 571627383 731502367 240303414 970343760 308983451 827952907 486930659 979735128 907479361 92290626 102454406 776116824 147896915 934522672 275063861 514336625 398295378 859887738 222734693 889826155 665378668 876460619 912194586 547362760 560958504 592631691 138535357 214308389 319715418 924453067 635370194 743646618 291494174 421132452 684554706 543670229 395714591 839498154 801765770 596606896 683760583 573890672 441472019 212732396 41712470 57357772 259259996 978847724 994269793 111875762 308674284 140201558 704639688 726444943 949840961 613270850 20461832 283081445 286652256 282485787 995842127 258819779 476540387 282385693 467865723 933883569 997209096 259065632 876623142 376195907 306348779 675736498 498283731 759964695 657604185 281106549 107386325 899009552 956300952 280688020 134918180 186409626 901397550 769231102 46512375 452828433 951755500 35788728 500234139 961521925 113444130 79701905 427511144 21842880 790211425 185960638 140972111 88530247 47072079 156152409 516436145 732662136 154568547 756393036 56693803 74451912 461724580 175438686 446412024 817449679 777322448 628359576 892547467 149192005 913280194 250320754 718880493 637689725 971819644 830655560 954475622 703869526 767346543 795989190 382111092 844869288 576130401 750418471 373680482 18327615 722593522 566382346 422676869 148249224 354735651 369083469 620004483 449084072 141495587 625798482 747790541 92373832 275685780 812620906 600593780 929387531 990387056 993177596 77764074 212830986 579097166 641140568 951557399 767397570 410270685 386883749 366687045 709003980 583216524 444435623 727645037 480254515 643062618 738601930 350396839 730170175 126847960 394445537 50315437 454301774 448966420 990317572 555026913 904041051 380557595 354117968 235586559 140894066 75245308 569318542 102995943 157603946 368746698 47589533 874475268 226812422 428200300 119935824 600450947 764288494 331057384 705044553 957283832 39714263 370480611 673209280 886125721 762689819 568227153 375665793 913931610 649642635 381563909 332874234 543974756 676470952 717102631 999708810 794818206 409619018 277269510 462430412 623135150 135517557 5847271 269387054 563625143 313603557 324256878 28018195 491594137 726516654 651837902 782778644 745625924 490606711 441615092 870087491 198316054 208387346 3896622 612382718 816701581 912786528 957870590 613311227 726711995 574274656 266458485 974022456 465460032 536055222 491969871 72800395 438751738 77693828 937435200 617509786 797041890 863186643 690046626 478788839 312441650 631964548 535054102 543978009 85894868 360397056 455856342 225386080 47214116 116461746 189640283 472301172 320997871 15820982 899518218 44574788 215086029 774377632 376017136 676100588 582305100 65128273 260573139 813618450 127319077 259765439 752938810 174336265 890424850 871875902 267869202 610866180 436155837 506189247 660432802 985803483 666306881 87461132 239384918 420509566 345135871 206960264 939702469 788211503 409153934 725456901 790898192 589833231 230556020 739259381 36867891 406062843 705819422 133939065 847949327 665391849 779181934 594875829 289980977 623975040 25291047 620932486 876009392 395580530 168645359 686527142 356003429 550693226 536946162 848226720 502718621 800282902 447018301 368607793 419695950 402064747 493112282 677718776 749021158 294492877 104506342 226373083 568261235 701992981 815464746 167263883 974296410 316891000 519321168 373945010 993278865 654137076 435210526 191678916 163775631 915171746 941637031 699031147 650313745 621329172 512860352 162430422 229745513 213840392 45899548 712936435 929824748 193691569 767589266 724304112 14264175 72397049 882156411 130911759 283496181 631382546 984164943 277078492 662122875 750225822 202406009 840218744 953783567 14472549 474291501 888678423 596943178 418144223 180023091 631401517 935453757 776653365 302277618 106438043 627202575 952379408 992855691 451576510 536503800 409644586 806495934 515639570 177070238 398325218 471668613 708362389 240069103 63895989 589290664 476389120 145929521 145143261 367779854 692048177 339406274 763418421 520033019 399319332 981800956 798830399 600976052 5198938 926605884 200547771 200734140 758271327 542251717 904067107 4014340 437684648 808887927 451009878 465750417 739024545 361398538 604069327 600079839 677770909 536541980 981100488 388757459 53278547 287950700 942721565 569336705 515960922 252220232 42367539 39530125 992653013 113784468 424718234 453177610 739330747 606168551 883047153 55783782 958091038 877061930 949546352 512656360 916273550 642758973 555146963 600499611 714716769 287729613 68388528 539649873 847259720 154921604 510690860 893942682 890659255 412219024 734762836 595946802 700258290 521081633 15449745 42418326 765151802 746431043 100430650 647438231 174166600 98682289 919779954 653064522 446170774 335132545 127551731 915725729 383850931 746871736 283797194 221108948 591629812 963925844 781240762 97375525 141289611 41466962 459070035 364084686 932302737 274019837 879509159 796170606 18456699 141399473 308047634 398903934 374227234 903429925 971701943 512980423 811007399 109065728 784163166 560894493 490740389 265078102 835609208 760839704 147964154 701010957 755507466 209989074 398331841 519676916 550427590 150464031 211726919 36497393 30569807 898786301 437049182 855242918 318025183 935919326 590601574 267234423 295419690 177192833 575402009 885763347 259113009 586478320 801923583 280724466 621653518 503577690 285012441 412725774 998203675 998579812 637458287 212210491 816479775 507561035 695584237 454107001 356035051 21232341 614445175 458823634 268210010 197628770 471518226 74503917 151051643 363483425 226558584 746894769 18952271 75385235 109410334 490812134 685912267 612274285 982136422 8380710 210366455 413662264 964614294 147899730 494193057 145579678 582996108 110024368 313646579 95434977 893580935 773316351 315406285 721974685 623466021 602349928 785546885 791364858 509652132 776879919 153515454 31527547 304193889 827576951 950704700 704696368 404013976 534367685 778234510 227018941 970943929 262175626 813287606 185678211 387444660 368479497 233291093 932001722 739477280 739524121 708978970 219843385 101572821 242243226 61159998 72146835 769907152 394987611 798054031 948094612 746742431 526410047 793762506 401683598 891612010 99921257 706197770 256163456 895573657 33578194 825814714 213255007 167853577 924891238 750286161 148965446 570867167 827064092 550914977 486653955 365900006 323017995 230583530 643442198 857395059 698795459 13357273 661803305 240237041 568931123 182244420 302256080 198780816 497401732 606620790 341658571 59834223 546248101 75843691 922268261 713010677 186108706 480292650 245078290 352310045 969951079 478525409 211708489 368209824 533192974 835243804 410986860 673198040 577609823 403644304 458655722 233600918 243706067 743738697 611526024 393662937 963875149 609899684 736588492 481274906 776711737 887268886 859794870 507910762 35645239 833707527 573153793 877695479 121866552 251310563 212522817 532052642 402015925 200536285 228880368 330583113 239429734 923871471 205644219 548770762 777306057 304248882 183395995 398375158 899498368 261459424 516404324 266764925 806137164 455411546 54720720 937630970 458440528 697321088 120815059 213980167 606281115 306418792 217553678 438888002 193063384 589206982 793903326 375219744 895268426 189977898 352228911 341545681 341626227 372953802 370045784 433118611 340521289 649120335 549654954 24366422 156075540 106551293 216056781 827405103 205085913 404781700 559968090 836104636 978948149 839142015 388691690 773941871 98987594 74167888 721486677 526605820 478707191 203331141 687514209 701438640 382293945 557086123 250054050 864762585 232347964 819247669 791667341 8043928 603511864 26057643 37959279 321987632 297141078 106468596 14300218 853749436 176729968 195526261 841319593 865151318 603950956 251088764 842239018 186716242 414692852 63034722 346685875 710135247 646025348 239453991 174271874 163998713 669016105 371403440 49587628 305406623 238355715 706689543 637349874 363510907 443090601 464298946 830541487 960605295 955418564 944750213 707870635 624580913 69794668 994719877 173372878 383460815 649953941 391040844 730999533 470723662 891331930 452149265 261105962 967368985 844384684 445710495 976412689 171407508 108666907 171275886 101760862 535854855 720698013 621950255 184556450 697217623 28715508 487817657 995547270 799065357 504891444 316144261 935382364 39063688 793588998 691632523 889594054 723303757 231326378 169940605 176542531 612953071 34784337 318120939 10492199 667896610 466085426 693358034 800742046 176960014 71614234 265367290 27732438 718219586 609046824 690993563 659131506 134530686 210691140 990156038 751053621 213386826 822819098 800119668 332598813 605472772 409425322 696595389 384387371 658301418 260896550 643601191 225589834 686325072 904051923 921665132 243233508 955279031 117382924 402129006 570673068 581027200 329974212 476059381 808839591 260639849 999800601 89284964 714068266 984684884 987070903 494989073 680931071 689659284 161316316 356911415 735176038 145095618 192040098 205313187 120934396 222698042 991269579 75900196 883604130 977981686 20136850 614071560 266412032 464356450 130804097 935442584 767952317 582160096 251515098 82826279 433489065 788547244 539033275 6791849 149446091 52649390 166138486 55723545 255910983 955651804 538638030 713936765 847189520 556090461 546084957 651837361 643443515 506935315 772032347 390045249 130422944 206301483 452376556 438809610 268980700 440116845 840512487 375451909 760016598 225017975 725520641 434585279 203184832 856561729 880782503 808126882 217920953 171231142 195828213 173023661 395319276 73545697 159476665 616291895 374699928 94253126 488599661 604062469 356992980 957855400 726372991 750753439 711434289 273690883 539872919 703166024 957084595 138807805 754690458 881716269 373292006 585333020 144775275 348166900 444421146 693418067 16291601 45367776 41747382 60555630 372793982 305859379 642822488 386908754 284337317 47074226 94657458 944667421 333155219 689892137 787821476 970574050 2722372 179498871 324213153 610030199 460594038 961091872 393572157 746577500 181735927 33227753 91787626 826601337 719964024 470224142 785876141 479235827 241903118 806258826 912047256 585288346 222031817 678800007 724273767 892624748 687279165 904609250 51230295 13399340 929400424 985290521 548424743 100246480 879703049 962964498 475333651 230219007 187114950 656029437 980249403 744388219 395408068 988443719 165908042 497961567 860935173 812316964 167274564 800206903 152819206 284130174 536073601 310720678 861870942 825370524 784877673 601608469 857520863 827153888 69190381 828711441 622672559 356926557 294390934 17218842 325453224 696737198 537158277 807983332 451536697 497414168 870305866 505947459 137398549 349721325 649759289 619994587 181877139 113550855 699895625 404377112 377300781 166626425 846391177 608124833 981649936 145430315 594778048 892018548 248816998 412038198 828297411 48247245 917518047 471482464 699702916 76820034 27147702 783287931 690775092 345547766 913107326 582987766 867832155 394461717 463495441 33289662 98193397 497788122 322976207 670748780 550346434 379156604 374456511 250577182 723199760 865242031 821172341 446423580 324882562 180322152 356077208 847874734 728152027 689189942 436992085 834154256 141217319 803711961 340214232 249834011 158294364 389033239 813167825 817572003 982601656 871848186 989220841 33589385 420428030 238355479 578113483 28171813 864983563 665661923 93842774 952797484 351947762 579471052 619499223 741437730 5444988 282993850 999275243 597795985 449846050 416608363 344528865 894600540 962959928 704888805 879137356 712700646 436432715 898489346 158238157 632679693 254086146 178759507 192625599 342915198 680131316 781785967 273342849 535198647 508143400 5257181 727399089 902731821 460036972 681486651 644328557 889825950 746169935 111745731 357489797 421503814 861220678 983790676 998585511 771434667 72916603 995471753 342712512 471965185 211413938 937290001 217563082 108327088 118229848 318804407 862179321 344178197 426834453 232763220 566639623 2403436 545405041 445467914 968089419 692292273 215086478 558581706 261295680 995501656 505820988 60062153 161387174 262369963 262398766 69002102 732721953 294385699 638425912 832478647 105498803 669574498 73992153 729341032 255212291 997997592 264348737 299841392 675265438 93591062 185277856 990730730 934031727 158144370 455407487 180201131 330836662 275950886 635077343 998687953 528727899 756614007 47378323 504841527 248569598 609042405 745476053 79255572 728791762 758018649 632125695 507467961 536957790 855133598 332532581 182364574 123105524 186086829 216665408 143173011 660947832 582881446 831257713 108600342 727728666 128033109 118075830 950735833 848904079 389388734 854667841 189041378 629129926 600614165 579465847 34685111 606568063 489812919 2746578 389607278 321227217 570227020 476674697 419497684 829880931 387797854 299949420 725887388 597778495 185066645 769554880 637220923 867702657 237737437 938130228 839259042 899716127 750713552 327819943 178615777 779455906 354844783 664821256 764265840 500983193 446447168 328292082 862730454 867269535 179031186 560181487 511131904 353442810 951759025 207053762 172882313 442158860 20633220 458319747 36064663 113285073 886252064 834226847 592711669 557221525 882411052 864892118 974057269 850175287 506062938 131674299 307621036 68392080 182620520 851009470 683817559 56818325 447530463 567470174 170429293 925991250 968740825 706833800 253606917 241858001 358918327 781423748 978534346 539001963 876540423 517937839 704072668 273893767 59907394 37332491 590311543 411828243 5223065 1936816 76821176 882500636 968322919 70399789 458846160 63628374 597676053 186264045 179685856 556254529 225259837 398467403 133698383 223785031 675031028 133294737 197301053 461360831 78975838 971262688 99977520 392730185 440320451 204824541 882321051 802087523 472765547 896977867 139226874 614825554 181151768 937218174 23658484 602613715 606232551 522436275 704336571 523986616 326203653 902415243 200760594 544105177 639220980 702512500 857662287 266221996 994299336 296212192 37437937 913785716 884227575 985905543 518116076 27320673 534633981 457430143 684028077 775697977 868015202 852493805 823817950 120726011 266646874 947884252 597607492 180710856 291746549 257654563 328417186 354809895 740473960 385931751 954207269 211765114 270391282 125799575 861257089 898979714 30691662 681121642 8828558 365208379 577970303 518153729 541769501 622555520 114203545 723266604 863759501 621938808 825138467 217892651 17460850 984621740 236276480 801399983 403141522 222813904 860535757 4957203 91932242 690159302 728489366 886041393 177136384 722017641 57943751 678210678 310690450 640381087 340829207 341387405 647908202 439609060 871591276 528316554 812791088 176515332 673395347 612909909 623773676 166012524 91661436 276326414 786843575 411464190 412242969 931164182 712885476 181389115 366432358 83731007 230363810 206092125 781325733 586470160 565950665 629286936 78578028 139593276 812008909 510339017 976898925 584430585 25122026 539791821 708194011 289230220 171292590 554148077 640385 695435431 836070348 193894767 602913735 472489584 687466345 665612432 17713517 801589019 328241887 355560090 992783515 590031505 134254802 469173738 984991239 948741489 109358841 5238381 154126880 510276315 295266880 447198611 502564345 655034471 277803820 888000973 944991399 941511747 559628338 734070548 702629655 425732297 758978103 146200221 627513668 446233954 505547132 154199464 186682462 253577151 569469135 452244427 609380462 536392130 743393279 655537345 636743930 90552574 889128215 844706674 779711301 649836085 796949586 759259107 859858406 134575945 723415451 365949988 250978258 320990399 424633724 824913475 771241332 428186656 358940157 317007385 72571679 410917935 523107577 619546606 129917276 707891809 877020686 122308093 858105567 961611551 420168772 212344544 15272686 989404790 818233495 523288492 451183142 766221693 40224935 29904830 650857490 477986741 180983590 843066980 421291084 619705150 402989752 307501885 547565095 718334513 392318059 814981737 945381859 115472968 128519372 66575485 236268079 157718089 934667983 960016389 348803550 964365452 877460166 556699508 416786170 258268081 122853389 781648046 294307705 905560104 562467603 233108338 114596731 60469543 403241844 868283322 791643015 215786381 16066393 91780815 45134907 487074812 557210397 241499917 110241916 874422044 663274546 522168452 894885497 848337447 330419045 606524947 435612640 996096193 631852210 803975974 139448696 308382136 11483495 356926926 601586226 881863944 197905982 422130850 416988122 187000861 265631854 315251116 234460601 961711600 466230352 991211640 923225362 860047199 230386811 323261227 822663211 436764039 408447776 398879523 420540125 977540780 543117051 16636295 306126751 978170613 589817560 75206978 365734012 761954647 66892634 81382569 232868509 748029818 244882327 350259808 633705192 782553472 527017355 734002354 24229890 542288943 981741248 588695183 595667712 390375503 714929578 538392324 772569809 399905101 482639675 633176742 544640997 94760064 721130653 720087502 93289410 239580935 299138078 812217568 331448225 738250176 850603716 907270545 293657426 37085669 7394501 615077218 716333309 678857463 760105900 717545674 811939977 809776392 146032459 390932378 10630092 210873240 401602079 61599172 48827450 374937312 921364704 284219808 744993053 86812729 718944019 554536523 103474320 214252071 799555089 791983838 243969465 545098937 966157062 139777433 387519533 680997086 556258843 738887652 152213181 221294213 576988638 300527249 386983288 143724371 442638979 254650379 766821203 679660045 525552481 816267331 614290408 77436339 634033447 556513674 562262899 565908812 279152431 104791125 896013296 895953695 228872205 906569902 873028085 890034236 879036501 290367892 135093199 660581367 338352579 237866918 298174765 426012736 996146327 263307456 542902331 917364470 532141842 275289446 944848506 873591609 236715549 547698874 430363126 155455955 434416970 357533338 246507360 746942792 840805648 673727614 175705236 989253648 274778035 720193165 197308050 287265214 691693018 259000065 534293282 732220465 344875430 768033588 404827660 295278076 644167933 247583249 68969352 355741834 458769887 974751798 98144019 785226978 71318400 764847648 227069938 454954340 178771615 309504778 498308319 166453129 980741902 212621212 419497530 732007296 906120272 710445401 802703815 371301918 106359049 712992071 318916908 712904776 478975680 35737611 993737365 241859782 719342857 62523361 839096937 257727108 6242322 396014738 128882348 928732369 928188456 881272154 289409461 471545146 250117103 842515639 387672169 870348741 252605154 660919190 729119532 145417616 190731600 763569030 112010060 939023858 751625703 109683173 935114205 899647633 884934849 97281257 890435274 230393932 275585752 800907871 35372065 638528128 118260254 929298000 906516605 856042988 636898492 684574650 780776110 334766388 377440632 112286276 92027859 81337548 797488380 587636890 481150019 323685760 322929968 850777360 504999828 807287349 2832707 116636527 715988181 660919899 618475199 784344620 578522871 678450515 332109279 422046029 189224929 977755440 836194220 473709742 889863647 261864395 150171154 481082619 574044271 630311788 473341633 983481788 78472164 323969713 891627273 868152 904151683 368454728 41608194 813991977 940228211 359450557 631836325 38534602 102083851 354620107 553099989 633570259 811773058 614903715 814641427 758792007 273632601 839730224 619758046 445426427 294367296 884557667 991563957 605608661 988386536 334550465 903950041 658097910 535695326 135094051 810231134 44652461 885868923 779336446 916077745 990363794 8599379 605321077 855392607 899083156 256366784 428111598 566510567 353094275 35377819 569877897 773648962 531126434 937362113 771451115 561926562 374833153 420744579 427919642 897502895 402535234 846164955 411051106 856976262 273950880 468851582 258112020 312880128 784648366 620733628 974415333 33135193 469198673 364834996 243592267 124454898 331739136 734726013 328034287 358624497 569896967 32604269 538307391 563024146 165544980 453423315 356958538 245647526 720217554 245339173 105456278 975901910 365497931 347111528 574500313 70838744 333528914 327027888 637058560 813206012 368550655 473587490 718642161 88529634 971372684 586348139 395002671 50926114 244053832 647851087 499441119 629479983 957489600 901078961 68203883 300428289 741555642 143572048 871707252 993661595 152661386 367844003 628548770 980593165 391722623 143532535 974279204 757922437 68761642 587206195 713711780 534144765 667715037 729968532 682253052 9440730 405453634 698732017 753036136 445344904 750098760 838746160 134589212 742156389 751280261 585809017 758926687 200485417 143784433 65739198 357382169 967250912 806776794 760719101 2633951 955738895 286847984 60139262 470072672 859383142 142063296 630616822 381018302 847885152 678706792 855280960 263544187 983674093 72928825 521050706 249158788 773424310 155917518 350390434 906235668 416295435 867302505 63966360 527150651 126494745 497812326 74659690 849601068 869418801 741932352 565703382 339188746 516799456 409872230 710894340 135179756 414164856 257346943 393825346 157010454 145159669 978022877 687430442 909194633 977296158 811636879 529516579 617743135 222384365 361995238 365718501 230156730 884178395 255355414 71312069 275279439 6255154 716660337 752848627 464705817 38041669 852188260 943027800 139664102 982192627 320146296 752316628 877286467 870361521 164719248 167444560 884779842 105384311 92268152 959201257 594926694 50618762 106247363 651909665 67702322 623391221 988503643 299141975 88068956 50346704 266492383 635063673 217602923 48354189 683227683 819006432 77808701 252488550 74297828 707890666 126436111 374641553 863204771 934801035 198262812 460766372 835637149 298861788 991512740 819639705 982884451 902948805 27760332 803442221 858159484 932294219 543209703 453857540 820058037 752117345 733902519 773390612 871280317 72665121 913783234 903757673 782686983 281590926 84430679 242897111 395105268 855212870 862070178 683095811 173517869 748746086 738497751 336473743 640518504 773106118 651623271 444934617 884933667 362676804 170915004 930791304 916140342 463587890 970228838 404846528 924345665 372443772 622412696 517592494 432655183 234569686 868933160 559604450 604409380 25187089 253848836 549330025 911133177 689277074 555582430 492053360 96381620 876598383 972520572 558798699 607885346 333658436 88216066 412399743 429627903 908801418 496273109 385607775 357192758 454348804 449699333 84403827 231644976 226781476 806069525 809899509 640535222 205722116 748715075 773485904 379877031 257872520 461654790 729109153 197984220 735541985 490752570 462329277 616093050 727284417 669759706 979626478 306061794 289590989 953315989 730617701 908133187 198739524 670388230 211396844 740598794 903879042 419892244 962844831 168777522 197069264 682170680 42522444 720162570 502282474 165710534 739273451 496967012 168694128 206203026 701319530 782488397 187943927 380216137 587925430 326349781 497695192 411497750 332654450 409570962 757907920 452409875 911841706 739612630 294284764 715420792 226085478 209944219 660634301 242736447 173292129 601356482 456638807 237398409 197957980 381709854 713200523 624224331 787321632 148005280 561022613 133141317 496294161 382471165 52866559 101643627 464929552 169176672 58819433 183490671 566235432 579542669 683482125 701103725 426171861 586059232 736973762 896750528 812840890 551622476 404759832 922410339 20267646 698360165 236160038 957341820 851868633 24495243 780968053 926512628 230037968 688572813 446245379 313133876 451991460 789999974 243657718 450442882 20915400 945324948 387512029 480045266 430600550 99823173 212440004 472652216 601284876 594180478 792165788 269229787 7825460 286288834 194077050 896407502 785443008 10959393 135112115 757398273 186384946 577389710 934450320 516698329 362211672 756750004 262506868 64241828 711212080 118767143 667001859 469357338 14077721 944326633 42959391 573705105 61213917 481406176 824939969 946045496 41409018 642169026 92207399 258100891 870390504 99226704 691744282 923824752 470967325 894625292 10050466 619573412 805275187 762722059 550356765 572927445 84328522 525458150 243800343 355901747 720348454 215029313 258171963 77993156 516666200 143194704 391378268 596700556 106873839 617715125 221113380 125708780 573834603 282410713 483210680 182905085 879373203 897537049 943013521 835548638 223958439 901720035 538773518 41653287 91959656 394123744 665407386 304640842 151204442 602700130 486778939 755282306 112297436 246353792 791634688 562461958 679677067 297681693 146386868 59699144 142046374 810289641 713787967 932519288 810579188 742532242 796260753 183724201 763897882 847330818 359531725 361525214 377459909 762941654 445748596 955083413 378175144 977376643 262550108 889504626 417494963 250595669 198639468 746251354 21611361 728242358 449885198 758938368 808881549 439340130 179679516 159975016 184702786 470677215 78413104 404980333 495817687 734507300 387135496 896055424 423607212 399558533 676075169 627611859 299922428 660840131 830393659 630953870 831677134 326137978 809459149 805964499 907794558 66783167 557148593 317107081 291348606 898230699 992116836 763730270 650827270 82243249 135475959 835766916 656779526 285548459 740270182 730302263 619982138 424949101 894147842 178006898 562584012 444006604 495908023 926243501 123426599 646133754 578669402 508155189 730622123 973466901 315671402 296358383 977779061 670616375 591635075 158960578 573780960 979420861 393834818 450628720 392338913 882400042 262376019 971033715 403737243 659708741 199457643 832411493 953403973 926358295 256483526 332633429 904212957 868128225 633468888 445996243 853667474 747703625 580584836 888363359 888333667 362378835 776474045 24797755 559821026 899994635 458815364 752791348 580170948 56753006 319246019 210908661 314960301 294507004 65467441 211806327 544647288 384123399 179611143 67504273 606069754 210030944 884621052 159658597 143007284 533389375 327495937 886707802 828654850 605631851 533666534 523653759 596399501 992437285 518529717 887018288 768420744 571892023 706288152 270222072 608116941 694556093 867592605 337274562 646181884 809598108 648357083 184191089 346682405 112082641 358936169 558119151 42876479 822301352 434132940 272672 913024778 294009470 568587864 480933059 661870049 695027788 74778537 927071949 247597290 422318955 476037166 955271427 138031043 57894523 526275648 414128095 528670085 519641423 596267589 876703361 613033867 51683010 827820277 361230424 821831191 463059968 664698819 235050379 711962163 911392116 881526266 40607509 141458260 723674032 891067912 817992217 370615591 140102742 437744853 526601019 63650614 542332025 950735255 266381074 987164627 111389256 912599650 946233435 325568440 769556069 737919912 903592880 687768984 846988496 939302983 631593599 206039857 673594426 254812668 671015906 326621549 273489979 103323332 367941542 660839570 550266740 370230726 381499135 120025859 962761882 318756911 61298470 460791774 204586257 894778319 223592718 402902176 33153661 654811860 693513835 526271381 672633079 858033692 149298063 629188671 264434612 334771377 7618080 230021050 506295791 190027686 934518855 933781430 962073947 110526866 473549371 287174679 698884389 254570417 729347881 93045789 816572006 145170858 190141412 68635051 120041103 483261540 697598484 347868522 358713537 680980183 100715554 144302067 878446520 921607498 246278511 536330864 920422729 724266464 464779479 845015883 929665321 269314582 679527255 284598863 685069599 695175184 121353653 696391912 579990688 991226812 320149658 522596330 821233216 110890712 157208268 285352406 859294038 596082592 184206300 138644660 122525700 311726552 419894764 614032357 441574981 596942875 855055856 753762184 200360657 504332781 723536295 301768323 769525767 438759812 841230305 333673265 201670076 830625068 260975070 170426559 427367738 828035255 860103740 88808453 647010729 108060944 219199725 963020730 415449212 107840546 200085890 547630425 146457365 424340306 71080822 593601088 301997794 944282211 500390380 273761899 712921634 907223054 349186747 235539174 22529158 262122349 978429293 191224116 628917301 653338244 848109495 298733896 259796720 388229064 913761959 932306529 735002448 458681009 566690519 620428367 271195000 995109610 439226813 380662262 644089499 72140294 98477997 868997501 760698422 383296337 655378558 195768391 95074037 483389111 280521582 61147397 107715009 735373548 577194978 836527189 104105698 745934614 201562579 626021535 822390787 886760770 928719903 578958094 67521379 66066868 556658466 66716818 546719333 33331831 501787024 376654061 641729268 781134719 978805519 610319686 840964435 3776274 31967391 240248656 111466502 851405727 176966881 175064714 775346002 564581241 552780064 426617585 388855745 984389341 892308761 911095981 197156961 704452456 895459648 509281951 170923729 47022592 456916863 202576296 423095110 303174337 3590017 106828961 607427105 813109499 487400694 169320850 723841977 288110297 928875435 5098965 597820569 832741610 615919094 610557624 836875660 374572410 945920223 457638363 448992559 371717829 301968959 762115266 313850417 71857332 600253738 698889332 513260228 570422211 336992125 971596916 934602609 109836344 685403924 111282247 592078450 687969268 759277705 150927168 353591930 414696148 146050486 388096005 739531700 744857872 577399349 23853396 830957405 116160693 91019659 915409503 369910893 425764428 971965772 39623167 726936613 424932886 559670308 51682691 532831657 522674053 668930389 145088198 481738522 836497295 817826806 771852100 209207519 100476410 412998416 548106816 304870809 825638704 749033653 235841322 861449045 119818306 250452441 432367694 668832791 771848412 348697007 258818268 483471240 539387023 471722123 931120829 162704097 70337002 453540976 530948129 278279658 2580067 975988546 62865257 466777470 261537766 260244066 773201875 29204350 604849213 792254094 369995285 817639667 192623171 799530797 578053204 883547004 768701230 956280490 836113309 155524898 437246391 461944908 183529951 904984405 392795490 713610599 905387574 633594725 639715043 209342123 209838794 337934025 107426863 548010659 931258481 306887119 636356306 629613591 901440278 6430089 422490374 334797185 115686726 633007606 400830406 422937871 549196714 984245184 773498340 994853392 933873335 450551502 278234939 782356554 997447551 307619474 168664269 213426459 402649686 239529425 669674266 54541062 69414631 616331470 921044833 777293328 841535940 749354929 537755076 258274036 386673701 671548238 233476674 177660025 889044818 470771474 258430566 605198992 497932432 512087779 234414898 434530377 740581222 483441612 803526000 282682335 314236602 255855181 407520192 836829292 245579474 556789896 452610994 49909439 369261678 48595631 232615606 60553386 794676004 353519510 572325066 456513851 531356688 330893172 766454576 424306758 838750374 585204935 353594655 278423546 884701355 26765524 312787902 654236620 221646003 282638177 936959125 306220948 8515466 254908571 63088684 385088617 22275329 691454684 755875900 972399011 897166194 169439043 205309283 426281268 786270037 467330526 947053195 939601429 161907872 533928184 611916294 683502542 157196412 503246554 304226423 300642170 634760869 310720645 142479687 444055139 585005491 802927815 298407891 429330340 930414315 813161822 19800334 516174788 234360197 629592413 559291480 57929876 890878428 880615823 926266328 740305682 712548252 453987941 822942016 384846035 174248770 939998300 73604861 899178338 768746105 342688220 849089655 136468191 154449130 298353781 856632074 329600476 456760998 186619836 575781538 954147366 349138708 975994498 700706140 163964526 93895383 712036328 534076533 741137521 828576089 762962807 304732245 807468356 496570719 241159274 364063950 139536392 400067236 841953632 555806310 675708607 513375290 434512064 138968938 531372968 215211893 573496264 878858318 405851554 713354024 742891718 223257235 915014873 594770214 367806128 28174294 614783942 234498399 693128878 10242259 711352932 769827266 567651172 58800778 346816821 352437218 8028161 663566818 87565952 624247210 23763244 927777192 492524052 373728199 715047085 972490726 324073469 14465903 440858733 201899428 94235385 633087565 588698911 375560749 480454520 590795689 128179640 65577530 756582818 534648357 786308110 995209135 154171223 152348453 263643614 591588723 968470472 76692360 4479634 623083102 288910843 38436005 830725758 947925223 367133270 459851834 412917173 707731769 231494560 48590793 173867440 608716827 301321720 267528684 185864683 270425079 479886805 153802799 929607081 240130878 576537991 850648686 695055930 656759338 151143638 309607523 76309692 544351662 952142475 522126524 251553622 430371976 786113755 667726627 433980353 308843278 185905810 684484384 7727154 611623510 50436911 239302083 21071880 479059167 311391197 399381813 905095656 671676102 585397114 894508011 205683768 198055170 760327711 105782024 473791288 570621004 682907745 980577613 874589758 947347465 573701622 402767033 233310901 428515080 443940536 572959781 741664458 897474914 369316541 831227146 741109043 208736271 567227976 186730179 892334458 428152271 455787825 888371209 126391513 174823932 553811278 703188204 561074310 123138308 944418502 202396308 621495247 699708891 805636038 294002165 400896804 777794341 193708641 526964282 900329865 281365263 842677829 108649640 495456275 182119151 294000165 841677621 830055733 721727779 214993748 458825756 351613500 513191074 306182467 749546271 946731892 547414774 347529425 583891543 966917458 227482827 159574876 374311065 409649662 200742639 62680502 469009382 792882723 991723546 440976819 66407497 99363912 946298587 842476837 407527698 742895936 852133199 439509528 950328117 797999490 405864254 196521103 393055307 745372241 613597226 825106194 348142816 563917439 162495199 253090574 270363499 378933497 74624070 576381642 889176819 252484410 592550571 273306155 874196761 556422155 250109403 628527361 537371266 130637864 598879111 838785308 926268968 597921007 747439694 959146304 924055430 830780272 511726611 107976097 420099086 138871368 695873507 331202216 454354015 94316837 939432090 703398167 224743289 261308041 248536241 636965403 956054524 286585260 557386757 799588611 354945601 519225136 763026850 976828973 680986852 669993005 699205676 702022975 480863842 281771989 981905312 679012363 508330780 687864286 199287105 322791651 871690370 316598820 495468889 863906406 234073285 784534576 432226731 93775832 386551673 990310809 602047730 447462116 258084345 383990027 416847695 770756365 114172157 370527651 264543729 685789540 145981325 426743090 261933606 114020306 993889595 186259595 331599429 574553907 678019994 662493534 183858396 153982565 681396486 16939189 187363515 691233556 298676267 179933699 997207693 399773534 204585676 974944652 20684811 223810380 582876616 993875002 742994889 603281243 579224781 554524050 741473153 475052295 713939841 13326774 223878873 90206001 228418139 628361192 96588824 739437884 431101205 866303567 112248139 722163689 94520195 905319837 156727913 437951218 918116520 155498860 253111107 307818166 443205561 320020653 685423192 984233829 972958245 941982059 440205314 353647306 168765840 553576054 927489404 430777802 983557580 609372705 993402179 83657201 167808587 167921212 961611844 18819835 797273571 51544593 321836272 6120183 23474961 475487732 733718858 243400820 262518366 689448936 757276716 109970707 958683033 745800638 450068773 456679381 591094387 30555146 310029383 680837122 627015068 630489781 640586423 241309380 969587089 828808077 957783846 108740765 362205489 664396500 133900241 748100313 162703198 310773545 302997024 878620118 605719510 487397250 617898606 844233817 472371512 194365135 96100562 77366975 131116120 370547702 380980032 944384499 227358077 87495813 264749461 800859413 879561584 230442499 524030371 222967223 913219135 972619447 522998958 210095900 362369108 714008193 587763956 634757237 448531766 668813270 173944977 173878288 289274952 290445291 521553755 958419079 230762498 226968551 123899756 466059568 228236634 109633322 77048638 594120482 193508223 678117245 454225906 284832363 938768599 590429567 256198789 886301463 334054016 46152334 345672390 42797103 514903824 207584188 183096096 188277810 107310950 587814081 186255475 59558723 766348916 517942777 341274223 414026582 692820806 990496117 985141437 8657162 414968037 906898174 185630528 447493444 158104784 242594377 777713996 192407906 391861237 778171198 969402478 524977551 421214639 738474543 797537484 712722906 168632371 336043869 756723146 537413424 396348259 855666945 322499233 478477092 933633556 515580493 433018394 483060749 609230936 282659673 88941199 49969762 566115126 397621001 985612313 714135796 418498675 172069696 823961654 377210614 673199140 970232684 590814678 496092661 847773356 941678886 114570808 222336781 149119932 942274825 693488356 738412384 266686388 923997898 960184825 598156693 943026742 355132334 369358478 978851262 936078817 992974512 76329795 974426977 696807042 682558732 566797628 709249984 677573796 984851487 915162135 187175138 685769709 394864220 39028224 473561561 600073029 628134385 37058716 384436822 946723202 466046601 292696088 224629936 185887394 528349098 30890550 328279798 591212674 997050087 376964717 249750380 967678042 631396471 951170985 115821874 62924178 74933769 326961534 451725598 716972745 651306347 109597592 228145546 256910881 769967322 834885494 618100490 648256013 352541743 404997993 471818395 847758033 285386134 996070078 994395943 852777368 533562422 859466633 293150919 759976832 414890931 361782222 564352307 337893172 327709183 177476116 475295497 906130442 842355854 554645148 479909763 722445902 607903332 708902555 640756129 507668940 438726973 48418979 209509872 762774673 875446650 408825337 198304811 294518801 720571663 559517594 530485711 326582414 687752107 636060287 628411839 362098086 338538286 357050420 554592142 358096889 623435648 268711373 818780872 628186979 974911214 624613556 988102126 882361423 174164277 96273882 806966749 10032996 87595678 510272287 442801089 230954594 83354401 959047520 922647162 568798117 638484918 604479900 104849401 544577014 362981318 252481093 767026297 585462376 674040257 964738167 95426821 787622045 847949725 158270495 881640553 197519745 7303985 283451294 236368856 135570891 633879224 194473602 618063504 821498673 721083812 820099654 729649381 19291258 482596293 436171020 915384907 119716880 498655244 390642251 24141473 239458977 64068900 326806021 176705221 150194369 336881445 435715619 766859113 495549556 170912582 427870137 778084269 476727126 211855460 122033861 790437640 172232147 191792000 676151578 141654478 833111700 198299515 790471017 905285768 198215009 998523762 378277810 330081866 843303956 105338707 836963585 484564324 391092832 440303797 665858360 147278846 895898980 799576447 614001267 494769941 650696963 478891685 318639430 524307439 588812159 337954858 328093926 887597657 971684518 20501291 69211274 690828245 579437948 390936225 16006668 429383850 613716377 184487776 144695801 811144888 316492877 573703660 286559609 401064667 514457046 354819747 966601015 201331608 549774533 736774905 283496396 929710770 444430964 426564701 644041028 528142625 374548017 770823603 12941969 995432860 192732098 414263319 892009349 360128205 507798072 261057650 374848979 728931109 55829777 616369301 700250492 125904701 196464722 808940044 147714152 886792382 429459804 380578778 55285519 620317037 815627623 18715791 366138813 983488184 635448335 802022390 349396850 438985025 494162316 413067093 184858178 364487853 976598518 703566247 396048372 613146879 422493628 778278357 660307367 110675329 763157240 12870529 984304100 383501154 569071990 35650836 969024465 370040903 550885117 860496983 662600292 126434982 697304846 113619202 945330021 650410399 519900698 325407999 199243505 654202731 573551143 965384460 437423331 114487385 383662047 434827568 795313939 678052617 168873772 389656173 377446087 761128830 886961992 756213448 829509507 875086590 262588017 357530279 664272029 316516650 672224733 908862852 864167230 329311376 376707297 554472738 704610959 323407893 479072405 780902277 610330298 955732920 199686675 7843641 321319772 93225656 225342993 826954721 885918283 773548286 537671303 392988959 309782696 356103351 37681911 946643955 771209734 972211474 135057806 611481964 134080917 562441947 358614707 405014749 762137919 843482474 750218686 318578676 560436006 597032349 195627323 318444947 752130842 726185070 775531809 930483490 809360239 44607226 172191595 950557975 263312496 286611781 400044488 187454785 489471529 35643056 891092934 848763150 215622763 907012463 664257353 855610489 67010555 460478343 387606356 912522824 564880200 782604465 593238567 546945333 594304039 140630330 466715975 990623544 214071033 549636644 667778602 569589362 500058406 730724013 520321574 750095825 790851866 512141362 954960021 707781729 213339129 384326088 900837482 893095476 279221979 936506919 630618080 655580483 386136472 893013423 62126928 135791439 734240797 306481845 666169895 193199403 998739994 718974130 607672213 172192177 507007220 259929812 233862753 856622245 250502312 557352135 984545592 569359430 524099412 924349839 825677651 69239548 10365099 131892294 766634781 802006529 874955842 928600712 339553996 377118865 824307178 108835332 828107614 888393908 40481914 902460419 755615535 515009457 273664048 627294743 326321709 792186732 307747244 390774346 768333896 294005636 822552648 621611366 577646943 740306482 861667099 118788479 801163834 537568574 665879069 655438833 358302256 870293332 314364817 813920897 80894777 21282938 429151473 784295064 271190117 776295741 259024312 383318542 714611881 222762961 155562689 647545584 585176260 70978651 949811197 705307220 623756238 464845283 287576368 992562689 665888505 67016400 789746217 294212510 714379687 766186135 427353306 428271488 606293578 531611290 952335923 409116130 230978778 231590704 310055974 77451801 848222458 183036679 98890169 86687969 642408380 18693157 72112766 162177319 837860650 593933238 859898496 816213157 809205488 552211795 211092924 594019314 811649605 588444208 950243987 24998781 897197365 713394542 144638910 185728689 945783326 839802498 305910018 937867056 110916046 601780635 578105212 181340808 396427978 527790995 758465670 531104712 426890803 944102729 123835356 132683123 989636759 992838582 74324848 797400891 602352814 151931913 57833270 541666308 594229416 745936157 80852994 737044698 644426055 383105288 681907841 403445265 262923837 388551981 442346901 294451082 846372869 628270941 522407052 62280732 552064635 749224853 445003336 640696161 854244299 687150469 81542835 824744471 147293015 387374969 559498549 884642066 853870300 600688500 39436568 895039242 647141643 586698019 70597578 222069153 838486560 960444444 836043751 923865660 560081264 47524923 332208263 731073960 969334274 728041797 54328704 712927547 226331208 720520527 604361035 852776307 384880876 840560298 650350701 266835379 378545407 167897895 650390213 708002149 443434884 184559414 697627226 209272350 721618357 648059016 679357315 93512344 427811846 931346957 36131874 160375520 639503183 343993835 203859401 996939035 702893250 910400487 163795375 817232099 675711370 347473441 14433867 786895977 292461271 429205654 522809115 619516620 426023656 962258488 365317082 667128856 894130495 76605877 599499272 819752781 25110489 943807855 121995848 559244347 845681640 441559091 979378986 145703973 681763935 802045341 784615268 589889837 181808993 872024711 727226481 976495177 39144643 139419051 998280442 134269933 300794809 637753599 868975451 267736176 104690862 615829413 676579802 521758658 626255940 527557467 819069315 852946423 216673408 172665962 830614293 790762908 659485779 56557463 372889256 355579451 88496974 3747067 417612592 582019814 684485857 387004644 589119905 363513187 12029671 718523518 488721970 255547255 945742279 189955134 702399878 525017344 829311047 470118648 647987142 304531574 312305823 277190422 727517502 931826388 308291412 164487092 993370596 227042769 832899671 171091419 140529601 883339014 592767387 694249883 810304278 113121769 880175185 486092246 136606095 731663892 584374194 619382065 732935330 18690090 293948766 799121285 469273041 151200448 419960615 461933620 42372259 133344941 770160339 115627625 193394553 452156497 369420949 404399350 530048646 333199199 478406282 227107849 933985612 313060199 246320528 975420614 483245743 286881689 488255251 67012452 183141315 126623095 208501630 506728637 717234036 977978202 598520535 605545443 876060242 381986160 347647100 386355046 543483905 842527925 961172529 499876024 830584386 708333977 745375532 609657023 849016399 678536781 536275370 157726373 544175232 492927028 225616830 379789307 897623987 529586648 592565303 223925681 428166507 699285042 326792941 346846738 756539772 629393344 372244121 952413856 821418936 934178170 635830628 20613779 462677283 638970506 330548849 488551926 504300311 488303929 442407250 191303111 27582773 920867182 720381286 34877673 504761116 524007723 54196595 277331389 506583459 128371792 18641326 622155546 338300369 54398203 413784953 860394737 501975040 814655356 567272915 824898835 808043074 434859824 134574618 502549571 816548041 492222872 546197896 260898871 536109992 241974697 872225942 908091487 261563354 719162435 946392365 704401721 771621226 856286562 742048631 961342863 89027501 202917766 658056745 258770688 961429069 485422452 915594405 378861136 629057770 640733279 789749753 679969994 540480091 131636224 448432894 123381351 968820078 320453674 966072610 377854174 895326423 112351814 367757019 37880605 524095151 391822041 771897676 640998843 677464956 978631470 918525867 151794836 251806577 270499644 958669134 941705968 521186181 941493696 652912224 917574772 728908298 16730649 291122402 30208787 63977866 500005565 992164051 815770771 990969440 446156311 745826753 487426808 73826332 168311246 170544035 942440655 269121753 402612010 206603123 582150050 424532027 374494701 855380975 73727023 409788373 849946763 596833987 621047076 921343338 855304839 499791576 961087194 899531077 407803677 820384358 306273710 668666537 168269747 763903158 606361523 252637469 44519523 756744187 211126635 528225566 849179875 185603008 161711079 274838381 38707600 81310813 442903536 843704158 377102521 19840977 935692973 881318473 954116625 993508214 137932996 807623524 895085655 768583622 317239318 319903287 731880098 164025331 629372508 20695147 646315970 389694387 222991630 686505631 972105905 717823258 180746371 216543370 921923304 860905998 822175119 966273803 752678071 270993147 762566638 710980991 860750699 317232201 226601839 448079395 548482749 630600775 323134317 618107378 606256958 154896935 459099716 898143174 633234845 531278308 470987156 220684993 405121423 176588131 131349769 41521416 556528875 643098060 668361425 766194588 846150562 493543429 144039693 79820779 931209901 894184308 93862169 800207393 85689819 424297111 817789417 908288507 393238836 658321331 721431904 144519762 11549837 782459928 922586301 296478696 597082592 855332776 916113413 279293069 959130097 334073013 346961054 792264936 275671366 701768354 135731263 391745856 463535184 524869378 322427569 51375999 952197132 294050093 395167234 336033645 890098989 468553210 981542394 248223509 813141808 218975435 157885172 970038504 262208260 854661920 599819045 579689531 640386863 348193725 150622983 302641299 159223652 774129363 302604071 767821152 409200724 977963687 376383580 913080547 492726464 190423248 859437109 624251308 62515431 374017338 198283375 181635656 381945735 114265116 884562907 951936859 969475801 637887039 898299510 327091917 699918567 838195349 582851595 684183751 362758466 168618979 114726078 909920372 497432250 22044198 379263963 688972211 786976895 892924014 367886975 206387078 69656444 284437147 259261374 458981012 838991107 226020483 358211826 55089385 890116827 671684164 172630143 975561415 250867280 563622047 331445970 421330232 485258763 680442783 130122820 783430876 638207567 933542060 240364314 310319802 403971052 159462632 471259027 775095894 255339278 299064298 965375713 218576712 150966179 322131601 842913873 867019325 509438358 53439090 792451215 354364961 614296132 497212802 427923076 637637678 186773116 319800960 788990184 402352410 146090401 173192730 862405491 168642410 468297176 554112024 790300377 324893222 100826699 189471956 749035111 142959188 18081964 739505857 370055616 832839914 472760154 907592053 597126582 320914057 479053779 454146483 136376923 620673098 790252702 99643955 201586488 318334747 868170403 464739943 697049823 653474767 238804093 493921985 734869388 657588408 499450048 152649552 564541144 893554775 934207448 701316306 388042193 118881154 388572978 929324919 84105889 854393297 197304262 200676822 764090198 53827766 454384851 129917657 202066423 921027266 490218542 537845984 545922770 99059851 683743499 617321076 68200679 116830949 635087073 421256638 545687238 166408617 979019905 441792621 49901193 89822052 831541881 235362692 704659616 167187078 584784725 19600405 391460056 298245266 914124224 548314970 296522145 485273909 87656724 781108384 182119622 936410865 98153472 833248960 44811194 816008480 565404934 733104621 186711860 341767396 115511854 651532734 188907560 740913720 600254343 661878184 881323414 438531814 535952447 737128981 780153651 508571567 823860800 524146455 394865406 130272110 725448188 29979956 148662999 79596391 89516922 928390728 198123013 620508117 931353420 50731570 765752659 191938833 741618655 891427306 190468823 372319006 824081159 400258356 821622696 193651182 547295575 130766246 323488751 319146079 821311947 236551054 544286606 134958965 698752932 636703070 297778392 842501338 636485534 862050072 267745789 796261568 178459148 205951182 390066053 44215788 416347896 375926198 156048060 270017190 576142799 151443089 988063676 44817756 318775638 944782031 981285129 498202647 528000093 793396764 610980409 588860925 599479509 274997299 154161187 883301538 338738957 884725691 363484301 394511782 506289799 756945313 659658588 361511354 179684784 818039946 410996404 795967618 632964603 25905551 767195198 926872512 254190528 260679657 219583540 88441884 676564269 156407678 736194715 446386964 894244027 301547776 571992212 411236339 890593389 969499301 647607264 439928265 729222566 187823262 531976772 920036389 321950260 971850258 364702485 84618441 99563495 77039249 449614247 677019429 580150779 360127612 917366896 545064617 175257473 860020663 244372521 259804527 677755473 323090318 76956534 142248492 504148392 966248573 96474359 379060038 469584433 208262882 931496241 80449561 160327617 808118961 774237657 719510973 307164934 784235959 495138632 930267036 591312399 142265247 899968135 184790606 26777038 854657021 326515636 380079814 470222388 878723272 799189353 15956355 124946787 961253587 725176646 971167097 702730174 982530778 596301998 296494408 317018299 70953609 520804870 477384944 627540974 758041475 561457740 211147550 542531791 462803689 584188101 651659374 53308121 142799775 233131222 634716894 872462066 687145433 992332155 33953085 876140264 289788877 486658165 257702426 627493653 41658391 952700395 750644812 147665968 135944484 463258522 535486432 297330032 370856922 948867399 175341323 292951410 122893871 238629420 887151302 726709996 10602308 459550084 283459751 472010268 983273698 823872594 356805935 385525549 846921428 306932079 338126071 551787131 425554731 706990172 397403556 921121250 878829596 32162012 474317275 807405850 47500190 373738364 414567203 671243129 328863053 367167854 23494664 462138896 585045036 634132917 153682175 666223798 547465232 488695960 998272335 927425717 873389959 84831839 722632609 88546861 307377370 666725009 115976640 3434536 68470101 930193748 989360062 688190216 88130857 146257713 578713011 56327729 360892333 661266426 653412236 216027386 303253623 607896075 916370752 974690684 655047477 143367956 543749775 320013948 73332579 734569998 997732247 594077893 961577335 35480799 924328487 859942882 473418161 14269559 380901785 812178370 572081139 602995001 685547995 642567215 765436296 904784827 215116691 516130122 938831849 266213560 728348770 412655973 611411559 688185316 645276648 520774173 599812493 239699599 381989750 329776556 46321245 394777626 236722132 429542548 757051063 509346668 544237122 33622195 346309959 591330711 887165313 44565435 419480898 617573767 369045720 245030940 556175339 220267002 970004954 468298219 500433956 371675224 769198798 17568951 408440107 629855156 37893373 913181302 256662678 446083241 138417443 893978970 584261544 976619718 130292459 576460089 238062359 253482719 496608597 269570513 264723840 746342212 633762002 18365925 246701852 130462356 103077542 531109309 37019727 892434810 71087293 60138778 726005802 682866583 695877070 266616403 504594508 290283705 53118768 49031180 826012704 682442814 117430193 644119661 8135847 796014354 196717153 160495046 428506024 563932138 256801236 410919400 214161017 853341699 516944202 510430331 273961318 578839266 22728716 314823197 237062603 472525473 827171582 956815676 815674034 286302045 686553750 233319675 975614272 273830255 210829182 632921837 298593838 452006457 165503244 179515571 984229820 513705810 880720439 189702471 207649730 359389289 351836662 677056966 823387019 573237345 600274904 774998927 632345335 327673670 423544505 37948066 312854600 766877308 829678411 38490134 146318360 812520854 246430185 447869968 624440679 966896608 722034771 378460990 822041507 403493682 258007180 317287020 768937621 302796 75621210 580736567 330906556 341423105 601870411 204252071 23480092 511165841 607881605 721279026 871555847 694344030 688284571 927978775 479782584 648447511 880700982 63101360 149630911 37634108 627644392 911488336 349470809 609867602 122476619 379719047 539509224 21299616 438138923 186943521 149270500 373326299 138028261 886127391 859218665 705400840 412948850 685292321 333806885 764832124 242629179 884922087 852223031 836333121 530561087 677610297 255620908 230176725 477437559 265617748 502812976 109131224 712023276 663249177 658456071 849300001 267715594 555686055 87922972 565049416 137834155 614486783 164906274 593556711 288414629 729010750 386284514 676887812 466722787 979428125 784361945 543489816 662008336 246059800 975594727 2303195 68909397 283889888 978551129 264075217 81979330 42882177 353814603 223898634 413310426 420646882 123478862 891603747 645680994 62133975 873052454 629162146 817296066 614571519 752621581 733991047 540332113 156215422 235998626 413045607 258378824 678295833 364837201 676381128 420298448 915693099 851036299 180011572 308196217 941366961 469047190 329316625 676979190 268261816 86365895 617000391 484468763 481573026 136427301 844364786 554480124 501331039 970351893 690773476 918095182 749397669 191833168 856784127 438400896 619236696 792123119 335943961 541160464 429113382 231301348 931398191 844625882 517932885 933558191 582051360 399701261 85002262 75660718 796521403 546197305 925216157 6099341 118792749 167622800 900561768 234261947 6169084 295521286 188850474 503025761 804541681 198306914 493024549 467350148 720495649 725305068 707214600 696059828 384296363 302815692 640915771 768673240 350000098 129173528 641923230 825825330 266457095 794004163 125881175 499699580 546800980 982688211 951319885 796832831 9283444 480066579 123216290 431647257 310579395 640449704 984030615 701963204 220398178 864960123 526960330 276853582 202887034 744907416 689608148 256465635 731266231 440916065 988100719 18607535 411474914 543985115 472957640 337927870 214782876 595054763 756578927 494952812 682829141 171125530 509673960 864211902 301135267 451179069 772683942 199873363 922391886 544008196 998057881 219851135 495700669 811240779 108757736 804391896 884963197 641557671 292527148 340258825 291375460 30495278 415548689 599971882 23422390 443002724 473854475 213472368 940645049 730321879 707439380 26090744 930298479 432291621 610108164 647415249 515444759 951464742 296284912 511611348 416116845 757397365 513050636 199848157 437533159 766887303 179585965 154124449 826563234 947902359 84047485 247428291 265435452 564076442 750859539 901886110 10089926 515509820 62150880 920858493 116514621 280952651 446755845 604620876 548512199 78855456 567194532 338444069 640749828 613159641 69950305 278607075 237112932 556749870 522823780 287978503 85637230 157687896 161968431 431349080 574766860 654816362 271205616 55507640 933953150 244754748 279818217 421106532 794308612 356888949 500464402 768458979 748191509 25383702 219868729 903125716 871970239 75432488 509170477 460907351 985924968 498896514 591632548 688404557 998136283 183793846 143291558 191091552 729829546 808911209 666569656 840262188 533515931 188708443 698717064 265007404 953438846 490832650 790325197 640341788 941467596 621684700 99699890 192087725 65170190 115520212 537266526 195823483 45564930 568464056 610610792 405709923 182917658 340070047 558628859 26579692 452147993 965868444 754096730 508488647 344476476 338143089 299601379 114850136 723967399 606421951 236102497 327591925 664040411 465585197 349639923 727010802 132934546 741881600 48248926 716371343 756275624 754351040 110333125 10914068 560722043 244443659 95165011 122843492 268359950 909845385 325366042 693211488 892348527 481796862 411008966 459524403 358958093 911969404 289440156 307867006 486188058 513866561 174943522 423688116 994631175 839699959 56530063 629164213 819208998 410481604 869825300 261185297 185582159 878914505 484718798 420623245 327921417 456243713 466660012 774087893 132633257 614757549 732522019 650276142 124621946 797832258 751350415 763688748 485317356 676464769 740527411 593399098 4414870 121998634 115018232 381904320 636899391 360941276 405995418 701567207 234071704 645861077 945562771 125435466 280953261 348064143 862203515 54735943 539340508 127572049 333511299 554370207 339385452 338542940 371075202 55953593 804516220 487825574 452295102 722605319 866707653 901428635 775588996 303725299 120607564 163984076 405809674 557914361 25028285 894811481 965481260 76157390 887499302 120608754 979188347 311073002 503338989 916976907 415165221 251058355 137643106 160080312 641233726 991689910 636693423 555274427 545658682 841355113 954379378 664004513 451499534 514925940 714412065 380326072 923817866 308421486 843853347 673799232 91391985 649395833 68664547 266703635 380258692 386147533 922636671 968610617 609290127 360923080 171542173 133083406 779153547 679675150 736678757 271463325 781435609 819987581 611458830 174945652 487127839 472148686 871467656 811203201 710328925 836246822 520107427 410785609 550656134 869235561 830802978 141581717 349262650 701344914 158882869 982199523 745370480 242395786 629097973 897694826 447454089 521750293 35200735 17426331 931100387 840441851 179403180 982948117 766271109 729027698 222294280 160899293 855595795 177240403 160141232 788648737 82276720 447801560 69334698 818065779 855772835 135143915 97953552 86748985 235794844 266900313 681826284 948839235 441887656 984765312 792479944 924920188 100993818 264249395 505617266 18621141 399633207 696657086 447503432 763420724 31701485 583145 505120722 634623469 109524926 51863787 516175878 710518973 256976839 562993286 709356007 566562543 376917289 583127787 973051307 827368940 39326439 333369429 358532816 268689249 173568254 678887447 904900219 837724421 283703737 553063952 734643372 983379061 738751564 92114224 903114744 625714916 451535840 772397812 558707550 212334687 280604389 761704258 986053040 838717722 495211864 445459944 729072397 120179776 404638515 514541162 392766812 214188630 613699205 799433009 624930058 5328945 934591306 670876959 132714908 342418558 575057293 177207487 970028044 340948935 128922277 398055106 329070278 548570274 910031562 806254022 334694644 783045151 871690864 296608932 540772810 234396928 645374031 653957486 732694755 308460470 507828183 667189575 964738465 669707483 680350837 832003347 454934349 384988121 870104789 843783997 904758233 584608468 226373728 538050775 570302355 33235985 185321584 131513814 490665192 761901466 481002428 778625145 331576083 734167638 410389274 113050278 224940754 757192247 846201604 707695262 899262484 831298654 135888683 397549921 273237131 522042423 350688829 298068231 188692749 781731547 201067143 378184112 682551466 82918819 262053074 58853522 652492622 706735146 367733175 865779727 418601423 671656864 352503845 114198300 95049925 116486976 111921858 141201542 268973001 584912860 21636347 629415562 208221345 997155058 966169037 176850347 228612495 255055403 879212064 868701838 565920794 169372057 122501694 478051957 898110309 749982215 310779998 685224805 405094260 400252723 402940765 656263480 900551660 629266249 489178223 420963323 880938452 488373872 264633665 806922498 305536545 93309228 106163194 185590655 389667478 700006399 127083330 5923260 436712234 939443469 575071316 453537075 81433320 304826391 848185870 172774761 423745145 609719999 307780672 343584278 47916650 764842821 824378235 25951702 808072138 103955081 847726763 120941190 470300072 390602516 945991357 367788419 446684269 827124651 658021213 302094719 214687007 932618127 702171529 511731082 328950253 13340599 81946453 165089140 129927419 607658437 246792973 784886748 699815548 220724486 26950083 956346054 477447442 142129934 37806158 213192536 387740818 273013144 795204243 503536008 858922118 612585541 562246446 925787190 276717976 106512181 414815915 56596474 623881253 622205832 253586926 449998901 570806962 567043691 207252633 953520512 66684757 647176749 844393357 165595789 539485541 127821886 939853186 699968589 496946818 197332612 728177469 945919210 948644409 17918608 366497425 526302018 518217986 247908794 446986609 791947908 462645251 90948991 733439453 621543153 318652877 881296675 999024127 188406689 262013142 196786972 294466636 6488731 600027059 531661530 248951997 673840309 280932068 747185538 243227559 275171542 696465501 302679194 646741680 576939271 770409257 781895298 829588296 662688264 696715188 61533771 145763468 656378625 5497148 668486397 917648009 939973621 505994715 188404147 104984048 109670020 368702834 855520151 30606108 814234801 647057619 765468944 190525030 892040660 293501563 431151074 379497660 519581325 55258100 964750314 382934747 506644850 934772467 899575365 317945259 408019315 528633074 606299537 901954979 377725740 467208412 419295399 923016819 237524571 699904432 324664014 996522478 388656771 742664788 13455098 100488804 247497192 865342329 461173434 976672929 182446454 740132786 856333008 984802402 248294129 60274904 276233086 914492274 834041501 95674334 99709309 180559900 175074194 125079192 85247734 377995652 913809328 547955356 94762938 150964374 165977427 643319478 487785435 544774910 613286645 238818507 638465560 972397301 789950291 992005294 144034503 506383599 643574866 868616757 923209348 512464063 945318419 290591502 197190096 493792407 16273493 631314301 621768298 633703787 616452750 916410516 970118078 402006637 305057708 348811248 124684933 61652300 742339939 939581208 746767237 467145452 588853976 329217504 397074605 774832397 150283429 516078387 728619322 293910659 342686083 186412271 569653271 484258978 175708992 264573844 844398604 581579072 633701779 348742869 224470530 95766677 493287787 654140874 959365156 542741033 384645022 332730763 948426911 955545555 654558507 433424560 2934464 595164871 694301756 148328083 305307179 175740299 499739113 164398968 931795682 918899760 421217036 491747681 22792572 649643388 13540710 691164964 425796628 343428443 623795320 715204200 162994176 921330515 406180532 350630741 124383717 754937928 901604872 29873858 81674516 991723871 405430604 100888696 566027690 763235928 669618086 92274756 508636668 687438182 534788003 740344996 588673065 568608638 228366274 57809996 287210287 587148575 372282666 938608713 669253157 278418317 754674007 840967553 382999784 557071163 785364822 764076005 177154776 36301200 734216046 857084512 643934362 545886261 361380075 516327892 764675765 885820507 336918915 209463422 102524252 319493770 105426302 300095962 468301583 219192939 987549901 693132856 305145672 104392637 915541391 604222121 94032259 676353490 791258458 583932813 282924475 309095319 26423426 372005807 813232736 984202212 759264052 100412788 384491413 246096006 320170792 48193657 557400131 669453060 258054951 448192315 731873188 139942369 801001784 511841046 538278071 352609975 703177814 712301951 155404379 509132926 227467356 457182670 238266233 831012106 665021341 102818923 239910462 472130486 999499104 157500333 739094997 834714067 337175489 74403136 931505520 598036320 210350108 548372685 178583612 189448944 660046199 24749679 24851512 665141197 183171777 850132090 923620506 536394833 462469787 880108106 66333320 969204566 766889253 257937189 330283713 675683226 816355443 638716291 730676822 880737561 250029940 846239589 565377024 740790643 752969875 370093615 429001811 67167663 645419231 581013653 54959820 601905928 381492089 833590047 517096926 778320537 548238728 394054082 725066674 491397154 225434700 978538978 619317951 634149717 292780996 316106505 495013973 865478117 798387328 412436729 443710077 694175724 368470126 373888936 92585989 397697047 772318438 272940644 123961543 709873411 417507750 384011222 26893716 518000896 523009282 269376573 489533910 71286847 674339313 572871057 745420576 178937681 732526619 330993091 182094073 79823562 813246429 484735286 673767261 680466260 961729619 114446564 387144536 900104587 221178821 749121154 232811447 873112981 297587914 662709466 63677320 879641010 911711454 654657555 590487467 144453827 71147460 730511086 583013467 430644714 377164747 834474488 598366706 535900442 888797732 196370700 508692984 604955688 427495732 21328697 650603445 229906675 867998962 52998539 811975350 511681243 57621844 736927261 551346341 780848644 515446548 984431460 786635302 309656818 829613608 222753459 571510993 724263618 776130140 373632879 282532876 748983185 340021593 94835032 760090607 597978831 904508629 174539716 495217014 45671912 29327646 260943161 824569483 571335999 113345252 89366517 673754218 734718993 598724209 697406098 501701690 772925792 933104943 122829756 510873197 344768499 220917521 967789591 607713592 9058233 203258818 750147189 854014692 949385718 138526102 454655905 466952795 225848113 653833165 636804581 570295111 422997182 854822488 929441677 790173694 292117777 764245666 789251135 46062596 638592261 731497863 975913950 63290328 696260045 124470502 921697464 136479377 212098658 642165772 70620770 878445267 328342466 895507477 211047438 977176085 691413081 962694825 287659511 523667720 293809242 745362823 673551601 172496900 912548483 244052994 953398655 565783674 207402222 259562618 203900263 924530433 318164228 723683638 749005325 778897125 516269116 227076307 615639475 956423130 714386952 706435277 477684590 656733515 641614735 612102411 857250588 63689421 422356635 808811364 164883997 346937572 49257300 238960960 774794068 531274189 923356498 131507956 637064722 36572890 245048598 932526861 310252686 656793191 110822753 757571555 699643831 422272427 963039389 928427951 830145446 445541336 380666526 522919107 408663644 457580709 519272595 488658202 77590213 399120749 316497298 126482273 434690719 377343802 550186008 456343226 73962665 414785993 527727660 357143464 779086019 713924868 462997128 214473300 250762249 418004962 68287229 89862517 363557998 503816352 146344850 903703861 263044238 257016836 313292039 850893311 373187098 463670396 726249097 130279791 507105056 775830937 304411441 285667568 926343975 298841179 587947865 589344540 279234186 840722174 196776571 125835046 875220765 672596243 190383762 187551143 542855049 329689055 824180105 947860843 428035024 761460231 68185174 870258502 102928032 83858101 944407009 515106073 671436201 500144243 727045724 354895115 372886547 945887588 705600334 534304913 496386142 421117738 733180528 818297059 382912687 650892897 744077837 743991026 119751494 502858464 637291477 305687417 350062474 566957875 498731164 122644216 778682429 687984268 37125308 430596347 973787684 839125836 464921951 925078365 797902840 587115175 640959433 775571616 431359337 858492756 767726139 949501873 974926459 905107847 878048495 977968529 609904175 721437515 819488984 166615082 612996851 918051080 127635793 712063087 462485444 333399332 193243881 436844764 661540050 889810710 20508826 666408604 202207135 559378577 121696794 874400783 586742435 279283353 974367328 43256815 705857038 947893805 552358222 757804085 414662112 514302257 82906687 873104168 993214731 307596660 186269835 889706646 877392374 607215260 75989059 104243080 616267613 833651690 296916997 143829191 554334872 316184218 495805800 524779263 760558713 453951740 222509209 892622440 186751421 953963342 162541100 338410896 677393201 261700303 465656201 767824556 803134470 793011196 909279812 681237419 956175249 751034157 298996846 286031842 901089156 599541209 852459737 384041029 889538634 718968982 625328222 282912911 16165981 109949545 428414223 613007989 2276512 58594531 691907492 531157087 955269593 12415681 362267387 416315085 931507684 97787421 291836574 594429010 303706865 892522272 522680576 541269256 153767531 105581324 863486807 965737130 661146643 934261050 727858685 445835036 285649298 879099301 53934222 701579654 456669460 81041473 161274942 446311273 660931085 715618276 287451785 160971236 444523342 606386047 770239673 958693754 999345375 247868705 487768045 898990925 677029985 285325436 95076853 625240479 193915007 398323074 918752555 391361482 941624836 936453311 11791193 5432615 660667770 455604949 493709981 505743515 840426771 749995126 87094971 298999954 27870587 944239756 781456879 324359966 418780544 786157612 281231603 868026344 496516746 811513683 988241600 186117432 280896748 747115889 868883720 891282662 98004753 313000685 490688187 880196305 518622966 351404069 455813782 943089628 131729552 490590170 983102996 183083905 177726995 700269527 673680694 512552170 682224403 102034899 514198712 104362547 83001189 875605104 38461483 536665345 402481928 94466695 558943413 170669953 85783394 841180330 259017239 288062990 462242113 631522545 248241113 350997487 505380048 374462789 104529857 400444102 772224452 714262355 336841947 648619741 57779970 449015703 712649508 420939406 649593280 849132745 341686983 644127334 196236455 66442428 683215365 146075489 858510955 542967397 716693254 822367493 638252741 805646935 827091871 937650691 798312475 652145508 161101877 776733576 598220239 749647454 923583393 697130047 764497293 957406527 82931584 233580669 934623787 534711379 459468340 673805343 453668498 282485370 525262659 70531563 187030914 654118113 772694461 611273303 709031401 669283582 366439381 59986064 450799302 637995808 696829306 939196327 177138518 503634634 302661760 838557086 551660652 962807877 106092309 488494155 808228450 323154274 794181229 489005369 158948814 560423930 562614934 849350083 655436478 811803552 551252803 994567611 209117900 284866975 556085596 11433907 143773521 40936549 615285053 59972612 430056261 484542977 321480059 466141604 745595210 457661754 488814437 248775891 366370661 150071235 459361395 195035332 980379964 433881215 803952558 857058858 258924727 155209789 943781209 812456790 994666107 971522130 424665114 690008076 634201542 704490734 890477425 284058720 14365453 798597217 870583400 706042974 696828601 32422781 530899315 700007150 865054613 137439107 873532278 333315665 932771543 239586270 460058595 469070394 279987707 575127380 102820582 736753964 375320738 541750900 582550534 701370745 637400716 344912989 461483384 745016228 100344453 525936053 501698524 38338913 941458559 830115071 602288376 865117350 276577516 874800595 510388905 488853397 993541499 161218883 163979588 865318828 181404371 298285504 797008843 485087664 763864248 278493490 336944844 51087951 876348791 283895858 501823992 217108511 242802848 545908686 585744972 822531929 224453296 290090753 613302348 827582193 864628344 277130228 246536071 491746816 377080154 401533079 906747097 843522072 395271322 839171807 142617850 770113370 271053655 222748168 238326280 476727481 66922275 324245407 963958310 62900946 454548500 765471036 974186674 694259994 38093691 937796633 387678275 768534565 447896333 12531137 422313719 707120599 528710613 556967190 16646691 123243118 627883294 726660022 342254406 198846071 800177411 408498585 194305831 58929810 817125648 116072899 67975012 28916174 620182348 843716299 701477622 776223776 828485247 65649518 873880729 970988659 565558945 96587268 327906065 405710421 862179491 246519512 320789016 491284605 300249919 422300601 961328747 380283858 598395155 162372875 34817528 623703114 797576475 608674359 860246753 31650905 749815175 286124468 666808644 37045155 470605288 566683327 645247825 996190310 969899570 30986994 616862363 453513725 714289420 448183228 760569336 940767717 722418161 4038371 89601809 6455325 721768003 3263157 867013899 276532466 510965352 241021500 5689043 265875886 164466366 641573108 626320327 541897115 867479141 525743148 80525723 177391278 134896043 180702387 410053638 850145221 859458434 265659431 797939563 283189156 437697440 690998796 836991374 2779835 305024758 871532335 675849702 896095684 320199614 557541513 969851797 82526063 446423813 239762726 684025268 926544684 509349514 944773799 294432210 18032733 880959377 152989378 650272651 749879606 78192449 659599346 747797264 668016043 520593002 397673192 893404594 57622831 124759602 81571834 765200153 357425985 677365470 795666217 542102699 322995482 95546481 14010546 219241544 313687225 151571700 948038986 34769899 905662699 719885576 99215051 827878141 940201308 375434493 429909542 63928937 736805739 689160872 801880074 601145907 130860798 592167617 742174794 336657971 22291426 978341437 208768079 495821169 539763332 773582367 70595150 849373516 309279900 808534620 398900372 826092717 563044071 378238698 503619417 590937807 447186449 62288652 88461578 788474546 690347954 453502007 768181710 25496156 243186423 390448344 372842456 762313816 157175264 590853133 635948696 775136092 621795751 566301750 138828604 711904513 974237048 783959387 839315507 295392363 632657697 559519462 846187733 188268669 379302468 670381949 307588076 61078802 772460971 383030390 687455847 900145489 911887071 960037247 790841992 335968043 649118168 762141944 5191405 446759038 809218275 978616690 507052072 943591198 429969291 636691923 185496941 410218958 506255685 799709977 825449439 923729923 901019192 634326657 332428150 115592748 406419597 926705020 660596356 264656041 2645776 17368218 75101414 562898624 622371596 777004864 297314977 173955351 16244408 848186909 97631613 141514060 703357118 791599162 813540181 246510176 283299392 902207823 815095010 719461887 8840609 154692073 137579558 521669606 218190985 733893501 832373231 911934709 694097991 445321358 720139815 130898572 187602236 619077718 470381573 900268617 258955624 363700350 275222986 557051902 706857164 125566011 181983035 125344298 819619460 785114123 55991632 654468563 331271896 964040924 177881706 328780649 991176542 275347071 107843170 80470970 622404004 739977265 209001746 87311666 355288558 741533170 732248906 468768583 220936787 925945288 438043302 515521885 111250706 357016279 832477272 42807795 418494371 753293016 169921051 357203275 457316826 853308522 607266954 635180639 400949615 786511348 326778730 349722868 307233458 582476231 209440790 591138933 995204653 71154911 720986436 600944610 811766627 431815634 846869118 939116825 827494201 182651099 384559011 173103682 710108857 372944116 888958217 960702762 623506349 365504918 392359707 940052405 802761688 915508232 724130171 785418443 414522410 668638056 977553868 42985837 548665387 98812997 766429169 98924009 472125696 779871567 292113274 737444675 42952871 83662610 560064655 811776455 904186641 985604191 31706282 576573304 806421913 340931829 427820610 279958810 436755781 208329447 470394129 24654988 876114883 786323444 623031029 34063327 510597181 570353270 30609425 191928678 774362540 420065200 915095811 777055260 476980279 391276367 92540818 275972409 682306109 174653570 605421046 527363313 116555280 721889617 335587907 651837720 242688295 465897076 600547445 214916113 141658172 643733748 212866765 260585892 26857136 983873598 209898293 493363936 155220898 11285388 146171578 121307804 814468832 372670006 336703008 359817492 72113695 376524511 546255727 977024498 459974210 18075979 705943458 507400016 720927044 870167029 475991475 409250083 477404398 899788530 386449384 752025131 155010480 318141262 501937015 343356310 673448444 656408335 213330643 97781708 959976498 371439258 798040343 890170466 763955702 31174419 36747779 487835330 520590890 68655162 43893376 658194226 860622833 228815846 527924138 603567124 459237324 368352592 507932064 748934314 998572517 838554122 429115336 687788719 71260404 189992005 672357676 939933075 249510288 5081296 147315620 423965489 826604482 625982627 102588038 673911446 494464075 648634023 292674831 952156695 636673184 250233440 207794373 834598116 255815783 225779094 425957220 903314060 499789093 795464403 686781490 514323590 382081302 233988647 770848214 743349587 81487907 943275033 722845494 934291197 494908271 708795685 722964661 458627922 76230753 48751018 743063167 665267244 692968398 863386101 533518661 61238867 488280211 131063852 462053541 577399291 723922142 455389852 624188535 366938676 270658652 337414181 506879897 574845184 506757802 891453809 810527420 706293348 140273844 441031005 267629135 714624475 538273815 658354838 717655717 319230570 813423174 114639287 816602547 17364710 937095992 771719161 142868298 989558798 788543822 352410650 279939428 682431160 647349631 555019705 925115539 73740922 691716593 526882275 352140136 261976704 893712312 707664096 819505609 79420129 136457562 134401243 730695344 284835452 234770170 858354820 580364371 893467742 139096949 653965468 355090183 298676443 82466649 882945405 701371729 763549110 453836356 860138171 839375946 604381221 314016057 544320860 975217261 266289274 48299004 529809732 884601723 309075650 328726656 585797761 203591554 87172033 249064391 568134024 145776274 535189195 612326542 869493717 829934863 755128437 985265621 614837310 518364733 629264938 165472612 901371575 323137079 837527622 649008259 974260112 699332058 890946094 535297734 779682766 937057051 287481961 303991801 542938810 878148922 526769010 322665530 982287814 570265248 853197881 648832740 828769644 12377205 971461369 948944093 386200189 445992545 495686533 478220564 401119142 938302912 379420783 790432619 253578144 978991265 936022673 585892481 147840434 86311944 8902843 277873870 912009222 12070839 554956450 184441028 475068736 266522897 877512717 158518271 445121418 776888110 867719546 998782579 71377171 761231024 574238124 594417086 114633025 979455737 825098862 531345711 740980016 91901030 716674123 336463399 822670256 309791718 587063518 35229695 643693628 928195604 780740391 454867056 945678220 327857747 209148542 754599176 88585577 601245220 681818273 20720728 41996403 233247265 304190094 826914011 288835177 201759619 256532418 640504957 999450870 658802171 479662924 308529904 379582540 290455490 393187988 837072145 903401425 271119913 703450237 947235301 604025924 734536665 926638961 615437863 704748339 599542347 26748854 417659019 317318706 804408736 682386079 751342034 275230471 306842525 590659457 456327957 816808185 59840830 52899929 375175928 950939288 227248791 463437868 274344189 767496645 31761869 379381764 922110950 155215684 912496952 623587466 859673053 447704149 642786078 884398464 776865151 907514999 496708550 293011807 90860647 461413499 682803790 605300868 397771229 466455773 832336547 302686542 792771396 433348308 565145148 859293987 480187443 938043227 676163907 356819915 463166257 768369154 861409906 736955136 835223873 438973561 230706630 669132350 917751850 912156443 597733462 246921430 982083916 916256465 635457065 506270582 923304118 391841474 224781186 733603208 163755912 102765621 148813453 837439450 184021882 121841136 789122993 499240182 106982671 147322875 826284387 726206424 483140993 684395207 843347347 184826502 288963687 13789600 339515180 404411454 136073650 770911227 83732761 315214598 116552118 399575705 91358581 794832447 848510828 500088906 198089688 596420315 324082528 689117645 520861711 406761232 574633297 142878159 191272296 926036700 186960616 198526247 947670445 946638726 557783514 518965016 89610310 934895202 446383538 468793901 859919686 179340858 150937493 564553211 388936887 543889300 166428566 165181668 462627091 738163382 733425118 751757211 757395691 458811022 772574477 201795079 123610187 66077057 151666987 919507125 970116251 706474817 188861871 406607044 165570024 694566002 474888412 301150532 296604751 119614179 398733287 268142561 666989305 786652275 580357505 644082134 756567474 602578188 974670604 694417237 235695449 557338286 898621811 542604311 878636807 267934966 282250054 586066067 857842427 681104152 91313820 611076530 226523429 215383596 825973508 891854599 862945506 709543172 766412666 927165370 105436208 896958213 81379440 810223107 602046973 454509723 415246689 575805819 355744055 445028516 207468790 153659066 106521968 974666853 657878361 559810157 334996793 718138488 733018723 738704503 451417425 426281584 833807734 507848069 100117293 223242545 69301153 770426201 30242922 203989563 9163519 15572182 122547754 63315105 529426036 786177132 334740034 828600823 158899416 409387457 947087384 24609975 301386497 713547711 186449434 6998085 741135512 277646464 194017292 136401852 421132486 616169861 359772252 366905567 635739024 753580035 333653787 291241264 634475639 398136 12613800 153617711 680801050 663861451 634970594 855356763 387201435 460629911 779771917 699901782 678781881 133470160 628406233 364141839 709087024 146640289 656811419 503156910 419418894 132104338 729268302 922674362 946919282 234137366 733087204 869950801 416111440 952398967 344746274 919448936 592020559 953117107 918613267 531471644 311803181 645580873 603397520 636684413 159385457 332740531 767647597 695816955 822098734 607280559 380588419 87160216 21661470 113416044 405666047 157122337 350766835 434355952 362570479 375227636 454304455 732609452 660637086 648589255 962892288 672278640 875115715 164516745 810908767 832127844 837045844 127282711 215886753 44991552 930109042 329641433 643007046 814288338 103136223 274899379 30513233 104475261 751667377 137594221 559914566 868555892 863096300 903477329 141971424 605317154 235758726 252263102 608728082 368465034 43045591 214960301 315962115 88612772 22724622 447660246 499475402 840034461 4839994 557350542 537813785 741527390 739597813 362209554 149678814 895148247 414855828 275269857 729747484 717884173 113452602 595876298 223500267 916889819 130734074 110547474 77140527 172658759 679975225 524452591 457952780 705094185 428877406 702974419 246125730 397376822 782819022 850072713 411554517 944597254 437363937 378379369 291174714 320186015 56167319 977100223 558271162 623731403 690897919 538716548 421326120 27307687 215057580 833434096 646353388 680688317 514581605 713771116 96576669 363627756 700055168 512543011 139721419 13364365 266527797 413723241 531797451 435220487 435713416 48095845 674545869 940131876 433990139 36420562 725043083 801522572 548480849 733658257 417773786 55550288 444672031 717661721 379860625 726619678 954556235 639559524 446847528 241111866 698989840 732014740 25623007 929035542 858496425 99384990 418467931 471572603 192201832 537652274 442634993 816291769 173695407 649223451 27741746 127352699 132769714 352889174 498076310 730699558 709352419 489791754 283876977 343663407 368859209 117580318 610292678 62693997 74134688 41662575 570669800 496684211 120417004 818585163 931810366 383505548 171707615 182435435 399972199 240421934 151333010 637013864 913991740 238231027 937742038 529390222 436738131 651410906 420644145 157627233 820156478 953107277 349010402 802823186 431921843 75965626 454350832 663049062 783612657 726692412 758296851 149593538 933761058 829584188 561561979 868571407 655871689 4841206 919503075 145178866 593581539 288334994 896810847 837279528 814026249 255419930 178582581 750587526 345831583 760668614 475746910 412798041 137351336 538417135 129357943 149727577 613483492 124852698 403925912 645925879 88332526 48521718 505247548 489829298 383622863 792316049 674145689 109937424 945762712 108539589 391656215 239562001 274652166 957581494 795143388 419322067 773111008 489669648 707934682 316468923 488030305 150828982 320288912 188635135 373470949 705699847 82074138 951244963 935975139 675417394 251918671 332423826 1323352 466447095 702415832 592824815 463058027 808072665 924453661 89108885 839240805 572975913 625502951 740039712 582145169 843429693 902352487 486881418 958116036 341576637 458980965 240035687 975982138 150231480 322453650 881456576 606503666 702816540 742835561 466324304 143106109 955665139 869908566 92892930 502877925 154736129 641302651 367072729 716484894 521856662 703912316 613069755 629017579 745800162 696569240 284315946 363363402 645604240 853749008 349974741 457407990 787650300 151026810 962975444 18617843 461576060 50405804 858565495 811424694 496766259 129510238 376236242 44422696 652291866 992582641 137554090 690906998 659546136 443448999 416094607 683949809 918171313 67720413 433030341 263572056 592997535 281831366 752362481 740841357 454778526 994761167 621871178 346677402 569652036 478780087 871579351 655922869 345613501 936464163 656563321 180704042 829182271 720945563 100501747 129972661 965655888 405761290 605652040 716798078 801551075 926750880 491987451 554868560 289739948 63471902 5611400 212168528 40682759 794435242 912032997 416897202 655089683 614374069 888464457 499674071 301504523 522783169 947197924 361362758 474547831 81398229 239444997 784161273 340576296 242968252 458152992 65692333 825269808 509607887 304061953 113676967 297599035 156549783 694764424 638334064 133020689 578720005 381602301 624048319 49389457 256447967 587707993 433620299 930140707 730249954 390682266 526046092 537873739 323163313 661243745 820407005 571547008 925455481 366609921 247000986 229361342 772511128 680094609 82295625 21891045 138125700 390203780 856784716 13398780 970058057 518852162 545033076 445434834 788021393 333434343 34890063 920050151 147798004 709491926 925878289 78660145 241585583 146429484 784150996 174465937 68857702 394372149 113107048 93939518 352311839 387344980 236131522 765897788 846319807 581962544 4752982 389823393 895102542 967045417 865483469 673475079 461809160 180363798 807262178 316532813 492147890 131148864 627703953 916268261 573067362 49686148 79047147 285082013 14549558 186800592 237870683 531529534 623702466 970155225 522628110 452802126 972758330 963960414 947320721 791019285 749555438 579596244 808558597 889933146 214380695 689028183 271102480 868336842 811707113 14782887 627930447 226955899 78235287 338618422 195414649 152622062 885744501 478547158 690233213 355538431 506166774 742846751 913825560 861397281 237876179 804949801 873432544 625500656 429239254 280174235 323966747 182292177 823239874 916743732 426153736 682067502 200171769 584525434 3773884 272594022 416283350 694441136 915313931 537823639 143177990 465304188 141097430 135873532 575363654 908635980 730567346 535621415 8746619 138569307 12636479 387228849 917885969 979892505 388590162 635684668 194405979 96017724 17778541 823437950 392919818 394682880 398634482 800558644 181326826 927400814 145344420 446131378 566386740 403968122 573923478 745270439 18246357 71275124 531582393 996544781 862486078 865149699 961498740 336951367 628950921 227363577 839058078 791645223 346832450 923236359 636216968 675568308 233345304 104260601 743628866 719173287 362050288 720475245 440900316 72833073 442327414 722303987 407801690 203003486 239152936 969347547 64172473 733794018 305533839 856188639 610727736 692295123 693403501 372465105 132519975 946975560 870349040 440627441 769512953 419958719 830570129 606619240 108776661 580461077 907474991 424249984 194569146 255081921 150527500 871576907 721373370 654879416 951896549 736582245 584467534 490143771 404796029 42538046 39067860 155328304 536687429 208455470 485610684 676670051 467602122 509555571 945692114 597273192 926235225 39945707 106099957 721200132 190573054 595459377 248743739 327920102 953693902 353370143 123498132 791128155 738641390 216749750 476216094 194272089 525484295 367602682 996297110 967556538 378381889 408854777 469425393 839101750 717339943 902189986 146985656 560262232 750876163 488927304 578411437 786825721 905793774 364361112 876071271 126256106 490224568 879865117 228923997 748485217 173934746 184173539 729856292 433177178 92833073 35663922 57995108 289478849 137582229 36906766 506882107 172010757 565924959 413841097 140028322 876335259 741186401 882647450 191298620 592445084 85591586 865318059 705258221 284776665 75483328 534369404 897406182 513327030 615359622 457083237 970193867 871718538 903126490 567017078 304383826 924089378 604546395 29702069 466297649 963001379 702573098 791690997 481951523 269677044 163842390 134305078 887167778 459645622 232052388 425218121 35131465 619351312 381508309 503189412 485681890 699950191 867802779 100855151 333745872 180424581 242418760 681881937 728695368 38364089 691141433 493649136 64999427 929409286 526745370 24760623 816832386 755093356 910729382 280850327 305269722 621410877 374811633 818049968 587898102 665778948 45613313 648411900 629589878 690597951 663279083 953924627 216177192 735552726 158305177 146579675 769743566 968298583 100060547 184243990 136805687 469115527 477186793 437137961 301281510 150148393 807447978 43318491 51749335 55053887 690369797 793423282 187386219 246744179 968826056 589022177 593390520 95346658 704639933 118881509 182514194 154346684 492396131 970128639 922429391 548002180 433428341 352634919 920467780 83357057 791247615 359078246 608035104 549974527 712819244 397269671 8473961 636054970 447197825 947749806 631558829 240457974 234058700 714981088 330373414 160571879 801188637 665895831 138409599 131654366 995559601 61715090 981332276 266142765 876046999 340281065 875933842 852916597 598822123 303845446 526018818 566076001 337761187 508604333 417686724 809669028 563797871 329274246 548053278 871888166 610290205 633217212 150359882 826975259 881402968 605561184 505903611 90282513 525951410 432200411 827039784 260633469 752068799 268541974 252581070 604263262 641880465 600045671 826185934 121761023 159053081 201894923 848719874 87753559 456172225 336685304 639097462 244240714 997591242 743746764 969491489 659635209 443853723 922209050 22616417 851342208 922914032 791671152 295731743 600261377 706212794 537109271 704462090 46062358 757983409 64547953 722478441 563856657 787718078 437887876 589624137 366422120 892576889 599353715 815262017 730796536 877596405 272164000 283669480 980602687 464536404 710470338 739014782 704524676 774230961 496008351 187595224 531634176 842337737 40421349 32315937 592935074 984234203 219159794 449697721 910386145 587524106 29748581 282638328 124601686 673541062 256854942 4860151 507500593 470363845 180938235 197807998 289525139 153909475 81840799 419826884 410183851 244291622 318514304 52738790 654286400 273134319 542796293 721145743 511438774 606891696 540315319 697610721 620531231 981778456 270623427 790213519 232825807 924647853 112120985 273735053 872692548 659015018 382213818 753417742 130136466 391909221 329199094 378645845 432510724 245574769 114358807 66330701 479261538 287556303 947747711 876539634 869551368 236927077 434795069 38527031 638495721 981376997 388742462 23684434 967478479 855713333 84430020 297382691 7436573 694548673 533284124 575946957 911872869 460075841 863827808 316368502 856357038 475972922 667704926 965775082 797685957 660305513 225510809 602697495 938006837 123715173 405121913 615054634 941442660 151644075 87865881 84885803 900969855 121155933 936379920 563246181 436355860 206925842 312356091 585917429 59863837 194523263 971090364 223375018 170249484 322336075 548657456 121650164 921189971 584907378 116506876 301403136 138682718 208849177 728065791 91439652 359470593 607349590 307639098 765434450 334366778 928534591 909022705 670764930 592337893 914200860 706741695 576589509 561498602 473960203 86302737 769354823 929041639 165134467 828482103 163033438 793005073 412172566 374426804 667925007 48465093 523768580 977896376 929925684 215419679 512896845 847287794 63746649 927511737 918309220 348895991 437354961 123407441 549654960 2641550 178063504 463263421 336825586 685752799 649882 504237917 186528120 969035541 795747755 418513159 504595266 590286881 918295801 100002301 865283435 347298055 252616170 292101421 816659010 17513796 495356652 16276594 689189888 998775034 884696113 878199964 75617223 362236254 683757441 987676225 966826399 455113914 548442188 361279354 372434900 57068067 696630927 847924359 316928597 789887189 889319313 678184942 698239322 102961948 539465843 726831817 389319082 701836695 682665034 61419710 517318109 233092619 603183793 919757508 455714670 980821737 124030730 319750142 757329308 743794245 70980059 221522650 768565486 476564175 829429086 698223332 725303994 238348009 371439940 660820192 223286514 481384004 985736734 918662348 311587401 800040842 257599546 372547725 919588924 126163456 851966718 83231369 430753483 138673268 170042519 582345371 618994914 459032105 82131980 616380689 531967687 974705675 436853418 799116244 984159419 7740865 799491508 25766995 588985563 509809618 364236502 358042549 161466433 67080951 812934304 303571560 108490013 456190540 440959645 558072265 481623717 728217106 826121224 788902070 655281929 571668894 736950183 619293460 925274613 735864444 865173832 343726729 881383473 253800528 667735969 947627695 179672660 692393433 873102142 702479641 510157307 962152895 646114946 192674417 275246194 849545408 136171791 82305723 508846008 580394277 868266064 695838924 718102490 762188941 245861503 7348504 815308266 405061696 525143244 872443841 393266847 91658091 606241068 733075594 618798431 838219171 571943075 169881132 263996652 114827847 855492107 171313622 864799836 104013279 9252691 223766182 750966957 679361289 225049132 803809504 286855530 173259463 678580520 348048412 770938835 366154760 580055498 583104555 129683855 449772913 276881945 866343548 390270675 702902587 520792769 847966635 16670648 512211009 923630599 846343764 984436093 405746472 127496910 594044258 418358 332812024 669629708 460909800 944739247 84196583 511422999 820614546 76749188 574084594 135495517 846305383 346120176 526937766 356496651 568382941 327815877 446443128 198280820 181110792 136730720 519534842 422769721 467489264 904183946 172007126 495894917 497711147 581392381 523516476 548364337 835439851 277721433 863313490 311352886 203312439 15698926 785867499 534388909 581557146 157368542 123435146 66419534 258141580 587497052 741529167 672596703 848302863 919360786 400678281 415312454 31286534 437332327 167118486 153976703 44651109 861104875 698432178 873426480 356522436 964492010 789016552 642853233 271649778 177734888 293728030 306280103 119421761 895485701 587062649 170151576 856231412 107706526 22735377 806043033 293798433 741583169 706231860 845941461 26247615 351558644 617656768 72967226 825914052 246743355 172973538 629209943 403582358 232437630 704701099 157517463 275895016 560564839 324794901 601546312 742432346 975026464 287085950 698153438 231688974 211700685 988260165 535139799 294571181 59000674 535578553 191867268 645603092 278702701 231554400 287669571 320634736 469706100 446817297 236446004 862464548 608498072 90186816 398513719 264245776 734542804 137128066 838247257 940863518 212917556 942058280 718176223 237885852 854169688 555579426 362451952 844783327 663724819 891211332 527302834 606685239 865354484 485579536 929146678 938548994 847420863 487271158 231836304 665975543 455618591 398416268 826599283 24043811 430345995 353652164 206867915 275331711 415036459 882541253 752875427 552434073 133919311 341543261 700293882 644731296 643302807 729119758 202693294 75473227 750170332 286564783 764025446 232336702 564556832 751559587 849829176 254538433 828422132 557130570 210954173 354507493 840219557 126267858 477817116 867539520 199228731 520860400 863645114 861095672 710635295 834584707 474830329 572218744 97508809 583275118 921052281 237890051 115441702 399331721 911992068 194408099 395695939 788103593 820311454 175253763 363748523 26080928 548938662 384597730 600951683 696504606 118535591 477189585 23935219 148425238 339637289 100278361 333618399 975420176 673045123 19709619 765724451 948965230 210069213 762371599 274914964 930341310 798860737 86447166 562085500 704110095 449064459 981413626 65485441 259683916 574934387 196865587 914312560 632740698 532568550 656538298 818849441 743616898 307807753 48324739 659884812 343332188 445899656 240161864 484196127 108132713 348312139 454522434 404794572 601900260 14936435 735588433 613927289 459673005 737737251 631973928 810241763 41353614 260011516 905548360 184820663 768985468 391761532 789053084 485719604 388753996 357989868 734535524 697360430 818138376 395142038 237169434 966480297 693647986 931764538 401064738 711384613 684312822 364067963 720716127 569986629 62420609 863915792 190523877 960499371 380803219 504470030 118701798 584373549 225723913 806189875 576059686 568126565 314075623 924789530 736981325 206540636 343408823 243598594 664751277 987134323 481738743 388731399 838117388 979670408 425804235 126760729 776992990 230506216 247653235 581887038 914264231 708483109 95147150 419264098 579964100 38206124 869853347 539094299 270146056 626086232 616995407 522120922 768988249 224869054 528383627 826107487 387095391 770278019 601985988 786307498 45993844 826356731 3156374 301602901 640186362 451523987 752474334 306990904 320361923 542994964 734005143 272463036 622304327 28213627 89935297 594857348 478655806 674711905 24517979 634221593 163850312 6307989 355115327 844302892 903969823 731611948 800691789 1749418 393717327 2845097 228060881 623891435 344991453 152721038 127745013 325667847 353216137 142938918 228487046 802674965 970666144 526332640 423783803 110707945 117711564 109405147 852600407 607105732 432026715 888977059 534563322 25730972 740076605 599894786 841531969 759641080 159967297 574739802 665623343 45481854 651166630 890324848 473912411 167231487 627882576 483799813 244388866 550903667 167416293 334608548 749382734 451814355 679597674 293109102 778209814 960030189 10031261 976150576 4223547 498805423 521288340 235852904 97932470 124568726 714515868 399158551 221985431 657899336 442899862 38471325 570576166 247076613 884191499 745826227 243921764 336477657 899107276 65732194 996723889 243601401 597729231 668943576 649226628 797098407 447893016 384841793 73393532 497228377 943359036 13631477 879590826 542187167 147204461 21239772 596520773 580609568 750017213 263863587 763890450 346655094 965276986 619084197 575897228 631830875 20643093 39939041 915568188 133245429 901297495 934632980 69618912 841345672 127982134 101908411 332801690 588369176 199908299 359169351 758805694 743704740 269439481 338621015 791368136 939461910 91312860 85157847 953534854 306884043 791526510 154069608 731578030 875005604 797601176 652490734 683689553 847011529 643399877 750420740 627157855 10187269 860890839 242024680 703150092 627746681 603455394 619589267 42589134 863678335 341154048 727737019 831454742 634610834 279880579 643118857 858867629 882181141 11742171 441300807 997959999 850044970 698190554 618197250 770257000 130410319 748271138 515101026 179266573 741710006 607159994 923657481 658638063 25109580 759149582 811307268 60658251 897269731 530520721 174739303 299174868 188574710 950909613 17132098 235923985 85652550 863518253 598402138 343550951 780192199 64582420 872057217 883612420 220975654 369491537 122542185 184368616 906807803 275379859 399989706 132275824 925205816 103156142 848953046 460558549 678846497 835741754 843280622 669331896 667244954 244329285 249282031 419144397 586020963 909763305 152407144 88904547 414218302 795402565 852546144 810639609 325029022 34860304 604545454 85102613 833719350 435334246 106480182 158507587 488565104 947555442 3389258 771750948 798286821 596243581 372985755 23972147 647825629 544996803 245995405 885225126 179459153 922968220 31161659 75004812 385088443 288531631 452860363 950022525 534187530 607526321 493000847 206782232 60322042 280258529 299668492 171803666 463307430 341230823 493074485 352022905 51367027 342197905 527845489 652576682 38527009 400973372 885325106 68709054 734941045 137111492 188660274 968051198 87771761 871682754 560013115 302764157 269952554 699062290 30631286 451253483 834152425 723370800 705254891 89996757 270034244 64304471 45294066 618348341 754110077 38414891 973134895 275992022 666625939 687557557 984100414 197096738 924226123 971121006 928359646 498799623 839035498 205989830 462941937 535145585 464834234 133783197 6092355 907751808 748836331 326167500 743752590 31127411 720973272 272221631 655584078 661519087 964899921 639836969 737488228 990290545 35062754 305620858 712336401 452053094 678858430 983776631 184946447 739871015 818605728 213151972 185418852 106108546 280843247 118102947 428336938 284671819 965911433 236701864 684362057 525257404 707352976 975805344 140686563 145373183 310617777 701041356 928247217 790894636 401509 553011769 19082428 867647275 683252775 987340000 282102066 365371964 699586935 107714889 51014970 28049259 780723945 313730303 123113436 167697902 635252576 500718677 217652863 922276650 347017308 861305355 509137895 543769611 14862630 452484854 597729988 468243282 309404544 912805794 245866326 411940646 916837212 697736501 196838181 870369751 276615475 300298267 566169558 794319898 545710482 316155487 148433910 503854081 135409306 272726272 829091345 155854885 458876936 389192218 784968815 816522064 864562767 403633815 747899567 523155350 318596922 135425137 814770231 782463820 284166120 21123515 766706274 317177075 805204604 183120863 912685398 631593823 404646825 154935298 699934229 209326739 485836533 169919194 540688437 642306832 392718235 579225202 380548104 664222551 504531283 304838872 352390030 707198203 324817635 247487889 777381532 189784264 928795382 148681051 89601161 567842968 776166630 100530120 123282907 868285646 581931952 862253113 638924902 771899905 225020084 92201364 727330437 155671924 418541761 176880930 702854307 72336220 740779647 723678139 259785213 113133555 609799081 509916209 304930023 314235162 878483748 254687925 85501054 433966847 471843888 455407181 468335585 902126157 392787608 659201993 4365850 54320833 186571859 738300372 861606167 144353589 81895809 612433541 66291174 210031879 610988090 355284367 757798585 967370338 163671573 910548377 552366545 65401197 582219395 3271312 153418154 737244969 110980589 273815039 408786944 323813406 388066868 240452878 785726722 800956986 775681827 820000941 746172688 390564461 890472326 239632546 498939801 240074763 799781307 898752467 288652061 488126146 432045339 998818567 145532556 872819248 78580801 291640035 625903540 291083741 6903294 602840839 500545210 54679275 806355433 717461946 707832293 245786955 965541521 911303863 995898179 792970109 215396408 538509510 667120149 939234146 921329783 541546421 567628514 205843922 59190974 763035041 748794216 646306289 159656087 545016828 742818140 400184827 406790805 624805013 918023312 208391906 408910255 482550315 539226651 324248109 248138236 530732600 629727864 647973346 99395299 424904529 500925294 24382506 146556708 613055799 601725392 56235766 509321073 169743635 664596028 500941639 313962683 60096768 20368726 284247198 718354516 634057527 279990366 274064096 550349529 314299313 659912338 578441261 642709217 502847572 467501441 514829555 556632816 24903351 742446543 305545156 374970055 587336533 685639905 71171688 669838225 200056169 700647912 207353983 251959272 131555017 467545327 326613564 639912048 333682666 263125553 304941894 909578339 239394935 568991397 606227667 555295722 773868797 286437144 44397340 497802490 166475973 382819739 408619745 684120846 739222881 291124298 376771124 86548648 662886698 75437334 255972044 171930661 748551681 201403879 583537289 102509964 376637319 223722851 8786939 935754343 936995025 197236364 607104257 480902832 801178885 218263525 360055520 136658789 82195595 449171981 381544288 934778579 477019349 899363096 811888048 999536598 29528607 388885557 238519804 942986983 882809453 303348729 274446810 225072248 241714713 61693230 632644048 891680620 544449527 353742479 853505387 573304249 938664906 920607197 792220169 478359909 131157860 858242504 39047627 525696874 681988559 137814528 357992468 580397108 270831948 529588330 469294639 639420433 842811536 877881755 990620603 900142444 687896608 353205112 634506124 465306903 212055218 400937504 140099330 138276282 934809688 625026534 676378539 77419486 63015393 941019416 963619745 367992466 583686819 572224017 695692762 855860319 273771683 304276854 762657254 34705670 60760852 221052167 718399084 44826881 680631726 742301749 300990677 452173483 802331926 344062151 884912499 987712654 842708027 489323532 683848462 403502801 660905747 80325136 427477020 684278128 146221489 414738640 931751912 889294423 808818539 409160482 577775054 66049569 359815527 953684223 138164645 796168415 28402354 537884804 469518071 767737443 402633553 778050220 668512098 491863143 942549974 30327450 898216030 18808618 28422795 986856623 800049195 328454020 137718622 464985178 993108259 782471028 391164069 907436289 901915508 652504793 821618722 460578453 711448610 328714440 510413712 407561891 630984404 56073196 746672725 303552364 456563757 442866826 303351179 948772746 563513319 54065340 713997529 145907318 239570295 37009454 24714454 355059230 691482746 860603141 609522017 670268157 894875907 273294140 395739884 679660630 645930964 290108889 909553307 266020293 644874092 231408645 996649832 585357056 181042207 824094851 631588254 839981059 653664225 236213554 254805922 620823697 446910514 440129007 603588341 967079670 294029671 840199825 696492820 773222327 178947902 941816168 128673192 180436372 517041279 527828350 947136061 143353378 309553161 519389948 347053434 448946963 605059860 815512399 491037469 565707589 444367309 493200960 736342826 144329381 381113341 299629086 547514415 299482053 918624946 892345720 177745034 359035804 723651506 693168276 75448857 194346553 699400675 239514180 827147073 200193298 372495880 129663823 921200912 574283425 771266491 627750868 295285627 796568590 970085442 736142573 953453927 240564962 444740940 628004183 447499924 783016565 57923677 926307070 464728510 133927609 375452104 458274272 202150377 84149356 370817646 43099215 198931331 949473716 945134268 12762393 622622678 658258081 188653000 436605211 407178916 278395490 570021752 122866691 208908227 15478234 829404715 263786505 347655518 671545020 153680132 368644111 886169708 993733206 195098154 248816798 348204276 531730672 654906288 723686544 517805288 800370620 291245334 859100953 499054866 448628359 802130888 223788414 635279037 921737081 440564834 599682758 566329991 612714149 230767877 288672508 175305903 466490813 868959507 204115018 428402766 940215072 648675399 615937151 353973499 934770732 918729244 76269381 930958688 780605077 935324445 418484406 743992936 911640127 482731117 123483477 181429967 524307456 531797560 756850205 961964635 460294975 342815146 746470135 734031501 519537932 253996069 958659178 144092278 792993854 538309928 867000540 208066791 245341276 934489135 16716569 289996364 38723461 886880874 356903687 776434401 353437882 478508175 33955692 266797210 557864831 647680848 130083179 891465026 574309715 56613878 381520923 260670129 270158681 876217966 243217989 200117927 731046980 661853862 653421461 597619899 24845002 189640764 600722883 327202870 855771539 57880239 365133688 722810612 747338890 666399843 876120154 282359997 5720861 450379426 591050732 155524962 235616520 676008148 524524259 580128195 344888402 557221414 157941877 281360572 198657021 230384343 742416741 948722571 292512785 976455245 249124563 342593557 813543977 501912332 669805118 511805441 577368305 824588561 455590138 746000706 544227081 366460283 192134055 109172346 449455916 268091079 711193745 207815530 549826055 82788619 620128127 302878753 828652636 853670763 188199773 803331447 824929562 199521357 294893407 607846621 519197276 793369773 180722691 929669832 584679207 688887346 822977777 819296775 795107435 30159679 14264406 801851321 748904698 973587766 163237450 654369257 782916886 859569973 258077303 516306635 372342901 935793123 701770432 336689328 892907513 303734551 343929762 23637655 338231725 394345932 713878043 393284446 477465020 943775000 550236448 367837592 765148625 435099976 597596451 771549354 817636530 191590790 108590789 327537063 649482 861217134 34724702 197024192 263958676 919346478 239585062 744734318 277208158 548461398 339040470 613777035 844520565 118279649 62313832 626023168 226776512 484500685 659013151 701779056 59604965 852678179 622789179 357288313 615226141 736236897 458374487 326181531 260082321 726765272 590484838 876780581 414664484 346080033 498646368 938025746 931282375 167179090 253260811 195503953 242046889 495974723 183402570 842873676 175585760 357446355 365383673 302619659 684696862 728497319 653004890 497602889 413935660 474839849 296761954 275948564 974568740 502545666 720518229 377294961 644835291 965496440 111329589 23084341 302330645 527376864 491044567 748076289 375906255 466987652 467877389 284036044 990818279 10996277 404843115 637135508 86896907 376146235 872350501 188758105 127507454 31204093 540327707 362272661 604270085 233270438 934019062 923750216 250424004 947071007 708312563 5712986 961344654 221751081 648823408 626252907 208329439 717043762 589280815 186140401 586092318 21443323 108063444 652974105 750971039 333708465 170296289 303738182 449552931 338313065 536653430 732256496 427735221 949381903 427980726 865360953 737967696 423827878 933774553 7762773 959669885 250410951 275665461 630183502 122800219 408507035 712098892 716765087 805844417 5876417 704560330 111573029 888057377 271224593 669661046 601250797 666245541 244025822 75472135 855842276 84429577 343180352 403829492 230474579 480225039 798833441 716753822 923406605 660272986 14842750 472449852 355223229 527353963 745105703 790626794 229782953 388576727 83633619 817748935 133205693 567353867 695547544 68424381 936806453 306961810 819146216 185544760 994099520 715020987 945770991 88795551 210910002 4051140 444899150 626624051 544657956 808393835 341095047 420883039 370027678 763020815 726088372 374021653 191948434 914486460 745964811 92946963 322094726 634973355 695660694 163412522 330403437 774603614 770535234 199463723 68212050 976183147 806290379 632185414 813409284 549048627 427988526 912102231 115944289 986614676 127675969 928295247 715014934 737533835 693537342 296819440 283030181 362898776 869867862 88364291 658029534 896893432 256474597 334371807 790560286 155039661 241127607 358993850 944784816 260379878 908181168 397160546 580974113 324848481 818755303 791787565 698101886 359771795 623229005 717494741 826244086 848350256 580392575 967636208 46317511 86538221 755410677 811217884 993903720 943536391 294338516 864770183 94009142 409256788 788564946 720654866 446471453 619578522 527582346 796378512 109117892 187318081 86640166 196020126 634623027 422448828 591545108 800075603 6398765 194544948 344324780 677315081 467782010 712805031 613945821 616009591 105162458 356235597 725182406 32055762 693524720 732406639 770793999 127380247 316764113 158485502 580885616 300722642 921827842 504441348 909211129 800820006 838596766 414443960 893984960 356063061 664934563 400269934 633081942 15937726 635840544 488535486 434172739 554585952 409061670 314304814 236868848 493907266 690733085 169015390 913578397 103082912 618444984 222747054 830364474 39642116 225696223 861687912 103076662 603225658 807958834 541500005 674111017 438400240 709509002 940840177 556399873 257186401 219446235 218979792 592550044 636888544 49985953 554875927 280635791 716590034 7976536 221384717 102792551 961459026 177779428 668561627 58957195 630781600 496857789 379807771 122810296 827428137 826359856 853756448 624122337 89362412 949753448 600977047 596344087 810987323 461682765 613655501 761906138 607915921 221326651 344054542 902823785 630263272 707410745 767063319 558886351 346928681 148925226 632115967 450612507 578282967 846028866 32036459 634699131 913944872 836355203 719936446 723178931 951986142 913660886 910946334 617961470 43071972 569344627 184461780 812841717 461860608 146564188 514595876 388280157 382168826 936838381 396502784 321700595 626322687 90718831 367554156 918300382 90626532 98600066 290724012 489932898 580922804 106806031 129549882 987969639 206539683 234894890 442841152 662630838 978959372 918179044 529290408 735079774 180518700 68618044 616982738 383268633 561335379 324843925 392858167 441695853 347586993 243567972 905451548 641973541 53427896 446378805 65833907 296603969 357654408 774288156 881077687 204631257 47835950 492881740 885383061 933925944 396832037 129779050 81325365 10718983 485186959 10609432 493634763 324430574 228124587 286247131 293524778 387276329 200359770 372271164 483066043 50999050 521147239 777575527 921255362 525421401 434644178 186839793 82450868 578221536 164511701 264872197 169305606 785527918 132424966 128579432 550214189 933335337 226933787 733525635 260082638 294331265 96425293 540971579 156303317 785606150 691006228 112806665 326337227 848716388 883531090 287264467 408666072 356765026 961469184 497362669 540675914 861458757 325106467 941722136 400754915 790810101 501766401 930887142 581967883 868407760 949952507 272653663 959487575 377170337 911028230 376882630 922536110 254069525 496706906 939013602 502748715 868904747 61454595 214059001 366579318 124665955 78947602 649701773 80229348 142598300 684672619 47040063 554270407 31095612 726239666 243913327 541055296 855225069 61214499 664752707 852760986 314455720 673138977 176590991 130732526 418972836 817514649 577186135 21666203 186039002 198684967 930520997 385861094 42534704 164902714 908292940 98184157 338457938 983851916 326526938 787318570 396409304 457808776 810104009 492147808 212512906 452858843 747742036 334602603 764763911 296267867 658849959 281769195 999108311 501817492 698210753 100704788 904657349 599714110 507139088 676247832 626280021 872597039 240746726 926305751 226316268 891671015 78729789 287761430 949524466 981168466 456216754 841744583 835911415 314749203 997086303 770408109 310561610 603980993 475569791 49437053 771386179 45066600 670146252 803383998 146918081 909558321 269402720 670622212 400301264 786702091 262735728 91963267 236660794 638422276 924400737 721326427 589809238 426180980 123228728 854735229 233980313 298617932 801614431 350757757 55630316 750812482 746079249 959411610 936364311 789571660 553226884 505440572 589847571 372058000 444807413 957558628 955922326 73102245 656016560 857117262 18296927 880181908 637092842 793513542 60234046 573066286 304208267 817765583 154808745 378294552 76291066 507590157 818233420 109194238 940130579 470849953 751836209 651586480 566908223 96909509 278000302 866987404 651405028 238819324 446882396 120039696 966165457 340081632 894584931 807745478 909743191 863063281 58077912 891623088 533082590 250264317 202005443 118462093 55893287 845952960 436965001 452831400 145320086 845924442 969581455 465483438 661497915 274890532 502968946 446763234 978771093 797711292 7002763 602658770 452386820 121861217 221605571 957244967 548540711 71274476 457957983 307844606 933233754 964145537 725454746 708973241 56260686 706731435 328829737 545905294 353005514 911857651 740007375 833529510 18251191 490284927 835481911 134998325 211094931 340407265 139432659 278366458 743613436 582638062 404892156 934271166 956051974 422356742 2541960 463244444 80896312 579373982 505274184 130914505 436782670 704164706 825389291 759283186 684177083 561652583 756185060 315619964 121107103 729741283 778318457 58775098 244146792 779347846 186350637 750661211 334012786 382755186 439928627 152101121 568485447 231101671 113156992 93412443 765571553 710293204 637664050 630409962 417762220 802276977 827405932 523221039 388518237 630271581 3179530 397818413 360462916 401699778 119483584 592559738 17201422 57415100 415771834 305326151 951586664 611853338 634482680 551082375 426401052 967032334 349478499 602540304 255549340 243514217 601914978 732280432 448043710 556703177 238290855 387130725 716110321 70827346 727445338 678158497 855992851 946247665 445394363 700147286 802947953 819465051 981119292 111121033 718728679 549717885 883926009 875081999 313544554 179838217 549268400 763231738 840065570 863592120 537054396 150332988 938335138 475438679 476252330 468998178 869746631 953150376 812361981 777379382 964053233 382102255 637805477 598499422 725144753 4529314 139169639 619130552 690711827 682930890 976130837 572723293 488299494 515054823 347037858 793371686 248317605 106309590 790844213 300121986 875625903 230475152 980845459 897974056 777220457 510705268 342130802 475891022 960594363 818303573 975793827 328218966 838216647 182880678 764099701 320977104 317756660 634284790 521690058 428417918 202367920 266562651 468890961 573044718 336017422 282147796 468532075 949789153 548843283 820204267 300893031 197806220 873603329 328564445 746898325 847445103 170545857 21428725 72859112 340601566 985111428 999755925 407276446 910154998 928086432 398270920 195621888 955672697 146392922 348579368 414792175 92543243 656531835 731294276 533697408 728241344 245801987 987348000 421325841 139092187 447225079 212931942 37755775 11826877 134875557 510380016 538630489 605526384 773429809 172337306 546151561 405126425 840512412 183993498 551933705 64585125 779089361 540524657 198413269 115692336 622283837 204457175 373316387 31256231 755170604 513391830 77181093 215353349 91929475 918754757 77210310 833018982 525367412 96017269 121130386 152836999 668273271 450423050 202193787 3482820 641360355 456867501 562004403 871030059 960005387 316288137 352970131 183805587 363297734 116390764 394169211 520860104 146891268 498593116 443272651 299495364 134904843 725219695 875906024 461559358 695124105 358502043 220943543 862133351 192023283 268457343 657522096 431274055 816415535 203447186 201455753 881676660 300029476 763697176 904373425 596482980 831170462 469979218 754128790 106090694 281559920 130878973 494903081 836529107 386372729 925179687 962186504 486931303 868040247 494968850 875022905 732152376 951106391 297064228 148145787 710376071 796724881 653067793 830397725 100565918 671664115 342949354 311287810 888738528 478276424 578173784 744920488 83035883 935267110 971428873 153022774 668097872 947143005 917660174 677635736 373618698 679596009 723416076 969282663 469802109 445213493 310763910 182453057 230194895 632367839 333950302 147082773 8240552 686948793 844490641 748491442 387865537 99371527 472637968 447980891 219592110 614982947 979058631 980708453 238558199 964715235 207277393 404273519 168987740 847991265 963216129 239685815 8617566 230869619 635757079 144230307 67918227 3775957 331567605 469265604 846728449 334999883 961594915 575467354 902112420 207880844 940338990 473717085 746540201 392383 534520482 837899662 853301523 963308071 692580132 304195032 309178184 473330445 825274789 846367877 31136515 99516038 411279116 391776577 732159614 564638619 953993932 644256358 794792608 830904143 733291934 672562755 474852209 675934528 490139193 416347477 248315142 687471908 73402670 513494288 328084940 760611147 303732871 617062114 252599674 357545755 480553096 198328265 154944162 616331736 874884677 612094188 842872663 225982798 200541641 6714596 928175112 798990289 999415686 31350611 184219013 97944913 950309118 602623617 38824042 22267020 24832798 151456817 598158407 486332838 756775607 823759539 585825939 721913124 858144324 252819747 470722669 156166332 210176990 549752194 290818948 118439056 405590238 330489656 262936223 365360820 382094465 197824241 545146250 781907770 562330157 721288402 797585699 332375686 929589529 310489842 296163339 787850613 255575628 256947668 989463818 79107806 266808322 782442067 238022134 817997538 156511818 416188424 948435608 703745276 957864313 953458832 659487602 287940928 131874320 609051749 525459961 641832195 506503248 179262344 971394191 265278890 8743672 863805911 657082827 2148332 779485042 385983677 85250152 707765803 338650993 696351118 432639376 234513970 453070688 967232550 710685177 331073336 617396820 706639468 400511235 891492329 427865822 456732143 697877578 85927099 235760384 721882601 339520647 647110174 935597197 151754028 970684492 879809523 318745036 400346350 223432121 240058459 123085810 132186411 755762262 174272550 612719777 302134420 71865328 692747138 952065602 287627960 693349943 307940057 291579529 220366749 99285174 750490967 575867836 436573133 158377184 390081140 529349128 976057792 775999244 745415755 18963431 20703145 413239539 795381665 638398073 589600804 705903794 544860998 732882028 313990653 665905760 886098508 591023575 662574674 466160010 275543625 878715917 396668149 97261764 682037486 224575435 324384939 302737029 665212634 72305213 415694726 297702651 764127694 10677190 337586461 109631385 838956623 933604910 568801275 233396990 917856274 999496115 41727942 760142747 814456446 23219686 294422799 517138069 356164931 546408325 527478355 569964663 668662098 288759238 616127304 488286679 329490540 803428426 141595095 646628922 65492423 901375586 612467759 566003964 723550783 438052466 995331574 222109210 940049177 671257622 596396147 985682041 511687187 580288321 61891269 925650520 964000188 845478245 495364303 304622805 74627556 653259660 920676583 46135130 840974948 212826328 617751031 883968257 543509600 243168583 133003417 867943093 496879496 82260042 26546306 29082022 207196685 663320144 815129260 984544658 691955716 854153776 62119268 964931800 623528997 850097066 772023022 443745370 666914097 665418190 725637630 535975575 473817163 160138828 768927632 594495253 902032265 570041365 427540275 248130270 578916798 216676716 738952880 341947560 400147069 643912882 846534896 854844697 340389168 815876994 301140908 22160149 500434446 344680823 331008808 290287524 106468323 741598724 584544836 850810254 745497355 415628251 345460851 8302859 542388456 500029883 686632494 732377516 87086523 558305596 903433150 492783456 335282161 192892362 324466447 696448806 662412924 163361938 122747604 525608124 209770271 462654732 342051726 396689609 722122731 833464595 36397939 142671635 302805365 720442036 274710894 787453751 3010779 251927593 342235079 19184454 79208920 876388764 930397208 466939922 181215747 171211629 243645326 802235797 990584573 257262900 146775264 284396221 35228569 212997718 226183579 273557267 601263145 508722910 439519803 263410689 60741160 765892850 208148144 443027435 536620519 872595617 250628048 787649590 369756167 511668874 382444264 964833661 307973725 731907807 297815819 495024488 296965965 17251922 271324024 755940508 963882415 350366774 199668547 513020704 313039447 335149207 126084997 681104613 341929085 86911275 202169808 290931472 467209031 304648159 485318358 794042761 881938950 990352360 349713156 768617980 854021097 44963102 848439593 165937542 941052743 304655356 550365839 769396146 670943095 547501035 607717415 718476857 760990384 772375968 584778481 940395645 94326922 341400227 206706565 92234227 126908854 846766107 747859139 65807029 815063073 490285730 124254892 311497408 879605775 898343880 623728135 462375177 703299888 41347402 719795894 273710352 687714725 299476101 568829871 903763370 480303042 573811228 792228666 795655607 321463616 508285515 843595512 686321607 129320243 559283660 269066428 941815538 265924286 286026543 591453730 841421387 788002774 213952776 673207957 632287909 970287651 448837961 771405634 832789428 103277649 479168445 735151733 824061323 956588471 734681568 330181410 165725207 285239261 708539520 517066487 120526791 882680666 334201517 720225423 91893025 786822372 870206555 521698066 400693837 995608324 704143814 510227520 830705753 19181608 951399396 491059140 366263060 985428814 586612380 355336128 371002099 299854585 179496015 606544589 258184950 92414449 385853829 483600582 938827499 322106930 453093272 338531504 154490464 793944455 820790797 534568859 3624894 727374650 615006296 343637692 711714438 200718206 809205022 696602081 115901360 285332849 574953644 676475534 946153217 105062429 890204863 438631793 987555950 867875538 903845502 197164737 989089594 438668204 435741811 971303116 57934042 666357578 519305098 102857144 58965381 893968041 790173710 180370476 421738080 211280702 292972263 807672151 104029772 626581494 116245540 883338602 531427051 205210253 321340497 330928227 999594189 457734954 199213023 947917632 40988057 413121412 228883499 651593690 645586760 738227839 229362891 390262571 222384707 431134951 534817764 631380272 364518490 341132276 314235778 285832532 120451788 97205867 447167119 625150234 184765682 403453443 636434131 651350998 529524350 398583985 256620383 634099594 257262650 987131469 563646291 781197541 916626475 360252621 213765699 429926640 215953038 244233471 230732595 214866644 142609840 37848205 747777458 681598410 899372039 258639437 153496535 428964031 621356164 884104253 195412717 851057027 60679836 266810401 328477290 640504565 398681548 94441987 543728221 316853421 506531825 804335795 237141182 878301163 644621499 214138734 842228532 806634882 45610739 120001389 894079536 362806836 110973553 378115580 96000929 697209696 749399685 522838234 819187668 450190090 376006314 708027457 961072231 466270742 498609380 156176186 340985452 981022149 290857900 64201048 629044424 397394103 127490112 882169046 345920652 194773974 108167353 283466970 713303746 612144584 174622182 716689383 118864158 625474946 882197201 280446534 20453266 146986825 929893209 690162743 634264683 66048766 253622404 291906994 319667947 390385209 974683912 898328749 252482939 517610887 756983449 43464600 581105228 81729726 190792114 715499450 748568205 956843382 180758620 835677352 826593096 704128064 515821976 466561205 553275898 296044634 625924070 943314305 990682635 395664481 87317132 935070315 132506849 77262855 52647987 389790993 29751541 317776556 200857635 837458205 270266422 642885964 516873250 747162209 752549131 35703266 274238779 282361612 756883137 789103199 615571319 946181158 13410693 248531818 795521812 729225674 750019884 870666009 676624274 57415230 627342993 571670406 54053005 134304081 139112363 166218233 296474991 114438417 233163247 889917493 75874428 722505046 950079760 776462158 779265777 857681976 56762805 767119190 597732177 548909826 237126130 145445586 714016328 281157281 725937925 428466789 192186234 991058160 556131794 799299576 536733478 531788118 554832464 698757627 653970086 628947231 616721347 297206109 48687203 729459677 511768643 940603628 455598563 514255488 249429664 160769968 78345622 751490642 959328592 275645602 140783450 871613080 274873214 998308201 346232670 574226512 253940344 129568745 920703731 469349820 678505638 161034081 665303892 638260227 947867130 553442759 263987556 619558194 677424591 421165457 226342496 583846132 526531560 450129350 722911909 387811499 330008534 604379584 596032860 113171057 497033162 542629393 699600133 63426422 102186435 670407631 746921 851385936 497883683 635940781 95759982 863449898 69935202 394686770 517213829 520515843 684868566 163175537 819262529 272879041 135155446 278487194 549170762 870979460 492414352 475129432 517664536 772533358 106453539 132967827 602819682 305971101 265090570 770278632 599246137 845644128 818457759 78622235 453718933 648335546 752539999 898566905 752636036 674197292 987944960 891863454 825534377 835761124 222946778 671906069 622358500 110108732 741228731 654949483 968867556 617752580 913865324 392597332 311565569 388881968 795925142 679292908 176703156 105236767 437447981 800253181 376642810 728877405 803374088 473717439 364767644 661634440 55091112 92565198 534617480 110093857 174272120 496599835 581575450 752888482 773728991 70278690 364964035 161096207 733177081 175294717 678378016 467200126 759125911 327423822 709437068 325695560 843768043 631237234 507702110 52979684 226582359 796317203 934566681 86392301 661928219 319036976 327070306 512281176 19436970 764977552 710347220 199621751 354974891 467138392 973003381 460339177 715438777 496338650 282667624 406735036 975839010 131050816 237521364 838081741 318066505 633791796 510769835 112765081 898844253 768915713 368753332 582865498 132922400 708846681 560690988 594408338 321999967 524032382 465642282 638085648 650213696 876066230 510984368 13139906 882673764 226107207 312393974 674073546 180136242 917012997 526168481 659423198 147967223 322436656 682799015 778094425 944660448 346820250 172241237 33458955 686312273 435192591 579431406 883220681 617743219 114138704 50340386 77095511 606270215 755544186 259598132 526735609 507655251 652588195 106457291 951760206 264955854 258878868 752396252 832340047 931206752 830339734 3780376 952601722 277551061 21903586 772209237 796753053 721830365 729149742 829987299 355047842 242102000 586449694 587010965 958507984 307582215 572523811 829462949 504685710 431485701 313147761 857587946 841342971 766079587 604558774 523007748 840464923 612523098 580131299 693399970 242849400 766841656 35892263 741368568 712895747 683838643 615517434 309087523 61217038 39806246 435805093 360115574 919556011 503470846 628806992 314298335 341193971 121589885 889936901 980784113 894884918 8028620 239083846 549349349 937606478 110908150 884719212 763784932 826298689 625739555 401605048 365472102 279628692 152222229 943865963 368938393 235413826 465043620 242137657 702186168 413763945 293754836 619171233 641286798 432828887 364623250 238128051 565226104 903157289 147335619 625820188 56734309 671733790 168603945 336510575 751804484 826000336 373832591 32761688 257648190 541379032 374667019 664676447 417563124 934806519 187308781 791931432 659059402 599009026 105050298 490933820 59325350 985681198 369480160 434934250 577553256 272647292 864189289 653398361 239511912 553990449 195543364 914766442 124594248 346471483 168393888 384335714 231977195 353713366 469896471 246673555 319057479 978907363 462593187 660346232 836654702 244526869 631582631 834471917 302253298 225137557 198282490 760690737 471947989 172984247 635390033 585325145 1474760 60241564 779244228 220454540 970476377 743315515 246831681 165132358 78903666 67782733 421318923 748885312 143375935 481787026 778029298 219270373 377280490 273897384 568585861 546091162 479812336 517273662 779055641 657733126 622201320 747279106 487838183 915810668 89772088 200234920 431606698 578679164 85277418 485166792 442357952 741742364 974869721 182805537 26633489 393963940 275617570 441317222 872694045 248676595 310451236 39813339 317867794 384682537 734763105 778492812 4297900 729691838 448019442 544379376 724918028 205847653 931620359 987359160 834524637 997598541 690245622 530508506 230707202 677915011 777033666 536073076 152226501 489094350 597802310 461411732 722519425 571435470 190240581 60970464 800480937 677418676 878678913 706082535 490429486 667462795 561759803 455803627 967482234 358439937 538448842 303917526 367583941 971082158 861708053 428932749 692075362 24967307 213522247 275069599 45823791 507163772 86682177 818296032 259136816 914369250 758094152 92627776 829786216 418765629 850725423 542309081 146210794 437615630 872952893 264513662 90291127 503596632 489314205 9936606 702063526 951772562 533156099 853021378 815305113 352861771 823711582 806425972 67200033 913950513 415983267 565287240 815142840 547261990 733702924 535509159 896548066 847492616 251520476 254652561 761038458 851285645 722000937 689742272 197024866 209183260 51130013 735671263 644554471 658312968 450468548 862334744 190651203 338685228 623148899 780299091 159772838 993161364 341314805 397386868 187053277 297552778 968486373 267601973 578464034 515385697 747722697 151851399 140665755 740451125 279650555 896255173 926881054 640188195 583582502 901625049 601537051 653249367 664485412 426694855 367968357 320107354 883162080 443714331 909022131 601313509 526316575 495702309 263663923 89145480 846154331 51980969 541634557 136953669 254949816 799146614 133642578 560645433 425203500 315522724 701309814 423722267 216137215 35297147 961695886 427843066 658756011 807135284 984241660 409824779 764542845 945399803 841663255 648111969 655040975 687402637 99726043 437685279 313842862 907945371 252583439 228616460 281833665 406115533 34031607 649123335 977034929 810416744 218498429 17390866 692193576 278253909 987564989 151398304 81163742 687061437 214415723 570804751 861592476 304785998 564466061 969258969 884781562 72142574 371283945 589087718 205885145 754734890 80029734 749307394 242069527 185171604 207233303 59215370 606173453 62159740 847902327 578169 424761995 612165501 441651929 103541858 383102474 990028142 708592852 201899525 534211783 725287405 435691940 369202381 77820156 719244285 31211106 203118889 871853472 96295440 445391436 489548632 687171316 363341415 97921928 821033558 266731105 796294512 773382208 115400674 165765549 291503395 256898533 204916926 796984744 507274503 393577371 372861448 843981022 200712654 982445682 773269020 120016415 172852925 140350057 986656141 583206920 512925699 337079296 645503606 853257674 366443904 817394758 656339902 984011762 474897563 468320622 375278824 260759292 811680821 97330250 857061858 244525078 949641488 13658255 452147228 246064844 965102847 911884741 93797544 542705057 785218786 30348027 768303792 671012954 479468333 274663945 220520979 457601557 63626254 142840640 561786401 462277434 553225830 660296510 24775603 477322255 737150191 26572581 499525510 831992925 874947282 558540040 30646332 682035990 43089429 45999712 247872180 398211065 259646650 918940173 619265448 841480089 445188238 790484497 335043525 246245660 30624658 905521974 537529045 808401320 300920868 700716112 159270171 801342050 831837646 205397163 193420591 382057796 122910419 830781471 160186350 449613223 396257748 313421730 406281265 389265222 366409927 200164210 250052051 408302628 583436429 727069682 912952275 626027693 718518921 793899098 933651235 754993208 803108128 157660280 49110782 931144482 629582775 798119273 748546954 388983294 318214110 308399007 307338244 634317900 233284705 556163858 762487727 626347009 76162664 838036194 254889173 831037950 661007986 974273106 4416988 858181339 981860817 433494557 466022815 755279026 750057658 712886511 407764454 213529206 233582817 428743745 904306048 55062413 453756232 718542575 933254067 39963461 732804265 130596521 785487123 185258292 720799740 250722388 84073290 46274518 632926205 219122459 554807290 134085106 169091092 182578031 4139985 256946920 762329544 822867369 576586784 752356993 68602644 937794196 703553207 882847703 940992545 365040154 269161235 157068628 106658656 893181714 616231298 69647722 731958283 829083223 73630034 979964450 772543849 398834177 477003508 47812181 498503327 821953302 340455198 504322071 780932145 487809101 472215651 410199423 913346838 266625407 849607552 552131080 956813554 725487703 952961531 600408807 380585982 525069626 493795793 941908534 11959705 801829978 857151809 928233020 485857307 133189467 95075293 576290168 729838563 582912462 235376741 828668153 868585057 142426379 959973640 984648665 653932921 273139020 341039027 699584035 258857914 667265023 303783149 470667949 976321268 569576174 735966169 172137731 747141898 586173220 787977581 135955264 591067706 319603923 588670904 680237861 587974797 346577860 855713863 742343489 505624979 177290134 195673067 264266335 692971931 501549355 462082588 765592724 772023241 43348141 877468436 157410429 499148841 836306845 860194926 315459207 107688744 246877541 371813105 511306539 322750558 777579177 789463866 798992683 903024537 814263585 564129144 321744708 229259545 371152376 334684453 944237108 808441016 704675690 780453297 751234437 697607905 105274511 482865237 840327196 586576367 751432412 647062239 685596793 425069405 960303925 590348903 158216102 104939007 711072679 928722938 917231427 628689167 182716888 498593760 393714315 56888560 941841227 999512648 266039411 77289506 237625524 711907891 926449405 732569132 521416227 296892417 316013583 529762896 46242223 21271585 757594347 724733703 115445054 472564271 875730258 608407364 347819257 381769954 699192525 552018220 517425408 950711999 558323737 129362091 672929481 416416999 574946696 619426246 254790933 983197392 795859376 742397147 928917747 637046391 547828124 383134912 393821184 36470982 611420906 417986353 803853657 996622761 242404568 221462878 183987069 946416144 203546835 905148415 426039995 341814422 70846226 972284635 363375133 835683635 329761316 37164470 6470428 898525934 73691223 283763983 362472151 618528739 172808517 333817696 478989125 306104937 50914272 666744417 9921198 571455432 529769894 450271437 308022627 406582281 129120152 18329556 288164710 303190419 438974835 775830248 390043165 313236469 962468763 453111756 42967935 824794791 158560047 365750333 276085119 475504878 455932127 112842454 602837643 750452669 833218624 162212757 915537217 270698 348592414 319192329 225412469 921747702 328422320 596561332 475745598 31785023 734385760 884733775 960270113 927870321 654958583 785650469 585177801 825880303 191262768 921250675 648609630 73029385 735982029 680542758 634883412 38360307 288126430 131922634 876626859 973170674 435773817 670081123 796602547 622488373 619078434 320616342 491231118 819662653 176622036 157274132 476146989 293342270 23230452 507707661 272019637 506383907 227977126 287983453 278929672 651558526 876708288 254169650 6836876 132014763 621306333 990428052 992539851 245555256 561637474 367871463 475695995 821375045 36972286 72503503 802137887 537982771 36751585 432550824 107757595 330371483 453552104 314360002 180914244 798442784 772338558 360998202 292991080 15509770 434946869 983604164 71345320 108965238 775193784 724164964 466800222 147666802 887057342 121491502 688299921 466220924 342348132 790512200 866776167 281669749 923050793 56876441 174307536 644376060 501016458 738765445 469809115 120743886 532676537 601313534 491263629 749438684 384488404 44684247 845158027 412872335 851410988 918905642 655833195 576785729 352580670 900338075 650590121 263790732 509796376 646459837 708253818 658425197 37087718 49003588 821565290 934643954 108495542 372950776 400878242 244030560 839127197 203485163 785600266 613465239 827204574 368817908 785434022 104330972 69852097 883318629 685334011 995693398 444512385 24575428 654978531 754884882 380421721 606772955 945653228 785549911 317422849 878946495 939155742 674505904 341410348 883729797 802154976 490845200 246187902 570864226 992647053 757356132 550461587 298961270 130657026 420857256 65752436 240513247 540395707 411183096 131369971 324833868 282015166 156963551 112629709 786598827 446839837 506778434 701657309 14792581 477947704 420513330 558593897 266523940 253723932 299216994 791130181 150268632 942251352 140509641 323990104 983452500 985030394 273030003 440578930 960040556 855326652 227255591 295822693 736100288 141186173 187290492 221366081 994665676 920707616 419505889 255439461 78517654 884420693 568317337 902596039 699975440 457868705 719768111 158940203 611861915 700994985 997889878 904174531 543541833 891350174 983590465 993991507 449406028 406675840 198091715 902201342 986509109 275520982 234833754 774838253 674801503 949245146 316013967 340906939 741723926 452857218 619292693 573104212 275173411 559865358 842267247 203388370 548837039 515456956 934215473 485025448 600367105 172770410 669526105 875568172 494204136 546408357 452896935 667932893 818664289 188020867 858667515 709148808 957869778 355751249 513565968 223261803 698937159 786988588 422151855 306292574 209760280 623527553 429681868 782038817 677838628 550934025 116026484 383609667 696675389 690019890 497475557 678097739 801329000 475126151 37367880 349238775 679137221 500330196 418612745 397075378 837570857 893920205 490898434 616909451 201268739 584733862 436567566 350531158 725472195 441458761 986297903 916749881 419874602 430977989 298664468 871145146 160073681 841327194 30668751 246576052 379464176 119427429 618861980 494014004 425947398 910601939 477136490 985907623 794940165 980614398 745887217 789251553 426704437 730580575 594856124 659892767 723441014 870823343 806383175 581427208 658875773 831109761 643466045 529705273 829509374 689015374 249660477 125682502 468933769 982777592 86093916 735308729 808578731 651472130 343361356 804468192 746204236 859830579 293155294 918968244 917524764 330811314 16623643 879251604 447546519 353083688 598825927 286042876 775207580 691414006 235440783 954318780 79138679 443056482 886321220 49236277 840121070 308744934 350428363 409526436 369617101 170369372 714949431 102837699 29741373 958634986 405237179 369206886 457135199 651476245 255780015 312294915 883505647 215120121 992945674 312996322 343664506 634760340 69366115 981608190 431603062 938180540 632043761 599761789 863952587 205015064 978974925 303278729 484173256 810354948 163586996 89646697 958760661 116163164 206809186 256677512 19209654 457966313 626256040 25092173 226832012 126905880 771653751 24066118 770528753 51409852 742432182 87429761 949674590 595333182 291159842 596377815 838425143 253240417 541011933 743846225 431507364 623604185 560573766 237387776 802203707 590247772 904298667 35693672 530894353 634074357 150629825 197676175 236776628 515382544 594899283 203244056 50378802 715054796 219125536 656971026 820617530 830373413 222600426 300166682 799781545 916546487 921304452 917928474 20484318 931915211 964941219 28591138 335411515 408852668 695551011 685038697 520995959 721285262 574034113 355970681 483930193 506033920 156237548 497827678 203996996 249611624 134868615 242238097 96150735 817598037 58714647 121355233 592788498 690940469 925618876 464117495 98035890 403297531 449687511 792828319 773743807 868786573 582703331 443394655 107899798 588683739 83210231 744262114 130628977 683950754 825819017 506122326 284253331 710906397 957295592 224042106 274874275 252780833 293990132 931541220 998246851 139035104 659837499 783300043 163439116 232634604 190427692 504296306 838811934 830494917 500805121 347550830 224297804 112019980 513658886 152401330 610315418 502831283 844766424 780673384 406469133 999775071 121633337 728083301 633742572 809317212 792258793 31514026 966297022 274012992 971452900 85540197 587085246 309108931 57908298 300286528 373554245 188178353 125837442 813058105 74685617 155753680 848365846 220141009 746855011 460527093 366486581 809891026 587910059 724303289 188976598 622471595 166810786 284353035 629258423 368019137 523879154 966784377 424030153 180903628 264980166 209584846 988956128 93544948 180393634 317980149 47661367 38503581 937481257 212206102 11097602 974778137 421613425 803137517 784547334 838129941 766715863 266194516 227837467 830840658 109280537 208185949 600127982 886258871 623260691 557866348 949840042 623075903 24127734 633215210 684759477 426603258 470135276 1190523 76729110 261878792 123620683 196057759 508374629 252535539 435956252 240263747 756796730 282160785 186025973 50360820 288986090 169810308 816598601 728287478 409048800 743162761 844641211 875481292 730812728 681970636 838749161 855272826 554886769 751088481 928332234 553203215 236608529 906684136 376714074 738260380 666144595 203939249 693016240 287959649 891113224 263303750 825970517 487032371 751149490 424452021 602530208 528924758 14685928 661228839 169012517 214968395 137695135 356879821 124888286 411640476 191602048 470354104 637438085 185273176 705374242 384379765 44510495 567903149 542987045 948242482 589440810 827110197 800312602 157143372 638848029 689360756 62408695 866143056 720768952 970054110 461929713 266014722 478696029 787409638 698734890 228761989 46223752 878195485 17920847 71794447 952242539 277211072 688237286 935569383 4497864 895454111 536657558 920329994 165680399 701610472 497615487 954323733 31752239 411393317 979090551 838823574 621072270 339701757 254690507 530257779 95641532 141911263 134445462 950578765 741711632 531822223 69987319 376358614 802920241 111482655 986063120 563806898 504430722 928268949 673770784 370285251 905425276 412257278 726161235 165052359 268041 168759576 20261463 657431279 633661048 53414136 274955174 56495520 288570547 780576597 668893296 834858504 134206986 695943196 884838989 822630342 855887843 122090360 706466658 970260879 613900901 941077613 30966700 450236892 141086145 777961225 987823123 455285927 45642870 659111034 548501666 431205111 372187592 307091587 762961239 408912015 764495599 985170363 406983819 168905759 620619118 816152292 504754144 958836175 886216174 345960126 127897491 645872807 267929539 336744753 132605168 202001338 751188402 675676381 362514143 765660535 258962665 687073026 110719353 143655636 132659868 312954756 344378699 861486538 767779907 366984077 902193475 471763197 107756610 319263932 367870945 922572103 923180136 172686353 884232163 476615226 790009518 873774373 464876940 745320322 752808431 604876789 348365166 471004445 847694772 540489864 321730947 923809088 428323042 55333910 185625062 881854254 107348668 19341898 114055436 482990363 447050341 311160388 848619805 542570290 358913102 381049455 979729345 828700237 899592164 674506302 105242965 67579662 602065083 487552511 208708880 74054511 614893350 484943369 922513815 925191714 602497678 988508735 608762828 48094981 790654216 288201568 745717535 715437203 169546940 225780967 120613467 196741553 575842167 693666783 835753436 659806733 774079472 975645062 382565528 120782011 11527306 901946895 601705313 155044139 219669656 45797673 729854695 351405098 352078010 170122620 340976813 984737688 812719503 530946369 867068328 55143668 575087233 332040772 734484034 701158810 521444812 69549948 435657240 296052043 312979460 445330168 567981325 796537930 365112700 478741878 365632110 8862133 715135366 25532146 533159052 260146594 959876089 256743676 585013235 129615416 870315676 195506300 96652071 463000256 813369810 893340554 924004996 212454379 901730637 837649745 627418428 636213797 381645736 117062594 455627388 843310155 865136120 852796362 254286496 5945100 986667047 786829517 49263152 873665502 146677145 268615222 507186304 66481883 961663708 248165630 48807610 326999777 240604839 736331270 538584415 374817027 338566938 990901057 719280808 917993625 913258192 560804884 964755433 452043215 244672386 626284613 514633740 997053729 635800437 906527369 940274069 385006943 276578623 792288673 94084738 508561817 193084701 515010474 658436627 245517912 418272190 141187466 459157933 220998906 941872114 294382745 375831230 945036464 925704748 110960879 975959480 458730967 843137511 791659021 24982580 856077865 246172605 609473792 630984398 295067148 265817828 340752680 409093209 586985733 398568912 745470198 228061354 265802750 709581735 386793695 401288883 503068748 483581148 302044312 490508125 696287355 698562951 32334253 21889888 219044654 991736589 250959240 250312193 944454141 389844713 87654163 72133443 349357657 605340405 897808233 355565893 158809464 754460553 280547884 74505434 543606362 567863608 131448523 51843705 633160179 984598227 773948483 326964394 612115280 264501450 834048202 189767005 760885428 530704500 205311313 655133223 601807421 992795548 234572926 892255843 653231368 894316156 326698976 68642656 711842377 39574110 587132048 190144181 721703765 444192200 833848667 692610581 603651050 330922834 496950974 7793431 435510104 575118556 363348904 952151095 889662316 662508956 34505872 141158797 825571363 273867365 387299035 856421733 417952168 890499832 894639636 532332534 617909970 786087183 594197994 695791632 243488189 10773682 466919410 309939227 907968580 191223108 618697292 650482075 649718762 521164604 747154663 132988672 704796107 198533113 541424716 462181965 944831734 262208368 828689900 115039705 965795600 658983349 632028087 371397910 113301579 712300264 263175408 937292414 229896444 554107837 166066888 547453243 132670415 729937246 493935591 523573625 611058459 420591247 840825014 727015355 845478441 325978429 406239099 550448030 752487433 783931796 76621525 964001630 963996743 611213456 838968864 587609763 163320609 889196432 274880002 528195722 68586881 227394758 311743608 404504617 942453534 599869293 480970177 338553053 117185076 243587940 868077326 795711296 517603678 19621365 587012065 562788787 670004080 637401983 2681148 479270275 98603869 93464149 878560402 658750351 48362171 83693971 867061179 549092142 737734891 16296363 629855218 591630956 874252170 276059547 907722687 913259397 3115398 765155304 147591061 66216950 69944586 966556430 307809494 998114115 400836811 137124628 456208223 252744779 681035217 969730459 900437493 714317518 344109349 540458953 233206271 289726406 282094005 615760566 486257764 663468070 311174399 526985975 768545122 735039773 622751272 683426688 131774755 323207793 339585319 665063789 608809293 150867464 952484473 220690230 665368933 489845846 815816820 383111904 482670048 983026836 468029129 763528248 897351955 717092642 446869498 60905598 764283975 356060255 10466294 666448682 695009437 617207737 532263449 450702556 210703089 121047660 314415807 309106711 612381487 462571204 393869591 3720342 88121081 392400686 59679989 92893246 3782093 972485576 354644992 27275899 554111869 191565255 598203559 949718949 798523512 354116490 308699008 771814216 437576089 880998148 886711790 436594384 334283485 242453871 568117158 166551183 985059148 331797446 950805121 894239472 333762318 107167136 506161777 349700651 375293521 272431311 838626244 241024758 293068255 786609566 227288128 663058404 562043216 48773843 742660651 676457756 6325938 680047916 154388818 683673822 671387989 101736204 935581549 919429714 659144042 850418344 632961080 421242767 410288527 386240321 701195742 869404791 346806948 851217805 916514233 409106743 955935045 914414305 358926687 863721337 834023961 47912467 933260913 198924652 608784127 8675971 141019585 461445423 403489602 577901816 847068330 758132400 671415038 820776634 786706843 338077994 36780231 734420774 689909975 362223121 848329201 886953235 230802998 890123881 440016315 864934333 133369812 622486368 573268945 657551880 601974391 411688983 151868642 852743200 450122241 72435462 636116108 320483367 409561551 203247513 394153825 905151773 608594875 743527729 627257824 21518781 176775458 586699329 349728848 189633390 622000883 688807366 317551281 8428367 435112101 696927673 284782813 456903016 952920085 315192624 304678972 724544700 632610254 555480563 899649931 388026751 278463418 502537726 896065867 363376018 244561488 434844267 541408191 287838635 93513483 366246244 776437729 702728277 547068589 535046974 794682348 979258907 52152104 900972457 869389518 508709371 824919717 629884295 276687992 808989232 874534083 903339441 343149252 189390681 71331281 463348786 628602902 158628384 218107405 832826535 640074592 984019891 54484730 871335117 588863575 469698370 261680216 738953282 558129675 100258879 278819033 390990803 582252838 563038887 6603961 221863510 889441710 481558573 48774517 925278206 360979773 322006676 529728963 833715651 978056299 720364621 673331982 370381936 548306543 850436538 116404767 362772047 977156315 125679524 663082587 932563822 296349017 571772577 412798339 600251580 12668953 536462813 47577597 761325182 615777073 140276715 60395584 86662472 801541980 841218033 590287941 449496867 246202905 169214754 662170939 227084137 704769208 538118730 521653739 285007639 624723279 76828865 968068407 257550560 353423328 496943108 473896985 570425890 800556909 377485710 828511975 24986677 493154103 691160263 83109007 654116815 798572958 288566884 682065244 415515775 42650591 631311145 974351900 146010706 117321414 423558844 544507726 556003386 26705142 253170501 831865354 156936877 934142968 254287193 534125621 538521267 729362830 938706911 739880000 79617497 916737566 382445636 724992281 611164590 269466202 557874412 82273999 380431892 857273008 963969533 479735812 774591822 518497143 791262916 5630505 604720219 31425295 738276194 664041494 5447719 25437428 171901946 885301325 303845 909840135 700115041 614746030 317743784 973771744 492730921 619515276 475005891 429854883 223292005 110450188 23988986 911706590 62766789 934770694 558260665 945059106 763420102 627051042 63369851 207606549 462971574 470770830 857737776 906244803 501627089 429885802 311899273 188651949 629240934 611407103 289527891 473604787 530194749 328654073 816112403 456590240 286800668 428906452 822746599 197114213 680607456 842919265 443269839 407332391 388082751 139562543 604208836 653807044 962097039 624349130 391203429 609523027 925630681 43853399 65332489 496564384 850898462 458980823 47596778 949073926 346320402 957537460 55673236 873568076 544043863 375102543 656679535 627892097 696319952 124631390 816004515 419205162 51663872 154055453 24360051 430637227 286049985 597243563 354261685 137305233 287690352 392649261 52323355 760006071 319307510 874926 243416055 276363095 403346240 820700243 131376273 424593603 736065710 893804094 172725548 19611443 625581787 253731210 443943711 12312178 228912416 543200739 990634675 504656879 266370069 265674884 131579647 54361758 802497762 996010279 234479444 959131814 789116824 15435208 815849411 332134728 605696116 70480135 721419927 498740034 463666851 457984428 972209308 4019263 279040552 652399617 882441832 311788569 950073911 195328143 296626286 53403105 903207649 816554755 608837448 569544747 341268222 875824270 126774826 992835697 333309090 480968950 365056335 418642084 854705495 616299149 494030871 279101160 331298955 986738869 574590439 373242803 159902127 213558245 286946793 173875821 752235583 634489963 30808448 404649442 485689918 316515891 371072346 256981226 275571824 497635711 68096663 536602238 557282751 620192783 623786090 76096049 586723995 260669913 529819709 662727154 461917902 74603603 426350016 74090186 213008936 807580997 577226048 27840904 5127603 961947291 409820169 642165780 351714977 351661003 616021965 185134683 179871099 550608268 499572839 687001538 54498048 310132715 653469893 658184110 547301930 511008708 623144983 935581264 823903558 405168697 413185100 65982899 418350572 218692241 139286875 576924545 11768824 836200669 508613953 350200577 270460594 221847992 483960699 729698950 664315956 761745440 876864352 535105857 47994397 382037719 407788136 173286176 174339900 58312545 402333510 449591779 27673375 566717035 308856458 406051490 508126003 727336693 382952494 198425854 478671972 557209468 935725597 485954817 735814575 832747281 900233101 706927594 74844381 907769164 253072661 973411048 496223790 672615049 918701470 293578209 432006578 295907062 730353921 882461303 344651979 915712792 795039853 504389053 84149448 519358257 298252786 292961194 456643455 801616215 431208366 52110434 325632615 997946915 707716412 601473209 879223982 65184319 492754947 523185480 613575712 128799079 374771993 539988395 792650311 60255131 804783338 504360865 146044778 57173245 4688973 242229164 311061657 372165792 826441804 487539619 775282836 840991875 199173045 591651195 23744376 48897409 55051307 37993578 204367009 652455483 69351427 479945085 680049060 971439485 44945444 315569186 267184272 794278612 48511830 957986346 402269273 554348862 293257775 771809816 491153730 797228732 739180555 848511040 400710772 687187176 356035136 64361406 226783293 145187834 725916649 567490239 649996216 421929091 815090618 456804864 982391289 582770841 134243061 231037491 885358885 869667096 765855810 366308522 508793244 379404974 742514768 685866596 138231149 853326456 84717733 595727826 951806326 684146972 544440975 524970661 966965127 354844146 547251322 510412206 126517125 459084106 894771037 378427824 376800680 803976594 605393754 577306269 440049419 157568195 386334288 988333403 454559522 727604839 360787806 128606993 245132866 191849450 405986074 319795987 781347711 371755520 488537413 902994135 166875629 714622784 164579401 69504506 267737369 178652412 757987242 800065115 501216357 163142821 916633663 797485917 657394038 793021303 806619091 395960297 534207048 482072077 394684992 910203662 388696648 15972552 758073238 484681107 543379353 464225688 756016608 818068981 188045614 377229623 857083708 394386181 938489614 893484156 602061866 849373684 512188622 126441610 343537206 480076274 824830409 607033930 643521534 866742010 47129120 217884940 110170303 720292621 392113504 320328546 258476340 525445140 603371490 172516686 267228890 353480707 453230931 540098200 108908363 11310290 114422711 515008887 760443969 198223372 98472307 807175425 107933951 880358151 989190397 362489143 252559581 873588780 445382013 615647344 684433583 229378003 442350334 167303879 982123093 321301747 246881527 770044199 214833448 229453435 121882762 272165145 31058909 781319559 466127849 655172179 70450406 34215995 671116006 967179235 760418288 581152108 408960169 598835694 735514855 699087862 538842707 670123022 690616152 492025123 852781227 379729135 827111400 946737434 976665712 204019851 736634653 539348131 2326139 844305859 855910321 44024715 758180866 331718292 68908698 122398886 896960194 80441308 726466733 324029225 433080101 286207586 720784108 228932873 743021135 575380572 984390860 696671880 793324617 629722032 80477930 638918935 649693734 478188675 517879537 654802111 528801602 767754626 702062614 838795718 461747035 440067237 582579929 585439441 97381319 791045399 553994783 534978866 10461983 889531187 903727852 935777432 869755882 415716856 901865163 41244467 786479217 370899426 150780572 96376381 822875785 260035331 785585624 841872209 921829456 221271223 423039659 563305950 451169286 529860841 248996245 77889973 503558043 940054865 107265714 123966431 900493856 234515292 806341927 657511971 511491835 47422137 242088420 758810477 675837569 710134971 44602448 270569599 948580023 827181461 800291498 42254256 931037208 413295706 453261120 343059880 56436425 747292618 720514855 981059919 863517582 778229330 902548191 333012015 538652269 761624969 247155563 657212617 596120296 393256510 430908617 277215062 641190840 389723440 252738545 332361750 902957069 271069881 298833303 404468385 796079053 771315394 805118966 344125264 7907990 399270959 811802499 562558329 555494501 903756519 145089051 617580613 941937609 751371820 369742540 594367520 287691604 616903290 199934172 921817137 970742913 492819743 49591202 333031733 754970764 974396781 877391147 978131905 638855999 675512083 122786227 742138425 122106675 859793567 868115104 239760433 971665134 9501003 742817338 513350324 348317770 168448427 605087007 172477470 264906130 767703072 255034620 906715934 35769064 705360941 290550930 670099046 866409794 839000742 341858035 272057274 493969353 301190959 410773633 219044504 925069347 880027186 884029185 258318279 374874386 86215746 797483561 953383584 244551214 704851203 505080182 160601920 106542013 156509236 167591514 118968342 690368992 197624202 412801713 347485351 519916639 812968625 324532680 446136849 862407306 746574672 137700943 884019267 214161940 136058022 661933901 580373637 168726258 995396789 822201069 479121942 634428938 447454260 667473640 652840962 306595518 573190395 96503609 242515678 875598809 601043357 452529665 46480693 663940320 498646005 905523003 821006368 512300751 985821957 392185085 746032997 308087893 324624941 898729205 28059576 675240603 603486002 164882163 290817470 3210499 10665310 641573565 615750434 481803719 414136740 749497793 66665763 703476199 716556691 266628441 337458419 132825135 427480226 865327944 31985731 721634990 294105190 42440772 994121493 213760824 597850354 471200401 353618003 884753827 649974879 295966767 739617541 625973127 569821138 980881377 228976186 182552222 883795251 397973394 732254699 209443668 308800143 970732039 729755890 613862747 348798640 871281796 711732378 121136511 397777885 558088447 304587223 683505374 652649256 503553679 634499152 934981515 281492208 523285224 615168707 603910154 604496893 681627812 960340955 249960900 130147814 790743983 451243541 578970414 447962702 445186290 75401658 158394239 510752150 187755701 100936919 53945673 9176224 815955859 607316485 372486141 703031016 875221892 301383859 454515183 97114346 73238203 846700896 215630436 931738901 65448866 786982369 125535513 867406754 703269421 174791790 492227998 838162139 178552522 430442725 634987394 190976805 10347837 227852749 191100630 269409623 621745793 654813697 992014185 654602770 473629231 477160086 25798806 997910938 185701437 944343187 615049815 658771782 30079266 20241443 63040547 399365365 445304270 182897101 722336389 670809671 90925551 617536409 954405395 355595479 581683121 537621979 316509002 903663288 477782838 451506684 598935983 517691624 592392155 352594826 533840306 85661630 366733457 618097301 755070716 641538949 610457555 863983727 81416377 467015283 675757044 203980125 566806160 508516757 757078196 887197280 717079275 10429502 190326715 185154676 361803309 104391514 976570472 599335432 301859979 30858166 284020125 919202409 900202951 444966299 295092692 115580800 169464798 739106514 87151423 920580535 187092571 909061472 25394836 161292636 443051867 177368108 32969219 912385381 804146525 204898283 186498923 104490298 729687689 71972891 351711317 198180755 252969707 913497485 383847244 360772652 692332736 867394079 185044300 402529718 991352557 13973250 364721664 82373920 151398039 257894032 746030223 834627780 261436196 672519472 869984759 711269417 883910197 830100904 966800848 123322574 437854080 904714088 923944401 163336232 233620603 990968305 311463026 760800330 87261131 802412472 770955685 531995459 149589229 112191629 814366264 791028396 293806258 79682066 499160493 289604226 552005008 243026584 831457552 881413057 101615767 338782867 645176503 182241764 307706063 690972678 826525596 271579273 865205861 248947467 262733114 719765805 445615287 253418771 119006432 272851233 852037997 404854763 229548132 800539876 588950797 515184187 949525133 666121064 902906756 72309758 240933262 384212585 316009117 358979056 908768239 666292455 926217363 778453792 779015256 741263669 267595527 941026032 218266498 611461455 821252906 687497519 911620781 513912955 462152188 965262780 874584197 541488884 760709764 336408038 872044027 829846336 104430498 707651365 252637084 168912189 530898229 121948521 557053177 830356677 520067045 692261275 177369799 947518104 802063130 33394109 175111443 38050430 14466989 865286611 705156304 625140436 982669279 682943663 860300243 617089293 473191819 533564202 300986462 232880994 567955980 215699647 576655084 322925125 510002640 265298875 959037245 896338885 284522681 411251164 356396435 248123270 284307779 3255359 427163563 154847733 882609015 378835676 392308750 946134315 372237256 609893218 954623406 653088696 979350562 260822106 486165206 621667585 15491195 96387825 383355982 502314480 405083073 905942879 443446174 893110797 809636545 623618238 630259958 705792169 914107796 664363698 655035992 822740629 350452940 190758738 431383707 562795941 938417929 279469517 147103840 406313549 506275615 407711634 136244102 655960872 19500929 862325361 998512263 295491189 92080636 521463934 911971673 376856081 204328441 72315345 136838806 396766174 224619497 3469157 750831667 290340048 384799519 71782846 731604289 310859910 677355556 412839003 614092844 222818101 17474992 565414135 852981622 216083791 356943058 430326597 799210899 451489237 523639349 132788257 919178290 465075563 151931815 706464136 625110445 572625895 909947498 698455636 280213400 399592666 451334731 627203340 403705084 499265618 621721408 356700306 733360351 848733591 622280068 508602131 416374871 898501486 90916983 546660456 567138011 32162163 27237239 851646537 196100691 557808653 662176348 674780312 193711610 136482902 168438722 341602258 29860097 233541035 98870624 563397834 927095955 381282876 108654757 206840915 334602513 825120817 730153684 757202045 186366140 871049177 305125774 985729656 872390599 659681839 945563676 652346561 42137176 872691109 859797917 782223259 394969995 550934427 563106133 697779325 373667358 419074835 654803723 636265031 25974312 333281222 369817958 63450482 964746050 164053901 741336995 94794217 383117081 233843068 750464108 261315631 599514734 188501392 178263815 989304462 1487706 55731264 569452003 55090024 228822118 263268074 382854817 589925003 312893933 474161838 915069602 667377359 532717306 643218867 266280000 798768082 960368608 414240204 134348457 103162917 525282451 355062377 994966359 854783413 962078064 839369558 526914252 614976348 907225673 962864341 118174561 984967411 255038334 961954854 14137433 550053517 166731878 112205816 344088721 864552430 615997062 585354401 492621589 599442160 511056067 621206825 930628421 306557960 433233196 435488578 308607462 759592026 836427642 214854379 481617724 805272494 89325271 767245727 356939866 860281410 105473774 389742697 849406043 237580456 58244679 622491842 105703201 746845978 500138967 328655851 867152734 617070817 149787575 641897171 430894002 792746002 756644943 644591027 702537888 135182529 406696431 932808803 128021784 493007266 922040165 878244860 474524167 200543910 83450461 804007954 415240553 290478317 595482772 150926478 224073295 176517256 796367350 242315548 96313891 913430673 201892137 713492496 55786680 307236062 446081557 298781013 142848328 335597597 144289512 695419185 111098793 950824874 461582471 771791896 666202128 415100509 535273523 690752861 854599121 481481303 527604486 954447230 723843074 98694278 456767474 528558456 547628755 134794598 438179512 544433499 287239405 535602336 966067534 609356216 186508293 99290498 382184573 32531276 15989326 817070766 766978259 517912937 290409935 266752866 502882120 596525425 314676447 851827674 661522317 918787897 157963940 593814153 8341316 626666388 711226629 679881886 537229476 718116095 97063220 504146134 297654662 33210423 209507020 254782274 503308858 912796408 643296306 956634456 941833404 712470534 761248983 324134626 153921553 507642436 109356901 446955260 947632334 76910349 771941223 637928843 629342961 635593502 582087121 527071519 183085671 710269906 135484104 832931912 177285685 304390282 243118228 145094606 586865226 737566813 643637475 904531593 9029321 939955893 421940098 875866174 70238108 778915854 294231000 480104409 435644161 673099968 509181713 391018134 654263072 706985456 40411849 306637626 821559132 421661315 673978726 243835290 898269364 616120158 864891446 549888344 829726655 941713584 783628852 162203812 98924757 871274023 499281750 420219935 514284102 345300131 358874642 912253346 510845921 684715581 924156530 67960426 479368818 573021644 398360743 27221772 134577628 427463766 667052511 25871412 214948160 447249197 672244455 642158962 996200421 201036516 540001748 629969611 398804888 976011018 913521459 731256151 238465079 666811159 613228268 877949804 314597892 742674875 707739056 581644101 89188333 987962045 222721302 383672421 669123681 583000265 108149755 314559696 385790888 602095805 564024756 967343430 745812056 221409549 547564102 302431581 293218363 283291575 25455417 222713343 970568502 741663040 362826291 242395794 780272234 415870167 480831165 67851838 29160657 489458890 759789562 754885134 653499516 829233968 94833077 273161133 113631040 33344781 242741194 17083278 924145804 66958449 392098055 577848545 343359998 685797379 610928265 930344832 432801415 232369051 296135392 294503117 165388420 219847942 544325313 703915093 648912404 556056676 213277955 286028136 997079160 253571170 932083685 554747687 891217675 731192261 800691219 683215487 242557005 913983091 376828491 812196631 988860843 548957544 315571640 532343143 460022566 870157910 868282607 294065710 389676286 628279638 19680699 93901324 414889757 295805682 471423681 867587893 46701996 893744713 541009819 783938257 535467239 482989752 899120955 450903555 496679872 405972072 993381060 128230106 774958223 151892499 114673664 510721522 868770319 485671033 957149035 523514131 303331154 687188781 712267915 363002857 484953726 208349151 342786183 414463547 977990570 899633627 980556978 849559641 193490898 809923377 823823728 784624732 559148698 510344744 71214274 772096153 892902354 524969478 501355961 698030579 217421434 243948179 998338854 255270907 272611069 546061396 712212965 773802849 540529970 340710444 665520315 845182598 965166218 626219764 893784479 236810696 894665525 141278478 494434650 623892908 284068758 526542519 592366336 421930749 26102027 280116712 84018169 607633286 700546153 924532495 877189619 349261823 874123617 267089257 29675014 463476238 679882817 508426568 882933942 538111667 516078638 462067260 675249593 749125914 419707528 335290522 907182409 432422691 80398168 899352939 311325731 209988706 131545060 459598686 756277415 787250970 894333360 825993274 289595168 641878513 409772623 991158480 42348832 263867826 419661742 148588523 382714121 781459179 867971365 289217695 951169635 111103951 746722729 760606558 1115197 702502532 385285633 186695660 387241042 650814690 604809196 874167711 507900634 792407965 908591630 16731206 591023788 715215726 148359403 819444970 646820500 448908588 723750948 452554184 795349150 477716831 264569352 677626781 618416596 180808332 814643344 510885235 862005591 544121955 595876243 361987891 399069898 356299037 325194129 640686076 537364193 176231965 534664653 303333542 339635177 834716641 328763399 270340270 227559358 919124731 994960827 347483638 516031586 538672087 747598452 313898021 788755899 312775000 422080197 718536235 530631002 984417233 999224315 959275311 387530435 741487950 390534840 563157589 228409679 677448956 319899878 750703867 827532277 892664997 490846492 864159613 913139758 501408365 488037473 994562278 325675831 141381700 472498865 829082042 638603236 368584387 652283619 700212491 751160182 780294520 246111680 581741743 896178869 72537280 535428813 270649381 42627686 37846852 403313912 230949583 882037748 847142433 826271533 20359550 860707182 182403883 544103297 570715121 221190763 573406592 338635500 26986917 4071530 80255843 378097590 616782101 823684855 462582449 157699734 719591593 840478377 443127921 600420937 678446989 778288688 402831288 545516818 278217694 823925123 975352097 632634087 533589198 275401928 542217663 534185715 544082963 453152715 100292972 494525061 397749435 924297990 742013375 637387655 753222387 898491926 542952587 59059792 812691854 750460733 678953817 270177461 735946791 518284998 915871201 673958511 94129539 569191430 860553946 646587369 535614275 677200311 346303873 280498513 46771805 748300377 305689054 830358484 554944709 126109325 46656334 539899929 189352463 643033429 315735842 942004410 384608900 228600116 393402855 221703588 353305882 959319293 600120543 956738839 149383565 325752493 541799972 205174363 738897871 693358300 146315597 18086134 925843211 742397640 978734707 198442381 885599307 663878650 707187018 498737824 741124919 743120090 68940237 379865567 394744726 707074918 608077691 62642927 704423705 639127091 404400100 569293276 979878088 606238471 927918245 889369521 56023968 546407204 508572796 189405093 548285676 506468950 63571334 464456833 983866688 703224946 968509776 419804744 100876202 188862626 601764894 583445110 930105906 893060655 344236672 733200583 514954502 447021105 308008949 397218973 368277641 78928987 823646885 55583500 959162948 470490217 852704682 738285850 995471045 842899484 190975727 656778095 326724399 830315658 924314531 584930404 501637312 408111968 237503729 291833780 127240888 645921518 386854108 483436557 286355398 594367951 740860174 646380394 21738394 958773175 27930270 649109996 879743824 866066239 601250906 72653037 989849208 71778254 64411629 655403425 15592081 934737475 676328215 52626518 676598704 650110922 350102911 277216782 245211240 202827252 802228572 176728968 315487591 680423587 26971331 104080164 428396678 56251929 1330395 478769745 849525642 196839805 14302953 708543728 761958955 910784960 113884836 767993840 740816067 622912573 588690413 845831449 518384398 662261090 157623543 364339421 960230114 600958407 798599380 224996774 480447066 748315640 266771508 680257835 402526658 457828570 911692073 270267731 63264063 475035387 827594232 988200592 783303937 599214442 897288804 533741681 456658505 81153699 904090455 553260011 302857711 68915873 22737641 580417619 161006601 237441515 441612359 661043850 200772899 650240230 331500187 879181310 107559001 637674953 619087307 107925350 769026934 616572996 149469325 139458449 254685458 796141705 240041027 665198035 734873369 153523774 631891529 838953958 972051118 745151707 440136039 947972402 865328941 228706371 856337598 237169111 98558903 45579560 423927923 669593516 902854559 863901893 742723464 786889268 802824869 11335203 948388087 317699629 87264571 415548223 35631721 248187670 542474190 714420694 311177960 322735172 272769121 458353193 557901776 325775974 461569303 998246807 949079894 398643850 146660485 216191514 651149089 579299273 519950175 802425918 991605633 603758335 811235707 225349482 295257587 733956202 119991094 855909690 95365252 341684413 691098552 402071133 273053831 317127993 775199899 130459215 50806030 100612298 461590999 699455271 509764683 473853389 487945781 944615203 431869992 799481046 294064716 685919517 585255424 448984690 359242557 74900446 378277302 135734436 118592579 75363532 471275291 116502588 624685291 685861523 526580178 981257063 616381927 263736429 718596216 656196600 921368240 39268728 208794769 676903322 833708312 798932815 674574008 945679483 830624186 560637247 395021486 187151198 480544682 972935475 398597392 195610470 620362102 808008602 564437185 412886885 185921903 427165181 881983686 83594792 757536499 833767853 278092065 115584346 140238668 411812521 271531467 348404804 608846968 397824398 559626456 385040630 487854843 736396009 740699234 408063395 425195465 831602908 351699333 951428107 464179079 225522319 140228502 769875386 254413123 265862315 179347028 776788346 762439465 651488087 945188151 127111972 617183456 203510972 662898440 140294154 147024109 584318458 494459830 45010462 284780891 489078145 94536798 294507467 686949589 625616013 791589381 333408167 362637412 46823073 650099434 585172947 262989294 504276052 598498775 2100423 733488422 693839335 292448898 983197792 114648849 35622410 611270701 588296732 69556082 892495401 198735497 338471569 233476730 227094247 873688594 927879629 191253348 875356311 81928611 138193130 815562789 896512905 262180867 192848276 8868696 92927400 780268035 50725640 509292440 4514743 214530778 897734095 169507731 784030746 150756362 40867284 464053631 649740125 136765218 832516281 571507446 764532052 13730191 22846950 919879273 899520714 93835420 928518497 831538803 948605701 359160012 953290013 119242565 769355555 394685371 113981736 641788905 291160672 884377083 708020588 3167708 518061313 797622757 361839089 455737708 387495107 215050485 536579984 550032845 649771275 555170686 877902198 715956390 978978250 51845787 607736879 902450407 625986475 364212262 778635319 780077678 570262611 719913005 537305308 714044976 408913104 352624538 910369976 843952693 828620128 221151776 931799157 699782170 651132196 91352584 632186353 827001244 138498109 452007425 577186961 736878957 147669350 703710742 12414803 902526639 959594751 130989670 65161180 665665436 88383669 258945410 953574370 143390049 316784607 21445550 754967807 43633228 549238701 136227053 286388587 515942587 121011090 421794246 739824638 413042297 616369686 128109184 221020775 940808176 202062481 934681484 361499602 996249535 599388115 957710527 928365118 192311553 245050399 957494212 691512004 183712506 799004527 494764159 709280083 476856965 500999198 417212050 812063727 655566792 207306061 863558070 818753287 942583655 472464610 806151011 908628499 295517251 660638821 126236566 841218636 951883412 271418308 346144632 750082428 211872423 41786567 110374849 519573078 899063724 652006460 454639135 961812579 299950924 701550747 673482434 236531585 76174103 322289030 874944217 368535629 693091089 986309259 163309061 31198242 891418858 617752747 236966818 823761368 811655426 652341756 966278750 41544162 493995725 664303247 135397438 177142078 746713862 97555161 594059907 865535680 11409500 196307288 696088973 210849832 408355925 464011011 478568456 266957323 144521791 256687175 348081258 301749780 566216014 196280607 84225109 453182470 797296373 853191838 323904644 854139920 403113534 569951037 118749631 395288464 896937341 827000883 321906524 419797536 212670585 278031709 629837802 370320714 196664329 797166344 863531997 813174793 611195377 47967068 96540054 580580035 263036209 126591642 128388840 222507428 907167260 517943496 309066804 429515971 670248042 729438253 686412173 677317981 423432708 432986525 693676121 258339875 627755278 157389168 870973339 410723575 789667076 324562557 11138845 14513381 135790549 136375726 424034365 969726929 478373592 335772915 63727563 528959478 731052166 625498846 559879931 287690859 704511493 240732527 195071643 196889839 641960878 831839778 148027309 641160174 208687230 733822849 142830616 868020703 327078101 819471705 180175519 444680063 657728319 333621895 739347604 231409872 196070465 308297472 306957204 993053570 455474021 314857424 443412720 222192934 238355576 574161048 123540687 52750602 450152644 181880113 312865396 245071868 247374023 733757134 924742205 573701153 160707421 558123574 794528876 693330307 704628633 598702064 160770450 134675427 491007894 185466530 308211322 154177126 355638247 886925642 378838363 310324726 309750831 684752989 378773817 435053594 244778554 904327215 618936987 470932584 362733392 448782104 524894974 628668448 677883376 779786620 373068710 285682874 827120007 796049958 420277759 533876267 797925332 621731224 662136579 887908560 268188663 106680605 780688210 422724088 23583537 778080675 139805294 386466163 282370384 575265679 937733217 487988716 242305521 605792517 339563431 77044383 827886850 310523513 280209236 692267829 554506159 991551223 132236678 503099041 303262010 939191009 242991556 710064723 491947 467818775 151992031 305013877 304738271 184661436 635419637 945055639 757932289 984010533 639866758 330445571 364087004 166876126 309871676 524313869 602105003 300965860 220143044 772856904 198984635 608126759 382105878 780043236 331657555 962644899 983125654 819198070 742206054 303620966 16799258 448157754 20296187 847474285 930017672 590150602 477275073 570692598 281686313 762661147 485922394 531417718 310684897 66768274 573501087 34004218 924472320 149971520 547229558 155235479 919448237 942318319 593272193 764150733 52899700 733257438 815471878 52596911 329900213 724489082 44282781 283226931 812825003 874884795 757094026 866016124 833294121 160422899 272011567 340626847 284847321 871552973 724243804 981990597 315754984 292044980 451534207 506422704 720053738 25094293 77400209 26426338 593322214 92676893 399873249 805603535 914443202 628281340 817088302 558585616 108020886 46364670 893415538 877653230 175798051 603368932 681074800 248737514 753162510 56983655 12883703 16093696 642149991 806964463 869102942 794059065 664093474 652672570 749245781 864537469 441494799 493765672 7330212 822758986 654553929 956954195 836993703 58138787 911463125 527593448 692613864 610441567 951619680 152914662 106302110 369429871 594027612 244800325 682197665 928721893 894895704 896860223 785853735 406137659 769975534 699573574 578965162 580140965 993319838 322769354 908579295 968708806 842611100 28725415 34715780 873453436 906935899 841821666 211163992 761523519 577422208 435016573 319362236 441786631 126353540 26236325 749799045 678160926 729552447 930712227 310185668 278606774 883689100 565458790 180617395 197271876 972711566 360400430 490672070 47809972 504819421 463938259 757948616 953502695 859823225 994858516 633855603 25907112 612455639 870946395 512454019 290374352 736127699 883581327 757386417 739654582 153156478 875307165 838909393 919320512 923454763 934224587 908454385 821804491 607797621 450636154 86982835 496939067 147811327 194598615 182643435 318036803 943142884 774644408 366136076 397410324 560153411 747127629 126643756 564169066 343993711 143602078 465186019 881882196 568890075 92823499 471134391 508661244 485350276 224853216 112222445 449414129 821438294 870823705 616061773 545770409 268255703 77872039 917042635 672805183 212675740 920373661 805194831 566459866 839997135 269124126 339976373 990716241 341961636 420527834 845335355 445570451 177971763 147854054 797482469 795205319 774643407 72013794 191696491 239277547 43768333 739492885 743896302 637750395 342159290 692327947 808039153 115053508 986176466 152689299 471853340 983189458 979984923 817462331 582830870 957575903 24035240 446683343 206230794 155808077 416904227 557045027 82213630 837513506 754551280 242784606 774211436 494187879 224178454 792660934 162035702 493549057 866670210 694231909 675057442 398211542 790914913 638227556 10731640 873210567 535809898 146456404 743987373 878164039 949339472 995426443 393243658 595001107 551421382 761264469 299827515 296101916 118029881 748930377 563055144 934858374 809539187 266284172 107646241 644942644 597213425 814802849 7851045 561460650 515148419 70783197 268322001 589710547 159491695 883728567 885183621 309694250 955416874 119278155 191062062 942375692 506424786 299572296 218173409 79348021 61979467 129416862 968759161 620808738 89792747 230013729 958922048 127563663 677654990 379225978 636243093 9758431 628777923 977687214 230695932 722019328 434639081 889535465 39319528 849645260 381862993 603690844 187007393 984745172 611336762 819187343 425550633 378328614 716530389 763746508 483787520 794357515 164982526 901068083 602852060 847265755 701997333 515085201 323473351 555732960 37135380 271908957 451897373 930819256 701499108 209061620 731549910 90093364 528784988 806397506 969639583 150106612 477537772 586898439 217401248 412333605 500675615 176584783 686154308 17331431 957013700 181716634 296056876 46296747 715694777 281904116 743920550 706245073 45317148 581329247 484077571 486187106 927331849 113944715 629507035 306538225 256798959 531142273 468335043 608998668 949989797 16429487 192939626 380698458 927355004 166468455 851914589 818801411 905574542 786040705 481299711 95966287 989602235 732703101 739708923 354099097 489069705 20122362 159760229 46567762 627619663 609655584 55415934 134895902 906143197 404405753 656737144 943207947 901734020 667135247 560001834 247216530 510472916 971209088 146953127 231475271 783471622 826172391 283181745 197350562 440625174 791687984 641949076 208746832 677370651 601518152 915941860 606270140 152186923 704863658 173629752 980279943 505618278 486461256 990662098 117063854 865340744 181430524 348148856 361455846 263611910 103892077 513052458 233383050 538074052 748420449 710995672 975255826 520445531 692168137 386924999 994354190 588615068 958509966 340134737 53911568 591829020 198478987 145898160 520325373 310326292 639763221 513863966 332298245 723644260 215799571 138483845 470563275 11064774 440707741 180655501 936385652 204619276 620150028 494268834 565650143 58127105 719885741 240788606 509986212 563780401 756605310 470418410 930333407 338765945 794316167 900038767 201054516 700837517 413753417 144750505 565326567 635917568 76880577 344339140 589360569 336824666 909522966 164510188 911468010 159555479 75507021 293598985 542121925 233443530 351495395 137922797 787793477 610308318 759482455 90246249 918017302 125362341 336573606 729772292 428464895 49311016 432701679 393777077 318083009 665288890 675311229 640816728 864544030 941808133 9829386 572181491 959740211 982061292 619323489 881010412 889605603 708243817 646539837 201806706 927361406 689495454 442980545 674318421 746844556 270657723 45795963 823655528 46759792 43605258 455538313 389563063 442077667 581060057 298171697 494646608 942642495 916133162 968839044 425951689 23478728 459265271 51825379 339156867 307075862 447755228 707357615 355628781 569199768 699554221 182959740 752635793 733371973 46784050 478903453 496898412 795352885 777247501 851031885 265812387 42610361 43519195 578145019 236556368 872981021 165286634 850257231 146772473 165274395 184566912 323823972 183000811 647692177 677649177 819064816 337929291 174788526 685579531 655824796 704254944 740390782 145186756 754393386 844498913 633857672 597305487 469828317 901584933 101399406 334185382 31967814 420714139 182400976 362670350 573917774 101879493 1887136 723292228 797121190 818588064 358029966 824198939 519318850 769133751 990706143 64071837 502530038 946891429 850794251 949583574 572977801 193119199 666098191 711915900 373696271 71665097 204955211 496304913 883328224 968075960 939847138 751493401 288646355 948106180 366507323 201786103 915392587 557108966 879527347 799759494 991292970 553980599 274666942 701574614 954732921 878170094 960890344 146946886 181698405 767448582 623230081 930297369 311719677 486672132 345498310 993855264 986591906 983475296 493923808 445397329 822039652 361395310 742355323 512536653 910135410 21636944 803413986 164861464 220703196 81841002 724482883 183861961 211794898 151145097 171940561 532334547 995545241 160648397 949140928 682381889 727223930 708370248 474251443 908842435 898027871 812830951 967145941 202013187 317184505 749184834 61892708 320569321 568918534 665572915 997616291 303422347 362398936 558812344 999022394 526490224 457986121 474785269 842825038 646054121 291691568 907650086 142219284 568762561 446949189 238781185 722602138 845397995 749571152 35348821 809466530 140934737 759448980 602955134 285887031 645908188 919491571 992573017 418284847 817042731 420858367 426447764 875945331 760036094 359785549 625091794 949461963 701934655 439069342 550378185 250181255 315001002 533123213 559667396 831182717 903114097 649254707 144944823 490350750 441517317 609894309 211644952 903615160 732367728 769734350 249492024 145525407 701754313 53718721 240598762 632654783 977030074 334549803 227186767 798928839 432448681 876200285 31096925 800888761 503096890 634349889 277746309 944781101 9202053 828512491 475218231 593354128 372616000 765951332 332434461 643892769 280013007 720264711 737156140 723432491 435482565 663993432 159016422 895846216 398856665 957061004 94288085 864029705 517845532 644256496 435455197 357034236 496386128 668648889 811153118 120219377 518758429 785373857 970243069 127259974 183839815 737734901 481053248 860048090 671586679 487636912 463012989 376277863 215799648 984221108 442780347 991821518 375474915 838544028 410781227 693307733 362758901 508073602 658985534 268587096 628645416 830721583 549239182 929794265 127216496 870665418 245870527 958077092 842196648 595029752 90774512 298081388 446335552 831042786 824447445 854338186 780097788 919067059 334697548 551502745 181898187 965879117 407894531 637762365 755647359 110771960 657346684 875930127 388167742 60749454 267310722 656198487 709187590 145265635 48696213 72494100 858821570 758481550 203175917 169609539 530725284 566932970 764400792 881457785 547873735 443393158 174945942 236060082 339907012 73418150 716045857 184568623 641733637 592905527 177328579 444315966 704398076 440913308 381958185 576454058 687858729 391657832 518826392 233907899 41076837 532376100 359443397 43775431 495858799 307454855 705071223 434089623 87793735 991080384 852812187 676247880 114174390 382936619 916147523 806817525 480566525 530895774 842064102 721488565 171922996 617568930 736692855 432447412 912358969 49123188 911679960 193651659 254929966 960789306 449499976 673629255 981127477 472991886 406228240 927018588 96867929 846960116 75454784 698208571 406815276 234081727 274470087 840273661 578181250 378179391 737957332 718779706 476623488 992088056 911757729 144487837 598979988 437061171 274623983 594673257 442514989 975880181 944200563 856390512 554506848 934506271 538562820 547386238 175332358 960736135 218641350 96542137 246704173 554911354 207069 181659324 857451600 931159857 748093462 574501141 333552616 146969794 672681858 673883999 897994823 696354452 50791333 239353456 143530392 94095677 430129758 676762550 573500401 374715928 887196010 628931890 305263653 934939404 271977604 394154070 962905704 26825853 20927976 154306021 368999072 965349354 405343508 629098785 272534325 374778008 716528853 937390425 142646087 74553152 778724755 176435964 175673078 930746853 978530381 166253867 138291860 114721125 778762203 806354486 229330199 662682359 18930150 97004883 115963836 224428120 595133441 937171258 235526106 161934938 410862305 964705201 287591337 718836634 977785396 278665781 863465240 638402166 992248739 321234638 66517306 776185749 2609499 381248213 839237710 274718643 641136637 761300071 963986586 793759396 862265660 919364377 249184485 232221543 126861341 261985848 990724088 636648926 847474751 740450230 373485011 176059942 84908508 645065874 513909436 162430679 78235110 935155868 688655399 100814785 646994377 666848662 359337188 957208192 945104421 546685747 631957319 442201213 625256060 864426770 620381840 388951239 726964852 235167182 404971517 147823753 260317890 199450944 474238454 280735198 617306827 226167744 606358187 312042394 568947483 774079593 904076500 468611531 469346252 557428262 503477261 22717890 673641241 53955127 686058019 578577544 138473415 299524551 430674910 262722997 920993405 707567864 765712726 310375267 362227952 891555543 316478078 425813398 105722068 746684395 825920597 638785795 594747423 111299766 136256297 794457738 768232480 561196740 185040529 361795548 966175635 552891653 9003955 72841958 168949965 195062067 288762406 610094171 363611952 438342279 709264584 517257698 630153272 973275206 196104948 906691198 79586659 15513420 435236488 537495624 540053669 286224463 604199129 865708222 419718038 883389078 545266685 6860287 171645151 741033468 411545454 567590253 826010087 402132154 392306496 761865352 852883117 242518693 699823796 204740331 999704190 1232513 398638139 224053661 76305825 903662887 296713757 925302636 6696732 392648859 538430617 88205012 26980914 372350611 479583227 298085237 688610323 460712248 563023095 129553283 329931814 366810767 298761093 910548906 949265706 349448541 330604468 9167901 771126858 362955138 797518123 129353569 631867557 575987846 737937913 397448742 76883714 759644890 390298963 537288958 989608661 420967842 744010390 11347527 86656947 624209643 985302739 781468462 784680007 608607851 368553239 332431935 389968193 337180491 440689606 854884141 218753152 428273706 142065245 626955618 437946950 42206333 868140200 636881030 829042502 164288254 847934567 525545523 944510872 376824995 148025687 30244819 496536939 620498650 285907532 917427927 376020024 771079262 344081419 156379571 563227560 105160763 591144030 766009925 556914655 428370543 448574184 521777405 426920299 337974328 64836830 515385466 985280722 629655251 869888780 734073158 226741964 236494913 110276944 942926920 487382764 17867544 414011234 514068243 412988783 784280250 865397222 961245133 872190934 281068063 539245597 763407708 46603056 209104682 360320527 517526138 885032446 659901683 397087196 679354527 874377269 875271742 445244434 622802384 138045549 808469995 885515449 379202652 257599787 346803379 498001468 679831948 734161990 906604483 628181547 315133539 739252321 597619761 44443664 166005711 814167065 190108172 947148236 568543797 315648513 288673977 115764758 552257130 427926558 705790284 123119749 368340717 787743061 545101524 860763715 676337552 209344423 579212817 524834725 450372426 511131780 767698186 916802091 645244556 733395041 257385095 767112899 110770045 835113758 81878648 186388333 546238202 558707640 808344719 613212897 219076013 603490350 834552170 681835990 918287762 473019193 988244022 723259572 749833937 847495866 366243214 771691303 423005933 352280651 746732800 779900730 682779868 636537109 838771330 365119111 884429410 908745218 365994761 752904948 958084434 641827091 635707721 733077292 534110809 268490386 949773128 153418981 204272146 537114300 177035705 377701356 349415526 91903164 151306831 30659383 538266586 459364608 541164932 833719225 792312722 377947050 981892851 88945585 81145765 634779215 503528127 911313418 426722324 305918119 97974962 548713229 247749201 729688803 767968425 412797587 686020846 642412647 728582038 948371013 289190296 635299093 1957888 726131551 860770291 91708184 411871577 789102035 888367402 485752660 499053344 748075857 211873669 469792466 315402883 903409342 380045348 490823601 628813667 378327455 591045345 875071587 314661074 693712541 523356655 952955992 820702330 855737386 256786107 408650981 719060506 179324355 626449208 85059840 904756698 209059048 325573602 754986117 758565175 391949750 186785733 110754169 466072714 205890173 16002751 197801546 715674031 892019408 224787297 762612562 484567414 631663533 746502558 118851105 169645455 160759282 682993771 724316585 225382525 484928285 179052917 735511231 803063311 972001046 514262536 787547000 154359151 827377466 405142249 232276141 402582663 105730138 232611907 930362974 40734113 30115967 321079401 809427832 737250860 406796654 134309289 393666368 88167179 637351781 255817502 749171454 301645190 483617804 520908504 273526441 351220703 412676943 33771166 961781325 672239330 511491985 101703723 253974739 883238486 846308297 590124544 215509645 343300272 211340395 141819443 852532993 467810525 554536311 890488266 917233562 48257534 655811297 878457442 539542411 377619441 96069392 125910643 387075247 333303182 842083503 695371220 645835876 803152021 638962286 493581359 993603562 520948182 455555335 895380474 332219110 269721576 258706858 45648901 885641748 851353855 986740852 363073241 639057207 821823078 124478806 975174951 200957565 83833067 769957192 955088891 247510989 796979442 490466450 340397157 809083669 308559217 847795345 213391524 903002152 254828228 738711398 893705180 742012199 565928682 232634444 336704415 52735590 919573388 238452801 15007108 405966126 125707842 680107427 749207019 287382723 904892275 150267774 468169352 838211612 997375076 942189383 750746728 662443038 303682621 588064682 599597394 238792485 709642411 973114897 458045946 573117850 788624644 669753802 374083931 64012808 944361300 191543207 821245155 840529510 44993026 217934415 25037153 749353525 295158927 934920850 44370981 396011309 33157408 834762899 570146826 913023663 60531460 965107864 749197413 23570011 408919381 330216110 361339739 602143872 118674702 120184535 71387526 181707614 670444142 3700265 772979924 243618493 341989094 172789113 579419558 628258107 731780668 256443503 683489739 37057738 738040269 8170115 813445274 130250441 240177095 185549809 727186690 624429462 311646869 919538237 703194676 88600522 704646061 67538602 472206983 959936644 380478531 759287811 318867381 798230464 858311110 247196566 125536856 530814426 377816545 529349194 207042096 342799089 220389831 945697764 567063652 923994425 797553982 537514742 50150249 89598543 490338536 337701815 555920019 311837525 627100282 680608201 104081613 412494896 247086296 985709362 406332518 732355456 849855413 710447420 527724594 623380617 710926202 190225106 96085666 648710154 467036202 47505743 526452201 545745783 9123501 139358291 652432186 294937393 586467868 438794380 610984741 518925923 307836600 421821407 513532573 415272021 620324293 397267919 90212731 490733691 779417726 86996655 601764066 876654019 573977132 919749522 70780667 900263287 289800217 987780243 384122807 758548696 679423225 71013388 932829016 829159758 110014427 20752794 770695873 812670199 696675251 71551303 319401098 698524564 806841741 839400029 176664249 812103318 318946778 422875478 407870722 774089580 233076597 74259327 832319733 15228646 680456323 15992590 12042069 80907196 439595828 8034995 155279374 113710795 877177735 973432066 743959858 141254320 282864100 889417110 67452098 822832993 254222878 113433029 936239833 716759475 872085141 633618515 818018207 356665861 410549335 730982495 355928430 488350482 288383569 384058744 376311475 870004579 144392319 39654003 686254197 578881186 462987750 579461751 858611204 342115605 312418322 16729611 603819316 793658420 470868949 423229356 344580763 350766342 948735411 965813348 377984148 786705971 129212103 130795993 61389234 184194124 98347832 927844534 146436005 97947360 814429508 999582069 603306288 752304018 304708988 638547826 959455586 401448176 161397193 345052803 293370979 678121825 500543466 993218505 393142122 121105530 753769635 535071722 519137097 619470904 209671370 352620563 127024001 892135134 661624990 520460568 611991112 40942115 247041319 514628021 852411492 7788135 810660666 93804737 977812290 219953272 537849116 26271528 94779669 406037559 296025442 797502720 728435258 604322958 436352433 98405141 847603924 556653708 385465796 183311504 178285019 419929262 268554046 791346515 755827049 580286178 936331328 816680831 33799509 57970886 639737123 485547571 340183487 392870537 273722742 107382648 477587635 974807764 650840936 189412714 808704207 561864783 51947919 679155778 156011067 172156733 120377184 559156755 207257503 448242942 170040471 196002 427153750 362192564 808657082 80938048 960477930 705516543 384183345 427459106 836416004 972446205 304339214 148277264 428633780 840251019 325115522 697987666 215997848 156723841 397385456 182902470 669047218 552846883 829304420 556843755 770403741 72067298 63077028 634058668 541051849 789177408 948634725 200068110 843265872 851282376 419769346 810271194 256155258 33212556 270116391 462460365 557871130 842824948 763724168 198775000 555180276 735519018 598994993 769496005 58075372 531380005 631242488 986660758 994252136 953955254 105918821 800930936 108074115 435605915 663372222 663415646 620739631 392447344 169058704 226627440 908327461 524131676 622925782 617709385 900653356 253300302 97824689 588246665 698842879 418041236 834581610 174866181 311891222 736183072 428372495 346797702 662245880 545181948 272711743 471053974 923254692 672943083 912646864 339643924 895419729 546697732 235827080 961124225 525825600 437299792 732636498 513859413 293955302 264877512 887465708 476365795 574836759 671982722 149738662 457772907 380596726 674158331 325298026 429480634 995007406 827454212 179341662 740432773 33449642 531527849 46426029 287607329 241959874 903768333 631912676 237790354 979897913 514425669 936279350 158193544 109651337 922211336 198767731 671754359 524028571 897007474 143142821 120516443 551633836 509865684 62349932 265234155 375262324 462043204 700663123 881082826 557095774 400640109 459118174 687756586 348776076 45445167 857286680 405455955 433053442 944691416 671831372 710279745 729227769 53777861 515423092 832022975 213961791 501427333 664976289 312407176 118929017 459144996 819617794 738634406 699087666 9874885 213161661 44995481 508546843 556728113 967419024 576204505 422431952 962620827 519579579 728802735 307324525 704635999 736506313 762471594 149830517 107292439 343188562 268988072 745813524 100745690 406175730 365636133 280747634 533212019 696555553 179450155 787000537 589295100 769784970 762092250 109055636 223587054 467734732 255460162 908232905 842706376 765406246 382839088 118376531 587588206 747452337 409301487 177203462 375514629 737656653 451369416 713249267 37660496 870418288 746569087 852217795 162538242 737332946 622486263 684979038 776879173 188974966 976967065 258636608 529886325 551591891 269736917 361902683 435849296 980716632 857198838 366025559 332335052 730301788 276728069 901603488 340339439 321440579 966920905 592160138 315390483 698952323 670720517 233423298 431183195 977944791 885035366 31601238 88369435 92270210 539126472 676717110 882924810 437245249 563275069 543727279 756662549 942923948 105609346 698691329 447439822 776760336 283821726 505878830 556476242 751475369 497262013 514172366 119520550 314369079 494576800 486240020 241786206 634902073 598322810 171004599 117765029 97409312 443439498 51803637 691986168 332283047 462371788 457601081 164302140 650908691 854827945 463464383 126755325 90352357 980755184 366058432 910801793 24524389 443967881 172858301 607136410 251797133 487345323 921026787 609444922 933699017 190386917 546895701 924363798 698256670 143100498 957645747 177416968 348900860 562325044 466864089 979116438 661894188 788051288 572029404 364778093 428875469 986168602 478440919 411223154 135281942 843280831 475684728 236277280 853125161 208087781 79138246 559365668 553436190 176186538 299454102 785960911 976054296 187497612 449069786 384586310 792437203 552727447 557932853 937223244 557287622 843550183 971181911 867898868 928618186 284562002 678574479 305443379 537846832 838895202 450283950 648723026 860052800 992778002 641649367 514665291 755762884 422641936 449119161 267469795 339353238 94827278 709107968 795660490 246298169 430715172 772958389 519251251 163934947 169672878 517944559 116250521 367884917 297244354 200680416 746355595 562334066 10108883 492013011 130733438 914792644 512102066 103118097 407218998 435706509 420294108 50433268 721441826 627831954 16034230 561504320 417160068 413353526 717261649 316769033 143127338 520055252 517061384 178296817 111956302 116815731 817556779 930614791 467575662 837846754 535901423 392728831 157273413 492292985 374389237 491469701 638925740 332604791 759697600 123737582 586996371 990254245 1336789 778882458 855136528 827423186 297370432 410281379 330317478 882922834 270994561 823162127 87547522 919041460 306073915 510136572 18101839 816591674 937961382 840177736 245591657 483015821 405809264 713223761 595974377 184389416 226232772 995750738 177589461 794188043 181166793 207870066 943691133 374618319 794901136 382043140 479809944 852310473 323118983 259055757 105599878 463553634 689144229 76934325 409439549 952998339 663832770 820716052 592039907 81998666 14736752 271407773 86108524 458774624 117115012 201107358 969495820 463509390 829898181 39706552 375529356 484505116 420921197 968223005 172804712 706616778 386185118 614738682 829170829 650378340 822521282 408189004 203888037 408535162 608921773 421727363 484007915 953419625 38300271 612769636 717146539 846632616 42507573 687559545 36885464 850213026 989710052 950672840 342654035 13895789 76952781 601865574 837163934 958057607 99593796 968990681 977552492 811733475 599536855 303392735 730561161 625634296 186455204 441006116 756838983 581228633 423810210 276898298 795195361 731161046 894386556 701783828 958381786 686814876 407240812 169086131 733668850 407560014 753427153 60515107 436848006 448155852 874739024 16132556 145016929 668180647 765553723 874739869 592434574 218574350 677251269 146131050 848251525 768740932 824148912 609197120 863207213 2007973 78133795 75634677 949655835 501275198 455594803 78044807 36741189 372932731 68915788 81479851 723502364 331701694 500465813 3179550 500670268 138256572 726266652 786144186 146243322 815159682 107678756 989553101 54839468 470852132 539548281 913896609 229042564 752004178 327144992 769872290 681157247 742433211 901415757 441165758 623638394 80668445 30297460 540455520 478774158 70923628 738693168 606145678 895249294 187578545 191580306 231320394 133750746 413622214 405967557 264043359 330665752 639002654 254321021 933501984 380018722 92227382 218606212 981310857 849657760 539672572 374604861 792901014 158577626 280051933 983832676 9884066 794655400 955870493 170196730 539972956 196788098 969919418 588047 741255396 781195935 398111699 250980420 318184463 609696796 566139584 818846293 89590158 320031663 129703573 598149879 126640262 142622318 438074724 233414846 782183546 55075927 306484029 707948470 715780762 425504685 274302693 821423414 852900730 354226807 430726144 680585601 179951783 123592899 816193406 15898867 281968994 641193650 430793222 43531980 9994467 73287137 891805737 871293509 62360450 41891441 291093977 665923089 495795808 562399989 947010488 250993276 163007340 227612625 787967688 497277922 940054256 459782653 37084165 839352719 776963408 496656962 617274539 674035454 842768711 720638616 736155130 886162667 252291287 61016853 946111172 920977147 291619286 961829329 973833028 79461210 909807096 757615222 822726429 99321798 480574124 476102073 659276467 157773734 158353586 24788356 115574387 957185967 115617553 359634301 841303821 568098868 651406607 580686366 924966465 990363771 28294468 331644938 734856573 27152132 944097440 141305977 296156883 289783280 641045021 489648320 318594650 70878497 715908632 20684704 121494620 10375332 566389053 628585733 231403302 690681104 62178068 89749896 582103334 577772371 383009027 753548744 237669007 641506955 288283224 445575561 199886355 246761161 131784233 101830447 639174243 404961530 790086992 576808773 203160384 27347933 699911025 834354522 266258403 519590777 520065843 937761969 215737657 38398111 682272310 380304599 229929819 456060123 801437764 394578297 179254025 111202921 112013612 461716707 813522754 166659887 398003433 429322310 93387755 687234641 647772332 194145611 326262588 490730632 121265629 33852282 393402386 963708874 317832778 297460973 659191977 267792875 556236278 247853751 701193795 867016175 807117606 491531149 729647737 391453198 154290785 939616292 986397900 155739786 680459768 369623737 504803047 328259771 458423116 452294046 538316841 448564548 159823100 964273548 281739022 86608265 707369826 123460743 144814790 75277985 797280055 160926556 732733562 679348430 103241631 236814135 402086450 209397125 531134764 348281738 561098587 592975192 106319561 802696178 858638256 931346150 839313186 330388202 105924642 955154731 352814102 527708427 190451580 130205798 849585407 535898377 108463045 294490774 960698259 606421216 779330419 994629093 488765014 272258646 517051307 562421902 797294560 403281957 21895570 292810942 290309745 370649532 899082728 217876366 403061358 532453034 867810821 817235245 1143524 51769127 534412566 736099766 526499672 793633081 806150250 429737231 139377131 456130420 637787106 906347974 866583541 606878670 475708651 890547378 969063457 534067477 118226954 107003537 702178257 316562473 560433476 848569068 53294590 846648424 665757536 293585835 884121423 525227501 428466413 447035882 630974182 424123648 748513071 919068759 491198934 497235506 364583409 683924815 337243091 255456859 143191898 548422316 222638312 418311828 979727557 148165367 726774249 755821360 226979403 311960486 600949366 49650876 72123889 903115010 359842123 550699697 289790247 644062368 577387214 312072453 328941436 448317798 669201935 279857997 433619587 976980688 607609485 267336922 962520639 977150511 691238074 102620265 742093853 788142646 957156715 819970362 336150332 948531965 948902491 39035848 88041516 906899566 556183022 767984082 216105506 802666503 189666195 673164562 186265657 164847151 411284413 992829835 455259518 323252005 221232486 106285932 669945486 312339011 260462328 370030155 229071355 286385912 868564262 998217092 463220915 498885161 476670445 706582081 243095070 904229425 15971391 440537102 995134644 204250520 206503589 181190472 818093994 502046481 812388849 798081194 216469167 677669519 536682848 219341061 448247353 361847395 310548571 891013823 691358489 99422115 232567174 948689041 379414967 41490068 775776805 18370492 860679935 840872684 332711223 171059823 753790991 356853222 52873470 728339161 667372429 228334291 660832972 944488960 137829970 320161080 403346236 92464075 485084055 9169311 478081080 776675754 430087213 401308287 581138486 480306696 57365763 504135284 335969819 761432227 76236626 305704439 695344324 142903760 29780769 374332002 941319513 931320597 623087114 915185314 838356731 395076883 281890303 464486900 52455368 478174074 20412745 813116495 961088037 280602177 796390375 420209244 649781748 141910564 992669290 227193193 897729209 327622789 242278374 639348565 994902771 742579766 630502364 395153340 204994393 182220652 397924907 282238227 418766394 235398945 314264963 201593944 332801837 976643769 270562114 452247800 211854420 840539100 519598576 50240216 211891189 707027324 571470323 304562296 404163619 368754564 478166489 289406122 19593578 269887627 128272872 95448895 408073843 401123572 867921210 460575264 972499650 411791863 179426146 737328443 606490958 140377424 523637218 135292621 221382191 735403395 587835228 684951806 83945540 154195673 788499352 621121459 985397733 521096605 421532734 432266417 620494942 550155783 270228153 834776205 83969935 416515126 776104746 282594315 797745894 159702669 226938884 356183790 778441450 565206689 952039189 673953797 656905798 244653708 768241650 818247393 194721495 317431124 977867385 722193782 722651743 604195241 72345316 350609778 909959617 408267712 760886806 11113787 53401636 992132462 987419885 549679853 555874908 628271768 371972932 680117138 54460692 113007957 526827143 314045420 819919933 821589390 5013403 670284401 780668675 960949566 45482006 242518146 684609894 347706702 738410778 646928143 548231974 862257791 88735535 810972567 972285732 524055574 939808633 4073459 115285019 24789538 178889239 413441931 744892863 188867258 231690162 102153573 370538554 533895486 900868451 310178697 801845142 813459841 588682970 761814441 94291223 396265911 542799976 714297554 115062091 497652651 405854058 842159376 979585597 725078244 417368581 308800046 253083773 272359960 817642945 787991719 771221483 239998495 145520542 242093114 653980594 792691551 386286646 820042863 788947057 917453290 762224585 242619075 230333564 680166903 335418212 634530535 599384265 965398871 232931850 861485712 673257841 94641020 3901313 521879607 59664623 506994705 958062726 169925664 664081275 916394043 934177352 28417179 325491406 686206015 860450647 986465893 702771187 79091287 337578061 538093302 818097515 312274515 80978272 372482325 901372316 261836247 737934701 304291828 819865595 46272364 128033910 660131385 167573311 238908156 805302491 849711546 952386774 911561042 268853077 980231723 589333563 164756209 437672317 83763254 137793697 831429426 393373993 900607997 858624644 541511237 997509604 766002241 112673361 943893500 136989369 687311134 605287078 798510658 604352550 815235105 184489325 811000211 576297023 547815201 248597236 77319745 835808755 80887424 695282662 920617545 221191669 389865764 627459120 611889189 432078221 317509167 650051191 807430753 860584703 544403856 18461672 60037633 807536922 494033023 952243485 366504760 495393300 382452211 969221957 502746072 12211313 391034786 360159823 632760964 593107016 79812163 687296956 464336125 796176450 274377762 461573394 445883559 173876086 711391169 714770939 307277696 527927043 664116334 832329110 840628391 606631195 676826653 583686912 934229977 293422199 935577937 961848781 697925878 913637525 165630410 12361948 773714002 790735407 646696467 858705009 942612436 394014136 436179840 19491876 284283167 299756527 971950844 402617928 558697717 648186028 425902599 43144098 292095899 851773073 11218389 21051892 432114105 654491434 293656915 211251032 996549528 536614743 613877628 554904003 682330919 357726761 866340382 37845141 725994454 429792592 32403196 718426844 451307915 201846737 255879169 113697708 436196150 968978959 514584678 65824372 830247772 30162618 617128869 876537929 945113276 135417790 360250121 191711478 816563848 579518892 50594697 961352525 950584206 297999530 329729197 995780948 433908416 911361555 970508980 772423317 450039747 911284518 341656653 606114074 55516651 376708885 404026256 836746618 796316414 246923503 69590166 926850066 267297116 223344093 569123178 114050688 105522457 194824145 684716957 303446989 759631462 139722631 682389979 551735585 406685063 416042421 927878638 372402542 335202320 737386410 722866345 857806020 352468102 394387257 217755737 514280508 789088573 937412947 72695895 668298506 315869964 219551954 963518752 111704040 711365107 386532713 866745341 16015374 578210086 967177159 46696648 730420150 162639313 950579764 257144920 607715320 799691034 822921371 97148678 395802823 968044640 574745172 239425370 580652004 609710668 114317947 483679152 792202528 693249510 241839239 541223427 254430228 520577900 243217935 843133724 107165532 146638156 398611404 222114375 374187728 340541365 900254777 739387669 311279846 201765252 229156679 71155701 335693683 169733900 950062624 674365 746214833 749783015 869065708 584232485 483126281 46788767 564590081 275461277 863216472 950878415 991714777 350771156 166178634 379590068 478077885 693805628 331995675 359033204 982498733 112853640 5927591 624577179 506321862 966232202 374492415 700373968 586849821 785138526 141398677 181277863 247813540 900409776 177035807 319781641 114901574 904041861 109333521 275082267 690955707 6991113 364443805 503543998 263426149 529796640 74134954 273304869 91277268 801436371 402123271 789651435 451327750 769328691 882922899 911227836 56431317 689265363 765500497 993290558 164893 55249633 692602710 449140810 80657017 464159071 183704473 997883097 702017575 930456396 708635084 965243967 772707207 47689654 521635744 429106141 350608417 841264197 957028573 84919301 721362036 598725408 814045037 89047770 432612162 791248178 958712261 274190983 496473305 885650105 365593776 475042733 187373724 880176367 654823840 148862736 480415949 70478827 940171928 383044157 135994567 280935573 64801272 976029846 380622451 460378385 902296411 748029908 82631051 685595953 714012563 359613465 371666514 719896404 780580498 508904760 906300472 256374196 728123307 842700249 106990394 928183360 526632892 971238473 497820814 848278322 419831568 253336345 730571545 221572085 526439539 939371481 340927466 20962814 329795606 724716435 4893530 429019849 763692553 655074418 539004262 672904941 419251236 512787553 467622120 714418852 344164305 608810475 960193356 407068274 129588710 98320361 855347241 762374402 456199027 951217114 695770625 900209217 552301405 142323524 672783775 38837182 937635849 241281634 493935467 534833259 969801840 791437173 529602617 103969672 336660508 733906406 248253100 673589365 519860610 561671306 897822670 104970260 976119062 844385837 256129168 177029918 623131128 826727400 45815423 870070987 387557847 690708531 606763538 27982236 407970867 871842122 493300437 990269612 553626763 167263238 435616421 475448483 486016391 925624077 835543433 859084472 386173915 366144342 172177283 409541992 3208135 835717789 551105981 413409281 234768588 766489667 482542065 644516528 96554590 793187720 403024264 152037418 49802442 41622371 467908961 293739338 757243992 967466896 583545601 594704739 13688571 183245332 134527112 49281686 816778870 567804075 157440562 506803001 690139787 168684975 511694059 734290833 426863694 834410125 123373366 617734216 855073412 734160174 670837450 755894414 581283414 724469157 965582880 744497423 934039065 206396939 535699682 101516010 409289557 381022828 43729496 570819118 568781353 867158243 817597769 309936453 912853964 326421420 325450054 315116178 190048489 405002846 904117075 372666522 446087421 435095854 946873268 163779548 238768561 60001385 283174993 806568313 246398853 744346536 431163820 582777836 814758924 467205687 552988228 268002413 753071583 72518152 436121240 72172733 885876954 29407130 530606691 295029597 761335386 61709934 468334356 344469586 375514550 294937047 935180238 593813824 786499112 97330903 666049114 15373995 543577287 396640178 854051956 475114 844484939 163017836 534807567 631589729 445926479 752636484 54009094 62652648 357303796 894609883 692138633 528493092 3705815 179760798 990227958 320024390 464071718 38817121 424422309 914209788 83313815 990639858 406588906 328825564 705852214 486866955 937929608 48467394 748090970 963829166 686807674 878621477 294986974 477964435 858726600 361144807 252001344 495290046 917259124 297798849 130273830 941722130 140683893 176908694 317210218 213749352 850561261 253229217 918559286 756862619 580407436 325808285 680269456 180600081 888061938 715130836 1558959 704995979 487268783 631077789 806697415 130108257 45532928 650166017 886543787 221369026 655415267 139817212 498203139 686519861 284100361 753334678 996028141 257164733 711482106 802308769 225466871 668744209 284912691 18386609 397224367 287937022 813134427 509972931 48285748 684841052 226027144 912215655 970211127 113606822 433365420 27215008 901412871 522084501 214748359 786487929 637122664 849563874 718439267 182815640 889896227 820120340 658279899 621131762 630313305 619397273 979506847 943519764 468990497 764890047 920201102 344813935 288363782 496072956 514805954 807769862 658562053 985484290 962562720 212570708 721759401 397632686 132621971 517324398 351898009 440075885 268859184 804081800 923214795 388018521 497998856 352250983 718523699 763989309 363011872 29796327 222231663 979412817 109861980 202898764 471388641 836836406 542211206 352070900 91045978 343846848 470091281 318803447 36001179 186666325 990183717 958610141 893998607 628835027 483573758 8729038 776042367 40572102 463402995 716439385 157989832 778701502 703355208 564115616 302009133 476220658 408656214 474365000 263958810 538178468 71574596 531467844 468336993 315415519 267315770 294768341 202095544 259725524 361364475 285111441 235369786 569135321 181138977 58908724 924900978 84064339 996690409 937346106 832423385 736541109 233486344 594697761 38615257 483140034 600600064 502780506 102076287 637221637 242774764 976931640 980096886 819391682 633010905 337072549 926294538 495663585 985547753 134928458 907850502 566064546 7819053 35431703 283817004 316248083 383858609 2759387 498320078 512544777 823038111 898793928 511626874 374453733 450254593 588615846 747668268 651489435 815055152 483096739 91498160 539175457 170320994 417712737 423451277 252323845 781403225 623492207 425893865 771800757 865775728 930220965 89299054 877001716 89977598 560513885 864667587 246857191 461165672 81143709 974063746 56861014 291171844 590262422 57725528 273286526 884863892 548434981 621442864 485770108 103586308 896252719 450895432 253240919 666737152 453009680 982509542 307708380 9703624 805599811 511110551 591124646 802408274 572039012 385750015 707985865 635091346 550720740 230562310 474258504 148820173 123486958 106795225 451864109 541353250 313020305 561298302 921556931 905886384 390783391 507489509 179198743 414340024 476437082 718368508 614426430 99841571 964357448 321654416 775381685 13623380 488912321 326339032 942300895 739946717 723784072 714431710 535548014 163058537 365163699 653639059 842881795 864002028 235743383 86941899 17780049 279001676 239059809 780082093 892510339 369251930 643874106 981471603 184181679 115727893 25760111 551562175 915359426 890476705 72708451 851465912 111614869 128536373 685158537 38460630 282226257 31586 74978834 866293641 949197353 937313190 954360815 863501477 831660189 719971962 613217065 985043969 172604681 379034996 164371016 709168442 411188515 439555416 205730056 657503287 695787530 191997753 578656345 998398020 300939436 732759036 911891520 391276483 881759005 324185174 118703373 501977651 170943034 443552880 480275398 215132287 212249409 420578644 701594065 735153686 802004953 626008897 91198548 457244884 641438999 450889876 442574688 933316180 218520717 253337088 606025508 488934927 513859606 830015394 505266488 246556483 32586763 936725302 232233110 805372999 623271209 776003108 721095676 412539003 480737218 509543247 162686717 566022074 763518932 927461239 204299449 610914914 505581570 967284926 556000769 942972434 808760593 368000464 442741436 296560680 579595056 135035621 168699352 823488669 93375661 540557366 722058015 936381960 817845468 202250392 103667895 371499902 655512326 854380083 402048377 863802762 687905540 917506605 434300703 916098956 158942625 44937401 316511881 584803002 969208602 329845049 803372041 200460564 677836959 850941156 612615360 689265818 386420733 948653794 207779753 271626483 799882036 649959817 645100726 94906156 347063178 923806958 795807517 442188371 716979274 612663657 433042418 533671917 345083923 471499618 96864673 83272468 782791946 183512314 487413889 804325897 208720536 437374277 352215527 300151312 417649081 163504037 231296024 675911043 239009083 72510299 194777691 322976048 290613419 328994732 638321149 2501468 595030422 649422553 485907746 683692863 492025280 753769750 694990532 783245841 135474470 87928489 937469720 817223251 6550023 2240445 972075787 6631624 233394701 372242959 984530571 802023505 788615992 284694899 828665889 550770896 200881911 108317190 103733318 625989128 281740586 819791328 831543226 347369181 706437276 440937151 417684883 610161307 776263693 675749433 551997156 155794387 695128236 905278245 240435409 35396810 974304087 71175235 750212477 711715635 811886318 562650100 135506517 64986620 395559424 28356998 970184346 528303907 588713213 798521826 338511468 26229389 590210284 932803339 162660442 722377853 534938756 622457399 963430692 158557744 762453444 766531440 399640895 235644547 378840996 619605794 992114334 287419616 653878147 664837096 561937850 398480906 272733129 173523990 54218791 698274046 842738534 894001931 330565839 477389210 599010743 787339429 473687717 909550026 465200934 348939570 695369764 534238829 694151425 804459898 316824352 240613972 686088098 544900468 138035421 190885086 700679371 208541053 314468632 56638931 312363453 772322039 403824459 186518294 234329407 172511779 34945728 635957862 996966078 762881906 790929046 87985945 625594102 310319116 481952497 183409912 841736840 284976253 173705125 328814261 532390256 203634592 163002522 623326647 961745117 2363867 905593670 252054128 697065935 61479652 844548840 261206707 711042387 984821684 838204270 772871201 698419637 943166584 706331113 474337725 682668997 669986179 975232343 150203334 507472994 712338650 741939663 187893195 341907683 453355941 455941322 345326692 662835728 119553749 235194922 337131241 869249599 260451832 482644764 380338084 427834830 976121150 387182303 658353265 761249069 638674454 770399551 197460987 177960697 825887182 275939415 710495893 54868264 233890872 839742792 244676244 689968699 699751609 36390859 713955069 312483001 82358229 483190305 959653752 243792035 470373029 728091145 988132784 379081279 911202741 158927784 186067086 425633955 48751005 566500331 106886094 804896746 23305814 474917197 592064856 515476376 261904489 760930153 804915771 488148371 370336758 176999654 81750447 643420546 406491018 743184076 878675611 634247816 822717851 658545085 5714111 195676032 232552699 144705527 403724520 99535591 192683056 43081602 807247862 727206977 664239833 925670320 273729321 848800231 449311242 789456972 530813184 618303774 297398302 630135706 19736602 632763684 221126419 244787952 215981631 787945392 432064953 757989163 597065859 824351425 742980889 87493732 677735385 155066528 181208335 422365326 307809540 190053592 27325301 154534997 66552271 106050143 409148750 273222210 715862028 453874254 756016928 818202864 827879456 915821958 444574783 604345942 165399803 359943294 519898935 858092307 368764659 104136631 926184049 96106377 319344411 166912485 930449397 830237648 972575543 58298211 995121776 888113804 387828742 514650341 667066190 956464247 263968378 613545674 32086324 475940945 658197188 186561784 845075080 866956003 129169582 290849712 93998926 227483680 989553263 18031235 69424775 681012231 588643280 296995906 234638458 656996210 694936790 800494666 676220629 917070884 642996962 813079147 986592564 293010232 923592767 22005451 728401123 666336472 762347653 412235431 818739147 358107793 323298447 833582847 848792143 975313412 679867792 406178821 476498128 2168512 823176056 336636876 600083996 153763451 643137316 427986064 259572313 978377265 877139174 624879049 845716569 105987823 872571251 481822317 920822178 662587251 217439417 361401032 973208088 10124649 574816277 98034895 315195386 651274215 278700354 906963395 906779373 477896064 244059346 42279801 587965540 299818376 159675195 427785899 141352416 363622974 829697265 20800733 761332864 106093257 427548319 541979364 720406820 355158873 432682822 428971233 628515103 256638322 955695248 811570321 908677585 112034823 877174474 406829874 497551591 623916593 175354912 31676674 660783176 314579218 34230994 272682080 589981481 613750676 749483155 173040859 561518100 388375960 419894072 170717831 455345792 52490542 542760298 26714869 767852162 397345743 2994457 961725057 493177511 48671019 598871620 810089 149418350 157026664 659076226 545951864 631537058 354575380 251125059 872736586 514620954 361365954 685286738 705266902 5510111 723162768 887253597 332696524 883097188 749614851 556459665 408120871 75231714 772630589 386295430 76832517 760198487 485617995 787982600 880357103 110761428 383056097 139971857 458158158 622311608 228074641 949332724 548392832 805417585 633810944 297828836 133479840 839919139 314655317 915844998 330118084 532278201 955017359 499621334 834151419 864540047 618228112 745153803 483855031 154963692 7365785 763100315 206129678 51127380 556189709 771015953 501624225 10955974 473207307 642279857 933453627 841131736 34815036 712729737 447923247 99272074 400328006 372681490 21548335 389435811 42935364 927769953 810202095 650005301 637897017 648997109 64750581 671781717 211089656 74409490 415355519 315566614 826797524 124752937 612925629 443432975 892789912 109991185 122647332 784354342 392253000 726056994 179710565 934472784 21672290 599350647 423860362 677464213 179858829 6423640 619456862 180309759 995962148 786836218 184836952 983229719 639098477 85603119 525214208 545175619 741994132 197536810 712343592 609563330 608780225 856784713 663984491 382222770 531549135 477378612 486041242 74338612 411281365 779741024 912370796 168589869 685533156 881714601 136421792 660292739 827056570 100174294 277358339 443549094 847074112 449508680 993800804 96436471 952769100 12773257 107980926 123965737 978630524 927566462 187683893 766296944 35535501 244233854 736827219 672574426 89060697 987756865 79274425 921612095 257235341 91021744 420094646 937376794 565257131 570667627 796577902 54033036 572706865 327819332 241522128 950244676 24299589 959307749 197863019 981745305 912801586 615188546 6889814 733754227 218765719 735968904 740882009 436930589 721583475 766998203 295088810 781903780 507374205 322134201 951154414 288007916 850571200 35646754 324897429 619494749 603107575 509483160 665048165 323491173 458929815 457938511 563158028 94646619 756351025 854016911 211929434 76189252 826510575 361664486 853350461 472242370 676233596 735336646 925456132 538795584 819397612 730598909 90057504 467255344 47111838 219021318 796591783 748529864 675449735 967057830 957176757 329739531 943672714 447044214 221611815 93085252 151916409 539741428 408864780 271720727 299531507 554286597 200110702 201110853 514705362 606838707 400215187 245952791 922113679 713641494 162637986 137640074 911414285 170248748 42709199 813136898 204511993 565635578 93373109 454602960 798170638 238261033 925261055 223760615 473624742 335050188 885888250 248095074 204623924 950529986 708687324 52981544 852145257 271604797 708716640 175286850 405880839 74640406 819924798 62718166 540686887 803947234 716292976 886531407 4089458 871863440 55656393 325441121 109372184 925351026 988442138 435970805 399346436 533505764 851376269 703516435 927717728 761291888 134406785 935950939 934777731 565512752 384515535 64157972 572628434 154193573 580904463 145308562 396035179 239348549 680493128 176038379 962278978 405496176 302913617 722733210 308396962 214154798 564241515 715676194 614864760 654283687 164232722 478742806 332651018 601974009 652029497 275848345 61447846 393283253 972244362 608863717 186580888 68684736 853440600 543149290 350414721 645065709 207569044 140172696 733468569 822331858 146742782 560991415 156399950 710620681 726889313 24570731 849924816 476540898 687215268 268846633 55242274 948163022 805520686 441293976 695183874 794052429 906290024 714268343 990937741 306225790 22562439 883812190 722162048 753200570 299692668 636683030 716065607 357194472 50736904 707098561 778271106 31905130 747047574 902121871 437169261 850033023 592025562 250348452 633638228 371225932 751727259 549408473 531111529 694342714 452466006 170573026 737030557 227579277 585331736 184281291 363351802 368332220 756854918 312741191 985069808 207342873 514258893 656947063 3821090 914436951 850119284 682537530 452020723 847709444 553289058 38197882 429134007 39651185 296320462 829941706 105335250 882606469 740521493 997093805 49097877 855897653 44688482 796254566 929136541 69524291 282480740 685792694 315961462 429231107 865673139 226279671 314726952 85027784 162916259 13283266 402331526 869318136 98280952 708842328 358862948 199666728 777263518 832438598 43465087 491787092 273068642 695997205 551433083 334348173 253816113 504068142 196352892 437353650 593249692 132117059 942382765 571717727 603071462 251314832 836328532 145946483 561437267 416563658 754592211 446818660 998696514 178309635 993732353 520711193 63763391 96390819 312385180 703684107 258711620 210659772 336119659 916495095 332013477 196755941 60518797 805909138 394288897 469364144 81302880 129397432 987651144 179789269 217215075 149775623 208965252 117459782 703404679 859689526 429095244 550677579 403996634 955011569 384897052 314495651 837442160 691109529 398421993 601739305 216928155 326541308 506754707 134593534 355270732 743561319 99114751 27029662 610929310 915051683 95223516 12598131 114728894 590906326 59570615 746000254 505410665 206437267 224191330 741845996 473713450 686034431 778775512 86535619 298027982 911887405 985793839 916871504 658457276 286269160 769858959 318274481 813893099 742139279 458651400 147406373 622253545 463584658 100341632 434625867 561986549 183224639 800878475 43520021 290964556 135875816 336121796 399326407 349919004 721045728 95469241 743019154 628819885 410169545 445635217 13016306 525809487 52642960 685953150 627078379 422703268 919183482 231071977 184346695 452199483 837298758 79843494 915239185 488278540 214827416 4385588 984156083 168705605 138896080 792898867 184128366 526502578 49935260 697487907 536814989 754774422 6729386 231320886 813762893 765954045 945028997 244294623 800439063 546551396 173138380 642960060 668707697 684717999 439807984 808125577 590811672 980899385 954104193 598163480 764186099 122100023 636366246 490386511 562713655 490100533 409119262 891441488 498331317 76410201 690152329 350217966 976893083 153394913 955026455 617082951 230763675 453802586 486312972 478449763 958973279 218059646 287524223 984809718 904272318 181799440 662239764 699926160 483210783 748654350 916023551 634004483 267070630 554525479 992099724 916248965 657302748 203698231 314630610 583191962 117710487 643423300 391384122 456164245 119137539 240801516 773353149 897158542 53120856 802875070 352028127 328015754 755584239 307455677 240248860 787225733 518743024 280982744 134550502 219277232 171015624 474415485 73138963 818702115 172595732 166248375 112894742 139581215 394830903 199498287 405101401 899932057 771833156 545307125 256070755 197888087 790733637 542680411 588408905 464222497 696585291 988380998 873913382 346168516 534706661 444723612 232274588 561365648 518440505 796860950 328495465 941426518 543219481 390568376 863379382 840897397 675617831 219501116 506101015 503219535 69221353 433429674 786076316 723092937 276951469 777425212 861960946 192877239 708327103 98748081 221542517 297352677 420819926 226774067 438379486 683212025 616384275 431047982 86869836 275538668 84435794 511696247 272741282 573721791 139123475 914172120 856753811 666581228 59253749 882785453 476912881 564683100 12426762 673123614 201175680 524251557 545964860 866565186 511156164 811218266 569292104 346045337 731374029 970364069 88729022 298138836 822523406 265588057 559203306 585023828 15889631 532671763 414800756 295044404 987702293 901579554 825967617 975013174 734456676 678809776 915344270 917961898 707489825 874496100 887425374 28610642 939468313 486083900 621133950 480872850 798701932 630749750 46336247 169836308 686624124 536333053 426497562 537195525 401333703 502919160 352081646 290843814 559588627 142922596 571856333 764316088 808707239 800797930 299446174 174456094 883288076 734741347 951808946 998354191 195185171 393425908 886701849 768325910 574726389 251557886 418422574 399020875 858292184 420457291 281613066 213872650 50858496 251147330 458276347 336128887 397703537 599898909 750004254 427278522 985386209 46413728 789737309 18894666 742082092 693435279 757155327 926859414 774248081 497314738 570003148 8511488 313885863 794067808 517190734 740432438 952283328 216330847 11528188 151600016 424655767 369157156 719189800 813022813 440207279 794708212 535356119 607292620 812394417 652723557 987820196 424737846 593411289 134943309 312722323 286342526 646592723 631919842 530069108 612766418 741148986 716945194 526476288 539147615 645929019 546787254 132402619 675374386 664406591 606093432 952077683 999203570 71166675 323396355 338796795 58846601 817409527 94607039 905549082 130502007 39344834 969585977 731584894 672050836 385957844 503204079 479662585 458006048 769476640 368222914 823421203 812297365 964911347 976574833 453986200 6237088 848532538 524552598 366844642 887048736 971980063 300026269 923693839 878196736 393764960 896423573 169516621 157834336 784360721 70475934 224254885 284364268 709716113 276312693 532272054 736667829 927527497 427974802 599328671 888533157 9856177 76788389 123766522 496991780 261392843 9145784 333535200 64029619 499109254 160872708 820626596 548529112 675569972 222636321 395334918 995315781 334135821 362484995 966910873 168811376 357352803 549705786 747829714 636695046 261818260 429299835 61694797 882711399 2288120 880347745 993034281 828781898 732241144 25277426 973841800 824797303 319667824 209943161 988070969 494338701 443532591 133916406 698673868 665742913 152108174 883002037 785708776 979497850 246186109 596641626 703449692 737828381 58667630 466161519 35681473 429122474 636280014 317161513 391648181 268065603 845676734 630344045 106854614 277952706 263665803 799435292 973999785 976121534 656770624 281953832 242709916 839834307 949194478 458449058 78366007 29157943 321739601 632399519 314039623 627038381 634932222 738238426 458787504 787668906 421415241 77353948 336164135 929848605 747568988 656953444 446474563 782249442 530547062 214859072 147855305 372578183 928151325 670890864 30626232 774180099 44429588 953510885 897472672 713212035 597388716 613044373 529993700 141840676 330720339 403661372 834010205 989435129 67973945 314326053 133023565 321944360 439395640 394196012 84695053 586423270 248816838 983346496 59570579 829022014 758928742 71262079 753601684 984200088 856209989 910900590 526748398 243227470 717722025 143618553 381227061 353740618 751266202 663552831 402363867 312909541 892709818 349547683 871435404 114014437 29793156 229578017 901033728 961313319 367207655 834004649 355290239 17158606 308263217 511902651 804514548 855945272 529777052 917094919 289915324 637147184 289386856 948602301 288056061 818424516 188469616 740781090 83196414 87259115 60081538 45472647 661503933 78740957 154150691 97635230 638789127 851700408 551686140 407400184 747502116 728659996 669168676 529001241 459839886 575382525 390155110 886245583 385494108 220446688 114307114 287567650 333323149 383174701 157673964 731923155 302090283 716518426 530181073 933171668 243337233 64628251 346689266 761650710 42908685 668273135 772719405 79675884 212951064 751528985 570832863 486601741 798158738 893640417 193394733 332699916 538006052 920856628 282999714 460607835 192022400 194703373 553219538 901430590 157868834 609786379 792533844 910018789 158357237 1712356 441068222 994059716 860789306 685164058 478432680 656871492 152737020 317603669 355716078 40119488 160714195 823615658 699273906 201187622 43209943 802772 673395311 196087911 148796335 915026993 814883647 599752099 380625563 605679992 46694735 358503286 690416927 18520476 846965258 852170026 308191771 265791039 218317888 501284321 117917286 148020315 135159261 954435316 730755515 642087159 968630818 11368047 436503656 401063554 474039577 972986304 64011678 733385979 888780953 268641449 53981908 393328527 441338887 941690194 893039076 868764858 558986042 767499486 366697465 819324768 510327977 542278073 924421128 55722074 244162119 992502944 99689376 275791469 842036924 5350651 828301366 541964804 913694269 873355446 682850598 681319309 947510293 757300250 742176462 436875601 68150647 529972852 325510040 76995942 584003594 657901665 81798246 544528367 254816749 378893831 642189336 830688242 267050132 161189933 61677758 455120709 499812639 351873602 857308888 194701923 738279405 281649434 989622737 946680557 255009785 207400217 55018491 476225991 532947132 284962251 518372421 869433410 483232251 511645366 869360168 856813553 399202132 754716529 287428480 195983009 773725031 162333898 405584340 513601321 491010348 437100343 896826299 10100269 507844514 712786232 545430301 54833519 560675201 480303762 383180987 476542744 323174683 675167946 142609795 105711858 617673052 343577243 210954580 889290847 117292150 481687429 499022873 816810355 613444911 279542189 303238425 557878686 141521702 955715957 323351275 805414187 761567184 166510674 179361710 466580860 215734890 900697701 477400352 441854773 625783712 254563568 236334 12787343 592180200 459848451 377754688 950565050 954288359 666161112 801298707 3879390 461230653 643062613 198060374 846483017 890619876 543555699 751891595 230226354 368587876 138731299 903773587 233047384 424401206 828786993 622619414 861542549 941342536 4823351 582036914 702024389 13001859 498122629 306930781 98162831 773833319 885699749 423329398 293121029 158977588 994534418 184446917 569642997 268829580 257483233 717307382 728416076 473566181 435900539 802489141 836837686 859432125 286533185 152962713 975996383 667162271 545134423 971177381 388245952 781847511 983810204 515294909 341954230 124342820 483728541 864829706 294944006 910418848 239889072 205709248 403184892 731491879 760605377 582685852 882578272 389342397 77190959 541852597 986287511 91718903 470022235 672668711 53773376 425585091 669439203 573383557 884001740 940994164 678688323 438053973 495954487 203211602 877116159 299249263 663134739 360270219 206010678 385214116 945811798 318001778 695067599 764305895 153087454 331805107 334081161 775807790 484438800 327244571 332793133 575435200 57989674 276456166 279151443 880069770 715213793 356502627 32963417 169292499 807004663 380673557 50104863 611241006 194706572 718690321 905372345 480803691 945483824 166292134 594112556 784963022 320355008 32555782 337324331 606288013 868217953 190243122 805886146 732029752 550868827 748272480 47950362 780063147 517032542 232502049 844954625 85029606 774272152 178523486 805409830 644289703 82980582 621973128 285293130 543065422 300004648 752232843 668835539 812560696 374922594 269839711 650330652 435307734 49146943 572484169 800313718 504665337 771168856 227960762 942649266 753604595 23123777 444992353 197856783 123872014 660386988 141676364 597833611 958349300 259533749 87753496 437438458 205656840 746645421 941847692 641196074 370860955 721174880 923885041 982062044 377661066 195704827 469798257 375549815 142692562 8695197 506696829 787536137 455046319 382437498 74935414 685775213 258275985 864095798 591377787 823636359 278610864 884599559 423003448 735692976 417390667 544292008 615456367 18767203 478223209 792767115 336078439 595043211 622643371 477197386 188066594 672769890 272983357 970264992 101455488 301729330 292063842 879806935 2774590 771494569 30376330 781538921 373419070 788273730 326424220 946112711 201806102 430851159 757107714 491054896 207930246 747397877 373915984 856822681 559507521 72280630 393951097 261888624 41902551 6419757 857159407 714995062 844740930 550645141 199208760 829210031 553046989 81891826 927768860 230550356 728074160 746442707 150245340 77830320 832057082 978517669 479015231 169105254 623580783 10165000 324359363 125273838 460697186 781811769 225899644 59807247 87772863 659488372 990911975 979425885 516031019 4270648 788107679 615896761 253601946 511323199 39295801 778491775 988403668 506362070 214323493 602105815 110115950 502616090 42226117 419420805 729592812 139742088 514349103 483706684 543274620 620493417 908517960 991290546 15379544 242746594 567714866 655100345 195482465 198331502 356566708 178763932 521233908 951685845 913353026 600565353 193831566 47717179 22543529 814371345 931838961 853297975 446790015 967280982 183313850 234031740 133716236 493682466 673310600 315214840 567003835 78585310 480802362 925547645 884681492 388187091 249761389 17978397 768536957 56675648 659805181 507506025 78582422 181982430 903113944 913670449 12345725 609939938 165338071 737337315 126223477 410778068 31485004 833056713 670063306 723758135 914439719 776619430 467694110 300297429 127453883 834609959 400767942 645693697 487753169 763479369 532522310 182324729 138245066 811183689 753971421 674725169 856926954 385940647 923990481 204202923 526157034 530709274 184406383 350700394 907925985 92797379 154604021 459260664 755151600 100269121 705201082 764864739 676024692 411295858 632710145 378673873 645692066 72744350 27553115 754864301 760275076 875909529 168552575 51034753 835565184 594976056 79109296 535365108 557895489 6048815 227808632 507214681 508681861 884555800 837000445 328592993 238051819 849148061 669902191 308486590 658558324 29395005 465630122 146561334 201921158 611967411 839508503 747466046 997078664 295460286 705458561 530411336 365692815 764654804 128753224 978205486 380927715 375322341 771734377 777348622 975208251 957245896 682154365 268311278 871384222 379871171 9936710 805907623 854034245 276194961 642323758 756766249 70870322 615990784 179185809 836202924 509298796 916426564 641994421 536350340 995459148 679152612 594678000 464028812 832529020 33389748 994151010 470459132 275862745 146586039 676972812 644119872 764143984 920427965 133164547 445327169 690381230 918992457 196765489 591039958 50947632 126049755 817341815 620841669 925602931 770440436 640242660 510179192 375786534 546996297 132132041 203249081 775112053 337140916 922326651 674333010 577211754 787284572 860455733 538629997 803855212 228931813 796566015 729396015 80897997 346053015 140734929 499672932 500197846 393058945 401877641 458390168 331595949 967655003 32104030 254145955 42964324 321107842 900355394 104947709 222247970 287381921 967000852 370639492 247755275 504101041 24362104 996339934 848192495 78811021 735611579 814984709 111736057 273950665 861643617 945478589 496044222 856130255 331246507 63454657 171379142 9060156 181263623 509957798 223834085 149389967 217958742 543022135 570068712 129861622 573804069 929047729 5923028 515384519 690705547 113863510 956233023 32575854 544566106 325884466 536309664 593175171 386713192 58175603 325954393 544909382 210477761 564218699 43776971 939395283 475153890 461791609 531119217 205471101 811803609 740721083 1747041 132125503 368650583 368508673 294645720 130348666 238282590 596557202 206797635 132298930 846891617 874628881 612914346 177922924 74503285 55785046 668920696 990456463 993778677 81330960 725750477 973338124 204257793 337085837 164037096 996727399 715216202 832154081 653355991 375715271 526559872 145342795 180504554 731106656 95515831 950463598 28945963 211979442 313188578 788660715 91737377 340978019 640895245 292091197 161202609 854756137 93732507 367609394 515674121 203160020 594845890 114730050 290576233 641679621 438135662 256526880 730653895 545443854 138269080 353382464 518243883 902759988 870396784 996229120 730603940 224261684 674374591 426784238 147452633 596480298 108466443 597541328 369435414 895388324 999213360 390444829 751678168 73320399 911072615 430377980 424111289 883842086 177861437 940010413 265681940 102742573 444932307 29019112 331006030 253469480 215926897 24753934 846883623 986613070 282048807 493908920 126812976 844991140 691312503 7064472 400863739 79629486 518550448 146988855 703383782 579902062 549709457 328113262 441235338 819329381 969499149 662727838 872411789 621371051 967147779 598905454 493135888 494907261 22322460 742303216 456819043 926119148 446052644 989869279 704525103 478859754 58147140 443934834 887200768 376135555 708387962 164923973 143202395 999220810 959132043 804416249 881173422 380596923 598610508 47157874 882765805 617205267 833672176 415501652 319803690 35172533 945876008 720393659 589263329 338143958 525725145 127067237 677507158 890458084 194421030 347021797 502054402 863862435 995514423 253038216 386648831 461863053 152024064 34205447 241651395 487135901 175596762 511262169 704994332 301199073 101431670 640632152 563551245 367426568 755528313 157304799 877299770 380968676 331429886 991680738 748758727 197208555 715107461 576222510 575396252 103002699 888191303 659506557 994683102 267530166 382328920 380876983 129674256 693572373 711905951 214417322 886781592 532128379 734757073 414468174 464181599 917750813 582831555 938316356 928182123 249526967 649867170 201301885 565864619 807397678 703193778 216825922 248602137 331811513 354027712 919761736 200298164 927219901 653785029 409120662 3012553 504551408 933706569 798701989 80336421 388528171 236412167 202232655 333021204 430837057 384357387 303558738 905640537 206814883 870708064 916194572 68176008 705820691 842819222 951960843 706025626 20504726 44781090 526928865 708742343 413763218 113885232 22221627 276566984 80204687 542479026 476817115 217117720 218478393 51959505 892747869 348041540 742898271 78199453 831222865 988902662 144885586 862814753 600558519 596519003 172124230 982520526 497273203 26279844 632560695 173464898 248686251 824967532 808964103 349668319 700661821 749170578 695829393 525462462 425975777 62010715 984747538 525125423 218202112 474203212 391230721 642269898 379627128 566482809 814895784 31839472 231462898 226877367 665551137 998051043 411185094 619549686 336795555 53320876 974389423 564669823 837908367 992721226 180055640 20152126 93825392 417063774 461443701 156546648 593972255 735495795 890148764 444172204 510600846 965954056 523425581 432181715 648778949 200372497 67403383 741155349 345391156 328312267 488927041 200219580 231074588 479045504 101538475 679357529 460667673 501710069 879091424 457637690 949567466 486536624 804222326 458647393 914706871 851998860 659162570 771793430 633175926 73244101 985447883 219879742 865209194 491025792 282810282 341709939 43847119 571005198 822260580 871613103 824391534 725112081 792845186 41841639 84976067 103345479 108443655 327700796 727412439 975931529 213289282 707581252 894244018 646376778 848204571 213843938 479919083 4539353 997185291 470037565 378369567 689891888 750305873 86004027 748767089 371400763 439910666 267024003 851805426 142842852 312782566 227512552 142790890 927965809 241221425 155749905 840693704 863624381 54626309 486841233 673396099 348320602 984365167 101479005 582161593 720193673 325432514 499971130 240149424 420221626 564624968 451064909 648637870 620869482 179239587 137377391 867543161 808122221 819143766 335084352 273913811 681524175 623814931 126991109 265601429 252796904 377783552 217079822 838818034 459487216 119932802 265342857 226376842 417247382 931836911 293847630 495385861 249925973 470182412 350348498 387613684 165897139 374002737 842091803 368262757 298942710 316549813 754552423 156107465 144840724 812858276 749603394 769746886 398463817 1932809 694285077 90771258 648181813 343390268 247265135 267234719 918998296 713802729 376307211 180796665 544222797 281505555 808839769 419665777 158374191 225552793 255554773 428563960 130550084 237739225 157342027 889198728 117460119 44519222 763357778 967742701 443060172 402448337 911664913 430750128 799830862 959151830 824814395 187427825 150011728 843855866 871730093 524466289 294800287 486956285 529764693 784439163 198931045 768181061 518098207 307122409 70474233 666181336 675494300 950383727 261811391 639326679 423261150 676453958 924510553 614663697 791346371 287357487 923394036 444990798 137641598 359863373 828542667 51282879 132458189 766981996 123993966 999148970 28330513 84324675 226830270 765500876 792625091 380353844 894631825 718173577 906747152 338367635 185851919 499427065 427870827 293820631 675834659 870301038 968524364 395226552 458208910 2761731 240060533 574590415 766534332 63265230 54696143 265675715 375154355 517903506 146442665 228193218 320945852 718495102 127141978 289891341 920153116 441471077 528069788 854632983 162301468 958860375 394684279 26634086 141603738 720564495 892333595 557619283 343851951 595209367 675740269 471633217 849018188 295169782 618468285 633861460 549453524 648837263 202781018 408354450 164047038 645868147 797413916 879590968 587578894 605065830 146549384 245815430 592424973 308340168 464049347 151203329 726716076 879792796 449286088 517955536 942396601 848448658 398958025 638044233 545159240 73538557 327154282 404987414 380880501 743259498 792685273 798029115 452817900 75210549 375471573 125298219 21674765 656842871 132985014 20397486 956022381 513616508 386690154 628652528 68579655 328944593 395923525 406828102 850718806 115515517 919873157 501473252 532233806 843408018 260374127 730407930 966984453 107135579 553456154 535422983 950396493 605474550 865811248 399154051 775222435 122047237 766247096 744515463 541550085 443003425 930769465 146235570 212233525 666730056 540130916 342048139 597386224 661939730 626045711 728584267 445594098 279619113 375166618 744859732 927488123 398829963 77905207 709733289 452501827 275468259 756600639 622605650 601048893 925189426 686907332 886061787 915653347 881570470 620063704 861755539 153544071 971847531 873082657 975579164 278566784 911309537 914397952 56576576 260830038 412884049 750198067 105484793 77542681 634855187 656060515 179891289 879780968 773780116 830048963 980955765 322182635 555051375 917311941 192087555 597303986 970201349 255825285 209085767 755813260 169878491 865935768 254217343 1986818 14790037 267915532 559497252 999664514 389402504 409426010 759270757 15892556 680772836 344046150 758559720 398688222 232606051 970853642 890302904 111174249 820938270 701015000 998326420 443624395 181133820 1809935 899208093 986923065 457964611 856781185 913099822 392535067 137634041 217560077 868640200 483883608 803129050 987547640 582583228 432671811 442822481 830638452 755009320 537519211 920175958 386647652 419313363 527694422 484963627 323732725 86595586 942216219 883564613 231796294 11901214 688444987 731579799 919151868 97592657 484190810 903260273 727610678 194030966 997439700 731272484 93035895 582307112 191678214 357929097 155782616 306633571 648072244 530463750 696999918 363736245 502734692 339850231 344739789 60301130 532457939 600891333 790876381 272830381 910932670 989660354 277857211 439783129 644601232 979446591 725502983 657986245 564289506 623789763 352889314 873609018 708519601 344528843 305758589 783717668 648449702 676564653 194156615 350816560 519515068 134143254 618818056 165285499 694763562 501078750 981553214 850699026 802335555 165171551 997578825 675640846 863838452 501211336 565652391 652538067 409625422 793568467 836252762 344934543 60904873 630070017 104040756 914681516 706839536 70783151 997114281 29507286 661853019 920257311 920362600 706177628 199899706 983614090 242406711 805982667 11333878 858267033 34368328 755416931 828130960 516235126 422866988 240989476 239276425 583712947 815134705 767654342 311404097 460162288 464511975 462145950 853122576 105857670 565403304 347255270 828810469 497020833 884737213 75856240 927847001 994721595 319477521 507692641 120562134 193632589 950952172 840355271 11839567 592662575 629992361 786180839 776114278 50476475 44032387 556721079 171014009 166214119 541663553 316892289 706609382 73424046 72307332 408530467 821183036 971436308 774032057 924261433 340869436 27979258 66918107 589440440 89828512 513844015 680866452 106821166 677413193 272180350 421463585 571131236 719887841 891540523 277748286 813269301 370391964 693751483 717310852 187905722 84215996 947692173 565283053 389901566 80343927 671674982 608295169 33981322 26181208 840758353 753177514 378473870 430583839 797163383 134739805 685674442 699455916 538234456 16193982 881260389 564757678 432899037 867673767 785245705 2123860 361176570 789007496 365819844 446523286 315174791 149836875 803260856 780875052 411795341 121613028 493452611 730546816 585369304 280752074 333600709 944032933 818500321 673696282 719474622 241319154 654800417 362973789 809991994 30608317 96607595 1387630 625728261 781559005 919197868 698281306 259397586 976121133 761997921 875180432 362067310 771657485 838190422 544305610 81172316 149771634 381913166 599927975 510873760 404462822 902917307 298980646 916507866 530631547 193494171 824117350 915888390 857210518 229265499 680518087 700646750 428673446 8276177 97170710 828251520 778353892 462914885 896067093 906675547 843052025 903532493 255005488 50207762 904818880 772854403 135104287 110861288 964442343 6999719 696339009 79400486 219955407 65765315 361756266 235500199 12784995 940553779 250822661 430206886 794769878 112521143 808437546 223176050 78532337 964982675 749851791 497376898 667136104 109126840 320356372 837832883 809223463 681436918 334721278 157660090 531071736 248948545 251288286 744350648 754662710 121975252 705450475 364886496 863640027 163714676 592367255 393715442 335519369 199264567 5593744 353285040 984014357 637650631 324073055 229324236 641564156 774816056 17129336 986812170 551440967 974606308 874301207 335868972 630482838 76841475 822147153 998923143 559822704 475652735 528843528 703298185 973186546 383130571 891024476 439011069 981738448 847696609 158900242 652688983 388035728 416400050 982240120 440515081 154718047 757011670 324957167 865184666 126530875 996331358 399460810 994629800 979332889 388989142 243545854 652997353 161851071 333403623 34534438 811080111 135810184 112815583 872967824 995069475 292880039 647858963 463178675 778815119 188429080 709847703 443738579 435059330 613700286 49966889 449440814 789864418 296289314 912274787 421888647 396029871 216260543 848658219 529620812 310113433 448124336 359117330 477943177 541321780 233117315 428311984 710003944 553662056 683278872 468626950 464221590 596635909 363086689 269480896 820321198 566935964 638467225 254511385 847154964 369936551 373622593 75681986 887638511 677198018 983500992 235940130 893464370 248452064 366172642 128959010 612365696 393389172 712445134 988643851 829529941 594712709 41668725 704446426 837020496 973487339 813347449 890881858 96305899 96960660 851016660 962159194 693023170 370872834 545320501 415483859 454572968 977528883 567052777 641837389 495321279 282359711 515694586 269055922 718187324 940190110 987477657 827209499 717641649 870396656 861826319 537498070 423852993 686234115 316879440 462956784 772388358 42704935 200818990 488945854 477826164 536155480 219545371 50229878 529916248 443104179 105621654 821421959 714267404 683327739 699868596 747896516 623551650 45057313 261245538 740061852 393911263 443100945 954634290 939444612 343962875 776856468 77953505 558329904 578266289 38413823 958802798 131684640 931871904 533805132 639639857 309536078 611385192 883353969 767420642 881204060 421289095 232298368 636921312 815445403 488318872 612875697 431540416 437961644 613508432 303475515 750164614 704638997 18618480 515305423 514284704 5810297 569940951 13037316 924869397 688725484 622814487 510306913 389929464 21278421 950113935 811696586 614703336 357757440 769110105 296094528 432852608 816218478 927046714 276336341 221763061 182776160 145841843 699968929 499492926 613480680 531736130 272062350 842468369 182810802 573260429 220156501 26902354 983968045 718523262 562495066 468510961 53118996 674958561 841752940 374773148 510231323 864092 854422816 188330750 948938256 905161204 90019821 582640089 547576526 768310540 360965929 251748568 270205767 614702573 80629239 797644383 627764629 789331427 690079295 449112844 696890402 86027517 738652256 628584700 241312684 628849196 939844300 868392992 967793150 682659848 160850593 714240080 698832690 869624064 269360022 870366429 401369003 621876617 344252448 997951940 539459781 10693983 238916981 902285601 67537131 382693440 104984025 804464178 421808402 358534628 716992782 586235050 917081313 676887884 562554091 709304812 210154870 744816254 816682215 311582537 236914564 2521531 211798626 190989925 985063403 565199615 251822932 895119734 646095559 344982003 109575469 65493550 636587883 881415792 445511221 458542754 197872674 612131859 254040952 681536261 258462981 632480438 16731819 485876917 107987011 336652559 11781953 705051785 396183318 888724853 697558440 510892992 859256040 341837705 68425153 566000005 728193087 44013594 51412186 734858490 332374626 353408415 633624864 711905300 248213930 453440189 433474192 493313597 582231602 147425176 260792419 225711597 14346927 766746288 481540031 276213778 868559761 640097703 816170606 49091301 181084357 762640165 141498527 104767696 200248135 741539630 401748438 83156041 247954904 8884043 914488123 482573930 990222471 853718105 574761073 803315915 659818013 941161350 32701511 962826905 306953292 278299774 690515316 821725041 391629571 670794827 956219410 768100823 6407940 830316726 27932060 938589637 690889674 818605304 45159318 630102285 688000885 540489777 785973332 113536560 275316565 849852597 501566122 971942884 25839085 183395308 409015703 927044558 310882149 106385373 995023830 92007277 988870995 614132360 811488069 924678570 333052298 798178163 618602787 660302463 111262086 284816282 321787948 306630403 774212476 562396117 100867109 44510568 681947778 946486461 715449047 821494523 777764285 57927703 697227866 152727853 886511372 565017883 298490831 839979097 763875272 962222123 509322079 633253826 876982088 146187262 609511198 100905715 606892137 840914833 869682366 747778375 904558737 732997353 260958477 981053070 864650034 373633038 81922004 955656925 575603790 544230072 533330066 48609795 771149669 481966129 10508926 852945656 600056580 792841719 18436863 700438402 551368064 459358480 799162144 404929422 493652343 74538017 188090403 675659507 389384972 636217795 865202255 591509867 734486809 287469858 788743738 714640346 525779023 489111203 602026272 871234219 593370843 365955788 979732259 934735072 294044329 60055989 357255649 515079367 727977362 210547931 774660248 562522877 786320510 630461472 704306432 809466573 698007112 924824490 259149030 273089973 402498353 299099199 390855003 547446567 966183444 365522506 466844337 258172894 754054673 26838316 127354871 130101307 641119072 643894413 571339609 329732438 397899939 243129360 510911226 664670013 654771138 971481372 714582536 551128567 299371596 97098566 145853536 400874625 587294935 290112182 13614185 175023587 941357077 433000861 175697314 274583305 715043806 5918035 921436827 57812636 483223866 84602047 603080885 739961653 419894763 856456366 691368390 199838039 920094119 666651683 962746272 779081313 360394040 552783147 429343170 320419890 590481170 786816608 75415742 726475353 55629073 5104659 614008344 177224885 569939907 157513187 877162898 36207746 478582787 581452096 903528404 517679713 40176579 672551825 492276894 336006251 856867829 550119927 753859102 854794413 403975916 317686171 719762910 817718317 828123641 240289671 343069801 777792536 307828861 262942230 976477148 608684574 119378351 943131189 711873781 751509550 996758398 938497309 833316269 260085826 54212466 919805184 619083765 969312065 902083383 572744788 123298766 413993668 215693649 988402226 533753323 299747493 770265573 407210259 346463046 799608780 233095673 877824300 727427801 541047145 93613634 17305556 572489972 506610882 312936783 203680904 587275636 556184802 745493190 810206252 335702477 242572090 912703174 785203194 609513645 990317421 756386729 562034311 849570034 911996587 801581401 455857279 787851849 811781686 297100874 301693097 606477375 141622009 256866476 86896568 751890602 582566911 53274598 922146839 844608378 190079194 681037437 46976681 904653453 971210861 390228141 784031364 110291600 679185430 238422828 640881663 705834009 881841048 807703119 591723240 712587027 764614951 276027612 214943597 967410684 167080674 635393906 830559913 128731295 41377145 533759935 905183588 981714095 704740338 858923365 421951363 303314956 237805335 389359787 43247012 661077557 400612350 373213853 5665120 230063402 499862868 465379927 341341114 9155959 816704897 506614271 171848308 405675938 133392979 748402271 809692826 824929436 734470251 151502933 987529725 745667797 331472560 429295713 770497780 431945765 640903617 324298605 985258205 363076364 396497805 234265942 393399573 936954863 631052123 86042315 640604588 532952009 13601917 716952465 346890418 17301968 694469650 933413697 799105540 725123648 583967635 830103358 707878878 965489984 60622992 895585070 98575429 604408691 858433109 659119638 33274329 620142566 22925288 26602756 218911408 29552526 474334928 430407999 184639518 705387133 443467504 637250146 216320104 129959745 837402212 299418983 246486501 297615956 716638838 873741378 340390740 293113092 757073940 76752647 592880463 731055481 917117784 358456045 834069988 994559914 209802314 786988760 164559184 970402450 226758838 416084256 380860768 92826680 498044626 408477940 934377837 477181727 387024995 920364823 491424644 607157979 169398101 357109302 415252404 405326340 997405983 919364358 351979026 876475399 190536877 588207223 569511393 24313009 177127617 229859915 460815844 479537894 522501087 122433274 91306871 408562171 111465910 243388572 715800374 548924359 973026434 199163568 397651233 746923956 394322831 573012307 482386988 127588447 303498784 220315646 685064597 489122930 845694941 395164928 910145317 167026772 427593983 478413999 299396845 291092283 466201255 3847417 521413225 97461443 491956439 963650390 127602514 530772245 246322810 356505030 794002526 753488202 214560629 126335089 599640836 109599207 528137508 85892340 397483593 450387605 272995396 216317439 632600729 577886041 197914739 339272648 913295485 75532367 143029067 560642788 732084349 673821485 654272838 260644724 619438446 211291310 722616022 826322627 332656644 449216886 531561712 414190926 425338030 949942141 356502677 835461723 944141571 170751948 140647170 274409788 874989778 396837282 992646150 750487108 560700354 333164346 623624452 294050329 188374986 990493326 866403106 355266556 251573156 291951781 925568557 788009423 668556710 372173233 913000185 271395474 776068776 472978832 599954358 449071862 29103115 574145588 865462050 704192650 967147040 237234827 936134931 53230572 857229784 948443383 87281065 134881643 275607878 403380137 337300862 232041916 668901565 806775511 563983435 793290466 100595594 732605096 619379016 55064232 674357846 644520495 84121200 491729229 574871112 660171135 154694837 358191305 13371393 620511615 670419131 280449776 976765532 948999407 748977417 181048811 598037386 138212229 134822039 145427552 707824887 699758831 457059864 310162398 183768200 166193535 834327948 822906754 367847379 819977833 495360885 397993048 890418298 856091668 838265667 110638347 316811172 457375964 523888721 351763210 80669384 641099830 862458233 611118999 450180495 357076347 623186807 944990014 472633435 182173798 297404653 762853378 531327541 764244327 662358213 996438187 287337515 880550567 187178142 641152384 682718707 660274987 493920982 760946155 949867421 866726197 987696291 676406127 104385565 814598208 96870103 940723726 294739000 942911977 164835492 734934327 239309934 963220238 804996913 999732693 156919187 360366694 938659412 42726393 654973004 818026292 848964098 616744141 630392943 402320680 640745069 839506351 927592869 880058258 621750127 641906638 612357711 874375045 434637437 761449957 106389875 243730869 722163346 536404548 731515443 323679084 751995925 707756995 288817197 765816775 685233866 822293685 446002029 671598267 933151754 383013547 4766298 620554053 2651131 635940426 275051463 369131386 99271331 488222382 675666579 293446585 306315863 374550638 81943726 687569324 495353233 242970912 508743504 97199695 729109646 133135580 244844437 292035096 635910566 941260896 422667517 658591530 54665346 387219123 119552756 506726974 265336257 975073557 273651538 769801632 33726836 28280556 353585521 496115098 379333513 1120822 497882368 24027483 132587435 494783655 803826426 967192644 392690341 61986393 680600438 911640491 521318381 856098299 843847125 303358375 154874152 634981787 966965995 506410753 364078701 340080181 238552841 874410154 684871138 121578762 433283472 821979334 750483028 640564128 927794498 337853963 76090961 705224204 792435002 290046973 491771581 866061995 439898174 648283884 672188933 673593231 852380992 465434618 556971606 676882772 117742990 980585076 283609136 915528598 468461794 46801850 515827860 282100666 943736070 671776844 317671550 297511706 800299201 843576770 457342820 725750604 658871233 962845579 221504252 879957258 224199816 367091167 153207003 411823092 708835094 934051780 141554291 180965391 653543154 684574915 622192392 502302355 51841965 211980845 152325248 424071132 768059339 716558185 632637506 569232276 302667182 212266474 522125183 757400604 551523085 898916242 845019198 896691904 185094274 404626466 301460327 811490603 277626845 864675865 975542527 412268655 554688584 426739470 707207224 969072684 815245658 486511649 936684069 462895485 125952698 775875373 93681732 814582363 194233318 781433173 144770768 867791378 628777155 711039450 41135834 301435443 401781994 960490419 571508194 309959416 465037265 321964985 458030711 864284410 88386158 464235986 299085567 443055287 954149283 645627679 777912241 494475874 205827394 365862822 441920908 552318361 271052129 737414592 422623724 364527196 988115441 64566841 715320208 269470120 882572714 789026600 406307720 729585208 493807165 802138659 909040858 127799223 773151308 631404954 284382934 448284514 880961100 180821262 994302867 520851097 877017834 253280263 235295618 348487691 810955645 361998583 380125373 366418170 895185686 168304704 155284807 665840474 156431694 851502469 10408868 244194506 557284545 298094897 560663933 65016324 386106505 823083187 724704450 261019313 631978942 708574954 339392218 899356705 702091380 86378723 901920843 257758197 626032583 178483313 916376156 715774529 916911355 744114422 849232215 339209485 564048976 996856859 594520932 711390444 109733817 845348945 538627219 431311563 418493000 704922367 6875097 786801878 302426941 378358223 552293634 869406067 485936024 828061667 100701380 94998176 732548308 859275381 734727443 311450123 439194173 930672070 535654453 799856581 764998626 366302609 612777271 846985077 236194931 471760348 256907381 291955139 926369535 595330228 18285523 539639111 664250349 147752762 417588550 457392683 687152051 997769900 186864130 874303579 634042504 81239536 630362450 263070683 849449476 981434034 421846717 849896539 910313044 739870233 84310807 118070789 841710698 562692261 457861921 513933655 616041688 375220319 570070671 800757557 599335844 901799665 221001068 105190925 359373276 915331610 58809311 840273267 579403156 625984086 164904299 871466442 76240358 972108537 874339279 145352174 976104068 20615858 573473315 562563922 108177435 794033146 338187439 141465708 751193881 124936502 328708260 157665965 484126480 212419436 701538034 699929291 22816702 42179012 921847500 158632650 298809290 8319575 135818050 166836145 93426430 424201719 585268717 832216223 515060375 377920212 863328622 220327526 78889351 783032238 437364519 642641027 143474507 835504078 202982048 87659005 710700583 533034510 866265055 592545653 238333388 720038749 347708206 795226982 428466507 833871070 588626205 841076588 242659105 840695548 726867352 561327737 601081000 17239771 810860513 280702289 347743773 551614262 323638671 91361977 371852847 985800849 589782424 236796142 825540439 524511116 883788290 671543180 669000486 566115328 512231656 147837522 273765740 662741214 658369490 137900014 333775566 115823587 623801081 718301598 426317967 293360058 324305184 909071650 833200442 156301816 781414611 258077261 483085176 907520087 23877618 614757103 676547103 117322492 882107229 619261226 669161517 550616558 849627427 208079912 883495628 20459971 498563612 161687638 304833567 242838301 557342154 935873038 539879241 557973955 94227539 762049978 101087855 172163559 535503696 557335076 887767986 556700905 607100580 149570899 636920031 566391651 288753818 880123116 932203904 906181524 966161080 838768600 909717444 723010044 720662240 416057035 552525002 915559211 798626018 646992132 175981248 310940992 913814397 180599069 575578907 415905599 176996691 936757913 544740650 811535425 496018718 816602085 36594813 464137057 831563850 536512894 703707937 248489835 451616659 715561041 881647405 174118852 224245977 778605680 828511364 173909050 88087914 525555208 864388956 419405450 628984709 48177257 868985158 41535645 890017025 643013272 895182522 34147512 631514243 88657581 786500563 804434596 920043946 882870686 737547268 279811614 615760633 890878525 641336206 554082154 968684092 844035695 519581673 590833624 695134319 984226671 953677312 971828505 353619902 39230843 930873686 462416158 848860933 207952729 55693631 903503969 703239321 309743292 65525923 529214706 450730208 832072464 144049817 314578525 377009889 444602922 953391354 245501573 810050021 916727050 439282192 691835705 993325885 695932957 532416417 320751332 856769878 351036857 681698578 208575907 297912053 114483762 781733648 906474886 664780846 770678260 196133764 405104190 142833777 678573676 838900316 686503709 231179191 217568569 360123053 833683891 79874128 984407113 955354301 841189153 70069212 475641672 90617791 335544269 946213970 316178432 592039267 739101989 505046997 797654999 458902015 684220507 257629303 972459627 567306205 998514497 414424338 961059373 149813655 747693781 782339895 324565110 538952270 499030962 529658375 529737912 944023169 536335576 525392461 753320837 808500449 370634793 9477828 659949003 165238553 914543094 296448659 634012664 474374997 62558669 921303633 337103474 631470591 744118828 432682658 82894030 200655693 159846179 135981861 612651829 800377269 185597951 318010625 151412542 158833810 296315502 865342700 382873091 433562430 63822947 388447151 497403997 405007497 144647307 148944651 135195953 321987142 709744928 543605393 481575831 757119684 992553189 133632211 199873026 302112519 367416650 906112154 222150636 592021845 115814248 659335429 659547120 915294039 360363140 529007329 233694903 660044182 106528015 309242189 146926343 935037192 868344161 494867317 281387434 765352077 341924228 949546391 18444390 790501247 338031723 916346632 733991554 823613937 910518128 419314635 180938579 889497181 177055111 760315651 750842795 102971302 145925502 22846100 755576190 861691175 726597637 873091663 214053010 683008942 930462569 876227426 210969911 156360724 445108377 928772022 593481005 60495907 692321136 66037725 392200426 338277057 75933830 189753170 756882297 104786171 694381618 897087207 661099501 500645191 987024234 703576296 206218978 591049582 680844893 795843208 136071561 591985633 902550861 349328248 808926302 657179167 870164333 60663581 588558676 81031019 150193790 124117729 204897668 908543039 939619145 53610400 592045011 396188742 264470107 663053992 750468257 353681620 721843759 12355679 640732773 652347394 920459845 619517279 814871854 95236753 232641234 401087319 20497654 776857368 49807940 957216692 228090174 277853278 295696124 192436068 788783753 342002357 141227140 407531504 452625870 27420571 817309590 650041770 241950112 973396190 840479624 127569425 690896471 631372739 739015234 49884931 462535391 650593722 220097108 171095118 14858179 144665205 876123198 826062206 273938965 348675182 901044658 316267448 426676811 933492549 879767302 368660867 500543242 709348508 72232632 737866946 162973986 514751460 240720227 159420420 554695278 580351826 495052997 87983496 394196474 692578833 473032203 204295060 118191250 418545262 4434810 502751822 554543058 222738222 687019966 623253234 572008842 988858623 963810454 302135732 731890783 725595505 906745817 871209687 54752596 940860145 632950459 265720783 128966369 72458234 81703150 119804586 978019824 47128170 786232070 158495511 743334617 471564278 874723510 977391441 290126518 448420047 623663677 986186252 734847018 391829037 540397994 473647553 949721004 773310359 674402445 541752367 860865109 364169140 483799826 368500955 849965460 126408258 361616098 223282566 45454492 754062859 508865150 620482776 646044662 240697803 435699766 804436788 282973118 169311041 260679607 333843387 257070084 440468685 13516102 83564618 445221970 881307308 752595961 258838006 835023061 691486677 171108323 321080924 168779280 76718757 481065154 167415497 808260152 518582689 261406320 531064468 534632928 975404622 202909169 988919911 863957952 760782601 726756258 412386449 966696904 359906713 601804010 261759414 98096965 468644022 922754932 323232149 585203019 927092515 228748198 590955271 143276384 479947062 409698129 640316056 86667086 128885463 27398737 607469058 615028594 308755258 492700384 611998940 379162482 67113672 874372334 117410752 118481346 55026375 315235161 804388958 784353340 788633696 425373075 33210493 734740303 769915670 907246251 205950426 822737107 433126308 317400216 546064911 594672279 557766377 275300901 294705909 798164248 230677433 974485838 990797761 119641415 618338237 476296531 752609256 917378261 59665580 84256393 950268027 139571715 772655734 318708046 406501535 960231085 553157396 702833027 861386586 841380824 49056001 108545167 998558687 974831203 203070238 653351050 939085599 212378689 827356055 545703704 334793797 316708767 301592917 700490999 82692929 178865972 350050369 332664867 81088662 524536136 956823662 233950478 613018486 897816191 675048211 48010569 506310059 892317573 157741159 445180342 517677805 504961710 867921329 335867200 526565184 306372371 203436603 953607895 524079520 878266682 323764248 627682088 950935662 842375246 658153649 513598320 218540563 556630384 449948085 842112745 195890968 431448623 839917160 763214638 289257847 779748527 359836783 371232477 265887059 777105023 765735766 472747515 240513561 112667936 818596644 757981650 176762244 529071926 49342660 153138681 153758354 488225609 872619510 758783104 839311963 528755830 792592212 418273054 303736854 657232984 350861177 446672252 282080098 615160200 88479152 660805051 498997466 744532223 555281835 703412055 526594039 52271595 877736953 132459662 127869960 163263779 172890498 675290858 553757193 121544779 440417559 412482009 71974835 214613902 798762094 238087122 498241070 686845234 833901023 581312597 512781281 548205233 322715080 460029284 557912103 710672765 459451509 741759853 290768534 156268971 379577665 630010766 99124164 426418594 208167617 903392155 436201801 731535577 247095399 437801720 526409180 453261187 534040767 129437791 117695957 672230032 187350838 867547074 290410 450057440 380608659 155459316 411869940 183905120 591925892 685037935 216239601 145359891 874482713 405242680 150394729 739702601 799045538 48593788 632084699 98250493 593047661 212057944 672384019 661561899 510012372 659797044 319316046 100921461 403985531 329700806 227186136 236956382 29373691 343485412 477382766 372179956 16383262 156648110 216034919 708069514 141266811 161941338 377591618 280089687 892099928 248897038 530574561 388952361 722389437 565655947 457335844 450433529 744635573 485743934 657182648 13932412 74159820 307440830 188231143 705102667 657288417 190265769 575915714 584348479 577695550 581978237 229936884 201290348 348733819 726457831 90297140 974447572 294623107 431816270 178900563 369094810 833800154 265661463 675316043 25357481 679759185 367786098 455453693 260353953 673826404 399386628 183366175 757117133 446315784 986216705 558358728 298841495 455042083 848239779 921808090 368164712 728937705 774649791 220413829 90862097 491990103 199312283 749781541 651993498 780984203 972327385 920771701 695679237 909171377 918413733 19283722 160911616 439443317 352108416 486653283 288959240 432892146 133426268 164786188 705337383 454482146 169696951 63399159 446473881 808169746 498834020 841160637 905817191 466137280 78193489 56396077 984788943 547550762 462096859 469305420 730837675 630167261 710225793 120093629 566827776 569961618 641889027 143848145 174915886 749543700 296587123 734891429 583362550 131480005 49650911 796395399 211572585 326848697 895919691 777822116 297789460 933958232 970959630 378143786 520194758 794912188 129933834 932491622 637868640 28596874 183017968 306321632 940236564 909290378 854953754 855487334 575184470 788164019 405731381 81659814 153839285 505297510 481364584 23820429 152445045 238512103 892572701 16415206 211311531 285775241 735273148 549638036 419685586 702353618 742698513 621708213 707664412 284979708 262276405 763890006 621134847 653685130 603345624 594410925 491000598 247383985 885024599 172824803 217192676 405686550 455979871 243492122 658824836 668953042 344232087 841873100 458971339 212090787 522843582 149138811 931702284 90718937 869435410 886143276 291271225 357729369 983451277 558452437 625024831 940553417 177658185 679891777 691219471 473137599 720416870 936227079 922458161 761700192 660735796 82036742 815969612 911797674 550777304 284309843 763339191 920094264 939803202 149399311 471557610 403399367 49440468 428422745 842923890 677775148 250354198 29843280 880353971 545781593 289670097 745828946 813931292 311177968 585766309 554048283 42826163 842646803 640916932 192229596 657547843 72777550 580627264 863478136 288963299 106801293 567591867 355391441 212899785 31983040 927700977 14682952 539283364 495991460 313238820 148936601 274143788 308527876 738123557 643261807 314794240 448500311 249757263 387834443 174965415 241069433 908516559 94546185 815570905 763403311 4929734 417178694 873442133 835948677 209541911 508122716 432768317 677415867 668758912 778997231 204854886 410736802 839777489 521696519 820595011 454859828 669995336 161736230 397914693 638531655 544766610 817806669 20641963 544499990 634457099 456128638 85062031 417207488 293475114 352729773 504327721 276397049 478607301 587180836 754941026 934299737 906636376 485356696 456938530 188846264 599717252 496665923 791987315 739020078 483798732 225178497 256094533 772602317 863168390 932463488 570427071 271927803 361323354 587867244 124000281 108668931 644993346 752392094 49572203 273587876 580471398 399607036 908868438 587834331 814563371 294993142 392913619 733524211 554629596 749822074 202833297 767750648 99797782 513646472 757666986 100472550 551658602 344748316 973633687 843693343 966432688 272549432 365566146 168612172 16662109 795523367 261864665 282735264 376335911 565257150 254499324 285377074 1491289 260254862 793782685 226446400 850379601 980468292 610730825 752352020 12649464 23212579 670571678 656761850 257494695 729721331 206164801 301319752 618753874 721620883 749850547 579956002 98609754 513453821 224159023 244324558 664603464 633361675 634288271 961405540 878564590 771350813 246763964 93778688 632984212 651094649 852399134 883530671 430816834 235061788 689210418 330468155 342789583 2574895 592121198 470033182 956619008 710610607 589052860 115013845 218575625 211282719 288157942 114483809 75137908 71065045 561326116 403934377 88216894 972397347 193556851 242742652 757219821 560926197 75795886 999458703 617140436 178474093 195542632 545949468 294585268 243600204 933028238 681528624 95851540 690828810 813189208 706312557 534966846 707621974 532426311 3787323 562764807 790125619 256332622 9661418 979946451 862298283 100002393 32931507 126260953 31325170 59057646 241504140 648315426 835116453 91618737 473405244 731167983 484988481 106656172 605159316 700512958 431017911 265807698 533350953 71473130 911326747 441306451 249046071 596936441 581678786 931713368 161623480 598803042 215021075 173491792 587896412 77172534 995241905 710222215 293725372 558368270 324927272 590681576 389385489 261251485 158152352 887429060 483240554 70434248 146092723 280505118 760538505 729060403 439620712 235014079 215685204 282604174 300014714 600389803 482961327 818909916 270414342 73509868 647878576 328546719 449495303 462782064 289921360 842699175 611847599 947693682 436400645 871238373 330154469 966858260 627963140 466352593 254035966 602955559 978566542 210333962 854642169 367559498 353054725 868250674 907084022 599218565 522540114 269379112 376232256 811490483 219013992 528011903 932855904 960691013 151325807 240687109 190395395 697191235 245242595 142643159 883243968 320348598 837748105 812948145 934213416 393856600 664701323 442434048 574157323 821213481 643766858 206226143 239123862 237906474 654126135 337345803 479295935 446025237 314162250 691717977 629264528 614990290 528373104 22753988 693457843 152821551 879901292 708199022 919097851 38772170 786764769 508026616 115576175 847420854 795655165 206739875 797105236 829216032 469876245 193911661 524535180 543990427 719330445 854018850 391910342 915226662 542229600 591475447 689715606 49767367 592530576 826648547 111623569 44083266 421681229 141422211 681606447 76569113 420779277 543727801 237378842 642992939 998550087 553024818 327399876 101979933 227858705 518693147 437635639 841459533 149681352 622376107 212085826 415862700 456777088 133204812 506926999 139275038 178968875 376318985 934536218 779355240 87216155 921151851 897114512 232835678 408570250 37855520 419978708 214841403 360640018 700050332 212671482 583454376 879509370 942586675 692523406 202174372 248247282 546660563 43206026 877686213 190557813 659497945 458658706 777560431 805067226 367289479 826173278 211507181 553831598 362495082 157291430 979215943 481740218 667511536 344564476 104700899 577769574 274388730 878854749 269438876 689922084 43132141 40171447 1856879 572461700 194330140 797385382 209312747 46423862 87626482 414164702 162347395 154615997 449602578 930218662 155515840 674354408 30718453 189695545 985038526 832488542 802473853 757216655 444645440 698677464 260905942 970927578 578996839 979318335 269273746 689312616 443834691 887029789 553570714 893862578 747128416 305377562 571422389 843302075 25513385 691391560 221353628 165904169 509470760 44438149 484027221 455588648 489089702 355717046 273510950 380182541 770090732 634915246 564278900 164670068 764646720 52005814 265829063 375326968 664206748 645463486 770953739 549050810 842964993 681605557 724135245 634931185 563291651 573483218 422354192 498688557 706786302 774351883 243937718 962913667 512370302 446526531 983147447 316784747 756947751 387491916 586334596 38638778 746131545 813881779 179502796 560381657 472683280 527841727 976338462 436728071 94491197 728294887 732889162 154409627 231330351 331996505 13006179 818119960 975608030 832086535 422949325 534911740 969124729 982541952 504620141 677063434 448185743 436060022 14629214 901085476 682900517 906287545 41007286 358724010 668399173 238692854 900061824 751021823 40234765 367495895 494575213 691708817 559937544 835189101 778515306 336872238 50294021 843905432 966078565 977427862 228256707 464120385 302973164 858642009 695309271 240484568 401757531 966406261 567096 187688619 190733116 190074497 231023220 528577988 880409411 82120102 284479941 610168184 568051931 583270185 897620644 322019315 328503525 849194747 131238793 455061083 272589323 795886243 752969384 235698134 304451254 234147176 313543815 334457157 135648955 467835784 978248270 67681333 644678365 886715310 182736034 554134773 577430100 228549205 678032598 897094429 705267003 658078907 648898668 525157708 771226459 90906283 809341725 414693877 123124976 495616137 850782393 681947577 729221650 467241746 202822757 725231456 959038480 39093452 790353683 620403686 731827585 393838525 894362654 625566147 224130497 164098285 998111933 196099478 996784427 403007089 570916200 121974039 384752659 514935905 796095650 964570010 719734161 309683803 345689519 643035857 84067749 892308733 984527956 37242304 334227472 351397223 176659215 294318264 35801124 5653212 33098334 544597903 833039792 809230822 770144553 227684498 927047513 326841313 829202956 744911724 277455507 15134323 981365297 268905343 293423769 188811890 39394066 193347972 842655356 75363231 28370980 696282446 899028138 217342883 481541340 637942911 622572133 113755458 337969525 643236905 613686849 515702184 364635659 692132575 324049901 162586863 497858126 729258154 929782118 993906409 323039085 953348320 457873988 41177054 303072788 371494650 530286749 588851228 239828218 645107405 990648589 742525362 673929401 283324811 869831349 983537551 708783829 450681734 818501794 39645632 446732414 56563753 588688494 949832256 768831395 95362467 156915428 201975627 904009815 726105156 669079367 327533178 987106413 295211027 309504479 962171221 402943776 818614397 993463048 830300098 164791442 326287410 383250190 163972821 594932442 645794306 596013109 396692654 39225385 160782204 329013340 521026767 875285948 222016776 937250360 245676433 640387583 742946993 727584973 460286217 779799438 728537969 545160496 951765768 688924020 308338480 613217756 45517697 641234969 938676716 766778099 909407907 738609005 131865430 428363038 540348771 101231901 580879834 479023298 870386862 35665733 298935993 519937240 272343097 169841525 744250280 489925857 594200475 409060337 606882329 461676500 674116141 374393497 997200831 116562186 487324015 60765458 551224441 259335260 384991259 422546697 650099689 732385327 226143911 353484674 566878371 136012898 807799160 75561886 490055056 263559512 982656768 864119497 179715442 677349522 732917553 486881751 941239534 236006120 690376057 591163554 45763268 849749607 464616234 500698720 650431428 248014510 3391816 6459635 281148685 118958234 76409264 73967843 900929462 373339828 766534971 929205135 966629301 311880771 474939933 606307018 562060975 465025716 928250862 26685323 655786458 104122785 575209719 559365519 572554964 376701132 489160078 442068543 293255243 349655966 451246716 944937860 3593286 705477799 679883261 459024377 740722961 652397290 985342374 633944442 90934518 904722707 18158335 670351785 6249825 610734647 545092332 110939119 666172598 754228897 744314082 477967419 44906644 379590789 915672200 187171542 802078921 482812659 74150738 50482093 342579031 164855 340022124 822326363 381309808 971195859 861743144 387878168 853977099 41109671 242705896 747342601 589109815 476794941 78658687 148391475 72254399 491943341 642788553 635593875 647566393 712580618 367937054 20876949 609372299 226758890 61319689 704230462 749563221 534623586 628438128 423507650 258496871 503539565 75867481 465766404 713719069 652482229 891205317 875410296 376103058 70238374 166050173 852745108 535371440 738738047 313444514 698185639 69811266 181156504 408320534 898813840 818574552 8382047 529850357 875136004 410172876 406871412 39705850 525672620 943153696 453831631 895097437 618030061 583028123 633700981 447825251 504762994 10303630 625632705 727556072 107462876 665033033 424723682 602190257 339786394 47744923 548519270 952283493 434713228 680430073 300160266 798945925 67802221 833218551 633684750 967556942 228525416 432348935 34181742 157697468 670576143 219597754 386100360 233072132 842860128 892459823 64095888 972471092 731461087 443625401 482611586 179519911 129204646 567170452 863927774 199459123 637463686 432066376 767872006 558626704 128417242 126502243 375075698 368881197 720359543 105564194 880862384 231834682 209735296 83342739 364795883 611794815 378540812 270795155 870496889 900499735 726011363 243529938 793200354 778653367 234454299 728514271 434615434 533829115 634439289 879766870 271482437 774458294 650945099 693139785 43658820 474567256 436493876 664870190 319143060 471999765 471516365 961548067 237946570 965880672 242313064 898038099 547968425 334519425 675088161 485150171 833732555 549524978 770018738 540128483 238290297 643460919 286851733 231012208 915610949 915482691 347876430 524834008 847212067 949824905 107530578 678225542 561946264 152213186 793398437 11503504 878263212 641829997 154522227 71694257 357959992 939098709 225756728 333985287 437838131 326418616 444245506 724301919 370942495 693451493 917888816 472985041 97869784 406918351 151202155 266867433 585606502 204750234 567588111 885443912 195397484 739312280 710823027 523969454 500245047 684304389 502724061 678572288 320154257 57359540 261685581 681985682 666938801 615197531 335572240 807588265 177505599 139325659 704276502 685380873 776380601 678239024 513741171 857697684 265924277 435643440 11454039 40846174 710630329 540341214 677895845 36240322 841414463 663667269 428603306 35291633 110450253 43696550 756345449 306160830 51310499 169354594 872093335 894039302 706427182 110238011 377694733 628579465 76229948 627879680 371178779 593171954 474990757 464423596 858265403 25835496 23865819 160719967 177134612 174817450 818171446 687299588 494589628 50350835 706532185 946633897 137059803 366915457 856328706 492429649 363662226 973914854 350806933 494198661 731309153 960413226 984868789 798158249 478693600 978856977 737331903 834873591 989613854 986185666 219794392 534101197 900810522 27601025 461930274 602802999 870109289 29240725 62281506 993350963 669998309 901725912 254748544 964586572 845008654 869562458 588050077 639947714 998353987 891266966 520092476 968127476 421449221 546230459 180796283 762300672 144600236 262603145 320279893 322438716 811509449 896776129 730840810 319863651 921466079 477295350 82263687 435166646 331731059 773323907 313936135 195300943 485308254 81067711 92830228 513670343 929653322 763233973 27313589 164162991 132714607 730156081 729435184 545909197 754317159 807707098 849828378 796021471 523267235 619590714 449454140 524162474 51469531 986607177 332117384 716382835 74892836 383025059 452771344 9599083 645117908 691486529 341714703 645640133 608306737 504885746 693047548 646188059 173485784 253794984 802776912 630166625 874069192 102523719 630818338 458272391 502959066 516159721 93568084 806367172 423636287 30636686 976878020 119596816 536953695 881472843 805033122 661987157 859263309 954578891 329482968 968097737 772559142 525664112 89483141 138259413 874689109 246779962 34596227 852681650 884467639 412658707 616811445 428951387 910031069 170669873 370697182 490696028 586283663 741854924 898967224 631013562 236009306 64390163 84115171 953145740 421131906 138893601 894603575 222983355 182872631 752196525 571068539 7976083 682042390 493770771 614416248 678895244 7989793 370954494 570186070 641553190 974012640 749741263 409629182 729502341 945131048 257905797 197796348 65702323 186696929 912666134 345261719 108981143 644418410 99378407 878202477 464935646 112575641 296779187 168931884 999442871 382517270 371183949 210855299 595589034 850061072 402036132 296028730 143459898 774657651 662962982 56640482 750542299 863367063 732209020 663446324 701821497 581911526 884422364 307449953 295620012 382974007 316276125 762346963 440595236 411019567 501645587 951540367 367353733 394253324 416474920 910447465 95057266 724018085 5452845 220578865 854824982 456781613 263262645 444503610 292522843 303684184 843691289 712276415 819031566 606056751 724802844 958404793 569551093 383172853 415357517 432055419 271611331 962331048 969887407 964535578 361796000 213244756 160918418 854637478 165462613 686013699 103838275 133634640 531770550 160017372 24272434 416799856 847668802 826549678 321360411 974211009 45372048 133613831 57874113 953614516 230064721 866040541 457847883 287717931 562424160 236701837 835183650 978838650 630447744 317792422 333098683 355215106 207023145 82310631 797958467 81228627 290440587 250836797 403426495 481400001 476547489 336687700 855985646 550156279 54176561 40974574 438276510 190917822 587531425 849234495 628353956 633565740 686471166 985709556 189093191 77035516 205853215 171508159 302012907 981768143 300345132 593993453 954190847 225820946 719195185 877309635 126186164 878598560 533549213 512316565 657080725 15508862 776932745 494023862 398988081 263372510 447638073 335837634 419975750 125049935 717863191 698488387 656584111 19470694 953095143 327876883 127227576 654452717 431360680 989221463 339916944 384179742 587048139 654527788 410904007 930190056 149497118 456658459 617927087 746295942 34397276 993357887 784372638 651173122 17198844 352218516 994125784 387133733 929029517 782823421 320398920 955954407 312094818 253414699 71745165 542001750 867480126 474974041 676994519 544828689 90603485 594254042 326435942 182519154 176565708 598643482 437015168 162809359 822523963 141717937 22559551 265948927 585181668 604183296 250535512 894831724 542925284 63160882 962829774 583097662 306421780 933223715 543906236 682358037 963965783 985599784 537629426 60422573 370961503 506963609 245242703 480386867 214846409 460890634 926966483 932429087 874037902 241674344 951882821 261655701 332642804 132212850 472135970 499100366 19542885 13335653 289050703 130506074 254201636 825681559 232419692 830547344 251931201 83359673 317999569 912413042 1121213 944135469 188357163 367373883 214858968 781643375 763377453 388532786 333702725 310154897 721035933 899743826 572725940 472729826 872292037 827898479 570894634 334591147 758396574 371470149 871821172 540510223 128483868 958033216 815957438 911153041 497966838 346005824 241365846 484662369 117316567 903727310 965527336 767175138 861192552 49518209 969873698 67017558 404142021 142351602 157964884 885376865 766253271 923011947 189435466 869046813 85281189 219800030 950779186 134112675 413782239 118818114 292039936 312699287 724645665 93489347 537339039 253349705 218829909 396984751 162219300 912232719 307741831 670271062 293520577 156580174 368666522 30942470 160776572 502440545 333223630 10281100 673074406 954532512 611243060 519209281 848222574 636957809 290774503 532988729 424016158 509337227 336407035 810881735 78213574 207458328 398451124 345177545 928331819 546800069 995638712 834144689 331807986 963205948 678196359 658491919 678143098 860487667 504023770 29923388 837802782 889989927 461289293 487429556 876674079 188463796 701603120 785666335 478965656 901658370 996582160 349004935 770927590 207100639 677431770 383490433 700640577 945328852 923875804 268484921 252054843 96468082 729725230 353841438 692875161 989454880 34992310 224687908 378265526 347810742 566116970 823620552 538920542 27156479 886444528 536315478 79008381 561598043 128233181 546897814 895683567 548831962 450874216 104977059 932788304 883716816 524231875 685428719 602201638 122671356 213907518 795864604 562844895 354868014 257076277 736620184 673918400 404142095 533461903 126752347 29909327 500242389 723080967 65152073 969225766 872684535 521090202 259049332 908063496 615591669 10823523 336478356 687124500 147878153 834986573 434123723 488786399 333282423 292906078 331732413 240216346 662473717 222971434 174686219 610218613 127351392 548195320 993221961 245751712 228734330 446730962 232196106 534604335 113294860 986566769 780544995 322199700 449288315 899450724 698309485 874495048 418022403 570807743 203981278 258394119 570319885 399530545 465271271 471138925 1339540 215176840 360003648 57591475 134699927 962009421 109281412 50536619 582872681 855663862 897821599 191154955 10507401 799180019 339004354 181085642 39784024 438238865 667286866 909072358 580493967 634094251 830021944 729847032 881796283 844437570 293671560 495106250 287273846 500513584 817775177 686346039 757429830 701642295 851685729 592456001 606312381 781245164 439747652 225065773 865430058 368626510 935396500 348618775 288481898 170314021 459026312 677673778 14833530 102790544 799879050 725257357 769972450 844922110 34762428 192619280 510112425 308859529 508794208 558789281 121766306 982219431 217583719 57524539 546862050 856721893 58734108 439734001 989019275 997721986 646962497 979328395 661633174 176720373 624779839 5910815 449606740 238335787 274136133 960485851 505537498 633817325 42320457 919980786 147224892 67479561 661589159 993944995 123389632 167925066 468576083 516052813 859015403 516458869 768344568 732517119 121158692 838022327 308359809 63402731 918554330 897287610 971485361 908221821 945617692 872402944 751286930 722830674 133947019 87212420 769626154 404642056 207701968 20278230 808101057 202518847 171193554 727929663 122642692 518597761 924865199 816802836 679061263 964159216 460599086 520477010 947967004 630175348 207906336 582454754 487993884 926774836 350874504 73270207 680706996 263377140 300081623 785409442 871645427 191018887 84258142 912258735 992771810 148277373 430302530 391609772 384129806 125020134 595854560 677991799 658676630 144546721 366828557 406340414 639174297 879407445 697992599 912014849 358471836 703583685 326791261 310555805 538550529 896354769 339037693 683947239 33518711 338562471 167712111 101625463 280693827 151995997 18683994 598911375 94224820 709035494 223076286 2773665 154073279 713220927 847340159 867944151 650988329 302452236 714831139 473318457 676768880 851527564 81784240 62764553 991880357 732874722 118331977 945021347 341151561 612041003 942713682 408820749 86097137 988672327 395831534 952778477 729850845 505919551 658761688 31162451 657704246 119640061 282360131 820817725 49385585 933260243 232038775 815628350 719401993 858407879 449980280 372400993 696776426 383315844 183628181 549933370 942387849 734284600 942317567 496950041 955618514 667564125 95498439 298499668 201156629 905756745 27102710 659797180 622084099 872625766 422700513 66972274 997395135 197420597 676347830 811451824 997792586 42430640 384846920 693788651 352203549 466154381 309127394 744360252 72235440 941821886 426879253 317214301 742028789 605473421 450224731 644959038 604014990 755381534 324025269 520038401 809292068 87397369 601814103 197603172 870667105 314326298 458085470 388484717 127769108 451879794 5418532 111368383 738483813 513832618 549117287 305113661 698220389 518149067 693665462 560567232 263815454 689187523 294499275 986972469 355860582 625453064 316243278 461635660 405869681 750542917 576304580 97791403 953500788 808724694 297070101 910150027 406959213 840967539 410619069 760189394 512885397 363163916 829723725 193066366 575034066 285555457 331368267 686968367 693425887 519899636 959931995 501994553 303222728 112008113 984335185 537547867 648624717 947464283 254185976 537579756 983563090 378603440 267807970 105323046 501054628 897573965 274280746 330968957 929724738 754576984 487655107 153325960 545101177 694137091 479630764 224141425 649126653 77368124 578452264 253402667 390982516 590200621 629721482 397038806 133507513 818276183 566570191 362350466 775661447 610832438 852360273 722193007 311535572 365848745 481895382 219313273 30145152 271367673 241518297 142449965 489619923 643324319 557087088 996995985 384027475 294862359 25737302 766856434 40120945 841462755 641697028 321053428 509186336 566898091 918896062 737691168 56540939 79844743 60945188 158829482 183533440 397037374 195845802 847773017 571475122 638367367 809866324 655441042 829232394 342146574 641641619 534923090 222896217 152843956 773087957 554283081 36373831 78543251 905429436 820395785 559266783 69523005 98174922 991541751 113552781 808947276 598215476 710845602 102238297 304278899 689348361 430461719 692111026 69724308 398687031 48031721 113227531 24399298 278246595 659589330 230131315 132841064 973059353 780878889 115193530 451513351 927030125 937638111 252295421 505405324 880824424 937881208 437291902 926939880 776297210 200548365 816372430 197971079 398503674 443328348 865914462 122402641 22446443 664079993 775000431 311137038 98641817 225422331 898218096 638442434 448263823 6061248 282179077 382699752 36942050 554874635 32543235 490650900 157076974 98864090 752466648 339470892 302767318 732027280 690739760 449925383 29380300 385006504 922744419 751058520 638878523 179485659 841879030 307413718 51517335 586432857 35929762 980335919 942665871 930902408 411127225 945777512 393802663 171818796 32033465 996056688 533761217 795126215 891148703 463941430 872460843 612957103 161828099 524216266 836805009 702848731 409966076 540765748 129018300 547094013 965735161 472189201 502258915 163430945 610582162 46636540 547715697 411932519 448728642 73943079 265237756 665448477 832161245 568488253 28641927 361566798 29383803 551832707 215359895 551194299 895602947 956077075 851470839 333040182 259542084 879929896 56874037 329188964 609830296 720470827 934248177 456074403 331424969 964472275 666417693 495101444 207971076 271155013 697205942 367070589 187557165 268625049 50898640 488977864 925406385 26659048 155500559 658553984 767983886 745806584 111802035 685306951 896058699 907857781 809478960 989241767 548375791 732991293 134768482 559260931 636048411 772439009 412908305 267031090 224339379 867094425 869878519 866113160 674675154 566857164 480318105 687057828 302457906 741045748 400807156 162726091 295592881 382229642 906890356 554215019 660955943 646039541 184690500 633275706 894689141 113624413 846181867 711377542 974493668 818726557 583295615 86926221 453956070 201649496 447454143 876960209 779424232 782075001 417672413 786298452 974139086 553371389 980535124 958977790 190450780 40585481 638502691 722867913 195686144 907722990 952151315 293793246 160809469 508554186 245465405 243160432 685879888 507915077 747430033 710551463 418117598 298593696 532962529 840107905 742370393 355556922 429962666 770243312 57676581 469306614 175203518 859766412 862011931 744420049 799217794 85660383 323824791 1132013 85061059 473155440 66246472 615283307 999881103 566269833 874230577 382680364 373505530 380893625 344264900 747274981 445585282 79924556 958236843 255843847 610567176 859939485 15309557 880562647 115353448 830698825 694248710 702182473 465391617 259990423 642563742 273747191 882743408 520729639 431402287 735502749 665161901 901547579 791871022 587669769 615254304 93705569 624953101 718314101 176019362 157498560 689740469 911590119 271493453 513521332 744116163 84583468 80877902 686779626 791510288 748100830 360673550 145907728 373743401 685967063 372380563 179770170 905628426 790796034 579397855 142998680 849355653 871453462 791190834 923887757 238162609 104420145 371706118 702969890 377805985 568555340 433481916 993765286 848547958 263773872 159738393 668440612 277116449 303296790 407922626 6278434 881858292 172400595 340871502 138012099 269990215 604961640 60778182 339617503 514198856 74399463 815794198 661196465 541690899 118078195 804691270 295623683 242366567 81486676 237080006 907240291 368584515 324186736 855737773 821040567 215684673 39421276 266400149 27708429 857306565 920720372 382226743 612764775 787364895 289105826 300757050 339259250 539392154 788070278 261789395 708662950 756692630 810660427 384370957 610722950 838104982 48395256 250041476 635597565 127925342 937196176 169033236 287501199 902809774 938538598 443666560 861722668 345811906 776146126 535931682 840280924 737030616 634213302 526355247 929345722 14507934 563436679 532071224 426424827 763616886 811758600 122856696 132982476 992822523 105613045 358454554 573613222 293027295 376281605 21353915 153625900 303531106 66426719 730224081 295646762 257898490 457651486 763705174 34780143 631779610 832465775 412734511 230595829 209843121 220314406 260182304 685039555 349705084 880247422 170050650 835867598 449255335 951294172 137821116 286685385 476720840 419759714 459928152 509061063 986826384 816755062 611737323 766583644 139170396 461572993 736846148 736745868 397269099 409566891 683197300 267775445 974756250 238844990 70019456 830427937 606169117 273016564 709667893 560328124 184901834 903855088 396647051 129501398 870225751 899515500 771536754 212322128 117248275 431869294 515791337 403129973 380113430 842060310 831122964 349330441 432252815 353843714 369991192 645657812 553589647 472877908 700214914 60160324 584140363 181458859 831295068 54964467 953032538 147833686 499639959 210746688 151108243 596250838 217701592 889621138 400198787 817974875 203539454 679997313 61688657 305864446 605087730 846584057 314075306 393324365 757415719 348830520 646240809 499176118 98400397 900044424 59398666 650043256 195392884 816550158 40871981 640754364 84955149 297367440 839385470 199373173 395973669 56374204 770692452 633839214 573219195 63823837 584483097 476245877 533300494 428846496 248995671 771683090 485857200 661833451 307074859 306550987 440924071 379813899 37792506 165081495 452670013 501161344 116084062 253043790 147015447 390477389 80674731 21060867 727992034 741150314 510508173 418442044 212566313 839936491 956576143 233435260 670914118 936682240 980161027 247922470 948204558 56621738 533730336 397211561 787939081 428553191 976542575 109822523 209554511 381582394 707341211 537750754 594682300 623537141 409404693 712756990 450056476 69749122 763682136 186704241 692490696 394690117 621910853 521144020 729245468 38295326 562805492 990473433 911432778 528844599 699547860 728465502 152938989 678696854 224314764 363428619 259923873 839225133 363033967 125605956 81811630 225346339 881048171 104712697 705526845 720031981 608089336 440915552 785398216 167454801 782229560 510382670 570424567 575649322 931714925 264078728 155689551 570401208 571883885 136468409 569187385 244304395 177879085 797532849 324339057 767871005 213992488 305910390 555382785 365943005 605643067 456174917 764825202 104537246 30274056 597018893 717594731 209536078 592812673 296865769 512288214 173200224 979678091 16685722 53093465 134993541 871800271 300123347 150341837 444865549 423313730 451274995 767407752 362830897 91525766 937801082 157395471 439560578 916366703 218511812 682556808 652223550 238081164 87196926 289739932 64316684 660986608 206441631 368155362 664780392 349162999 558031209 285358236 558247535 23067410 831996725 507337699 138165683 817170587 771193983 164498675 7240114 549909414 64862378 806335723 291544657 223810311 540396511 911485437 153020574 453812628 528098163 294292952 174048588 412132191 920150876 454826004 195478987 488990519 664454597 7568121 133592131 515109343 901530860 219632933 283423899 818429047 472069703 712412486 588162237 607229275 118027750 494710714 517918001 230160113 743283381 160424111 96140642 612235426 751560219 661472105 879175883 601060296 178132556 851158140 34555939 237964257 625261932 433702276 201353391 740218631 395176121 971056535 416261682 638183469 360057860 960932979 927599830 141328124 167428236 815112969 237123946 234425508 592636813 540977742 123369110 401664566 967204206 469683121 104933824 292289596 96062327 711542286 816467435 919176383 305423755 663899784 979117229 621130625 608632153 451437084 579318591 151480139 953024609 247804477 853223190 691467547 890633454 590074102 369843164 686344552 334058563 147087611 918799522 929706606 465078476 874878997 864772712 227682684 680744786 558877787 27741781 123092646 463628312 309018694 835440036 188573534 248285114 876414182 202876803 77185578 485956298 484685492 668112365 715745400 355855176 211924087 199162139 521618780 678167813 137216107 572626506 584517045 2077409 737912285 646433761 652317480 837720025 143708081 256169261 246855231 24931291 17789536 445514979 120806048 363173039 173542902 947950026 313657076 194331596 745569099 862812851 170987589 834618763 792805289 530220973 425690411 770578693 363335767 131745285 416565062 478856617 248963284 181389243 741053596 457006036 248546001 720158933 761891827 41872312 842168311 840188768 911615852 326791170 994046845 265182053 445528771 57278337 840248454 494923980 810639388 475165573 247548187 204390848 94493442 5372867 197589266 135907998 153028554 162756669 155941575 638072039 32996258 946501656 638609413 345082551 630968979 72396586 686619243 55262470 235352803 365458348 677786123 979314568 622793020 517628221 917884401 270208089 111389946 47539160 63621687 986522922 495968642 872861524 80035767 325642044 5465010 169440566 328012555 651555893 269360465 117034600 32009276 675734661 980360624 749564766 435655362 666710811 851177743 551780569 915786292 591487145 528388793 598177007 275328988 567514457 803405059 884842211 409038913 92992555 607305985 550631999 689593899 173355555 509911138 876660900 498101819 258982548 119119398 375125995 190625222 3603668 968653067 339632254 620101823 320944218 305429353 865301973 625452791 36658904 961049325 493006577 903641326 276137558 318803168 891669935 117689885 294712935 84794373 769566141 76296287 140135126 225424452 135595518 417425342 234089711 911529569 620375730 122459480 343847539 915515800 832702663 510128546 924188867 875348250 158292809 809990337 821876435 292403225 861078920 687941875 233418746 401694466 888784925 128884737 44243259 907583963 515785863 670506812 774599129 510382965 393533263 415815318 979863114 195468223 104401799 247291446 662718491 522626023 296588336 549389218 472680585 60601403 575934891 464507443 882039487 493303019 512385276 955486214 861862476 992820876 941396052 509542767 469337655 519067981 15031342 668508659 346570538 445275571 271706846 854798864 715859445 744698863 366090221 968927687 298824392 580039245 120803658 946742791 161723403 291368721 204539946 316288076 165482367 260570405 224617737 913937590 425623334 444311306 757381889 263967275 343545595 814446227 432660817 853640892 568522309 555839611 520481221 450011506 128752293 31426586 623630438 1246629 932152068 91969924 728766235 106586529 661674383 441575701 335281426 976462764 538000398 972049076 206295708 905901003 111096817 91970811 708900103 249483803 80481339 76022058 769832312 891999484 172744718 500354804 555160228 12967871 318987264 912275773 700496070 360716262 345018001 466404411 930307755 19215724 397446152 805676536 965233880 895422645 183130631 651052982 868791236 973150261 915744021 778652488 533904788 759639539 420386432 320418363 527261011 83367929 936291877 251386790 371729527 682320029 215322038 764551025 471404621 407825030 777369419 197649787 432238457 291620120 408897444 130825231 23766095 496239771 917771119 380557743 705586805 26857773 957692074 590980440 816712999 389819202 403436516 623516500 636015221 88741868 94165315 503325731 925911784 617653156 573123185 549131418 583196097 254502878 840657208 394580638 354252437 590689065 395976014 13237851 692167640 991693372 12864447 901811438 103324635 342188270 902654227 345813888 893993248 142505204 894271300 46360657 317194206 685310567 24878502 330945906 532616337 344013556 278095239 475572819 326489902 998708733 587439594 143289633 231475160 142475300 417355548 481707847 166827660 402601226 822673522 575494653 879317636 39952039 414523116 933148278 346558243 185123122 607124061 468601719 641780110 162186789 190619009 317687047 436170802 74710170 594166089 18238292 299678466 214439638 45795442 420457745 54022836 701551335 402540422 670859518 414647722 935943445 857655359 190844509 831910565 939279329 159186172 352988314 579598594 97272363 312087994 125965798 47912657 270540984 150303385 814379875 84014331 536246233 25986348 394528304 321499928 659085642 37452179 961167302 126088885 112051029 46856871 278048024 931694967 468665355 85102220 856118585 105259306 198693337 96265578 890104504 255734490 200283956 555611305 905183645 435563815 757860330 295639282 951253693 682565179 407021436 424044679 463481803 801197558 590276594 591512657 786697979 284871290 687955289 378562035 284805781 430247313 424548376 401366587 799898221 895295504 357486348 205281288 612986239 384766662 432142566 696654229 943363807 382722450 928930634 737343942 145262486 465088542 822355293 643865724 569381362 815412522 43256041 962842819 71953125 482022301 202722018 910401120 129327218 258699008 858548614 988036293 722163565 784939511 380853077 333351043 184729700 585778652 792136829 254519121 15807745 240108650 751257447 953247306 562089787 797523453 589108707 219163200 356700452 26279665 63589407 235913481 651020938 290680540 564446536 984303040 630674974 300634323 779530216 648778187 390634676 31524607 469683620 599952913 863974943 256182325 688305624 998166424 171933993 712781500 477358834 918758499 317770226 72284408 161939643 973691208 977398597 301946687 966604093 517891101 884162555 164266984 605148965 47005593 991705233 685192065 484530424 963818570 720712253 709770397 311472541 745022961 43823424 344514639 730729946 482725742 490686758 343245193 78469959 295777262 441704104 582458257 905559652 383459025 842798646 883994734 776692565 947147937 490934762 419381211 434148385 655978012 866333994 670741074 484718531 101934326 477946117 125614655 617174108 767277138 914852226 853257929 844002561 114694861 434079146 109473258 880311053 543602128 663945000 873147660 373724730 534754151 513296453 63342550 577314642 462634144 190395874 958631026 365190221 520201427 103311422 677166763 578293619 643673052 686959210 131677238 551248254 235256621 196345582 34501380 169093681 107492913 738267712 212064328 797471256 669125399 681483639 268649771 163431219 584671831 341665206 19971902 106853830 578891048 638833114 671025256 770386616 41003361 834367641 397606001 891861367 65529530 842380129 847178389 571012526 966667389 755136710 449693296 838513568 889270570 281773367 799487157 633407587 448180186 483060860 251772548 501744799 999194083 128152540 507603884 556974421 547744257 390402396 87637015 673510932 358216550 84682854 28612447 34966337 327351785 626646806 219739229 45620302 970587326 823193061 104649894 709957100 410879525 764229250 676009844 193929946 937275572 294335242 690751581 610186111 276860192 294655912 276398178 30473743 818295984 467575711 717786867 98063164 224707597 425186386 790477430 886379535 546001119 328724014 841282295 748214208 626751097 743226464 239481841 341163867 535623641 356298296 839043940 963464417 976211076 476437544 409195455 148234963 549803956 517360917 713831137 36872003 582901638 547121114 895535380 594041216 720154001 301409716 987068356 983821025 170893353 763951755 126783043 712182796 405863879 795479068 821335863 889690906 645393227 591777633 381635468 258579223 229611843 931601737 439914153 537499398 738189415 695058344 147757024 370215917 790495607 716546354 687015231 600198429 75813034 715326404 473848388 991610157 440677590 485498332 562308184 18323023 48281132 855671054 711807289 427855717 317177684 649345488 496093373 855903732 605553860 943096781 225206297 216667409 979103600 832038300 367149614 323314994 983563047 260962570 285461077 548140842 422542772 698363022 339409244 30090936 612439395 324070612 394507900 123600632 28250466 55943478 929127906 845058257 866782551 673706629 996588375 315071358 289141675 296500686 159582253 718379694 650216188 387342478 865373863 657192516 947795570 879840544 910501292 298674697 668948881 222229614 273311536 764618864 144900980 553187679 305267533 883033259 725351719 142139277 580310642 579436050 833919091 898255321 529457611 498697859 165383293 168064038 778856517 273667554 956727983 206012835 955427241 975015038 366901460 756395745 172284926 710991187 611199314 361675216 680057344 920286275 606970781 234405842 764242118 579706788 224936919 24411703 183699635 610182792 175058874 149566364 352572210 609624291 499535338 807384239 358655724 229990124 16403070 981828103 188949204 289227808 734340687 351075780 374245403 638021576 425632484 655462699 974304508 461929709 762875260 75342754 480346739 941389039 723892807 354398726 218883182 582404777 865741020 192883724 404241293 632991439 310758559 653109118 209447081 296842304 432244009 819585466 451447180 877749642 556538496 890505059 152742948 438718522 90520089 230269750 840919485 78673543 212166594 243879342 262354665 984530550 86336031 747929140 108454377 33342904 151397309 998765051 104064780 242881999 185288305 801358551 893836319 226846931 903899534 891909218 366209911 236168388 664242500 524544025 38975279 88962326 247298665 221230018 251513851 256063937 23319002 192619294 685438291 64604359 996843389 196075325 66854710 454307945 407561633 777750890 589484040 711893880 363484681 241451174 507213012 1499163 772051687 775494253 137729353 272601507 317044934 764459320 16465180 901380322 703045048 205400367 178809441 257640604 286785886 850243282 134606823 203534654 508774074 380504429 167420984 593072384 701708148 146594102 509163040 561439281 794986062 6038488 160188691 175558251 306887360 845217773 729852020 556374898 138340307 46609965 810847184 635806625 896624242 540259031 842057107 553079891 672611331 258308751 187910889 535128159 52246906 122517951 169806677 418115026 202315655 966819352 85699176 298887583 991847045 328051763 527533187 863865053 463809703 835262966 132167374 642658778 860259464 370913660 697755740 264588431 633126110 92174088 481878727 463278791 142175999 557475410 135059368 427819986 963946355 59184027 273746604 154921432 308604579 138844430 306776147 918812936 687556554 848608141 642577330 319478849 424324303 133118932 317377440 322296374 344432956 20457480 973765420 339392238 200134629 723687658 861583862 403988673 410302480 287413788 213884132 547221629 544417095 752960709 966131941 779767623 90822042 774257131 850453815 146794314 245121687 810878921 416639535 114756997 607868395 237414237 575971637 805010094 128615791 713453957 22264550 386619546 122844733 557519271 717340048 977067200 420335440 28329850 135009546 761337158 90858696 891901422 798770308 841368231 842850568 50908345 497182038 439888274 876143269 874040095 828114614 530037178 756324572 508952728 92765486 905906172 837539095 249000550 314036615 467843424 292423183 413292658 438663141 380171765 996336626 210937339 274538490 604142375 834696619 357072004 322894976 69228997 607482879 306471498 789252779 598752656 543196153 84757653 861943150 428211742 538057037 3603470 766235609 886092015 268697947 832890894 108711144 560446367 283354521 580815451 632278914 575535707 921842706 877891616 296995629 214671734 514280020 495964191 811025912 841207091 277074245 766622613 148025501 851702869 277663120 775068341 248875061 247622798 51683651 528205861 260564713 588988280 919917762 563713276 536331790 535110643 916168077 89994947 462597835 870495686 170154106 795169667 719522541 807344758 351293603 610747991 392861440 597099282 142499402 988122669 737108337 996718137 516366300 965528060 863159238 484533834 71200723 344089309 177389313 449155821 151046640 661741952 926992715 507635936 333961068 520500121 702828681 743422999 981919164 865384274 41283477 857029997 557840083 831482551 700310634 118578495 176021031 328481503 487013760 931996150 588882840 95170082 526470538 143875968 713628402 738780035 567909528 805253964 535880776 30398930 313821278 738581249 804084802 683213430 135246690 91133734 374879258 244068573 73116010 765606322 136168306 287008440 479767186 836617949 783125965 308588605 86552570 877411664 577996025 483590187 56659418 496563920 809006402 532411113 146217753 623838249 864156805 781479932 996236710 451407801 688144513 382804065 563566954 138251007 358458932 458327816 179578911 824409721 355432795 543379560 19636904 200749254 392162084 683242543 94801440 847318410 281668171 625155071 539988024 999510035 535173020 899240260 384079834 343704050 990794424 796459082 249550635 146807218 906076700 571506191 610594048 589867779 743254631 804890827 13521365 156443493 597307437 896836441 285154473 100382137 491406556 67649813 155935003 536581309 987020895 545358732 509435526 500574543 304937589 862234697 709920618 263072819 792954608 878845398 757719 926575740 622818061 38772850 328262846 225298542 871486260 792725943 562239631 238183136 580552969 542937095 662948110 961909716 231508021 398101443 273850247 288302206 904190254 650994730 953225133 942680920 159437201 277747793 763919366 123164403 952617061 513912174 635868466 941439433 878078072 73211585 814239092 222138285 781884779 90669423 525548678 981472298 485968943 515591410 523921990 56099409 715848021 377287455 367552132 394965019 323712446 868457891 71950781 646102170 829941809 59549092 59533362 570069471 681262638 255235914 65696483 22692890 610487886 828160794 210206604 609439660 833444173 11518192 611801569 439886258 613705624 787900250 436110676 840589576 659705948 176698797 134525812 43829260 703260548 570255084 605536354 709619027 700821387 289863504 962801118 454164406 213573981 35595078 802452506 819155772 743627170 163802911 356327093 632169346 246383987 114968117 745176561 690903792 354698378 223001500 735889998 599765055 229247326 463470395 23624114 37916961 1763386 45545977 242916226 923301871 588116942 449372870 117581176 714328424 849073644 565448764 908860931 796926565 315776727 972384121 863242743 494958076 659393975 47490175 767905246 53635460 844400585 856231717 719715136 165112389 159600854 70879649 696427730 691826689 73568103 876915092 947189270 467067546 123791368 208487005 731531522 304813039 185265310 327682361 335548837 39180090 11464836 414851615 39947284 538957072 881253772 390515068 93727041 749497710 879184743 305982468 55778172 882319399 820355322 422706919 518400709 362367337 463460693 304838461 818734024 18894476 73321339 544127716 775973346 877775946 162214925 427962738 646603912 783771447 480014714 681464803 235163822 360630743 366253520 612328815 964998014 809041547 656273374 950241776 262138775 778998580 297414595 507708772 222938565 891704997 561302410 222764440 608364992 686785963 977961093 315896998 46693508 774376770 648101011 548144137 590187222 692846973 284186527 756089842 612126663 827006590 794804514 745034641 982239955 887360648 376350748 253912400 372365598 423244299 442782505 281658644 446663825 292011898 984106558 389065577 634503880 185155593 486579503 841461166 441478547 628912424 256725312 468433016 386718892 508659980 351059001 824769654 93869384 430724560 387056795 158406182 588801380 782018246 550989485 938435402 776976419 366583148 798320844 876455041 638317663 566165759 63971264 997645796 39080340 179735413 936620543 178970320 816366743 15854207 94739833 597470255 268032710 31003320 596057126 566512820 884999318 188655887 542068273 351042514 647470030 422885161 451287334 411357750 811822461 757674307 956300692 951748392 45653618 397419069 132548409 267018013 570195305 619433352 630548618 8477331 390900590 149960004 922247834 993842412 776994071 551420163 407398992 964850408 76393029 214245294 399467111 810508729 912561017 856037608 759740558 611874255 643450823 815424341 222059854 653216179 397454992 311873318 574809185 377152795 196755614 476186163 735480743 549052480 402068145 530096073 896057462 88421195 695246051 212182462 757258343 332306504 333331903 828223732 870249127 86976363 109185672 272571993 230157231 485439693 378238150 556501226 208965559 940687851 191759838 862842973 34440481 718479917 962600702 363575602 311881610 866455852 196049502 894129215 317671033 960535847 373525475 996679839 623367035 40632001 481889998 850535387 348166632 248897694 318020244 790438614 895319633 640346146 955905686 859249852 907756113 294502109 636572289 140723317 433155557 502888491 493832258 77890662 475246955 264472804 519783424 709861273 323018865 972336684 576018561 750750693 470626020 800756994 887783102 173824801 361077388 718452030 666931315 32438417 470551861 951830437 159572943 675805638 493153442 221572056 461207155 319672307 114270194 810121054 689770481 608480441 440614657 219351598 211498636 579809709 527316599 675493440 421840370 326481948 118420389 542282877 967978165 715884020 393321388 639564239 680229580 673422253 706284394 879346355 995475039 938986897 537716275 671447161 387928678 947507636 154487764 658774979 118831376 868951762 358105336 934083706 22084027 564236673 863993584 738559268 789058507 526847361 563008442 334212699 344309368 107352005 504387672 243324952 292226810 157955982 401786314 161304191 362757527 229582794 136782598 177513846 937223387 142892307 276042886 929914062 287225946 761542855 36304198 619090238 534730940 488575560 666168778 694552512 814493505 378661833 342875309 736526007 332797246 365047381 627801908 250163244 372588027 706746043 264549130 333514067 363577654 732310900 422171362 991821771 58865645 122289627 94593554 708180421 948503924 759678227 710848585 430247747 159881440 527164409 83035593 561540481 577108386 346843267 511585118 167161542 296250851 816488858 135322346 150716901 384340285 114735314 751395975 508960197 133611304 663255461 979340196 785624351 467678848 125932394 864213902 370761088 583492630 430315700 94911485 753511812 214953508 375900375 426931616 418904572 755853998 3840129 815487960 446269280 927878018 468745886 775383947 782793875 877309908 238519434 647681325 438164315 773524845 481376433 401171819 793670105 263901285 833016018 911060668 175021826 493993426 242089844 491303457 342144776 502575659 634129938 338776578 714150817 618824655 819353687 579720874 466855609 193629448 356289397 114948019 870209930 261377846 904317994 597809910 875853349 133175038 913153444 491104280 185621569 300519897 457596598 504408106 606703210 88124509 171041303 440680878 354217674 336129086 610922092 708461269 260537775 918875746 22682447 221366082 498095634 187337375 363863111 676257687 290536212 399008482 116987948 716749983 170817492 578857568 874767892 153582792 59815217 238825517 121524666 447616181 333136871 512648280 424953151 830228871 548350453 935362590 56412441 77037275 845189329 207128532 721127321 917737743 73627803 678103078 786983353 122419507 496848556 371737493 766099064 749069524 403636653 850567871 664236079 918932087 412284109 798476376 350701281 960279346 897765335 503921761 926872092 128636113 150606657 614971242 779893149 309939514 750298798 751218080 185132465 632823621 646922452 371122901 477379109 855040400 439173907 866075954 837641940 966988048 246172743 987311922 961551981 796207093 969066033 797196575 239043613 635327239 394369647 370454282 119083395 986772578 813253745 737151768 389235200 748799038 183446069 379691720 364134031 145627836 217474004 887222352 272935663 671646840 430901919 569088450 909456094 468938638 741203882 223394439 536683919 42467525 454211814 48976900 885229030 917118097 379976736 227214558 816591391 457313589 816355322 825404285 563569331 787849287 597373613 425903356 647137680 305814238 646479140 334576567 31538855 653943840 695981539 956376220 705889577 222238003 730155851 217530474 636469834 138637117 287828762 18312582 340133421 546914889 362228036 335347312 866609640 906434579 616252058 413209341 383296800 281177266 320582271 387351621 984939558 76897755 659639406 837033200 422577566 575851874 843538643 93368106 925106735 877594143 403749443 881332347 77402892 655719773 306321808 624808661 166020753 139937810 130733815 188548623 418860758 289253476 706849886 16193705 870775154 541493006 700442007 598682045 785282770 920742377 938078378 716756227 886445629 885378338 69828582 573684951 248965087 189594343 50846841 94529552 861413651 769940814 525396166 211748362 523800771 434412618 180743535 784177770 953215636 976488459 6273640 705033130 366021694 472519906 129633436 355047943 51970135 503215833 245619992 117556208 10079342 18922907 220390102 53413841 924610662 559524938 990991315 469736087 142241185 648394494 188211797 473069477 317871241 659186586 84979358 772946099 832263724 259316680 430968146 86104529 818860146 353796747 867969584 932915457 860602980 67621492 790639124 62581260 37261854 767206344 707227611 561059735 683913981 161383961 280868322 114799557 755228305 929188843 472844907 975871160 590308526 855780832 147411395 549774439 836947512 975114810 868235560 962415634 182600562 322947017 866634622 905927044 537924278 832488964 955107006 841042388 255837528 951613655 232744780 809595029 887957455 823793267 10702300 153005227 627745132 89748214 364324884 638844972 475823196 895765293 499960605 772160334 132515508 67156828 593461009 44439629 86464959 737772742 425027190 71355102 846571792 358014193 639009311 268046248 713664086 974027747 301392947 778744842 391709629 542947999 109615905 344022788 86507433 145067187 213443542 359193204 778720985 102512713 539262254 621088487 571700469 798017392 460617385 405007928 965805609 790354797 717997745 162917863 231163398 234114480 513586945 524707788 711954489 558614528 729152973 753536208 316506529 48598912 94195333 466912579 841908920 532525279 903875561 813520358 569100742 439904212 671379571 950489632 390902953 939846955 940167839 641134896 208325764 481482048 199499408 957812581 269583898 686212131 319004888 77131078 72007229 772859482 304187161 481519910 610378138 156766562 47039075 693078030 362677129 753702416 130077999 653165213 606126447 647639442 898363202 713971089 545938653 672585530 346111941 206262234 174699235 887335926 328082129 375265581 868682581 159331839 402559987 841975014 576514423 938035004 126102403 32776269 391714274 145054635 776126203 518593013 902324293 204072742 450066682 749029693 181588859 606962881 997103163 445877230 585690764 237029585 666067692 408548415 556299165 322731588 741087812 885657521 780278519 304878481 468308247 125182257 598256305 190212669 335993261 745219892 775103964 626461451 380723384 21489480 650050001 251564749 282728216 905470109 439084039 441288235 852912382 30295931 872032215 638735328 493691537 2012030 683702482 584883636 587919943 733595763 596887933 545638934 710020685 240507303 206175547 685524893 403324176 169586457 611781564 232350110 672554506 149767560 129202882 670212784 332209591 409186603 524202404 501523669 275795963 299833600 406793821 638081917 584538354 246689878 56304185 985730039 406780366 863668926 941523044 647184969 120729129 201838129 572807699 484519684 625861076 315916157 531966892 54166317 855093805 689831979 357810517 411447725 113920572 161317905 221265055 709821321 501169569 309514731 126895779 390988704 143459481 605610345 881251295 509964983 962616974 751537125 691507770 587605872 234910623 190239450 450964639 499523264 557579457 489576142 25407598 689338046 564387133 450940815 716152327 663975293 215249399 221519361 445394465 158844264 709364010 164610510 167792029 190968437 21886586 148806814 330575329 979988474 271246116 142201247 976932250 872900922 297011862 40039043 697328287 723717021 740920712 691105086 706845231 941621613 454473249 508320048 243173665 839375254 895925594 841299886 518130451 9260240 591206780 580804985 958846851 824373316 649622904 460168647 514731519 340053785 138433697 124575408 789961273 477686810 458138603 961556890 355389987 86557833 532102907 846032683 245186438 425806726 268798617 663643341 564433935 103145206 74947745 67916738 356353144 776116255 492466621 541663143 244849969 927450587 997932500 535243802 297726039 464528826 13024512 620579568 71577838 727705895 573092254 781495843 994401135 773118249 707114590 759459186 500766799 280580910 105016358 774681784 481835833 782002618 504713774 285049787 261986086 776882314 13162293 386024210 84598474 907278845 852476633 481100556 934078932 261397299 715205945 128363066 85225487 100035981 367704153 399483800 131576894 827057311 291442653 373260064 173815282 860036937 944321243 43907614 471739839 440418994 417957475 409836580 640031383 745621709 775100425 82324668 92305725 913756784 436862845 847270430 877046799 961786607 659212356 144065375 416988267 550730808 70946687 269228102 984939265 214340849 482689812 619074863 310136670 396245913 708063925 453884912 795529173 16739009 622962130 475950483 878433132 172169773 154723140 475516521 748225405 790508566 471805589 108710189 629309232 843246711 799576577 309481972 843624517 782547070 392837182 133128836 332006035 785417254 347632683 964785300 18159518 36678832 50728489 592213035 907762205 509190104 738346355 172999310 413725953 107691070 22604616 782891705 503250648 443598198 867307678 405141861 565019859 641989789 162843869 296061042 497766796 846112221 450248056 61327902 339063382 269982286 283883303 201885565 67185329 917433133 842936939 773492716 11898251 67647177 663739392 276961991 424571840 751921497 576188479 163482533 210859605 756116232 255460328 692478253 521909867 936435599 933080399 241917672 148791608 646497388 988451764 459651097 948726958 318206619 952310316 446478694 962669446 374299640 795982436 223600742 669617581 992883427 433395616 210159657 998711073 626654615 308481899 553905486 751691271 48753026 98824731 841469161 146857242 753455255 551424726 680127205 663845032 254541623 778153608 816944739 206120679 709055692 81740347 294224195 312900767 764617958 984626593 748293605 42021973 322803131 552997181 610527857 532136758 186360778 418812254 719976146 770462157 19117730 730513662 18954731 766550989 334660752 701594416 837110582 685675094 786308526 572502609 96436341 420094422 876938390 428687515 575343328 856779637 146651383 300362482 385421575 37595322 733269484 538406935 166931672 757038263 270983172 745087464 334715502 116306849 275688431 696365136 104303095 752727781 827940409 74172651 289142714 841867399 858104174 136042134 718404780 398766958 277510463 973449496 39100364 654890356 798111928 243834858 782732753 725403029 617601336 96238598 368728833 610231674 256249136 692901946 115051559 471453374 615158395 804216482 114213966 862592554 818652333 238608901 775470987 693679473 613825156 863120714 928017828 720477118 850305160 430367374 306053257 969894131 613268505 684285966 789551824 460681095 976002772 15105022 953294574 700538762 965593512 472176421 847991766 602030905 186153028 648638098 927476081 353264126 30747980 362533489 108698961 55325852 132760843 244842805 219388594 305379553 438107682 191759348 161931411 222827210 702672766 420216717 810195487 954523162 318046354 310778813 863022768 986500926 145693571 509383831 686716016 605879730 227786565 480455364 852306612 792056984 897143936 606993906 874058284 370624938 709996292 497080691 555726220 577920384 200335824 996168600 498565013 534684256 357268691 996894657 890374583 207414541 674945825 996136726 257523676 463378989 153003760 86162903 596556716 373798945 672721315 140497216 821858401 661781970 131605817 911580836 634969157 699705417 240210351 363964929 315585716 285492951 627951364 903038872 944568230 965241321 765917166 54764008 912675211 121894615 873948653 490952248 724592759 924289609 565679459 54359950 744833354 52702031 761522572 650584992 301731134 760596015 25296194 366463388 347385453 726454190 963945467 738128940 666524141 502266559 281061727 401509293 208092321 787909381 544107964 438810741 631217778 197561363 250211203 379826629 272470455 357366667 148565874 206164141 826022191 239589605 647254914 288001537 849222181 159295555 14619028 147597921 494297699 763310683 487338257 260915108 974241545 289522752 480999959 685815073 283769103 636053981 870956434 779811333 730843749 290380466 570569081 991311423 438610666 401137478 144538642 714979592 241072323 911345969 157410868 847957857 752921172 98457604 162029789 441661714 770547904 214796037 151666164 160719537 543421716 981477123 96999114 947363580 90753063 528331971 389400390 36897723 502513189 387787321 990107479 356614974 379367134 830358654 162604358 436511909 392378148 582947936 973629140 95204688 851774349 925624997 595765565 886916638 454448400 257174876 974423863 840571910 356895142 505634684 85487923 494028836 397809020 669811430 81705344 73257492 358344881 629284808 124338769 190326821 298910643 629773284 964512351 365262507 258900367 174602035 289504496 991403378 358368578 490850694 905357928 406943863 788866823 972707588 207003876 9087629 654909563 949422383 752308833 565763178 486885506 502729426 943544675 147214745 978225077 325083017 797851862 653129328 449915465 86865745 95930914 153606682 254168828 818076885 668990692 884866591 112965104 639517763 892251655 526970637 631514209 993576458 986409794 17875974 971422047 973735387 687098103 478508001 16871535 96994873 968167722 883842752 963163313 953459496 133234764 91406239 449125120 681149625 407547465 491737982 468867572 118534986 213822531 285507349 955852442 460178765 269907220 558973850 233271405 721522280 68569747 583444037 930634035 74514923 914240228 904415564 198415357 995042709 493622705 111975062 438537744 857842963 122579787 884765500 853337207 414465377 507609964 468191606 733508062 585855213 474406725 684899098 797142727 538961080 46021123 498738090 750187531 115944600 551092586 38356021 469790759 645313707 728241148 929789384 28028429 674033712 911033493 393493875 248937976 171193056 268047779 733835400 899046118 143091342 975703954 753461677 734758078 485474925 673977551 753032867 89107934 752887542 498467940 622770537 631567231 7994214 268763415 603874468 904528758 256960888 934533861 104703372 573416395 727045441 436165938 979334367 299520343 949800797 566347563 304685812 79002004 484517119 724132716 137378287 702879505 774918264 434244392 394751752 49854718 290398496 516904629 475400593 89839297 216442826 161450587 951651332 663799022 961912844 58275649 532228562 576561433 330327504 708701242 805007678 663290343 560928902 619132045 854172107 589062896 930504928 281248087 202554794 931608949 585762114 53177799 339066815 442963051 567755772 125231575 926999940 175586750 464525967 35652797 404052075 931901478 567399705 319010418 776940381 528509979 184641462 844215239 785373494 874021374 155868787 218550885 765713773 343390112 713596807 581341815 190870596 605762847 953318795 287815745 562286582 625024432 154296019 84550351 61946309 639280913 256153021 534492648 599166595 566653390 898370919 281264216 363272628 900304721 105199088 895292862 80303747 381282980 865126838 162793908 808474796 542229792 291516524 680788942 711978985 665233826 763525279 92444940 768856143 737097996 395322100 126626735 46518103 52327112 45887055 18127746 891352755 158359120 386213721 284361902 722676614 986792229 507177120 115601710 953791911 472972000 871069849 600026777 36424885 902382613 479525410 277501683 740706210 25371100 509725333 499022804 874262094 881475395 719912473 917905949 159748884 343322575 404117407 965006260 268155787 465563231 525781280 576366184 708841372 469643455 982749254 226565437 463796094 749852234 749333453 287987396 895608072 605999460 870879419 82902061 178326302 760814062 94299583 918445950 557459566 376755257 44374505 603560290 800676001 561913849 937910996 725228290 684734490 958175203 677637529 549115429 660254915 925278680 112260980 225281892 687658154 162225990 72319616 544550150 842323634 696068702 452268812 361794339 165282765 979842443 764403289 301769030 82306852 781910687 39094083 751120879 892782103 936802247 84711720 108063310 496206783 694774750 273937422 757237305 200249539 180659469 878698067 653711008 744380797 348508237 974499330 119559468 612131601 256691368 742549147 558173342 426762740 63487734 202447307 325392010 735199912 468332227 136611074 716914876 158162132 889694423 188605942 943886114 448733610 917485582 35492478 586840042 172983293 66405794 311835668 264445097 59338771 370299140 789872496 619947162 495992783 366951609 842578834 909271593 493903051 373536683 320189436 82792183 657207025 204083787 935734285 3389470 400715337 52218824 368313525 954586082 687481963 137084342 781182193 863466422 379855919 506465752 160300177 370801753 326796679 57000778 236868881 603626139 965412248 962855737 322091040 291427001 898949507 623355673 432732513 695163445 195640299 155943812 581298313 931485833 771646371 917488544 3326184 576010256 580278437 592275801 727759563 251870221 422575297 729459332 92730397 284217331 640153293 13287855 352599442 848151658 339918174 748267730 448724495 189568971 207379878 308763665 173652122 669016633 533315268 848001925 709604146 409607145 772898767 423622792 748104465 738042929 685861316 806420158 258933689 212834229 977214535 24125337 873327363 515146634 668072624 941864733 394001882 616488343 289223967 674915252 593800342 865674809 37395464 226412275 352034014 95586123 804814542 947734348 501078460 877071560 249185634 561504165 991986795 779813581 513967554 337165880 640645456 615889066 704490478 986031333 727998201 367618789 717224207 215860303 957686117 933238481 790006731 225424104 326275928 13199327 862539130 38182656 745653232 339018312 446313272 415470103 976707281 183653094 319626424 189085832 438383228 768141552 32832992 904759240 170025346 514663408 107960534 631285275 428653668 487368767 191186870 438221125 397802750 532723528 11232479 446340696 168271578 606975175 812405436 433657826 87129834 357034725 896216997 512990162 89328004 682535468 553993134 188798868 347968392 107068009 16240607 63805412 769210275 957916618 921375448 500233872 728843761 936555225 123272305 834021573 94798405 953267640 210981329 279097114 631581375 34000465 600819377 365561005 70355308 345186870 202770854 182879135 371610934 544198686 281419365 234148670 345581407 138048382 789744588 24516210 481383931 123169234 409442557 249299835 185159751 418290693 124089025 210953785 346069715 126231131 189411802 468253672 257210844 853226301 326095696 954018031 540237924 753772906 409384368 447041400 998342592 125175528 164188109 810943831 806847137 668254907 514465239 4898265 955699595 104188910 928406405 730812500 116803477 45608484 617872273 292801893 648267427 708116759 20504045 65902725 774884084 588238752 484510556 97724327 392236911 898487305 755844776 243380166 446742317 145931741 692796059 466845120 812972053 69583180 916781078 945000388 116203401 377202826 815884231 74534914 611797966 217900936 99846620 614664744 118403553 173599195 192759254 999872310 417809500 938854430 180595992 468816283 520877646 515305050 778602862 865329159 25580529 721021248 741409498 585416862 868493317 203522108 259658098 992981261 949331507 771880507 525750459 529948062 75241936 656487312 41351716 895068296 614392373 501831697 424275108 847950400 287298039 528217603 987476796 577411966 96497315 929534886 405987437 877816448 783513426 76468494 333713080 872206451 625588884 568814903 566668956 637901516 325925434 530144118 901074249 636247271 778334116 952114445 867456876 167600042 580602823 31344358 546393563 282100021 451556663 225892348 383783527 632866812 764378406 329312865 618086675 492864812 313058041 76040852 149320016 161280857 136248485 657372006 829300877 13271285 931070424 410965557 746409106 273664136 440720957 490193628 96377568 982809251 68129121 498222555 107852035 538074047 385822265 502178213 494148769 760538741 344140518 417783021 678531869 707817651 392225932 679430654 410451646 670832332 65093201 622592258 751474611 137980402 689354711 993442741 743692994 519977440 951058458 342171761 977783353 682024399 458399331 590436746 951543487 202486451 439082144 35202705 282538005 147099930 700320574 169138247 712340260 617855139 106414378 629495915 130355102 296516533 599564853 639953186 190356085 196873301 949509503 867926479 356368896 8140111 257981667 256926913 603859254 280632113 872239988 829911772 906995151 668249307 532874768 577085025 906589907 429290862 712973019 958286748 338703019 333494413 381261214 487546226 20250038 989789218 969759412 102383736 446070163 956438733 659637113 292109937 645581701 792216843 654067415 608803221 156245215 748314817 452593298 514980194 709491808 995094815 552427708 747812056 838369807 521631090 318250430 243358848 62037668 39356718 536202477 89611955 54981828 278771117 865683336 322265140 552256285 349163674 904788150 651860589 822270681 379311950 347067232 496210856 62110624 527902470 445170532 793638745 811165976 335619270 629567743 569267155 348514035 227327194 13578894 970801451 676850250 315236525 272251697 606734670 685760932 315373659 95548587 723259217 595414663 523513271 998114945 494887347 575173610 205657545 610402616 871125666 356459235 747618227 418747940 74005376 965382254 705014657 530464342 809466268 834133912 34895289 231019323 371326795 448549462 558476985 869046033 574655390 857950843 3444406 471865160 475592833 77992857 599875495 369399778 461297093 75250984 411319139 262370417 181354969 731321441 412142639 193054154 530141709 615471395 573584999 468224218 791857377 423108032 643647410 126955290 177171869 845590837 145046468 422603361 921212841 705669764 223701295 86620872 356449531 551407666 221959141 489635765 281925921 392226983 323542658 824588367 778217351 994897638 341425267 154513751 985961339 637636135 845426909 721594576 775706442 925797121 331952215 529016606 144164907 386819911 859720295 616653322 26295137 271649364 852006470 142986209 732437231 332548416 242777228 854427200 880809594 715753335 339437122 120691702 9603879 794269216 33371345 507147495 800487399 705984588 675647204 103665477 40342872 404243674 345834710 270396839 321732674 77472992 357438551 481247192 849728311 519863084 823052685 419009401 159959251 552127103 854631184 670108200 564988207 194230967 273776567 965300317 248985907 888287806 378274965 622901991 304304834 518190329 929094604 659662837 38555851 983428228 1370361 328727109 898821497 213706156 336963639 982589042 543971879 816532602 765738920 856346612 228007804 498523594 963403700 720395174 328180930 517146523 819873366 996000714 232391885 701061139 418915716 952711368 267411024 205074625 984871988 850507012 351342802 871193425 301206361 374688700 548168652 759432613 789846490 663332241 408390360 354101138 45759961 451514283 27630905 364907149 70820926 694179704 908509835 864240332 624316941 818148550 980997106 281324073 986878121 968595456 403777388 636943537 274127577 47038541 108752150 615249133 149459891 574095959 206874195 803375058 314504662 583570352 897141402 795146390 401487952 518562789 166617900 188014336 419465739 508754430 637857498 455966406 819507213 195256882 984265566 959975903 496026952 311358486 406636628 445549941 665493866 224661513 230827599 195693229 37498959 301704742 285723981 307180691 220182234 616977136 23177900 589831671 837058907 767712504 874105739 586866500 998835372 633022254 180929453 554894009 307888613 116032714 807882348 946254485 232952025 806643095 587904504 289722652 285939186 735820530 620638999 774635563 121736229 435240944 777776781 301336547 338448874 999526606 317334041 760105322 547821766 799063358 990895618 38138463 70104477 272540697 539224559 959604066 397829299 236864918 585026771 588558837 434643098 739377640 918478550 56414905 576974699 123691443 34896700 169164263 20700290 749907307 411690340 92985891 891143648 368376618 90517500 695951174 335015060 221042371 193122771 311258104 832150272 331734912 304828820 937082817 94179194 961662142 114198885 537772577 917595166 857665189 731091187 940336853 48419366 667248782 792435895 228938095 677731221 346647037 402826956 737097466 4342847 620807490 466461185 533957931 52283265 603352889 710054050 819301995 688692826 778120878 563047144 884952426 996677351 11609202 250210728 4337772 913735582 113654207 490148457 311093356 635764080 425997411 631476288 638429040 909743759 537512894 935171361 411828935 99989137 456393893 337901572 802307823 303958192 75812238 1097691 349110786 522042996 322529332 240563223 830331628 71822860 767868305 593920563 473785853 864658806 867033653 981170748 349792729 780126082 730819120 731372962 624512714 915014823 34941192 522718801 523932515 257123006 538847177 144199468 505710228 690409822 735537613 79973173 608859327 84449506 491999544 362159733 679173914 197228135 906362250 686065877 948160862 891284689 493556271 369343860 703975592 488914321 673848352 207329780 987396867 920714924 424967349 571957858 639827279 896178360 937971676 417071098 943590931 285854799 914450950 32673903 476138149 47640084 101021314 39627202 303486642 591046458 30721594 299485239 265638664 202981961 195544585 139870690 720152608 920866435 105486459 37233673 827833678 992921342 873225818 244172739 441395794 569284594 412630053 745563095 459727998 691528105 697475625 412595163 312677484 945194302 695850555 553777071 7574656 151009910 342760363 389405923 992307518 149135635 229236566 923668366 525778410 434265257 153647128 575741609 131142421 662918925 899611640 32316628 491666483 118051302 352543966 854968144 338447255 766191698 765567904 472435199 944915818 31730978 527993445 998158871 198752889 263201853 125467504 489778897 991130676 340888791 508278958 383047820 900090809 860367673 779322758 151981423 474988473 65985706 707202032 359636100 869116388 785282535 556771323 713495138 847145249 420771136 942220352 871937751 70401740 24384232 773856599 91987998 935327265 552909727 933932972 577309187 102402841 605836223 870682218 427339920 396883324 151559511 958025332 806472579 684231600 917283993 293187229 621291853 960207552 58309839 875568920 727698977 830781141 934736362 176141407 634821684 815353718 236798235 162611752 546321710 840618338 614950391 181801109 133266171 552028994 232874990 469669594 690457042 210098805 186446916 140232905 908361791 595653714 575102971 699377655 862851673 721417628 244929197 174154625 294243508 226136082 511395337 751224401 296789703 471280937 761694522 463850532 450678107 915897555 507227262 984333686 75063049 910232551 23224248 755300680 736854958 10049929 959682999 985267338 59375388 71275966 934307475 448614929 586606183 649037052 510376059 911628036 941086919 89247104 382010816 571687925 181886430 497031912 885302172 364816816 521319490 189199533 319765919 297296533 246072455 171135224 20456379 472765185 577591656 258152155 181487818 32647346 265221784 838363806 738494076 366803994 627746308 373120630 568056494 266577850 444764369 798771603 916072096 205998250 482862568 538038875 636661618 51830029 793033146 973987091 972386479 487371222 249451936 851051375 2585040 895559347 162177452 782072147 891777112 547590640 659181204 429769163 170902619 621281011 943864757 246005674 454610907 601225556 692826146 887103813 78810661 423493132 806810958 745560953 476344642 576451790 367082767 471111174 630995157 827571764 601245369 678323514 333638884 259809746 754006223 855497948 825469602 62385075 203309940 891303491 347801869 532725361 21187240 489457703 880061016 384232779 859526032 168325412 20327745 536468464 142863154 580292698 66581818 375520185 159363579 159444727 880314293 787145800 177271127 674047230 340672229 389732925 378736194 246373993 756868042 508736832 644248289 678031336 811098660 49116082 136880664 117984061 880129297 14161933 810199289 224591587 129777737 616910940 831925528 45024949 561507943 618747960 794603007 879667299 564763732 429112453 239370999 311273517 40287274 824878574 902150203 31147188 945532999 496615533 781483496 560587238 35722342 649005486 704453298 328321089 402949479 608876960 733242800 791385731 761324992 468134338 320400114 471937547 241252582 570559900 235391001 574569686 58525853 591518062 657168982 650212817 84134142 572862693 801313360 206011069 349422617 438471290 542244889 845830719 209434716 319913249 137230713 487873843 305255391 430214001 946116948 750882996 783730916 409355686 83792477 922221520 88499606 981132577 458776662 239630619 839296650 261998510 777138168 291310108 859868584 834821715 279515947 545843289 156953058 446441545 743916698 398881729 511036082 831761969 48223394 266465734 497322045 61786946 158740104 540566656 856222374 806905330 737886999 580851783 51982126 871123676 365970457 3602712 178706712 593899801 502974956 923695213 230378099 281064823 460091620 654250899 493666432 607107408 546722591 45146038 94343935 26377875 704464944 606159282 858501628 902649271 865272203 462871306 626810768 295766680 976456418 966437793 690129072 256072307 789861370 881392963 973928501 888489780 778952020 430246883 580258824 560527557 467864255 877380852 682526679 146844927 454020470 120696634 500618560 362080634 122699472 566251778 530392265 381916357 158314515 626485455 659064792 45330558 160107301 972750486 754605353 438836691 828575139 449905824 266079893 879195461 674714876 521850134 268747203 755521888 760029600 296640572 774494280 783717838 139058560 185310940 922143362 412334473 136491692 523446706 15484950 615961768 915062440 794223301 753962474 877554095 674835718 335521493 487040126 581474533 377097325 938186749 281685853 281842825 746439794 320764733 699371165 598089863 159508033 69853810 635006193 760572068 565101407 17954887 930792078 346115222 929324017 485561679 595365856 658522266 392492941 194449436 141815277 712865182 947266298 829830024 507985329 77579706 145157731 839565636 515637050 540608493 383145331 910685055 103272904 313365170 973505499 747633109 312755403 494169170 307129569 325127560 426764257 356461028 548727596 959128735 651115936 351131755 141200121 718093884 384802842 292956135 443124501 610295166 947286487 420873625 192571357 407356289 512342080 191199856 822938865 380470958 906111766 564675078 784884987 863318308 637380061 514811959 276180977 854948092 416419555 938396721 855484018 725678173 413822560 441538467 243145969 777628837 787857112 501549847 945370920 226593206 51197136 404458133 205287388 302541641 291583387 163045142 989059300 219280811 796353195 57873720 283684034 355889181 836761277 980805317 938496598 96262209 924827296 435472311 697140899 444046954 497204546 881134819 126010261 444191376 21273933 383126925 423631266 488748806 355698918 492302147 74989676 575255178 335867622 308031296 543790074 128631801 833276354 830847966 627127598 444915008 898498732 267986477 935426066 875170458 228360054 410843128 241721772 915351223 340313891 719288714 464408607 771373010 189124426 486871246 351203942 289410763 921181472 798429949 914985848 978987958 48101884 332643849 143435786 564775792 964581911 35264521 327395605 753999954 199863496 451770708 935525926 91056146 475241106 850039911 954720108 653616072 303491381 468362844 649836992 674408766 401688535 894672066 198427069 826769995 861346739 417908452 34558805 351257467 322503091 135911761 315239749 376513588 647223295 78483873 827821648 625549646 864866799 521483519 728496984 263735124 743968508 109888991 427976648 930068228 997767186 659100686 623288582 335973120 698880756 37847905 945866530 411968556 939754086 696108090 118957614 892003711 249159034 756501624 927294884 121583888 82836998 622406667 136682767 147010662 814176950 595189146 937865932 142043885 810372530 915472150 219203407 187861666 767567536 858389085 278352046 969332353 825386677 622199723 298016818 731017794 550303826 511398091 978188648 396389894 871672380 914338555 453584233 668525708 387280011 22962185 261427106 321706362 525041637 269399898 895517939 378160820 760532183 426954028 145679516 810984671 941135836 608370478 609322709 527575531 710656936 13133177 356742745 285218889 996887536 851046153 981822796 791315760 381129298 97005086 799657420 8989383 73490178 884573389 487571057 241687423 459239227 168519146 871137648 142345460 383843256 418122813 291824357 903961094 560378295 200672788 215689482 437475524 569018779 623064589 633786375 46635942 174155379 719933735 620460368 324869892 992972873 711098788 135168035 250577323 818795731 230048090 785933845 159116660 460785293 157690653 775578593 917941561 223396259 445655398 839381655 537171573 518506569 899001701 578056903 496569909 41006942 577941938 462724145 71000507 270404441 524896171 884997925 264225316 361325466 567012307 441239154 353347219 848188047 921694391 548424292 823196899 100247924 277993151 755530810 68012010 203563627 316525965 307804353 589786579 493730125 803645846 881375307 51122141 301166037 31348373 58563805 198359899 785443537 115105442 908336373 365494219 372024022 649184068 795081230 27623827 941887234 414587536 703129715 385881856 451746473 353770696 203953444 577744992 813202508 321946593 366808692 164368196 917161204 193733110 198101159 2769253 420778129 950815329 642639875 249827728 211780194 111669010 497492131 929165419 506692637 641529881 792936088 147542836 891694480 631397604 402816994 560607487 588897766 488279555 503497341 790209587 540539991 875655223 587002337 213308163 480137676 134576612 163189299 178674751 933924106 548275426 386208256 388009553 308786927 586594279 314909424 159481740 714252170 41207303 699391931 780727496 96978400 130150047 779262067 545559325 940527230 921729449 547432679 309242720 582986658 640597706 875245104 820078918 218216447 297827203
