100000
1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 1 1 2 1 2 1 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 2 2 1 1 2 1 1 2 2 2 1 2 1 1 1 2 1 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 2 1 2 2 1 1 1 1 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 1 1 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 1 2 1 1 2 1 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 1 2 2 1 2 1 1 2 2 1 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 1 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 1 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 1 2 2 2 1 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 1 2 1 2 1 2 1 2 1 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 1 1 2 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 1 1 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 1 1 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 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 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 1 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 1 2 2 1 2 2 1 2 2 2 1 1 1 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 1 1 2 2 2 1 2 2 2 2 1 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 1 2 2 1 1 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 1 1 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 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 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 2 1 2 1 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 1 1 2 2 2 1 1 1 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 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 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 2 1 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 1 1 2 1 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 1 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 1 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 1 2 2 2 1 2 1 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 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 1 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 1 1 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 1 2 1 2 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 2 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 1 1 2 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 1 2 2 1 2 1 2 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 1 1 1 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 1 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 1 1 2 1 1 1 1 2 1 1 2 2 2 1 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 1 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 1 2 2 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 1 1 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 1 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 1 1 1 2 1 2 1 1 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 1 2 1 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 2 2 1 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 1 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 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 1 1 1 2 1 2 2 1 1 1 2 1 1 2 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 2 1 2 2 1 2 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 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 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 1 2 1 2 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 1 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 1 1 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 2 1 1 1 1 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 1 1 2 1 1 2 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 1 1 2 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 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 1 2 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 2 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 1 2 2 2 1 2 1 2 1 1 2 1 1 2 1 2 2 2 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 1 2 1 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 2 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 1 2 1 2 1 1 2 1 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 1 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 1 2 1 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 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 1 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 2 2 2 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 1 1 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 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 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 2 2 2 1 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 2 1 1 2 1 1 1 2 2 2 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 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 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 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 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 1 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 1 2 2 1 1 2 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 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 1 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 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 1 1 2 1 2 1 2 2 1 1 2 1 2 2 1 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 1 2 2 1 1 1 1 1 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 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 1 1 1 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 1 2 1 2 1 2 2 1 1 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 1 1 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 1 1 2 1 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 1 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 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 2 1 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 1 2 1 1 2 1 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 1 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 1 2 2 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 1 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 2 1 2 1 1 1 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 1 1 2 1 1 2 2 1 2 1 1 2 2 1 2 2 2 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 1 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 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 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 1 2 1 2 2 2 1 1 1 1 2 1 1 2 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 2 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 1 1 1 2 2 1 1 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 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 1 2 2 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 1 2 2 1 1 1 2 2 1 2 2 2 1 2 2 1 1 2 1 2 2 1 2 1 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 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 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 1 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 1 2 2 2 1 2 2 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 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 1 2 2 2 2 1 1 2 1 1 1 1 1 2 2 1 2 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 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 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 1 2 1 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 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 1 2 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 1 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 1 1 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 1 1 1 2 1 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 2 2 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 1 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 1 1 1 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 1 2 1 2 1 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 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 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 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 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 2 1 2 1 1 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 1 1 2 2 2 1 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 1 1 1 2 1 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 1 1 2 2 2 1 1 2 1 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 1 1 1 2 2 2 1 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 1 1 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 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 1 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 1 1 2 1 1 1 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 2 2 1 1 2 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 1 1 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 1 2 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 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 1 1 2 1 1 1 1 2 1 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 1 2 2 2 2 1 2 1 2 2 1 2 1 1 1 1 1 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 1 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 2 1 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 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 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 1 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 1 1 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 1 2 1 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 1 2 1 2 1 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 1 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 1 1 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 1 2 1 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 2 2 2 2 1 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 1 1 2 1 1 2 2 1 1 1 2 2 1 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 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 1 2 1 2 1 1 2 1 1 2 1 2 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 1 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 1 2 2 1 1 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 2 1 1 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 1 1 2 1 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 1 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 2 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 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 1 1 1 2 2 1 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 1 1 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 1 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 1 2 1 1 2 2 1 2 1 2 2 1 1 1 2 2 1 2 2 2 1 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 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 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 1 2 1 2 1 1 1 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 2 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 2 2 1 2 1 1 1 2 2 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 1 1 2 1 1 1 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 1 2 2 2 2 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 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 1 1 1 2 2 1 1 1 2 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 1 2 1 1 1 2 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 1 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 2 1 2 2 2 1 2 2 1 1 2 2 1 1 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 1 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 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 1 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 2 1 1 2 1 1 2 1 2 1 2 1 1 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 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 1 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 2 2 2 1 1 2 2 1 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 1 1 2 2 1 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 1 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 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 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 1 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 1 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 1 1 2 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 2 2 2 2 1 1 1 2 2 2 1 2 1 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 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 1 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 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 1 2 1 1 2 2 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 2 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 1 1 1 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 1 2 2 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 1 1 1 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 1 2 1 1 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 1 1 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 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 1 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 1 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 1 1 2 1 1 2 2 2 2 1 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 1 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 1 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 1 1 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 2 1 1 2 2 2 2 2 1 1 2 1 2 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 1 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 1 2 1 2 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 1 1 2 1 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 1 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 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 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 1 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 1 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 1 2 1 1 1 1 1 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 1 2 1 2 1 2 1 1 1 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 2 2 1 1 1 2 1 2 1 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 1 1 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 1 2 1 1 1 2 1 1 1 2 2 1 2 2 1 1 1 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 1 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 1 1 2 1 2 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 1 1 1 1 1 1 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 1 2 2 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 2 1 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 2 1 1 1 1 2 1 2 2 1 1 1 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 2 1 1 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 1 1 2 1 1 1 1 1 2 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 1 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 1 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 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 1 1 2 2 2 1 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 2 1 1 1 2 1 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 1 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 2 1 1 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 2 2 2 1 2 1 2 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 2 1 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 1 1 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 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 1 2 1 2 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 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 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 1 2 2 1 2 1 2 2 1 2 1 2 1 1 2 2 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 1 2 1 1 2 2 1 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 1 1 2 1 1 2 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 1 1 2 2 1 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 1 2 1 2 1 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 2 1 1 2 1 1 2 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 1 1 2 2 2 1 1 1 1 2 1 1 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 1 1 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 1 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 1 1 1 2 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 1 1 2 2 2 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 1 2 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 2 1 1 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 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 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 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 1 2 1 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 1 1 1 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 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 1 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 1 2 1 1 2 2 2 1 2 1 1 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 2 1 1 1 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 1 1 1 2 2 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 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 1 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 1 2 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 1 1 1 2 2 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 2 1 2 1 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 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 1 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 2 2 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 2 1 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 2 1 1 2 1 1 1 1 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 1 1 1 2 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 1 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 1 2 2 1 1 2 1 1 1 2 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 1 1 1 2 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 1 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 1 2 2 1 1 1 2 2 2 2 1 1 2 1 2 1 1 2 2 2 1 2 2 1 1 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 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 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 1 1 1 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 1 2 2 2 1 2 1 1 2 2 1 1 1 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 2 1 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 2 2 1 2 1 1 1 1 2 1 1 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 1 1 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 1 1 1 2 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 1 1 2 2 2 1 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 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 2 1 2 1 1 1 2 2 1 1 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 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 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 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 1 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 1 2 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 2 1 2 1 1 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 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 1 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 1 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 2 1 1 2 1 2 1 2 1 1 2 1 1 2 1 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 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 1 1 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 2 1 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 1 2 1 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 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 1 2 1 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 2 2 1 1 1 2 1 1 2 2 2 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 1 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 1 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 1 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 1 1 2 2 1 1 2 1 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 1 2 1 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 1 1 1 2 1 2 1 2 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 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 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 2 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 1 1 2 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 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 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 1 1 2 1 1 1 1 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 1 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 2 1 2 2 1 1 1 2 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 1 1 1 2 1 1 2 1 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 1 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 1 1 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 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 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 2 1 2 2 1 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 1 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 1 1 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 2 1 2 1 1 1 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 1 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 2 1 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 1 1 2 1 2 2 1 1 2 1 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 1 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 1 2 1 2 2 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 1 2 1 1 1 2 1 1 1 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 1 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 1 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 1 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 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 1 2 1 2 2 1 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 1 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 1 1 2 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 1 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 1 1 2 2 1 2 2 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 1 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 1 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 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 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 1 1 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 1 1 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 1 1 1 1 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 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 2 1 2 1 2 1 2 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 1 2 2 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 2 1 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 1 1 2 1 2 1 1 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 1 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 1 1 1 1 1 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 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 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 1 2 1 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 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 1 1 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 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 1 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 1 1 1 2 2 1 1 2 2 1 2 2 1 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 1 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 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 2 2 1 1 2 1 1 1 2 2 1 2 2 1 1 2 2 2 1 1 1 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 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 2 2 1 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 1 1 2 1 1 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 1 1 1 2 2 1 1 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 2 1 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 1 1 1 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 1 1 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 1 2 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 1 1 1 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 1 2 2 2 2 1 2 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 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 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 1 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 1 1 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 1 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 2 1 1 2 2 2 1 2 1 1 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 1 1 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 1 2 2 1 1 2 1 2 2 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 2 1 2 2 1 2 1 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 2 2 1 1 1 2 1 1 2 2 1 2 1 1 2 2 2 1 2 1 1 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 1 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 1 1 2 2 1 1 2 1 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 1 1 2 1 2 2 2 1 2 2 1 1 1 1 1 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 1 1 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 1 2 1 1 1 1 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 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 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 1 1 2 2 1 2 1 1 1 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 1 1 2 1 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 1 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 2 1 2 1 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 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 2 1 1 1 1 2 2 1 2 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 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 1 1 2 1 1 2 2 2 2 1 2 1 2 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 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 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 1 1 1 2 1 1 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 2 2 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 1 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 1 1 1 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 2 1 1 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 2 1 1 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 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 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 1 1 1 2 2 2 1 1 1 2 1 2 1 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 1 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 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 2 1 2 2 1 1 1 2 2 2 1 1 2 1 2 1 1 2 2 1 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 2 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 1 1 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 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 1 2 1 2 1 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 1 1 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 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 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 1 1 2 1 1 1 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 1 1 1 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 1 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 1 1 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 1 1 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 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 2 2 1 2 1 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 1 1 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 2 1 1 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 1 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 1 1 2 2 1 2 1 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 1 2 1 2 1 2 2 2 2 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 1 2 2 2 1 1 2 1 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 1 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 1 1 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 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 1 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 1 1 2 2 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 2 1 2 2 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 1 1 1 1 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 2 1 1 2 1 1 1 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 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 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 1 1 2 1 1 1 2 1 2 2 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 1 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 2 2 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 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 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 1 2 1 2 2 1 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 1 1 2 1 1 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 1 2 1 1 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 2 1 1 2 1 1 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 1 1 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 2 1 1 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 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 1 1 2 2 2 2 1 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 1 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 1 2 2 1 2 2 1 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 2 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 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 1 2 1 2 1 1 2 2 1 1 2 1 1 1 2 2 1 2 2 1 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 1 1 1 1 2 2 1 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 1 1 2 1 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 1 2 1 1 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 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 1 2 1 1 2 2 1 2 2 2 1 2 1 1 1 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 1 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 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 1 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 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 2 2 2 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 1 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 1 2 1 1 1 2 2 1 2 1 1 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 1 2 1 1 2 1 1 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 1 1 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 1 1 1 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 1 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 2 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 1 2 1 2 2 1 1 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 1 1 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 1 2 2 2 2 1 2 2 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 1 1 2 2 2 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 1 2 2 1 1 2 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 1 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 1 1 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 1 2 1 1 1 1 1 1 2 2 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 1 2 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 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 1 1 2 1 2 2 2 2 1 1 1 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 1 1 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 1 1 2 1 2 1 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 1 1 2 1 2 2 1 1 2 1 1 1 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 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 1 1 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 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 1 1 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 1 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 1 1 2 1 2 1 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 2 1 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 1 1 1 1 2 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 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 1 2 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 1 2 1 2 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 1 1 1 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 2 1 1 1 1 2 2 2 1 1 1 2 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 2 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 2 2 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 2 2 2 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 1 2 2 2 1 2 1 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 2 1 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 1 1 1 2 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 1 2 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 1 2 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 1 1 1 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 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 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 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 1 2 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 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 1 2 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 1 2 1 1 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 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 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 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 1 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 2 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 1 1 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 1 2 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 1 1 1 2 1 1 2 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 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 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 1 1 2 1 2 1 1 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 1 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 1 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 1 1 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 1 1 1 1 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 1 1 2 1 1 1 2 2 2 2 1 1 2 2 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 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 2 1 1 1 1 2 1 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 1 1 2 1 1 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 1 1 2 1 1 2 1 2 1 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 1 2 2 1 1 1 2 1 1 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 1 2 1 1 2 2 2 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 1 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 1 1 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 2 1 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 1 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 2 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 1 1 1 2 2 1 2 1 2 2 1 1 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 1 2 2 2 1 1 2 1 1 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 2 2 1 1 1 2 2 1 2 2 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 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 1 2 1 1 1 2 2 1 2 1 1 2 2 1 1 2 1 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 2 1 1 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 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 1 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 1 2 2 1 2 1 1 2 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 2 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 1 1 2 1 2 2 1 1 1 1 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 1 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 1 2 2 2 2 1 2 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 2 2 1 1 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 1 1 1 1 2 2 1 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 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 1 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 2 1 1 2 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 2 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 1 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 2 1 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 1 2 1 2 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 1 2 1 1 2 1 2 2 2 1 1 2 1 1 2 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 1 1 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 1 1 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 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 2 1 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 1 1 2 1 1 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 1 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 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 2 1 1 1 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 1 1 2 2 1 2 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 1 2 2 1 1 1 1 2 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 1 1 2 2 2 1 1 1 1 2 1 1 2 2 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 1 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 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 2 2 2 2 1 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 2 1 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 1 1 2 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 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 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 2 1 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 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 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 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 1 2 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 1 1 2 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 1 2 2 1 2 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 2 1 2 1 1 2 2 1 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 1 1 1 2 1 2 2 1 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 1 1 1 1 2 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 1 1 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 1 1 1 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 1 1 2 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 1 1 1 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 1 2 1 1 2 2 1 1 2 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 1 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 2 1 1 2 2 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 1 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 1 2 1 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 2 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 2 2 1 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 2 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 1 1 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 1 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 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 1 1 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 1 1 2 1 2 2 1 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 1 1 1 1 1 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 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 1 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 1 1 2 1 2 1 2 1 1 1 2 2 1 1 1 1 2 1 2 2 1 2 1 1 2 2 1 1 2 2 1 1 1 2 2 1 1 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 1 2 2 2 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 1 1 1 2 2 2 1 1 1 2 1 1 1 2 1 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 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 1 2 2 1 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 1 1 1 2 2 1 1 2 2 2 1 1 2 2 1 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 1 1 1 2 1 2 2 2 1 1 1 1 2 1 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 1 2 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 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 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 1 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 2 1 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 1 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 2 1 1 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 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 2 1 1 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 1 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 1 2 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 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 1 2 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 2 1 1 2 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 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 1 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 1 1 2 1 1 1 2 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 2 1 2 1 2 1 2 1 2 1 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 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 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 1 1 1 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 1 1 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 1 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 1 2 1 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 2 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 2 2 2 1 1 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 1 1 1 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 2 1 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 1 1 2 2 1 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 1 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 1 2 1 1 1 1 2 2 2 2 1 1 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 1 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 1 2 2 2 2 1 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 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 2 2 1 1 1 2 1 1 1 1 2 1 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 1 2 2 1 1 2 2 2 1 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 1 1 2 1 2 1 2 2 2 1 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 2 1 2 1 2 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 2 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 1 1 1 2 1 1 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 2 1 2 2 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 1 2 1 1 2 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 1 1 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 1 1 2 2 2 1 2 2 1 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 1 1 2 2 1 1 2 1 2 1 2 2 1 1 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 2 1 2 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 1 2 1 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 1 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 2 2 2 2 1 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 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 1 2 2 1 1 1 1 1 1 1 2 2 2 1 2 1 2 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 1 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 1 1 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 1 1 1 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 1 2 1 2 1 1 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 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 2 2 1 2 1 2 2 1 2 2 1 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 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 1 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 1 1 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 1 2 1 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 1 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 1 2 1 1 2 1 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 1 2 1 2 2 1 2 1 1 2 2 2 1 2 2 1 2 1 2 1 2 2 1 2 2 1 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 1 2 1 1 2 2 2 2 2 1 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 2 1 2 2 1 1 1 2 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 2 1 2 1 1 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 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 2 2 1 1 1 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 2 1 1 1 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 1 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 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 2 1 1 2 1 1 2 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 1 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 1 1 2 1 2 2 1 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 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 2 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 2 2 2 2 1 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 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 2 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 2 1 2 2 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 2 1 1 1 2 1 1 1 2 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 1 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 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 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 1 1 1 2 2 1 1 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 1 1 1 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 1 2 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 1 2 1 2 1 1 2 1 2 2 1 2 1 2 1 2 1 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 2 2 1 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 1 2 2 2 1 2 1 1 1 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 2 1 1 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 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 1 2 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 1 1 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 2 2 2 2 2 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 1 2 1 1 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 1 1 1 1 2 1 1 1 2 1 2 2 1 2 1 1 2 2 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 2 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 2 2 2 1 1 2 2 1 1 1 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 2 1 1 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 1 1 1 1 2 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 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 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 2 2 1 1 1 1 1 1 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 1 1 1 1 1 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 2 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 1 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 1 2 2 2 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 1 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 2 1 1 1 1 1 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 1 1 1 2 1 2 1 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 1 2 2 2 1 1 1 1 2 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 1 2 1 2 1 1 1 2 1 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 2 2 1 1 2 1 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 1 1 2 2 2 2 1 1 1 1 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 1 1 2 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 1 2 1 2 2 1 1 2 1 2 1 2 2 1 2 2 1 2 1 2 1 1 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 2 2 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 1 1 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 1 1 2 2 1 2 2 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 1 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 1 1 2 1 2 2 1 2 1 2 2 1 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 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 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 1 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 2 1 1 2 1 1 1 1 1 1 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 1 2 1 2 1 1 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 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 1 2 1 1 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 2 2 1 2 1 1 1 1 2 1 2 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 1 1 1 2 1 2 1 2 2 2 2 1 2 2 1 2 1 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 2 1 2 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 1 1 2 1 2 2 1 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 1 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 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 1 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 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 1 1 2 1 1 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 1 2 2 1 2 1 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 1 1 1 1 2 1 2 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 2 1 1 1 2 2 2 1 1 2 2 2 1 1 1 1 1 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 2 1 2 2 2 1 1 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 2 1 1 2 1 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 1 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 2 2 2 1 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 1 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 1 2 1 2 1 2 1 1 2 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 2 1 2 1 1 1 2 1 2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 1 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 1 1 2 1 2 1 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 2 2 1 1 2 2 1 1 2 2 2 1 1 1 2 1 2 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 1 1 2 1 2 2 1 2 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 2 2 2 2 1 2 2 1 1 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 1 1 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 2 1 1 1 2 2 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 1 2 1 1 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 2 1 1 2 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 1 2 2 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 2 2 1 1 2 1 1 2 1 2 2 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 1 2 2 1 1 1 2 2 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 2 2 2 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 2 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 1 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 1 2 1 1 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 2 2 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 2 1 1 2 2 1 1 2 1 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 1 2 1 2 2 1 2 1 1 2 1 2 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 2 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 2 1 2 2 1 1 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 1 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 1 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 2 1 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 2 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 1 1 2 1 1 2 1 1 2 2 2 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 2 1 1 1 2 2 2 1 2 1 2 2 1 1 2 1 1 2 2 2 2 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 1 2 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 1 1 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 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 2 1 2 1 1 2 2 2 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 1 2 1 2 1 2 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 1 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 2 1 1 2 1 1 1 1 2 1 2 2 1 1 2 1 2 1 1 2 1 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 1 2 1 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 1 2 2 1 1 2 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 2 1 1 1 2 2 1 2 2 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 1 2 2 1 1 1 2 2 2 2 1 1 2 2 2 1 2 1 2 1 2 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 2 1 1 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 1 2 1 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 2 2 1 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 2 2 2 1 1 1 1 1 1 1 2 2 1 2 2 1 2 2 2 1 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 1 1 1 2 2 2 2 1 2 1 1 1 2 2 1 1 1 2 2 2 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 2 2 1 2 1 2 1 2 2 2 2 1 2 1 1
229627641 553081893 89069019 91075194 712576173 944810503 66125063 888996859 148301304 439458427 741177855 612049541 575360381 937266141 728263361 247491461 25616023 707168541 728246872 91682665 667523167 311887877 999023538 942195604 75010902 986508589 504761890 205207356 603114431 51738706 988679058 989010463 211665844 98880287 61605739 817402624 731412431 953080947 881012914 687720714 103036795 683878398 946588435 117265696 153460527 698925155 483918129 44865064 973064917 885741434 107317953 894373385 9451419 426555360 714667655 51480024 589296157 310636303 737920769 652570985 157502579 33833466 704782564 429023508 684732328 431832733 395177725 727636121 859009121 489478252 563639012 891360915 782834123 880825442 765016046 500604242 732414338 759441860 391601175 606482183 369225617 126905787 436313636 748961952 716441423 175713461 353743414 474940175 890679302 275832138 293613975 244455934 153285091 698631991 575576993 665010535 634762147 740234432 168711531 154613631 860521217 172636127 277668755 440565745 440053798 738821422 837391811 586092353 65744362 248655611 556633151 187592532 232780233 77376151 607538639 39899881 102918393 958653560 680643144 528630160 935880601 779957937 788033902 287270253 432660571 253036500 700854915 414398291 726383877 901838214 588374196 484963405 935822734 116904310 642222346 259534615 333182246 928091764 494452800 204197214 84012779 70251670 581301311 750092545 983719032 855104286 952950937 691742668 16054848 985084775 425310445 705278298 558955291 838587732 184251807 535209491 167850756 374845695 973930623 60720646 563135326 506801126 710083470 397200847 850050780 391086061 87399271 833581672 945285566 607338645 397333745 44777278 923344448 984739442 681136067 835675437 607966841 160060835 647972336 351720161 518600799 704924221 971721483 941794967 108677830 930028947 85912422 85885746 742173040 485589527 610461714 101100691 448107351 723096109 458697755 136114467 689872575 484841624 776584690 284597579 769584661 942983581 490893910 520380821 181636065 420563264 853519316 693353349 290415265 93407253 636298881 514801217 948836499 843684596 607873103 369916125 821302276 325979574 449879053 50250907 129419488 45960345 935768807 39595576 631437907 37679628 437827430 659877977 732698936 18915546 173687108 799904726 198225426 850614325 568257805 156466145 425870998 999072752 592076666 91416228 457018797 463379608 812460935 335143023 194410837 389011511 579485518 53863880 510392305 466857899 973413152 832640008 551344859 112653449 916470005 229531979 479966307 411801516 678476769 49529738 257658021 91976167 521168409 712383926 104529517 586571860 807002923 63299887 60602 373420413 901454553 122726683 113356659 955933422 32228856 261624938 999571629 858814182 408384574 751818305 19137099 26713449 647749166 279928464 325362304 577056776 865812208 151303018 158280346 311540936 926323956 770581125 364917369 23052980 311449521 532631028 395615897 60417063 288892941 557083972 789405755 403079525 88071772 985390683 867151386 827108969 528556097 596336148 717693851 39744598 450443575 398150624 754868165 426375404 572492011 476233571 116886033 962226254 272351628 518976881 40834662 429827197 273439931 494344613 19410171 559491610 690910648 671698130 40255506 37876538 321652249 162878800 348661881 999041138 136644398 729604569 140951552 769287300 751037584 380363818 665134911 643856782 1873247 933289542 946290301 56892868 426258210 174657180 408515992 45332845 976822073 439762725 53313361 158533559 587618518 981499251 775677687 869523372 349713924 150249196 956893500 238866058 858567220 427660115 245073428 255926628 353807903 471992305 66933661 228231287 539851838 721450572 834549074 112697961 631109326 529556716 643815847 149782616 253099447 201705432 711861960 754441527 681813251 723365715 199688158 666216165 747882764 976919926 277601154 67093588 604632762 809698974 357288255 841129907 693356484 674263927 727138296 585213349 627501177 416827130 868571172 884472595 666654817 466295484 244564046 483057325 545013471 136854176 788506835 521814814 94042299 220337907 34201027 424409667 519027540 950882932 538559580 527281812 132298327 383706200 582151856 39890042 828355374 805629340 778955751 304412527 452184739 428655863 820253158 447956821 688157392 659201898 995777173 117383500 966770859 576843101 435601812 920683091 812826449 589254508 903100914 126030414 52475341 813225293 422278511 122707634 103930320 698914796 601365243 235810597 129193359 45243815 665025221 736513956 878733801 315499896 337808964 567934756 944740187 891502318 35327011 635574084 917152369 563207724 933580564 315995862 681724077 712458128 973549309 956611249 432019624 576725462 309469648 940169607 56794034 387105240 616518710 490276760 787751879 477330819 443756519 158440647 728367517 451103096 459878533 388094156 296722963 687833204 17430704 764976047 141564850 275322109 780739839 471258234 394610500 523052418 274920072 810532520 583075265 417884868 242777323 313376078 153244180 312783197 457668253 519615255 386282950 324901751 5536375 951363198 135792611 965793747 522777483 426260766 171999812 2959978 406436365 461473061 217710738 915165013 667495274 259766267 691733669 488529062 523724463 403266901 465989452 985277312 223805502 419386875 813476268 669539772 241164992 268401508 707815989 210929238 981633304 229620275 150343573 838473871 892621939 338840795 84261576 364584260 475518492 976768832 167066868 577041702 679958587 435487676 699712365 271901522 99869335 835963100 641733399 898984971 95083980 190792517 297075847 682189399 802003299 680248866 886339827 439912380 718671980 320393466 659532121 683641949 720475196 577949474 388532159 350846638 518788636 789030009 948613013 399552111 342749358 256260459 685530670 227794119 847601443 979320085 138911541 379742044 361664599 806648395 212020924 974288966 819209776 157107905 725867003 730283252 812081569 363704288 107777872 319272957 195970236 722146119 383628445 358185091 207416874 403744800 564190826 842163297 375843296 891911712 439455658 51882078 926303751 749202024 19064628 731924168 517949944 124218563 568537191 955360251 712938473 442260535 732698378 62492385 147736062 883901682 462005319 679622323 113555392 343152547 52983827 358702602 238392012 234321106 993073217 795264774 867653808 778329863 227819133 349267496 286213807 307004422 81912816 324952181 117913066 800502959 155841583 411365736 331572998 969378865 106008245 944976861 210916585 160587920 898450926 305544442 55545994 443173330 655535857 144793876 578114485 397314988 154102673 382427534 169606699 887316716 943770072 780108155 781207078 528690093 544987508 697192401 711752888 246625385 720872337 152647914 703703238 471669929 990932599 27691063 838556036 420003451 141227119 922898235 563564862 882352240 120771264 489186681 968962299 865002640 461382899 560035938 886454502 348757715 897832700 750412507 860096613 656936683 427771573 659641187 316711139 155937870 550354367 681221192 757192583 310730710 131673435 353639057 470785945 375748360 959264063 425925673 280636899 44655846 923089884 417112632 140030756 266327176 905011922 207460139 970211707 203246673 900506074 238132228 872048303 737901226 180745255 179673468 839798983 532713084 527698738 880907059 825059275 704510022 148680012 264772654 143553554 2100782 258666322 737127414 86000131 826652882 925184178 173554205 905840779 922639406 597447387 183547122 191749204 170322210 943380796 93497780 267571732 318140239 293843724 284274675 145265973 409073005 59180429 925241491 527996056 985795227 736936906 892880076 387569892 316638950 896225881 971462215 766696901 418913452 917759076 201315796 887839313 916231287 397438965 822655832 72168458 296189112 767225283 609906143 954752026 108546303 714338229 197470931 626596977 180434538 894007563 233498353 179232217 880567792 636086216 48717264 580859783 324361217 436215936 19160443 146692142 952413985 565320913 188930223 591290837 616539468 340804503 966082226 682553551 874430754 500481575 390457737 704198578 375160190 639756242 657934083 123531394 906486672 237710288 951160361 420435307 239757406 887242453 401809250 394848108 298604170 491995454 200654528 217075169 387663603 748728799 720422548 207195612 42543558 916436501 531146538 322885215 406712685 586273291 612641486 207474036 412614727 343833018 628489905 158308405 314754608 685185296 486834355 688540008 342621723 946493468 254811693 68277727 359650704 414012934 522517060 677870764 777214520 255093813 215495413 634017649 649316660 428245355 902332898 269821613 432259874 147360884 119887353 124762107 580567756 275774887 638108767 301536759 360183305 186353771 479423059 488604054 402461237 218437336 283836656 526854398 734560894 600792917 321468719 228388165 728108218 212956435 946414349 241823854 418726199 270479668 527937464 647891537 419476593 647091916 261001258 932004452 501789602 961707453 745229967 317678055 33603239 449424210 617655534 167920079 210259809 632247069 709225091 609344498 992086795 935860338 913763677 302263970 121510231 743957855 190985211 33300507 448674097 111990116 320155845 101169479 673257108 958282739 418565436 956364390 658703633 334727263 95490246 796470792 851168509 415099588 822681584 37520668 897026306 75731743 819283416 589116445 14566352 950648967 813809564 497104878 115042939 926619754 682408985 651071108 303588363 309909417 561030926 416052342 191882334 759870641 714233193 470179410 255607483 759524547 513367229 109525456 581320392 282812535 960671890 134127307 66232018 733690032 119662800 718347658 730915157 667057919 632416532 969116642 235547977 275232261 314606593 239535222 526212576 140666438 743113055 418502143 415044407 991088335 255676407 482088123 298482271 510871176 545385505 862460533 992928913 336446723 977674434 907429186 364104453 652284180 212827162 951783931 823303138 961790310 110685642 269078075 833912350 501019880 951724591 750365563 144449698 379259558 859081082 396891673 25937930 855416563 911032384 163588720 183972258 197180884 910295801 729409855 948316806 12001514 910164728 825011458 153509919 916434853 409408877 670922731 127345211 717131326 772900650 905355544 548564602 203523121 986302189 596682501 509967061 268438188 191059790 957602675 957423636 855303172 672216092 63474023 544537464 862179034 161736128 277732931 964367062 846238676 240210015 385095152 765083779 427928245 849019600 514949590 660626711 252336513 853878538 667129296 141096379 42647720 400473190 340132008 738515806 309946283 312220875 473859547 130647358 999525128 290102620 857352781 256132170 103905851 984128901 838353030 698483454 649517186 372050285 707364819 467822731 851133181 925262464 717568682 66295155 268141251 423456990 848078181 146679396 138985026 454215354 197111388 448459448 594087763 538645729 787601613 170849972 807708362 105603519 780901482 88805496 888128900 937073271 527805173 937548907 86002789 325936427 508985948 438153008 765278777 744033039 647663719 791700770 217507526 690394066 770844652 736197694 346810721 154525657 337542856 31454955 338226679 639411643 263205985 932514588 823776047 562217039 856088616 149936446 917753538 641467280 264325681 629604543 776361733 348099455 841733159 88439849 357093840 367500176 589816532 416317073 332570357 211623044 148048136 369298916 530362346 483728701 900265324 669681065 909892481 990824512 775552480 16688667 196887365 944026388 506363351 23567452 342105742 308115754 772175789 364757954 390527115 430905335 683763654 132331870 951121609 791886441 801519600 700274958 788862926 155647696 840282800 749585073 373215877 503660099 302112784 766869252 670605217 412100632 262212802 813091065 639976575 787838764 973440799 616889702 847898334 964037676 668359726 727639004 796135967 203409393 465849573 824615025 73372686 50794236 469137411 521236440 214618268 23822563 790136601 978068626 144921475 637395987 833777682 730422453 307626003 492056903 960209550 598559655 569402318 297626193 594992107 532292403 171762143 45402116 882750646 721464781 688177914 342512477 858741690 963919250 238705659 1326173 75835182 828333291 69095127 920746748 760388258 23093975 16235612 665730970 310799651 206743190 741664660 683739884 810396436 440539088 410722503 518125606 195532916 624338461 111651783 453740169 96260600 261389545 583243005 53327489 445135516 490278784 463032968 225819 354777299 92768238 275013146 765301565 126747561 181750526 429785661 910208683 45855307 623301267 383352929 663742046 197344033 101750269 340825041 745934057 658819323 373506182 727284522 445777210 809422202 198049579 899499904 743511699 647116139 155119745 747244918 180471629 855248273 568724075 811076624 681003126 447755954 225286408 699337684 365261940 128245286 735486682 788067359 612736585 47059238 739259734 593397100 115828153 660598095 568741067 71084621 660038887 511705222 346527924 285038836 465392260 364964703 3687708 472026012 877723495 115238733 408341042 89532508 992251419 162739605 780917692 29968463 857985847 248541120 685267710 872904474 516887069 261696081 844347398 461405765 668865518 309515802 166036513 770504226 204382534 833282223 126309485 990752873 60131370 483423084 920748021 517251022 25081322 120616345 487803520 336289802 619170488 527578269 465308113 941379919 550722161 528171312 272480130 339916692 133979638 915497552 459479422 728597167 593485596 440762633 639505297 824685607 223337039 847379234 4999447 343372298 884910760 589118896 951615629 135093658 45585915 544910700 460214996 461638558 377679003 621363226 87201799 706903551 896584313 135884282 387682410 446123146 817408900 452390861 921848420 699240121 437446487 628997344 225785492 835266133 357213117 345334773 241145865 492460548 52754824 223778318 723589855 569080135 81192243 852097167 341987228 443785958 256888301 47063472 661438525 280535140 980704409 227933518 294563877 555526415 823884347 203321295 334401096 107713125 992315238 562095662 935099417 478148866 581849342 932497520 797769281 145718566 662456279 590652085 353053216 695244211 845793272 737832884 605890340 693192723 795885475 825538764 366019276 922174403 871900767 814838079 12421825 611929056 257089463 799163491 86814718 310938687 169059297 128293771 815147654 893392061 129550035 571154969 731029442 146758888 1073425 147751089 259984819 418787123 48168040 662533711 877538953 183710092 304134508 775667011 381845546 973320913 165102339 113115807 678754085 590988801 559058151 733903952 71500365 717101162 470007131 122689100 349488130 403186347 225396417 52063934 137577360 645695187 620776842 921329567 361753233 790849851 968891949 35787153 136108430 860663605 214661689 710055376 948424883 532236448 273016801 820700888 916903042 944910864 702029733 582299242 68349948 319278515 74995267 963076175 752000806 431766798 744734662 865216862 908686268 562009081 241691092 548910331 848848820 88448453 333885968 749218452 869682249 688761654 455812837 77096369 565584482 57710700 528566703 239677903 219653784 999568526 969699919 929902193 911635760 238107316 140776684 89560731 346458788 327451038 807860680 342406563 581619958 39975166 745302784 368152539 27707966 983162707 623864858 916713564 656666460 560516724 407499727 897577130 594274509 95870632 105472877 410975958 12117294 807244886 547422826 266113780 599699807 320751413 609344196 453861992 991131959 776902627 882530451 355087040 74114303 742182751 52941308 454080981 780419652 283030530 858399050 845854434 380647292 242096112 986474121 527200838 963980520 975273397 717640594 219253150 444027554 807972099 678330233 62894251 611428484 366371270 497009380 152767731 334238780 350619406 996842982 816483836 907333083 477535104 967518669 656384790 763880862 942907739 265329153 392321326 233574253 478643433 971091497 411680537 454422496 25254377 703008816 389218913 436704792 3671351 968372343 430970501 776436016 731336129 488460481 254880847 913377294 749468580 521636965 270813405 756578772 609911838 783261328 957968807 288300173 945230430 993288649 298875098 452278564 467282649 380230636 633936854 436414468 929793065 564701547 418331743 673403864 994781068 405522814 443169103 290898019 698445827 548420015 905046122 546968055 566264697 745346035 445569489 76982851 492583205 913483489 428502609 909666001 488190733 355947524 748192396 623374759 222643033 190970148 152067561 762283833 123887075 500013010 806635719 54781491 596232027 229990764 238294400 905244894 408212324 266260692 530441303 173587382 567475094 799332482 417965623 845708620 807752712 124717463 10839269 139497916 137082096 865181740 298119792 878716311 401704434 774688314 616877371 839604749 290261490 880902283 814673113 491152887 877448159 832805026 703282260 340408653 798745510 772428510 693376686 367428909 704941477 775323973 730234932 389032803 330540787 723471339 888657934 849328827 827832560 318514240 836155118 744905256 729255883 818515375 917649579 460428571 514292887 790590147 475048263 397107577 634474469 126694083 118023972 984703797 262459786 80279542 674040566 432034133 676274467 891227119 404792772 207631773 397787215 336176254 150976115 971253066 94411307 576326431 196904187 652426814 351349206 943580178 978520998 877253748 498422896 699477602 293637025 934538674 904103158 304103020 782178048 783844380 934904026 985423621 136233773 84411465 62165603 48362152 246291871 618401826 725381547 390956538 346914468 534031646 315762669 896795609 130176150 387068862 398770421 61235801 774989259 110465256 785553953 722511487 571371454 905993018 730669488 788968232 745100692 793372074 241657373 856182404 23994892 859126302 120194061 143137953 338005646 309518963 60543937 473031790 46458616 434013225 875735684 622513427 138427198 30203604 796065422 629955022 56013341 34546878 9504240 380038077 578282297 428970425 587262376 359351953 51991179 902340963 956178095 151846398 967444547 556759464 634466194 565728652 871071443 302128829 198690085 870089741 899128735 385283662 738275062 820982721 173071641 361878256 799366855 413012282 112915865 301832481 635872251 862609063 3308921 968231165 191204495 155048240 976038785 891652751 921337004 78803462 367873336 566949439 307448232 648444955 26156274 845175210 556245834 405320091 676671944 298126150 499591697 438816831 101853236 267946900 569923 13612448 356285841 476516700 693179117 284745119 563005742 85781017 260850469 18548816 873292262 260338768 561737793 63547645 530275580 836295479 908614379 250167178 571544189 669263383 218367444 737915880 102530046 793938153 221133164 300558864 789133631 892694218 795875961 973961871 988195992 827912973 525372738 778667139 610047125 562814508 995252823 454332079 518886192 256322273 461845454 16193340 610046840 849170674 829119761 874276155 908332405 988458354 651962049 918322899 720722923 166171962 215639157 804248218 685798216 81482986 623436963 48527879 412443044 627809832 365327506 698589430 266348763 169214363 878163582 408214485 451800499 678784551 370688947 542362764 586258544 904665639 360806690 823734831 204701997 42894227 848855217 747625353 499655680 178052586 291297710 118382528 994011103 87427581 754077226 798039020 744802554 293523701 867435211 548036575 440581126 690271936 698702596 374751809 234167110 992406526 489308541 289823584 294102199 164460537 710661253 798367243 135867758 640147163 828889184 25127998 497072795 807495301 796249076 485102202 430105551 172028346 235891665 703859286 984368205 651737231 153509381 443987881 710112127 128161555 331827201 545190897 252514453 637205021 229140740 752626864 441782736 395827011 543480159 2555291 363647552 430433341 220985050 754657299 910276456 387390049 544944250 870911430 976169656 208934616 907702757 183294924 456589861 84500252 174793439 825394411 359288794 806027572 951247743 500509531 20230747 598813917 866781708 180458854 532728198 668408089 916096225 899095041 591892954 360501363 967113447 219015867 264810067 271047942 855041223 89604907 679546285 13372286 466596871 245760793 980990666 45833895 602711196 266097639 402210454 288503999 390520895 614653723 717009989 203270279 846507785 720446595 230616308 158593191 779621412 353741294 155768257 346308000 966738873 453384685 795668062 458153929 531886751 401030223 554001370 991238995 451258351 752063809 59473446 269652139 353624271 12168491 703097037 804238555 442619903 607930806 681596626 961898835 51478749 298938238 897423771 178764197 240687158 800072404 218909047 817743983 779433842 241741103 564970594 987222160 760977884 65162177 622679241 988110238 102491548 72054573 876367594 53430380 389765666 983015245 254011214 652631583 409095975 509033988 583207166 271772208 826831989 363829394 703505517 829264852 343934876 226201990 212706234 982229640 836114536 733568240 367112766 227184480 920239718 287852957 349841257 713003144 824130028 952920385 433670326 478942571 215240092 200597767 971313425 672154513 471360289 94081961 531549921 616979792 729427586 623029679 820788863 72036386 237724207 738112229 160816121 536713883 626217557 34950350 81621398 725833814 84499476 685997424 720815310 886976810 7733095 611614777 116744096 245397208 894406115 706377773 795538138 896919905 44752092 50038680 248170371 945462415 335405527 95106301 972490123 256020825 63570443 373722322 661974759 871197610 516835833 356905894 619849822 963889003 363586318 719810337 256837192 193240392 849661607 223290163 685701420 488680630 567720179 280973989 999951256 872823098 43367873 733952714 790527229 132171146 297688472 739294516 399094757 727774281 794663862 839446189 382019954 915782058 980640832 64607070 495335951 324880129 688468437 909058476 633868451 846802076 193594299 168031612 919268814 609284870 787527874 588661308 895785731 975519546 735945722 233344592 141304386 241335210 480820191 852982090 9625383 174918689 801594567 299525640 667216068 566664479 137229281 939230709 164463148 78795436 785674943 101959439 921532480 200126263 711638365 97673808 513226572 827301249 288742735 875996251 159103027 502433926 520720715 454709666 854798114 792494676 658795407 661453194 682640226 387356421 83726826 616881882 368340492 537925960 462091251 629389674 448251654 366826615 385579727 82036077 947237372 354327932 59370479 750765627 17069349 13896605 285764988 470122511 7988349 830901806 574933140 434727112 856744289 366067153 967622035 709819160 28734702 625497414 16566994 817436215 182026987 421984770 382036585 881084337 717801090 89558197 752754197 275953404 222120262 865521682 391183594 349406877 961256349 490076329 161893466 592650764 231710938 969576715 617964003 708774536 228291055 555665787 64108421 415849236 569304551 772032465 56798582 432367592 285533291 326421679 618513734 336122226 997601212 680169774 220278244 478794853 646448236 148193017 770165454 257692988 169410670 668375323 930062182 776612772 139691724 769047916 126421598 885941794 151644935 570358954 697001785 987916699 462714172 675900622 961312308 292179634 939810492 686063982 160284464 518763573 101192757 135174904 36921739 901800457 277208052 867782231 823110908 599900946 687449420 708922554 283618403 108135029 567575878 629945462 700132337 90787468 772988700 4906294 123031989 333857632 703579709 728224269 414399972 813939069 866480374 870914353 388104044 442740043 867578455 755783135 303396720 283863727 671853263 182710297 777414326 722918189 526196537 338363180 585686927 624147160 769773828 957602871 153398677 994060635 616411803 216687490 476393400 754043680 180493799 615723720 964377284 690815813 897680390 162448691 389079084 28442774 209597628 903526683 476696138 803770955 450325017 291585021 429791478 911605347 630285645 803281342 324807434 788576810 210680914 107190100 574954070 283998130 782315565 89048082 304959413 872571181 64708325 917395520 560859234 635372820 571619191 979032653 551709360 498442195 70063406 774108787 170204832 332513540 989077954 334291103 683873151 603730561 748526441 650826988 677822645 596621264 459878809 254380132 795612007 839859336 716158825 419506671 252747089 242519137 674679222 19759913 982068138 789451301 720831655 201442681 561605156 353880263 12941383 627242376 388274286 831500710 414531578 810733570 616744344 120238528 622786534 200873168 751129057 68595543 938287691 203272407 631773420 680148554 815889673 760950667 950626149 847786207 855989910 708057597 76030679 758537716 413613387 242408995 781332060 239437160 646159882 765212173 378764618 502010077 190316823 687676049 214175480 264688478 449110111 601234168 986307610 417651845 280402040 828469491 199161305 114190665 198735886 643041089 576367179 915439303 932098060 619460874 987703230 265396624 321878096 910988721 994947428 628986628 9763218 197144816 149291152 859887381 647928125 870693629 410253912 277129328 297189454 766207559 732146662 50676012 862955655 526833337 816699937 670760889 670509427 892570648 546950091 69301314 168918598 513295158 29392854 246216961 990410593 330354414 13733392 927923292 462913817 580634225 717158292 556866238 193402981 505635398 621957855 70048782 446518113 318262306 334364726 550255564 799528337 163275933 855948495 3648705 928954816 106659434 959956955 751954172 898877044 134446886 500336307 241306755 309731164 680945699 789893922 864078955 913487594 696982799 844569068 611509541 956029076 736085176 578483932 271269220 722567909 27833516 716237793 573211205 709086718 442433714 160506451 170202851 663240320 603786588 594582524 352899536 519371327 400103872 643429736 802961923 17834032 346410070 955065865 376184573 656734205 591989349 235387081 277223050 448718172 156254831 891977532 799801748 928220401 544396310 74213405 639631407 340814711 726926827 198267240 857504009 113512896 320759342 98658490 658963711 764991912 46144028 564962263 6872329 890455097 181937967 469542729 304823941 396130819 700759417 64236039 584970383 222974682 962391849 729982612 966079207 929665417 648835615 96059373 711248378 956976745 999495958 671254781 470167330 200832144 654569273 341712331 814413477 4163528 430038073 287454928 896894706 582241456 533188627 890385892 326807764 453442272 519977157 666055333 491739287 177327489 382803517 161707007 559737841 538769356 809492697 323027366 609510050 397315899 973049244 573750549 274190505 912564575 789099289 679055658 50049636 705561773 226872488 544858977 689141628 640223670 172680400 189122637 134230704 775906719 203877507 374446918 91718486 618030143 447062642 377995417 95235875 198138470 738411316 892308951 672457310 595394327 64732019 775321070 800740871 297729223 536171262 960336163 335807766 638162969 356637424 78674528 715837747 975867880 776015688 729965387 760157497 437905352 630522741 360831916 63552751 187660544 672355599 754437907 183359650 163390407 994406269 509024182 843367463 118987221 941450986 675609293 926895050 920493158 779056402 267802100 638483606 13800316 369762810 808748019 779225827 18275121 487038425 133907157 508593505 353273482 158329610 278198406 660113901 756170810 701443445 329103451 664414118 927873614 65516200 466590666 775646198 200245753 980224931 911848438 380683144 996656020 511493075 945191655 164718445 769532310 543505664 722973448 637006336 366392241 899385130 23605348 512912780 171768767 43775275 411007381 939685939 882227756 469096691 544063213 15473820 521931955 535519217 448816256 12086647 385994682 76184933 151669885 226626760 223948073 631380582 252927585 889055844 305962624 440278288 348462188 835051965 644898824 533649490 37736340 941831810 102008622 631279208 385354305 785998727 402679923 337246604 840848080 607075774 265492006 446749406 573853376 706640442 275449774 771501914 679085449 781237949 662406473 762741542 151623104 509093029 260359633 784316221 250827208 598033426 866297896 917254151 445335289 469057705 198903671 982981821 760414564 311525006 453590549 21273991 441470596 740658749 759464420 947552668 854512953 870000322 935118912 404033199 846226031 107255800 833771601 541654233 672259650 808790391 704861820 242890203 470945597 466725886 176616598 96327635 327845183 102194258 438845042 249594532 454497588 482509428 329531154 25487537 330278017 339149338 972791865 563772136 642862750 629519962 790053192 657480686 178342793 330939107 167624466 58932165 819704542 354035893 154358071 615554820 591415984 132852049 564056507 69016153 329878782 78490613 958968542 192090922 707986455 27008452 760989036 614748735 674659669 28961475 587803232 934457959 582051076 250177477 372748677 434459012 309016125 508638024 948749570 889436295 723300044 773462876 725947112 594909645 730387329 468652008 847184069 865481940 662020782 130890811 899276223 15319041 582887330 916217523 276669748 837600699 391303373 739076237 632647934 736088177 70583170 441421870 577352778 172311909 492830306 258748941 795107824 451999947 852015969 19384871 853385287 473983175 68317825 669526814 601736168 664342470 983347411 186799028 263997806 170442650 884730420 901451064 853010412 135115543 775000328 930927536 50848906 369793165 775558307 450405146 544358868 739894550 24218581 840967674 444467822 497019731 76046397 78863242 778872294 866625609 638894874 266104414 255670279 928440544 802400196 141106773 896229868 803944448 160907012 651179782 707372190 492698807 865239337 117101777 194858398 746041000 905610774 249477335 593114868 437139377 310969509 91079312 327124512 840591455 706325440 297310840 390067498 345700535 920225044 239438376 443331540 220527792 114160194 841920626 357719416 549726636 222289572 726563834 453626557 968820180 637610907 425546298 771999104 539509699 500408945 319404724 997158562 601589991 149307529 512671984 494337870 917889727 577568475 555387384 239752404 717639807 146149684 673591237 275296741 851808075 451154145 167381101 186260697 756814721 52706660 846557063 560034338 106110092 134399692 758244751 345318137 840784491 258203160 245782619 477083265 231230677 186857164 84329891 291982807 445425890 938283038 112751582 397944565 954821948 221396540 839881899 133674467 262475913 151100154 95772630 293077945 225874047 382153354 232630795 311596629 66255005 739231837 119365063 279589071 101520262 229132753 859250231 25364524 977892035 70108572 413088396 90600869 384145560 527714142 496791787 301467433 700512078 659870440 580185432 368966764 817419811 280839376 437453306 948193519 311192550 379599340 734794239 290338843 752448703 751810722 13448163 350930226 607453333 152639595 732014821 46386638 180228215 373949977 535618566 814494201 579185403 986232975 605883143 199673934 828466000 166517901 78920269 570275034 383547334 557790186 379313768 957217997 123206423 668713099 107387228 885359553 630409530 452812139 806745978 50759154 237698260 872017531 727317916 304757233 512094116 110373757 928198964 333091028 603928827 778268884 829840815 559641534 234136446 467695324 72443795 401041783 392121708 564525394 65986995 344987654 114889418 870268183 491144704 322094440 980628845 626546179 15488271 399838381 65798326 870593857 588455637 76898787 850291313 733332666 243791018 674912674 75499200 261437237 970572227 362337175 285027752 45938072 645613387 665435541 117288317 470377275 973972456 56828859 853200575 326688219 234746506 599422637 947250755 186383591 463879417 835867812 31640895 845186304 279486970 261838922 169636560 127910773 571978771 733948395 294601264 159476522 856819762 449494500 382921109 124903794 994653303 468863820 102604428 692033415 738237483 533510521 461609764 146142217 33805400 290944251 910069784 71957760 26745628 371775465 131143596 882644238 17584235 620565643 72516434 192923784 752688116 913443554 54244952 173325953 307550020 196597911 88132064 879299857 364810319 625615540 890231973 618853850 310427003 162210337 157032589 387412585 491811474 604400516 891651471 761096432 742851397 27117 310227513 686167843 877465609 244336936 853387604 419913802 186628788 177089545 127063270 353917052 150978274 747874 435017379 185672106 791358243 486328907 290242294 528704040 955314683 295733960 292139586 603511943 420792742 340578377 714904325 475727940 886341317 198779573 643039360 514151660 171818615 845253689 257136633 408638442 913551397 728756729 943004399 228442868 673957117 746016177 87393596 912371572 124929677 809656947 769370392 102637500 665845963 405422648 687039507 759300587 19254272 823184306 194172221 198223420 941301227 231785480 930405704 636204576 82785947 403548625 392176025 689266639 395672398 384734591 42192578 563571719 919859350 41653386 664329935 799032146 57668402 318848518 43945475 288363370 180643929 98713442 152190427 824174458 505168132 482253401 261754735 498402732 363473675 540256805 408631730 838222219 110161368 723390107 841795393 607962249 280131464 759693860 742122944 857659794 131957529 916212187 511971688 671763337 220202487 348876818 288028632 996723656 754952500 346557243 815810785 329560757 910638713 711110984 229524193 715970369 302920152 652610508 145939669 310452285 692990441 733600188 509063794 124705379 849881772 563259470 639458809 32830562 384571433 19551850 660385642 791180497 33418494 249215322 651711213 242273434 795753628 910419953 328229486 123955195 448895416 33111770 398382235 557251943 716692949 640952147 448148635 359695888 626587500 578820383 167989194 454721139 404215696 98678471 100379836 877652300 887694206 791140829 498511621 412211098 946797864 794297597 758074699 297264906 938394922 276048113 795057750 689536429 779042415 794969868 329341373 833357382 389235500 834581135 744070218 925708022 530154742 262751997 661209988 425938529 715509534 791323284 642306125 414732760 931097856 734863098 835072686 136362051 655900093 869621615 121351824 786220629 996815454 939803944 53443132 400976526 52289582 690794471 868355102 484031419 600138094 46188180 397858296 49246450 693798479 162980475 795116407 870536166 194340861 866346828 988772821 772803616 361192299 851113983 547298505 975439879 402875699 702911297 630731757 694522105 705525446 872296625 43847410 777048125 269531747 436391085 576985291 985532801 942373318 865105108 582081058 738380573 240897756 96510952 833897825 181251909 575081486 167323305 394787965 219872237 259897999 656319031 526527010 512824275 153299073 308323111 501418180 373901491 139720524 610785937 453464659 229020461 163978453 964692852 78771769 354035355 114759698 203360596 282869188 109262208 761616066 757214607 631972209 378764091 261476789 449924402 490257529 908904849 273344774 920141925 482602984 125747918 952081326 41760192 208157403 89563804 68442259 901821112 527593211 388098298 402273520 308261933 669611587 549044117 568088115 811171555 333543200 818278155 783756106 265446371 1228570 648559050 240985686 598495842 458300171 153597151 472077036 223634069 936089902 206090889 412398990 167682278 924386254 56256757 242105497 507073290 814083694 879003108 855229444 606229185 540009727 138053251 912238458 778573878 90133125 715423330 4225073 399797570 160527649 782311857 255904544 370428598 699928762 799575825 22616266 797454328 355961343 969644666 90870632 684398726 243970302 508640585 899638804 524225933 557551907 224588924 875826650 600458881 804012427 726986515 330737778 834087054 184414654 145675728 899567492 383818888 958800003 428695297 347608678 797735924 389125604 556383480 288578001 169433946 198318615 226979978 309858932 216235919 191610642 166033401 805727630 170305927 147670845 826669916 786779947 213658826 481237470 236221164 773452951 926123031 739024910 387471547 620860170 317974441 237760595 125289256 13266506 806148043 118806127 310843773 939065071 401644257 549129967 371098402 274330301 68370586 343762331 524747177 30333495 544252132 162715080 770574273 331921044 508446058 591388438 193384508 713305265 402385563 277731018 356223965 140908242 455241059 899425547 858709515 154249586 799348793 926510137 883105606 876089796 30424902 859949681 769769503 245150277 207002919 377373188 744441316 368907730 10444838 153384190 275486263 904750264 676339847 789186106 744843930 698263251 735813953 982672085 322805156 849571269 836070262 843978703 91785479 788906298 808475853 896502664 756790343 311238737 642291986 654379776 285012949 448416030 995370968 989193135 861654414 401340749 120759271 752393185 416488361 310863595 937687669 847502980 310309773 129799672 737392633 479665207 76212905 982529285 263616562 654077154 933208126 193778089 267705478 265104538 697521853 328493069 924104846 329363832 496529879 704904488 459576396 54537906 879481556 2968568 406947685 765388973 880352123 750314493 170959233 375677637 707554068 74498210 867788673 372696081 995655898 162654460 720145635 288415446 396702889 303156178 661119522 6444386 317610169 875796605 279152050 940371479 572512104 746153377 491294682 82036047 357754757 732701312 555968946 576622793 470980531 389282853 274402003 475732971 316715368 400615353 362421639 272601552 86133986 882447734 765350248 351386381 156737119 205014173 806567393 718887442 488861674 343647762 954379506 659769088 978356098 229742321 787577248 966201887 35543730 757690358 241505592 45183724 811004929 671290532 259700256 213301385 399445821 425625050 206810333 495576302 940256617 451811415 324389447 802965031 157195843 725129596 194863349 417756095 593758923 520931589 501663327 817254725 580786634 188012964 879986748 7918590 327342453 588649990 105236389 329550333 612051644 78082563 533728846 914482600 515048304 711172755 921577985 361848828 997254898 808646647 768276779 235861958 159195675 240643614 255386634 493636409 717908659 167612145 873328856 341248141 135620460 785249965 338392442 905063430 38696731 454661902 578781626 824583579 314287734 949559513 764111773 228990216 500918149 926985156 443440548 296152875 143712145 825491860 65888444 568108021 361581190 447143499 334591382 452788334 795326194 363821745 458589188 590346174 571360934 678742784 77736210 894633085 257072971 549392539 444698673 365108368 48807931 860346445 630636124 967867154 809665359 630420659 559613579 74734331 693371430 742837039 238510310 351794851 51679839 510565218 903344287 675005208 624971743 529038661 247192781 357352391 61631133 192172757 996431378 7875398 721479605 475710949 814113674 353876075 133910644 94970771 139046703 307609488 929962177 863792003 681316758 534570859 83221610 938725481 472078526 512931079 539195565 521348425 80452674 38488609 594150216 6107246 39901630 863097435 715111094 116079874 323338494 547425779 335214349 299559349 351939326 432779080 399320883 751213032 986921557 656866644 702284378 660851600 848178688 808865636 910891814 703205573 555993047 180903770 267003232 107473498 282878107 962326321 837653433 898280598 74494772 775128480 671038120 445437687 258583031 626786544 341147122 936514449 966445044 753762157 973139582 389352840 423373380 942147897 285050222 382974267 663177196 239329575 413514529 778354223 652966386 374510714 84155304 991857130 510251583 817361589 369439698 825655167 391256311 539470670 529861406 940599478 795276193 23879140 128958858 408720959 157480233 829498903 331946170 130475702 472004262 891054012 133315826 853430337 231884324 863469687 911070680 909550335 589474163 758725803 673853021 727158904 462523592 145168084 595196596 771775198 416631528 146222140 812803499 848232455 552720621 826540242 295043189 732855077 212823137 324461246 410914492 861361564 244929131 255815279 760068650 845914048 877263722 701759125 750239208 745568692 956180008 376800232 421921786 22268466 290912300 91874079 44481754 334438842 543324890 96969463 899103576 559462106 725036438 490784786 430784823 814655909 321480801 525478097 852938117 421903339 369960626 343091649 67891245 64233723 40261607 528420269 200106005 329233634 458751684 725559141 854589249 806011404 298653185 809931559 405217230 105258017 636002027 411141760 993626492 306715377 20652348 679624083 23295206 83167822 579226193 36868142 682502905 909239839 17656968 454026209 173285289 732845579 765575953 213285012 414674001 440241491 819085795 944593208 60449926 601946110 380363855 79934876 475836493 32019740 175168523 947007708 588768759 940265837 783973768 521106898 942989885 217796970 406409967 84217629 443913710 434142835 801484385 225171597 33903269 296615247 520079730 428273042 866289822 730444085 47104169 48731737 766299927 405287356 825324638 139244583 108893311 327484058 362952811 516278245 817516020 343089117 745181414 853349113 193031252 178809710 23932124 73027068 483929526 508863374 410464060 269012310 844615528 529382785 325205575 421169200 550792223 944181880 692920906 757275363 263852263 712975037 785870987 618541385 34448273 261150062 710706602 808258991 694940554 679310662 779496838 62492715 443774722 807973653 460297711 65118772 143072123 348800780 536499068 242976510 41315818 72497810 146371877 242628328 618173429 76116066 508544702 785648037 542854679 447149626 279419810 470335321 50700661 157142375 638552019 105361441 89796809 684852055 541893340 826889690 514108130 221942372 854844768 415971639 963606984 378772348 249528721 683411955 150178857 322262933 543704196 145018833 724630880 789736091 708499457 709787356 580414754 765421492 967631073 915864171 667299998 122491768 750341556 392833682 277368816 444016193 903216087 212650183 850933065 658038513 228139581 150002824 897395933 650931288 673018546 860498713 34203811 540318700 688530270 247880968 267813306 417121082 160203286 727372626 590456378 789941198 73477788 183040880 268257069 443654686 607472761 859747246 912043195 59176882 690236282 856608814 745929124 213772599 361421449 240343800 146986893 351535571 623335642 210896314 808184562 568216651 831486132 593349080 382317766 656606790 574107834 30271020 449261924 128333722 817251223 208944226 887858270 172366377 615779120 344851436 110629031 192884409 440044901 708883995 277209043 862523559 558607562 508701357 686096928 947742369 303661058 757654407 210345643 5694412 305977181 308748313 523011265 294246837 625809446 975604682 900511868 617586612 36085910 690665384 871107529 790536729 188888854 322696414 919459324 829709311 893182586 960357257 6890994 573225056 735650975 83529167 525656274 538631037 29180854 274677543 154349932 411133278 896674103 153386295 663406879 353912189 222909417 794828304 212753703 3293630 909703424 916130694 793613627 295245979 534332769 507023056 809524618 758257890 442022855 265976838 226630073 579543263 37084192 123084761 446356296 204465195 530959124 291747725 706787497 967424017 622634875 468004991 298125335 288462846 867619177 831542699 544138054 895818293 799554417 530186896 259605645 578719331 185466974 47408914 217972448 89705727 616692175 248812712 859300529 708553193 599940696 201174036 195166349 179123727 33907417 4738764 609950982 905413128 483827490 946711374 235473605 174820224 277976603 997976475 716246376 116451878 150087339 910390270 110798936 625761210 564153240 572463103 605655462 669241995 954891469 32335264 909913174 172192916 75652248 141407295 490113914 26976681 201282868 405498650 140199306 149838643 821908269 990644544 144829649 946230054 876943014 146126542 534585753 547886255 530153194 592986282 578450887 616785685 620254800 223285674 89101501 595868476 671705009 143874740 931970170 644518653 5731642 887364289 682834568 621757477 584426986 729846195 914893871 724311978 264355402 669204987 320139893 376344863 552290843 383338446 303604554 545324872 302145188 545519556 200070408 533446791 51572358 374807218 61766958 21427982 253665732 134517190 3738514 457945553 83790468 194648332 916061340 53136742 541109025 592497091 440809967 219622070 850690223 301041048 445881868 251667462 9148880 678266084 928854660 513855678 815975614 955515062 779157958 437701004 856665981 322130099 149546465 209293517 347263722 466361653 146835377 445574218 378597326 682400225 782894365 611481374 966014655 918550885 710540495 654412623 204487193 386272717 909557109 472963984 427612224 594997193 844496543 540259994 661904105 345712295 685077215 804516283 697477616 411187938 606989518 608377126 161339568 999218517 440647099 623346868 78423407 994625983 652097634 293770433 344160703 402109941 511710432 832644430 860606665 27934829 117043928 288134942 644061330 598058062 227116142 415348458 854637688 842454045 660579180 610119852 636383917 475303438 854176398 973947018 7575058 997035229 317105659 390638960 929141532 828168950 280517834 782120818 152916161 786532143 59996637 596413484 592132788 168167279 468535889 18018496 82909412 162931310 977803842 431753876 938523777 972245290 65461248 991916332 825703990 238784413 350971481 236231541 241250020 528765371 747270539 201476602 298748824 509016815 505520735 108831732 706295272 546699348 315245330 832971717 697649238 350324740 439600830 598905157 128558445 113923713 654167847 525625254 123485538 673808761 246081623 925387888 4964245 881968387 771609048 902914422 661067280 609015674 953275817 529081093 59245485 635693966 414493780 808000617 103184889 219793182 338954463 711232721 257649053 748832665 124469068 989183052 567722219 689010688 471520461 899797234 312128138 868837420 913393018 467596428 342921928 78739641 783301926 884743302 892383250 356195288 952548784 519840559 497339755 102006950 133027268 659591170 886094499 288009569 529614828 831142912 725392640 794707161 665524665 81945892 248453132 397100843 580107206 589772251 56337236 419544772 1252448 353298174 248365437 5727316 886102634 821293459 253793865 190442026 964691757 585167857 326454026 254277784 889725778 55537751 461074232 776144666 33920982 174337132 911458391 383611882 218627749 502561863 100246384 613213178 255965628 427845844 783854155 645388363 345803935 939552390 813132103 724943101 256751670 990040965 461193980 983676366 218016271 115933692 224157571 801504279 532869917 424233650 560609485 529474165 711067602 453597004 676263549 453593413 117245734 657743782 108413425 484320956 125472719 619362724 993548292 542070580 847751178 255176442 753196604 503106201 742186329 315432203 656589744 199594728 752503031 59363385 351327320 112483374 118941199 240414718 169853197 255835617 571581356 389963338 482785125 42042646 364594946 490801177 309203818 722368119 849054296 568075839 24961095 853259361 332219625 21082390 857936907 343490070 131116229 248195029 327375733 571731152 89959817 544911718 427946203 43962348 930343783 490491579 292424663 213106103 917801464 616356412 786638725 73196880 393035092 894631226 523190768 100110021 132318699 979639305 407377180 44982745 795347853 914104417 211342451 176375037 6913337 467877802 226801792 104198872 965460152 395396878 866649201 478269287 230730946 872417416 952242358 739675914 273263917 171787953 388567322 495936141 314661510 805262272 617512241 719514954 809803668 808904777 324892093 688210593 58372282 403258330 765586500 566774343 377353479 769659043 392283919 803155869 776078989 761072077 991239379 91665744 993515911 749502822 669438524 470245190 723276319 993712336 903434692 110561311 75124179 201380174 180506287 164387284 673746831 158271221 258291259 882162534 252341363 282678347 224151831 634656453 527273035 26207825 579617032 478179143 276224256 622015191 229340446 601880785 60750259 314456363 303523270 661690046 42572709 632365834 175208392 811410222 67965967 98956127 483234 193557701 412071103 231612206 654413669 99826647 201977130 791002404 543971512 790239734 711878435 885065320 296841665 818361872 289573278 508163490 317208716 312305513 730924403 212413667 941853193 855856408 687138252 717442387 827630611 25341388 578556508 936942874 963726501 530405314 539115029 323792195 455217902 915156567 515517296 794972588 58834219 524835727 837208228 74855486 630811103 700207600 655699801 744174801 370514583 880050728 315120245 804889807 398626928 526827193 36399658 212093408 356737985 307915714 596281352 417802629 978069907 450306908 583673389 171977215 54539457 536486281 714473539 680931767 282134024 473512660 191895110 689315525 237484561 680879226 739365060 26054562 119325297 139440229 84699272 175324109 523304822 953777520 309838527 18648722 818602673 666084476 100172899 303006685 424083722 130155784 341708303 707018753 969529757 267031212 548130293 136989068 797621144 394227369 81688100 595968850 720970662 369088588 738481910 911250602 648715416 215654432 333624744 761998140 144142766 689856774 620530454 219551939 939319584 676772953 906829834 732289372 819813773 267114661 858770549 734163933 425146597 909162020 102130099 756778623 813025944 853202942 704302492 305216627 508404300 142578989 321281902 649390493 320632393 95818716 396992721 853195557 549044196 549583282 860324090 67712655 583422731 540316382 177138236 844419090 970018524 58058572 480993022 724256729 106260856 511637028 192849875 853452208 340335164 981580534 347082850 393470076 115061077 887601452 500826463 101280312 605419502 771625694 303592197 786296208 179080688 187502967 363127559 475942535 976675352 875289411 302796847 794773006 294090053 231975476 503158193 834102245 362523158 327631593 231400974 45890833 52492577 906886951 620736662 957350789 972388347 277665818 333178676 43690891 42432182 101128798 33723477 31834683 219187977 201226666 216897695 779148316 242484619 735721912 961404169 228709818 906654825 455375627 687985030 564252445 641495170 162716105 675035670 36754070 506824871 277945628 708451847 644390706 4287460 134268573 907782715 155384998 921123746 525337755 815356256 408468627 600259345 887456578 832116643 892137577 437009539 49654346 292542292 305887831 112674389 427140710 360514549 410795906 144948888 145859299 773417785 373534975 756469275 614246633 90059498 388962554 250808841 782053709 310859377 584839475 980429036 838536722 174085480 776078258 417699902 987617733 527864156 425859715 985384638 488520143 360588695 830464506 506891203 526811298 804673414 683603512 309377192 492602225 847009415 485924876 101440015 694494602 874854336 340278591 789284148 628066576 548476441 136768512 925633862 540491562 427806548 363063947 85915064 460504948 751197591 365881570 962665756 167660097 871584747 729766525 888487101 882325730 926028460 682461007 15869889 22451130 261530470 748604513 981031044 465687343 987567672 713713578 99852016 730988219 225808972 28244064 849321307 480616004 220728026 109573702 950887157 12279294 749169469 896196886 722909309 678238676 34877635 169774480 474839349 223169996 646892747 979603985 438029716 314812417 453402465 49079009 463922491 786815000 270813190 663248261 470498220 564376351 704366700 848609479 728065392 887921984 45654084 697222261 832601754 426742801 529393448 547561891 217933633 591019525 817338377 517626206 503472286 276957588 429337455 439736735 316307856 341424237 135690306 988514226 829828219 410044072 996922826 829844276 798588435 297049035 45565179 637658756 312315805 510178305 965749448 902919941 930851239 901484512 831646591 776638292 961812684 387146750 548748993 48440672 73084492 839006258 241255293 933179338 579965513 971436865 72433139 430707091 962607887 821294683 73501804 800710254 786521806 616678917 414047397 980123749 459988445 436851434 381174880 855349225 164389570 375438259 931643960 978275423 730405347 113734548 652956780 142100549 972018968 526876234 202154015 537329406 805255558 905452202 118247186 285041586 869871777 983275501 933749840 714819698 569696288 79226818 584459447 869716238 895661801 5216236 235211092 409743426 638948104 360571278 474094121 676495640 337659337 207274008 904342990 223743736 5436328 699178494 278426447 311990676 895239390 172635322 584249370 280329572 41372307 50486577 819921614 136100059 148548698 812424316 840998056 161114021 899956037 712625051 116439002 671493512 80889387 83649294 998890290 782572831 835609298 496680362 215381444 652807880 212956959 198529561 566581706 464427379 491332650 702531257 958314681 8162590 349548800 336153326 143878128 235172130 934581324 924052221 659863772 303636283 73689347 771166047 250248437 900771052 754354003 446845671 667387968 270891903 54230866 260200328 327789094 779937129 835709347 438946898 140374054 52947424 685321247 672329990 678156582 485114248 11174253 218092344 993220210 984691129 839624164 330583537 240284698 423926255 596108418 689688369 297125745 298554196 617588591 199889722 723391506 977024485 810579622 444172394 389804957 440622928 488837913 280070140 885999708 305684139 851762648 463585947 701111463 524933705 333252217 660548005 352160138 364333113 161342026 302568474 86511250 6536114 56625676 52378094 239552801 982973068 850908490 741210898 697672616 837606491 635722494 158749860 615983560 311928754 841048544 614201085 659235317 762771954 942006771 730212260 636289898 130892585 886708538 50527657 469058946 763352454 871236190 457478322 534029767 286701542 590267921 121623218 240871652 184326632 418552406 766381250 154680136 310451609 102399089 572713679 310906559 991287922 495063171 202867148 932008963 412066907 38860935 115339997 642306708 766207979 953156600 108460462 874608622 98249971 722855268 967024807 830186791 453433261 358355634 740030553 733113852 307271224 21892982 701702856 850868497 506589977 321468606 14093266 139038810 71250984 757665365 262719771 992963605 400809349 861938156 249624639 639913142 253906554 369173125 609065171 22068845 194423421 909897439 713644896 712123749 1369044 724796106 878738088 714700260 173963951 866134116 409757460 444416728 939131718 730981208 170025826 717722081 110110005 527797119 506743388 966322593 72893936 403571674 392342516 732109709 96519273 180248124 60541165 327426473 643799215 283388506 662182080 336029718 832245171 450840532 812733372 5323235 132001832 528627142 713163648 62894217 60948363 537491602 626406426 621576928 982971850 166916963 590940906 811987714 710941893 625477604 325339098 369042977 602545548 101148753 311422653 268030716 440546007 26864922 632268307 788169743 309374353 243989643 695290296 732154116 733322186 159406274 55291716 387256657 822813932 647088001 674305511 214563986 837771833 526874946 384614299 572124581 285268648 298892137 664533265 590735983 312628272 903455839 39919229 502400271 378891153 332050849 565966337 815026552 56939896 207040160 670471114 437477347 333658035 429114519 808517414 32393545 382303965 806434639 481386991 791940904 572145023 386657842 405972455 260928502 369188602 781637073 232308687 654753621 798480475 949111292 56030582 896954953 687234080 425659908 852414377 733516488 365772478 282081906 472066598 592085257 408396367 465786401 669759452 684951008 138442008 490587085 754249433 116485728 142094543 280468887 668680428 24354724 851019397 184446998 806565553 268374679 281583319 209389733 329696641 432903837 675490694 533179742 341774993 319415156 83974472 414263197 246873926 182707105 931887256 948765927 504658009 334270097 899659508 505468716 279567521 689337814 141073661 474932769 158977511 75332193 993772872 427706021 94077675 395293229 613475741 283643264 661340693 602979007 326839881 945260904 783308154 368757400 952617090 436421179 858943616 574581087 420858186 351699697 552191929 200992839 314292214 956805326 414063619 324627535 524729330 533372604 924227067 799624678 296009459 828274816 174634109 654321824 208889687 409064926 779632132 303420716 671743973 352214151 920567747 473684723 271394059 306538915 917378109 704347722 525819715 874718486 86354640 294021662 910331689 548461371 303558833 193473325 68367868 896730912 119517768 254171391 40655866 796478961 445073899 165349560 517089951 685637239 160760274 377871154 833142310 739687047 617231407 196391542 412945798 6084525 188384907 120880647 120736423 486727332 124469619 102430531 379985973 995137599 458351791 468730221 130208437 11641588 509393224 376900048 506856803 963237226 297641625 260059169 733183387 344056211 54871369 398208184 341928884 105378918 55506957 684455842 940080435 345646255 281801744 975456745 557224064 896187759 795541406 762746262 95584594 235860004 129029734 764605582 623992221 834326735 967520393 996698982 778835423 996095625 593480519 834899971 339246595 193813579 538205012 532456625 355248803 651117512 781865284 134009638 748461532 111307590 203036560 903428846 646875628 716612960 507120409 455320359 980758848 747837446 886036663 97459640 330752372 967848062 584199961 983772233 888219271 906848495 441584025 322213411 895652045 695556320 219499889 489812093 598084754 504234829 561016762 493577116 998694 448201128 167549026 350063371 26733988 960296690 81714280 280163007 686817468 792263022 678757846 123557319 274339839 969853449 795790627 935230794 858904816 529595095 598387065 584868537 936257657 233835364 538835344 802278700 813004294 946352213 981735473 699699071 462912154 728162850 544036777 326358056 341653756 990513499 80376271 853858416 989420717 544787233 529455640 887280442 659806492 725733318 876908558 789011858 835678535 500439859 904020138 248715787 494509181 431766581 59216375 947700719 431141470 839454548 909281622 162842575 941026442 523911536 819111796 355740486 776300848 788057869 406109353 199486463 116135360 974008171 742769833 18408842 626777174 851490424 10581396 827596680 622254645 783643200 36242212 851846790 423710818 319022611 358370514 221924184 152892643 396665398 286195942 182917573 892700621 89670687 803906910 951006920 609003509 816659693 840722872 796615564 750256619 120286133 680869217 538144646 756728502 662612315 464340280 594852789 28687116 717839281 546223163 286548154 659692054 618563345 164985100 246208976 410296369 932574147 513382044 237395656 100658966 440840985 866860338 764673625 506536050 760852516 723565192 757020839 345787912 674858947 698331030 222146496 209572258 939606274 240517593 353454343 342550218 334250562 341470940 779083245 429662634 771427409 255253847 608437400 676620710 67478276 198704684 339553818 265808210 79332256 675323513 743649134 507417167 397431040 36717960 226663177 156255073 811675425 204925426 408563632 118788400 473613941 730300328 689804700 829770794 528032900 431087488 94100158 276931702 621343504 158817433 577521238 448557281 863847583 469249133 58364270 18257376 703227709 176841586 289959376 978574592 428672305 868725486 602261906 366897671 546299358 782220102 69743090 467823587 188983871 84828577 904584869 116041983 725229962 843258291 606182492 265880488 485221444 401723575 946292953 840186590 822948547 803603946 482723649 104102250 143246593 446046348 934275759 877530462 623657210 827479098 407557303 682157288 628442890 513700313 112322529 891951568 959243392 826314775 289892136 66749889 145556206 731408897 29900149 439081281 245289411 557719814 190622393 334012996 694386735 109553283 192373645 717426272 508713310 629733418 178627298 401684291 990029549 939105872 458672674 573892321 889076872 47010758 30506849 708581429 35978781 159926426 797176005 970402967 269586394 117140369 323595287 712232620 935969187 809475155 159655441 587577239 412477384 33256094 914587945 118384226 590791028 846034477 146640827 408088314 778218697 980082231 337001041 804517779 658437743 479427747 940071909 910634628 305525849 47693492 287987214 455689229 349680986 5870422 595791552 166580281 735062754 939822413 907065351 377693518 578189775 807448744 272033047 122916722 716347018 49269633 801738649 586594721 177883136 972324207 464950035 568218829 895295115 172015781 519054905 702672240 355387018 190070287 243846677 44863640 672160412 86248925 931364559 198169215 89577180 478400174 940825260 535391820 796374685 749935259 890361678 741008887 756212341 221442576 94080360 923112038 478404689 597542543 490582164 314727094 395296131 240238804 33865032 721138762 220778197 179851203 851593685 30297167 103750529 701624574 95900721 173574101 61348440 720152396 147396421 721717915 853364969 115413054 488708079 774826606 652876893 804314588 31989606 323915575 278329554 666589773 993063757 170296581 9725842 505892953 423733679 253088850 402574473 771645332 17455838 629444933 800673083 580280606 7877147 9230798 618400743 647659428 709466669 832505491 727220401 548552115 351840395 430970326 118534297 946074307 861448611 290513534 476892708 3229275 750958527 67529647 172188479 673900250 708267105 35889858 616978424 578812752 98793028 934317948 451438618 971094115 433160821 499886583 765289535 611796989 856493633 385456801 444721530 690974454 818638805 938431418 652933301 961542609 950537442 928459248 260302433 401568312 237109241 489685318 533468459 92331657 708364581 940962820 952694924 376518121 373081330 385476046 976962733 952063869 510740453 831155103 905535211 539459890 827598726 638480608 704355174 1052402 812528603 344315702 541112567 355698187 452216353 762305957 447826763 716738737 706087019 982740238 954977773 11898059 107743619 812371104 10744857 736932553 89306776 273086432 448204160 963983696 360486808 875087621 649907301 788094691 632867732 428860037 926864608 672379086 957306966 873381509 699008022 701093317 394274651 401637031 320993933 235645956 941348322 383749939 714389443 858500656 763418640 527509493 413150623 52262487 991768473 335399085 797460459 511421956 301921429 399944531 983318377 437148920 489352164 613373752 247775386 466729581 198321993 800569653 455184815 779386661 981700917 570991330 315218074 279551540 176723169 386569281 321433119 986068665 220523538 835703815 740992692 656402797 835438356 352556957 591820204 461509696 330424381 804180082 203533263 332875947 567992706 504632396 336614468 111402033 698767319 48525029 674770389 950629227 95881123 515789014 708696998 525097918 18761861 799319931 387541141 971274438 139828894 950144661 673648297 969892972 350242736 624387150 610194002 477752050 716926013 104300436 220554373 8881150 445423974 627083965 795126135 776686641 645393692 695776274 925019322 914066335 258699497 768132356 708245531 407591310 527265167 757707126 894153011 642323621 429159783 248569791 584980587 379274389 484835574 446452161 111410049 705783044 360449576 175752819 161474083 672142152 831062499 128814213 104802166 892924774 676151275 89142307 604660252 416586785 994312523 753801003 405995555 333462392 447243152 483795816 515519285 67321000 951317750 335915440 889707908 143118492 852579241 18414061 688794851 523272630 13453933 152275257 374193114 244067034 9831864 496639304 961962972 540965434 744955804 815146265 436714526 44335515 651214677 362824128 744972766 881941831 922381026 410066328 838280866 91723455 740375103 81127217 491696554 994852470 750499322 444387305 759896119 198610176 244160198 349717747 923616964 124993547 650266316 597249360 985360348 105993953 630966600 735142184 277679425 297762448 304255889 586583879 607619562 110245639 732294350 652640313 5668225 480948154 486844274 834267904 931773732 290640345 554824068 228539396 866180556 83899856 135295801 688118338 1524177 169041411 843068387 631810784 598741377 875516608 801422235 811733468 170270132 947123440 131562681 608027136 417432347 433110970 23523368 17952799 71844850 413398364 182605607 511865633 506978262 920018626 852629505 392065361 914152536 43974416 702080876 92973166 598438985 804501270 356619064 825029388 608452787 887369694 896824904 801713019 380294156 623780984 357464691 369316198 943269564 504233874 339961109 186553992 648025853 719795312 858612394 576830950 311592825 553089566 900962264 512389923 728726516 307248541 887074745 773603493 929097339 853066565 537406874 584637831 865923489 870945168 554395550 773256475 491883743 787041656 2036185 736764155 862337287 344472529 641265863 803170775 990992492 520138751 124632026 602270120 181151456 813253488 540793892 404940901 187455685 462665046 404756573 21749976 101451788 204142747 714347202 265901560 18045279 232781901 100382276 813708853 929877555 752540922 84564829 121670770 528234947 976183204 14738105 551498356 603644362 623934481 710868765 991932040 23320705 129973391 176833663 879053044 27733170 901225148 42349954 56828455 199696500 121171077 852710728 987405917 13150688 206089626 640168718 639708229 668598611 654576217 856856224 631965572 475993363 282848573 197217425 958729593 115201059 317817947 777287629 934305111 4372808 327022971 654283838 355837908 662656515 577473256 144373522 315353557 163018841 43749372 554501035 227705987 479587837 673601468 367083585 81562140 257458035 80201633 333317941 937474891 777536713 53816090 766657579 796208825 689914485 196154473 584902464 127281385 961125077 439625599 221593525 518859067 92190359 403263491 829920228 117680516 577323159 238799262 498621196 32677460 696975541 575272579 784405633 942210157 750542062 432072299 396902788 278470979 464530503 913345301 148452953 431100854 441432769 40554368 146197720 374883729 639071424 176802893 959742228 56363945 585282762 973002224 82101611 269202179 210577082 178431896 662833978 108733151 906958492 799740378 678027026 593846787 878793084 922482962 998615162 787334010 797748792 829572557 612532411 831313431 335031969 819947817 305034600 930584808 698073691 972088141 884941419 358260007 622044336 167072259 653203686 213018188 419255807 228959850 614106210 273799188 682519663 644285343 209377046 784759549 542649760 766908557 3387877 31020221 882037403 418183879 617576311 527873169 799457126 314003594 826720605 840172484 220342825 233244626 326995617 40659578 450248791 245013699 565122009 898250627 664749060 325516953 126902663 412762874 96871781 235120610 591683955 55479597 241119129 821717440 737781500 889655252 828176398 787962511 22011905 3510710 338558220 607047808 83283555 487866392 159583519 755623619 847677241 294289290 715726629 673388432 123573518 5433310 198590701 102336011 128266814 928965280 975937480 778329901 717105652 215141127 972854977 432296252 48859160 209592601 222252719 679839088 837426084 562547124 737412307 349118655 319046240 431212573 672989632 511646687 851784571 759365328 794221735 843985709 920549276 854760938 337060327 556558474 521174049 98439815 649109191 230750579 127873810 440162022 616131442 141094739 163640685 779440649 537599185 380479626 53460744 783829117 836743327 417477342 924915981 967288034 939410529 30734599 387138476 531152152 614734665 764368544 613976881 94403762 272098289 917898269 634371309 555990427 777562471 486370566 680116360 894561281 795095162 373273695 609059658 858295761 627032290 13094727 729413268 148458413 239068992 377313610 579230903 402831595 264670404 58515445 312205964 354374652 836336805 782779819 722820032 826272405 979676187 454541161 712211892 168131581 454062823 321493249 227563959 967842979 751136831 111076302 315800032 251278149 649953356 227798757 893101956 224014801 260955788 103806721 353176685 689166782 621848955 565031114 62889855 289494536 398012647 313557286 298025247 165513528 198924425 345774357 39144531 789207199 330035436 782531376 973513147 547427125 333899052 288161919 36975792 566959347 61693546 797787321 214367127 447440887 925674561 825343649 869268251 766788483 525381314 647524253 307337573 104452774 516236856 696402979 372502657 403895152 519155006 647200913 565919293 221460286 414360505 257222273 954838688 518564245 219110363 647677366 664673541 345003532 604055905 342661601 581512036 39072377 857223330 45734636 46713879 918198309 328707109 836716715 364678967 28669831 56545414 911740317 564659349 37673260 57436098 39557285 371899920 823912787 614168112 839071627 842315158 24971255 603006010 301043511 299975511 357999158 338724407 646934972 938067432 717484040 201576235 835812229 892091269 713765251 938268941 736964575 98809901 108808185 994778282 25318843 348736075 451030241 512541053 994095139 454560016 909093575 131500094 747711128 993083410 955443072 119030978 773134659 996943466 816654309 885829447 277802372 384098387 247502078 188075577 537662458 870123942 94270213 584742037 299539401 61173741 532415052 954259491 575994223 822369883 394261507 5951059 126572919 547042604 354791119 63811946 823139644 788294859 41755698 570981696 298740756 62372208 352924072 306229513 960487911 388291892 330652723 862126840 670310976 522191478 278870004 8951135 391862922 683150120 701072382 713816221 312787479 209803827 387606249 928731155 902433271 175118805 902643254 732700164 788161909 427755658 970841956 834672314 986642352 146555114 10564440 180593019 500873477 796309245 234014673 86748401 502517127 79195222 843930803 941736283 5601290 832772912 521985866 416778540 373041588 930652572 42836084 132982069 906277890 747751889 951983237 484045313 519180756 295587115 543723772 112016075 249739522 702561183 204350099 958915070 765479851 673722217 739317489 227390787 735243871 335100712 770541547 23105624 951520066 914845862 277422990 584487595 248532423 627188925 42243814 650067435 775123094 494103084 924937301 478822432 662968670 621549309 511484909 475830272 941314082 472291261 275863170 953949620 765233054 411464926 187275737 343246038 1252442 655776437 978750534 635875440 795342954 599179645 999860238 783828246 273879662 537885306 800840152 128871747 953778063 512123182 725699960 588841148 23182906 765261793 557347379 16442539 110782087 91336842 623818150 665452859 333343033 802302410 66407538 591519060 979143713 847002084 639592982 233584340 232126616 643927847 324989842 511023111 181205390 227718836 8247554 203759819 929329106 860480925 789377818 48845229 863314650 463495640 959542738 166385590 964992885 115498420 648008479 43857476 774512867 58881905 481106883 572286855 348195036 568696662 175237423 8154372 188515657 824830365 788717575 226850307 893293039 641382449 431937707 426575606 900826664 307685652 949592870 832957004 359762725 377412439 495620778 151606609 357081522 374557598 15877320 24534073 540614563 37743460 606310970 861897600 387295572 843734941 449123869 379840781 479592198 967055544 482458010 706470330 518800749 45943475 7900258 849984741 496413207 310185205 955761921 131676664 430580941 575374362 664107421 850323033 333864078 889355517 194753904 841197262 146428420 937160128 171263439 595864518 102194534 672123818 831246658 730314823 901293661 179667488 595735234 244160162 416849074 102639948 62466280 669365164 860005352 135202794 998909416 211751040 843214848 738349756 791374548 708663204 937856358 996269582 241538596 445030800 462256046 94118035 694048615 459009693 911219055 195104824 592106229 51245214 268091456 791849034 798340166 443640777 558352157 90917298 210194999 994038998 623698121 551400757 365262608 919580155 873476893 713068257 121631748 669697221 413697634 615261027 405228510 202844660 629444878 871119457 211733278 561152327 56005275 7102177 475489208 886098846 186656471 596218712 679181074 896463588 207086560 692555132 504689632 424789793 421978810 170218510 764163964 728268207 86049068 546006068 56441576 693950234 274439234 975022964 169853145 628075479 414758240 341305058 325048107 419700656 676079359 748353729 445563244 808337681 74281399 372899523 713333073 850166817 469743928 546046799 611282515 375301687 201130178 778069961 64912493 60587210 9992402 200167056 879661398 629180076 677744772 681043619 809859651 767084812 563337632 151601716 185291281 13780644 698235294 521984523 343964474 335209263 732081630 913320507 27911968 405645374 807600499 241840225 792233704 885380240 563921693 533137970 960597419 748523778 138323991 484350556 775988159 538901307 841754835 714786363 506859213 203798327 278741861 16167687 440468352 463329016 618292723 169389035 848238697 201748615 301457311 721846691 282874324 409355588 658524326 219464606 179001224 692477037 596177670 331164353 9293638 453544385 695409193 275773957 469300847 252039647 79532609 706936802 454900421 723517960 607545506 106161919 46281671 516136305 516387042 69027680 789267223 513558076 976942015 881884224 543258928 199659173 188465985 288348587 588707452 119442710 639217942 239686278 880712239 856126796 265496000 905060683 45022985 796647544 744207662 11300974 313542723 103242280 800944484 940006591 706585671 736235717 370611650 497452803 545143809 613474798 599055098 503439672 89095067 634469882 249686251 693331932 125633275 871101485 850874260 69516487 444239789 402961084 128696814 870364016 428222300 362939716 243942846 492890468 430527160 466084481 61117935 111370374 564671709 44692138 707829040 443531570 50679630 603712920 13364191 713815812 839116281 875298388 351015513 735933915 155259572 220954043 203724333 771620593 148597549 345610688 151438348 381704845 888808114 442478012 75041073 150425570 617478624 29687266 35174785 646601309 545518913 417062062 438942342 490099712 101532644 784090155 424083779 390548204 176153166 498836004 886028650 966769887 992552062 879217161 258725361 148797061 91061244 233912433 502226138 431599928 577707449 890809472 945159860 318195564 651329295 619758001 126110963 203887593 604888491 62320228 14653804 647549316 725407881 240087583 784471528 391290093 57343697 663322200 843206567 141980430 277101165 992294441 997942749 580053935 599937250 766161321 480076345 518542666 232281465 223543121 278906189 647953206 147719217 815596933 171098197 220412327 35050076 341180435 794728631 801509440 346234245 528441680 910468602 441988079 207994179 586431120 45212360 365783605 980625252 803920241 204027804 449170588 943243348 387364176 216897828 186049232 758921221 711021276 939807956 289814031 379690223 64499951 325231999 288181245 802549218 994332310 197639980 928414984 571898867 599649616 792009109 326119501 309334084 425078942 761142414 558451509 269412767 189187350 55682409 66623498 522854878 244179181 282398405 114192676 977863169 33203467 110228143 431477757 625747335 408344745 501730417 944211104 567122406 784786378 612462358 758033387 773057910 790194014 41336776 313135127 839231669 45222702 931043503 32577820 107913640 281246609 537704874 515219003 533780286 203601127 613658858 409213018 86233502 674614072 571253409 879705421 167848313 817775620 220687793 843262576 210788630 383548282 221977050 591073814 608936393 433770255 36525972 550929647 718412918 470857212 510970846 195358587 635391175 778268913 688910790 718606674 671914202 746758089 276246530 269283131 121009891 919332065 413224360 390533641 531422180 697962235 679070438 422911165 917176826 686442166 815252985 589929725 449211868 939310804 928786635 674938962 193584865 607533419 639701522 43047217 882127547 483666146 940398812 136004580 85383622 919496927 632354813 718893866 290035280 28971086 440575949 891623896 63326443 995505628 252373045 736793646 834158489 799025748 202276558 760912174 389352347 46414868 359115210 860352693 964895125 475219047 19672397 800668131 608674530 86636213 206859417 586846968 74626397 92323596 736100551 125376965 127818126 970222630 704139242 471335082 668555049 76050750 870934632 873693108 872682393 92452038 285706967 42783477 417945638 680718800 822341097 846081839 372105566 261113479 362186265 883488361 81415885 675164980 842432004 969247133 367628865 733190694 284870977 951301883 822831191 190288903 810361345 882531229 699255172 664147169 460640081 462272006 497246946 648726272 568166412 513166701 438766265 884858857 849768138 638502337 952492124 668744268 521791515 172294855 866849652 633339309 521607413 834989374 803780084 506947548 337361013 580924783 800481253 955242603 493813608 727847440 929399441 739264385 391143729 705649802 6385930 482161061 98142948 138976375 823555003 399496962 109103456 858812258 809490516 370338889 860414416 552069793 623005016 794861934 641118282 280972055 211863589 830229843 796307259 868923020 8013806 809181573 59458018 778330151 656154259 753130034 584156308 687052381 691039641 278027962 51391643 261546819 274999616 612279445 600978794 273015678 941226755 832763045 900227241 356589136 278364667 796105026 266939530 98807019 504707086 109328582 185648504 606434267 453493036 703821523 842218938 260179144 127442939 523972133 83184646 347773564 511145628 350179797 629047926 487913049 862060065 832175088 351840665 604839880 536799654 920658762 512767965 664575083 248255213 891530505 423025062 264017870 460606033 400075744 670650966 177056316 821683685 558200377 673721288 367374969 387310318 722627123 253887106 306787802 430498970 474502215 663791068 186104005 435717580 211957902 472557768 20215050 698354854 871755099 217725543 752242549 466276176 747004416 179292848 551097265 630417023 553118626 677532825 405274358 953489603 248640553 543446270 380765030 96736660 147031774 700339983 609383324 901306502 279072746 403248822 330620154 386356499 306719003 855775307 112729486 858072175 835538916 306901121 258818422 227646116 942967177 244611439 579760873 336818848 915207117 317514270 56921320 958186545 496845847 261105305 552159954 777813327 344360261 860848038 823314340 601332911 693522891 749272435 287300784 982955259 913235397 317955849 609149668 754185327 699533758 172107704 170008429 425612092 810393708 738993684 685649121 897900954 933004849 674819541 532031180 342242382 124485653 891511439 56045170 345594611 566351475 739567057 776315306 45948946 372158427 821199875 514728646 576517583 678228487 254873057 475859565 219917511 807018952 254155543 238334265 256771217 374758050 435311964 92959165 813925910 351913832 461355266 374274278 458701679 290850741 702927399 377819399 608221074 675854779 456740058 988764491 471923771 362511804 224014137 145689719 116397093 555332912 243495564 933041644 428055461 670698828 779245624 459881005 71838672 611437396 295719700 203106834 411159194 757281846 68852116 242538357 619274654 597510628 823365393 520105854 82702727 164524827 648419524 459650315 500904464 171295999 485068176 648366307 818692997 351890491 899492094 195904726 633470215 987438683 220413836 958350277 418467930 485898464 859332935 80993972 258711030 528645975 769574779 458838262 296976802 551743247 935706536 431367387 1825642 308753058 617015118 536933894 614230085 747666824 80300020 696270656 562120841 19977208 17062030 771249248 348816709 420950462 281629705 861630923 246735870 899328571 604039407 877673330 420115777 346420790 597428849 919688359 108634800 593669963 217042483 884077529 567959741 934740023 832418757 705141699 84983204 953417308 380296002 593944972 112031333 669854638 659892794 566077437 972520159 787099819 834906699 153326351 343146100 161575970 691950027 147827838 168663308 669433241 659912900 25120310 540237961 432877933 504197360 898744208 885971132 310857900 274021059 830559326 25256482 999386983 135280513 129422079 443614359 973367049 548517194 813240122 542251617 413242389 274417343 858104862 365394665 310575219 77548829 941380173 547691919 864735685 326722467 43303777 301956582 367164260 615930394 504112613 727910218 912525306 518236631 577551207 86802944 771760630 685834206 471042690 580963306 375458409 199282888 767507098 712147771 952505073 423679651 276621253 283818426 459404901 114330199 575009033 346828083 582899500 678529349 17963345 723287875 636674280 780462942 306678812 584030375 618941844 735587566 712475164 693033139 647878823 83244851 701244754 263536455 840268920 885843814 789465176 42197799 454846701 474139237 168664571 72864566 87898888 359191424 816785772 353726582 325867045 904896049 195303003 226478635 444277516 742980706 321026754 548915107 579068567 926637208 381903156 661051455 110773387 474418819 12123128 230572180 559569631 862753874 975306368 41750480 828668913 523640946 283789369 689868793 230289369 744672597 179063888 548031469 664262333 788026232 669309427 356925280 229436227 472137802 569210861 253501352 725499355 885818507 40926949 881993601 514919274 268089506 919712085 382043418 392145856 33458463 655773591 766200804 718449191 232944887 592174500 170461879 449794960 25286727 348180868 17244484 286578811 200112500 23613418 698788234 34758155 299872656 932813339 524850125 243060287 680264521 666777585 219675303 181198416 609266372 954315501 45770036 797641102 5287513 575781883 470441987 321893668 851670897 357170342 45426074 428780160 764378043 87230865 238859773 895952704 91009883 32263854 187179843 561782454 109202365 138661550 445678310 641125526 948881194 675293894 173948557 978484318 819120299 425549347 921301370 702290948 318601066 36258951 775026023 914432680 389565707 670149642 732373889 133746532 181703187 900571019 136625326 508668607 983619696 644696449 158172165 813014716 869590920 843104281 430764991 801472664 149109269 797175108 208108887 19543197 199620403 444504225 119260746 251684650 203622522 741309380 710856128 921083578 321958312 345728960 949967223 611105928 619227907 236959785 338522120 153899081 840456142 465235890 814399508 696651275 656088920 742066049 72973400 207805700 190243796 198098981 661127191 798953924 617510067 57409626 655295007 788330096 396275616 165209703 817190551 767943632 801055355 250302125 791993452 211112540 384567570 711754346 390492094 60268198 998601328 756769326 28856186 273472270 869987304 226229731 97885410 972487954 236142890 171889661 728650345 812652450 695325427 83283205 880207049 310966515 715020291 690653171 993520468 835582739 79010690 934352095 164490759 529414841 114266389 585062024 109651690 435810462 617461056 101358154 739972757 811144055 690597902 794807478 140465152 518738304 838428519 642398146 116150896 283803890 928745031 698287935 16627103 903355525 657532561 669270823 942469383 790679423 164538001 540263087 642208312 474512170 329273017 575563204 460773118 955690917 911428646 784903449 402446123 424803181 749059320 990302436 659852320 327693907 115873446 171978806 435024958 128863789 268038496 227361741 805198736 824045349 435432727 448391221 401006079 92606017 503668395 105223950 876520622 929302785 273231421 246319772 837383699 913885329 414022229 914821780 93242751 50257764 743911369 39022991 188346528 861831636 547532191 926422367 240957085 776879932 106609336 865204495 991883565 590273919 229247872 710641652 347854679 170388700 465940957 116733470 94397522 74914162 147432769 589693046 650844679 108789318 149129809 570446610 787346033 18704463 596499379 229352416 717013044 870256650 318950653 440780223 362214060 613636294 71972619 93684859 329121354 128224850 930372957 951210841 49947817 999728044 385126391 480021445 465685045 387364525 22421860 700333029 78513062 909283691 202452863 908208053 955515175 907283025 178783751 388673475 686925350 661941366 737380842 569156471 125959259 459573662 146410680 807827920 36971834 356083390 270783758 826792381 65943992 259902304 993607938 240985582 555442436 265737758 482068975 637205901 989397531 18663069 932966551 249411508 912188505 203349508 734918053 51056957 219283967 710322563 153495349 593834817 152023353 245707587 415528218 660389426 945912399 713346418 443468512 576859983 625698797 970258371 37735696 315715237 684300462 774293582 568573484 871196807 517902656 23950629 909366801 451599201 437719451 876508895 642918479 193457544 97816633 159212188 397555588 821808634 549329607 76231151 776424114 587191217 957416293 548917602 444542954 178581755 594611990 76771225 958677022 415016040 561038427 646729455 941463031 688228162 198884220 516947208 94082327 65664510 684633803 940676755 848746345 942017791 941556549 327808849 187878117 307040230 733258684 909506154 185142473 469361330 742583627 887716119 723105592 156396784 350015064 713684185 847452466 615303926 696239123 809738042 769482087 377781167 356150738 943368773 862016505 984926680 427423721 410573292 367522157 532386705 653330638 143593406 427338339 268938332 4316251 764024064 738772000 325049591 667661077 436245420 574438704 276085598 770155370 477096249 278874158 629684974 515645488 904490646 815370866 509038122 298552577 855913076 492709154 87957140 262644611 886257230 322733273 536360060 550766212 566282810 495214352 625857430 368588788 590014368 434459954 993516453 950070627 769703716 938565588 75710996 794599461 795154257 119580144 138313758 569925967 547736219 764386235 708217199 343234512 497053393 399009933 477420497 792493380 437433140 553670142 868598137 18283563 363869503 54807520 116865911 577692026 201599159 231647871 238411037 662336588 951407779 75037135 304024458 390777749 338774655 729510383 155001002 347575562 48949960 999872166 649497817 513466857 835815735 65824238 94311901 49294081 165730707 570245993 925844604 20371362 669294112 732600024 973007655 549101479 144475291 617270734 297330455 659716183 617504908 13724933 966795317 39242412 311252473 348739189 303365447 100395667 277689146 104334868 439442253 18319524 711165647 938749015 246948473 259211063 256202802 210064763 394493955 491212774 135156543 475229188 397761588 730543930 547968928 544661856 34684777 5414320 476113018 465568548 204742986 39999242 843790883 829809501 789722856 931388914 449472056 101131680 750276726 807667376 79231470 210457788 724954284 690123504 610796538 92063290 466245310 560579683 476242916 609484931 475153676 493689712 32570276 358410127 843716845 986561329 664188367 9169337 786824495 3419851 643670869 804418022 442832575 793389300 219391767 839131826 679294980 967239731 938649048 186044522 699959881 768014769 645856074 219678729 728179715 42433101 889361402 706684130 915663552 724734300 698060300 226867419 5166651 349251698 33801346 907087670 461671243 424936563 596187895 691609615 447480542 535704840 450012939 866914919 116679475 610955016 390627845 169175074 222737725 58666054 527952632 556465759 909722168 693923754 441794329 530357391 706433962 740388629 99067713 458065050 546020203 776795634 663919696 29606309 554195741 301388232 725831929 295228341 311151574 811294152 821219978 247611787 665651900 285561177 632974485 945841910 186224716 780346533 919088491 944909219 590180495 693796131 944136348 836351059 389980538 577409664 403970545 625416036 367886860 619415137 418716657 780606580 856760603 565177759 845176068 343980530 257320461 75107855 355834222 827882268 48533968 197080605 756144697 572480231 586081782 819304857 420677233 356473136 502473333 516208960 382022163 601035232 296797003 402910009 705124975 640582385 257523481 778779447 620575931 721644522 765845228 216171607 381734153 382906848 901479697 413260332 981154459 834121064 930955626 204951300 18543373 822840085 341910873 608201078 168028299 85274467 906288237 600756284 259184867 110070457 115460772 79917738 574555990 847906273 362145461 408563242 150945490 996323436 308168953 527155264 366360718 13332222 904584248 40966562 691599165 215116228 71967059 917759765 983057440 697197812 299436697 906570839 663811093 916069283 76415700 15966735 459032490 704568941 898798714 238296225 922649220 985846190 119901157 436954825 692737424 838185105 465050739 102252250 101491532 467883896 655166626 887486638 998504440 708886049 627744931 265624282 396426088 561227491 427817588 197702721 787757470 482113848 271700220 949242465 933126903 671630988 800119568 735492878 176483099 812187019 545659893 30283108 713197503 448233010 747999685 659680688 542647649 959282766 141446364 513488396 795378635 829585174 704034166 789797404 800542651 230550871 332015556 566514282 700712899 350618966 466537003 533960115 921383232 191492953 731316473 323249091 470478036 471189386 767323658 201963212 681102661 206790023 902739979 908696808 684739701 321973026 650887197 596902353 36983896 659672228 551045466 187535421 588783420 966372815 74557721 996497142 709787810 415508336 806342065 559039802 112315387 872077146 674450288 438669126 36900381 850339407 967630518 245902879 479019407 907858479 522890670 784956494 413657667 595456330 834062419 337797964 246621727 826043128 480371197 85885667 197693915 63123034 99800381 484129728 39894353 132037881 231448742 175073628 46601388 97974805 103057130 46787881 634359184 16999504 324209297 818436380 431366217 725698216 634401700 443831355 867760725 249895242 330112617 277995812 989818883 509729508 866964616 440440544 795235053 825045430 859281748 579582062 633170949 576292807 741471306 871061943 797742783 562861107 151657590 432632987 756652826 218057319 734958353 428480655 252669810 361454837 882570925 250851670 261478191 380900156 207526500 122527034 540769610 948712515 541530902 150668194 826560236 490553696 793051966 796725318 164567064 486374153 749393437 281666339 497678723 971623114 487851431 439912221 754113934 613802402 5345098 127413105 830829178 326964491 513134773 891562756 517986665 599460059 674462042 63719899 276270121 244289472 106998762 496117730 406424399 423007525 764611926 165699362 35596173 520574950 226611322 775171100 86038625 497548700 506456845 727453103 33476000 995811025 477787544 709276373 678418044 846053756 536289383 548794671 149416640 464687942 926645321 106284787 908686624 838005325 260787135 478325724 449918705 705319825 41250509 830726384 142574134 520686462 821000671 14792754 470757207 619183121 74658736 421345663 22526951 149892999 279791295 252673180 572331342 963616951 888046732 930239872 863080336 311774037 378149186 948526053 720642153 931908185 854980812 239296839 648552315 206095169 491815882 120391711 954446370 538449438 687021188 126756725 599467025 828713283 476136393 390247866 880313334 671215518 720277297 318610367 892718698 508887905 552073210 684874782 775882167 731793964 655720730 598784347 188014195 577787816 197104009 266497213 979085301 161059413 66616073 313161972 751099603 260469524 532312441 5563300 892453785 53321553 558231729 403766906 390502011 473891347 980284621 591119562 835636587 494171320 318971365 309562677 156229156 503221428 174117977 483193062 221004084 663402690 153532000 112995024 57809957 758984985 270515588 300016155 212888881 62881455 620653731 357474691 59775602 102646569 242455404 297366143 966563757 494552249 262910913 742301004 445630664 738009376 545385005 507687536 362107730 435988346 575964493 255861080 164277531 826335852 277319637 495365009 849673094 940633362 247372028 124682495 978957832 354019014 778833867 104558500 992284378 89216642 716258456 257936342 121017173 538287323 74474437 613635264 246232504 610913154 707695752 356830777 849754600 531212049 256665780 690210684 439267842 877258491 256765933 130074863 513362678 852386450 433272834 8147369 85482621 454230495 788329183 407132643 784848856 400783089 547680912 807671299 994487745 666619065 102527427 922058833 129483846 494235317 667186434 825737030 481771425 250097504 936757380 683790942 316126133 428525120 237694611 238112281 453111553 422941337 93976835 58296488 969629602 133461945 632498378 894902324 194290400 357204509 198890574 407621275 907488931 497379642 471868269 343813278 647026822 401452397 838019565 240748231 141398954 813191497 664445887 485397495 638807633 665541366 88884529 846260599 795556795 443018936 578780114 536159174 168585205 845586972 634652217 423005217 979705535 869619371 866936001 105384035 405015057 744789046 644542667 362819876 625494521 675878275 460691117 382399542 804378514 731979728 348550149 526396562 701464512 376368539 170681215 166832822 784932814 786396103 368902140 494819702 264843241 796667733 471157601 122411837 723648454 293401689 58192670 939049992 533992674 935466544 206838969 339271937 626289759 326009813 847566954 651680624 853933835 36733285 503572610 139801751 781555175 252169514 102321883 879234985 860516834 703274857 460902873 736670563 554704768 881197428 558683611 879768390 1963729 924825469 637343399 649418571 856404044 734604493 942530257 3903296 87242910 109091845 537407563 109077513 37438032 15414897 467087912 816365192 546199938 403266355 729593463 564705258 249976061 861898036 646985597 362856651 179530647 160350405 527175348 856187835 839550323 375525319 635290935 713774691 981212198 295629536 646726093 959444181 393398233 351541064 839804577 972685363 144700861 263029085 992707285 971135862 666444969 22965639 861525276 276451679 611449464 286672908 119898163 583706819 430774918 671298697 932706558 424729125 863008123 226638004 985740250 379814040 424779082 131728250 110747284 980638089 790904420 657852918 305713722 837595322 610054274 727374263 50163527 509759371 270535334 741309994 603378591 893787911 474758486 778342376 442012654 749489959 247374562 447773386 647430941 797721408 667840120 722930543 35828564 391006259 268167731 639224529 151936971 956109226 950321550 826934403 565747601 673680786 923557730 141133826 892196981 233022349 666530481 313489095 702984195 821026970 574554147 21911753 628740654 754338942 419000515 103198217 441898993 867919368 157717688 247416047 826754136 246418424 367977972 294297548 289848249 468820692 185641691 416659393 204837082 185408916 847050189 206778393 150878709 101734970 497179351 353262245 694635766 93958651 518114461 722958706 822112447 681672800 627445269 73110204 743397540 886534678 377283234 233592306 778310958 961828963 353397476 128668583 252903258 186788186 906446069 348575973 97502978 880409315 884881193 689917511 844109910 730760214 310994510 568019983 948808163 167088829 195764523 25617335 261613008 610352664 799643697 131410516 236863419 464864202 74308158 696327298 677882956 620094295 733406587 802523540 306025250 632964869 404789318 762508666 622503602 138608327 183410532 549703449 417657574 254172207 60967578 167687672 396981249 442080740 164496146 225504653 942792099 426158144 60447756 47331453 760751972 367473828 72449399 176526166 778508718 41025739 459344681 883834369 95627946 89077834 775590304 204951690 376108687 114414194 781293069 696178687 816266843 71938485 569837767 391917129 224475899 909118153 488303775 576456814 44409831 453883656 168342684 303475782 700126360 956629686 792259243 125421197 939099690 354789390 851818612 501625083 724591024 459322152 836658744 424165139 888860060 176858344 18513377 346963360 84322523 567450578 653542731 285721028 72318399 616501979 417479023 348520256 239191260 497379809 504829479 462565079 744734651 382119324 820959965 359750719 989021047 556883170 170717415 968631040 304873663 612627305 44170445 932520406 329164620 64746675 947977312 458888463 731037005 1212455 6104197 953070823 206844113 324516187 272420544 467184374 703231622 124770099 439542103 245919313 115817587 569646969 788351951 992278842 554059455 654506264 448679568 579163320 590333623 375464462 199879832 630382902 288296011 898051275 355322899 582102992 164131543 798610336 579564345 940578297 194587664 23374981 337537482 107578233 24633953 262166838 331922842 48761000 178171214 163997665 287214928 233363651 791536242 165887038 539821790 842352051 352718239 835708371 259254129 77978502 95189610 130351690 866487070 465257348 364039728 537585133 900768425 561010608 531508031 228000196 275935869 533399544 628878960 233424211 760857126 979265803 847337988 299019531 512381520 62075922 715013077 282044217 842823804 607354329 876501103 369004278 278684145 156752360 708438896 464079293 731205344 726006878 145554105 295866525 751489460 119639689 175887221 88173530 629326657 848073638 941887172 721433641 156780702 805642336 198648537 272586598 607398061 135610778 699162007 261385368 998039567 828936283 754152815 354799114 170034413 132837328 82211880 728896336 34538494 452507272 234927655 99034749 623319660 921242173 167383755 195789917 670770726 668469100 344123688 887548584 674279779 605779890 2104552 911202965 512223092 215178896 340347320 795018514 361200885 580048658 26430154 24997625 148656306 300937964 345668933 63378639 623474569 23721893 735772581 929284655 656524642 49556527 257628669 398702266 727034389 547972918 237043834 606383749 370595952 679387645 876422565 189375554 559893328 851722450 640166173 963650242 898021468 972380738 542312496 803581253 368037649 470984288 793139743 9403505 583250547 777479285 371921242 287727629 624111559 408628591 501507903 692782570 689408227 475838132 122391302 14996245 765636377 739225474 77261697 20845226 410907918 736906486 834717364 776087426 521147054 916756529 595804343 944056213 968022652 10575033 346708080 92996460 145196448 589244125 594785764 129317106 291753967 107743732 99698925 758779183 342050041 885478922 78990442 776653233 729863299 995437488 824265406 676101051 941357424 541420119 532716890 412132274 403093824 533219641 699420209 301160058 449919028 46399294 976231468 289588590 208607973 418669739 48158344 574680300 820695689 673847930 521353995 391288270 703841384 21562092 896255637 625411745 685831349 356216782 752510668 864043554 700214279 605021888 629542818 691503260 81731624 262492286 397423965 600684345 375849854 150426456 715301349 848662690 519121055 815524876 762597395 827853425 987511447 125460633 387681791 897474676 642047376 974777117 219816931 526385521 260208088 711043312 447916700 927808014 264336627 604777198 575607275 992965833 993345506 56548436 122315012 448258947 363921406 529547584 676525048 282747333 162558871 516843229 771515720 421919271 995022432 310861697 573924915 599164955 650517476 587982385 779930312 529425910 358249614 702604349 967187401 809065836 716240814 780739433 348710141 852638623 825348791 573598553 81136015 77272498 761997457 650547288 146446739 271663853 567842590 753904787 25571343 663701203 312388381 988631489 369584084 585641857 207094551 172396366 95839946 107589697 348707413 685849971 662973320 968066517 93154902 668967573 842542255 88647039 992299457 356570259 986085957 153255544 419665320 885118367 966817099 756664741 108357385 580939000 521606227 265524503 411111450 837843374 291596173 933395680 819829065 963568107 853410554 895014871 577154896 643067297 148518013 479041730 537928110 371104601 677634098 633047300 43570565 989678010 693573728 931480504 787316962 64278 115086826 271168248 704468526 714521620 737991114 25873577 76671849 854306183 19187061 540417344 187207575 760321160 69199640 842974848 121380747 492724041 939246682 105150604 183224648 589820928 694066775 68589778 485458834 921818819 676944170 758128140 280389423 511875147 895451134 900614516 588554340 225526065 309590458 985862759 632857357 657408487 885960114 61750512 903007788 411686638 720226740 216274467 71245842 131835708 862287382 654725746 171574818 876438406 667768554 442604112 282265458 965053159 948371345 668237192 490617785 901903754 282062776 707285732 598956820 466703202 116136867 169361040 407986027 39135816 394868184 719539773 387704037 245277635 326511033 864168138 343641384 887552499 566012296 88775997 922383108 741838794 460354080 654644277 153652747 681131906 712486604 794242660 941375383 814836114 923576145 456894067 124697331 983524379 883950861 321132325 928758387 873325137 740629984 298384961 192912596 299332223 912647822 886595428 885628435 634774423 560293139 490075977 891488284 52472163 443356253 162279868 805870282 791034295 622618862 729642278 156798933 146804303 220549250 702517782 933133833 15389474 184838448 100677544 457628681 550060875 790724095 937690399 647363060 519880049 38373386 290805614 909725115 17869489 531597054 917928552 147926805 433975254 601262841 387439816 156289418 921094306 339136934 462906999 456604533 131505263 128844748 356117617 981240336 309817724 204403516 73668730 883330238 135110767 540903813 661449182 222065047 222088492 171346912 10873196 489548418 281129997 283229302 720877589 802208452 202767927 341325829 68507909 221272365 742244691 610762896 627428100 718892239 599119730 960407880 491960943 299882778 803558880 728131854 869888782 347971270 684602389 441230954 596980906 846539231 859747500 681168583 471257451 589771236 498014294 89509219 623456080 336681353 453853575 791531837 853362600 411174910 746116965 870746980 14793234 473548825 476643215 953093474 599827735 84999275 518023726 182512516 199501250 181621102 505353857 177956305 309461087 720178478 105732492 386255426 256039130 474135782 629458170 534514471 654443320 827394054 384986411 431443096 596284292 626564205 819376343 111599785 312698264 757740942 618897120 957525776 604947959 186623702 252490289 970220995 130121279 929376821 127854578 171098829 248267856 93831838 600105921 454542646 545734844 237642520 35959711 935730800 156277493 330815562 195661088 676965060 760498780 919986920 364797208 55818096 636142904 8871439 982799693 39753082 451037873 541458064 514239512 682937689 59579199 919123333 124032908 850780864 245848123 378505600 689602214 758458407 801737426 901848160 465876795 434592600 123005552 295267759 782544034 136555515 946900461 259976979 790984637 30775470 285131755 290530421 823175999 445746012 60539417 578088531 402981211 319958714 593633506 560046174 49475930 868259616 442523669 345018509 227113289 956787447 952571039 483812096 641693681 722997041 407725763 384730779 660098611 22712786 69479007 176986286 616673344 255766677 430027406 767406143 285495071 694978517 591644347 802777439 643721272 51573385 289517106 70441346 983413038 823083684 663746201 304135369 392836203 61778036 595852893 678607054 408452111 961465421 640815651 289887757 578917958 478196200 980260704 358465447 305338568 697590363 910780055 660945277 315807762 606920738 181577831 790294871 51659779 503535356 631512188 453416930 369180768 785476297 777536943 802331685 169858117 315165511 130995901 59194186 863227326 736891182 294173535 495241361 866847864 107552988 75194768 718027421 863808220 941321816 793897096 121302551 465426169 727269002 926943948 239379860 209319164 305953800 723669474 910982019 409780871 939637011 579060216 172786178 506216589 301053964 673038603 963097559 161924791 501983784 234357359 526415667 387938043 535412300 753221911 233365976 225079580 890352044 79622208 638122391 89470801 920156858 203555920 137685881 522684839 604189637 928126989 639892510 812611852 585478471 860424572 731328751 401804107 823602540 645811153 166895617 946831977 625402327 147118168 777456309 925771609 330955630 578420190 744750796 64073990 732871753 696240284 950243505 58416362 43900120 878994785 385662615 324526907 961470512 809729720 657177338 643545549 165359478 999559121 313735013 804659711 654213240 285376853 598275273 216392767 492518349 927402673 897639693 855537986 114360195 735528083 537543114 940753572 495693750 578732860 140903490 899980209 405339503 725586751 904776357 977169888 368442481 14715317 220288026 2009578 830772044 994489398 147779017 138335789 584159084 259036471 755668311 542634791 862066928 779378190 944339470 291680001 315186198 723088836 373264494 53778991 551808840 537857322 867584379 478990740 290253892 955552714 841323634 339695850 300417481 360560036 589052309 461081331 222449473 503630121 194076147 582844235 482670306 604484414 169216444 948916496 517227395 204428573 236763577 328978773 719693134 114454479 630043103 235139165 39901554 161990492 431994131 40327039 438999851 476481507 623131179 468302342 404209037 365321015 580616736 687269352 875311235 686995474 817975460 441538346 818782415 914882288 209743785 175148639 988774528 70723761 510882097 939713936 340999589 663376094 139673082 30061550 466402350 578856492 680393111 353945988 208629201 347428132 612019637 313704781 343932224 395965323 402178232 183248486 748456047 318356996 672059333 840835396 994806738 430997491 765404427 187511635 703493456 18051473 747809996 986123776 895866253 876939580 871068093 971810018 342657370 197565228 626133284 866873546 531406732 82852100 342436692 178113004 629535199 794901176 852642746 263561152 962266756 670806883 216954490 108319937 732751642 237750951 928585074 442017600 154923961 987473938 970497649 628048401 898160573 159868666 194916603 759933845 647303204 660720744 398920266 639640601 616864437 233322621 501662086 148031097 400592840 773764893 109286286 217516982 704984545 936081556 524881148 914726469 24346629 445114813 948468858 877296500 247183755 306028931 290991050 308288798 248214213 645413082 617530842 275300033 596960761 754518787 764899601 262084979 705579233 678244192 749258304 116931838 979957305 599755038 207520706 653855130 586368068 896388060 209746768 938588453 170596321 55638105 87199186 204966862 303838586 499089798 711965481 587142036 898571238 423378405 219873396 517621845 773428916 47482474 971347881 624863914 704866001 136742898 320283815 454627200 52272124 816358725 728374444 908213810 676970092 402621773 428026799 418061613 258689313 509910280 502740317 655172344 876439395 779728248 177055546 995023161 415592865 938364663 375813683 160329745 399340939 663254864 479636147 386955545 808639510 121371370 51734755 231749159 154859546 674926656 683174453 777294162 105377854 534417186 245520445 150014435 876404704 724257135 862044096 99952754 484520683 994966380 273027915 732903923 785619161 733789493 340558689 776771636 202537969 754743727 138309692 795819241 791923984 272320885 204639174 507122763 694641197 60191596 646630334 406496051 662238381 139580871 246367934 396435692 521226944 592032928 561750072 144083826 602171282 822400415 919666020 779069265 539672426 160150511 682390359 221852 6980646 319154795 611826111 668317593 810995259 186060224 870627855 114171492 776931238 241743710 687300588 266847627 749611456 837683237 178147073 593466203 659755822 44412586 656540659 585755452 120838939 409370768 467504045 298174766 308398351 14006103 24900332 634042151 20471543 15933339 807206098 69117126 116192098 287810742 995748854 231206212 629792062 367483861 244859348 443058129 198183251 638939510 552673294 268365778 578434734 833864515 184098580 96712130 504896438 726030905 271677376 411682679 957224677 149559466 653384022 480373837 875006195 804268935 992632379 99902987 409717098 386761261 108222678 255631131 532757706 73962091 59223946 511909739 859319138 474075835 24007176 111725150 74823893 132565718 520783683 671677391 23681977 19918016 294268080 960129087 606162977 874087502 628219900 319407452 966188277 85720885 380280309 512612531 913986328 78584510 451096169 14990213 904739787 873049640 28646445 373551554 324440107 617537372 244451982 172315806 322155281 192463295 62450822 783328948 335459969 373863043 244459489 363930462 305949225 308632361 79819956 245965931 371400778 454266050 797410495 326607584 978813458 461555789 959951232 515769559 172414641 458443243 487707713 860308815 501640254 258818963 189672701 821875631 310521222 476675948 80443179 163024415 836439907 765812328 33919738 428286772 659813174 74223400 680430502 542874181 248340440 301055473 632052938 285729912 249510444 560311945 668672115 317367707 571485225 78307286 494693438 105892330 525308173 432646517 124617670 459428298 555765548 803570818 244532798 122944426 362162397 634448424 359562342 684815216 376801415 384456815 177959626 973943213 423571827 370644868 828568691 353889764 555902062 188561610 553877762 649184962 381623588 433477656 219680112 150276961 606036957 541171631 476070667 309554613 42588543 134387414 420990939 506325530 250044537 286454409 316970332 646630562 611691508 215735156 394680396 66320557 360842995 495078251 616272463 703088437 619912305 808049656 735079911 507378157 698678389 49628503 247215511 391977676 969232193 133786278 404470469 743311098 522567375 799081702 711716530 35278286 241607346 375201550 523560573 641721350 907355015 820726796 668297777 327185551 108906611 863341777 900626311 108074747 465025503 587935980 426394213 638563407 920422865 786795709 699558342 467273818 553189588 61456517 231007632 727818459 903956149 106932877 853005625 912073787 730555680 558153836 189201647 172680645 997342080 894190961 995075378 640456071 981649976 702858525 205403318 874826508 526472302 748090130 80151615 841336833 599540109 342188841 378067368 662670844 829217941 242942924 52346706 506290692 886451945 41499651 522413047 694178538 67637518 625477866 338579900 976163937 334386082 638359370 383571742 431426731 768074183 273732535 298011851 943448496 314045852 99513865 497115847 714893143 477752462 612350552 988720392 906887328 337448171 109369210 742724306 490313179 374564642 410591818 222860164 205141635 273740766 892430220 150828721 892789186 555306129 252262549 74833297 496848566 823618380 386617922 888767317 955494432 63209168 129541655 666314099 998604829 70789856 38781145 69318053 908804194 726845234 842330861 189969236 404554388 711555494 205996192 783582554 953392826 569619760 308177639 811028357 765212162 580934398 550236843 885904854 334028335 484849867 493265104 289701458 761489563 657587223 485666121 472074683 284534885 888239570 980751762 445831386 951142743 878382490 634194831 283958869 750212786 391411225 102832478 681933061 68622145 547077623 744227078 599456160 239637954 464454443 669845307 373498367 370757654 54804472 146380024 22215448 560882555 378168850 839154926 668940144 587860796 134782224 354574127 633349741 187159554 642563308 22763414 872878968 84601984 729102184 750907604 706005031 371823405 886650667 766832817 949929030 697373653 418452168 624594218 173644670 756733645 900019498 640034841 665317436 558182704 210092662 3138702 423713778 761770736 231386983 648349994 884745720 858009280 892032352 290101286 585670961 873992817 829857078 689244809 198706322 180709692 800165437 40286437 780413403 404812683 193388599 378752068 329120829 129043510 378536906 385827564 179693618 614337838 295501199 649289788 117328373 959995330 665594777 138424876 946851945 661247500 932898230 396027894 626681128 481335526 134754450 177832629 228639928 911114383 31211353 845010482 545361083 240431881 14111925 943478324 542533000 785865078 524793395 995536584 20439723 750984073 842439122 395608607 805384517 109241599 342129522 377548616 995334126 358697926 203408893 104393550 772176366 401875588 64527963 256870178 746027809 566811615 816573694 829033538 518870240 832132329 112307150 915208240 803811127 660399676 350603953 601053973 557934930 164385238 124743433 108102119 473036316 152601084 772801613 830844567 116197920 896291686 870873545 260896202 994456676 479560392 984921991 936635894 376432247 200020431 796358232 437018665 376395903 691169617 263633197 445780811 866720166 884556041 582574436 642973062 359662798 571527801 649502748 220975707 980463790 485782984 363598784 482493673 601800506 671944676 961845725 197461175 317641541 856335422 328407093 74261892 218471008 493456371 296365724 283923648 725843207 940188204 489293288 832881913 633826419 997677482 995356562 807700060 537139803 738924353 180569636 972284439 805921158 436006622 423254047 314939323 737503011 895465494 741425740 178234214 943255728 928843984 227606797 404838596 273078880 496590556 400571126 922190788 236690185 396993759 387965735 685312731 749143365 34923096 423496463 202268841 595480826 526350990 724133304 721028666 896423862 949972056 303744081 770745833 417961684 291897921 562045348 879860722 318720655 128638969 479541157 191791504 582947497 284915216 580014541 568729718 983699730 55350193 724755906 769203009 810992731 68878628 180637141 915345679 812531638 465023644 920008267 909085680 799010057 669249339 198409848 17296132 853943078 383287347 254467492 771591876 847956431 935300860 328123433 593554366 497437518 457985433 742598595 306107750 532278017 364222983 779907228 541247679 371437585 743907021 466843605 301903404 266608237 581421304 224919665 213298349 168664547 486146257 532302974 269617797 488508549 524848055 862929919 490787260 38388296 115088851 243280185 399733604 656085662 533189891 832756298 309125195 571971362 942781584 56991733 141087602 512510807 15478945 763083264 395595536 214571673 728644346 954725278 285013505 213798984 829016435 609982849 691518393 599835764 370881016 492408932 295823622 465611675 277253423 660285335 219213779 825621322 997921025 553642408 276050304 511970971 337705047 320720477 107946176 351164197 620199641 118035080 332160262 138108053 784649811 709436285 592633666 336140422 380346077 498071598 689991552 112687516 533749671 712743902 991707878 537349155 438174476 680500762 37463259 248228907 121841354 173961653 464262596 618852625 691803181 789202256 825218848 203076656 636480399 978025838 23818828 763965801 339020765 41685533 421177040 713761917 612822685 455924242 281254044 342878798 663013623 515377758 307908475 264640769 997198276 119406714 121182163 815111812 521139630 63151302 503586843 820481669 231971812 337777373 758961512 347357740 539858565 780826189 496724541 546634561 421092288 323009874 661133641 149600114 495378479 624993899 973920414 126799094 286217991 270277482 307245582 744427058 733000562 90309504 342869118 862425642 70608599 91705955 780358360 786569872 878706309 141714453 813681467 759032566 622390196 854380658 750524683 893666127 189086738 473465589 344981878 848583708 946469356 242826734 12897077 465675197 414031211 204622371 239574024 649512095 471096105 897376241 832608328 26204541 373309856 309894102 931560776 566351886 888913151 648164431 481296517 890341674 67102352 39077287 258175091 738702459 779856555 986475145 563351921 768973995 341040089 46479847 427565125 170442938 456787426 702575454 526713420 552464286 648346781 572819884 997009404 865873898 794802317 658537213 744730855 639337334 236233721 813660082 840881242 55583852 272521905 834573081 684216447 278503041 559082828 985126275 207566488 128923795 574463589 520603700 476697935 377901159 867015307 197274638 807816479 472806607 703740319 683820196 56913710 319802356 99354658 179746468 168385079 283716439 340208335 786909869 774306291 860789813 723328847 811772137 854704580 458749622 938029881 910302837 424663861 724971683 840804721 560224386 293427485 760887704 986729283 557061427 439658995 993272722 978752850 211710619 751632460 373371698 77953407 796378896 887472000 539590088 338944380 555069462 330311844 548016608 836574977 198106613 650338086 34537017 224624890 12821288 10290708 403752876 144964273 126975523 987171329 559278029 144594955 488056023 93166751 770035816 243616639 245636957 11084817 724626861 988109150 585613323 754916120 331000505 810612992 782790810 287073435 927861618 661549288 654089643 585012051 388739667 183474721 285945650 8850825 356254541 281538856 950705744 776729161 437876819 414724846 419022330 401777722 782376735 624980366 479834979 222346546 567339257 8928520 17819482 221315489 768913579 90231116 246968945 856280195 120185943 713186767 292922913 850493970 533912355 200502894 683140008 844960630 331972190 268532938 176985361 315120319 58239184 255808755 354377240 480339271 856752011 365070648 369226328 58234718 17527026 194474736 76461999 574834033 852512809 277113003 547493193 891887661 161941762 893837058 166165754 463556079 81268747 727287458 965151505 245542562 465077062 263021879 17448505 650988413 182159512 356717486 16642106 922052958 63744640 758414926 261368815 944859398 958762564 617552512 640195383 93538266 523450314 877075968 234481905 923051766 936484350 185322308 354610672 354610721 882492486 429999221 583681422 358186310 391772109 888288418 688012140 210020500 673773909 389020519 100469016 790155581 816014295 163252116 413571339 246150348 212361505 365866601 393107084 392963390 802543566 324022511 348022923 737909026 995936454 50809801 668146280 422185656 577684925 182556011 641639501 607115722 922386996 68465737 645352994 816939841 938211832 912205505 668614420 89525804 591540028 42583867 651885484 134067655 995936881 719004819 518656250 413509220 784110763 332976271 170044782 910232469 404129492 160175936 452004957 811620474 836845319 133835429 76360327 390252744 374290993 418908008 131742772 407952849 464110547 306711810 658417573 538251792 740152798 857547516 20215051 463853733 62344660 333290352 403118310 596951436 212063559 196921129 763981831 738066888 845427724 123215305 163783189 10759019 188360052 864143944 352190503 768345067 548667596 808962026 545630755 709648109 237388964 835564807 959079219 858829692 40697454 705656468 671404531 444996886 754722692 271126845 21792802 705433130 690881327 990200135 448471289 934917717 179350472 433308731 298834971 110726227 813412385 962869969 744216771 549824163 227927190 145326570 980729993 34828512 134692740 382522524 805280064 874165458 359909982 49077063 82345583 515621217 799405996 226625250 762038586 987087288 895861063 458362084 493427594 646064025 149249013 417596035 651679190 534737204 467091336 90931044 694908318 425212501 977090305 859435752 21932992 76408921 526371893 234253807 595110948 293997649 636923229 863876791 524090272 383195396 247177039 260701006 792646313 840795467 202506986 127007772 934833022 181439942 661980360 230190826 32329615 727291635 681063143 619895217 802018105 423144458 547373178 464263647 332115486 633446103 516258495 556900185 66589586 549347522 754165578 195307629 69032598 490702815 536229560 193255324 950057664 974422121 213181557 278539657 293483025 251834868 331297396 135866630 435752795 109560913 249605619 915321429 466571454 907145805 904163096 114837034 17057216 868999560 5975994 490649049 276597622 485268183 470283922 848965848 658498539 89654859 18395456 402155565 125380869 215001526 152187524 230588653 40126548 959713778 208733272 385628919 779322532 895243621 542782463 700934854 453117815 591393848 95424698 101083867 509553776 102291337 563539444 429655714 164545697 637095990 98381908 565137672 110353532 738681101 841115530 212873178 711845162 65673161 434560275 396351828 20262919 239041839 922446346 539815274 630251888 281210142 734772651 72303865 508612434 262924974 638792601 247332560 92757460 492871810 920456816 990588064 883691086 122625830 70180735 860622991 23637550 795385717 321938459 526959371 963347744 834351937 939947913 603120827 44798319 144188653 330416141 817033971 838259685 304288246 780747308 568482487 708361064 807857314 161659837 108615504 675766739 973856329 906719482 766209304 884267475 511271816 670525365 604552326 363175570 988972018 123670897 402076241 842147864 119572342 27015676 424395273 68278842 174716728 76885250 536645719 645253517 853692285 984176899 423566543 376521476 503533299 416511143 84483462 388263789 282375530 232590039 775874119 24645211 415527858 600722841 398149849 870541498 286478144 461558170 6721865 820369450 791863067 580627207 797435849 991916939 557700925 294461745 592637215 521387481 280535319 99504597 603633771 437264811 771527919 639393171 31729694 132119532 255562143 329226586 959859025 901491895 508024519 60849953 495636923 493867400 554269331 88509193 668590982 985843305 654636372 806571914 844392899 365819298 675622939 222748857 861036548 375255930 547281964 379311546 683049931 352520771 430001943 74511630 793317276 578540376 863484361 855609313 297493193 52080989 978418308 125955746 337902581 436068190 902201940 928670976 840625103 791688782 957515889 544443610 299738174 429176356 433327330 638637568 355838872 743681818 819261976 652578560 481725179 852224392 709545365 641478738 841199591 934332554 715857407 97683431 810573209 685599789 899852450 971827976 977919351 216751047 711767638 56659814 535585215 658155249 931788890 591277710 147981793 83298821 776734526 355364549 562603302 101450965 700453566 912947702 192507740 677975737 791170575 597504234 634548184 594800603 480859089 960421089 590084190 107215709 313991084 143289045 849942667 316956094 640738286 14225478 596388190 106441929 863470217 272089482 808353212 139047787 342907478 588591473 834488486 285420589 264246941 656672993 924123560 968665973 53589082 846168586 431581357 618741330 498453681 563647324 556255949 228220266 368616892 259044219 12335894 502284459 472985622 621513347 110515489 810277303 92528948 355943520 871655657 550748323 693023251 427870854 629506053 4821279 420517088 705438563 391044646 367395405 623406782 395476067 109505901 191082707 160090381 629260533 411487418 170451833 506713285 559861487 489242888 603943222 419776493 141249956 948526686 199607993 728329993 53924192 828270845 269481967 188878182 541737627 508984195 267413298 891050222 168272645 661783938 578546775 141244924 23732137 355655384 141538099 152459850 427819548 608679668 929547001 965812226 446507244 63620477 706145548 608258737 604950961 882186710 411387542 945106295 822134896 935067122 462148958 913250637 388229877 617871269 999746970 264962403 333715744 407403096 260212438 855168546 264885128 600963767 957640252 597712502 282660318 763351963 970241587 901540931 203736905 522924123 234084106 411475861 99727832 484613934 759317516 287184791 209739309 766863498 329643210 803518987 552537616 865463789 673367618 863465475 873545062 266284247 694635012 505672769 505598163 592744060 184532787 426328008 794242969 578359779 717295862 71674890 746890839 453706021 767875502 591713823 172646735 416986923 674591392 314331045 713672571 785056725 27637104 60316692 881777298 499872597 111058034 352107398 259707917 981753434 139418544 495460538 172898795 433036981 14922162 58355752 810787980 515294133 891977490 898848013 967978477 815509908 875593388 185321052 613203058 706896332 884437779 272781937 679177911 888214728 932592935 466589607 357491101 594201680 349787934 631906323 833435166 478225269 937967253 322915065 542958054 459355375 128489154 951844995 936319239 688298697 891273511 85403703 203296527 281501147 374033406 427481472 157408758 603601422 31544118 117164287 556179320 339259722 985513564 563208036 204936424 284521724 753403875 567911580 296815062 611139056 915158357 878547913 912498603 154326671 273394928 241708862 26909827 592312542 343466473 858994348 993120322 262552256 2206605 180515203 908453054 354041651 488006604 684707706 994103108 299308425 354377396 568752201 98441467 424002478 6255458 121591364 757106820 721081056 153145203 497767895 49483432 284874394 832251544 344021466 870370463 368726273 543701311 394581775 937738949 929349672 83130665 371959694 57000003 149120144 58818207 1849866 244694036 608050872 295018629 492659104 201923146 732078508 415928211 932887344 731411237 159133214 496048354 380111121 680380639 165457877 235220237 431273689 210714999 329464453 276685538 19763287 698983998 701237997 185204358 779267779 369474589 268966967 761849498 189224472 423809895 909677925 873859494 782448224 922878889 634248088 652460454 896575524 560723211 249557895 836172273 12917577 980422111 524463529 74518152 297639111 461005626 525369316 807268436 914557423 375925916 593352206 755929461 725171627 911975662 240054719 730461459 349222518 732997728 916471056 150610319 894309775 91938774 663665053 494622869 286251020 260101011 28647646 403553903 151866871 490955295 150850370 928579653 285574019 289788951 109761532 527486732 466735457 573529597 211355801 916996667 102961898 77867542 406116037 640646803 97632630 657863401 207914605 345102270 304682027 314371958 620185234 331033019 36338366 514043003 442940226 644554971 176714346 295618835 242693774 966114039 230926828 832438652 311646975 124173088 81013052 847783322 333272541 857792171 858214492 669344852 179051304 951945554 613307089 332156969 72464834 888915801 243839359 694875266 38098533 79339440 139336192 997995208 989143206 570990515 332681439 694741816 648166330 370485446 378344277 674992225 162820072 271784743 867415551 797362127 148144714 167214042 679443067 926096899 126222450 71790987 163950479 529886681 865437042 612057764 280922628 299658075 413635033 844838386 731630874 579545075 193657555 75191691 32117196 353869228 585649834 693180306 718786518 681620612 685955746 588140520 379206808 282501063 751639779 785257863 243003821 524075687 756185302 782571888 121793756 915498815 277594094 540035645 724842450 41060848 413150057 286634511 380936860 612409034 311602171 346716442 231296853 486968043 840302203 365287970 91187120 93093701 793452043 753841878 945833922 412116741 955518679 13008609 453042432 392038755 127249994 844021805 359616701 348706114 140493951 215218393 925227135 806262018 9473697 374098296 628551821 221858026 786845492 313641789 511689537 810862018 487785364 347839355 458858271 385908327 993407425 927368671 228603020 889917129 308256269 626880792 923172044 256515704 333880497 373557026 427997728 425327291 364534862 389737503 252204572 730956600 468951231 350106562 555218685 662308956 190501753 722661518 400818641 891082263 385659799 480075747 572683125 468312843 183168341 431408358 99722306 645083559 751509652 192070277 746122048 437829257 626044351 661883823 29012474 587136603 956512407 936043006 999034068 763483052 298810923 150631269 784500817 413674975 33445024 601117959 332894664 205688809 187236907 406234299 190709189 148111699 606981405 30772951 821183787 653424854 489614456 160948905 118641167 907476783 405426920 489738626 118572976 55978556 956868863 666157192 823275225 600038381 398193510 910187154 75745134 716989152 286986041 604392907 599583145 852972511 509772017 898529180 929330343 620616096 675683434 339432952 700238057 106296135 522304256 956474767 440906430 765278779 461513788 888323895 870114061 696119410 913635251 400241019 503142941 688764769 206322226 358890389 592218344 883713126 169075957 59115706 404110112 503697615 76588730 759584118 943391154 80018993 410796148 254320995 134277733 200770796 423764702 575130585 215857611 181465161 464368024 382924306 28489821 107992481 918745513 476313573 313392098 491567456 188265908 929679065 301598139 269670821 943912506 477743550 29476246 612266647 742243206 872659188 976418354 764171255 632266230 441201679 962271494 620277136 981901855 908013638 486074904 154696883 701969724 157730516 707731147 442096649 118109114 377804623 335807413 504568450 515901099 864226771 400415398 366749209 543446965 874972618 180367455 284081233 156361031 256163566 827258523 42210183 683209792 613308265 994556687 199054937 747942335 764423278 163727308 957059423 456803757 126220296 455498226 914040519 180541231 386335921 77869582 847672539 472294106 523493336 500209286 809761925 43065655 366838035 411220968 414996245 311258504 756829598 670394870 499693424 569094326 235605574 805666499 451990915 224821845 626011307 930311996 866223247 365891035 787230305 375689114 843408781 740684462 430909543 479018270 434978859 800691545 159885736 272458469 898274605 468893939 389170246 983102745 494400423 970542909 980556083 603017329 928608372 748713829 835917982 92822815 674605451 674847187 363691406 342315616 399047575 695880210 194848930 885679394 316231275 895672437 918490807 78747571 198991287 675892581 621486419 284903877 710963932 771572578 725416397 164764894 279953619 916180860 62051070 11217106 908407650 150648308 934585535 319015525 833756316 758488911 604638654 722586628 446884252 736385454 440270680 758868493 409427198 45079430 297835174 299877704 350577432 808811668 29982723 549161730 469636993 945066486 22407618 850236024 35668407 136236019 102492606 850666979 415853543 984886892 885124808 371926088 962571750 453857121 500418744 607802703 106592026 761755003 303568581 771715277 540096740 738196269 491037719 978243284 626392395 683129434 632015060 778121625 538671981 684040746 288430958 843136712 822719489 849458978 90172646 154437441 434857245 173047440 881395372 438043751 255751283 275873219 957213056 390596383 695018482 301554970 751757663 486931077 981462252 907246339 691692754 485825477 732512208 646304856 569761990 574766848 463795369 23514818 164047437 798180382 571320960 615657576 163882236 25619012 313720375 493119689 66844986 285372453 377532846 177406295 930287870 187708362 69634978 646476071 150651876 945918775 468494119 506864386 157234911 759260970 135362957 421011052 803333539 924535324 448223889 614738898 540007033 899388116 174673408 123358404 572991718 788138937 507329587 456520739 291063549 270058884 577500478 665795926 310296 710066879 310571721 280602231 873355384 467838977 387845715 557163420 221200453 798129873 914456057 674156107 531266253 660214058 247982418 522618305 555142796 723686613 191790119 570402125 411826251 66556769 738329002 371477785 958907971 735750374 497525048 384622840 214666885 531594504 273581985 342452770 689782435 822474568 811049056 296570167 405280994 632430353 665198441 458449949 269185117 765553400 551397018 518469677 757145421 507748132 685888019 442158617 332494962 165529936 820002790 95193354 951790848 313033002 582351437 834364967 879998475 238565934 659193257 923924841 488734338 110835719 502185036 31317963 370996649 507394230 715255667 794835988 693816280 731878245 862921913 803988418 777880692 134437345 923438134 679008745 752587503 82750736 805176310 805317251 789953894 386647938 995634840 662089184 316773552 30580389 638729327 218544027 952043930 167122991 75836940 21781099 781440222 202402749 450174516 987201135 68203252 576647773 781166445 33730498 462779097 861010369 930098904 44001412 107461636 969704014 725404446 332244353 215119432 207351004 2641406 446089288 986858131 398275740 75965770 601152622 104923102 521700779 701137042 429372743 378890294 570527662 662296797 917491985 340982600 431560804 592491709 833483749 26771583 438851930 609637637 634085183 500761751 259927402 570822570 814345552 189096657 424115493 670002715 20348293 226562704 90401199 859179106 996621080 685996131 719492232 476436926 610165197 13648839 884289913 117605591 243986136 765999538 300925853 234259814 897935755 589844846 365666713 73769449 880260446 177431709 795037219 540532234 770652302 997532207 317050634 216471983 260122058 104631155 809283521 68194008 635060999 704165086 366335055 976841018 818415880 335681645 887964330 859196418 405374785 288321512 563276935 700516920 224650063 859137920 181806093 994957698 335539657 612698238 868002027 814062369 303122862 564637262 966427146 955013342 975375617 667406598 435880621 64795370 531306281 593634203 625206382 15174264 655631310 609195797 753480252 605019939 583283815 517014418 131547510 684013460 217047782 134007378 253927865 962146396 819290066 766754008 954624728 479514366 774693061 273483579 42219101 724942433 294639553 866081157 127339855 667395215 961918376 470309226 771462274 6361261 72147851 310812485 691585184 502178546 402174459 999976104 974091464 925741506 395751774 332254843 938808087 787490226 572122271 538791801 816950263 315900071 930498457 772345321 178160135 653671651 32707480 641254423 769096387 706060881 660049218 1294249 835033515 416313791 46705769 653134012 400723595 67137893 133449177 3681579 545821972 37374679 27695352 905564320 823619698 384010797 40384922 139565771 957089264 50092837 425283123 90135367 271791090 117077074 933707305 822426951 701907752 236984967 878093827 236316202 74297753 674753904 132001338 361250549 239146702 695499648 977931304 386736686 660871671 720367580 874812434 873975134 685468985 136937621 520152120 613660 658498312 190950150 580070686 96670950 917704434 269467020 378810264 630223376 326477478 176141181 717083263 154314015 377110244 483544688 626179810 643321569 964641294 26134812 83009887 374746583 759006985 621824977 956957908 228545041 97956535 195986375 260220291 16469668 372679662 39257665 664901320 823016223 116728468 311840902 749167358 674935534 434878001 766321751 562411371 285566453 517157398 155035838 779032544 208801283 985177534 522018589 509163044 415841977 864940972 302864953 858275958 117665315 96098362 690853326 357154480 112395984 456227909 821095003 473547167 762910495 68932955 718454423 104510465 495022816 885231211 368046881 635744535 875785732 403894011 898042282 235453434 607039901 213176445 802552140 518273867 635220097 665571865 971340552 469714822 897265701 838869109 391790023 260373341 793729758 642545109 12629396 744654000 425208784 909492561 296475324 621909687 597617883 910438208 984909496 730054337 101544766 989759770 966205202 953572575 616679475 754395908 208754529 825351581 931101821 492718089 123238142 725495165 301057899 317273644 958106290 401800737 231068176 490519768 169854853 641935134 281627760 114609221 149855371 486691874 563190595 102161101 562252372 500245337 422904511 917298330 519425075 568549301 697884275 957057334 54515309 516512523 854984417 89500822 38206531 790389959 630000040 855151827 520231652 98512569 19248028 677777136 28108541 981861567 378766355 766495374 287205603 703093430 949462367 330582088 860180995 86219811 940706080 71532974 25930909 392777931 693750037 210069897 388013969 241021913 674997976 328629735 125031043 268238430 440325762 971693195 576161681 962817391 446636844 342863513 559491558 727607426 609905510 788571247 679370318 850071251 220779037 455339043 188591746 128605447 981047771 18792211 429989430 411293412 655994951 753269753 670315090 697008537 795139046 741227900 47218851 679203558 151394600 436156677 638406856 328112630 596889797 292434370 229627744 815908297 548154150 452359913 95605153 673016047 992113174 327562143 508800782 240846525 901521694 117485384 157589757 71337382 833538304 318601463 880250936 541274660 166056811 366994239 792738978 904897945 158522653 114939872 127482617 906721098 704500188 399780230 387152307 934739982 734994487 926343162 94304574 766394449 633225393 733068045 540088348 156614514 59432611 561167643 315200467 288503759 462227083 615290150 207630523 161726950 476641512 677657993 268193176 185391192 436986982 137162858 211455533 220220040 954403155 535623262 823184122 374334285 290392146 3038070 701095139 485012614 605627056 841979741 355807843 532810782 390770234 100178793 161399498 830721475 583325361 395053527 728018624 91204039 808568874 894227558 174246720 90448207 71445157 608064589 443154153 756672704 915540135 96941046 468095942 856837764 153479891 36559178 15626414 30344062 307858776 219398599 965383375 651607654 866485832 642201592 39204828 835765302 170233635 253038228 647779548 362087224 745069530 467374874 954675647 45817106 353577577 658864428 278150414 813552896 238447166 192703688 515944749 501930188 537159234 774562602 188193322 505646399 316088723 557167934 271452828 156365245 367792351 25023585 602961273 632462418 833491688 837487550 516456643 844848859 922113751 888197852 930736841 999016322 280552975 220916953 805800308 393927351 678384979 142869858 304841617 398556401 819613078 566627649 990793673 691550816 768037653 647904178 883290354 684026435 726744225 386265767 385874599 469132953 682640380 231967659 837954967 108093364 142508391 428142090 116754833 386979295 899885051 214825917 12780728 253731559 446803695 923218625 830213036 270374249 863736647 452230449 95302429 860339338 317545669 565583185 111179102 691611670 787497646 283226264 364919551 817214634 772775929 136527390 733769610 703046102 824436081 201611194 14435136 452301590 889714035 408501145 473261229 207343132 268860068 34631428 545560170 651093570 893747040 1086990 738095429 887511918 414569118 529835901 666956314 955004833 482404018 180954917 157705585 428731610 680955904 598875546 517187564 172809378 740850715 421398993 247117675 218151571 156502611 953936792 410038934 311302502 187806661 293021896 872077211 878383967 443774487 856348004 975516446 830270529 227162963 643308570 671139534 76319291 678146188 884623825 485977790 903323329 848822919 362380983 13982282 433810471 77725548 240690845 509822949 690116614 571471035 223741684 928350134 829031639 377425770 100213947 82022079 848931221 287595387 469367688 564521587 884657082 434250908 139510899 999074336 190559426 303311676 15417324 770819636 548092325 54965605 512046095 578709877 401963600 311647033 671746917 618526535 228521781 349731718 69053306 158468681 443579027 507360988 106211646 502707935 377385646 898640600 317833223 144886299 498943848 644344257 947307508 296461638 142713145 765031037 673014159 626976958 113708685 86910382 87130288 307082105 399149796 946631278 250355949 357361978 382372128 471757087 755438374 946553740 481629273 552443249 947609203 13907455 23776216 633110419 382946598 30122429 700900996 93195638 818334279 869577923 741572417 910633977 932756236 758556647 402757272 527197875 918541679 104006713 215442676 246391976 606635399 545784611 109234524 378995530 763333009 809343683 546154195 440236414 242895063 73226663 329523128 442811090 246253764 393304483 856052119 427281834 333857731 269943022 824825388 855626494 665871806 765907155 120122104 320379130 434676043 997350165 138154785 325286471 450092685 633009583 704405051 420762558 911613434 719808783 720933072 69891827 600730070 893481152 611488018 870108689 392003455 184548380 208901650 414052486 526761603 315529629 706474586 337668308 557591723 851597034 403934373 411466639 498867745 406866888 630445289 507248016 131104735 888584029 894675511 150419603 642978960 525590094 928479939 207121965 534781703 722984358 830835380 955074585 782136693 905261904 254239651 678901004 834236134 902205817 916495331 648047198 518379200 29283288 102198291 432266325 40539928 732180111 472818553 119017292 20518766 126135231 219184045 240383249 252914942 837017320 490639814 985500826 476497958 165407671 921412654 716666070 654612239 590587202 538890876 922898992 754041630 618506514 399650882 619122620 464119784 256189675 61967535 60588609 783700110 917130706 488008087 612532084 334393678 542674578 113352745 133565969 707472182 300849423 696545843 781751094 885839218 970251563 232862964 649186626 497580138 437742614 217877844 259861509 583774122 310576235 74791699 140211956 741582660 490680378 66184743 858614189 676191923 150931093 130736906 541513507 234546682 538366142 646087536 369615072 777111506 627126099 526748590 83328238 308965568 976786773 559906710 327209621 137488214 731448882 148478809 336151655 812192906 565023295 689962554 143654455 340081910 877056014 715905143 323009636 243328335 446634974 892315867 111968317 658464882 310241710 309477383 241976743 983824233 266463567 232320309 867060075 233623835 639099327 233819309 117414023 326688532 865838212 664680486 22693578 413429039 202070403 577995144 794708698 814700026 630625386 834784164 878794388 347270409 940608228 76597288 713584911 359648732 358736579 38066189 729755420 32585944 133227487 45122331 416678761 793197340 46072184 431226110 702448661 406805141 315911868 715829406 845551757 874711647 962472641 530925359 950818344 49768017 66466111 715896990 376539818 474193264 960295503 880351415 807364718 944764565 136480205 525487039 308706136 3581769 196198930 991877163 179405900 198815458 2397352 532851306 834682590 503953833 524848764 746485598 971187576 211314135 661464274 651550520 243541461 381560318 104110452 98168083 447687262 484146468 587533474 782068819 763605299 610384399 819107901 86863790 297025158 176317253 78030115 311206287 249862731 79229060 978890186 977406608 160950368 270677275 746897919 246914073 309687929 361308401 452002652 114039535 383605242 810093910 717916090 190552100 659446940 813668644 59482957 448757439 511654118 887179644 964013006 211470313 335428387 476560636 833748230 112101955 17834051 341660928 681186327 987649063 340975749 757589996 924488145 60726332 183292558 527824873 259538922 954826200 591201430 773684918 147682213 870466072 132753727 302089778 94571731 266300388 602850056 537689244 950566568 937097894 402065454 379371220 216961834 986196406 328071885 411598680 658168141 662723082 837960115 381532222 665886662 929860385 121909932 570215074 797229660 175201449 543684625 103134328 200281938 931851164 480153519 315623729 292332287 433325895 253293387 416262642 658625363 997039580 665721757 281677629 488863985 536662849 22522708 371392 905427206 419301882 559494156 248051442 381953743 798847322 799914188 982727455 947396902 464996456 444760001 239458641 403490181 700906250 936910736 953918656 224219621 657014625 370740019 203123303 122739283 658903816 606797975 395592541 403074001 627839360 666786693 22659832 472905633 236343104 794264111 878414573 2025590 543571462 621474371 911769101 926151106 502183223 411226511 315979514 968546446 552729829 501996047 225649549 857213920 693645710 779037283 267161111 951514617 537365359 737994322 50176628 675048814 261653929 276705172 712621603 490464783 997434443 17916643 190133900 582913389 360510555 897638625 788655939 176392962 815730315 411229447 394227993 316294966 96405218 215512009 896543904 925128174 477738258 959173276 277498002 581125477 338360861 498509956 39675362 710803855 997756340 879239457 773692517 396589103 555045077 612544724 155555999 981052576 434504772 145902573 132724978 495865918 219101326 277730381 242106380 12742364 992274063 230030870 719885610 924782360 830723611 805855739 320608547 745785033 744087923 714818700 271042511 193944207 227740912 693058713 96474222 728662428 171180812 810273345 710261847 583254901 381482613 194222415 28145502 508978851 920668919 750444364 47223578 738000194 424831920 406624328 503245925 957925334 604416274 736276788 630108530 246221523 261479998 706260028 130995780 482242431 893178378 130654903 309419929 135604943 472608146 921036828 170014151 362208205 254850062 438731183 662413950 296494909 502395647 729654878 391672723 281722113 684311808 7359109 153165910 216902705 277081852 581132044 525968751 961566657 789176599 88245305 627395928 980155280 139768908 855709989 30012968 495471541 326460567 813933109 805625377 958011614 846045809 413751006 393646457 106815239 826536458 748676708 653603358 679894868 439399071 351740269 945615808 522005237 395838296 986118641 772382453 932311347 11545138 101953368 92924386 534228065 419929069 223670417 853702253 103888372 326904980 636440603 861065566 295326739 165550105 701720734 487016690 29255899 458334122 906398991 687387847 501947292 542726015 396953495 552013440 613269972 513215708 708919336 793699378 876003409 693830691 82720168 235777316 595436427 53181278 185925573 500979796 617304862 727313027 820118690 291105811 884118228 137739601 935708589 313168692 983354506 942438146 378234029 931651338 628383167 933513302 762981647 32660000 811165322 840191404 949727597 418445527 265099178 784459659 648525061 129548827 482460704 877896130 109118443 150241151 640020404 309746246 424080236 315353222 184919302 946770663 629153944 767298003 494864880 938336712 557639987 234756172 399538594 44135353 302692786 181427631 155890258 124455756 778566824 57098917 628104991 99586710 863727310 195071457 338368374 137246350 488037933 954041553 939819425 588505780 578017974 594232199 356795556 180307535 178007435 247222406 227979864 925908820 513355679 732319581 604230373 100106450 445518952 528221945 452814832 12278892 133731927 97033431 757558130 325074476 863410511 262892190 290924591 312726941 321663694 104342456 457729758 962552763 189259159 705323027 906589342 590763798 96878880 42712477 779627909 50152440 979209681 71718222 170069141 61557788 433627463 905278789 476563828 150236295 997563501 891730747 713629655 961345633 781002150 666680325 477954857 168938410 596016009 789282620 823505764 819557829 704172780 29759230 460967402 484007062 85494220 782088223 429964351 915980471 9445905 714887038 681482763 447925160 854590451 125735268 333318298 484916608 628031615 797364804 216984619 77082587 384021367 438885523 802188303 610611555 466797336 935467648 927498604 129317616 877382775 265954260 706297930 636603693 893156676 9602352 787751207 59423073 835836385 461176966 473918108 548729633 529785877 815555653 759192738 295329791 842107110 53370757 872250350 797080846 684482039 636415597 980799794 722957388 429767243 326031406 568609117 624691692 66272338 56107203 740300340 430400068 944443793 913501891 918271653 801832647 845570231 589792545 934844888 210619598 762845192 949630541 522463760 379363620 436538877 145575058 642754845 255861250 247657775 905979990 684750567 453708108 401756905 133993044 43788776 209174956 165783957 172733796 733942651 714225963 755948627 97123296 853821329 612421993 284098063 285277367 890089674 833467838 145247401 451383452 857340128 56750666 132209573 499708549 52748820 347148553 926768361 332367649 108359518 665779800 548969114 167263778 191369771 621239960 951194465 171027841 449739522 412144096 261439752 627263377 476590559 626891884 804811122 700137808 718509515 956537822 613801422 191958255 163976601 299298994 611191414 384940287 692773841 353406877 650491679 940270093 619142344 52439892 931144486 599763456 164770269 640075518 675878710 756546893 427947740 723441616 514740866 803757933 912123352 537322219 117556942 909848762 334388315 917073530 795852672 812717322 122351163 845298071 550982437 468481393 395730100 959913343 529456840 898202102 440686347 955298197 754833306 490113870 839304177 458369614 842030789 31392654 780032434 408195858 53331130 902597952 912306870 513201512 272173528 336495953 988102426 132763165 409680107 858438001 685209365 317761816 814668922 804662627 461870825 12249489 645568527 944570599 956828962 253947310 598823215 128981140 580607749 416994291 703387334 5991851 155862906 163723538 164859570 523658381 435632615 767075318 294418019 547765535 353673423 771312894 200279635 697614755 985772954 806053506 331969306 263312635 469801117 37857571 368137930 609344810 181802611 591132864 674208434 647640314 70576957 152330227 855779869 438194314 556346255 971787755 326903778 903723312 674085056 876470166 625474515 518758714 146620471 132691189 83831201 440681393 78536491 167370313 870649254 310224970 49245051 875152791 976682055 992625560 578123654 968387400 785863798 628341538 718018839 279181978 258835537 553920776 524440303 664117852 5959835 392064592 482796915 243881549 192842051 63681091 816429424 530212526 217214521 4451042 88873262 577196157 491091519 428028737 906611876 68868141 304578339 452410367 240957503 893338368 341918448 505476878 921954967 229252118 366267233 106475377 119275940 554417476 337719902 336009386 256285753 671504763 702755539 673839468 135943168 190245050 952772949 405123193 747899954 987918280 76461086 432478765 270164011 915951594 720859174 164805487 89592508 528174745 776693766 721422035 964191591 375559500 508819459 289686009 473726043 486579963 713796584 373117018 494556997 260912761 281708363 383880691 474129659 246681428 302836830 320186517 606136707 46434496 289339931 925293985 965101122 323783077 160632769 836546825 209542348 775595777 921325756 178114319 789434945 76965790 812197398 67114039 780445842 917984094 924795314 9670262 23932433 156227658 602939830 997639532 143321151 402893997 453731203 583412876 684229913 7488163 464776636 699408535 383918774 723163154 836245698 105494082 137451429 459217421 392785237 821407096 391379006 524781490 740722846 194251850 61438044 201979202 846014701 652717358 886595181 668367626 719050852 753857261 523651647 90575035 265786359 389561831 576115602 247995690 16903103 209528001 955492187 189337531 851121153 284032422 293256412 529117966 281493214 325370437 919377395 992154513 446948500 934818523 28258276 662510225 405330349 275356404 358076710 529583928 978455024 649471319 659846095 853520337 893124197 23808552 519318600 741342363 124682072 437312377 552536806 984077864 381750688 341230538 408005939 834730709 75617349 849371927 818889409 373202628 325453992 609342396 902697856 928579586 861010316 701028870 79180869 236738375 430288066 919210658 259234887 219723353 447014254 843067430 428016055 509562439 994718348 556684744 523771112 844420725 155802715 99568537 782855201 439621129 390025522 585794736 876008749 744825595 908637268 139996502 379897973 330405396 975012966 327389557 351281207 316272609 490684569 988259967 307936551 206057161 744714731 381542630 97565945 743303510 143498795 376239238 857940145 739731223 82227797 864022289 614279827 59687882 740457187 903392181 790716642 289048868 75075508 13252747 503761365 669932492 877207412 473777945 184162636 515372131 718338326 472825853 879766612 400746716 730230492 998037559 296262865 91079459 376550400 702372614 826417118 976781847 572567330 666837760 607975504 747781634 853169343 660527284 333990388 578521028 384232064 239523535 303132948 278857248 786112192 909382732 84534589 821682218 718415384 639399021 738545990 282288336 467655109 829648788 528257177 747686747 754148822 371215390 163228790 879516441 311004729 677123676 521547109 798844711 910866693 597142021 521033462 429496310 135336928 807215830 430298008 605012785 464050024 98335462 999247567 791822502 77508496 925780146 87481617 578836116 506718646 49343302 262499899 52560792 611861317 172564152 416850108 968883169 183972783 464547601 403169197 33745019 648028830 846444141 515682883 875888008 961509333 741529464 689796193 351004291 806559332 265905195 521444590 61088805 695648805 612375683 372018860 239713293 850824004 999779633 403620496 608443798 920897975 504462256 210589010 449075253 297468182 504296775 80268483 526331377 369980003 496795027 569803819 176821855 225872511 288139544 483882822 688315502 990999703 392249621 654502764 574881059 866719990 683792043 448869000 261175772 427823052 493419394 880966503 363181503 96209647 892862374 409247079 561411792 635144184 641069790 469115296 218456890 913218169 99813258 108905551 692591829 898757751 113024059 429818185 974388283 377103615 282961121 128338652 16427510 195907174 76627796 112263640 428329031 152944164 305134128 245547744 832664832 600095400 209731096 406011122 142036986 817928655 496254693 868716146 619446022 795405563 144529928 215702553 332112722 497423183 666147258 361504820 101167749 343268125 466875902 437492152 340912476 882070992 256604107 46073059 127988408 446767314 977620665 405053243 576866576 951269820 138177251 880655414 117763141 589947325 842534899 55239664 715734303 409743367 227941404 307782514 109752444 47411094 571747393 842142617 859089062 633295905 724818673 566100777 201931696 688130424 465092578 688298786 438439194 124610806 808545556 282851338 923998547 994985830 669617908 289926695 164689250 995658813 213201805 317928308 236895737 295579881 171909531 886183760 191861803 703021431 491231960 181598446 188793395 251276652 57566381 823165316 146729362 712148081 507005482 866286166 318488167 491113707 880509816 594448324 280644332 150800602 265773209 950272145 566502218 238860492 612908914 922270349 69917547 404045203 98727068 575066993 740557272 200317139 967461655 272860762 525475092 294549376 55613864 548488219 271869540 656555665 99035274 615289892 532254829 749658596 315045439 583358059 861481375 411098773 553946886 798672168 335665973 193158016 49942848 872103138 744003101 909517783 428105518 414997986 615594101 227859007 740127489 255849097 339852359 262957422 914972656 268202028 42355806 864584496 890552414 402001301 587158489 322755286 85559461 162004985 321019603 943441488 506550560 179082184 724894588 764376616 929378883 524340081 43671465 597947862 727571365 623436687 921037277 205527993 473464250 816938116 354778218 536918029 522482426 244047442 441776003 977783659 919962660 636501708 981994639 94110036 275587102 479695866 164590446 180343775 910157660 840613664 596479162 890844587 15848067 777735446 435756667 54402028 248953255 537645963 82899484 325619068 202283285 676227279 825272303 378554515 961552043 792200519 560481043 429710326 208640166 481228203 156833337 587716226 621235942 609118875 91498477 91153945 774499447 370600641 386754424 10535270 696359870 860078473 77210846 309502088 580467882 622201280 97205801 252501924 33968707 989388914 299752375 927566414 406507901 32761062 205894214 469214570 641439163 520683918 171364223 607457975 274859361 283218330 609980909 573869665 283106298 575601629 488458661 947885179 637207476 134990609 955247865 162409473 30971830 924671034 853029448 246697237 413565376 845490511 23183379 274526524 926950445 517231184 877872432 543753337 542130494 480375751 497145198 407219532 867143263 636353305 735003859 451600917 578788156 312253836 908174004 607394402 750385221 737148544 353360228 446136578 484211368 241921581 8133303 980203175 189549710 785418552 872024167 749209802 225532651 822984088 255443322 317994701 98373828 23564509 474250008 917851412 699333442 943852904 506858618 946241673 394170342 859682949 470503481 967747169 750926891 335588218 610814375 100583095 48027696 778458708 858026943 673419906 756694028 10156412 879913015 962014249 838661334 105672881 835064723 275884234 601871200 756794588 526982298 762331634 231720522 767546167 749764616 837962190 192007428 826536536 938350454 179982519 633854812 356293507 460484498 866482064 97224470 582109917 851186252 755809028 213827407 446307038 264763729 84451447 581201877 222861138 79615159 757234754 422271542 287466525 890720749 836758503 519471506 947660655 19088462 412519355 747843813 286915547 384644355 386902869 201216564 508998376 182165748 604849542 551316594 317710871 243608723 722310756 314724212 966536675 817045435 410930438 101134297 939597626 994550715 284668207 214642410 479848060 843440799 741508638 538616408 31229638 1456635 359851436 17718262 993096593 949698054 905951070 250165522 379261478 394005216 199859630 9318032 857110852 658153566 871665236 230706682 607388293 863271685 577650460 417764024 504938664 906273671 129129405 344628640 659370535 776450246 258502927 376623767 955536909 610123942 850853178 905942165 892380738 676844210 446425825 532439049 807230575 48926581 204757694 827977696 92738294 610657626 497734411 137384622 880093436 608967061 610257984 237357682 559082516 379939597 436780466 539665585 756756134 383903509 65725318 689556735 689620121 377044890 948941165 681718003 547934029 592143971 188040859 553849194 524091090 129361297 709160374 715864083 628632671 326140682 893558133 217652771 78267983 659525371 532804046 351548571 214209590 655739380 934144910 705667654 905241938 226048474 790626895 374261769 781289139 340418260 112214016 749727149 410250346 108468777 754798946 293603005 271330438 579678530 467975450 263766073 927405460 428874245 767551879 791954212 422479974 20427327 919873505 405192305 525658864 838798396 681354028 675777152 987916235 411934908 755910968 644603300 860673141 987064882 729874167 600044903 290800546 32784718 200450620 723294019 234694177 2589031 138965016 829932890 982723833 767758401 934337048 327175501 317737169 521188356 27603013 476255085 676357106 682945457 691246302 820881926 566952793 633764394 429008695 262896285 626145563 706773601 464389299 987012810 146038159 675569552 337327977 665254178 55566611 759460889 52956587 303055030 959563386 955673991 715092178 938934063 623972449 728972407 925596092 699532599 856115915 335222237 731025066 269412133 663994795 767278803 859167957 92666022 152481834 658824294 22687067 569782706 980673296 80281708 968303336 410824829 939276252 861319489 703493492 818604029 327176146 661817564 230163733 397530811 748383640 661193053 321914625 485338389 911615665 857530505 679476625 891584528 142272267 259792117 488238898 887270897 400636547 791328959 766966495 803168466 356045162 33524231 457185272 590190404 698689687 607379778 611416096 942061178 463018941 835732105 345986849 86669136 573792278 992853940 970506615 413157140 30201608 640707649 210422244 629472967 952052933 959607070 909541610 195111531 983554807 751194857 97185310 159857347 700159182 34372755 619752283 34922163 391751345 635420827 480735316 187308744 453748317 265170606 440548889 659386459 162300119 876130698 960993441 478204466 132434953 889392962 619678559 166269490 518229884 935546406 312300914 888875888 301754659 908452352 866797392 973090731 425663112 130020758 771062538 122649273 312976947 42881015 220892882 393634834 730926567 789196425 41625570 102494722 627308228 763115739 740168658 438440811 243770035 419263819 986787837 160858840 511161505 545021326 489724040 32859252 930541336 519314726 366643914 891405785 688479113 508482198 211764418 265619648 5247621 503908086 121063684 158797102 513900338 379923945 697552948 927718464 360739288 708490787 865951600 358488777 846790510 949552263 4114084 664634900 503651751 197950463 848495427 336383909 634088356 160840576 684428599 715527724 363431790 702855450 143689407 149715793 822714229 88599043 273752168 310047041 942469508 685681960 902179732 911545676 71454787 16537286 809735964 755564305 917378388 57199108 403350968 452482051 577835238 650342497 98495467 617473196 528913684 638241768 865043539 954597100 304339470 60239306 809443233 960861971 802119906 579234409 411076151 552780152 123549555 832869029 733752990 223788549 224074194 251448528 566754709 783044408 855849691 619827750 90650469 671886228 397454307 115291894 694668545 911650283 125162453 755521504 716332211 513430488 243294150 741321160 963276958 974629904 174684385 70412571 609258836 434811744 661372696 937997209 631543966 669435678 218100289 590196392 243684109 773848799 480865388 716093976 142675471 305244468 705811838 935898850 371525378 98193561 55867070 52348863 443959149 747007028 88676376 507568673 989189135 347246016 247813171 852987709 346969966 305965455 581243178 148728639 90595945 60199313 119937029 164937701 928095290 705555810 664393742 532106078 251891486 682145106 847035147 741125217 229232448 721679364 575570574 684545843 759927929 330236860 179609118 863864569 753274992 410305525 290416892 881231554 301496599 502870943 799408274 591536104 329257115 573290010 588341074 155201972 170193688 767090334 292295565 111485397 526088052 184610405 853520929 602971891 684461388 278009191 499467479 62630326 443651220 318444647 821489713 487950909 546173549 491677615 475212818 556425563 154646614 995472535 432902897 500685037 38544965 592851787 822187740 291300640 233638417 622328737 957798340 663803392 929557983 690703244 290352087 729147019 755053365 246113748 769819141 817115352 232163465 536273801 629596915 33963579 773368327 30868974 57673711 115832892 622836563 675390757 101800084 986409376 700623071 510411721 394406801 555732612 938071172 571977243 21737364 461876312 246424157 911684810 90914648 531432523 769704928 517988445 652575577 165200296 622122509 398665707 508584955 340376112 987983574 346161437 76205905 504719251 862038216 72032804 550840315 217027999 659838828 898604853 575165539 595474375 480573472 890480553 290631602 283676043 474449061 276263481 369614222 113217455 545137308 839010737 736843899 547734281 123794932 896200912 749815941 634523946 200742033 75897646 875475202 80424432 483385465 887147349 855527879 656490691 412301501 20213606 16389871 444843446 627124405 513808647 785061201 119343309 209088305 339574056 528953365 697713087 628079764 359367991 417527151 320108050 872211662 621940209 562872118 124974909 997491188 913595047 660849890 545371900 475488033 765514606 843789426 866006337 894565421 150634015 448046270 429139379 538449819 233630277 408442497 438819052 868677267 687550664 293616538 669741637 119911928 757858939 850011806 612820184 768507399 206879639 748885491 788194619 578177067 966791123 359200004 971007500 378925797 402723552 588220741 649098311 509076775 149974824 257312734 782163058 485673046 828918908 80360223 998394118 231553658 903769210 666417088 959215164 740477095 800695041 563533007 985625852 187696370 812910252 203655420 560642175 482112177 550514970 212693750 23617772 699105556 761954209 427702257 786411985 140675317 460969313 322709908 657250661 485865905 230288522 615226437 408316388 16299168 233995698 847738615 350346165 372802923 964660643 796371996 692153890 518554943 13422491 787969968 354543037 256830277 478852318 658485942 279188649 160822995 665740123 416425141 804284819 954702478 119291713 877098218 588662453 952359691 991797971 604029097 96243849 200445318 411775496 99251547 643383933 78132086 328865254 665696620 238904200 653593527 837222562 306970581 896905489 550075208 135591769 947994380 786359337 848141937 186843876 78491257 828593432 205497423 509351635 492511854 2526716 25222745 47874948 448231416 392172565 270589728 778564583 175962939 416140477 118381947 159388026 252080076 158155548 881356277 662475500 893946 50065597 530659510 232568586 491710107 747420079 347028359 663936942 723601899 925165494 908940932 674696116 394513722 226472582 272043575 960191780 574393546 203935422 740924336 806621312 149065863 494113585 760422773 245070682 810560729 852537891 929107089 444350817 508871068 788415741 89684661 304492490 911764224 626926116 435384894 234122320 617184526 468361508 341793144 937387027 784289987 924143198 546859404 142401954 898755152 928200206 28527458 600563318 359534524 727539699 658122886 561722310 233669808 534939203 507250311 235657010 998909776 458461396 57152360 524781332 709238717 90429527 870817908 777044351 841886036 644997207 113011538 41451608 764658067 365350619 56768371 227960976 63468383 741565187 653509651 382977768 115944481 141052169 300073052 710198004 627498035 788376450 378855061 512749456 847260482 20781530 690773477 286298380 548169618 802927498 873756802 516424221 5085893 644983074 168860845 430890822 261371838 792922550 88332720 904132333 137767679 922199611 832119117 696289703 11332770 93554461 311359656 226226129 889445049 666962463 562349291 924133776 722961105 559130272 92467760 924190608 213161989 421143024 522374596 320189094 987958267 5737784 544579908 832173331 262404348 883502588 896992594 963828215 896135273 357548517 792224478 151770735 143276216 177837832 319019255 380892667 156441587 302997753 889483172 104587529 38449583 739915696 3866574 541603463 563793556 687441746 325820406 566429041 953469254 122122564 301481399 275407714 573744947 147675641 100675541 499379386 779751721 569304520 387922013 859976021 465717614 701182949 377445846 320454357 174892439 149289166 281102325 397023941 601338642 972542913 167952927 89017719 706507842 39598681 301639907 695361401 862037849 83365553 744036053 848772153 710163553 691056362 621592258 732709676 382773604 709273862 144085921 548118340 769244882 129163546 417040148 744522003 848603037 446312945 896048255 620100857 566037790 223282052 856510891 482894444 161267665 776719544 360443691 887206572 810756079 117043016 311807033 537671250 402527539 264196186 914290013 86064226 83792354 756764639 511142481 579869687 915135954 1261045 992583692 849376324 791688559 147156167 513173984 750342383 537825201 104909654 707405905 961686730 416319482 24637455 887537932 798288449 517600082 207562235 894414772 752626499 715581397 204437268 685519873 996131880 459673560 509304293 797494740 630653279 842641847 459550254 804568067 3301800 177996017 869837539 722065426 633643607 981046240 378992680 424804366 89529368 422325525 599912895 980355877 449663667 260422182 444719777 71852264 550650308 641952433 830910562 923986792 580990226 444255512 894507673 714416236 290447774 757469448 697563963 117273236 256320727 319598879 443675843 510281391 472783785 220105809 107649205 50736106 428934247 575403602 915058313 510163017 80102770 92836231 739527961 945041530 347916673 24052052 30829348 434480137 981478495 182903051 185210745 280643728 466051533 850253553 545203730 35465458 976237813 819812580 556624799 370333872 492769080 100058776 322660724 86639669 319322266 203825499 188593032 55146571 624285084 391046578 747389882 729141379 528341761 276351655 43328506 77537860 832854337 497961256 280314702 949870757 169428100 145653499 631565990 907246967 496977143 12670225 704641472 6770463 934164727 185508873 869036541 891777273 74313271 726215789 759699419 390322571 867444346 561318682 590644642 433406705 26167747 287537166 43698583 54093221 636785509 802282749 655051354 769643185 393896289 722977560 435966912 964359143 726058651 998983555 868202968 624630528 248917586 46215022 344503923 253639558 184947973 918591774 84436042 45950845 69501724 993525602 34546214 541628812 307035607 132125095 804780478 952512276 217126985 639426755 389702335 760602145 278389567 152705946 903491559 57750810 401430994 584180731 523532012 122618987 640396088 727092657 566075665 587992197 954321682 324807386 413975108 192674873 541920358 191215194 511241146 1112602 950815172 378499266 423848991 398428030 496030858 314599157 445828269 513495548 314282284 574691130 102559335 72071165 69210222 789594305 321483908 711291911 125382537 557060179 285222678 67975895 643988927 932224615 927619696 772009476 827811686 145404952 290168366 352287057 262232729 99969115 635615281 447425457 522296119 795623752 904899511 329777144 724491301 957846912 160320299 229321569 974391662 390904027 46074771 611238151 818320989 324036178 432167967 617369871 371694096 639568397 679931746 920492851 847467782 15693073 472516037 599689571 354204672 161058647 990800672 507747128 138825394 838052728 616825522 837938073 355740559 640483780 189236344 183423884 570877622 880925434 835329481 478969051 913432604 916776132 542060446 364813566 924637554 407660016 76986895 977626719 682532106 436692989 532318446 521827025 165625477 600090620 813689048 524289617 546896324 941738604 171587806 223022659 870018203 978976433 679733435 764747624 958044468 600472307 381735147 245287518 874938863 483466645 444513398 952058702 659319413 499096965 721422431 177289019 996514683 130317863 128300687 30395964 400637047 670833730 731950385 356891835 502170745 641498780 93017201 353612049 680874356 64603876 208321414 30984839 233353294 444359258 457578629 441741475 982566349 419674445 949554113 331278320 983084635 959473554 660260231 975871773 745605797 472145827 645743132 885271745 472800664 306681629 431249533 967859993 58923635 581559235 455018664 966113246 942538261 393426360 190024210 720982817 379808526 446645352 163788509 836270686 685976648 133573693 124714345 531276593 261899719 678056738 699715511 661377112 983765032 6069319 32334600 590850270 641815770 366002053 137688390 856934842 757530579 793222633 843196850 806385902 50745240 439203733 281287526 790689837 928725369 563012086 347867269 211244649 639090144 104109750 708402048 324435001 223340747 265235440 67360489 290455018 338875652 514437313 264977311 183266934 182355671 556729040 938952915 444979952 970204864 670611159 647342081 375282941 661644265 926554083 188001342 844824664 917546138 799696145 23408556 450010142 376436205 929065728 784429089 727073001 474036111 370114832 59294221 156835802 642655588 75142349 302145584 161382485 238144406 661029166 389942053 196662089 39235920 694722889 312370868 146568688 211443825 712018708 258220047 173157205 967558156 320883677 903545770 852771876 433248959 422732224 294266485 508712030 958594152 326334039 139747506 869409335 54424792 873399233 653251409 342460694 821743232 817262118 601641883 80004809 88536539 487977826 208650175 74615422 592987374 323891990 615747249 607753087 144178952 402659397 733163313 959620620 929188327 725328236 295763625 444232328 175092557 905844942 401722336 67836671 207733141 420016979 989080499 381686765 552851959 409502470 505226244 439027152 344915796 148025581 763178685 71937480 567256714 209810796 306357202 231660791 376366002 670023403 336496462 351772984 286170663 188715555 502741135 11152872 189808740 92799979 866120109 375916400 435381873 677246644 319444750 418629974 952368314 848082086 336886791 358999675 761452217 524308197 208833452 657188381 810730369 193961640 608468348 439238052 777609206 485825402 458216408 975309158 148288577 174369693 781187045 873642454 194418756 68013384 327082201 133321259 11721911 3050707 686984794 306966303 222180186 118432250 313053466 620025943 356686070 598379571 825799949 507789573 708899619 901640826 832660070 365924529 251406450 280795696 906884583 497228145 580819708 751382664 522864431 438959248 221743744 993146416 489081243 308632376 146741381 435674884 234825770 920097925 536087096 826296402 813989752 781680884 303747242 568006130 612281704 667225544 80687655 709105401 891712556 624947067 457003652 125692518 835329907 756413700 453142097 919724104 31567336 346060689 137002696 19905627 668729647 573315142 246716333 27295932 488979609 880490885 297236112 155281366 531610716 14653372 25779541 33592864 866437706 49301201 343457801 173190918 447577649 82613129 560544347 889803449 704009225 648293540 979470438 593337216 369888587 76738548 21451443 786244774 75950917 368663711 513862083 219495680 967333893 490868631 510356762 887696808 603944936 597396527 23179607 205978481 277030337 90465724 417226850 279134989 724120966 435700364 433546770 897172208 831310094 716997642 635974197 691096158 775407896 597379081 698374 145072854 4537302 868165864 362720293 362709030 974470333 898965292 721256980 299583531 490424062 572792225 263953618 969891962 762059920 433393449 204778896 383313004 698158576 225965324 987856000 751751001 978684016 265985408 544850407 320457140 320564618 64397654 178823219 535348116 412933874 282297116 997292877 619695164 453198907 468519688 725042054 227236229 917245383 470494306 592798469 856660356 112599990 728994442 434555293 397457433 734766868 922984665 884795129 741565430 5460082 941862932 61385977 314654554 642601168 983042369 407066185 527571190 371468631 311175958 200756152 629999531 708331671 156706453 832592649 764770281 388702149 311880338 625138011 257729063 122183812 139422583 48531458 789254156 244375812 245693619 205265160 379687928 702682597 728021446 939211272 329690770 979379074 793180717 996428952 17410493 573998763 670590558 998440496 370236617 72391976 44836280 503106192 403999230 584408336 733094335 699069751 938768689 668647940 474498598 876585282 504400315 802740139 602880693 493130434 295556312 138094856 714644293 758447141 297572873 389587111 581729944 16728106 639738608 329237340 86053803 240381654 426289891 729967599 505791203 786000929 83379725 704615415 168159709 321955300 174120565 665155444 489926342 280789098 194347862 998688170 77823891 631662643 321384024 21528893 114893978 904565678 729456134 287751220 812555205 646387874 473493128 975109956 423293935 66590205 352060865 131634290 705719615 141745432 474658660 699956388 12623160 303799999 981489849 33856404 390147669 660517071 7626418 437930383 24544215 127141326 897152396 94915588 870194389 90007898 807418544 343083310 260790721 230309544 472528666 818061978 40485861 537371231 477848193 606036851 651936399 478410872 334943478 852651998 973923870 672423636 199516987 808227772 255011010 750746423 236994716 422304964 729692769 852011406 188645536 544703292 187955751 826707480 140381582 456678661 675206274 543591433 61888617 259823288 677442153 581085312 734424546 214087700 513278523 486184178 807231373 991332092 294811328 838880603 97899306 341730814 396515591 771637748 649494159 210048470 695603455 206236299 688415890 69095791 141728027 311408727 599990003 205602802 355198623 698876899 898368637 344739185 110007664 86595389 591983328 728771089 865611673 475158829 647382844 5250920 106008043 764715657 209252848 965163983 830169892 790303545 486789192 439384010 554291387 769713069 360248925 318708025 917024927 277286672 736749700 88298938 842705274 303041458 371403579 183664027 419525789 329598080 165017577 763131188 936650493 899016265 445483469 239594956 81202845 847034069 353879995 457078219 765315578 34337551 800315995 551873004 811126680 154368364 759718309 847977075 870968191 226672764 177021122 743180885 329419446 113016828 752805381 73564072 361527914 283801229 823682070 404814163 126992865 796846647 639293182 919641419 880338710 437908475 684681473 425274089 327700974 364886345 176902860 707144872 998010157 694377577 645382897 17725184 853176679 477253786 159093716 223791459 108424251 27740297 921623807 954940992 112490054 382284128 448225488 853188267 331913532 582102980 243744442 551027992 156900353 490029091 406266362 938302087 898334888 29090154 859083344 798131699 982261576 366676074 149785314 334562457 377381787 891681271 731062016 891718307 546604298 652206065 628737187 804089115 245939824 350232007 930536767 246424169 892373020 655657885 943311002 813464935 222963211 898996672 50812865 134246089 404090747 195623129 545265259 53135708 347979286 267045016 410000180 191157949 18812304 313308192 84990214 535667643 501973573 773844500 792726639 991554272 846004840 186635847 148377054 752605154 697243320 965622635 830504105 343053493 462354727 638852060 682619832 530404091 354748736 535168150 939882581 593700420 328722279 3377751 316368666 879408 660469456 586225358 985115964 274815965 613320412 533406681 146836810 359601326 185759900 852896862 28584531 544447803 28857877 424533060 195207643 809485778 231035821 741424813 826214695 483947111 712759365 434331933 669123709 506113963 813451489 337538555 838903308 857609299 416052151 97034439 974448380 537794870 266057342 667000668 803358040 27393286 181781406 380900295 921662338 376992571 698484094 788251587 300741503 201532375 546211155 528637046 69703061 743346221 192402423 234768044 712330606 34923887 161518772 654496469 562467363 671901720 134841216 831698423 54401234 137695676 723483417 943897934 669396939 648624177 510804029 12746845 573948757 783209860 81262425 166467682 823359071 229712212 372256594 603643095 895200846 3506621 847224449 618163679 956712263 897784895 750662558 751315937 157165182 515096990 718050376 830829884 167019573 711774715 997919312 422266420 727577896 707677319 85235822 462504092 962719011 726431611 672341675 674056103 950523601 772242031 91193983 434889401 14683096 417298890 682183122 30111780 369650137 907131862 365309997 681259933 822812181 720552058 911278749 957637974 499342217 442330546 811309029 504651219 628177012 110142942 119787808 478129849 42054135 682361220 705700549 67454044 231286039 27569191 572232152 495619178 84534838 401688771 284043319 721147087 635813155 595532224 243624457 40743965 948450707 246196110 454528951 680622157 302203410 939796846 233147844 815950783 181914597 919303499 143022793 250967572 188197550 669808577 249516792 52795641 14976061 378885708 866499836 222341339 577573061 774018517 791937393 70955121 560811564 689089145 301880017 385000623 464940742 66921747 438381247 879142130 978232876 377159578 822998375 790243221 849617691 872784953 911795656 695491309 347287741 476556562 666116864 376779959 544787641 158906507 963429065 250890810 841745764 867144916 545282482 749562781 130629668 196962677 404483088 756275097 786519839 861637561 73219119 684750453 612098853 24550328 105402478 477948418 460141589 160627153 783512249 859407721 418388530 894667608 222678720 855316508 610186366 629265554 668188569 682100196 670900979 107260292 251129055 611344755 496806877 481126486 854407249 661856038 519994451 442873375 430953308 225876115 225184170 387692524 707474932 981406865 982490079 473542850 985326689 79117618 33411012 886238801 969013875 593282967 620900209 907712673 362138212 568177086 622693919 379053074 205241496 99814519 981253076 785621397 103686685 369361784 538201564 247182303 634052699 244879842 99390165 889883509 946552202 886930250 281762784 862487808 939787471 897210300 522305319 190872935 163419122 301431380 597446371 777410173 871054404 728572812 128006294 716282967 845610671 608100846 604243861 262908371 252923208 824434895 931643519 709140853 351587377 67168269 401444421 163173978 528734302 633597448 180995973 864868225 314996524 117297259 336469843 206963967 586442189 79399661 220228616 479772938 581715102 157126986 184176145 617280837 504433365 875252823 177454313 234667834 984714179 23623207 268925482 933083624 696628570 235695694 950885561 729864298 583788303 201043581 483019653 574128119 144002328 114612010 245451495 839041040 501781902 791130685 559415547 31013787 89308185 842199231 247255835 483635003 296851178 798945939 122251399 999599968 20748828 317682850 521034809 164731501 642691438 82832419 932080287 950366176 495935730 456157958 547931770 405852889 252046811 54069588 434559427 166331966 817915564 306398999 373954962 74137733 725930555 309868942 548640349 515622626 205097806 436164568 878767152 805423779 148699614 418107236 205892955 812599706 406680096 382278717 960115468 319139344 434421991 977344047 521791929 379646031 734594416 511181321 893730382 130001973 785859878 792068023 539009318 548157099 548752751 176050735 34345244 149718695 327737720 497257846 288793116 177059428 341770884 56650870 592290521 813716032 698905947 998122890 75948531 121339136 150892979 986863095 799162179 433426401 934497841 5104503 708611403 360263457 706427401 668674287 707045488 740716740 629105420 699394311 765630988 793555266 971955909 420540331 366868287 267807484 413200833 606212981 676789328 878031987 184696433 320732243 872460013 500502382 703679088 238625601 233645956 5973118 231144704 401204833 523780098 110056668 568244141 339931088 674560407 880497602 232549567 372041359 651386433 902952467 703729565 989994309 159437179 717459772 936103966 131226855 107105997 590242330 523641964 691209254 299325811 668431068 169325882 391347657 536610500 523645293 760621514 368209981 17269213 958567461 37616486 996731028 710676317 374200425 653017006 97932410 294691125 467885074 976700191 165632616 467485908 855690487 97400041 733612391 401615184 572407386 153665500 466622115 717966832 331323265 810347183 433222305 669204502 969904351 354052267 671935115 951545307 188829872 428286466 583026910 251981062 300433141 880010179 668775269 881969655 748858428 544965355 139151132 914905195 471301030 296228076 152620867 961497554 343201963 580015656 515491264 686167077 520326409 450710345 889550016 23857771 407065165 655673980 762994097 291422240 795276380 878209371 242411349 550697492 471567898 682967473 800285696 113078196 616922409 311042270 675800657 439455031 682780200 11103630 776678559 601770035 879999451 390065451 915859569 211363410 83729375 831922920 280351797 442486727 89746514 516340955 130193534 17435840 300885977 375527330 447025235 58811597 806946157 274051358 371099091 428614715 188103018 779228627 648079885 709892611 846046319 340406288 188552332 123752526 619729002 442424082 736457552 45266090 306632368 608026085 398250660 332806355 994050613 654433614 980723115 299144519 946871299 604930732 109622440 722004472 17552830 304346471 48629834 415438407 531743465 409631840 24319293 863638344 248789228 836807361 234502585 127956963 817096653 524255867 933708696 808630390 612510602 504582958 784779824 562445336 775285606 943736803 969345886 499559521 246423598 323645884 669952794 388482355 945115003 373533818 444376050 857326954 513546826 351609247 910713706 367169395 184221914 843047078 579687238 985025799 799133709 812264545 883528779 573812066 933254759 321897058 396027179 464026792 293582969 239482474 73554730 812002040 322067391 273366129 276173758 474344589 76552393 949116953 744915218 54604989 910481854 869917635 684682776 958049083 835961609 625060039 229100963 842387247 335151103 721071260 842258477 839218331 207639703 122872126 116310281 822479190 67658074 242939228 240632022 826006332 861321251 45420821 602446410 913314872 658015261 207913796 857147011 204858312 85697023 126241780 740096110 16164562 832425088 152006042 528900574 489655454 435708764 644184955 957191315 435882306 313274272 620648216 436330636 586045925 204734203 570312248 938205592 913035746 114780838 396050842 10685068 177158174 788961735 956002924 104718842 31111835 592297646 842610747 979045079 532951771 611399572 694885333 621005819 792121945 201059951 817422760 421155757 540443919 951192646 275279719 519332466 129087773 226862241 723387312 588938103 720095060 235695395 553620101 466017543 51579252 977444016 103881778 875623667 14964711 238715871 885257815 585019841 653832398 226047429 808943996 528601997 215401488 356250302 204994151 396956622 492697155 321746536 374623635 301074958 931815208 610510765 370219669 599790889 303741180 964953650 535344523 892160617 158389717 63605775 597484319 333687653 824912523 212168575 958013615 534281734 87288718 500377166 304501202 695457622 43815011 235532763 275448641 112849048 697814536 636713133 857402779 149029448 796750683 661090720 636736797 55903588 184660116 907046771 286742038 163348127 585976317 422799531 934732056 332404194 476003276 704608626 653475347 825636645 923275330 983265284 272554137 846819201 634272119 73010942 252646465 871875421 82971550 720033934 311846208 616747648 361983009 977987702 396682995 9530632 326194590 321448017 874117595 153817509 53146216 241945011 356107506 195759029 915019756 61029656 547011502 397616897 665003325 475475977 922177829 383962820 703328534 721527181 295317440 794884684 757675743 318415331 533293179 513163891 5510216 383730885 557138917 886320315 149602394 728947041 868426271 241214277 418692904 657301950 70721594 313104496 653376900 782885878 196666227 107090062 105480381 401577270 467697862 721987668 671762371 551509805 466589187 900713337 115023279 686816621 988463725 811861674 229516761 957871410 380335020 412686546 648231549 868444226 461099001 733923883 745903627 373829803 903455057 93766652 354724810 177905140 466112248 850349319 765202767 902136303 623035277 639653565 370351073 768819969 43760651 981846019 683025226 252619566 505070996 842300518 201955614 121992139 572717222 523636097 9194622 853452145 394651806 202555626 127993469 53669465 795338775 114303667 944170090 279332829 857103621 36450345 909768048 338402487 435489455 69906983 769392846 903682286 204505096 385933023 587315217 932680312 165169914 261264872 53299618 183931846 379789508 706193601 746770872 362107210 376013658 437404966 136438783 131231660 860265935 902726115 425540343 215602128 891391173 693179232 167489025 324083857 389218214 276162866 3052003 471868613 818687970 548555605 685680278 660796836 863372413 734300262 730805962 840734260 128131650 778404342 843244695 136282565 562446837 867170913 852826522 268918883 471161102 230994508 200476921 677154839 568375296 134133798 397486117 399608167 550359836 816986264 640645747 257060506 867367422 714728300 125108120 387990876 968390166 975389356 351063801 655463700 548959973 801242825 747828411 688317387 679743722 336834005 628948413 60836490 642500889 625441777 192466363 628567123 143933555 365154417 696472381 929840154 138796925 77760620 585520507 950803366 272394843 15241486 822172429 28424874 922209266 347708500 432326051 137688061 504611771 844987251 471662843 828359395 736776921 992919385 115481978 214476709 472670376 245610810 218042792 763839682 851672818 444796794 512537957 668206007 818940201 294074883 157782153 551439275 808161301 530404918 462893908 616934070 762567416 84969899 142386168 592598413 149452156 308760263 24326404 48529876 113918081 3616842 108092534 316305758 598660251 339504503 272458909 497221077 116260592 881544298 313861717 857066606 902423171 82728210 721338288 359429685 746828632 934135490 496449794 63944774 238509318 665126494 816854045 692038509 874212462 815285082 640765452 446602482 504031403 324940992 196634285 743481881 162341861 366413958 829449907 378742613 569529745 920263356 542559452 355563819 305508965 302115920 264820547 788722556 372422746 518180325 396867130 760984423 254873511 944040892 504065913 968152389 289585986 558138239 759535962 371118659 338755386 823779685 869835317 40111745 955379614 150006907 794518775 655504065 85932426 677937234 548410647 140442430 212482094 821350709 596333387 719475123 975785870 138061984 775719100 482025877 917744727 982205300 970717751 598955469 982215372 254854251 844896049 649759209 761185137 553194111 22641679 526941997 620134356 721882706 582414844 884490756 779625821 182497726 208333455 555019250 745498900 714294454 285578109 414141721 751076628 932398371 594846011 267656957 131784755 52844895 963493076 196516655 738840206 156465341 605784066 511216816 104600111 477898512 964295512 150037454 876120717 976186696 161404647 220817416 522065319 55378234 939758121 900763247 283343043 77251733 92311492 778777036 389532324 245145868 68181565 666488219 979919545 475118614 850986410 298841824 308949307 40598280 786988367 253974967 181521703 539265467 187272921 90942700 303728259 125323449 108855701 384918777 883011077 891497499 359749508 821908734 491198018 76129657 422838894 826851864 789244822 622373232 426824370 963413224 569219757 540351996 501249383 581378560 982521923 613878144 357852541 766882589 268127091 848546988 193827407 397666046 224260922 305089812 406474796 441662828 805200863 628918694 132773428 987202259 307733125 446924824 393152367 924781745 289995267 266438749 407034968 47182334 491406478 500509742 901436697 512416634 90154362 808894260 829772010 689737623 622422247 873667079 886822875 179625102 108966017 914616002 476614460 884875931 71034167 745019613 977446839 144844277 235636591 655587293 883200234 529165355 970138864 224582735 380828104 794100216 514768597 965407858 273302352 252141276 497049438 467527904 818007584 828608159 831769045 8955272 971866215 702458097 442842494 598404636 774726754 458490033 948166315 119168096 221443652 747621117 325611356 969680493 691542003 282754303 231784146 945119142 712844415 641559364 774524794 740154544 110522205 570339754 520969348 333492837 957494722 373684381 535561773 496095877 248310919 614886317 64659133 889442633 83653853 905635732 958111335 244665293 622907241 598129848 90486751 547516487 572398678 210942234 796437570 949533899 113275743 796087109 382476621 289415954 80243900 422821358 510418544 998144892 465097682 184312517 671792044 185267697 263282 725003043 716714977 768984640 420819425 252497066 757129401 794747367 205403945 52929457 916177183 150425392 816170946 325675919 178879402 350531166 981614196 848864690 96678626 303931872 882147126 931244436 91292779 536368427 927597519 660109732 256906487 972675141 978863879 485129283 550179701 391745562 326278894 881389703 442748246 909308496 981535408 267064751 190135534 571337384 132819707 573419629 879656831 268266865 320060442 637820221 917455813 131688370 696348294 391278770 660439447 860493759 656470378 935903013 285543074 457151868 709568609 779725317 954691742 714355651 302342018 642727738 579960707 65027011 806930131 5697696 402162825 274042104 31999925 875537908 734659786 586045273 398405140 184403935 855942646 202412221 769214444 187424551 376663220 450489875 822387475 608642003 471139829 15192285 720419534 467269543 663786005 319363820 195733767 873954315 268822640 715786462 519791000 366229146 386915587 957075935 15887598 925570142 37515444 363538176 574851385 855265563 798125270 365998039 223801267 969623714 857117391 355962760 258376023 604385005 649677955 960350357 782277687 245053695 996187763 365591872 247631372 337708880 485832686 739795432 533658839 765723613 455304730 74944290 651651775 187962612 683727595 653203061 397970553 684184519 544387486 739270563 959832501 106553147 488474730 601532265 651871403 851997875 309186878 128056889 488228804 164656727 978552486 154193501 635390191 969623456 234758559 281801503 491882400 43056887 961847552 619767145 661547290 915214906 506143826 962514280 611485275 612467701 922898775 734453801 799653317 903662614 712529692 319479691 740136294 635688434 441261643 181226501 824043810 116689694 932792227 929487470 207001834 604785988 128458237 48094763 917229535 444012060 877269842 236805279 912997455 714734893 899947640 455588246 580817763 26328862 287206881 267346343 42301787 703368153 775257702 559591619 943467740 936951128 164622868 359537728 132042931 662977551 420408233 673357103 261779734 423775039 174017231 789481497 205006122 74989596 767112885 538249042 582319084 964947660 871425481 133238382 255319623 742813827 777734143 670667876 115057772 80122310 179815644 298161964 798231476 512913159 61611720 785349140 524831027 126863533 136958116 386162750 772160008 398717121 346364379 621319378 817955699 23966016 365295053 279463816 116478309 253119835 811846942 354855829 492376793 662133433 967335679 202759776 832857917 79932225 566073874 64600155 825517403 706276521 925839003 558988642 665929225 919076918 369741207 357059046 80131723 873987976 570798607 14558929 444132236 488852780 947672463 416733520 508071366 585743814 84169487 842363913 658209697 264970456 595781460 302146744 310534793 837721441 298731728 724109009 415726906 458592239 71277031 776538830 61358453 578021922 144361906 826298707 933226884 523226795 566556045 814383101 965959867 567358995 298040970 687091550 527630268 311137926 62846025 49238950 195158756 110912813 295594583 20244224 173669273 994316231 326324027 58712502 38022189 193603718 399502500 1682698 158399841 621671287 358207917 659694444 74565722 422517397 840383991 856233526 913662857 520313925 461539806 11824351 8083098 650380250 485146299 164784688 853271584 807540227 888921044 31878250 116841304 537074941 23600940 155221886 364907316 289393628 418663904 420365189 839549347 214108954 563295197 782294518 610521633 922441962 284956517 413088380 552592120 651896305 175348909 97753243 634367837 157762696 576093541 231470481 539922747 291729874 306834736 162838056 765312273 646566900 274397984 328824750 349015366 75361187 63282529 369668637 434611757 885492079 897740436 506093360 402259548 941294251 465806980 713361731 335930167 228682370 865121291 222567774 104219346 512794518 265344007 164839348 660799386 574396315 63646808 124460870 718072990 819519892 474671512 985280401 670738643 521675196 791238462 54553776 945960217 409734723 719738414 939575518 784122064 212719293 422503056 747667842 517531261 561038963 303422082 297624150 552028212 369257040 882942885 356079854 545508030 342866004 867634731 178301854 624952740 199148471 710145501 625203066 465178232 923402627 437331866 822790035 312781292 807823317 40881723 310802847 125666747 261124725 830823856 14313806 244041976 349869123 389814212 394177537 358260289 392267602 309446686 408536607 114750485 1207849 469270029 521015518 939806489 380309029 582237622 474963414 709996046 22948991 371161880 563885221 326994465 468510799 409497407 420753357 129031935 7321594 608907529 405380020 621480192 234135939 718980387 590534370 834678335 917396204 61368162 732937082 753544892 844473602 298991545 375320929 782463042 590577337 830611170 816858522 343546814 64056347 247739883 472167039 263538196 327392797 43167927 466097011 811651735 206250243 899699106 548120673 585547922 681036484 958747081 502107659 573186588 144185282 41016141 254308320 434872919 414650892 830180258 827187085 266359339 186804981 402669413 450716903 285342537 819981733 864010391 190178815 670326460 466699718 30746012 30867459 140435272 255415512 612163213 724025732 123621744 51902594 18674305 42654522 181125767 99990300 811364225 372148271 705149586 673727435 482595045 258241263 657139443 598812438 524660281 809660601 325697954 411647896 704799021 961008172 801813041 270265099 940666320 483000944 293194045 515477265 601163168 500355705 735651058 811397279 272769091 49260401 788875662 183947483 680537545 539675075 985410888 945679437 640440583 48660361 84834698 528656977 646042332 735703098 542914302 229731024 106595482 306053623 265026522 160389278 930184699 338036265 586559480 982668075 21583491 981648832 649031003 525628812 953557233 15945045 826111092 354882008 803479237 616846580 33464349 143766304 711157681 257252954 185161071 507078258 361757908 388090546 858579154 475843381 162236910 738134925 943132659 840265370 683819201 218915276 434755749 879703351 592769001 943655854 503865043 956646027 32261386 876361822 38378949 717946868 40889762 236251313 353669248 297913098 529821457 788819508 742090070 563495034 134178164 336001471 503978210 496084921 75969723 650392586 678820666 240231654 104567065 608867366 164249260 217206914 690856274 438452031 584928419 589182519 277348476 941791494 192779496 48708289 580307255 859561481 260472005 430380301 999482529 333462227 449289549 167297382 165418045 835693564 147533391 835622958 1477762 231781008 400477358 899673779 564083690 16311295 489172426 39907442 856616048 621917932 291453839 19401596 765521268 430688748 494092842 590482230 226919448 960737011 190544422 937587633 838761384 41411368 271319212 682920919 718041159 54108053 984428362 700427731 372903300 685878681 634410389 813288650 278809567 25413825 295326511 470711478 511423997 927018401 863151403 330408472 410021182 301442469 872441572 388313440 62344988 696849887 852035962 62567941 431237847 672094818 706260557 300080173 967187641 444229607 428071980 181253069 150188965 16740368 309380262 618332393 910574043 273345052 100319154 590577409 977317714 436259565 685667250 561259603 184466239 76837957 93772023 977464484 307538409 116699888 193772891 603665822 872656600 799980799 309676429 877604669 912083988 206131860 890286236 384026865 522285469 108747166 706977369 532211117 812605870 495526720 986318649 7189375 80734666 616338051 167877587 379694166 416843472 589292985 1898771 490658299 400957087 645923642 999356237 951851080 893673172 521992761 783457934 211036185 567458903 782487481 475377752 458759767 227933055 663244003 197675023 912879187 320127074 223166514 670417620 639820504 414662061 11131884 268442127 264481046 72825788 287719119 329555887 216160683 520690737 506282636 23315525 657666517 309675986 697949029 159153783 987537825 678326122 282993835 305296454 156898804 92754733 573155691 932762977 77858939 486249516 111485833 692295763 460232915 428351748 345068714 853164559 59073269 894360119 575509115 485369753 416435749 142267199 357513732 989134075 846998495 509309121 325353626 399755911 589234539 16073561 847082104 295804756 639788262 835254352 796675865 42116436 626528128 20054908 358822655 172378680 229337911 580158665 503332214 398575915 644655531 454438282 228248265 259859532 369043210 218286164 575110548 40182949 365017325 556463306 135396636 101482722 755228899 615922648 315016061 612905827 235068168 288805722 808711395 371608569 119465113 40351003 184139500 153100452 953682110 153615867 14636878 687013561 749640370 205624240 536614648 564884873 773126090 572086966 713011554 669424639 362029753 895845252 30513868 913748713 322268196 781997954 26072954 749063006 501676994 973401067 614441026 241418263 475153130 276411653 292259263 859341013 601365267 480652871 988604826 170265866 884620053 624476337 194920936 79108292 40172448 932554482 935152730 377362281 691307821 705454336 468945171 764865418 95454364 410182126 795696551 660035154 168477076 985477900 977701889 324157953 290777342 803150237 658372228 196593190 592687808 756403604 510090034 293148556 234493514 966211255 162507458 269210811 656271591 946205468 681837425 360209993 689935655 113044107 695914151 107167104 463034302 601893274 590183113 496415184 792591458 202428254 817528816 396846572 897274667 598522403 791187353 265860058 64540708 664856167 922061000 291966039 449327220 3182187 290070361 87667286 177662533 859560460 41476828 329810012 39000135 104951819 191334741 824022415 442767764 337958676 856477879 498076325 997427626 883047411 579964282 571370286 118091070 388308724 577510590 453529615 15266900 894843250 843933635 834253731 194492257 671267369 815842450 54374205 625189403 724204366 740342818 175819537 84025355 906599161 325852009 179058391 520876153 78493901 820778597 202375785 675056235 340787773 42974445 740872870 558845459 828792970 12884437 105395510 895847199 372317073 323112711 648294448 132619460 760932846 475102695 217288859 758467638 190843449 201357565 907365863 907222009 317835762 270165295 263438220 639961013 560189725 226485311 197570079 824308241 806925253 739499184 313310673 85352721 446379482 70427359 301388146 472758173 441263723 698883436 985346497 610582133 445406875 349602113 699141127 362631175 167647819 447790513 770203276 766109654 516632070 160822156 878860390 756951649 621376825 760471972 613226346 967850916 639524846 132656698 419606146 17295179 411833830 610717107 225329263 195608007 632753884 305383611 398518063 650882443 829142046 107337109 966398049 879795546 100512816 849928908 354311989 675307950 852483371 551312263 290320009 539598331 269311347 806849548 716812546 305735021 139918857 529472501 971299251 106660759 406834914 170968216 666437448 822390378 487901785 930130991 449159070 577660647 102858064 774762700 184885452 260994481 886736950 896864433 313921632 402243719 655495519 588420154 787651286 161185503 241767521 299182270 91402942 108729576 787731842 811145227 646501046 919728308 356927273 259870146 327278861 501122240 20186803 461118552 614214000 920024440 584827436 797761672 607990168 476423956 243607184 968021206 606101299 595397705 230937361 126680140 133199032 760247101 798633785 904330609 676373868 796962418 995214474 130314771 467575546 345050470 433621256 256276324 626831654 793588727 402230229 190217114 828478983 224656485 969791337 763822951 934355229 544378641 335053293 718771312 57239202 652449281 90882759 378059666 151808278 464359431 772094123 720582247 128491822 379547334 49894966 686554598 441060682 353493853 658313104 530739756 709250422 654647279 640421875 757482196 590162799 532043547 391869997 825394701 593779791 191841446 13635355 555920452 429497245 264867110 122257600 379491415 459242625 760475358 934681511 448650980 802391831 257320891 74748206 202892247 763942510 53581676 755741039 295511273 376392797 458738310 808636619 884068968 155324085 190352902 416512075 439314351 770015070 781031833 676388525 864402929 645613378 948028898 164257634 241487891 749093266 252111164 230899375 173507850 870162497 829048735 133213736 211195262 93149862 838596829 878623775 365457404 852257619 572484204 138196542 766884409 640672386 875905081 290874926 487624824 519145943 342101263 887204119 502821692 687307971 487465475 848994209 780112751 310616326 523591303 83139768 639775271 68394634 594750488 474315487 723230179 949162892 536432106 168507131 148966935 861036612 163620959 972669589 499187382 861717784 959589034 440175503 190528537 159439403 481689179 514809451 816388080 823011173 20503522 817478869 937873235 712219494 321926992 406870748 326152760 88989894 755606085 410225768 363667504 925431571 94325954 197688216 430246736 642966473 427278518 374731775 374021407 174356935 679238943 389317508 314049458 28266605 956123559 38211879 945069148 299169322 292488312 486006629 924247568 579053651 805769759 984641539 115613092 864750379 811760708 744737097 724270695 667401695 358378923 497054594 31809586 506271400 649221247 786465766 513311558 803683213 902827514 758126981 619822886 3937954 352343988 60836435 133336455 227161497 397470547 431190459 977892412 671477452 534275230 22970331 336575157 636038461 699119653 757178996 387397314 502128509 923346230 402344023 297794154 42622691 3745886 878019848 492811 329152659 259478157 140154363 705828768 556975282 553937748 272844472 208975376 434515028 805929663 381547529 892417439 458336656 133076516 545797002 52244785 500864139 571269942 496146291 691413750 638272465 710180085 707106790 860748831 284595629 114707531 380647034 185070865 349236896 894450288 712657245 538636238 15148654 418359736 118810232 802299391 419378304 698823127 954338512 685555022 342720178 501515096 876263785 252200115 862215486 365383286 7627896 678782475 617765586 317758029 706229429 701787336 111698509 417378807 27107677 300285602 312197460 437313552 518662155 680465455 735124708 41023967 55835802 297875606 72421876 18781432 446044399 58986815 227910726 638517765 626866851 876064818 842372722 390344995 144100109 54397572 317456828 372402371 419197802 110643799 781404175 353241559 67725248 276058362 20402629 976646244 307353800 134800794 361532526 856236864 38652826 691504870 543454209 726889824 731717099 926887665 556667933 908544880 6614827 902002105 762115437 909187660 445587830 491650885 174582049 167110662 214161719 29107115 54733805 564270545 656125818 985726508 771852512 759169048 862801161 737642683 291658280 954316364 31918874 460600325 590890865 109316871 869193799 261739329 384904307 839355254 649515376 696608311 185901346 384833568 695562785 437474960 608022749 119355859 225308109 785139695 361513857 383117699 316033909 342701404 208604592 564295737 637499228 517678266 567025549 658125463 452707112 994547261 465967954 321251682 482421010 730659731 810915014 90707118 6752137 153641610 395151944 477332565 260185676 955615719 771500811 158932753 348813386 182368842 915308681 40768187 371960212 741921226 112285729 450950654 155317588 608766444 81360126 861833425 19489460 981853786 618582906 545353177 516202629 204414269 323091016 527540756 107211129 383261463 593091184 344252152 363191884 942056532 824931910 946184194 403733514 951257875 215668950 685020427 173269742 195407465 299918849 763647052 833527336 937727007 149705880 648194495 302855227 746470192 503181516 550742901 940235055 221251128 569121741 356828766 27165253 956595009 930105642 78949989 927997096 800108617 358380503 31240676 333445365 571991644 949618211 942479963 134229372 908014472 303901337 693015414 835850445 181571674 138294903 407055753 875239741 485980287 898985417 132675091 581362990 274820139 659198255 393657649 16895866 305689142 52873587 970006591 207274386 525337120 319625727 959681246 319510302 764274560 191146500 635129457 770711145 180114706 999477217 569283633 124564499 460130987 396146464 251802404 878900464 181863126 308551814 935605998 584423113 930213160 348108838 416799067 984116947 607977265 540180371 56697640 282540996 169615121 665162484 999494650 684054248 306968102 488078034 625369884 480718765 319907407 642904035 567342171 944056872 427076058 886948808 146879852 122149687 174096989 950550985 173520145 575036973 33169193 319275393 397165774 101896796 746908237 202466333 551165349 41491327 194851705 690857415 373674436 648035619 532214600 652612582 717271767 974103491 278808254 847288053 595603611 570323406 989891295 127339915 598715001 183359637 967040182 645679238 186450062 316586036 317625014 144292790 685410082 698082934 482192071 392345728 976200842 772650048 752975148 520103197 505110759 626499728 241574175 608534125 528467240 450554671 466629940 757030370 825814437 827430305 204655913 978223552 265315782 757295806 943610269 245341436 254576871 612404553 657064755 598188254 112808980 175163939 638344609 676829108 629356736 789403529 166106862 487233249 301806491 871391899 870097874 404786253 834855699 233351445 954287279 456127632 181004534 144057601 4182643 199381372 744991925 530550586 863182854 845959003 814533444 244310916 75222139 291554534 966523947 434306339 999523421 456673975 862100238 995918966 319451208 514329141 283616837 604764236 495840349 727039649 749848670 517776836 831129820 378538950 143160623 213830706 20522021 260041896 312571708 209367392 78993047 91455695 323845502 125664137 736632531 372181179 834520363 868515628 545140219 674476643 601566039 880790922 841726271 860215619 140107703 321636460 409374626 25560409 13490391 445363656 968162255 90828407 688780391 382317085 423443581 475024702 701759057 441134589 761140295 59225289 924285079 488002977 2022831 958538143 764196050 996214519 763067229 611533713 988792183 613386446 272174703 2216134 585149325 759621630 231508277 250544119 72928653 967966076 529184096 918983639 205759417 592178067 42135346 689430925 907397088 424023167 91463685 374284813 552502833 734321349 411894286 655095635 778800761 445297882 986786706 185322068 459798429 286132280 808465994 617112196 107742967 1037395 262069625 374731728 358099931 570780497 142471041 73827942 26114631 537320173 180791771 396118735 658103244 479652475 726070872 873882385 667960501 379037830 561611166 622226483 734956604 235427665 955828879 648161321 569090666 55023882 946122360 343457703 346018808 51763989 81717005 96778487 895244228 700484502 643836554 734839478 744794582 470406119 159291728 745540268 946217037 499202523 740994988 914822657 339126588 57856056 171216807 255975070 362712984 454813629 118351842 871157976 158043623 365854021 729484249 834390140 337455730 381001741 827798020 194203337 168156433 899687472 56349479 942703173 5051218 128475941 573334991 800253450 317980663 639601440 424956229 812558481 820792455 455456770 704987729 124558555 874435923 648075943 816101429 55541589 888830221 491910186 394369356 897766063 824893496 297802510 862865904 105623094 194149387 583857627 633784651 234451148 470639255 843026038 884410595 105731727 941280096 718821285 229757414 267231756 99438511 230138189 44818369 46728443 966501237 535833302 99697123 725900029 474896824 515352500 215781257 248491094 830496809 385309069 33704946 939441520 452914975 954369213 659090949 432780512 490325452 203419655 233096546 959179467 32296140 455934039 781634913 824899795 704895265 343803126 655537342 382111655 233875765 248719958 673836892 131279878 588189690 612459188 488173770 474963270 932357765 214432826 305872448 792707119 178745808 211460245 721231249 659224289 893460676 568792591 684969879 744838 512506904 455987739 350315411 871901700 915907006 841453097 229243270 153426971 500433571 662589334 542153475 218044919 622301735 632880527 22165373 429433929 253849679 228977136 395754010 348243677 198193796 141778526 250119217 817331211 447911127 34537027 299627796 401786509 918489293 768696303 281057966 596908903 905852027 481099083 288689587 286613432 254400671 972385661 196981405 835528704 629634140 730656704 291462421 763789147 18372710 289990103 233697936 407413303 578155376 463554872 512553860 967008686 762958561 611065091 190643660 29008655 527340277 790819020 720594948 491479186 381980714 987296891 856951893 236690370 43239140 650112760 329012537 925329836 16153188 617739792 150958680 91608896 196544479 940434780 308756380 962670435 212769218 902877744 508794266 898266261 471271066 498441344 705554226 476146147 168868100 971586330 83596029 258030699 43526527 887341409 655205396 201295383 337918491 30293558 344590792 880937415 353859614 467486965 990641306 501215827 178121588 483356539 443602074 269945397 54107331 780767863 460820850 503040761 205119319 685319486 16999554 557287600 494232556 789248111 819694691 319876747 429732212 105538348 131319631 804903092 946083204 51643361 280633811 70377977 339799477 374748100 843025139 69088053 681673963 279121011 861682432 701301383 740640596 329879815 342972888 605734999 631906330 732082270 402499277 300926557 539543079 382696501 831435148 271931195 477569767 838011269 779106662 945220848 209652709 142187390 869319207 816067806 474991092 948304524 74489422 892870695 954368862 512524447 712688854 161931253 37483154 534890208 573966436 388331590 826243075 300871409 265827265 765528933 686248928 914769807 727604177 108847873 756715324 974463646 954772612 395402753 832898785 566684142 904661679 63037967 883004084 769459724 64988648 488519691 748756849 588657449 382565265 91423941 567010488 454598704 836910515 711262476 836470291 381544780 377544807 922212892 394873507 362458836 905711630 256641167 873522205 984994615 617212021 817640684 749479557 910085975 889199930 305478969 659339344 364333133 884869095 731050125 846013199 462851265 950103036 286410817 934700419 987281156 933088173 934254883 558981629 573648457 561788008 845312614 853185389 24295973 88506433 622440636 224310005 647981364 28660567 740082056 562119344 374533602 115042264 569951548 972892846 798122746 911322117 250400121 20560879 554220586 841987300 478049244 734879957 299403546 644330588 753280000 518558407 636446134 296204334 215105150 459389236 863955652 907612883 186084918 249360333 276723810 753045745 959372084 592934148 32557749 589282227 20619959 580936565 895954775 670301740 534230911 440023261 486761139 517516073 644987536 408205981 402009201 630512959 285926061 109924782 192911745 557965083 508590999 526648158 119681419 361178314 592452309 528605625 898521482 452177080 472091479 180267652 37576725 421132314 410316939 116654198 433483525 723372567 393140141 384055802 783083526 936224776 79319862 762605295 884261508 372787111 545965090 763196306 894109131 667964931 751620754 294221122 218148268 719136964 159122916 592215180 81314399 609579201 756081654 322744301 818016953 976254254 647090994 704392223 828439009 442954829 680037564 896328330 884145667 890136153 301554125 343048787 743191118 929815288 880808663 866251030 660027054 722368323 306737352 888957177 967947849 975069465 866736180 362226318 932485522 254494186 877555359 586951631 678269582 965969102 88133520 350992284 164054650 461210979 183670973 792376905 519239166 871198403 383369294 125090779 708961562 287248983 656829162 585252858 431654965 249108850 748281445 421328416 35783015 994979574 240584293 758874102 783278767 998269445 516212081 278289644 510658862 696149237 311424758 210388445 316078653 713335426 684541395 412760760 768637737 698958165 235353179 638404517 296809530 53526235 287949767 74300694 498559062 265481436 210290032 852531940 709715313 300153295 5671701 823180220 445802745 721444045 100550219 710346211 596811407 55581461 896402213 585059859 168724615 672498884 949889706 358629733 387485282 380734097 252037153 569274591 830325230 763760408 297832710 56737559 228680631 256320847 52206269 297674258 925927155 864703075 587725432 303100204 957566884 754854461 203021383 86712417 674668509 838389254 450115138 61506845 841027266 577054748 450937347 907747099 879374975 682566253 764898119 794063258 876586008 241779269 473314701 817883774 998467925 746816699 90703730 236798843 660678359 567591616 880255074 651950343 711937925 998723084 194063154 163618185 873690135 994680458 94210180 921160852 368766652 932684860 434686613 83014676 553640237 691185508 306358984 263538727 334683631 463414832 26650104 122465110 577717368 759802746 770899064 589100945 21397584 621948398 265091265 229484588 642455085 916910007 826091492 439947711 957218438 664193737 929475554 860646718 545712271 725692598 792971460 756350318 857818797 489428364 979212174 733426803 493670926 698978052 46168314 191596301 251247761 146860260 260518328 615862394 287763517 548429571 706140684 140361538 597840512 659955502 644537644 450636165 101248835 75142179 913110929 59225663 662494080 778612306 912703910 117442973 462876186 891479225 385527136 412417992 380338301 716740523 210582736 933145063 371582019 741714791 249109357 293254579 124147611 100407231 330861449 246917843 471774586 200056556 829583423 133105285 488947729 684831335 114101374 700498304 638710633 792952886 569848910 440232015 249075190 60820611 884987290 285596164 597563739 432938282 208253917 691936530 117581401 243094502 335181750 23567064 153215819 698851491 633577488 502892118 896887401 384949052 146258683 990421618 64511119 263363126 66002413 277798880 306411886 239317830 628149865 910036029 883131667 793088562 244518371 918319409 728912999 876065261 356119600 869972541 650970328 718732514 556745091 21180360 993680009 74505114 652812428 876658888 11600423 434894355 912914354 267186489 180678998 321922004 305084411 112126200 193498371 189849362 886776222 352467402 581965809 261876805 97609780 67853611 82745138 853654614 574536183 693307372 536732044 196560923 204641754 324138276 549055286 544999149 689372622 148152340 964197603 594478681 663275505 618690580 97791957 722598976 178429539 584878284 944741112 623283575 201795978 693194447 47817508 904544153 78546970 799492395 142437520 137932700 273188589 247543820 729358211 13835416 351138129 3979603 166854734 107795343 976703484 995528573 504439025 962027674 132048538 629079463 497635862 512405946 692338716 431698103 626713020 124368861 482792228 876392066 462748161 396330898 126587174 607758536 521263376 692713704 234053785 459110073 376892341 574915954 761118565 738682963 198746359 306826590 671283420 898050342 177406588 112647445 11394975 733301861 981140151 790954335 919046542 11357559 496524188 239883589 750379150 135496282 304813448 748092700 771464251 638483568 536857730 510941587 843994393 614384153 183328362 973843397 256442526 826280002 488649747 923653896 883603665 645585362 32293812 359640576 209529761 493701390 82549056 574933921 450106403 177619514 132255002 259897234 614535234 133048791 372681746 253662167 55728800 369310541 141162201 433470896 848747551 850348892 988571359 500169101 152883888 261686203 78174559 286061647 361816076 159391471 517111585 408871114 584292659 161457801 756076660 978267293 732229285 759815568 245746351 550861094 198178460 636659564 270300135 397696805 135423157 522251301 85675730 380077927 374140524 788458706 714726822 371771467 597989868 180943262 670864211 970982216 955181162 306825901 529691353 743164786 807489211 822374194 756258307 570877220 902542738 802200854 846101972 765960656 83342316 498020379 807265900 835896032 642932092 838644343 28202235 393455089 726239780 575876082 34185818 537208857 650316491 202583171 894165712 3675232 368769099 887810109 27647776 548476456 86312754 622623317 974671644 147240606 584119491 782238115 337018063 836540603 551894099 480293695 676240239 363106177 845048962 237901648 972823302 135325915 977525368 666663444 611968937 143367879 500702197 164711153 433058928 161624465 836097683 591632102 358893373 256207101 462713142 812717503 492692007 775012080 768569701 181551044 522767022 43336455 853528247 556444479 9984260 61965809 799272408 521506248 239922972 952980824 216890492 67867444 620760760 514187226 541843501 517162503 182535813 633174760 240271818 592664113 95575285 440172359 873151743 604522385 297592151 772596436 281043483 842091926 239825624 779890467 927356446 260193132 410728001 82155982 137024784 51392710 708113622 549260995 869650495 308817604 965655013 73995067 467032863 3439015 417942790 324509992 703908001 68200126 735917514 748181041 674378145 502962840 510458961 649151572 357794139 689560913 208412135 166595634 487995045 851107329 798180110 757852612 96948990 415200899 693438571 948311092 704511440 880955346 988631334 517921072 250843079 891440570 406307544 825219374 712933383 942451920 190044052 995919101 219930712 253423732 458256937 919744067 545473878 516185492 614052724 985663009 85508562 41201790 385497941 589511186 399667577 938288286 846098586 342486636 761443028 899816983 990056460 947338473 580525334 42556047 106673461 679815066 921917528 168161790 113495025 536768407 76903397 218648641 620017407 292443994 780545719 835952147 852698930 334142240 791603767 138190845 882333661 335289682 992132864 731870978 101795482 700762169 50738883 765564363 358030 918502349 476262584 610959841 158349153 590994271 808952196 546922146 533905700 673154019 849214242 178459019 251894691 38916981 614805991 856468762 685816766 607727273 832066388 42265680 788585141 745235231 619124511 645768550 664721848 487765144 299249822 908795607 209777993 687006612 246397593 574164142 644339564 13888779 576797995 307540257 746289800 616061226 303336044 992100720 803728748 826680771 120354706 305570162 98155001 211117530 416303607 663971291 964265094 313112670 132204433 261892430 437576491 288941727 734463922 819064914 7946035 38960640 684641874 465773554 250661769 583124767 517725358 114864782 322493166 161085031 396309272 64108714 279891383 909523101 32703353 363404811 478115569 29490780 626939726 912697067 916535064 505153571 247966753 491486157 876047161 169823789 848008760 273595967 434772046 970291319 893169700 247104663 28318042 181797937 256781947 567132740 421566867 812666237 710210594 983137098 771032122 369618203 269635635 663968134 910418489 708480718 323882242 508834203 908915071 201685167 864963377 429395811 232681032 124451495 576736437 486714122 267323108 706180050 982581339 573778985 713083396 158353491 583534430 138715514 117739536 249914192 706982356 82341659 585802739 791832514 591404043 308770613 323652844 13853231 638069037 813761180 727062369 663401204 584606499 190844132 671390272 112146885 72975676 727037495 885510375 984695685 191250977 256708795 248852265 713689569 167323505 241590401 195765147 723416724 834621356 241957662 387661911 455561052 828316513 801305767 147638939 882018324 502396693 987342522 538754685 984255556 284911975 96141750 39209052 973156273 686196909 170753402 487629001 821114573 437306740 567230838 647819672 583961838 980371892 327785045 991992278 635715735 574807794 198327710 491420648 279025983 584049863 738175355 245302350 249969485 37474116 682591449 866897310 466841379 54522619 553157369 674669963 695096329 508606318 680808476 867874308 98589263 702437178 559299931 781420995 927929724 288064459 145098709 672317618 397716067 816861324 520864564 240564379 24220728 526803523 762380903 659492422 299207163 541980712 198156932 608416282 345485756 435775881 505585756 291601759 637429185 819841563 258533787 625992388 553254664 926579039 626558443 113782893 388135790 22069024 397833685 591310780 126935494 536635101 589722105 568903403 989736362 8975446 726993764 23068528 321263280 468901242 950155596 892084976 62985714 327290939 338623388 557767748 801551061 389629278 155463290 274338506 716412283 147368911 628623079 316714215 669724152 781250760 696602588 412756485 146592500 990690963 334709010 124454003 789773258 838992734 159212919 648428351 401372914 18316348 229833518 451984738 409618196 584367673 780196422 691076460 869193193 83105217 318394294 402837148 468640215 171612679 529514483 562439255 255422456 204389203 656325043 43399222 411343717 668304600 291167903 895511902 445021511 205206025 823612067 128512523 127622086 555997309 444327478 885269696 144841001 394053358 590287250 853646068 838100311 436339974 593677089 465524824 444756521 64158010 348873857 487946412 281216925 62071543 547241884 703933151 901791233 737438692 133408259 878148663 868327949 185428674 462427178 434209077 83639317 238401716 130583654 633769759 770961436 529871141 934162496 235704289 138074587 274438387 833473076 640154690 486577230 61971004 408524810 921861119 998513253 757585664 320259023 982106470 554718795 809711856 777762727 579764024 928704132 557411275 622398267 925539846 314078807 570347421 771468649 986282143 643046023 84571771 896220824 463652156 45729818 616074862 52164024 302610825 494711866 129240218 381407425 870109674 684002310 585496212 978282787 496534640 467160123 439071359 713745981 781461111 536885941 938276397 97666599 347539576 167191558 51158975 172788801 233999964 636118009 170184393 403875421 580025807 442884259 305469607 103041685 222896038 921043542 684400630 921219763 965993306 59532582 471703211 697311349 156622123 569956960 317418591 717973334 936650525 488984608 89633282 450241664 87970771 815471006 241216691 637356361 358179091 133478123 543750442 94759328 141717757 60393991 177141487 422362500 476279244 444829560 985492687 787528968 584884735 676675645 868041685 198746166 879984371 561972278 250012011 508898132 37019958 856658453 561959558 686909427 736814677 270730805 861940612 899889602 489360296 547842942 342165324 647051453 852464480 711557167 871655474 762966415 14391035 57641907 180602655 506498301 955512866 536416107 196266612 644462644 628421489 481902802 445108657 74443375 121830279 139932231 394330537 746557428 458943552 229282527 900066802 243958581 486606098 9225871 964575101 984149799 774094869 638344818 528561199 432958476 445399768 158055426 998398909 852937987 709746935 921448218 795138076 797858568 163942206 789395367 839828375 773905798 150209490 879596466 565270598 986517802 299497850 34154156 599526431 472065384 985803570 362951223 725112977 309716807 980264334 79124318 109101402 640569872 956430437 482904524 935102961 614505224 404565392 620263063 511494187 507929344 119793398 305981230 91627054 352867537 398174235 84687705 7981090 21429561 369181710 781055945 981770088 486939148 330368520 8844710 498995423 405400883 616161760 20920758 692444534 868862926 7791845 149598575 25640310 318951038 6644544 959240839 651326181 654507356 290180118 674392457 791408613 207014386 3249585 858719005 967599950 799670390 119422923 129004665 758540673 568553057 839665340 328941290 344612851 270743815 272780304 368537436 68934593 103888961 71496191 856681458 545816573 767577655 318357540 276478619 368550499 530472566 769939891 201653758 751272088 448030144 547822918 221174318 740036065 62838907 935601457 575063092 344124742 356887787 412844956 749930808 991192555 315966325 109674664 695927846 117998252 264493177 937044461 747222892 687124580 213745347 548492456 223777965 772273535 415151318 458507266 446879072 136330053 288882088 566882987 236534506 40379540 956684835 239675806 545847686 700000440 11586804 452173377 964293901 605632206 757200476 169570772 803749456 488993870 453798710 681007209 360962625 122342192 909614177 249564274 275458639 875204215 276595604 430438809 363062496 431958327 190553911 566613224 260640872 478002345 205014910 995148941 966593576 60414445 671498338 168344126 528704209 206483853 168247856 686592301 156280621 101001335 753801750 448948750 547249987 299691154 874146348 707913443 525459364 599536098 44360128 519343663 45092378 170382891 718537681 825016695 366106074 692480147 940757932 348409914 613320780 448064400 313720362 457068558 839913279 480340486 424197130 432414102 182567989 644939847 251853142 549756574 242240293 236640510 360743159 237083138 785051060 426774723 206351544 388514264 426702545 812987960 48498033 209607591 289852265 201324342 890226735 965883293 259829146 312851641 530040157 656574747 827839760 294107277 325492960 151812173 673134347 662198043 82909266 484720779 195096137 353393230 889687368 968990071 336904393 801380206 958598981 118893097 102880584 54297714 20278029 553619828 327047218 92927720 613147537 889101216 762080831 197583438 631609103 714150830 6735999 412549913 419186123 332147542 255973473 629480207 138370045 824639693 20384864 157672997 877750804 961657407 105620842 165076262 429481285 806324039 993043060 379953223 475055923 974356872 686173101 280478188 13020720 113841925 996409780 83663749 505202223 863930311 583600618 855443511 543167001 982230863 622843934 902019958 85116108 633639934 693068579 82044470 308010097 933566991 352926613 38619725 29682974 809465322 608088016 230100436 174146640 582525666 476794262 353622705 478888442 891984728 487463296 40519977 967952085 237136309 418478359 37827912 204925051 382439675 679528242 172808687 514284054 27100052 403340491 671592845 789731766 282355904 49344161 539452082 869522227 466819170 147542965 475043006 10218285 409772429 488020485 132039893 417962928 807868415 256580758 164501475 411477282 474314132 254431737 178616332 961140195 940137631 575125180 383740608 56872069 267347237 493279883 248288908 428640821 760167826 708315300 314759278 246206003 25694030 719094892 863275350 320628768 922420525 197397689 541298065 297759495 781636038 912230274 341586957 250514640 194842984 935902096 636339034 375283258 512224577 460513993 822476328 961073594 141592875 847779414 372893998 993902779 28949831 577401408 826656817 845218851 679223894 263020034 790447785 491985734 496068631 520527818 926350819 922679902 212685709 277150105 518099585 489024345 754774311 952684852 744357370 372620605 60947989 10147861 969495891 866898612 662199395 327733345 723173937 591178940 49276786 239209403 254426059 633234446 881723274 807263906 578264290 965710765 230363002 545323240 549293565 20690978 423299524 722504868 71748342 352996123 987312130 992477164 475075041 882926380 819253640 400919027 535949842 700969158 677069127 150706481 237332366 339869756 192930992 92032880 332539938 198837115 20257917 802714200 230686350 246439834 971623438 392498393 739724805 225183016 338090828 23448029 594596772 708264716 886725568 323523222 444368963 724209583 315884166 620722224 610121470 250317398 157356440 15611619 455109617 619891245 197537104 353158068 168687199 695627777 297795714 696853280 887429652 567799690 469124245 651252818 596760371 292548071 363783173 513563246 534153601 314143279 655518865 763755712 416281696 127636107 198901930 936298638 502681393 687531598 721167812 870117818 123124123 38677248 594769993 918528268 615748938 664519986 498225626 222527692 733877938 277380298 768345836 303695969 777008287 207243504 860503480 442925440 76084785 37117298 113074511 739845699 807370232 506331694 912802676 56722201 252464533 257515421 157470793 155786521 944235781 420227118 636620831 803131784 100609016 251076695 968630481 815860591 78514706 641206872 288058830 666771636 957838224 810170722 744327214 854526595 546644629 512805892 357732542 58115511 352920182 961303630 712371310 134568032 291126404 217006855 175630575 143998892 916778559 147788329 365109984 964028795 541711847 387023903 8025847 918999620 125826628 848527662 160822337 984561757 246718596 875594074 808689279 978940817 458591589 119336380 434869578 155203813 34520213 55961993 318415884 122052688 636654528 577793863 705400284 587519952 468431729 708488720 381713034 920714972 878725554 942364578 45847002 672121627 838923230 6824774 684694682 824881639 51183056 986603209 498460852 972223059 452422258 54948903 424275780 773547536 30208554 848069441 776091450 973288868 647503649 519369329 509280012 2157829 468813852 693094703 239601968 181499405 642871699 349907534 450871218 149366751 150475535 843978261 791877955 784554385 644896452 718226326 55806005 281051552 915028041 14110091 624101191 558492647 882228617 797063323 16162510 194778990 626991874 730981665 358454363 853366834 650538702 208723759 492640288 493432638 504003432 84954012 935387088 740660356 698271715 916535016 805738050 19653381 543284911 381252224 725657862 508558516 422329730 57718421 6620709 322209431 872852527 369048420 737172930 123912171 277775030 823505675 648698998 937892147 377062086 477392791 189834589 261998051 622448679 587855226 280267192 929830605 563950629 5075161 590944797 68734850 437660843 645362824 247431482 920687365 48054570 156707464 633298554 132482668 364496708 788690206 452238800 749724972 48723066 802995010 789169676 362050123 809687009 845280918 132393998 516207048 989851447 917119909 346891569 901597531 221187980 481782862 880309385 312082822 167635542 558950458 916586459 34918570 736505668 636552730 859019305 807117498 829277814 228531946 418303760 760395915 84323081 905284584 180396634 183494797 35785467 357936540 328255578 403788396 621104542 318437360 738463046 58965337 376933386 726581454 201830033 256444021 71682284 794781942 644150325 34167712 122451384 434828260 804294199 782013993 733489982 434362327 627883103 973037233 458129401 352527962 666346182 987772492 52015378 214201371 882617425 292630057 883187934 350594120 682685674 815804750 213895752 354809521 911116375 248607686 723818822 520059507 495722769 974112372 146883528 681766637 415450698 32664143 824384619 462688259 650015750 282342323 615308788 347395050 271212608 40788112 616007683 309682599 410340879 7534315 379899986 276628053 310676275 54894605 295948608 481035995 677049530 488988710 426852762 358220195 982248065 341444390 439456344 186199743 558044003 854539099 315720424 117358966 810717885 711733388 551196653 121296242 594578338 548204683 541695379 276969437 302151382 895441021 269947410 779976844 912087232 299701366 282212830 322575028 780850877 352499828 217064300 715679837 406947231 801769710 976084389 953158023 106397419 946648175 158806161 516896265 968073501 359704798 442449749 659052136 127820657 612059246 588698710 841064240 92721815 975490849 983478932 208151627 351638857 649554706 361308653 907952624 754387686 256645275 380489864 814326696 277329040 750780414 601995369 817707973 92593640 521304500 742196290 671971538 222745430 684424109 981474832 641486008 380878651 221228805 273281096 678504317 518503279 652954367 833383793 652004045 94851029 819718808 604642810 373207419 758587200 748809767 882150985 793413100 99674203 601878995 657632195 74265937 468900333 464399631 672853232 591420537 784849181 850880041 235531394 5544105 299935773 473203381 151366526 780712915 465063840 751782087 626189161 91284372 721613843 649946165 202527170 556192195 509379246 578614430 486905575 850214012 575256966 583299328 836266164 677480537 911059661 125958935 817078138 816011865 163109615 88207235 861677598 932701061 92790781 172750776 151468599 182616884 624812498 514017866 374175390 130257947 465002797 189777571 29602482 323330274 185085601 96368734 880564564 656054205 565595442 540781513 833185352 781363739 157077924 970255169 786606611 280311108 265422898 420923010 506081587 117049165 781522022 5714707 335789164 809982916 823902465 959403369 73494685 965575957 301770730 662934470 897734996 931791400 564728338 610863362 196262660 731196609 833760262 666323606 533408791 198738203 80640219 65071632 623492803 824279206 158326415 956835989 913140800 832472292 263087487 392202104 351117924 553137263 529854894 974539234 49328285 694413994 879387478 959490005 996301803 257108990 888385139 545221357 621751632 70127281 170556232 236244560 311933828 428073461 628167716 649083679 686201913 37516140 406533042 52046274 592660563 632599726 362144711 148920616 44644536 626246287 284796968 900404099 499957611 685470953 456801664 105604932 875070626 381185862 472801040 323549275 271657995 158425641 91860415 461040346 632829678 86343088 704390491 308393181 762537396 280439870 425043429 489560753 907039451 71834965 833551676 969700317 602723762 258867770 575703478 581687555 385339609 356764336 909179199 922538658 782994328 732002324 768251649 646458994 125821439 934080131 88262413 258314946 496800194 707135389 569477260 650889980 314961767 453944429 795941769 158621711 12234077 172224162 507410 339192910 233199674 643719947 138093687 784751286 198997272 400316510 739835916 556541283 972435289 260820802 849641184 262695360 992213205 778216504 999865511 112501515 28623937 97179082 989640848 163597471 185710779 187843836 320638094 687071739 30956330 919123152 722161502 549298665 126072128 806728601 367411171 511737152 162533260 852200845 847830491 872708541 579603721 226761307 336331270 706426485 402508587 302097160 474264045 653345862 814728177 640390890 840183582 697735715 704432909 231887520 740012931 32607741 44466732 535009257 725235815 1777551 783368913 344601419 971122267 243980527 150153170 706953361 645464465 984249628 234021321 824987534 961640086 608874506 990833497 433023913 393449263 56490800 773697096 131881105 338444573 663718057 502785770 226427564 77449490 80398836 938481597 778286555 805449681 849524893 855758964 624098036 493434225 926535082 456735336 343670268 764661475 513999098 508609425 756749633 459016788 722763417 98466846 887485580 230359773 626922344 334504097 3015774 669393348 879428226 291123745 219243015 280331421 866305496 125840362 291986664 167662827 467664089 638292684 876023763 15995885 655792266 503416010 707096914 573609045 150064709 257731195 731930647 137905780 625214951 110628564 160058438 2706360 588437140 589400215 71663846 408917165 921358211 703049376 966141285 152085561 449935804 486575959 440861972 574814906 660165966 469730012 983094677 883603214 312195152 771881055 525200876 590105555 906444040 188082129 706700928 658757309 470467908 942769964 93847269 322449340 174820471 7894065 58958250 447551168 349236814 389771850 416989943 24266054 741255135 626659138 684880860 937998068 458633803 607642491 751183375 201189072 968368452 484415340 618427513 432879122 660495127 790761106 360306233 465590938 709345781 59300740 808146313 67448615 101225983 350034339 770314966 389892746 58071531 658354412 940509314 804400616 909866672 440906856 483266073 586220970 365387941 337248296 606781310 700212054 442308215 26668441 754153380 72062 879827878 503885663 388377357 534279158 955309795 566200291 206052314 605664866 394821609 244281842 992985768 562978310 908338791 583892770 623728470 462410696 322095096 30222420 228757777 312638697 545423822 252264779 770582832 445845639 454108067 921309372 266889243 565902174 31095596 978809921 284115036 130245240 463149991 655830510 798503683 718409031 111061103 589900731 452903574 678827235 42078985 202043313 946468018 183251727 29117569 217096251 715185158 630649778 742330151 651276580 902369190 925309879 109577641 178283074 783048287 30037270 193556347 990697146 304248495 700841984 467966528 983369526 86001977 221117962 571301764 159992211 90877850 175642819 262798408 837514059 41847824 439513611 32218487 569453415 121428953 745422494 63565374 478061872 948043318 200476126 423447873 402080723 498919092 782209747 653414649 590726986 801705225 713382144 531870069 468066769 741223711 8523724 21139106 182321585 112844622 247897281 240539715 493234755 312624679 823676927 799321454 198556841 817736015 300449790 938029485 695611406 77199757 999781444 883055713 211225193 675118229 372598497 96676052 592107267 314691583 101371306 671686321 224961986 324288855 993360506 418959904 132532115 542650080 474343656 795291629 952613472 976875626 339537091 502550274 659042216 937256912 123127041 18354943 170816287 197057425 583481489 90562272 372918017 33188064 411343423 962570355 719106858 459310353 360150001 50015421 130648321 293684442 463035047 550602958 41950926 958528341 659368208 503000881 351031363 129441911 449028593 66114877 695241392 267120409 677764507 639261684 424124502 86794491 205175515 189858616 160307312 842134311 587420165 909530915 428148809 750230555 279096025 802591836 423878374 698776835 649687762 851332523 233532742 949317184 840750840 42572367 297863095 714716530 773988915 474419204 479658159 791977080 275289660 574620159 467717322 171840883 965793787 908230232 693373352 63875799 346201458 289710769 312632239 466988892 499911141 639644642 381315164 602282271 820574549 89435255 447390730 113626175 554144003 380396176 596105436 500306180 545933118 389848208 274196512 145557844 369012551 107278317 739428745 912770430 583717224 326485656 364095840 726518891 937702715 669830853 755411294 358663923 959152452 577620891 580955816 484670061 622187705 542855209 442691234 25449059 287167372 913480857 534851068 818907691 3768307 905112418 163047987 918872997 898353147 763657800 264547343 900480454 929602811 766202776 62215896 171049773 989190478 21305237 712078070 226573852 24617870 128753498 686094036 69966254 425662016 372864713 467543945 988430744 631172184 166296459 227127320 160738880 820822652 762799249 644933839 392803373 73964030 525944601 755118409 807894680 671621795 669144957 51400389 955209433 207632488 763732573 814068512 707260593 870474687 636626334 83623218 219448312 513202291 452186550 728734128 746676392 929274133 191665360 788041134 279592691 710218511 879948859 324869049 34592476 187549257 559911191 687504429 378568419 598715883 879538842 564184104 232157960 474474382 704807843 99790600 997668103 599166779 83461317 473918056 168627791 856808503 310924505 391939572 135796818 783292494 120023546 156753400 431696649 908373638 66567245 336071206 874131504 352582176 826229356 293947606 156440233 507837433 512841564 387328242 421529574 405054505 44308350 752190809 193865275 632035016 97795518 783699802 995887537 326727351 756473444 388136286 893450704 183775877 944741375 430068216 892233966 323685547 995126069 575399232 88925484 999792071 246083719 756418690 555537779 319788659 802454611 537842200 36320328 395142839 313481885 476513153 181444306 829717512 742832359 276981119 28466245 145126386 926782326 739160693 671597531 467531529 813583069 121227928 993101595 192271168 931408536 904870228 480992112 787878071 918398604 892027693 522192828 720499153 713110604 420935949 19226669 705506676 216389764 355149387 356994350 359169815 201482442 636404325 843519355 555110482 721055502 938553182 96417219 289680904 134000039 311556113 900743505 390657499 29413355 583749417 255349184 79912065 284031938 354134764 706479887 888789284 14256977 178311485 581354013 590487014 34997097 261834647 214751700 177254885 708848477 588235877 291645016 483222959 678981969 830387690 565337596 976152621 189433467 198539477 14053770 902217669 744722216 873029014 744978058 567709261 356529636 685006646 122953493 796449425 600605827 483084783 71837305 635293928 388632444 780219747 932594336 678484100 553204224 398911114 711646533 242689737 305632127 971414347 700297887 389971862 668287143 187792124 682822668 583883639 649670601 318882128 551275825 435746435 831600035 293183490 584307935 896164269 564403987 430763611 160426326 126812783 900457025 911962813 944564667 784241048 484101980 820128 690254312 39903152 881627864 22377761 401717965 734766800 705556742 664408500 28420670 185243596 822528720 581773230 429257283 152336567 866952511 68356979 537077233 749110286 206744886 530260232 652858899 429254212 609335755 243954049 607533012 80774836 95642633 981288143 739634029 286816898 454264238 719507523 212983283 101924900 619667460 485838070 708205055 396904281 843683016 575871325 830952707 911530961 142876233 72540357 727887438 293382529 472645140 620409497 960839753 110758951 575134581 103223675 629331245 671576761 870590338 378987432 540126994 698545566 171857507 515152556 120277638 917585910 920812806 793719487 768298559 526012754 176908526 41467018 473353166 376832935 528946403 22614151 309324111 427946826 363867996 678176047 318252100 521362035 388545987 612594899 327564942 157938749 823027507 484416327 694182315 885196911 121345648 181776217 90938094 212218483 184077864 558406477 220958107 967542073 24769619 307366254 832287565 828667323 227714688 560876868 363587782 860783922 388133194 469767344 402861029 869408923 893902236 391413890 733949961 922144200 19300937 307711107 755511314 948513292 251066252 757081110 598335489 198296592 952963837 220820207 604340725 966245843 574272327 426035536 763603707 958189122 224091974 800652444 139999956 248583350 926188194 896680810 295522215 221953299 164909021 95966975 476621681 556051678 695087830 588444353 870356758 887740640 750740680 233010085 787476299 558792615 305840537 923524624 276603016 191927188 316763344 271704111 812372682 897308901 386848458 998525670 780854452 89219078 445737896 747417723 786588155 739641057 800371823 546179847 564511760 305772982 575797942 938962352 459391305 170771996 149881551 403521885 91299408 578660516 337394991 706180914 971370275 566722497 887431441 818889426 32926308 335551042 721535382 422967488 393269917 708821808 824286380 702922570 86361457 306126690 370638045 223090847 333000422 634747794 613454166 278043039 15076946 287979591 812817287 131297295 585444288 290412726 120832226 352732198 335269303 344519593 570832692 116096173 533504944 35983615 487967768 673611954 142607999 994978730 781364195 911030251 950824756 788972238 753805782 284193770 915348605 908507944 381073794 559908930 442050217 467354166 167141839 701811464 160076431 720708198 918560995 495456568 956962154 641503498 562405171 705564630 922446308 1295507 122427064 461167086 936457647 6759773 66477215 901294740 999405456 40784600 755109323 261880220 977358054 946045134 94346652 816234821 664411823 846474963 848748709 763500583 727872361 342598252 631974009 234362407 36045218 234018797 371643902 493443483 800115915 940664399 181030820 5306068 876523117 967935664 813453721 604598737 712904387 526549049 648702835 414036239 351640522 211653453 44752329 297051800 205645010 723443202 567829821 376763501 714984514 289014562 153183572 321112245 381901701 499336455 654525791 969125713 585792332 98382871 801950100 745344107 854309292 920473679 26454362 989895754 560618733 556369554 951954168 127217979 38964229 260439130 548749981 285349962 791323052 511053924 9949160 349227423 236159301 78349742 64593494 752344983 407364584 97019845 595900782 16880091 539735263 472100214 59543182 86215239 351198857 871373332 346492963 339016659 827850545 100548596 630209321 360092507 562167250 72457262 984650817 384703243 432894666 100209298 233916506 32830656 479238728 364170943 696200987 878760937 378093513 791582292 996609579 286641405 471508909 866204318 184515740 592101557 541208444 977250509 615974099 377965404 874665942 906560328 933756036 764418311 80036882 574111810 541184744 633700952 759883886 343811422 89788428 724732983 349124853 25744386 843111261 197153342 424879462 282814081 56985721 639396642 390316335 603074327 972523705 780717186 475642377 806253830 877450530 830638783 605836539 636667110 218547125 300656979 429017740 823244126 277838448 67750033 973589916 208652124 18927803 822035927 560763378 213766675 893549751 325748714 721437995 859586440 556488920 954887726 951884779 817959413 483434285 273016348 278261255 403595811 382605077 918126282 16947821 12817485 614106882 732930972 325414157 778085203 778774532 991893647 609050117 934210998 933553421 881168034 694562831 726758218 634139641 849326835 413776327 979600768 243950061 998556292 258238283 728235868 950278345 29518758 324561922 710578822 213643327 556876149 650743445 999273699 767077829 37734647 191135014 667791972 393074026 682022452 776973206 609196076 524020567 912753620 614193764 933571888 423827901 3538694 529704259 817895130 755551318 720481480 132114036 414520028 408363987 256858385 336405508 783618288 266504732 349925935 363422069 83093302 673648514 916754090 687797976 395648171 665100520 240859455 106002385 425272250 968139331 419541704 546144607 728768420 21759419 738697675 398654575 140687388 708508856 91967086 652473774 882440391 553500504 513611592 209409307 806793820 869084139 316070962 902032553 918589553 904468432 539512930 243753302 598700075 969191424 892287267 176286029 608051760 281482637 864894247 392562251 381383520 773506375 699419913 858157879 283783990 860155682 275444886 432199507 611875887 624040385 491456053 685236956 266486257 739066929 596498576 888417519 130637293 43640963 460537048 760224099 278513408 928667806 646528987 397438608 59475750 963706869 143176165 884938611 351852476 614176869 414979686 208339045 787327374 624017222 883594462 515462163 400817238 198132154 596763889 893788332 646605703 531254249 790460225 778562920 839399180 754729648 589294261 309314771 645614246 558702631 97850269 910501952 940254444 20646002 148466103 772135771 362252958 57235729 599863490 418024363 685548153 267345172 348364928 300137451 367601508 786709526 248767526 755267421 405919492 203805334 711486905 723493384 70155106 874945824 700634987 371763443 640114701 276299868 556357199 642669209 586050926 869274164 181499019 420931002 931874573 299195851 362150288 343977468 667716627 36262573 207309928 932465052 725234067 920377433 303048978 796910991 576175588 952893804 968056496 414564752 283131761 452896792 806909767 452963645 519217922 766234071 146423879 50287034 494071626 332022105 494677480 194693372 80271663 593644597 886036098 168362348 418380575 434283267 655482316 778374047 700922333 542680717 935402422 327023162 486425035 462345335 991913205 304828563 466825114 988264439 501846052 589951695 306516008 148175731 408234897 180221996 686239325 872523232 156934148 409346720 744958773 183461139 218652177 895016294 156674101 333835056 819881549 957299881 91093782 685150877 884850030 343255244 739906890 288981847 805903707 116320250 192396115 97474461 454310360 647505559 994850660 414343644 662449475 652585143 637787083 810700109 400639850 711018453 212695932 453842369 543913586 396987040 76386319 68088176 115233287 109913018 496409756 459013712 431451583 969546534 615854285 122882454 781777009 756787597 674379103 72039793 743283742 270746523 853966541 5109934 328456643 268636556 715871463 87111849 811415524 959120058 758112828 503855358 769525330 633808786 372212242 111582794 856647707 126159090 486540551 955872954 411799717 25824717 137222663 421424976 927074535 896954382 939911903 301265665 755039174 775101644 124762565 326416905 311543169 590104014 655702536 20114723 447405084 616042284 765943124 181758145 29931845 587013215 457840428 305711150 213963709 174029472 516774417 427977640 983562167 787521744 238503863 776736314 615152454 562950452 394363434 145460225 169872113 701139188 534602416 605562131 52236180 397719871 834826380 621618896 581273548 641690911 852238186 336517417 532648810 603085280 159940303 271428041 343205476 837068937 565094773 135515947 867367924 67795214 649042330 759093582 238399261 705486199 169323716 325518484 961002189 915524360 411234944 868161293 477336350 433939571 151058411 543712928 901250905 95760073 651050055 829605957 30517236 474150155 449746727 500448884 812330056 187023797 199518140 794108598 315973631 174230302 336717324 861970239 407005940 456065380 482999677 593839565 904951813 345868316 42860474 367283216 917991073 806744776 359315455 474008292 912281612 680160411 320657672 842094798 69205107 417301391 781990473 530213290 570927561 639087779 839122193 348933091 933005596 375602805 426254075 864610596 231160086 387871422 796365690 685072837 253684409 16108127 457007207 350103102 835748560 518967754 640492673 724597146 952990795 251213233 943655314 164496818 71619636 529671990 122119001 949207703 489436755 796361063 442675188 45775113 617401855 945481016 317303658 93958813 923147691 706465848 394710522 407748606 780427534 911401943 903388623 965934583 732019693 115727221 76581339 655050915 16161919 649606235 528758407 404710709 175854935 200878589 961216957 498688388 142636884 21144399 405070639 931961543 712725892 878860804 514725430 347902477 797300894 106558600 354132109 765348013 380636149 472007409 769677460 939191966 858687025 175525952 527870564 29044310 957616573 368044520 376461635 221614347 832276677 339306038 999241040 894943901 47694860 443925979 561259834 358337906 996732061 483591397 118280103 70110677 729973535 954417293 872371692 56878802 277732640 961547147 944946554 607661256 137549998 225257620 220716583 851207916 256895537 667996804 549765473 959437218 611164119 700991223 543446435 127882324 268595469 222596812 444826259 468809942 473814278 173527274 825320063 362201541 439291767 291366649 93708970 891278410 337861630 699548494 176598930 260625108 348286038 289798324 763762927 868572242 838408605 404209324 697301063 471883881 572040863 25939313 544596310 851851865 397257769 62106141 447144964 167611570 115108825 946482602 997071844 79778222 53889500 137746009 835613796 152348405 899594172 20733244 734196350 868114777 342403288 453805878 163064956 866665975 594652464 273689044 909716712 759945522 236309282 721950439 775755547 159330347 244807682 607651490 768820674 101651446 734314756 545640308 124547073 618972718 640826824 631094591 587193301 482952190 146439122 37966195 422579281 948518446 640060675 190178097 819483285 337771975 840497377 929971036 865633771 379262035 726146170 140681259 90937888 617910906 411107556 641616838 624635642 638379907 464497108 272215896 991964294 217728822 801323338 654099687 959663546 511970797 430446949 29612435 927139848 326815549 790480901 215203022 795196109 967685086 827624697 277810409 303359208 213125997 777969700 315024651 852853655 386040078 216500752 607546383 829853036 12766076 302701019 166520355 432555014 600387070 903120393 126992451 613285496 930763463 385707881 629852166 754994660 109538749 826695118 718702537 534172539 826179568 953913330 108236127 121065567 43934969 170949094 833589702 491284265 963895186 720699628 489570314 471576582 490220972 678630798 778872560 450603759 620887106 443485201 248538191 79059340 623617676 543295500 306624325 325908368 550561068 644275878 355260939 809771984 355153069 288969849 172018748 767359889 774357785 278984818 539228199 768458898 185135144 316934542 104586680 835879402 391951522 149453083 349503102 145033152 1508158 860682652 950328686 453551131 886567542 957541231 111866042 921101382 850875309 45136659 962878750 112226162 645836829 369965716 37410501 520845973 129821751 798034422 920786679 131364272 395223385 184151365 916360224 767901988 933677880 670567960 539448812 998180776 134616510 838452300 583817162 397893101 233105043 845342310 385743844 610939255 421271762 99003876 149353821 310356175 515785890 397833857 290596815 191479696 745672553 690477921 378371606 817497800 655663213 642944053 380728067 430367678 478789849 38543655 701386577 174042170 904606594 697950281 777041113 419668098 798530000 255280450 480499813 567042707 535592520 732556473 786010729 234198217 973279052 751156971 21613959 504398237 173046084 893075954 640852677 490829598 251791934 905635641 712411675 110135237 166601930 554286611 623714180 992217083 766334338 806469208 598809591 779012182 786885470 916446896 67640504 325201001 164562553 652889408 200585426 344326609 783727855 155505446 801286864 267063088 539698135 492039497 934936772 497151181 618360274 357070368 249803626 12348148 829001977 699443005 905942693 865564994 511477503 678477330 917791234 889943034 778688265 202377738 872729990 230993919 336852866 243973959 20165828 185857469 597157956 719823560 679237997 426206514 221247428 549434906 472108809 895800915 59447377 982102724 107633586 484391885 713311296 219494420 973704914 147723504 811033903 37989194 917646525 742658224 355376875 736022998 253857297 265666281 880721851 126336562 798517054 307088800 198903691 407024183 2983826 899248328 26724751 909664906 783275942 12452831 586851655 42102592 387830999 381448490 83006211 339576530 637233648 463874637 937546222 401741970 858748207 944088835 103208549 526796011 717743764 991497613 248990021 825574343 625471278 321594044 578568242 585213902 377163793 477837115 15253445 485846044 176497665 66328449 378078231 981557474 216963838 873472835 128905 468024853 209650302 81625922 792903743 267465860 806609363 630810594 469732460 465306200 274176404 266372682 88642254 533372125 434555992 353206958 967156277 474645060 360969633 287905864 648451417 940739964 506276207 495493971 341107036 686461578 975825980 133344290 977471348 99448578 310444584 877877727 902838425 132250027 39976744 997176774 857507160 165474307 19155193 822131897 531491063 804688356 943190333 941758114 735758639 56128404 596990461 599821054 799653673 577848616 476333235 715158804 969781763 864120877 205145480 607385799 645186686 849673788 959954690 308905056 566658324 483203366 552990124 648959156 847438997 503762467 390134858 577672706 14101457 977273185 71719800 934317826 84362729 67989604 626527438 698091221 524632052 509030584 769869803 118537121 109123704 707829412 286235459 181129433 765076300 431229604 456001389 665530469 365677102 636969966 470219229 902370463 893047949 68468650 137470599 465747270 964432427 50417539 1376655 857333792 199565139 603063575 382041076 558487981 321652413 792711774 537108865 853210766 513156506 994104939 11036921 330424058 979104823 170945561 102090928 831729156 783869204 943801480 73699073 483414123 304704040 403947539 627828763 782814225 921231738 536627012 550057740 853188530 106436535 195165085 370603534 739829948 511084149 550035562 351042746 18743601 591819826 551822377 400040927 22591071 731995900 319759036 342944750 581132469 895618856 246000803 561230970 504732090 240598860 590027865 688622414 311464105 908496657 389585406 18909737 167191530 341249436 163198064 316293776 666365332 130376849 760398154 32422878 922293795 755516136 522685134 588502404 909524079 838968855 943320927 583828252 468510526 11295534 970427788 428051835 656214955 676894751 726177986 30830266 49609792 840887003 666459055 998637615 102979897 459205956 584168044 984134720 891643385 989325640 561317875 349903087 476949139 743439044 100818733 721848646 307375310 591365355 584563556 718307332 434419854 609352051 197932809 538105026 267922722 356590384 521805425 477705133 214731446 650069719 651616225 573024846 185835396 935259299 50479557 999140293 890139062 216441366 929051130 523925707 827112709 207270174 514408794 141112359 841015874 597249930 894674504 722865398 53303168 885413230 587706858 783232900 626000154 314691553 912354802 728678402 339322215 278584859 827632429 112025739 520325338 184631146 75159458 32028042 920246643 238842362 855662081 978573081 782291924 692001248 997951802 238232911 201824378 9565185 936984806 945755980 721293237 584146676 198153589 425940993 30471223 636544982 457622935 575326986 211561380 263653867 680838293 26187003 638790485 463021073 464346918 272269521 493042014 385580884 233199708 168185539 684348385 547652993 167993417 214630058 216779648 455422547 53673034 739724044 256552243 536197058 289353905 432681404 757307777 791186716 943510425 614512571 951358734 22283489 711634232 563151839 562326884 290284378 668891935 345030753 597392058 889627138 525468563 922968186 654819133 175327338 465745030 871166175 770199554 862196323 586619675 659811110 840096012 94109056 124004667 319188226 179951037 46435996 207315417 975350365 357305492 898309282 393792254 703842531 356424483 805558883 577217721 46992616 975589880 442724873 462980374 457021440 201819325 215183997 966527818 640438729 612379577 637187612 755919738 888572452 920146160 70175074 454435308 142652303 390609832 231124005 12210681 135870989 13067478 924387069 483049294 907663554 887962319 169161894 768953182 86909837 950018770 410061887 138482400 278144886 61214953 295036528 649297288 601008370 840900004 418301393 674311676 793160837 641308014 467116974 410073400 68702437 669146785 551448140 193285172 829336926 856685335 345667603 720968739 356305599 720055005 545775392 575518020 793221668 753301501 799586147 41374804 403706391 947045311 224059618 508271961 356128978 208421919 914178551 342024488 405783551 537090409 703893153 109898876 813538424 645024489 264209437 934454747 552283772 695966951 227465073 714470759 734960979 672315863 847802586 504309932 817709705 277008106 101882410 624179281 247052279 881009886 879783326 935899981 117268682 455951355 47032906 262256909 824634837 129136114 319892237 721862383 71586999 618289464 133140391 855215812 623258192 302150721 225540946 388783048 397993161 437659961 498801488 964778592 757681626 794410816 145092790 532108285 999561773 90039799 667477833 558899136 10995071 281100616 336347262 154068928 476463036 650279856 171291591 562556309 561353875 412202138 708631845 235523800 534680525 593365455 777097939 79862821 903732343 754614952 582735513 888546997 959678976 725007091 876086025 444929705 646928585 855387105 124128219 298069830 350867408 168682065 488662400 394108274 972228295 280618809 179520990 11297199 849366302 711004987 971755103 997075357 183144443 312833221 637473308 861902381 353204841 246958489 695457906 433904126 844677409 47556129 320361140 157300278 805321005 372993251 698444103 639143437 18388851 996154493 446728947 117521542 926544503 269219631 331454430 432491808 736245468 762171030 545656557 888817322 204346627 925569435 679795586 723444093 546559130 824821783 279165095 94913545 702501272 409913238 728868438 820998726 557870025 456006184 696486534 676572724 945206337 790488096 942336719 315957555 312176519 872705442 494653328 774148578 719782431 101360226 172667796 384774823 846921867 800958646 507124414 85653643 443345586 293934409 127635070 873123266 80830474 269623076 100558090 509446799 363876278 350543342 562843004 503448749 650272064 337788106 606484750 518324890 813670566 96152691 130258532 902354666 408307417 597890536 512056289 594157263 288799420 210887708 470057484 801570397 467154566 665935077 359892718 739835105 281218046 493951660 383486312 575112064 697637291 833426601 62251093 243267343 14158120 378251653 987978715 912502243 437681296 824825674 979661477 430679612 346341431 637768762 167491492 529402658 752965622 58521375 293268559 783383317 543717033 707414120 192528652 290356207 715270814 812146827 278698936 458017868 915716183 459172817 331166364 930074079 880892686 650333270 251684952 502112139 836476138 117480392 836482882 312235270 661126241 132283842 228657966 631237651 85013242 875076260 54970987 582018639 747089898 304820097 649449914 329957787 15300089 41779796 869277514 750444383 707662343 323871461 942557336 113602079 663144094 870735490 201393918 260673410 820247436 25536652 484738579 86922825 726846748 941001227 256844450 108452781 971832833 974243499 338459051 59837639 898816639 122203789 684182399 503406295 565840731 313734634 851355821 821102230 647743583 14255328 909811008 616176166 20555287 297342789 492408318 970682423 930031291 650828939 385340677 245199140 497818863 62478220 997977695 563719752 126347188 403105922 161607360 370083710 675547833 951291417 895769136 853629142 292886931 650483697 751586682 723342679 276682470 131171451 57118344 753242035 324705175 804372158 462152551 113521489 996441007 334212725 329162921 773036257 671438551 549763518 359534620 875154675 983273959 549476982 842246757 456292668 2536474 764409394 367585148 145048046 551003041 113473480 315087402 929753499 580523339 948610911 865853234 859510977 93755620 643288072 215966940 742619180 797411483 142325745 354374741 220487360 558656035 608895878 632700322 270708444 377681862 18271541 943630478 319907144 816856443 382532804 267774267 565989413 406317168 842097858 294104471 545462358 442219773 610748172 784769303 383991907 563512036 300649274 711970759 24411212 692075337 337458775 966694083 281178634 804956357 797120921 541867375 38122984 547374231 441318086 757476930 564110229 971895695 425999359 168169355 178785450 498687796 63914486 619649513 331428496 843633826 428109841 220727949 878109361 310381443 937436571 780539375 549683518 426082052 655417920 748325924 139433041 553217852 116583401 569836363 451549676 475491974 143198149 603329954 775888926 74752502 378571539 959223738 172481819 744911342 490215572 272557441 347448732 806909146 87335924 449153781 134801154 477080175 868848296 219741284 731236239 21399468 474228205 629352440 641932259 935624613 948316754 847980726 411598818 620401814 335533081 34800658 197664984 242950311 964026917 256620036 35245676 930718427 993734883 57160093 651813991 646905144 304977418 905884344 372917461 541947961 907383073 984192777 852882938 710553809 959586226 968087001 287230016 8124757 331005060 258227605 470036978 369837675 295866760 454487508 930588362 692475405 801882827 408472624 728516361 93078341 527489850 187950846 497989494 735714221 266681278 172508002 908966348 313638841 955647125 879276112 191541246 577896312 887193370 692798913 303635702 430911709 320338225 506325735 589746087 678805088 887071643 554094804 554826262 589582016 775853910 315344814 635534462 909244173 383259320 773196275 724242854 608193537 105890152 18751874 125974884 329040248 98628143 386763137 450330594 128302999 458282101 651000370 293640823 301238178 586781063 545576671 755354708 499246768 626094731 793096455 853093019 899880130 279771354 527351201 415037281 488767377 426133178 564422877 762635847 370477832 780847328 107077010 71195574 703398767 208046196 867125809 630783498 880466072 42114400 9761157 768265662 27280408 842918827 122403012 459495580 2960589 522724960 33319808 47986442 633330516 933732738 922594611 787343178 774259708 14945431 185604294 287453834 43026416 369926235 978992845 584822111 535929903 690257267 45466811 785273785 963495146 594393133 735502448 264534023 480313834 282983337 791973904 674683396 612254020 770626233 643587035 898658552 819847159 80294620 362702015 967678118 331478226 529070199 38589639 273273438 873170253 187656562 967398743 914193621 426848172 907345134 969884401 545303563 251147627 13483822 410143869 762706545 565296306 136144780 911983554 541812608 8540920 767192639 56895648 73149601 140538025 702218134 535815882 177568101 52119757 456916656 516571479 976049081 624251757 807367810 536793006 353712187 694821626 365343158 705065137 161962724 961615527 273742578 826880733 987737954 950341116 683822596 989040015 181454378 412351945 535416512 165165793 480918633 633292571 942015464 477668820 410850072 781201673 555794688 311413997 886302919 54251194 742948920 421080475 145049059 132286596 176310892 624698118 778793023 50818475 455152915 95470349 309372672 526251283 450577193 263526992 144805567 652744506 426333578 663454975 36751396 130940711 628575700 373816767 751505213 365561904 383674920 715801661 496963518 607675213 20792103 842101237 548399106 921849126 499930107 24430999 124441963 757884028 587020939 902889006 578865127 649328290 449191159 117853640 357295012 197346289 70789396 469690969 925939974 354541745 462426145 560652197 514937493 885299627 663236505 457895294 275476280 199737928 320330919 394082755 302615732 447129592 972668286 483681388 847397588 441702485 860219112 395550795 548724104 556196012 393082150 30531147 819818044 453772871 582069078 451205349 427973544 362055322 59755215 859600134 839874595 856778011 578285618 714450671 49018768 359276115 509528431 767675572 284545672 304488085 706204955 114571746 750317290 827987087 924657835 84860495 708170742 197563511 352306126 744235833 13427627 145318947 929107647 710114167 855885261 111697245 428095382 57076971 96442152 610890495 868345267 511561153 11629840 82272529 598893182 261864168 90950459 601673939 656529737 48497514 906186429 473263317 673032843 444090184 815372753 207170603 989838561 767989454 181372105 805212137 694084073 60586184 485643836 555785955 493749304 677393980 134335210 395529452 926065765 753570474 610351663 126005481 947106177 98904286 864438955 240625631 547849339 507954355 852357497 868139851 643347351 851629558 327785705 987910152 974944470 508391082 642872016 260458489 974151222 79787479 956271405 301300379 675850373 374943123 653456433 525795256 932574309 902587204 614034144 870670135 614083475 796652556 974440480 232685427 957666656 897283226 277236529 36788699 982162597 363752918 310169998 96330123 962291046 400570393 313727327 498406333 598696565 845821425 154745467 452735225 846970814 927138135 122653541 671420561 194765871 644693942 852556526 238668322 508635360 260308944 171853638 584697973 253904145 787970685 595853622 615114682 622590272 58909881 150050664 595910004 574221315 899184438 320422171 894996185 272572634 54954494 7704784 383588010 189834523 659036186 850132026 449607468 405534982 137864030 730285265 976815532 4224430 239257270 291998631 601849404 179809412 466412599 776739353 968642257 951734443 262369120 173665660 602426785 943632957 589464355 218933927 142659629 316772444 105957316 496361674 977629144 147533900 225584859 166389122 753177744 430039422 746088365 942371268 624553576 712753629 723104684 364810776 9876319 999882455 543331005 644142355 490931533 113714122 22278395 675067411 995607862 889344487 165017102 897716708 136688701 344918323 622643816 831404569 317292153 700836640 324399315 919766265 565540596 923192421 186464530 742120083 679578563 439946437 358396869 79516263 369062789 565274727 676543830 972106511 147847330 113729797 594106687 525884926 838057150 352505438 558586683 23200448 21311467 170585050 221444257 845486364 877977110 831816420 90089341 983991301 346369057 684156522 729332692 957891373 814791581 785252472 102401625 365747267 650838974 434185175 93828730 428497745 532384239 515100627 79771936 313016352 656165557 336584964 332442187 151523613 919670504 215993017 605638806 890586458 97012671 189784924 804027356 749899106 207679344 702738355 389259452 58781391 568636786 571740943 440668946 480839632 963985072 818683916 83611011 839386507 378880794 830886024 196766518 776320439 171284288 251789735 273881353 73963608 130245601 683099759 64151885 932975602 503921954 572045705 671692777 255800436 872956150 983503644 639842223 530590732 11826902 236693909 777570682 410529596 698409677 444808403 970085026 380399086 842766350 477311100 242514261 8951315 839516100 914980694 1412090 545788716 966984359 697574842 356747277 456988606 5772779 966669242 204328745 128217211 290984043 18173971 593284403 374913854 553336784 899538228 91673512 226315018 37281760 974987393 652565650 740231446 554628589 929322700 372409491 587856429 759938439 405454763 238287372 726369249 268851597 654531280 379739208 658555890 652092261 395979303 628337392 982501540 315234981 467979041 566822116 369228844 480214837 271860314 26062177 846098733 329678732 132058134 291286985 415411699 476207663 417172282 573869467 289889563 843221671 691702068 22552549 737725316 785018495 569638381 685528435 777456120 178240305 98576873 558386361 23995348 278986152 251570825 654477612 87443539 311663019 24200337 393724254 456772356 98471323 505447662 769455321 662856024 892194856 214661933 33312081 627946300 565295458 663994299 598359721 215866916 666304529 828344589 866551993 746612762 967562061 105115702 150482904 342719943 750891129 409805008 546785741 690312705 282625982 414874613 528586689 71647673 589574597 828140389 525287790 506451480 450250199 242607636 930481546 152740978 213329595 200912943 569311884 790541105 368894250 146841787 879413398 174272853 185210176 195186808 490121498 557289879 190684519 985451434 97766960 802018332 640832426 762002381 783092858 735184162 577951129 386473662 162310161 159813627 745382561 8681802 583026019 310747998 145829168 266853907 222217256 512314724 548854792 850046833 764084780 671883989 522421672 346704078 858143396 986911357 882412198 450113329 268784534 706398915 120782403 839111032 639874030 645131154 933766951 129621529 344515287 469273592 858865401 619091 252739746 530715112 130090833 680440811 599248151 298478903 551030892 744561700 651793584 431657150 280198741 127714519 19603063 84542193 891082852 381963184 954954405 282868498 139147788 734948887 811172031 395549792 625689965 246446077 523537515 741681675 280364987 946512763 696258492 942958184 173199193 996276198 6611606 546157829 409630756 215923692 29871779 476915504 741532186 153286188 832688511 160302812 904617521 973196072 549389122 530032543 99834243 92719880 563157367 35938709 990610722 705647795 445025283 878135937 900671111 338171541 412921606 271712228 912086033 856666903 615249139 276194978 630361268 300499273 504085848 777750291 130829825 578190262 282337377 367395190 492037968 782975645 324990163 75955078 280272225 493528329 799831652 505614607 158412332 10442466 166110732 88928914 937765666 755298172 421432807 446508571 410292674 886738261 587979547 893993247 65232246 75096050 519994411 309458591 534695081 430380771 819256773 939551356 726755337 178530727 986908728 356967804 981289268 759081888 768935156 242035073 108036718 464247543 826983543 290482198 364535106 541043199 81408842 685706454 173792244 793964236 581086806 78307973 168645619 808040235 955333738 785948700 943309317 826568414 466661423 263362551 659803627 846758088 509378795 661291056 954271884 292838049 454081204 233224187 422683820 730626860 555319121 887061145 136480775 158900815 728745409 403856789 831943525 875692435 592253610 165576897 716265608 611371316 218691418 117212935 357969193 221156556 661690702 614949507 610887746 456291136 71410518 901506673 106400230 806023772 565574061 947780160 805557880 278505863 924914272 514646437 947325965 625318669 42378544 412623398 911636066 415742003 392519573 856518668 911465841 490671445 800520036 644267453 906979910 582128895 120293419 35273840 859983141 413875345 208601554 26367948 321676460 441457517 521769306 973343604 827136503 894505649 109651082 804972396 930743533 392684139 391489028 13143239 632948016 52970218 183160701 707750156 618121880 705968623 736495426 242046 260028799 146518813 129098334 429426373 178092691 779155970 576486990 525113310 393782993 484080 328295188 937175362 145139504 380215048 792084442 475867699 65145066 307927746 366095716 929226596 984979022 130592460 333647153 198739403 23394637 599163906 618008427 947613006 579460645 831019668 629465768 276716011 995029874 630311394 43157870 438033562 241458535 45526072 662204617 994236150 635691566 531336611 367446839 439838904 131542524 25225486 630776361 135454288 566983935 845913778 41299580 990768858 617540395 669666294 260148077 380172831 903253811 944177459 91239989 724428112 529822941 963562390 698638488 819408859 688815050 148812401 991161538 239304050 907285476 59589734 8989217 287818773 838709371 909550099 583800736 171006196 502559245 416407511 302445765 371896325 490511832 841271040 463263049 87752400 492021801 708062045 335776982 255360128 118116197 699681533 578736632 438594779 78430787 343569109 574522021 846133955 292086433 541769210 193486073 610033299 264558464 738684458 912320161 969657650 311767313 555881672 640437400 59702228 248640503 94759271 347571496 62393163 479268058 989390545 58677395 680708281 804722575 661208135 287971623 966400138 227478819 350081589 152874606 734217933 487176851 526888462 945817178 951214048 278145311 472141116 128623683 302612532 798448758 158919412 334751505 972142175 624001204 444281186 397396901 899246424 440357285 919076810 382393 48493518 915059258 636262241 435828913 502279580 502943669 923816173 793280585 684531092 293282524 36169609 17551927 385102827 363317346 359032707 903107349 451482162 955617444 392268458 412446683 867388726 329062321 91208617 263874101 165366520 338821453 54179540 489089593 617367563 466655222 688269293 946065911 30046240 16595541 914131490 180306604 71526975 392724670 72796234 88828838 465538997 213899283 360847860 434294926 484107798 498761785 517763040 855487990 560868441 61429091 810114845 638534420 613488548 846565594 477526724 100752501 548818808 576000295 263050535 650649030 162021368 132379596 927611440 674880019 550008929 9074955 981583862 872428479 802655703 343173716 767888685 310511721 623939416 119273608 956473284 880955955 687093951 843389849 885710065 165409722 286021716 12249343 923578078 437900620 514050023 404320048 289802582 197073010 615949096 967775908 707240693 321386471 821615308 426623018 273314166 33381940 320514483 352187091 950799395 893759326 285209157 456027170 495129273 511747398 627868525 292852065 714082893 760262777 166510596 249969413 888235167 845035100 292031696 707577804 689859016 696198533 643033786 522377357 770902999 317221270 548699739 802509645 531887344 870732311 621804799 323152909 49139779 583688274 733021917 788617184 150286802 469194732 203264956 234869712 876403653 56501277 975808270 188421984 479231669 343841871 308933471 396943337 228363198 904229399 358896655 236239423 451387643 228447116 501852476 782379572 496196036 849969470 611393093 512831134 681124600 976753826 746255653 471730745 584282001 430421786 713047814 34519655 485579199 986606828 547667489 874615315 725966890 958382729 208934796 530219490 63415168 964276177 121243283 597866286 292723640 435268710 324269470 830348777 386549807 770583426 766988232 568585100 639300421 568642671 477495183 461128897 468639572 669592501 387426223 919299258 758590480 817173818 998641053 350074926 782860383 340951347 684835055 222567232 709981363 929098070 713927013 289668361 632858090 34535631 195263753 674828093 158416817 260372987 692337227 626461799 19729989 404070335 126398707 30110400 910584222 475798799 32729805 16001064 264779975 211749440 188423774 732008665 827460670 785150507 910600789 833202534 599776472 861787889 309634581 961985876 430451128 175947332 449868691 754642837 97177643 592986719 309806845 430215747 880676837 123939223 863678553 330677595 545261463 128091800 140305752 174965410 449366271 882694881 440842138 542008250 69271231 455413415 351472567 85085299 54456296 202202792 805961982 579996573 269110839 729899589 251571795 970475831 633844232 436549753 890323309 637265747 217549790 653860832 425522451 957872235 306097661 278349079 286517034 183796807 470267113 134862161 323869373 965345314 352859221 909874474 131173947 363673048 720009342 622817011 863080245 423250623 797216316 175887672 464914615 337471201 293535401 503848716 427230479 71557338 339466070 909127706 142349964 111704849 136483298 979028474 225061436 450249539 382097868 195435366 336518161 636887334 612581694 515327941 251096561 944615041 317468527 511165633 101539193 689934771 339028392 299313512 93455107 670995682 369674508 149655237 456960800 309883892 710657036 878299809 534377918 342829172 3730876 880283144 305714606 490501294 716195009 469205196 205445403 869460963 762944238 502675338 275115658 845890850 439974440 835390704 213027409 653712785 659416398 932811083 906766282 963220073 38650539 632812628 130647471 798205085 268559520 51129073 205911783 467781637 456915585 102595153 311217360 16477554 759726206 590253074 907730865 211062288 490962457 57196151 280207589 172815820 797573980 3784879 280666945 660443850 528453388 997849617 536407901 114212948 568972754 872814215 394453862 622521827 448570103 969335631 217177746 419214325 309497117 499583253 338588712 111870857 485630591 855063337 892674413 474778036 215247213 705255954 423684844 255318875 929630159 263622726 461198095 537557279 200191864 864218889 586048804 745400216 524146449 836668009 983115990 684322085 165911891 907366217 970653365 841454390 406843557 174371931 131242046 954076117 668455592 936193074 53473700 957885818 683953457 760105094 167281593 62056597 701381224 906352335 921607588 992602627 900693544 520755967 271642147 122210791 918640495 394530551 442126117 998288870 64083158 408847682 200150943 425476546 651241271 73257075 287249865 651511149 380757624 696798291 652254529 288721211 207246538 511808697 833520892 287990907 160049040 866374001 235292676 167067660 836030715 411041890 588821556 115158763 864117004 545989404 898548350 820036984 59237806 378874107 588913653 430463770 714864271 651192370 435306606 985708576 262214065 774830058 600753549 489593103 198799252 860059195 127374355 913519122 550510929 674982757 57241691 625456858 171435372 743091464 127809471 610708950 649475649 339362279 183210474 340832284 304153423 479772038 995254249 202553115 974064840 295158123 633649647 475605428 161560315 878247423 507963270 701945976 929665211 430276457 702293502 97821325 405773752 98463267 150190340 326222536 73918503 844829540 616692423 158804756 644882032 504011113 907040576 866592051 951498957 101721848 292656360 381033183 486100648 765672531 955501714 79494464 816478111 605694649 935087800 474996179 828716218 50752495 28099415 559581457 178254518 262665971 664698925 89966307 874423302 405432597 638245350 283656790 575535139 934294721 561300827 98861380 612064082 106041509 629490773 431406936 561360654 720299102 377461716 433454343 677559400 293281610 614091405 932659226 987479690 747391099 876076568 640448630 399360876 758589098 59087783 413081367 151998282 961987268 16443420 134768489 376461733 67688173 222883012 106482065 483405648 32949879 7930736 987701315 243036363 537284795 800581165 514877268 461278124 497987678 374135447 204082797 189678358 357706633 612191968 719326857 899803758 453673324 155140812 22571476 453420681 205311361 582666335 158150628 568223901 586780730 808687841 183753972 487119186 312047476 26940948 769888894 588998553 966623091 649759045 72814202 107649217 785917402 662882475 939825365 478591122 621702581 316947440 656436447 181896001 747279687 197811199 896033831 665515920 484309503 458372831 142137033 982700236 563940061 852340671 36049571 292253938 288459736 899548306 642069755 483018204 662781734 89832139 207767244 919408553 741979928 512895849 388152298 888165752 459458681 167536534 887000868 625101207 666359892 40253049 638669618 107396239 848466157 778752224 937914560 148335556 621867841 682727492 614073692 525329986 651884747 229957397 829913924 34308247 977807414 650742353 407977706 886239234 339603411 24265704 881923776 906053939 989489304 324514075 273230476 95510520 472258354 385849634 303202195 919938564 911477231 631729551 164826171 396041872 7420726 142996922 668200078 954976743 517625591 969459914 58201672 820623598 191408255 368253370 566193855 991953021 488010338 483142556 447639049 691831005 534699 115667880 66596622 434987878 542187179 304821327 289610224 5183003 305615005 605128210 468513945 463459563 184995670 733322476 179820740 489680857 961639846 483267966 558220728 365631625 615828832 216992746 95974318 735009220 559632888 198693999 812712280 85498976 870974879 634658634 941316110 507130373 969754202 30075346 451843456 59449926 512961671 486642043 902907124 42791954 611982237 143089896 209981468 859732302 615089129 104134643 148652875 645451793 687289907 736956528 188186366 325662864 47700345 460688061 906419374 910148583 249048173 940160349 101799872 99839175 801202519 172340552 690881599 975743374 354114547 488145137 735013848 803930018 668603945 175658910 252390250 278310619 652591254 378573395 501778902 965118279 306718794 852389448 187782487 649053893 244794774 779739446 592420448 551548582 889205229 231138278 320774930 529098704 519483268 510235923 39319066 261725879 894301482 393978661 980073847 518100809 317219727 138614238 989846279 783793580 560249745 543280727 91303422 356862200 621150186 168910040 230988090 246752897 996426704 369506413 959870551 555923002 242508981 420250731 405325498 599830284 429423647 172770708 879662643 266137604 974864108 941886522 543399735 676475052 543669853 374726014 571096583 570056924 121763970 147415639 276958275 875141103 186829742 299239949 486817908 470359383 68672997 13514932 69748005 165284749 395237378 311729266 474655217 407831117 74459767 696821314 148537831 54038716 436586627 249588414 222986908 252479959 356820999 85035159 422765061 111696420 518021419 921641801 905221190 914342247 309419331 575800954 388073598 921911032 718200181 949956858 538634307 459608275 986999494 707572232 195864585 849707150 44343104 707202977 794631622 377509125 975476663 113358206 102679874 318344768 354829112 701796668 565535227 33107361 353940502 806053760 832866682 22365225 812291721 389150204 949641084 848753313 342482058 147994957 505356302 406974675 336262044 183806058 400610656 997073157 250998632 154291424 629012428 432768712 728400128 410976059 997895326 373693357 98047616 282380080 342249041 357804507 45262362 97077895 864794364 146637078 110818309 308341152 148536848 164958475 877561915 228645796 818188702 262875161 383287991 656575085 140464051 757711010 26790488 752586328 914230596 427906794 422476943 623943975 627795108 79589751 63258888 60462409 509180027 756532744 332837592 274732258 642320833 561038810 54732208 111791468 156552140 121716449 484206538 610041548 858624177 314390480 258829647 650236650 922648645 324232222 364505568 809079692 135614651 420688648 680102068 189535165 369965421 914787510 524201386 981158298 182997696 486128699 78689362 449672923 2219731 525716956 708162978 394292091 163394894 878179541 255860044 28428994 242624647 169320584 523458348 953688684 90679632 62321870 208949441 610281026 182140669 252613594 739867220 855011554 123896925 815930584 139999613 586197920 170871161 849847578 846604701 790432813 810359720 738762255 265513162 676504529 835667017 967465475 172864201 165620331 422167546 761982446 58159826 970136138 457304070 450964402 431770098 115400520 675268283 88765205 360697900 531761693 521986895 419198768 421786884 732325890 312243828 610133473 204386140 876925249 628748325 193105180 38250160 281660332 952452755 612157761 734997386 42816023 388327008 38948934 546114823 381235906 564405852 272161052 854759501 638382622 111957461 230514727 430373786 317472664 359964067 394400744 464527845 242896643 220611481 817679281 289166253 47934375 672305099 102120472 86053400 61757533 857264356 411235280 380715240 565183144 20561883 490349584 434248199 240221388 126306607 486765898 299245932 112282066 11138024 952786393 794289441 120375645 976101253 204054231 476418853 205121283 899939403 345467833 28054949 372683928 466698153 49939738 579649776 381195004 739003432 960770289 701245931 506606330 450827887 896781146 613951054 144229810 437263805 71858083 580487044 924238492 609821566 189336499 191374974 872734025 925553129 655182550 412244747 585446027 699058139 819537726 579882505 516938612 435805317 197433578 343398002 845598525 47769182 834841375 273713677 806428322 947474456 935855101 268437071 920545203 590819855 814857191 58156744 933300907 728895186 869011274 76128240 377629871 666419249 563957539 699821297 381651614 153866378 404271342 566200546 467548777 955960819 156567516 674110070 465026207 953659377 750748163 603166564 545997130 174231599 359529753 414763243 992557950 665246851 376033804 415340441 775087743 444795564 646515141 829489995 338920255 722478337 879646738 401425879 259316202 361567520 278746439 136170528 411677161 960706299 879608254 588365630 641135957 690039231 845319895 366139587 322695768 284934879 626780314 102304886 917436036 63718698 471981179 788155527 730583009 259658385 966478824 998587841 618182876 266496094 214354638 530610552 777471866 268400314 693492061 859597237 100453867 785645710 308561620 727440847 134825041 555956464 167517051 920170846 824816566 374764729 565941103 61302341 853838097 598988243 85411449 791509908 617634042 305446507 472388451 315104664 720029761 852807689 557293227 716660728 727063918 602394978 111006057 792152104 974026918 642560971 527329428 635653680 670426941 235082279 124065655 798176069 375814347 713252486 355021873 279370792 648614139 84284753 198556685 627495116 260858255 711259579 8088952 723741872 321565064 434150344 747256361 164325467 843052629 334436444 754217761 865483999 129043121 73220873 303271598 958996093 329441244 365479772 815024536 517797434 622257370 304605456 649612363 366110105 642028961 153424520 953569538 366123542 720735283 565202061 566216752 493384516 498879712 441542430 192764200 147110665 505192195 253654003 249622195 631044504 594361999 261020207 393470507 92609631 257692042 420687918 643495528 925597623 899943819 395448104 79223583 421773609 515950584 160871660 455545564 676315213 293384357 434095331 317537003 970432846 8087705 233158410 253941091 904766315 234247010 887639014 787373215 315765746 488464886 657865516 46688315 317566335 301119601 588725131 49235759 607622677 86719058 848522603 877441018 429966913 728538108 581619011 516702337 352746656 147083605 972223190 948895822 375466515 522302818 716312112 480367793 491305240 504122454 893049694 713089545 692005932 936878624 951929083 796490031 993079110 35827178 831811659 66971491 534822969 517196683 634041526 703597361 914832568 560280105 346297289 394621486 242578526 509478069 356116879 634002735 305922611 724820860 356026734 946719868 652168065 898129667 51091822 516538673 480468574 848390837 437458604 220788710 170695136 128774772 409273276 543543513 425011049 183622879 759949202 176986933 849643249 104794205 275339078 161751356 101798389 998908477 945631922 242019053 756637961 449503243 895046074 657588085 420994195 472279741 738397754 898196193 822157562 590868425 978082728 254443513 414505935 298094749 192951121 155709908 890260357 16886912 42179973 631480806 477935667 305926529 111657323 859891172 762642377 19166716 362265231 501266508 135635480 92248782 402532347 300102671 913142193 914991315 159124232 34018248 685509655 161625443 716935967 341779247 791944651 556377811 735334860 222178638 325675675 681815506 115039405 537876771 963171652 364334536 178075766 926928944 674806519 786553544 94933564 849186456 324883604 634668866 886503819 194366426 269347068 638520816 386534233 37639778 61754853 463954239 218066474 632561029 127543119 872357797 422188571 832475084 75878662 544109879 736223173 280852911 714672902 439861964 190488184 78749309 966259339 803522946 883036178 86036742 899246005 815014917 972865147 364543306 856818285 581348408 689067044 518629428 59663032 946294864 21828385 439883368 188479103 948822675 918836375 991748886 724349972 804449341 854390581 425095034 117380274 13958191 480129079 90925811 368653903 135026330 52154650 897562278 60078555 756150941 951486930 364292915 584562705 35171354 942541339 981398333 365022409 745069280 829383594 148696830 685538753 821002816 174993519 2286753 65698947 872109868 20691342 678289017 145041351 651174760 3471308 172214343 209108803 135906141 116108857 288753978 648810101 550616000 412278607 461375403 727760623 780594799 641211614 40727447 134269502 658418215 546965819 450456177 674268499 544975448 95133387 680197931 421507731 450457236 996771693 449491388 646695830 253666600 884209218 618394445 10160778 902437128 384084043 616789048 720188392 277240013 127322627 617373259 254920866 870468769 441899164 448908156 509385226 567062410 748530644 435898926 486610199 812733488 557359065 52603300 820870072 963886243 930665339 191427968 498382983 931317519 313877568 71180418 874119832 68934098 892811768 10942522 944887588 932595234 399212697 599013571 780569805 68537990 345797935 774163450 88998418 562839810 610221363 263163162 184181936 194199372 240597982 842227488 158715760 706636305 668825953 433673647 879896979 321966800 408137517 652956521 631382500 45869720 983232225 990570415 913161444 731579584 67859039 950942194 829868613 181128461 13535027 777554379 315500497 437668266 162347290 896483755 789081444 133683907 793233861 725509986 204996074 972400215 226630457 621139145 936879911 420806991 31321158 428331355 98932295 256214552 872130283 485687148 177899702 896896351 67072912 324279237 557138756 534640181 936260286 475622341 518165189 53200213 431946561 244458579 785575619 481020865 699315607 692268201 826395007 222042858 522906211 399988528 647501274 634600724 173645364 271994407 838251869 795992810 753839405 667853844 394109458 112315675 434084415 252523422 543017037 768381789 775917799 403259779 795683904 119896657 466720187 598788299 556932330 749974725 330547875 540851716 618570276 542141354 63709666 899869626 144376065 890983394 265437136 293665774 638391476 805021568 689956299 641475105 441706045 503558035 155828032 403795370 270945726 662786160 381075868 992896750 552694328 459654724 272949490 618598376 915852107 38220566 1645103 731580092 244863716 622658928 300614139 929685597 852334897 725664266 925361677 890673343 67635282 985772037 48239146 37993272 828482184 854633849 986109933 728758234 277754394 791550399 634193255 105112911 825353950 728132052 994515265 781280609 333279203 744578346 352700155 638896516 952351337 890463561 258581485 727703075 458063990 636755864 942969538 840949900 883695868 692332688 349764913 900427420 669489859 447268670 166065127 410961235 892991919 201116357 422350035 922553057 937509438 733145289 563018632 204397361 339290939 401897184 94177995 857143437 718223032 934860973 320838753 479878482 304803258 38383378 939930684 206587648 565028198 145945755 440286261 697238453 772052490 850252240 699768352 642091549 674896509 142193818 892952362 379875081 201879374 742588944 172679414 242114933 34387023 651834701 130729877 197037357 906750374 129866641 267911742 810333013 721157188 392518025 217168415 279925365 976073577 535138921 464772889 196940318 256655166 725109493 532317699 931749472 943134111 896705861 933283579 599873134 641862807 484935631 70999390 281168117 977139752 290854560 905186447 951031225 143300971 721888648 58636546 356577065 847700872 979046611 606938920 159340413 377416837 457268578 999991689 285153142 992791062 511200545 357684878 838267487 440106947 241987972 881862668 37992579 410245332 690481267 669967621 961423008 396334277 348026359 220913237 724232334 658020774 270317221 845864940 757621629 111503161 954653201 462995047 565246042 216477293 312197849 908145261 49271430 382832321 357239280 942206503 839469921 76404176 488934575 935158790 704504111 885670418 164721021 768123169 953087809 804615574 144119782 733717066 923690675 254853426 504663102 736426329 128710466 530968458 247819901 408004818 142079034 121543672 400470729 517634270 45307194 567782565 657730448 684902354 283058065 447002068 291909736 614405968 587887398 675912036 24523841 702087478 172688479 463555380 319120270 587647143 767209513 522956093 600009812 805211241 646748557 258247477 137316246 360651109 518425853 129448707 387888599 168951993 65681382 600560103 27772415 475326497 433360323 894852063 940711359 105449618 508335040 892023596 242626950 406347056 883483234 439523952 168730115 182387129 499285339 62967320 875868922 284408719 341981333 570434193 195335834 726166506 907776991 537181335 272263188 556176122 452510842 236428982 336860772 487060879 483229100 947507784 875118602 356461648 601739644 743380268 577287805 910490206 878474976 463366062 363718997 147518478 296962986 732887826 363293279 98451821 134148712 914900007 371602144 611126989 10869417 788611920 698471184 72585847 185784113 441770815 837788548 594071307 56472402 338188085 634756145 9600915 790384976 441246710 407127375 456159969 957081954 664730220 908305216 411993890 290548471 310631800 830117091 122882096 302959416 68049860 53290716 203053904 337724531 930732762 668033361 529543941 822733774 397467023 338311774 469248244 566965098 503178760 834988480 346670115 39406310 272258863 60233274 132135339 130162112 829195481 14167640 760788983 247024968 488599232 189371427 142547952 599090796 328807079 440241204 916117277 427889968 466913022 65199997 640088379 901836669 779923208 722858102 457977970 275111789 292451135 781644980 935967609 338282959 484780350 787856394 968064663 152141712 849870189 867298035 517657642 553632260 33248766 952135283 275454905 124934152 566584114 366952274 356409198 663705546 131152446 296291705 577797503 495153476 551982357 949610348 400182734 828806534 398450834 756616544 409315220 127766830 46652727 866599736 462354309 889086810 734229607 155051265 61965411 527009131 536398530 927437710 598282922 724825983 228961754 294425744 386384529 728346944 227588078 205940573 870121481 715980699 972984322 954758734 438424937 98317748 863598999 257223400 89475528 581177582 677613755 741832228 346567039 284697661 357880227 457788615 421551321 180818279 497977389 113109070 904130014 687744627 698487489 178694378 966387071 733722892 270811254 791024965 939092963 65383779 163131809 38344156 306901215 978731698 69056126 503173357 837854829 421768978 675193355 576255602 749754207 752298816 936772768 154356044 767386501 106362823 187870823 245025493 312295256 787738251 966485860 707382742 347876609 956822556 578691491 301616451 941984336 694709383 807803679 669638313 786730250 761551027 905669097 345975933 689312684 414896824 196765621 668944895 175828679 555480556 867318475 167735468 540877042 488380630 72872903 415432850 1487211 20704281 420635461 777923054 162454393 273934457 661104807 347850040 567110217 401517839 533926667 236429916 292659573 449725347 231003527 476575818 544141763 963639435 34807335 974974259 467737210 737358427 64276053 245200208 636606154 160127259 126971808 973822559 43309427 108997493 741433016 793883729 558261162 150950523 833281586 922063361 237349474 419128841 69306136 908818441 768155562 998901321 260659447 557688926 862639804 977390444 176284913 162265156 806372386 74127497 654476486 903785552 600559579 704345930 789124365 471399872 266755463 81315419 185016021 876946875 980082211 418298628 799934618 360832343 362623604 234382759 367086989 996455862 219903292 986667307 482090805 728821623 986992536 16090689 784966845 884073034 902025095 931213589 259069024 850068887 827916430 647713067 320039266 773543505 576697708 150669014 567715279 542120758 598559987 35257269 720923887 239605551 783391016 297237559 466459769 513684917 994255091 404363028 865429058 633596981 28764626 477793510 750383480 452406742 764131230 577590254 504566246 141508902 256466644 739624716 296678608 190345446 532636013 781220625 784741618 22268675 66216024 546727662 280776052 726346118 577492900 801440241 79708313 949912372 709077943 204348020 167059349 265385781 548718808 832295095 825103670 460403487 67391982 571574191 384137944 419267204 157018169 865244072 814705824 735845909 486527899 734927132 77231042 439442337 134628577 229268129 605787808 669104151 869972619 966344167 316357098 445991970 827642895 917759853 26406499 354723735 967893485 887652194 226336880 464415700 508222138 93980700 521135356 653835602 390968334 142137176 155224617 32382756 662858683 782134042 162418048 180785728 93463564 521989959 378164611 749239511 214120405 429766153 464805270 966838254 556127331 606599022 41214427 327592397 416045331 968733967 490536914 76695741 92973745 528136897 105580747 995632620 985921435 340618141 57161076 406714030 770330634 317883482 762231408 778213126 6698610 512722567 49818663 306856906 436631003 897525621 648967448 330999336 372454964 992514448 82732379 139705345 840568810 918235632 703718540 724827256 83741952 459497631 142322057 365090406 18280248 352635871 31970811 878776085 704320180 29005357 24290686 792886365 590292034 381955154 559092707 825773283 880653602 128541753 285892493 777649597 838541733 907574357 268923318 674255147 189067554 110470148 610647676 490408827 313596705 94772597 541730236 879649542 787124009 953617582 263057132 917324612 517804095 814907500 870166821 152857005 873351194 201061776 89008425 285981834 975795724 234689359 80863946 442321424 164265516 644800510 932137556 660067436 772716808 863831889 562253322 580985946 475300453 828231233 594330533 762389489 850723255 634127610 462043068 527487697 207324555 114848808 965782485 942630319 672078655 47538557 343693830 345464377 443365737 137010639 391225205 314362617 492002299 119230343 346859450 690188371 178059092 9964774 310498581 977051406 734247585 601879951 66245166 544903888 618578482 323750949 491917704 378375074 497338716 90186877 591135383 252919233 496644571 569689374 458205155 439241567 881148526 706161101 460045280 469775315 98504471 450857247 625893302 130917381 464661636 992900679 120690164 153442299 981232862 130274139 147708489 982480370 821115731 736078633 671389040 297091774 657718306 968757236 938251034 721211356 342400373 419813247 960255193 371413721 79629069 406793853 99782027 79995676 95986246 392979489 202856189 946724541 148530995 690715669 964079385 965513795 406993712 265772828 686353712 212074377 777963006 261049391 279909618 839503724 319523306 145507709 836300341 159998408 876693785 321238389 467622997 185528534 90634683 934654351 116747978 526032497 20658888 715230375 76507814 32883091 346154147 162372770 531562342 278296091 516179910 193847629 620442479 507902657 237196143 217486089 648435391 484996214 548337134 313580684 451150210 167967753 292611679 116511117 791766370 439127596 949679445 95544768 187165915 560669364 695470943 905257818 827837241 571262725 307699782 319366541 625582462 122507105 604911128 631168810 528939925 710451433 719977556 880252275 877123121 100229975 957429488 59497468 503030994 735274010 80810931 615716866 318038899 462246937 33448777 991875737 193145284 675365137 313846375 496798459 372955320 337407079 232219462 77953295 972963465 174485056 157962865 928354001 991542588 623822090 475289671 515109586 287444315 313323440 897192795 95161295 451734745 304115606 963517855 873877113 376883710 972617471 265431118 28484749 258577536 980193891 689360260 799269653 587710014 460032438 957330450 628091728 226606011 542762615 563006508 390108914 438797106 37157887 984527467 210225914 855728286 572817777 361339474 388045743 333567931 845190697 227107464 230310423 159075973 275446112 382109112 253076114 961376178 16118137 669004986 870296460 707537579 225087002 281645926 473967320 632295051 275649035 884155496 810767271 644543138 102876294 506976266 320155202 522547824 405573302 251660309 337206708 243880906 23045582 664688821 725210666 784286706 49291997 291005399 392282482 299908342 68256980 199088182 285174584 996366887 629099584 311386020 456925242 213813876 427458740 795988715 661699388 921924865 511957461 120988005 513026053 875271014 54983207 15425301 873539011 65014965 385425386 599504996 916219555 943423072 633808252 566331870 227064465 37442257 989353963 134431692 281197439 349153540 971224065 857281735 764220565 542793166 430254899 856606064 912744557 863842557 455982883 16611795 527736667 939099511 132895304 59993080 208667075 353612418 305384430 854785894 394440466 256522612 942046200 48721392 236246598 777839670 699354393 857933442 266817594 465478312 949374814 639151983 739962639 701216568 996538130 187897574 760137774 638873832 700827366 827557797 218584550 715445263 917354509 955269858 593677396 320241342 279020537 185022614 926404267 989501831 852354259 694409202 715115310 413209778 7172201 382349187 981606495 309977480 453243599 486633338 67174209 131502698 303941113 411217524 933328290 298708749 988911655 99798352 919145169 265055441 491469581 204632400 148411549 129894226 978563005 714414569 211362080 54726718 513467061 954197374 363096704 363378622 583893024 38854240 828616638 641056762 642439630 85541608 839449070 822901384 211633381 870073001 786749560 995368485 157669304 386648523 666389349 738583747 151866632 433031636 410706378 878915039 730798972 52138392 802141351 736618565 500588625 208980587 275283887 640423442 843330619 422270239 947748339 541401055 776283333 982105474 673629616 605601982 406677966 23373383 278936277 640107093 383360138 410299970 785261819 888533271 923379182 156592431 680227006 421819910 385102459 443195847 220633322 436208664 183627222 309953232 700494595 859821503 712251613 950046395 712000639 237092491 93162483 278917385 256262171 376703062 470069971 968247086 900681684 446858348 977121234 935926533 328314530 634142183 854826013 592194789 291712077 883838189 871929173 74981840 455910179 680717506 474124987 744468854 427642984 330956565 56997865 151861355 916138256 672111118 561448226 721880654 425854246 748266510 795678373 639655872 499959769 648785184 634353915 419724947 822110826 962276585 814097042 287646980 725875905 521273177 75790813 247340571 560748951 745053139 633707468 336602879 476485587 35522064 468573720 278138292 14378566 51153940 574861240 473257193 253358274 285967375 483667664 293842948 860772339 89907528 181412404 776484702 503598922 236687434 468940385 334950424 617943918 319176884 616945450 113229497 632456998 861041303 732252083 237192135 941257844 113487073 98086773 286860332 269171658 781525417 566263902 21490676 180695399 37912953 600104355 367163407 550193397 177991510 775014656 363898940 818017292 254645670 367687333 89118159 870956093 693189225 512890698 178091568 901295773 910004787 741715887 15446457 833448020 557226985 920815513 868532212 901215642 265964802 672611835 487573971 576244615 135115553 713446871 725563322 68987248 634860991 525842791 929259405 312236381 733888270 713388600 572913086 811518374 892135506 204291397 172987156 9872504 36094722 835357740 442942065 557752967 711094475 721012409 209242168 590527107 237859033 820956554 707072198 762907131 922494311 438678089 947075767 31737515 639341817 909449272 100310830 850513858 660699037 979954138 950176486 130477424 670822050 211568891 459804992 526211382 689576366 75450396 407050614 808246247 133667578 337706635 20299556 508005014 431931091 688574130 884878600 388605783 269597445 461675899 772915573 174718738 270903887 622231421 650821732 345386008 689238670 437660018 868138894 646971717 828519633 44512419 651705327 988027749 885722757 130766048 440252211 546516456 504883576 650878253 76733603 893158320 66244334 524014451 432445890 838784495 977255447 304379674 939306321 21997927 976220876 879842015 395988320 291064659 856699661 698229346 795237522 741210205 198501113 861611210 767578762 744460156 707264091 717180983 950441521 954270196 973744323 707303511 272595711 65443163 468863655 138012635 19531039 771065485 667987702 781591763 914608683 696078295 700137423 302736217 122801469 975477539 285101560 924591365 830065104 718978995 670637558 929467786 770031138 619151954 530061793 715073740 968902988 137118641 219993809 654353244 221519546 659243197 667896351 107479384 100188705 199956183 140789412 363756804 512066991 490519216 412440301 615775219 693451587 975141208 974872655 634802628 577030849 928593735 405493540 767857138 307397717 297636995 48528510 703021573 986808758 578198227 32795447 581406697 747676791 564266248 499711018 622347868 812571413 803825386 588382540 766337790 489573144 491773864 688399448 28978112 546854266 539879472 79759038 126830734 774946392 438274834 339358898 397012245 163755159 561924256 350726479 994725077 901938054 73396847 594218407 160131051 169792921 23812776 417522245 494519681 596992354 231519922 178023774 62807754 306301521 357653587 940143012 621479428 243882583 832781818 556991907 786150998 396653938 847806337 325017604 522009771 927669241 525001275 456544732 805509304 233836751 232487018 340851552 710769026 283657933 279921380 576641561 397885253 120699758 139186435 926530574 338516665 670789612 563564916 525007053 553178823 376894060 191936635 952539176 61033536 697126457 46316443 512344353 851659655 743637070 378854564 442793579 807304164 725352606 280763890 439770210 127595706 200601342 882526783 409752429 315745436 241990822 806058353 596740450 733278939 7069570 624119041 500847432 98401984 294772746 417986704 497399131 312127345 522950139 776124748 437924686 984742384 749795569 190092703 29160775 503164985 825313114 833697816 953093903 171555732 784885070 58746106 309158509 995782644 27177921 460447267 952721564 11651602 51942682 781670 519899566 56047442 474741178 452955663 486586342 654497520 792400923 916835065 335145220 971120079 203701507 936351088 765587641 346929185 670500824 67148437 578305867 657876893 710997374 947956577 655485821 897931065 452741713 504119470 730451165 440145527 739356940 382592907 225784514 944478913 383752371 902506049 774380905 288900018 210409580 483604124 435647485 758518497 550818050 20811711 318392583 846897466 523251499 922285206 850682673 905231430 388300436 842974999 374477305 561976817 322426737 233501342 313383036 929387735 172603122 277987100 336851710 582810452 602098446 896904241 974403476 796738284 762636888 18519109 196287877 940819695 626365790 632442845 165459325 433889745 397130768 592701008 879958223 124031495 182531652 819178264 31599557 33410316 341050004 181190744 661103342 998410540 991018682 158932640 637574187 504438127 940357560 571879524 368957095 925548913 839823170 432186652 45495658 719985154 353063636 352558510 991145671 7696219 941393072 789270830 737703232 384727630 83519609 607682203 314131457 73283216 731738075 941677155 380935128 590202842 134722871 136450706 313337519 909103826 245793175 742849534 527771105 444351334 330231460 622971803 496870900 368657530 738499941 276719565 550477821 355116634 732917894 117021111 650670041 286444008 503412354 249904095 190037641 453517316 753237210 271637435 379871373 623029021 875946050 942407802 568527602 841760444 515279870 56913045 149351518 609146463 371185486 116264184 214366218 395481875 999233796 421469661 802938170 156325254 168181468 845431393 328587702 460298045 181583949 16145521 155167968 882667193 808813492 817146761 102310140 556044325 306382524 689823668 394518705 568593232 596445433 340336819 671805652 399336856 982080179 772540353 468425640 745970670 352719948 232351272 322392590 498910744 492228818 923372828 416444732 124667645 787361272 433982604 547986515 794656841 859557179 93696333 820657580 11121418 942265093 683707471 438387151 249304681 285180671 646281078 655246930 299299838 397095956 214229147 655271345 247367826 684809799 498966983 275063590 947036737 178298800 607179623 151877682 515611281 710415484 36489327 403651493 329398667 551222043 44659380 53771097 402847206 447437320 636922475 821325010 759202530 460574170 958376439 911801391 471956074 946442093 668614330 543059178 33377463 760814089 243984788 657998988 822360514 788970042 464722887 513275056 455601101 431920021 746414296 877283703 169918838 941398266 262591058 974222376 326299323 514908604 229746298 160465100 631900800 707255181 368138465 986815981 738323006 183834877 562424087 855472409 754034325 190864231 572283311 316725703 4919044 655659963 855318254 547510127 858771821 146684042 579612795 594657886 120320851 817874658 301397560 734795329 519668348 969836626 203878534 642522677 725508194 861863655 622897895 343265064 617496171 246057527 638338609 107630695 704729241 95523257 131335128 671633856 921370283 260528129 974073070 239160576 794645845 482863584 885978455 43208651 787017266 794607227 335522444 351290612 596090581 597422603 81051915 476028619 56886494 491116369 289241470 63347914 667942526 209372646 950119629 792606047 681274854 337391416 464901897 214630246 830257711 713769580 271412087 808026526 11248663 595279935 586576754 947599459 341184277 176103523 346947976 952452166 517319141 133982782 806129908 993129322 799250434 12705405 509323750 848184351 606109198 468823045 768029551 765758514 346336949 135099955 426929053 718719027 605238337 783693481 269813744 834929339 127107258 891729946 710565932 838603335 187420529 239886991 314377813 517159481 806093690 123340625 541147466 97543160 818188492 683212830 548469197 23487418 817072935 138291027 743262094 240967986 873570911 503067233 551140272 230894676 174411266 854290362 101613290 213250049 98954486 578857706 633729146 549529336 119151002 681834621 293229114 604385132 189912274 198906863 706538260 859703759 487617331 199516549 687261118 618771311 399312546 606850381 287435238 980934792 346134058 424339298 172928370 46838298 400500364 490281094 499232876 488965297 105615912 841592506 958916953 274436992 882531642 383714789 880748763 936519480 165989736 183350058 588713964 215633427 35247260 660348468 815936490 619768663 215171941 631183686 546140828 898921360 931954030 730103339 729517557 802664865 863776330 224992057 792394177 966782239 483304058 102730786 251133953 518667797 133112080 977230626 469325822 744211207 733635845 324208558 132080758 797938608 91371798 92475777 621258631 777243607 731330578 815927990 436296929 543096560 947778313 355540175 599162668 707675846 166505094 493669416 448525307 592125514 811277002 277521108 297486354 153763218 947807866 949412884 454244986 110186328 591240506 988666486 635274768 308260461 978064741 216326057 210489319 358469211 571482882 979352373 304097645 73722034 774255927 988467895 270947048 839122662 903651271 718455606 77190629 943142316 650946534 429757036 215892198 342275967 254120133 364425070 800747577 498409368 406639907 780899437 332888671 893890415 508297227 652445396 61263211 854243129 170663905 5149985 580418066 985214334 111770417 202629513 638030682 34457892 57452197 290798583 562848602 369729525 846499990 778563262 360804020 63220721 751835279 442969530 22418190 350231227 963083427 326118174 908911597 623356575 229559473 427485003 305509651 766425082 367228667 558943438 739478002 688314559 58349110 309784357 160147501 986362512 79961663 423006606 873199803 205043175 479240292 215999049 970430181 261327286 251364983 585429038 456311875 916832756 608424022 682216731 72164046 939719823 366867142 114592167 947888022 336059656 137978303 292539311 450612155 723241993 558997859 84771447 17914771 757418364 791316130 258009022 635579788 864846257 133394733 505754563 685904460 381190395 936923566 490383871 690538294 835722384 269806341 825189298 894546645 309950804 530904669 139837419 9632685 984345963 644451906 636777959 754846781 941974595 242738163 428962910 126657577 908904395 670169749 361455750 85000750 202559425 958054862 484337523 799072906 406775459 561596482 513980077 833546063 865502530 551881517 9869879 714566111 37467706 867747282 251394710 784653283 587052022 97669599 658006441 312941465 185650496 427109605 906282447 892043173 183547699 454227461 190749667 111689945 327047398 540340964 626927626 788587247 442702215 887217968 958987365 303976230 527898730 840806185 754761590 234572174 528021049 115809256 625278869 945618983 374759186 879565914 286628655 978193292 76178921 904968179 896612637 314637286 233478214 830172466 259735228 764552225 231827720 262288268 165372342 345554567 322269420 922114872 724232495 129646238 688413275 769201125 277907073 111742366 864953905 49603967 635935477 689466879 837834362 489368120 947258770 430343832 242910649 48057679 75924632 420766864 674124666 590233016 746254711 190289476 519997114 444728607 755691348 520068192 662493941 980697032 148029629 22469070 105001231 679121112 661116218 584013274 962384605 763506273 763367656 853305121 151167071 813802189 939538168 836306607 943182273 742657518 637289175 451700374 196286586 65004915 949274099 170392074 955293053 601559951 652475567 653288300 223270778 488184708 333255914 859167543 361004522 125141714 904022284 250857338 739660439 949025800 13472744 843726371 599254840 384042492 480893708 669678931 889031781 827293231 732996511 311349949 583551816 566675771 524842300 973355746 470501942 739339756 792772060 933260143 301813089 136894787 961622104 30855851 691578993 525658150 170722856 535252413 553612303 314324552 638598738 583191306 211490299 840336779 216064740 22843345 975201088 250385424 645411999 213034925 753291953 933302855 707783120 423699835 764383317 746428612 245107976 526441817 109750804 717189747 179901640 778183549 148303223 252281867 669005527 844084829 292690062 24737397 877344702 10223608 122341730 167380990 641107138 614980177 406180705 587311334 923021186 83259483 748467713 899545748 134268446 725752351 611423022 435460914 413528197 415918472 664878258 424032628 387404294 871041392 650688499 311190497 975290000 870111196 85253251 826306940 550601874 693325651 743609342 769692744 263244571 887005403 210132602 119857427 974418118 586306924 945134170 716183780 169859235 513789693 19219943 222708796 492902932 933058116 349729521 956737297 145217998 516770820 703434560 951078672 914919857 238063579 388817695 620839061 214618932 415805279 931316074 661201624 882766767 332061449 549143225 63267687 731783613 954876477 489133413 388952238 265413283 110018084 97636887 859270544 255170835 498583818 532333798 966537780 540859057 926516758 32248793 418436393 236670913 606475190 349117983 160082714 92619785 419482526 793608206 289182507 565064497 490708454 119233041 449472019 787405177 692220975 994612654 290478259 23725605 161031539 716916491 316433151 85827280 541975500 798823635 974215298 835080710 235842277 316811140 64987461 843330340 639393682 281892592 497129531 51997511 578685309 787876336 555377283 84539231 145567253 557547954 573382872 513756066 904474565 509043912 936719063 697480267 372734664 239513259 531092524 33890430 233876972 567627074 339444718 430182505 683706761 141289340 650691202 751880208 820071984 620568726 844582354 584213163 524505653 441581551 974845882 350922199 798253823 382063354 808855930 19254893 910539850 583877374 412988167 377126462 45213391 881462006 913246926 230116548 310093285 48450588 494867729 423757268 640932419 413721199 205042327 285138594 850745226 69195274 306150667 210140614 527490666 661482041 764024738 57724896 101128310 762941628 558283977 283851292 670440507 295378109 204333249 786205868 359112669 791841256 69611884 687251748 242335049 345257718 822654384 898010180 434861290 648483022 194944315 740317696 310478575 921774981 740266156 762250424 8562810 345836876 708040779 395517739 607218775 645035170 256587307 962976712 156077699 342190975 961289521 150946524 377031635 169371051 550320497 779151972 409862541 652473627 937103731 805462387 436665066 626954473 644614021 685979180 560648556 941848488 815387250 192337334 522167785 98362625 559323338 852383566 632020449 941491482 278101369 307834377 60485199 118829961 924705951 452896431 933693877 347503700 492103465 818879745 446786759 31296907 106872344 291801301 883059047 42208210 751428148 531243215 110670637 387951582 21785358 825721700 616808368 164141479 384895884 981348670 600729749 625666625 434668935 181281894 534876543 3452388 485943127 38166079 528804184 133277924 727953927 384726579 775071063 501675628 687035321 107134046 428560355 670841847 86934177 11640932 798234232 548128331 759021270 391381706 484680758 868542749 491595406 101781367 466348413 640683843 316150088 855566673 43999364 417936579 78035690 441901865 6616207 795395722 811632231 598867613 859560979 448503560 342407099 560038557 57478644 956114613 456643272 406121695 357812378 335713483 612890144 355636923 232076998 153953515 552023998 758989659 950644948 970538493 659110993 344148939 231260556 789681375 245745818 609971921 628322982 405982995 449962498 503147204 229380259 214816545 195580839 297193228 217738962 51794179 413962438 879390701 155183982 283866459 768038282 615605013 180520587 849383576 818854710 471943936 86655414 243777190 427910889 472954437 810051091 873564779 462911207 737653298 93653391 394528078 145662477 149251431 895850201 151266435 381613939 13330096 17828443 912282842 378862338 689130359 760361715 52629863 347977659 54275402 461701405 122609926 21778329 264454932 820833161 443665695 906263251 660684054 132146452 896672423 853472106 863012782 635541727 836552960 318445326 992045456 716773318 992417343 316904870 658574068 451229681 755533221 899536271 39132307 791513448 744420100 515774917 121822135 168236494 41750981 840630049 884838004 614605331 199404122 733478952 325829351 658959582 552486085 513501873 41112687 30918575 107070896 876798289 410847542 694348163 909685180 676199347 872252433 460333251 133078491 389968203 286666832 34751133 442880399 443779206 928016476 532776289 717412937 737929712 991969477 657411094 395132003 267366797 336099776 620064651 360310422 785364761 117311884 444203171 373302474 515650885 208723519 591678339 606689121 164861724 52619158 445408641 447846162 687747638 356500530 131974645 929648428 944302227 408814062 44556191 869021138 907426161 111629238 631450854 112980521 610970292 360224141 79377212 928823495 713506561 220586398 884391845 907117507 618992808 223663504 320339671 377238418 202911864 888546845 80060471 457347903 478861168 34218603 240242066 344113855 330855791 605165537 329580453 752707129 66642701 580526782 296699612 537462985 176278570 57691564 980725009 169640970 516816269 90057649 584775077 999407141 543104617 852211007 644805695 236716647 601626961 685092361 675440461 858740408 146206751 433133056 341015046 965696218 256912888 371602750 836713470 305760206 231638441 847949282 157270239 785337615 418164025 647396142 890044541 1294971 331302176 335117125 569203441 985360707 95884713 921984061 713196666 4259825 64785419 876189502 818596984 201886636 551580485 567544305 263782492 506468152 55380110 345708914 814100684 990861408 300992794 596081038 472464441 585640363 655591416 821818278 437481989 186505744 505565880 988633634 320393290 804878581 657572467 982846468 618581496 248259393 261025989 709264914 204206317 352115020 549926554 28751897 330850530 640898173 349834867 827420849 640541192 17198411 771568139 444114670 648692073 902097590 215717489 95299047 11374460 602720493 130958450 536448832 503770507 881977711 271265371 354365405 571924663 58238341 182336966 95890144 448361794 528103014 484694126 510237312 449456431 719385645 875998223 784581126 975236071 961976002 510909804 265193834 811832786 50564088 880644125 5325054 401102428 418415769 212099653 83570354 150846259 967819899 199277095 407496269 976374489 799721015 770359692 322720591 956372720 80183976 478665651 507158908 990838904 672286407 146500515 299671547 273776957 768335363 550750755 740199785 446613353 893043660 605648206 6414115 35982379 860976622 980934733 243055934 771773461 511353331 527533682 776153642 313952588 42989636 393218613 916876428 847024443 590935861 702385365 562582160 615910682 951811650 381723312 647829484 673773585 860293075 133924578 735793456 213703347 205303563 217678491 606082420 236808893 155688344 511629137 743582730 629083555 933355194 5519870 186949123 699944777 773875565 318439845 893052694 990029297 660271293 672538394 41854885 771064484 224938814 782061720 185576856 221544733 789527676 590708571 54033702 821923280 914140117 172738921 722275924 215202484 764464614 15856702 988619759 494217034 80200446 450039959 197188029 226987953 874642521 861186756 47630568 101696658 685031439 165984809 144417814 489264254 92800283 897391635 285064043 628055051 805257904 891969918 405950252 618305274 418959798 802730432 633414171 200332689 877820415 338338593 976750896 391625908 550598464 856828404 684912444 608593226 366538642 590608425 740945742 810017958 993360357 176701372 924456505 670037387 13534931 683965186 583791523 811065483 311195191 996917340 912509027 298720629 549524966 877084765 436623272 516197922 916517492 228693100 566744507 608932774 343481950 747900332 40664298 403507707 44929533 648685281 433467990 617381402 214980721 16384464 310131782 826831411 748673955 703980015 186590303 376674669 167779141 910859216 452436117 254474712 681973569 908236087 391327140 588287897 311996839 927360613 894710176 329523902 754772444 124266445 253298481 666947378 132196809 810447212 781689277 885136946 939732642 849246636 697816968 407687198 287058643 503909048 157339156 755835750 724302453 426302319 300671638 461744445 347815438 444897508 155522211 527942283 142816182 279875965 435387234 832889830 844417427 31551951 138821383 144976072 745186851 281238897 684683986 144379802 416916745 7726205 340990098 884566524 699088225 881491763 566027037 596679461 412354039 406768607 358181979 982399659 918272955 909814771 7247476 504446241 131848204 786369086 954808550 339582812 944359701 497124070 52139506 652631114 988689628 430826358 984782714 904193184 290807369 467809699 38805871 336156298 164531049 704628389 872902843 178781026 776293710 117162748 468598479 406111994 685421943 645751487 205984293 69628218 642474031 115414627 45222399 897507142 320856331 512582554 695343540 602140776 327423731 57086143 178662946 284959741 16921620 463171524 392114943 741455128 129915552 198802653 986586064 591509814 248502101 779640452 945287888 446818621 430443172 927653816 902660839 58544891 110288476 523722624 957865918 508336495 465111275 633185988 613308574 403971186 373394144 318659122 199784010 939889519 629898885 46226674 442520826 775846755 56451919 53976955 485097418 247703661 352109874 637072026 661403081 553009160 216527568 298194655 279988977 38828226 154903196 777873640 970192721 686996985 332705950 305230581 758185750 898001418 446098141 883561659 745919117 75314769 883025031 337598647 161168499 50613677 779917501 136056376 893110284 924548864 203583473 310515637 464239124 74885458 717532385 853269663 122512231 102428219 29299927 940296158 545126849 284346008 897235819 401011044 780465401 10590457 931978048 768623140 364741800 490172562 876795988 971195247 669206732 79340433 899645322 335241854 649325525 820219482 433537893 53402286 645109103 278283070 974603630 211875973 981977923 655375931 808201957 578987163 15111447 877321509 180794482 679418338 544568252 699470961 354939837 504034159 355112878 869838997 442407875 410078760 292203225 333196569 213098607 245540401 838958156 803944398 302163848 230121061 538930570 112702786 828063995 142311213 638507758 551964796 524594219 617389090 114311380 18930826 36474340 733965210 656579609 826251555 524061664 934952099 577915407 49866357 93769745 804467190 204344094 313810113 674191994 75056058 680535222 808395201 88379706 587860001 86792302 209673598 572709874 694846046 320254750 617246457 213819218 834904310 180170390 309540098 928289593 377817465 749195802 261904701 456137338 258537364 164440015 17957727 688604026 653115903 975505670 399793921 571604936 553921429 853213903 484702609 460993452 165226189 602557637 593915055 23602996 401837693 123726105 300046307 450642652 961859028 383461005 321782928 848378890 683679167 514773043 420654646 526785870 479739690 150252961 227835985 950922986 456873211 586654990 790273059 447317408 508632729 694175449 647795705 675429034 916540372 808608752 741105787 543977490 115806866 128128204 288684886 363552999 402788026 568980224 591803384 726916574 181506530 98314709 421860455 948752482 613193469 479978732 432818205 94859859 489620388 501579219 87565249 258793302 524944570 988150380 407572042 10566494 876137572 683381700 110778642 295046448 457847369 140765386 538812660 882020043 173744604 407261383 54294751 9961662 292022539 813874831 212069465 123904768 226633970 395866422 843803904 378633720 37332883 596483756 396178917 632730847 204244576 781049337 897423241 360404217 957578885 339328328 368637523 777577149 365297941 657214549 679189349 559517347 600470677 811238077 878541135 833068071 659275223 338921063 35792625 628103966 39468477 825185040 751207530 624283854 589062481 985921284 930645227 603639929 861362551 191550251 741724306 876451057 343500917 31395096 767196206 252395706 90327039 995880915 306531214 980316317 774639892 181277239 974224416 117712888 876241335 705670975 759050675 809415214 764609324 138061075 505456031 867080268 227706041 518695332 901513939 57778149 180063669 731036673 657303417 473714185 262022370 697796469 618030903 484026720 614759639 490244418 617791358 238526977 622652056 876130493 24361886 301098537 860843685 754594465 535570451 477914263 121125524 461481243 272774835 165091632 726590846 160148285 959376110 203517527 314591892 161196 805743969 718672550 14871156 421437469 486012558 814550662 605266571 961580831 724729037 310471364 143002118 14674638 104437152 47297599 343226273 836332589 12189349 74215109 767746980 14817156 441007502 860529735 204628583 390670160 765968411 785982853 615590756 707604497 539921474 36112112 780088833 51995276 28824618 626164882 970706215 981774051 564027598 935133959 689786985 841219849 84012585 572001062 37863404 439217818 129625723 590225143 286757740 350117578 611911054 408441468 559899802 756433925 934319919 336217360 770545063 63643686 794923580 276748193 482905819 656638681 35966681 846941343 215970038 579156729 861728084 832085507 810568326 559165982 124202101 91962491 712731221 273182315 471293100 813771948 414409145 909081168 649795887 966376675 581392437 893638489 42553306 539589616 206629404 283961137 184310126 287948290 517064512 252751682 272306395 231285270 155729155 449261070 159114790 507198811 463410302 548233575 889634121 960188284 376741653 446032745 233445732 624272336 682936891 610819036 969424778 407659066 583539594 967508970 463903829 24921491 357389264 52526423 605149726 715063453 119229063 32718076 787884263 685215322 983331470 291785108 982827246 185721739 239775351 312837249 65695775 154048432 167138136 400003967 296577241 811688254 993520019 455789023 723361105 683615192 63974788 51566842 367453791 452946356 166267056 282324559 635683323 302585836 215763486 397051382 199096524 661167804 15602403 153508302 559255647 189701904 63322338 632731440 539947030 387744373 964947089 114836601 553543546 953537834 687500441 192021311 10698749 62887298 607943759 16769047 551761237 223590826 388217608 268005369 987253917 117872402 292404998 508575875 178659241 510105541 452681029 20692266 490113430 242997173 960129283 497102987 672399522 944070747 451388052 694396315 729242194 875879746 483173871 418997308 269952345 84586430 116652689 329928999 236281902 576407638 382426569 723477280 108997715 198120748 268328331 739268196 603588703 923478159 178845342 573883942 94424937 615401163 728176785 221416527 629057824 225461801 799804413 102877548 773361420 387715483 431834368 257416261 156662534 843059976 300028027 675098927 325522916 727062920 338353846 971611290 875917226 515629242 37935760 711757192 310293293 637439564 786964758 237782083 635123878 21051519 356477871 799813590 395053766 241881797 614814877 721208940 196949636 349691493 439259785 362631563 989945344 111462015 958879235 440004667 220510233 88097975 817296015 734756575 177463188 290535481 916438475 321747707 959161373 235175165 770853529 68056494 838894432 3388696 511025595 51456998 695167401 859048339 575236365 790665906 224018162 313698669 392009945 89049016 210224939 245681788 654891785 606396759 3487657 48673729 570823626 46028059 252035313 885206101 744336319 296714493 977928789 972852945 288380864 437301886 222207956 128374151 23169262 989591813 806101143 982216415 901284175 708280871 263092229 909425771 901106270 829528906 766076367 337386454 122325605 825459627 212629397 406643024 323305670 638627583 64959104 360660173 343574210 414392046 583550734 637854543 8657467 530103511 66541157 587556880 210667646 966011589 972911085 524573626 915339234 68635771 385519189 558473853 147235468 243678069 595155351 987063926 825980976 645307058 889180672 605705429 685175972 883316630 500580926 420756362 669300093 921664755 241260592 360554410 989393184 856326551 783992735 507151656 214581452 671588841 271818571 309259035 894900420 334091651 858484113 338478581 295798133 725286928 403472530 656828335 221142607 435606288 17654563 499176641 986242895 47304084 246155649 982340610 978472152 809961200 879460541 856871507 961359436 461311702 274304854 510134837 113165884 761003871 252351222 421114193 195661576 889622750 893760299 689934143 958159959 787260458 55974134 754364115 722845915 624461955 174998638 826336386 567419108 354892823 995309079 482816096 115966054 456032887 454828275 396340968 999258832 883989189 667506027 902727427 574719160 353854316 669386123 754072346 49730823 31366185 415096084 776462950 588451055 761890860 120661047 190178702 159587460 501231879 14773997 207188202 482140913 808186073 298447155 799233898 183141119 325125928 643722681 449310585 778196663 474647686 81690989 136245234 285313599 14427849 119528109 943120699 667160597 808305832 962314150 612941178 912120837 225492685 878070655 334386192 616042322 447898333 583585729 682483313 527178334 174974063 947814682 160077460 192058252 215529192 683693332 138760450 967644108 401383613 906050813 214778581 942250551 88255372 727362882 426189309 882560948 748456543 146118782 245393252 314502873 777237403 96605589 384712304 885411456 578359815 429150658 567136296 826274353 847650180 934210422 156357753 773053234 860816647 697279598 767339824 37561370 256531014 807345759 272548904 296234119 50585213 134563252 895604312 173883159 147669058 110805677 428011776 412812029 473432733 388077147 655282248 467518415 743333249 659371864 608574534 722616245 217213261 272231886 873716975 585934831 543647879 819378410 958119150 975536068 461889725 180342194 344992571 417197219 993609960 433692062 321660990 959627468 961551529 746514134 784033177 906994824 591233008 772488591 593808403 448434904 601690784 156343302 595724046 681572527 367748400 345332104 627436784 575282561 275067606 374075821 266756392 861624502 894618098 671751622 903865554 60377040 372549076 802045906 854109487 587774461 959695705 414652559 629093588 818818043 595617144 198541020 731211098 590581550 56826704 337001263 354172822 452398512 116387271 373920397 723541935 652480340 332915118 861714441 354145869 953094150 277941368 232950282 843302458 185735215 522457766 726684015 446079805 307348353 774324563 525897572 931344183 895663715 14757100 341065166 650551172 649436422 812208767 624888454 718354258 981089956 783879278 758738698 241891750 338715561 32795375 612534704 807142881 109552512 29598336 756150659 466835568 50597646 838882861 403375251 468963382 901624525 204010483 461502782 767851258 748363789 401204537 67122574 889230293 543735782 789916066 838990664 963286768 330318330 864174171 901548746 209804036 969833009 654077601 880569138 692033455 177166067 436097186 556477708 523137246 542566329 51342929 576089952 364399332 479172218 526148605 45338332 260419338 838306924 54338681 392916525 335036492 939005330 769909041 939680669 65388219 46610252 396857261 243348280 966491777 531251278 732799173 205750955 657897558 800581509 148289957 879715024 565744490 696618241 329790330 812264635 24459321 88962676 111376009 318815380 276248787 117865220 672923808 448732742 812794868 758653854 922931403 978454807 275493213 242476680 805153050 796528899 556039431 644122286 27083934 998159439 208653271 160602495 556915479 273631729 753875328 891516902 346629577 645063332 222907680 174153853 433644095 655030189 985516214 899994483 220470682 511278541 818906053 73050046 38538200 460755808 648622749 684554495 103279333 656402949 504549730 636444072 318011809 739538434 649030505 182750881 834049601 144494318 965748346 807464307 586287582 241637976 144268636 603235534 170030916 77231757 80204981 204749013 242678588 229916279 247472275 633852266 680992553 484568632 154112860 870303141 73451789 318899042 731184500 516922616 196139000 820686157 246455512 246888101 639268695 927561362 729247282 132046686 281830726 571164252 309374624 741010955 923587524 431923880 435220767 558726794 63449540 160968585 238505415 456407051 548331947 174247764 485157334 240612537 723512697 745873561 332359257 328191621 814948316 214606068 249846772 680713601 463750300 353985650 585599413 549004664 889635531 397936834 530949935 430406984 29854203 115768981 932348013 907545769 730521883 620212871 372721481 709849425 414006230 274081910 441173667 64389421 844583333 491456479 475069176 915968642 591629348 849799287 418552553 171482616 238656831 739057247 771332390 237456432 883860729 846637544 957895941 111433123 851783073 232313307 811942759 67537655 803847406 48926419 616986670 390828887 297080488 40238866 100384209 933542188 447106532 525136386 942936422 287675086 377902326 631021350 447471588 707736470 976907007 965873870 363513714 87700618 804759339 177764569 320300134 663545961 267013410 592660331 878325517 157711575 737007565 732303803 405294101 271195528 450206094 189114376 630290289 972857855 147327401 58137139 730671115 811068800 95344224 829521499 441972986 862587814 592688635 487515086 96768198 600875209 704865083 35496799 910144104 399569495 320460681 917904864 418792293 653711835 495317655 438163841 975587836 549793325 767609057 977705616 927904480 436159925 91320569 666106351 181579211 123421328 978417491 677061599 454778133 671220327 601414286 480026748 573133704 603949091 645382769 985317885 551052012 160930723 706045191 351059985 441029930 26443504 758384993 776745816 237592764 559081963 46052076 224274258 657629767 252430622 523947260 358897213 581300238 705587018 282678188 588466211 465354861 713090630 990334637 412162871 291243934 770466257 243392337 727910669 72103988 874696960 63513221 64227969 846095348 379896411 847067783 639147146 754269613 749573358 730423225 625069346 574232722 275398594 922741612 507935719 482883011 699382224 52690852 930898666 258793015 199854230 719648500 779439354 940869230 278212995 432900862 88368308 992920975 153453968 747655474 756229002 860935814 760732761 350432160 670071054 374533300 246753293 526258192 619418854 811611673 816697525 137414 720443697 95472047 629369054 952895012 263882135 839842237 399293963 795385700 182082749 925919819 262349087 488474223 850333893 384968408 38930601 89437250 402363149 744033692 630112475 166170924 40700426 495391353 362444117 582867227 888267183 966180910 747758319 772686207 772534245 258245873 14064861 449018680 119462963 293537876 503185289 436244826 967412719 923986684 514003333 254614023 225756090 17576691 780672782 994187852 650705406 625733044 141783953 934904950 517080341 465775594 309359538 33019412 321353177 372674013 577024434 716145966 85479333 735171436 887710840 333086536 641452847 126246391 982568822 382520904 704528824 348370405 91755927 750952953 663433830 69424563 913180070 739916975 646182916 301525041 603443999 505220986 468309539 925681463 690778137 30648330 712960726 465867657 781862177 30316840 726678580 300172373 858461828 577991830 870270784 264094133 397634955 207059533 103569778 197611236 673135741 60441433 716022828 137936212 597290575 298904915 157678837 173713134 313271181 961826831 575999609 523072346 925649097 627622301 455837991 513252495 65365971 248306133 636585419 95038303 424663947 346114422 914917142 83749965 846759950 822277204 853593783 802822222 381368106 826427280 235707978 161920713 679609800 836671229 399493669 206129273 117746966 540410495 119224407 946776298 31899804 892982432 678543301 701032785 307332903 456727607 130381785 345715581 775674870 396477698 509980670 799158264 625494261 16575918 660064694 624692878 988710020 636707780 226692405 505612206 275146714 456865378 280890395 248207877 926528213 464207207 942906478 255736517 547550204 393915888 991332529 849538541 632000093 515624491 111978983 470117504 657975285 818176967 459999561 771543852 779597025 995075324 906339943 495332210 320296299 859437347 243986162 504631426 67921273 737586369 900553389 936411623 976164463 913493203 321612884 656914253 308509552 666459923 421626455 952867021 148344163 861264579 966308879 972548893 917310580 863070975 906333616 210545794 244442281 752239059 832095463 490143853 720544734 43520661 310581654 171201013 883377601 159851241 691479524 149037836 835438673 935589350 417777977 672139492 92624630 694048486 284818961 272792855 42340011 215976571 141363281 270262856 410754215 127801215 738298531 349449672 974968654 676984056 23986276 740631211 311810112 848462018 903194239 623733233 766673041 217709471 942278266 997026606 709760024 948668554 377975842 223939181 634304219 108531759 729472105 393113155 499657111 67828422 810009446 847944704 545553320 344728932 463660248 235466367 422996178 6079360 816638322 6500668 223219639 51926055 49292327 155071926 462180364 402618974 835194635 898975993 552003569 65249368 874606710 966904617 362180793 997132271 896104774 32814341 883592234 177761367 225492989 910085911 238471944 145757030 118348327 921861589 148376260 148557221 787178403 595762156 66634933 339296351 567038383 454385236 70075528 849202883 42301327 91122413 724489617 798573207 995987433 4877839 788748349 637041172 328871467 390003308 14261720 182550858 205965979 846496228 711234523 501533981 742445594 612689660 391480363 183625844 916656727 541275078 340718526 190542110 265832103 557104751 707213704 367436503 126571728 827886029 516359531 759831264 39282861 319388446 471468005 503696508 891213912 395845580 357532894 502943495 28181228 513891083 956677100 128822650 329999159 697796748 558441457 492412273 840659494 380954796 167882480 386645845 83454864 772434124 247380586 910522013 186831338 571365104 386908632 389679169 260460378 555554335 60970868 841029899 68154283 567620944 809994235 748416333 236340536 522055007 929017811 303544943 465607758 926498228 587948717 345886120 105661132 165718040 478227178 377182265 683925262 658193899 743048126 896981926 745049060 642401778 151687303 247651871 451723929 954221175 975795499 489234066 119180992 298082181 62502784 44611806 567931279 127627218 225471779 634776357 218185299 159331771 503170558 712838084 721679556 375292342 484490205 303660106 219722501 827650951 435243895 565604340 80219237 909406449 91716322 671899167 64502236 952359112 854773022 488343720 994090683 220444394 736327939 269164633 272688283 510037570 79339280 701713455 341105645 840204620 43266681 1919167 395799580 229752782 417512325 845099945 911331990 289649289 689513349 74269561 434022485 817054960 739959949 997295744 55161736 94946194 44858598 469695079 951450537 370243938 988928064 241645130 318508488 812470714 91013974 742924470 520801736 372858293 160341130 450642302 183502948 870667337 242860769 533162867 581471097 999295839 86765124 729273380 281697342 359353364 772137914 734181531 986333526 581029169 526851595 215205296 642272346 906694218 888286219 722388369 594302388 885339481 528695366 300148387 122157275 271077119 894840660 381306490 110434221 289606007 806364395 573306954 646482022 651245582 128299767 830730822 317587073 968509377 391111381 530510602 382076913 733884100 538166885 106038905 374398033 451907360 153833383 454147375 687717158 87343810 64398515 854111966 64715208 481618199 210834565 167225160 153813343 715958251 485712661 142110589 345950612 517351197 588771505 51650444 759334109 756447314 841997106 663511847 324273819 569498421 149561483 781394546 196785679 971457657 685098282 73400806 762131833 359190117 718517518 852501854 364837689 878723972 390144449 990984455 564359368 352368761 438567713 10808420 546780729 75810875 647798168 464686004 851086956 882219203 698587726 431778093 236488361 556571376 399540862 697536126 88292213 176379081 691077663 632491342 267077180 117147695 977757487 465455412 517262862 597942624 784587815 866137997 933240834 114875700 354545788 188263846 228336201 156396867 654795291 275607158 314417043 186082821 30469108 717022486 420732682 822876478 594877141 410029774 801904012 802889499 502933045 362692476 45950656 437265188 88692527 501852011 914190537 378477279 471111787 782114586 561790060 907249146 903881210 121431142 268832484 796365016 676779225 345268799 193020039 958464833 861010912 923578951 803026531 64412268 583447040 994844091 837101274 795747032 504084708 526209615 577602751 559450945 586416046 897469820 594659498 307946671 782779316 660363998 273478304 655419643 259202321 855596560 829894955 178256980 438003730 509032660 397150747 245246237 505334045 294401038 725773031 86620098 211244917 326234959 568747690 90863482 210944489 247601428 100028116 746254330 603245795 478636696 317105777 5527889 124360230 458695948 146223822 998105856 17064628 549347147 974211332 162705406 339029177 431131636 629467432 69423145 687965505 753127786 38171859 615710768 688810657 143662382 244077317 581164497 58264729 187102178 522651788 140361318 9291055 966770689 1052151 268086667 986788501 731404435 117814159 816411135 154487926 542917056 532700986 630759050 300770043 916026318 568111473 32761598 424504133 911760270 82380579 570514714 610801667 440535106 814745561 168495276 351417193 793937827 993580887 553019263 395420019 395347576 329063785 796691834 206226823 735135872 866947380 146986231 352738669 862341850 810951323 554336389 301384790 251782600 629634526 133627632 613397028 517297828 439661174 841791119 968743108 312135284 775867887 790415457 774232690 54072420 488063625 393916546 72752006 985011071 544764569 794503989 598915181 825635342 839929768 528026968 433793022 641092054 175181689 108298816 845761132 54133592 539865958 590347516 510088159 861471874 165925904 440816728 825027116 522477080 234524538 564812801 939441147 370125217 181088626 525130536 479171279 944071714 59264155 740902164 649543540 172139732 891673977 330446738 200575271 504215744 508103120 300402301 465147085 833032122 168754710 19195268 724903518 729501535 345154921 728780361 539084921 539642537 981348339 171148366 11899069 92259177 114472987 272764215 310918087 286123638 980878642 96123348 140713815 751437829 782549296 405652999 151054740 249238057 596194714 751334827 169154526 614803420 773921316 716503191 563354183 198171726 778214334 640872936 667234985 743566453 201815987 33164654 561078264 387593808 345152008 406865257 91603782 352341973 262904100 7174930 317215162 219881760 569481174 749792170 880512707 859253762 20009121 644037200 33089672 100079115 18572239 579791989 770625878 661123034 794849385 894905707 926050605 437717288 383496242 100659343 261104494 629094540 131481287 408170721 567864365 703191426 918466853 251300680 688178571 63410494 975334592 413629078 98243926 488300893 760226768 621680484 91676285 948209905 254100957 280307477 612411090 130034942 925244171 396768371 718474857 963562397 930965995 772856300 506831327 579948896 545918622 465472197 521749079 391360353 513395385 388543645 706981448 669645634 553850237 475827416 184263372 419122029 658196043 550760392 150859483 939067839 958335415 986163642 177960738 50412546 20163735 831166043 28571310 220065713 427246868 732664407 628580569 634448210 789308600 547927498 110095317 78665006 876888206 779458001 192568487 396107931 480669875 913388131 90993418 384065080 20758388 98216980 663468348 341738259 403770459 704037290 526833122 90667088 758719161 830011588 684191108 178152855 407845162 865313610 497092150 692568676 345103140 112894265 352971494 214278814 505474913 687999629 77503076 921017531 167974260 121351156 423740207 576488029 71397830 570001603 245667134 61906687 244057949 972543868 305861027 123491717 603520487 846751375 167200340 791984011 971873058 620991592 173727995 965338872 133775136 929347519 342336344 694666321 91106191 721949647 755061355 662276458 866058432 237226456 21943488 778746514 263499762 435264427 58724686 661538158 718069255 82701187 423214199 639668972 124592372 224494886 961902171 467118099 109776948 344725994 663792321 960762496 325391891 734807240 692027304 880971537 499384454 320924325 625901121 528707848 280602156 356498608 917591004 478423160 328112140 22341656 604711871 552301516 615755828 327872173 672075104 896607922 279614012 342242645 487820713 765837425 584904698 560758865 460383146 784235147 981114012 431005494 993124728 954548864 354573343 690359841 783451443 219529711 239907393 203085772 95146619 946585969 595905930 486999910 160290991 625249135 359277624 343323060 78999900 987688785 894815074 382339020 552617900 761641644 662100350 31577591 620950194 882758059 925574240 420076064 869411771 454681297 591297554 470368006 626316932 888568956 328639224 74608138 765078229 252788188 876385025 152307942 112239601 373519354 839046773 806179771 396556391 730491099 324856906 957908974 948425599 563275914 423010666 476949567 806315399 79300694 670131697 365469846 995462078 539238461 697079226 570588362 993698678 84997476 812936211 921910363 384063611 436489098 532708448 583555463 565187107 823358285 14688086 813094457 284943470 375929196 354780825 586070372 547576004 456379937 281052122 978199312 240668611 375678809 426082855 824529089 428490938 606540443 931476901 389369406 85844093 921340006 702941131 926885424 840515680 973072661 703746166 525025725 324308143 133127155 874345001 380911104 396765868 54676497 20363441 634433448 676361655 31748769 991515283 272503920 739189584 670220290 290667183 2907868 944145874 4466431 850834216 32477468 362996549 378307467 857533017 66888971 986692383 874027892 177191497 131907500 716543484 651712461 246802903 540657401 622237325 49377448 520419407 960776056 655848165 154863345 898650424 242576685 976105170 575964455 692781784 861998268 529547420 97392158 571741014 133564330 294394374 828162193 974146579 958788119 702659210 13579294 710384624 734834031 425687762 641185646 986073304 680647958 381717870 15921987 65522274 629270276 49591666 790967080 39747258 598661319 694887545 533009687 90521184 285986324 228224601 752927395 859055292 532483258 212547382 264207095 430968511 579726143 600198997 82725366 397695633 441249605 909100165 456845465 764762976 627890347 620836492 252032046 447934509 591230353 736049729 757197880 402583150 38710918 569869162 517152179 651399066 503780428 197636969 81021129 242487422 781314214 932198788 698522364 804108164 337121890 976642622 980836941 738891047 188810860 176092278 340715607 230774894 184020243 16294391 810879131 15237247 841380455 624058821 553383539 350859833 142309513 334125896 590249409 35520781 171060703 397595104 701145152 365584116 743135081 352981793 75954749 529879948 732095641 942966892 710878780 18422919 124282118 32619665 851185784 307034910 51920596 212708036 953694268 90947041 427621020 716879107 708776475 573412946 212375099 30265795 575503707 648166459 515637990 290077822 35137310 958523695 559339533 821069587 555061409 536399728 61223761 853826455 618403420 158229670 682728675 700354546 545009051 352326326 888275433 743964493 524935643 922151704 774302691 982167058 737304190 360082364 22464805 924950879 662889309 207531792 10537011 845569426 74820349 233909837 67836586 587994965 775824758 442160888 164232939 718297432 973304499 144916677 617048692 693695700 375483808 608409360 529260642 519436063 216078624 829621269 182326898 928468847 552917176 230155638 635817614 417868252 697247371 880495838 595806376 845170332 775340946 240864494 630700749 895642867 315880148 743401837 43225362 616552225 362634922 475709966 209426568 943347472 339836247 344889161 121672586 71664907 601373285 71841179 287049404 800063558 335615846 582247760 626405227 29017724 161251575 235105748 620462627 21950106 802184637 986338307 41464339 813471114 609490574 742539372 111489878 908878522 325349284 286860785 581169063 80818311 927203939 63018835 950645502 921190396 447265987 963887938 39746524 823781203 284161891 952896716 155556233 37135340 754236541 59307406 693794293 514604919 702658370 649410667 957712633 498205298 389450831 785773056 409413137 350622892 695545161 669213775 982768115 833264832 814695299 125497718 601627310 97163574 786160972 494245117 870465476 296166341 933623286 554571746 412578811 577617856 763501159 460425137 736208213 226979517 917936069 869245392 115151688 67243293 202513936 794607816 422808862 779612341 970085561 966977538 381752275 479628694 101290783 385210614 808415889 722308926 904924575 679380293 733817005 437486554 895559746 978079404 797395158 55481831 470108496 616371013 338105063 638620654 801537966 360980970 738838357 573355104 839768850 813743448 149151622 6297523 438581565 29340416 24207239 93772031 610879618 971630094 193104036 948203705 186424315 29979708 633656704 504311552 314072976 566966542 514631509 676151903 837841610 595242437 293618118 975148902 568543457 947468281 197954379 245993755 461781578 8565489 847073060 405414634 824970876 652480156 68724596 251333563 460964078 641554460 637363260 108616829 433749136 52415202 791644144 768365891 416888341 625277847 577088834 857337074 766367663 450579439 952029557 870015140 197570055 583101862 177739273 109541075 800987196 433960785 704148401 907120493 218904953 834608586 852660476 617614874 554210464 860922066 732915121 806136513 529018112 571893848 594630781 629135966 806750610 164978137 603485925 126892477 282041226 920545798 995140288 787461647 759874833 910178061 181213602 772089790 598155145 333654988 214159194 440332714 805844533 565229849 914923789 190954950 566975987 540400577 473010874 275198229 637860359 395005396 776625484 488193996 209793809 103206405 83709379 671804694 418376423 979161631 714185278 806648407 608328815 771186558 748425811 244560659 12890494 618391457 287243963 700664086 351161399 854647111 942380285 537439621 514912722 158978653 688033108 891089093 899765821 302662302 756625429 628054747 44664491 460202472 651358392 588258225 343152411 750356474 15396553 735158219 795680117 465045294 270166174 407715012 427365840 868033480 529747485 585954967 133218824 27756659 729165548 89989745 920226221 20482812 685461637 264555290 973476688 254417646 402555412 697044207 674987960 158294069 818722810 370365837 701542069 213468573 420849853 164781523 263115327 543857548 96950974 431050449 574226980 298548858 391587475 560736703 574011065 965722200 564474493 464786334 2392848 132337318 411809033 180665606 938609402 625295101 543382379 668884017 715171717 182399419 886044376 330953506 95167976 438935093 636482915 41067238 9842802 968095452 174791689 716395839 610430390 577234878 360989363 436316483 226208500 318439648 693499490 141224315 385509027 76001479 35737360 939665030 664742197 622425660 888413825 190646810 722365813 461259638 725250319 987067470 734952537 548375698 951325696 932286064 452943875 907262436 671347692 237059574 892747768 816149631 224128561 504561272 743490264 652155503 587254823 635192496 291823063 237526328 142886379 477257988 8825066 390791186 851315862 811395350 827556137 923604262 708182086 955332163 638497290 618929561 717634239 900666496 325771422 346224128 334496533 808108776 566104118 131510672 695981280 85229666 462099510 257081173 196594151 663426287 379144759 607406814 138943485 993834099 552606678 596126031 525379937 282293892 235767687 367601764 21930520 483476920 597915972 309121251 767910391 262336586 532986051 830727960 228637891 467229463 953870082 516310154 903607529 866972371 627495347 161507792 928536748 528609196 787642518 216266369 639926906 891040544 133462839 57700507 954838666 639432553 949155617 445780960 60193985 861294448 630533447 272405830 782000344 601765568 785339204 238279990 151560766 838721725 197102410 586539286 710258569 627505604 405359092 120103586 42787879 582514356 452877440 331918470 745945908 613624111 134820285 525088088 339138144 894495731 150863469 761304101 996798488 461163735 576729707 702721913 822774002 877187126 40783204 102379232 381475396 863969521 477657060 855202763 660756742 614479956 688582469 395050395 219920325 43460372 742184205 976310059 893356869 707057421 896889848 761068240 328837446 198304570 946949014 378363072 179068666 964882085 410785671 517911107 868418982 908388292 817526972 504464713 737796917 218884534 159732310 854125666 949476085 939305353 46713945 879864712 905316664 790048058 91081210 364142779 559726585 221971599 627806784 179032668 421364648 288925723 439263504 797069634 693384976 625654572 954464678 945723306 473936518 664390483 917355047 36589262 4881187 367333273 893006129 450254616 408257687 819227221 860854991 623665776 512887055 914448225 889675135 257700696 187216411 324358961 512906298 76214751 38081878 536872466 173769321 630211931 644608441 736114305 618692409 815229204 754718777 895435544 842378763 58262403 540412044 735795631 254386837 596652958 253321635 212197526 623805360 307619868 423516053 329208795 675240298 515088927 682358493 602826178 797144325 146105438 211972826 551009832 802774371 810291843 918124417 7184713 927082777 782467467 2815675 335782557 604332103 423538954 897397429 749184975 390502057 78932390 188976200 991725657 8302235 478816318 721948231 129874024 228943722 728456096 85515761 630087492 408685711 611655508 583025898 870719824 138748488 19031957 184342037 39687515 529788418 269394862 926126996 321079645 799715564 141006304 176771815 981654414 285246682 557205731 799210887 452387181 202392289 285323484 635306244 900003284 892084282 52212829 464503481 992284388 109797439 3758513 63887365 122583765 878001759 160650476 696468248 84602499 308412242 333504572 76089181 129088259 179546924 743206250 903796128 346693505 365653882 716653689 399076836 856686310 701248687 34794817 624998641 585301067 805421070 204775120 594044340 603830306 631899359 109642320 225345192 358162957 957726144 920626617 341611370 632140249 567829092 363340215 800196629 248280612 890884381 182251647 438935736 533231774 57111652 141593285 692100262 342427220 703927879 720746215 408278634 680336711 359498899 174823369 803893475 922957850 325663222 549349925 705019501 591975893 171150253 510235340 759970457 612623748 222037758 489593564 364196669 169987994 353166603 439347170 972918960 665505500 595287482 224357734 573594422 58193902 906868498 589167277 952851895 556415645 447735948 548169152 410253636 641322545 859764500 511988345 329248020 82078658 687588851 133057715 676303019 614522554 149167375 235286279 99827859 462832948 203654318 927222055 179255874 41900682 631294262 661944709 142780162 789798175 592033392 150979994 322583248 310062696 219747160 696240738 790382024 985401277 268189463 278273713 747517735 797038221 762875876 278735123 865203293 594920780 108968607 170504632 187806304 172217368 515322961 590828023 593232452 234858367 335383476 435509341 380610814 247685219 327602542 158368080 420043846 48677710 177726999 666457008 721015610 446161779 191593784 751984989 648557285 197996725 74338518 668650795 174565288 710488470 776105244 712621594 760094604 214300637 938235401 531434676 827101892 146677214 624035569 483817965 829247239 49592020 936210 572802682 541969672 244849615 730505 529826226 849979464 744391802 382996727 12788298 45317049 601259819 490222093 713842412 710226173 989222858 536222746 103470806 134820571 674128589 990935921 701296971 212072637 770837226 737567275 794802314 968002345 225048783 349615461 100935755 160163620 920909646 731549951 94646302 293791511 419345166 131627335 926729068 68123167 553058648 917611309 501487597 681722852 851916497 93943923 381882824 69327522 338347266 285621671 85107987 423221369 673645906 724564650 238953112 175025344 127380110 217321176 863209619 355079256 693894083 499185608 242771340 865187651 500938946 631705433 74908118 868323800 959662609 570547543 672919426 590718609 211050956 854076159 283138993 601331101 601495878 549803544 999934690 931280365 825001824 211308395 155517544 48544993 557434296 832462005 961634862 490082599 557095279 141235931 446050794 809514231 377500584 729334199 606956065 969112757 226891497 656703369 313839063 743768747 67963156 824346304 546614851 564720559 537394921 343115078 603420874 675113876 562589099 720042126 892874589 839112209 817133248 836954072 713548405 132242897 834759959 304330147 510983001 604731945 353193507 936401381 170795456 303134364 549213459 644549468 903309118 123764725 587797019 275251758 709948113 758627721 240471969 346636718 533700151 859674325 421413794 688697657 859480428 152321836 574726850 209866273 525549879 856657627 321327632 955743131 508947139 356526767 261392691 259389222 471024163 996486567 148566086 182924728 171793958 731822732 35809962 93767639 589657207 855193838 80746227 718001411 299106136 570564175 119841147 19533668 677305742 412162145 623294714 445239372 228659288 582750328 89884409 242309727 492391107 597165903 524084682 191524576 669857747 264514462 614290513 548711745 901972425 214012307 268570901 163765842 701066297 201281915 727624697 704601513 907581387 452284913 131211698 813419095 815409865 670700139 243812143 540386364 943962861 341846362 857253846 101531797 443676644 169599435 295400132 219934109 86601794 117063422 951878570 552623531 824341167 142109597 86197707 241910417 242099583 677016917 588040844 701451394 180809334 352836029 653749039 966351807 56206732 544278853 985874480 973039667 380561399 442717845 470714692 883506628 158834641 922982489 656351213 618402090 372962834 510770867 188604380 867679017 323868652 317435021 275199028 24223266 244302052 819317271 583485960 346340984 399016849 556496804 98754198 372393146 293786447 884884061 53929795 583671693 637507190 997998308 616141404 699995269 317638946 588562905 608755919 50258461 873470915 58170980 627338 587015161 763144181 541385971 125211170 919897497 359393206 158554970 485845277 150328259 222195003 32423309 353730405 996210488 350797540 301671551 482877134 654629130 53919210 466138100 25754515 469072534 582159457 148758008 285358051 279503330 190978154 437761367 884832382 853206164 788461978 359796089 441816606 642703994 73169371 516245694 861917766 567074031 88002410 952977772 647087165 943503177 366281386 328061706 862783917 634346399 753434848 762761501 680377357 738889747 341562414 731345494 587281129 727178809 595164552 122331578 726372975 638505159 393840456 164238837 197777646 227922267 171433620 103512157 828410927 753941749 679276984 461053753 630774654 455626639 757698516 688925557 67768334 769801956 950880022 637168579 15065554 8941037 801021528 750801948 345981953 686707210 378784221 106494112 802454937 665649257 861649282 738472691 942361458 556987752 126433979 989490669 791705753 75468920 116627113 689023541 663564170 191482171 122913387 245054890 135473109 417814557 707519508 664001907 233685098 63356958 244269254 28383979 74032488 407398019 405220499 560401724 245094934 797691353 759975157 871337187 356365538 315604791 19274534 124076121 88397586 389385586 441105165 497426806 7009398 728884734 53001445 681213925 480023811 795304225 908685004 318452986 590619701 606250042 896978374 963367300 874215502 954138394 203849735 499073993 260027477 982637460 33458848 830056975 927049587 237658232 62743755 460524244 854115239 493383093 307266487 936395396 7698474 831122310 559115257 159513667 441731995 714499647 708287890 848406406 515408 458644595 679895091 943288858 504672413 550246258 451417010 451540995 240297384 917999405 422995676 854720875 414263286 583668002 245665561 203571318 120540225 914060535 8100214 895863985 801091374 658973029 374792791 718915472 439100605 576818884 743474161 877636342 924112437 788439552 2666939 411940705 833149910 293626085 334195753 223880925 605060250 92606819 171961783 398022353 362198849 812786223 826470533 316543384 441834824 621035916 773992814 368436045 172749768 273854562 100796231 175811553 672095110 904231190 687167956 223641056 516931386 719940645 79451851 242095464 518704614 471655547 828685574 408700203 943851021 332160484 792914897 175573102 28587916 278948937 37410432 219436173 753155630 328831508 758471052 477107225 404328687 97344504 887881417 813912097 748755515 132367557 849326146 435657605 667541730 723495682 78000218 933550427 289148121 559369497 240537036 253309726 193955468 405744946 655614561 684000927 259974452 877799598 411753297 956828275 93550958 872218134 274831361 707291044 241343971 817603496 458409370 178510630 320368887 403150417 447469033 52239521 383626990 638878586 127801904 501662844 373711134 871585088 885982427 389886142 787069969 472370270 247717158 743299115 435750599 108461406 742906414 33272580 366855061 55600485 669675976 221834867 313830936 348996480 315020647 552300908 619087946 607004679 741345017 974661300 457770705 629316455 798007712 349162143 983616525 12561206 937277669 208432576 299044848 222394319 795833441 468911823 845836018 468395995 248421966 654518668 476496807 752710089 466759448 416114170 196442225 915641314 212511382 586259446 679727284 949206265 658141432 448148540 669413676 81283873 215982138 83553342 380312004 270308396 905793003 935814266 646130931 645370878 314230185 149224641 825511405 468978521 404021462 944185391 925069742 673842369 989766887 818423099 336511659 224456530 197630777 858043848 851026785 74613082 682805001 679035719 385869985 355928445 568198998 287263013 724355044 709086322 703158192 236374008 5708752 409063760 88262933 947421465 614828291 870251566 649200345 359508027 360303459 917455832 636643094 408695745 5474562 572237414 814291838 958259740 672264046 770598618 753700663 503294830 336350735 755923060 312700449 458183193 881888489 14325723 770149157 848069937 982565745 665622883 696737414 958031312 546271111 45789375 264889741 440267957 64692642 226316165 348219529 641018565 814102042 781560475 709681805 400511917 203657536 186804239 103496065 767470147 939388287 505511612 296067399 554780714 704582615 532472249 559776443 878189157 35658954 821364039 409399537 132739762 91133257 447184854 403570056 925705239 405781636 310800544 141031771 469369991 405628252 909772059 855277244 765172984 779532193 465084758 950329959 351397913 794689940 561681849 673942126 544516897 732917284 423002987 310926799 159588851 469258164 615222097 366920413 924231236 586196118 941256545 457454086 650034500 155271782 232727487 556860680 581786216 203746463 720606708 949356441 881244957 818049337 640723804 471727626 142339106 958525685 383837830 864296282 526353280 680675149 103922406 236240202 825377936 769907030 468860350 378030571 372749720 937850972 565481289 779968719 222619530 223264298 369459273 145637071 797388491 306051300 908792978 619590872 283929514 78655518 993259868 605886989 313715460 71387658 630938271 290448261 7757932 276362733 717590366 482746578 310967450 11529266 190783399 3197212 167038353 228929618 171492892 363441535 310847369 682750584 371641916 531769548 605117871 171048976 480726235 116340560 220899449 150951977 777032295 32246255 653240589 231674813 604253472 518261589 667762791 296564301 700133419 61121185 322867143 175198169 699535032 357847158 908906062 463602584 155836999 613649100 297611151 811833529 47828520 311903690 924684452 451518329 251286579 444074224 423448333 535749802 824698768 733079607 388392716 712446167 162520871 608005864 249487015 196326565 752557738 642586939 177478912 594037013 85431454 281317248 80681755 653805285 123609956 675460675 274100375 91154084 73576234 193541924 790466419 132557297 373901900 320641765 693340884 958003500 288480694 55746867 375592528 269110586 934021835 187420713 85091565 533193076 948627394 631824983 606225306 35195027 233298115 490852312 747226700 283564675 837864998 341675476 541166654 1821977 509759019 982571521 311388541 411577769 577080669 448691340 731086370 918803820 143434515 71587951 635993340 753719091 32350148 900077856 683827446 935748349 521334350 592465231 57431017 485114872 219948190 902966669 388380940 572668499 92351146 319456210 728659333 522936820 40239781 640931925 358485338 73439634 572884070 570036842 911759862 495580475 729401471 527042557 882719174 514751965 592128085 914638596 878916902 478137471 71868218 978161468 642692680 223900630 573387562 78969935 875314820 811096369 254428075 389018078 132290590 520642431 203004404 970562999 992019843 695587111 915685363 880275027 427420066 14524107 835221444 110577716 938254645 258324819 782583939 585534599 917797493 738305994 556385341 797690397 826145058 47353361 866565046 904483148 41223517 196824671 152639025 179412546 81590547 45461655 12887582 323468891 29434000 282424615 501760088 393429346 148844185 466217071 268634131 802470721 199345035 928741698 965134256 808078130 178247331 657701658 878976688 662458785 822000418 76644476 701508563 438112462 781135884 216787126 810339442 260212422 166286682 119141226 732576901 807985924 18635469 709750900 910938413 755134784 50735944 174202805 36533775 936352670 226562933 973878885 86604365 840001698 286804277 420715340 513326468 517850831 852642860 747175470 19148154 244777618 491072089 44695081 799212985 773512859 879516776 865711499 483326034 351842520 477823305 515439404 312893514 512656345 762131215 888075189 533573120 461098105 542038863 952767518 368143423 56121341 309934626 428191628 469056448 751987909 477836739 815973223 174358732 810247570 211907133 289814442 283818302 585336140 269199981 489544371 61049498 541563748 951728781 277629996 220141556 402780411 88779917 159159210 780070177 321826643 863747166 66694946 286422504 191261734 724668205 612753983 599787529 478389142 359940918 606884556 345627146 161039178 752525344 495946122 880660250 864087070 872330032 438488905 803057069 59712854 717220491 752388768 795871216 351232357 280910603 944581322 304128077 678386274 483487560 118342328 908575035 83207306 267852204 344759269 154612749 602487635 389043515 890442592 7977607 828046285 619369807 334358410 132106379 863135208 631142805 184853524 87142442 942153768 405814941 543372874 495826094 654830237 64644816 31749100 202588290 487737927 799529300 700191844 614910650 959772464 461695840 49193580 325202733 731179112 188078070 996881260 231440953 809737260 184708264 607756444 669250589 644090589 772856944 688963041 764567093 467402485 82210444 923348773 601259003 168042583 827902447 555145542 571195691 350235744 692938697 110256516 761680107 623448498 683533993 272966580 133899945 166270594 740922381 375462389 16761113 41423052 989688924 707017709 541387478 551935716 312024638 234411681 143173299 620332207 819129373 306322183 265858319 979250376 599296633 343327783 603542243 301287414 979192097 404132546 21612789 16024605 748281357 369905943 443518715 823655662 493369819 546615509 343857523 481543441 88419076 228196800 539863494 213302946 209684157 334249751 53280124 972991682 831113450 764974429 739291254 569431513 582329446 811543211 592081771 866566412 49524205 703641215 958418352 575559640 219038103 420751825 707182853 444426103 780288789 677187676 692097326 843510707 347741824 633272207 814992063 740792622 575838696 808775149 790985060 834069273 985491109 502270411 873270152 733594726 734638000 905196638 564803588 461244597 330211606 965813758 373981954 459024142 121174326 923883741 497103712 163822887 544619957 718041585 898284009 735762703 128836093 79456711 875646311 145789820 558511298 902859309 18839402 619809948 990988959 725035172 609645754 412764043 599570904 77413470 706071902 42758374 456141298 878181944 478315038 514541364 711355688 436978982 492546898 228493111 814778576 469076389 605669890 34830243 201623074 925890732 411024879 82500952 123917284 806987053 117809994 281453406 820693736 990940888 971598455 692847230 214170420 452485424 445190792 573416464 852041768 844813803 955419267 942836607 352365097 822212210 478802552 917427858 848584613 418907305 324711737 159939441 855241247 369233859 984998714 74340096 538401199 562181987 215486853 192433149 615340434 675475826 338926524 709307499 374372686 662218284 298637799 24759370 623503373 538004638 233505102 848964346 773456037 310689166 349374223 532039801 564523183 155572933 650490305 437577393 850206437 244469319 220824240 310690526 995850219 630257699 730086076 256599664 114384490 686130718 390683908 580563158 346424267 429658712 333207713 146930025 383050401 728148883 484334759 223107819 540058091 889420792 982008953 934590722 472211903 397597804 997878018 470973693 604046211 690357187 621556321 210055285 774320098 588963330 268969080 530693941 613284533 350403041 801689024 755592766 905376485 318277861 98947785 489978682 826243339 316043682 306763892 376578349 2680315 181282222 224501735 171304250 471455884 715119018 496610336 123073716 280379711 670483213 782416984 376575083 998189705 672087248 837517222 631310629 886619210 337923854 275593442 4937527 223045771 515020494 278987860 605279112 384536135 619143256 676502098 952853657 707240235 72306469 755374137 690087774 462928370 12552618 473847308 491148574 538451223 351835995 360623086 663688218 414293647 276974639 36888679 980846303 513076351 946243130 985844776 930260636 753445610 765063708 967506763 513168771 979052739 835021227 546831382 755276800 738095692 110428042 845862329 991350632 253439484 137545523 327926830 47261418 325599869 161288160 485831241 503913961 882719853 360090744 61055513 751546394 676000424 352247199 978251454 187738092 316865827 125715304 739639548 820343787 463609141 896853406 186317717 170932339 388824027 133428199 263811708 919559912 847568853 223774562 80009252 349425574 18553219 713629879 489991995 296273585 506327671 275196443 572372391 580980435 731722246 175038829 956555711 441858063 372127490 944549386 31469912 271336346 654097405 626292908 592847989 796486118 292940077 998100461 840190718 273070256 673260492 695412701 27738732 716449219 660155751 767185178 267946455 576843527 185966762 4794509 683731939 912921332 316841410 11332663 632177166 257936697 678596618 791937939 931433150 241266729 366567033 158047146 952228118 915089110 231912016 754482535 238302568 384255671 465938675 2768231 650213966 865263693 869627644 645256930 507834733 130007971 801058808 906918393 664767851 983095401 35086779 900846950 770761339 907624347 382372872 855805072 375969830 28192619 626064291 976612158 713911377 296899671 419059125 91290287 728016699 609060413 702878469 428455379 58156883 31880237 925856627 134618620 368365614 987057157 747326014 30152620 956032560 263198316 259913830 945379826 39156760 819792120 734325059 66435345 526804024 760652985 314000516 354519174 935841064 865208828 948393650 921460429 591844679 29103952 82693494 531586720 363718626 592988964 291488538 576355309 653909540 516804714 669229713 750856867 826570719 25123402 195894940 632394532 439275946 562481723 319231901 372409246 106516126 113449173 947256709 751958957 189228717 923925829 59840742 297327791 599809676 368243553 729998578 471823682 655838607 784059855 37783720 351336130 787041343 758641895 732880890 545289242 705709730 335503315 655801903 389204739 646470542 864918815 326351199 771517652 60252655 360212458 286974922 482581405 729622247 376262683 827435320 465101231 728768130 618462461 661414857 539780799 765321671 343438729 376347738 704515323 359491625 936649520 136558540 334166769 399281296 775825610 132499250 954960350 848029533 53116048 243802481 718467181 865325496 997757208 710522650 815114011 363642462 796237237 290244247 561681813 391889141 325577720 889221531 842186475 661078061 337090415 946655832 315493499 401586261 384444645 21003600 621258306 315779255 914445589 80658750 675677497 560788251 298619059 387594800 656278735 196971414 438086202 238493871 185396991 102876614 745170766 680616818 671392 67557307 401247692 876567514 525523961 15403678 946009138 294799299 798443261 402017106 471732424 362426087 925941029 790969696 313181088 925145673 499267910 882009304 239552595 740096966 916019111 166613608 387383431 577270521 956125847 618191159 558951590 452121400 558751443 906203042 475613985 959538057 134802313 850955534 858917387 365104435 101339434 168365769 129164192 156515061 7598081 799334653 724888443 886456921 734384061 659334162 91660999 743605226 376002121 249123206 354304720 389493736 447582018 554197026 417443105 783152746 74414934 522146775 439905796 163323513 287531939 342997439 249672866 131537057 364233420 808573769 995652254 497930968 394264788 643231027 639025581 366046764 593885900 496074193 331002098 624807803 999170447 522493300 500277865 366869359 213427445 347248729 871018788 13846238 361269341 963585139 311696275 435896532 800884701 316933491 196559522 399716619 995773071 807653913 592315623 420983541 789629952 638603331 274981931 185846575 410960389 834176736 740734826 340128678 895255160 793558976 940496453 955348913 399213080 886187684 301413887 709485764 208639776 40061992 15323607 400923348 810891359 478236475 306249336 705442288 190939450 612784765 893607832 242378497 585107357 209542571 983318846 941848474 199498101 871127687 913142116 25005270 589642302 31587157 552941131 209777430 626282005 393222242 436253713 522795898 285448833 72842173 698467433 523175670 29737302 160494046 826110393 977916870 386715506 175684212 55581162 918396073 341819217 1933043 68607849 922256456 896242761 42920965 680789716 635166987 927477561 954086513 572206380 282489914 802335547 819657305 714507459 189724275 461387733 797823691 613876525 644946202 232803069 128460457 411860882 223828926 502722214 633226703 368862719 392371789 86702900 477060097 998864093 325970371 994056659 303008147 656405230 157711732 869879898 350408596 476292462 23000445 425168569 127102490 132354670 481769088 378952838 951174755 945200738 755334639 171556565 814847301 60185124 611063005 342864393 120070156 656271682 316907008 829563877 335573899 898179205 278736993 597688576 44658386 1257531 981088085 109803919 992582272 894087701 889194753 323471954 222322601 431113996 834301420 59066180 350560958 618440710 266550940 469620074 148243464 856396458 423243925 289464247 502828374 774681782 685802825 984561692 758032618 316003947 282278464 507276759 928346706 720028855 283570469 877938508 443898519 608401630 23408380 617703713 728769202 82289184 863568326 538059515 954393183 530784802 649445089 562297827 271218471 902124010 968173012 341587592 906562717 837330430 784995598 686883160 865202660 672785399 679017068 540660821 376092891 161025870 428194355 177172166 781864294 726910502 529142641 902006409 591243307 297503688 185716016 904564167 81802236 755191277 924599866 724527497 903996202 870767675 961528665 989507401 23988196 934711457 569515172 741892024 992940811 877380838 263284319 310456554 740140121 626568980 858456264 109017320 593592564 916309585 22923571 628847709 474083209 558759738 898833094 94647754 535694708 13854510 408916778 881064881 696089262 556579653 618201971 943508519 506833222 756889171 732767505 1383435 885899388 815458161 855294218 20029083 676789752 753551650 826623483 616222897 557703964 354428287 114277571 859507591 836644300 863156862 57809805 494229263 418463870 694570188 998983634 606621873 554067377 468180411 192927312 488242424 997806973 609482813 930605236 230582555 758482141 935660385 520291294 547930888 849586059 382127886 420820006 14600884 996605192 39065516 977890165 335195411 106663808 215070922 210134091 175339586 443402891 26795263 690745286 96115119 49689907 383272611 137706778 753427178 662133835 498834313 647122036 669413579 897789231 48641206 62557450 860573546 307121404 556555877 360649499 692805494 876896111 781077752 684793944 96667809 969411940 493701794 480285159 895822600 117226541 737711805 220251171 539685301 258987621 32860389 695059738 383761440 57458522 624351515 571842492 650760245 896829824 761380614 629306137 203116309 593972393 38597793 534252888 831421791 126839923 312532560 248154155 279528458 383769364 86814415 881393654 100135078 759393546 105107645 564319313 993866802 74605276 203068730 110707412 391727184 13542671 218811024 58027837 548959609 796819898 360564527 119402407 940284627 152857806 968665434 223660853 929966292 787532100 292243155 885094981 22888767 491792683 758009760 700244670 356279289 886098357 674087276 678534448 892942613 470980730 548773366 884435242 558728974 531567307 47609404 905313786 337691238 617363916 575732144 442826291 580461419 281067492 575257499 310071738 80512283 934252468 421371036 377531883 891962390 92570588 584559834 977007237 909384550 929764597 923842721 639099241 585610345 782274920 603624375 950150448 569558710 945731423 5515660 765772718 150001948 402648250 544078232 860455584 556268448 849162578 826572108 347959854 862323215 80945257 659496357 369640372 875459258 644316325 606449682 443762607 235817024 828208962 398278120 471684982 489391766 532379493 396261606 282579775 186492250 44848209 753495762 94617444 984234215 450210427 184544513 341114715 782642600 720050102 68804915 581073986 556103604 282628835 836168267 980290676 594555012 547389373 438409558 734402444 53680667 806933620 791414083 856013964 997093276 531290470 528259560 621602936 658850009 255659142 835695002 966823103 589156236 673052449 827060371 962818605 579194740 641454331 981270684 479972023 439447986 806113986 522142699 901728726 659537730 717152886 523377968 818658339 592153941 404125253 60871093 13284804 994725326 342528822 505712117 132384883 954861589 154212007 976828193 555938464 403548565 919975626 252725544 917672472 54705070 321606105 677929763 561563719 650222283 895849983 347579867 577150706 367812888 733595429 972843760 350204542 994160782 738086473 548351016 954551370 346466459 66617319 719490906 864456098 883889597 29587686 318924431 806682623 402703818 499150176 46303554 863428728 124669080 310206255 533256603 662920980 185050804 613849849 658826910 680055714 333486208 364542227 387412838 208415506 913594570 160982252 277529541 806982072 708992262 227367983 773062198 384497139 158296416 399209735 255138213 413233576 757592673 252931101 811736720 334080849 711424715 454487047 43447135 49932153 9261737 653402158 629368716 550478128 899858699 287446816 384441388 267270600 607243076 281308173 176887576 503864448 419136004 909476750 776386046 455894359 95045335 74058723 356341678 551381613 654975154 242911393 915405448 833141835 616815594 534729282 178071283 741561088 596923314 539772936 682065192 1853852 663235379 194373219 383622088 186875956 535830077 998890893 802280448 578245389 122434686 397915154 851799679 118246361 154365802 502268637 239624628 685287792 886516399 504918668 983464508 288848673 81608618 164083100 359509840 750931687 608279531 131546948 431084870 568457464 659422837 987477957 554182554 547508351 372305756 237551275 733700923 510449672 520987838 775881239 581383312 798350835 32308283 581663368 116669221 667437255 913370353 891480548 334197300 946667639 435481698 546883462 137053701 749485363 865343387 631862059 378482856 897229528 134072249 93310206 560428905 670917113 263019865 409478074 605782319 842938017 110154782 644969512 828168359 551878332 986150337 263016012 192358740 827759556 57488776 209246942 482734656 589243993 747936482 344375514 576702770 384768202 690919854 614819901 847041754 513301733 146841718 770041293 905000974 201469109 757065279 507576753 294336199 98429859 134037630 389322157 131515371 940149748 355933229 984836465 812877415 642128032 413098751 596225325 768246381 166554668 108720763 639369737 451479304 512718704 946983138 44024212 504383961 947078149 484328020 389969382 330689271 878135896 90449221 98737802 132118652 143012511 15058875 588861145 317227096 733040852 331099848 898134509 670518345 311206208 46690099 188832292 293216121 306545522 739989230 887113217 896021872 224892623 682792373 343934156 441426254 733460025 968530088 589557214 415276934 143486321 564791559 778578031 705474074 167773584 211506651 970416879 140114078 233398936 388912749 885344354 838883785 711116455 577771625 983030493 680026481 11964967 569067620 302457789 877015188 567719503 28526029 336597395 331195022 282618367 442028072 62999174 4562890 628279863 882571192 324767605 527314569 258967278 15360725 340236529 815324873 321864060 112733228 683697199 178194483 375024494 953709648 438261251 334744094 199775135 64824865 596055618 571231112 467187725 480562379 662635276 994037494 812626491 750165532 668568462 97634292 158476089 943653516 933703022 287671140 310053326 186326178 70620023 900926368 292867624 322425406 507655612 206082154 425956249 309834558 513011742 70322014 763570856 522701240 786867139 803880531 265090070 687248985 183264868 51901946 468034692 362019278 545614879 600545005 494406155 686403726 799571517 308509220 976335540 255251752 139687812 172790283 632777193 844959845 937819050 181925274 409088006 496900182 852627026 689304560 304528333 422132718 955920270 462394185 902091194 191223448 675797788 825884947 128670940 460043731 155612537 533651923 865570314 607380649 156317439 532306987 718217579 459633615 825750404 304340565 499345963 201615806 551314942 160915145 804114509 298314772 557397296 546492080 543634811 931216910 554415282 630422413 297105540 931893500 37428294 174312310 257972875 846108483 746127946 474402332 516444526 645471496 245429513 927897070 581502312 371093135 640186956 881272958 389000115 939363749 829388462 580747072 999368809 466656516 201561167 187150530 674509992 830997435 420288022 573502730 706613355 534778686 315510413 84613537 418413195 884581146 72305942 506288346 689739685 5306931 972594059 411130780 620175492 763601433 172573574 804619991 353169433 459413358 801282604 18996639 204422696 23875591 779114538 47739967 814241210 927632388 389565009 337363986 242793732 275102143 683855773 316323224 224464867 186245605 551239105 65504157 910737257 227680429 873290184 644755470 78569128 22081102 794955723 934266040 766407065 819603437 957891385 552337849 964915875 703175308 521691578 367519912 554265253 115457935 965856976 444017855 584480412 240729692 359617880 62789581 23826613 150645019 150577260 590151321 400773227 195157814 220693894 630018450 866818310 934833187 751203651 399822875 168107544 243342633 324937006 419423109 26032653 982517402 562917417 414795937 705549650 741426711 840362867 140533909 300418659 843864879 79126067 220448344 839956252 967961833 133076925 969585296 529145617 266947885 380031620 653971440 519041259 578812828 168614397 25187517 253912677 689233524 864779315 900022734 119454653 276082810 534586430 186523217 630093607 466839649 196423341 415690345 443638658 249797479 111145321 520832119 712071753 678258309 192980943 184405803 241498328 537558147 746623613 372034634 250355152 441308370 384464195 164062849 64853918 904687707 941301237 244174699 992236481 11760114 879989582 121386138 239510427 169368096 969994805 191842534 411801470 400020783 540450393 241338131 964235691 844966359 12824674 127760128 895922230 679391705 553328337 315302825 745049485 566925382 738335234 907036664 906945180 817818660 665999145 506685426 507644857 337110621 198172845 812528077 467369669 624984293 407303939 85955362 39557988 410934903 318985315 234224320 364534348 519202080 246443549 929807183 5425261 89091204 870332288 250193178 88748943 343396231 732755700 282220002 927148261 737637279 297126091 964407166 763705485 895939443 836619282 611411872 955560261 282063674 56097340 197796369 86050159 583550908 308207967 60172837 958882275 924573184 17710438 505321097 28989742 187833529 380825226 607702916 608022332 526084368 424111509 138539372 965989924 175740569 50336785 10353392 836713857 228106954 99226429 80319939 983073990 246666599 107050031 365105492 748994229 31842622 505320697 843988643 984984481 426360781 496305596 893579155 738107405 72711821 530970544 309136909 329776912 942061670 454692110 288716523 890606205 846857446 58236111 782947506 864397576 415149366 79404577 254027720 520269148 954799123 793786720 190833085 577410389 434773355 666389032 336762820 422383419 760688869 752309472 896034368 535147728 744986517 176891022 799830007 239764988 773887951 344341657 381669729 695703897 326007336 263381167 555123698 760823426 834681370 550071367 127627152 76032817 53944148 419037270 929767363 91843924 292522823 445457156 585855202 748976223 536375307 627991182 542021673 490429895 273780092 175298434 503358227 320927860 520005176 240007316 157446617 946501786 391077923 142753279 385116348 775949957 975419956 337427682 631302773 437769276 811758057 926508892 997701183 555564133 507806803 301403987 261579444 323259207 62680344 828174298 102359810 494288776 650837197 227130923 857159166 658960419 208141362 850473928 593027844 864258738 554817490 646036761 853932983 427762105 474531821 896325979 754423156 884869588 194521829 260617080 306224232 975442523 13387437 98422451 55053048 976618389 519854190 160038071 916711494 676774792 592489042 88624506 352619503 673030561 260256565 759999178 934305393 587342260 404146610 868308254 290674035 42461500 983749087 691257304 368841668 338031150 953449102 139697676 358475780 614128823 643518841 362526861 674298673 912010368 375886520 285174195 378381349 867659168 914689035 684029862 199055649 411178332 937504637 789765754 115511910 654132111 522722791 934487875 715009086 492664243 802724334 346458250 412772374 34102406 1117461 399487509 986390517 30292874 305546546 643905753 302535822 782672911 916978130 688105183 801020866 356977236 829832051 258124987 258387437 48997328 416340435 847754151 691975525 708509318 812114021 316221993 238161141 745397724 563656196 374024401 779896129 835430401 740701095 421207735 616563991 88151837 339783046 134193086 752591729 487941514 919885205 261793981 823983363 770051594 586052629 415269521 719541499 156658723 126129 849449258 909010403 940804302 670320891 578317870 776355048 465832332 930448688 468848366 293458685 204551068 182950220 470972664 372853844 633613736 429973005 406337549 721950776 991424442 459752199 735411470 310218108 533431581 484108701 973731026 809154982 281368871 403205927 647473057 369084523 407512549 295816021 346115790 171720698 767561000 168342568 575796769 552023495 591037103 1599271 675929318 316767037 472993605 889505493 453158278 695349138 398110208 434759848 84249418 200051694 422320412 719486940 488433787 732616680 536409723 260397996 142310028 185552620 79540878 701189157 14392298 42888844 673291686 380896676 216904107 871907352 648739957 215117190 835937856 51315594 857449232 488953385 461034962 898312112 79593760 781160388 368035496 209934481 847953468 984085734 767715517 984200828 352885310 624067691 722641319 509240864 293646967 155248895 613140390 983102301 780851649 103669690 152914374 899520007 292687741 659495304 933605048 608056273 422486484 149536593 302175310 557449565 896617684 224856511 640774221 287765901 330256149 765070290 845641693 747703099 231882348 4010709 323026563 419732855 315109408 574172768 109776803 209891373 34586712 157187954 202341413 990383126 292200545 387910298 364503240 951100623 168916512 392753162 863122329 227955701 529441942 307516282 101945658 150122516 446352139 313434689 223323949 39293486 206856023 153651388 141257749 766482542 843786308 229844699 122217789 951322075 961010772 966002421 64258072 242108506 974602431 261286720 352760246 54264985 629566870 873298916 518641791 500850125 292190767 754348826 258541304 263319258 528244424 41965859 194899037 33022606 229829614 813271334 455315244 303986159 123160049 572279716 95097723 755630672 22026773 418519713 972732574 586574588 839436554 619780961 617794374 194504290 620859763 270622238 859465762 135955745 688749613 998230447 101911760 673685787 134830033 250223028 911209914 121542560 960352833 728000580 376009972 643586015 160957768 901419316 217268360 46345636 937531937 233650415 282364599 840874044 30621869 363106936 957911107 228564226 976738811 92698167 835254441 35530929 3521395 954870884 630505442 522877007 204049887 136441179 949292219 153136671 960988361 513909847 720919788 109683371 742452665 117368503 964052113 920198183 435617879 351020627 470078845 157379647 615571119 739032645 293897161 424562531 871505809 652833947 595970480 888236568 18857828 628915357 849682677 206586964 48408215 102060594 830905437 777776504 770505085 635544904 511916848 28978663 683851946 587671526 807378778 634768596 679354072 630701918 829957631 628220255 328149398 445127714 46939411 855597409 984685277 318225996 393691766 176628797 415020725 43837883 178018409 940905960 944110218 723594997 625823453 372718561 73633336 544691551 560337890 361534634 577006261 851227752 588563894 495046271 202138479 964260084 172065330 305353969 315419489 48320800 829669001 863538216 632238693 429483509 328258196 41116623 573855585 40425244 799987617 43466783 784414446 192281577 817076451 34563370 715570709 103890889 346181796 895032090 675725454 651343518 254824922 33400426 541858252 239667509 806006222 827014591 218975020 611838319 678963496 966990736 184010355 728298939 999268029 762439356 102764416 499981430 950260139 987200270 384666910 415300182 234142072 834755433 457749885 26493671 198767377 574939231 794368050 377673197 913830650 845696830 478050894 913651166 675988479 43549591 298083551 165405371 725004810 149574616 822789469 727437174 832180462 88782639 891122735 717917259 637268782 424695352 54912504 58727120 76621374 892568163 837216779 507882026 839728142 354746651 471516303 955229179 778393037 54377024 866115945 500111853 564916618 640493542 357326356 416222968 330270121 630206740 339367323 870500113 3337115 798949996 665217785 918153613 967937766 479319575 700514238 378730209 795535593 586093808 968042546 714558456 357699961 482532289 558276776 160794316 88907730 392923340 234556582 505597469 582845205 158096621 364036407 461917734 730678739 216633392 683004161 269376788 102816779 901441948 938249827 340071409 257777947 223507610 790611332 677633419 723130893 920604520 975245944 763219785 326609530 89353269 155321498 882766618 424513370 319371881 455743581 500689796 88768795 984815506 42743160 689512294 787401135 217831493 580688011 6750452 279891837 640312115 371263054 784952000 917665036 153841416 278536189 681045151 836828579 345936220 755566588 577848653 290785879 984444175 576389626 108954023 797726672 271587219 603028252 574625897 212158580 443345745 83454354 136997428 652449203 993243171 806676023 424896090 849910357 33936732 745167581 926802205 591690386 530556063 412039000 865426955 51651809 312008078 195274269 805936653 645776300 935807478 611801598 729833554 627905498 550644968 838206628 761442629 159865701 938541270 346424365 526393558 396870784 460229419 686468204 128962627 144133814 23084751 593191271 274652979 421849268 354231080 594930684 104853989 800647895 917988118 371261212 304594063 905011983 102074330 170132448 581637409 167604407 351113973 113812463 577093005 474019733 663526289 756897389 390024083 971013139 283873169 893778325 501037393 560336520 204678969 73354838 768075957 146498459 45164853 491281675 241767466 174835629 546989965 510795474 74930765 43533818 425514539 98962567 457152545 849374561 527181789 707522320 868685041 844531062 358108892 368382632 690953116 46133652 754886359 944241338 803324392 832416135 124788693 407887468 72638334 814148445 467069398 606327213 97993081 234275059 760893674 734124163 589921818 767625372 450238965 496956957 347866735 132237288 264610479 923041994 888450836 472896772 161351587 426709112 463540828 268334948 609853493 241265940 894124948 299603168 882783598 561518777 608464819 847048650 236732972 524799331 876888739 988548683 131517795 753771864 602053189 501878498 231698269 607436309 137200971 659432801 730498776 339294044 524387593 963688331 793733003 94609399 575943362 755333964 88469420 165346688 662770393 186934023 785442552 494089678 139967188 894517430 563293726 983409614 62386925 426538044 48833303 157889790 650251694 741479345 740661179 79334483 71922081 762128607 392493055 471198990 550041007 383412251 400333986 94227164 390997668 815116181 492765422 83449390 512967880 571986200 885445425 814002068 231558163 677314893 357181427 802912448 429157586 826412462 430870456 145172670 245694578 177135199 218639212 473048887 672775014 941054766 92132344 75700187 478097147 126918080 33686658 921747685 101877729 760116636 51400214 468640837 901412668 193064028 873111057 952801087 64661056 943748575 785782493 190426183 573955233 666856522 263181915 604436651 867168632 6625473 510559440 379428399 883472451 10198904 549748911 884133314 652481774 732529797 893686553 595454033 79930511 497292279 146270591 224657653 445576968 127084127 409161926 680988566 137268666 145551138 408332687 484856123 25999795 500361156 757999893 454580604 878345740 612008681 929167685 392314450 50993046 517677431 838375835 915017672 806867036 735565210 585057 605523077 704800059 973255076 425650736 327741111 534602928 708853462 919542664 874816226 754903353 73091349 682390516 476247291 932300980 747474444 562877412 203687881 250039812 67496790 709293785 332228374 368922762 560209187 533947238 480800300 762802581 882868072 851708922 584968511 355585782 297388866 926726045 338792406 380824798 98452208 679365997 985968395 397630314 705526472 110541433 950276761 596723153 369169152 398253430 897067753 827357120 947124717 738319677 830471369 88432106 798311296 300615895 332084444 305151944 668404968 460009232 290330347 644234854 450166681 835843565 971660401 563621044 274258079 534593534 209580665 979147953 257482501 11936635 882590965 363527725 486545561 128845283 969448138 103973844 40989496 786465205 317507815 939439892 249738418 983150451 584762462 13902959 847122108 326181441 659399497 467541067 203420137 2819605 815639039 764302351 350117352 481654905 700933664 961026166 775581859 314830609 200685337 791853952 477843179 638911935 328414361 450874836 581286555 841477733 510328241 413578833 54678282 624638187 497076322 681019590 971847425 358320022 62467092 921233698 662293254 291597595 293103869 413325695 39793671 859969233 324962117 290220931 304527324 119665894 691312992 302402260 393792898 694987646 465989517 635504133 926906585 806307747 317555009 445136845 361912743 332486555 881847849 394098055 904036266 898938174 827972853 15325217 938356652 832805541 241869840 751290494 987504412 709618606 538716066 752983970 550074463 820929497 864824442 235229638 638331781 119840726 830064238 235405920 810794867 994446015 946365050 654170162 974214626 101048681 205497372 492601619 431742540 172787600 372365632 258034475 675966693 662752487 730189743 116654764 709104275 125265131 454286934 88566996 294257272 186182955 297213910 860832012 696305277 819127052 25492330 788308064 194008321 123810540 68115712 394470271 48714883 788209203 798297901 704630319 962219977 202171324 612689672 593354595 646738438 172689295 974940645 679815134 435185608 77446420 780261670 736315053 317831668 674999122 892957322 338240984 532972753 719514614 564631315 18878278 671046361 916156777 590043517 683590124 803842289 746624650 63131927 90783694 925189413 259952017 377516103 570619673 828653728 22259581 494633469 571736839 766704186 749188172 870594415 494910489 329620570 35577672 922965621 431658580 770876235 332026400 341151503 747622625 522175254 634563921 880065906 778022249 483317266 88929398 926297212 179516359 424480292 264250916 366412681 126259221 703780841 988162651 608394844 73206106 635030482 165205304 666400766 114445159 939161559 980735308 590939190 584568316 738089223 707708847 187239066 792882767 565065963 94893493 820898484 4263684 841779181 873516492 413740581 383584554 338516630 519334139 806919507 697676524 482440463 759026026 892076193 472383571 744826618 674123560 164974081 246015688 831351703 81964578 813060102 207632380 477925956 463651168 429739665 819680801 412690591 115455597 843504858 957169277 730155235 405143779 163974730 387146011 549978242 229424981 371110109 961771436 58771360 946243373 401992415 302139765 468910522 947726556 753397600 942269642 522868003 738381702 437875857 707355020 210424368 990368908 499071562 545701452 942500137 152353695 665258314 919317112 725828710 824090734 647655003 387341188 979793300 410603911 721883539 969820348 949881870 244778489 685051265 115022174 45196434 668394680 615756539 930542886 704466856 168193183 799893559 757704089 617818738 62390689 697729427 738092798 591217458 542600573 184647721 783244390 445520360 674485017 361727869 410117503 787979839 560588426 826641735 47132769 359563626 812820763 679225649 132679221 109317680 249642676 660141717 587894973 712560822 864183011 394820760 207375623 678106597 1766391 760686169 932851451 812788667 905113075 537476264 754117678 453707943 629831873 203939666 292943396 830573945 296080352 597632416 940114619 312274760 843512493 496907457 742854107 40980013 622157094 94019169 124595852 649788364 665147496 449812561 458251649 68597822 597980756 348745475 198126401 494127541 689753593 340385327 810555534 164174983 392669938 841105398 492656044 622972393 84481644 958647336 145060104 404163966 710696136 380347827 3330387 827708072 685210373 772247907 175033024 642724492 366030531 544305775 933343819 152032604 513492749 471883005 969691759 182878234 965117764 286784201 685153257 292148303 467456925 192717139 645997896 482253303 423147547 188297131 760102072 910664201 794418044 684732753 196610968 641335236 754174434 514513657 389873593 214404318 924918253 800473228 20480107 440126117 648771760 400600339 770492851 474275306 847112905 729691783 146710466 955078430 201939418 383378237 315987316 626145454 768335142 792223962 23283236 559718010 604341090 883079832 175290693 47408838 39534579 591998889 677902136 811851695 689383917 810757416 294433925 556069427 402409198 504967888 616659328 991122334 920163861 865449253 464664121 246278114 594568473 870539858 810248122 513751429 747582988 426382111 636086356 557808913 16443136 918743093 56812368 460496151 57311724 761390034 299673381 460448126 116856318 354889873 713779377 343123840 302229491 695327951 954326188 877263165 491025379 161900829 511048223 870188961 574266673 8193433 936264136 311989680 467839485 58248517 922319177 401869676 758682348 671112943 450847526 40677321 188383457 959525936 639361104 504628658 855960753 12259851 933282522 10948558 722788062 266025634 220101195 51818917 586541786 977834307 140980614 640183297 773632743 2912515 343822927 874725196 288947293 127355229 337623511 68360404 2234246 546352561 167325122 603233405 398669636 550135264 126445970 31280277 218985092 199610991 460235917 110478521 838239432 676386343 32664127 332225305 627867495 759722873 4622328 97770121 911813530 151364396 739264855 62267401 685995362 104370215 427265790 976014601 528877524 834597060 737712754 154551728 897111364 942067950 542509309 991496757 312778279 227776184 801362824 846591508 921382897 949121347 986883530 557551322 11314680 213772226 160571814 873220723 711789679 849835169 327877156 672688450 171161192 340396895 231769943 823845249 555981104 440708136 321125331 516039741 251570181 166888972 275900399 434567418 434336153 383603298 668667688 198346278 536347044 435816526 130615936 758992918 505468691 102262444 594892192 272861968 690896795 392849680 114498311 700308174 351507436 393924315 164369803 276376861 626567802 86368970 819003967 700228895 969951256 215287567 232115024 308353750 489923813 711466206 571715359 504640355 488988942 267066515 247669003 908414071 903148441 562921452 867991722 785774800 649201558 840693126 154935770 240682445 203540410 626593870 677945587 67126582 562047572 493346138 733175134 332937742 96637653 457749915 466044828 760782618 153520278 541855400 301315264 834463571 580419045 542980454 338967753 826730520 294123068 741786434 537749703 430152918 453973257 323635480 656313722 168293292 769671492 356010659 370938861 824824102 407689259 306777865 288734190 707848823 398466392 895572299 128676844 9255519 414451902 702061811 140986911 638499752 237833763 732250468 690381395 129236706 738844185 750602864 834595527 140186813 70444592 681788177 977199966 910632261 837186863 688204279 166010662 306152186 576058766 129427607 240108088 809036134 459650940 572391084 440267354 105280532 380276823 769007107 520042744 825649654 42342169 722804650 696240210 74911813 212274813 958651715 75224664 280825702 911192793 454101899 984280618 820212222 97905314 199671448 293307713 221833220 289059903 52499760 44217725 964178890 483371658 289845497 37934600 475557963 936369887 934965272 945322909 245879574 637791858 643105658 859221804 280047401 975058824 325342791 959037534 52087929 21283782 408217781 883708780 906809438 568632570 221824166 526845616 884239395 498385730 357502430 471922102 533096701 858074939 384896619 865956192 160535495 423478082 100992462 660063791 871573426 245088272 883151180 918204853 292280222 933430999 268500874 834106669 266539210 260659898 560521104 753186821 336663076 363191690 28821188 733595787 587931946 200327090 44232543 207971371 610421898 677597787 609867461 520895777 196652712 567104800 20024499 963636256 746456767 408679929 286465349 263105445 901686883 311192547 38566670 514699678 896749026 224610889 105450196 675052229 590055719 813513640 153119215 401070271 416868580 505144599 67656077 179620413 644911065 53548613 516927693 123475516 708224355 748511690 715059416 123725295 753242301 248330377 489525703 75503370 69196895 82221947 67144016 657365143 900291170 338294036 824638845 908321059 888999421 663360079 129418619 172204995 347023860 516544721 391671592 63223520 508458994 544817921 896663884 775758709 284499651 244512478 441698082 927085264 568352112 366498664 21827041 236454804 632563051 657530715 652779609 895032937 486755680 17367394 555648238 96288587 696163083 447124228 641661233 762070193 526639175 411751283 76001618 119222226 398066732 665029854 175757057 273316458 464027733 65914778 512247670 518276970 7585224 483011983 336261068 146864658 886207188 703426921 840978102 541714468 21297133 263940716 755672492 819193973 410573287 990083261 110907277 176364602 302994183 578144107 603545749 178578415 308926565 909240872 629566089 755284400 510916529 408918292 902783306 168244742 233490995 685453504 338871388 187613288 40618606 832201674 570996185 233329469 833125036 999437890 158181380 163375274 275183195 707798402 902200643 117018731 108395418 186088176 160391333 663306663 935525444 949259327 780427587 753658909 424312439 775394298 88561042 752062839 199639565 516485892 721748824 822944013 591157752 603689678 640857213 902778613 222860134 203185888 199909193 474260037 550935824 993349722 817240819 875022709 26199914 867307468 702685811 582632672 664084079 886268878 37310543 599442774 807774831 115304708 346535575 691997150 464891327 120554345 353838949 990724420 32641699 51558574 94374233 100034525 447441301 456867649 738186851 547320332 419121011 672008252 687770665 448396942 426690914 887796433 227984738 323314078 201296458 460833732 52840752 221476288 287941501 361835869 398458295 517009313 389953201 989204360 955772012 454678786 255519315 773214018 211463883 34348222 813281777 114645636 878785733 796861407 874490014 718559244 92431449 418631026 841189881 46994887 229731196 262134493 523473910 387983687 789287508 161412726 404191298 25157154 896162253 338995740 480246657 908410790 411700840 143033910 794220338 253887053 96682910 752756017 959490559 765180264 155940228 970740848 382632891 859242162 794786094 181123172 371799332 13496492 375562194 385501125 65578059 806676274 787155413 142362909 480681480 765116597 974130885 526877516 54783912 861823901 718199074 246128213 172958398 244767871 273074699 12509232 217910880 692307399 634114199 1835166 951873702 103230309 526352394 588555979 243373914 947204858 963964862 640710683 299400394 615883056 17003040 127019953 975746934 512762725 415221260 514616610 435041988 853657136 947231621 565627230 125160534 367348620 565627423 266171678 514302017 773546768 412438279 926444640 540004608 282617302 855086711 591271493 712193825 282250935 609729565 716317513 484250126 729800128 68310248 169729495 91863841 968834122 878933421 890885795 823838973 465795237 828601432 493749736 863383156 90078071 82275681 875966459 308006847 477991362 400457828 264337063 95679625 247310750 370219351 999417507 608258793 699188858 221286291 166026562 66380213 751546633 274978061 871824476 626966514 331366255 250079925 170825042 737692559 692671164 149713110 358757432 992521662 13303704 9657657 880844246 832858757 146757333 518547352 397542611 456410580 350278930 390278395 365468445 430247677 259613896 589317614 58092167 545573773 774401439 90136327 640040274 617190652 59050552 856166941 11824341 335544579 15242488 641727860 585622446 194757516 772487434 600316786 328298982 590778441 146610538 223456893 967281575 750164296 418453312 26820588 88818048 330645190 586262959 835708260 882211216 226638720 603905824 705856575 486900514 439704256 947503508 682921009 100741214 17284172 162929140 255018080 722973247 110019305 901571369 478697178 476216174 100393433 639590289 377408981 59650885 553269043 923779587 469935228 896429754 887127078 164835542 441033166 590189854 566628328 533891261 886128421 593788896 579587244 134879910 704932176 439238532 609111053 750790009 503524751 665500756 801693826 675344975 187535099 853190585 180870578 155416904 774666683 242410561 262552559 261023154 663196279 2660308 854022156 219823285 20519203 974899129 951061785 457970918 81345954 250611951 53473317 569044613 561828487 463117254 292869284 367802170 715017103 452484310 820794884 182431007 783927855 764918107 874458737 145674202 550944916 991518088 607653241 966799474 324241140 780125869 660518394 483382445 380830604 227977353 526363287 376640382 440018139 890193609 369169150 505583428 197921494 182875116 474344772 455527398 215333489 366076911 673778129 974941242 652473063 522763179 172851379 482688950 441218929 236205070 998428748 470781112 184789981 937737176 612907480 172758811 88279865 612175910 62914821 547105135 988868368 219765591 583583130 476321957 805601869 17358294 792747734 763230700 670884301 831759319 693690795 771748982 848878870 662721138 286553377 403440756 365243451 716665295 202354530 745117041 827300779 137842055 668640457 469120653 199583721 902282983 429976371 344697742 763640849 941024308 948588358 626541859 252499954 860820133 31730014 302180454 590840054 925653649 505825745 270890595 826470595 508645536 273307256 53353485 472180190 846053798 305150465 629749277 330638460 564526307 591115139 859537641 416691082 723464138 27425554 859873925 590196507 852215006 626663803 212584962 912340673 489280688 658193685 386797093 702528528 717578569 801182181 713765769 362546672 36471935 843899524 923965801 391254707 201758591 64841153 851143596 644911435 405787326 675434848 138005457 916552113 109719499 822822762 373181024 968062986 934183595 700733557 664975079 371252358 455808762 62772344 23509570 103125237 26548686 334622168 245244151 699384112 432039467 652580298 645096163 856871006 165896798 564617950 392887471 336582536 853500653 757679567 760392427 257579548 618345665 108863711 867324352 446294018 90380440 66150150 746359989 692960341 211564078 52156553 654436210 101104169 301482199 680478331 801536599 874187681 529476346 87884848 111300363 317877989 151913268 851452143 916071399 387510609 599650390 632100136 304931731 133385631 71437744 12790955 584241783 256720719 846742303 727320157 540511093 452079765 76022287 700646828 693132364 949422443 962011520 2766150 616754497 744979053 649971088 69175775 124853359 432139069 372328510 563079093 164423086 404882151 816956822 329969600 574619259 158991029 884005191 524954507 168397808 68288262 253471879 334140793 10061273 817868448 860596742 320205944 8149353 856627229 514100227 572527565 379240248 285646516 796146386 431262537 427966424 831214093 290165820 935345763 855383158 84279551 975834509 713274912 369674622 256534918 659046915 375706027 535736950 751202498 133219069 800647577 606544862 714274910 406161802 660800732 804629691 347516648 713002681 722560006 839429928 754134498 203369157 394845613 912735029 977340592 153576577 731704829 609349334 891516491 641242621 299564438 506839113 9651530 482602923 569416806 583500665 549860428 872680129 689571080 182056415 55217326 838720267 433661851 721406759 722857291 929188960 597249849 504505491 526275584 366450182 917785873 510402392 474550368 202677313 504934495 726459687 480429212 72468576 934275658 790967570 18625848 578392413 927984849 680057191 213074701 32962000 571876610 829546599 77865031 811519509 183164763 958312726 63909503 154498895 572290944 466977761 637924149 140870106 654790516 517586259 437779295 934068359 179171676 337547957 259858762 515166816 843093582 986665932 151335657 557078014 143638897 66811975 328699976 984155001 901706657 945462637 865722040 838319005 320913177 712710641 636794670 112983221 40701687 318349419 735438055 639740146 525943570 157955234 224860606 651171341 467944925 50241962 563794088 42620328 409502427 417284991 405165867 296412778 129223197 184301719 257262746 925617682 369105319 356690841 111778693 807469322 762871473 709416583 562464249 74693542 108030720 562830130 801244119 451299041 641131214 275461212 319750355 674574550 573582946 401188229 233892288 141298074 219824681 373570325 261411263 311560989 361532251 820538428 916505253 109931819 548331826 772179390 474639765 857936513 336874288 830685931 295121383 328683755 773490915 843698214 173284358 531237734 868648706 949296993 778850401 431565333 3395007 65124468 983546500 30801517 421768091 778941874 269490031 217720473 648149708 14243176 491702056 28485213 266383768 510757022 680628547 509407033 3098500 726906856 70623415 824080797 459584645 840716409 426675987 656362714 663145613 862100720 719497082 490477774 395652765 364785355 497570319 673315815 480241674 818372394 790407195 485209498 593696372 102847365 837761491 25648413 827687038 469470801 274627508 245556806 335101713 510513836 556115822 764558514 582996285 125576379 795554546 617437951 272737395 287832846 915994674 316931148 159573171 649285587 553281335 620697780 905662375 446399868 635819118 680768469 331131627 794497906 71074458 172478495 959003171 737263916 202732464 377595551 608991902 129565426 9508673 324066792 371537669 127419337 99926857 462441111 819903913 959607887 493209575 925818864 929919679 735656280 954236117 431838344 128341073 729263200 8072465 541403536 474243805 829792427 995166170 970708715 430005515 993508602 809433841 385773203 807312469 782374333 881236653 158024459 70168838 319593891 129599350 223327242 946001877 971478522 227223468 447183880 82594126 910629838 784945601 540577680 323777350 928371274 903836451 963912755 734388968 98000651 717287616 816523698 856050835 780074716 213140558 287493225 193103001 118551129 787226105 120377081 25272394 843955254 749172070 994386483 97442887 59043606 360451158 542209868 802393838 431366532 788101070 577427327 745273521 555023812 168305172 779316252 320908726 294405613 195971102 370274969 278685964 349281499 34066903 424833165 54965520 125521290 928414161 720736683 734553967 870610804 840517413 515551330 8429896 571608316 408657580 49898293 385352573 199901265 17896048 378919550 886865639 650851187 579556450 435519381 246031021 317921447 452897110 645201372 669959520 261205933 863152203 462459072 23171337 102234317 989026965 556247087 46514084 614013490 223603965 328429729 33598213 198515637 508376874 162220568 10752311 611412043 777948198 721641556 943699747 907062583 731570823 618287819 349423423 927801485 514590413 786174966 486705599 747752015 750950494 963031715 896778276 164139771 325498826 464237135 736321823 908658530 836473694 452069848 652101082 69734458 868016172 18036413 510600420 36435198 533154792 447936151 112785502 316951290 588068306 927776965 772213690 685899164 964473700 578194462 105279890 261960938 563970045 210301054 833117950 802175087 453668070 688897672 169389255 174812265 310478164 831914813 933184005 979806703 721813962 503160533 988359109 71979981 663629535 654149589 48713257 971603490 320497290 706884953 67947746 235562208 653621894 831256272 331805923 930835486 772414945 977782487 582960114 40751142 441595172 998856355 489442516 781273384 86451775 304665996 380511475 800293687 940364295 402775372 295615726 568479631 193430389 292133838 927091202 151351304 227950464 456826336 729747859 469980478 591066951 254913393 678241376 322209999 178890988 167750924 120007234 656023875 103906365 826140914 456573570 358389714 383819728 19573545 423519470 725816835 287268485 172370480 253201751 343560796 377502209 823071019 369196318 315612527 777924236 986906042 503597404 327219087 352266397 706045561 139612199 883215651 580060441 169332793 905428067 539293916 290891502 713682282 658687848 544363749 431684562 466408484 215705921 978364393 406014226 552256803 246641534 935251917 408283343 661032217 720306643 403439223 805573567 61937768 738320191 681161231 643806608 785178156 341024011 561811763 979130617 141452344 797086942 777564949 370792720 663077875 310506904 656889632 719806448 415956412 531609932 39404295 315482526 63842465 695071498 964258939 712103075 813609585 711543656 833272154 98247224 510567825 700915111 486697960 285985554 218434796 264538172 225445757 819870983 86144780 366266503 617247952 84162187 179171970 907578328 617444740 210396564 107480385 47128511 975061421 277881708 374589748 21479225 170909967 256680843 385260672 924097644 364201578 522643089 628178253 207132611 358356126 672921456 819612678 875460679 613847175 882909514 40001543 57372960 315279525 494832117 303465602 287701829 402370748 214809113 582774438 576232610 69957622 798465512 528363385 935857014 400014728 857146662 49268173 702312962 731217157 265728317 29500253 765100627 42917435 186565954 746732354 898289751 903607514 347507042 140404803 178192665 108106398 830403284 895907093 187150437 988801588 405756408 900892343 676392648 599910666 371349856 382728135 356693478 406396008 839170943 511762610 582184000 842019222 73764806 117870670 333937603 529845495 427869190 934502660 709936360 619532266 669461756 380421988 953626529 181261368 226747876 347614568 554760259 949359272 542312363 510181175 863904858 250565448 7215518 502488328 563649316 584860757 104693990 981453171 352237191 599053175 260417707 937756786 53208378 619382267 920870862 117395498 907636639 264784559 188845880 550611387 336286945 799228412 248725845 393679855 859648851 847898247 460693045 854297937 406463518 35522715 231355893 972613573 529241447 84494500 461678395 231266337 254827358 925454937 874231373 43207580 400371276 13926207 591089297 762905125 894779847 243420872 737632884 126796847 228844388 232388736 258288767 364168213 808488999 767082575 753952674 220442117 734426194 439025144 42116866 977672592 861998764 842946569 958723304 546492607 55135988 902098161 687296377 306816641 276037794 23731790 732178496 911936146 35849256 694468903 28560645 248568613 50547642 90422330 25217604 547782987 614149707 967390554 885572583 377091913 337046237 921799949 37168301 997461754 258177729 161062219 824312019 534250534 578401204 100237404 451696058 604722649 822158050 761312484 368740381 219542845 978598115 567271061 614100559 25137057 505051203 949775656 731599959 824836071 298447316 19656243 355858256 576177426 494294951 808107022 225624578 691911581 582603173 451602436 885325461 7346705 936164379 289806403 212631406 756710760 386701402 421399193 695330527 741828883 115007828 43782819 323533826 201413712 788180684 729078691 197369438 538505281 904715973 721057788 533698840 119757709 360388916 89397796 122218620 276469261 187873152 407968624 830110391 367868710 524680381 197529700 139719616 188423193 999928550 1476420 577651693 495988741 870304989 681003024 750757965 626803185 915948184 895027912 75256047 880199313 360925778 810475951 856847311 682782236 241929710 683902491 50719633 374197783 885008110 156162336 313154533 112912481 461504642 151440958 416820100 380453292 420902010 46830127 47162946 186914850 930017531 19971556 16455184 872902795 389740120 599039891 743430832 226065146 429368964 794021169 822724290 393576509 814724306 841294118 566725122 142939211 942509164 837718367 699727793 668204335 809872556 827026666 138461316 151519209 349833032 462751451 247266942 102938276 949230360 265109902 112369774 327612533 304979369 808800475 316237130 590354712 816268134 822648367 483080507 165377079 107033077 640478331 437231888 786461102 671064648 102434025 130199874 510529698 636286499 801709022 508702316 143978556 909905643 865408143 515110977 798873785 108360854 174948098 530138342 208839445 61895328 847179957 107849848 60115777 85100691 959861560 552660240 855325029 495612176 533322051 877895901 215698004 147636445 253183049 139784696 394078932 42242197 452473011 719537199 69894717 229365505 374867793 732016514 223349594 616601632 307871486 777992680 772909308 667476277 908712979 438290749 263487970 41105951 299237749 879354344 3122350 951919348 135916257 372564619 794214333 970288302 104868568 633716458 117116660 840632435 774444927 616727243 149680690 269801530 719313790 860077046 465026352 443592709 807929342 393410822 138002921 861872250 722840315 290579739 827728745 195884190 291373574 360554642 988230565 362094970 478785727 785561799 576367938 674043721 973497315 727844581 586308747 794197291 627846285 523542486 253023727 734832936 881621816 284772332 172157415 387685396 486949963 300625476 833879621 272996430 735150198 308708418 739568528 709451490 296595785 195314987 518672217 864918899 51889220 518252570 66586028 166544229 112372489 226713902 820509461 369020249 865902469 169674130 892635881 835590904 41531502 480022187 979685272 773906623 540066376 537587567 959578098 96482641 373155160 456253357 677420129 872803010 270989682 390553654 358501188 12629813 938882007 663768258 111415541 75425570 466743835 663906188 774584922 368477011 956216431 752926623 106312002 696242005 344214692 126274127 418869888 738017661 423042553 716296003 67444655 264550474 534588621 832713645 569570632 1059834 4888316 961756457 653743442 709015572 81093454 221739534 613928366 243500284 320891999 963511570 158850879 106296311 943709891 99920616 45989611 472376012 858501598 439936415 801119502 478226658 298725510 883321681 343529646 202085137 572684776 462141698 972625595 776551840 335377748 209109920 441266005 4087684 68110030 863533225 897821442 84741895 807736921 870164970 4980775 520898451 963112024 944303095 225838962 536442631 854043704 361034112 185697383 827769314 849982972 313304643 920667364 734252616 130849089 143609018 927626035 881586824 540328335 258204874 530806074 391234957 805718832 398599558 239637465 522378235 567112055 693598625 752329457 898491130 910589989 100134412 65028948 649403254 270836833 280038597 455220358 659336375 247260380 636384777 493993323 393406103 853003189 836796468 832720407 162591377 175771977 108029896 728496522 673784233 399896551 199724673 842111125 837241185 25224977 952879773 40576638 775788105 678733207 847057413 724681452 699096620 694447005 220676423 855627583 384870753 841249882 364075396 716815607 504410730 807306865 260576665 30033669 385463654 767154813 759769524 124961861 537415594 822784696 748881905 742560163 757976469 174975630 26602451 471423166 974189735 921565189 300662158 32323516 713082657 889535786 39311383 865620733 780873445 191728055 18215367 774907664 794765904 300119593 161790516 334432488 618426572 218395287 820354729 71186917 223018752 279881840 586968878 205605372 681803505 399552870 184570227 459211338 75794798 63608837 192603153 77759211 128285635 901912029 335007919 766076611 693727353 640096220 409597277 705097468 967931033 801998221 35530353 565661848 609383241 97097065 521518307 534649817 258391291 790299477 67946181 966950562 833064916 807424844 883859734 957225821 277217039 186679937 623583305 637964618 478470506 813816687 530081879 733381752 701910461 749501177 48102926 930526103 142042174 388719611 732791524 578408666 628737423 558766845 172107929 691532719 31298342 134860132 215286573 746659735 301236782 260911150 397177295 5088537 665865120 136043654 851391701 244674734 491558449 25960551 452770270 955291051 740770818 391280697 147774708 236386479 415552001 117474356 582497725 584030920 382631549 948208276 14764036 717214499 199802210 478652679 36026395 633476572 556815506 796700259 370519274 67118230 874397054 465834527 766163879 671484845 438865097 107152079 995838957 692816711 750484185 731845591 817464353 674217936 470260113 158186959 771533716 791758248 579661954 49151261 820786255 407160961 653473163 649526832 901619090 157883191 301933268 886246031 996539339 866699957 746803928 405070961 371445405 742738832 290520692 605496868 679697679 760749920 502820995 521755919 103375271 602283846 712600461 498158163 284353247 615178977 602363898 708623005 626533435 665802192 887392968 713406720 905846524 687093960 268943416 94582838 239612403 140298070 768354802 458492430 398419999 907154003 26930546 817168737 476527931 48738146 496402307 547482863 8548748 398653406 18348926 717157490 351379987 301236674 326155810 362126815 753478583 205621382 954680527 227339443 550427284 457782945 25910389 332360033 73310013 369684729 673173427 169651073 11907013 194774938 164932725 811917811 622868468 792454554 559526434 504745502 833677874 738517675 270736919 633286478 167848336 704794521 62631793 641075133 256824447 746901220 315836542 255189765 17247030 345507891 947203451 173650471 891815022 461159485 743237746 642793318 92089503 958090583 761024941 984316891 232156395 241929474 85839356 872487592 726510504 894309987 326554481 920179415 200650198 221415712 366661227 544704196 637667944 523929674 873799655 609215398 876483107 447130905 93557318 290313310 289191798 42689812 637314926 757834990 497016683 82701899 445987667 631587595 755826193 974830450 44219716 96243386 799215807 592916054 418978576 706485246 269269309 680349586 65712224 221944017 964189219 350376965 139892831 990860401 608823048 620307950 273847042 403520220 682519436 124142457 842234021 713486904 187716606 211745273 956760294 350958563 409864221 242756845 944864671 747640583 70859780 790610831 344070049 622184179 58070869 374265534 602746836 930517661 571537594 40581616 645874535 701145339 709490739 933777492 815698218 245716760 619851137 177549053 733610737 106200970 879682989 931922900 233944921 813639839 607585048 38969774 873031131 245089931 465599111 726687694 947252671 524296834 697005667 741456071 773378861 561742199 375005397 296270213 47215070 400244383 197092602 348769616 896729524 11019662 302315629 851033782 902417777 361035256 527405869 549411561 120684344 307909790 510019927 855464929 444102783 346472322 950822023 824119310 771349697 716261200 360640267 297279612 741854121 447608266 229038006 848434857 425844497 311276557 665383840 253796774 531114097 316259743 534628250 534939430 948365641 425394982 379771531 277312870 641261959 14901638 494876182 419192233 232239627 870533494 580514317 95110204 685209119 220567428 899981218 885374966 889341866 687811425 341215989 454385688 985998931 631990730 775267266 106979305 443108094 411576469 969631620 837519793 931533512 613859697 679286906 388383206 72418214 573296710 368169983 622374742 435950956 796861350 630553999 75338598 646674577 402758268 45228655 878670251 426865911 803766439 89660706 917529595 199840992 370875680 233391427 770434832 491645619 159061254 368572566 279117422 469799337 147153683 761919492 91602574 240595735 300387995 723709392 3211421 737751103 681355860 904966353 415710858 390183666 798492308 456929174 600809331 124422739 67995383 758988544 121904751 153067190 117354683 357270495 365929962 184062493 228375071 622107949 67565889 620099481 83362280 249183133 818176515 133721024 546677896 626913623 254004793 662883021 631172908 22631180 703168402 860209742 273137851 378457998 13538664 254010307 377125234 55690052 581836411 602500945 588980623 417469071 594527529 810775007 75198331 338517160 645838260 906453214 776922491 527835125 290269248 258714008 173736358 333576203 477968694 74100624 764077790 393256717 188523783 334636663 120281174 446904585 115031419 527834373 248123137 737663214 576619926 883098442 646647818 90781504 853905389 466629033 222522290 852487356 463080649 91054072 451784513 88639286 241939234 287252260 758230010 465484851 239184887 382528872 2688271 417300585 787749461 527034684 471121678 237160257 407402567 764431826 537765924 325999589 822067089 919860875 786885373 516746067 368718556 979289337 230608182 718395573 773239518 217740246 252392323 951404920 406503501 253393350 932965010 633938146 735806613 573598502 738575152 372753508 420654248 27940750 338948735 263952970 128512815 390370672 121536191 347764777 304347976 604748541 443362232 157454960 698234822 268209275 688182228 906532481 636978331 659510424 622419277 27663671 150826930 331792221 508752689 176814927 949277851 113170159 542757341 796334870 48917719 262446154 99752991 374587465 699273200 482187439 660134466 117969097 353617121 607843615 57436138 232909669 260401531 967499041 414632072 107520089 930238416 504998430 698196039 770070993 606595965 123147948 80207577 918801563 319832866 659992646 454064617 895520721 387202304 328654926 342002289 126041824 803627577 771336016 850825861 221171070 794805250 732087635 955471076 827233164 456051575 155434066 515613810 312657816 857601236 211170144 491404612 139356463 156801764 980333667 480588778 729407521 99874034 693585858 959922714 307421274 50394723 917472109 482119771 6735840 189891921 482203708 179073935 450129526 948477959 758631064 355188135 156269527 612116621 353832249 515401069 248757134 880136534 434430563 38586477 678224754 217306084 760658259 93003453 589971368 860001255 777006880 583557943 168825966 330832999 807295313 45574395 801665848 688909205 274747380 244372758 435925672 585465540 8747387 166769642 971481829 682515788 257983739 590865483 822147406 456211806 731871368 428183513 595379867 394889378 653572116 27298533 282539486 646357060 953241799 176286131 600387700 121892054 571138524 742555024 445372939 74543924 381852195 813065445 741048152 658064291 117266667 703498507 547050463 956231147 866145066 328082818 291688528 48648132 85570738 335423073 662546186 426626896 174663911 358513978 846794820 637282407 488943427 323893702 294621369 400734992 694099716 528822198 736943978 803291483 371521620 931386914 113370700 520276324 589061717 722550458 228276425 581030050 716761232 955001799 574905362 207006772 75688672 604872355 986017459 784618032 319245546 178855254 567934070 664803694 708941682 178422275 271424493 339374299 382082484 460264171 56676670 698405127 237316042 892943456 156026535 186869995 979332076 889953069 941554820 434231061 272160878 195718189 214644053 851979765 247887212 92689062 385165576 764940652 526687630 138845991 258078601 842442405 699685936 1440442 778883001 949134253 224498087 957976790 534229558 197403607 715669061 378761859 624431740 554539062 863047866 876823569 636884751 600998242 600667780 279809062 81352160 258236759 123394948 262064180 44522801 668357483 131572283 558345327 851129325 725327976 830145119 306714289 241457736 750808486 225876321 719747393 908084361 144555640 316261363 35256260 785139956 649436459 808263978 462152422 214454720 623729397 404263958 122709144 945821574 243118014 512462019 309908749 375410301 556527491 181477465 209908262 421918404 637903507 250280381 299637667 528249516 853313149 235209483 815915826 776358055 718001030 749072975 185235673 20944673 870919945 815576820 926863226 835147234 424442066 555279488 736118868 646228502 885769424 241604565 854129049 372288978 800653425 953388477 426719686 625056009 470872546 432244721 877189346 91417258 270198897 433841301 87194554 195816372 563573467 638286152 187233635 419243975 900419064 72627494 660252824 726214091 350730332 708282622 187919725 437955157 452801 589663603 53551446 58363039 991787526 213031491 368604127 57701860 345877754 442061645 48763238 78392812 409346931 82716374 112140114 32149359 140506837 357634280 808190935 245809120 511349752 367926858 632159423 309032485 244502896 52552623 390018417 524346845 231951361 205602865 76973489 340359642 97134817 947343338 87133812 237736176 813049607 835784455 609509904 317283701 867476461 455952010 110245798 882071173 627229302 56168835 321482288 575876455 922224747 859935111 13249404 315327471 326205381 649911027 174858484 598489782 883306309 806938125 616771222 75923487 671758960 856598382 174394655 105475449 298635258 978543207 494533377 188331560 980268116 574336558 417251556 406989295 884212440 828411375 994194741 93060261 395474798 237482835 664684225 186531995 818210519 405186785 745868579 169035805 386813037 393044410 213183884 837139385 142611155 583859578 855315893 807069352 447312886 771436910 47314665 749859402 983837225 363506737 326385195 688071408 256134524 985946174 983613372 551986222 178681060 199983534 302305786 451743317 158228396 537235558 610757099 87931096 329769405 551744530 185527157 799873965 77839567 56089634 431086079 263764852 856637623 723748269 502525473 652017981 675100673 841726963 325159201 307741566 678984397 338230869 11454687 592974816 896076150 910937072 671556661 933914143 612025010 205432269 771728300 752923243 403029892 505295229 19070570 669599949 988430783 618678761 823317872 831682971 369280481 518470974 606738509 919902449 807101176 862623419 996412413 662812550 514558746 899989089 597139676 596461872 798658815 901105140 695662587 835126295 2840772 685364824 928945811 370854343 774355761 868667058 957786499 725194900 555615900 365531385 330800876 430800554 388464980 950643683 737533538 521911547 6651609 145358576 361495427 675421126 994553978 80073254 390288842 271172341 252725107 791027991 583351636 381926357 713432698 80324264 942713740 824863038 640234113 900977238 571075949 993909053 10985172 847385601 351575626 913257529 855932187 430672268 756955518 894463963 467787544 205089874 296052472 393502603 217927421 909597848 240820240 75871306 90697983 528750936 376901071 48045023 199142253 826455461 638150840 153646163 675205939 802254397 443474921 410088378 246687565 263491090 308445059 818815374 220187527 656203716 595980878 9642003 866030259 913215231 621917217 711071461 744649013 833711626 957756084 993098884 865121790 101647408 574655223 458383596 50577962 542621022 779593660 363501546 264176493 880281874 26709367 976860498 281139362 145020322 611872653 53334323 343907978 553879619 762843053 273876365 676132727 940603216 412354021 146750053 607088658 105096128 622589406 861214443 350072466 955378580 290760735 399123449 612049375 313866742 732582487 933761688 341634482 611649693 359264846 725119127 514705792 619054205 522393604 847868792 70744889 144812172 699890542 959824291 457134029 309208757 765930672 843370858 963209399 571765508 644367219 810186995 249930212 262396981 891504163 39845469 47233249 575663993 856095745 35453080 507706906 281519912 538035986 850978460 896011895 27765910 587443968 245208822 134937272 533292438 268798733 852244717 473069695 264244201 161543777 97313899 147292581 536318461 901130720 779497862 654361584 496844910 1431489 24243981 114855276 668286744 684832658 669726491 797097003 967347292 319126933 488187500 6430917 848658283 874008246 235191419 236626045 802992185 843038767 172972140 723483351 761433064 578073828 559657982 102372764 370983790 883148967 644160724 463793235 399546400 176118457 645693084 493596577 682283024 765994380 407785125 158185825 267148893 620291030 439352143 299340716 564736705 809498395 283605286 44735542 738407447 120937368 140722187 959792855 940186167 656671046 605284442 99019075 700000499 484729492 673938490 379429388 683746664 609081882 609735522 27615848 933521458 189375279 538237237 25710092 92653831 757503296 312963569 270985988 882818034 58827007 35214424 806086553 637903093 997725809 75618422 515937614 362109513 280246162 205767508 299885603 262738314 308439324 380262081 794298764 662033881 866995900 122389755 380788549 284157910 543319196 670478023 210896836 257875143 189255930 541196545 814846528 877404148 742993340 428976905 792235153 172054810 242528358 274620326 439706265 108458432 679263866 502739581 518363296 13122572 298167507 707284339 28431105 839533697 602757793 731518088 115800475 655641315 626431556 978718788 249762288 61578341 832511275 619563582 128939630 204086755 617757132 645272651 487648466 185457325 321992317 808769702 396063107 758937336 928405825 665627522 958108376 769317783 877565815 720983605 572223949 920695923 610206688 171798658 418951461 510258682 85933614 205451609 658533400 348491086 618114428 340675038 502514968 497982067 740800993 918756126 683591529 687218421 669052956 856720882 617200417 379697026 120423423 892082596 896860312 483708606 735753257 197966554 327844242 440347514 614381630 823127460 618448001 893261397 44589463 55207344 655426335 838001713 171933131 653925737 658631705 945063215 789928929 970056393 520646432 732001148 468068279 627602941 615062330 708720746 267415348 815368112 221998542 571802447 948785315 38536735 383608266 767471317 440954197 88399893 922307848 596246158 485610153 412004430 27772831 651522496 440535408 941793503 157297261 981408747 138432742 559906991 991285061 423426642 305024604 517612793 634402752 957820811 431881170 719358113 541862583 157613018 370385051 653635787 856851293 844805858 706555 737045686 498689919 601892759 731145023 186272919 964316285 267698593 946221862 390495840 804087490 190360014 341582986 731433582 482215080 821788462 959795255 253380183 905064517 415665336 895055573 693572006 917881590 187001475 378738670 968428888 225881296 665750067 153655001 616535187 853257336 708283187 158237867 699504932 809542672 453800045 499686319 761565016 590407165 60551535 248941605 413330529 531738453 428144929 699749909 39088535 368383980 926784475 265866512 772511848 766301787 118275302 693734361 111553514 645059326 940028399 986551220 175064463 760277574 932641898 503381200 423615791 442928806 42036620 374640733 126380380 330394356 838062077 400999907 970121438 305330123 465756560 638892472 23581330 544759880 543684758 108217299 658775647 289022034 372642932 521711009 930809359 770975306 158827961 879834164 318001821 965151226 634629676 180005788 196075150 838913344 994166705 443724390 410642664 972944554 148980929 4090958 121373683 390636730 702791692 555166118 816263649 61376871 399448503 712577622 630810481 871963086 143567789 645979244 276536785 375129665 782280047 664954073 996213050 344293171 416795754 439836024 497209935 71057904 769004479 99227490 219343575 795958090 181022709 984079842 36216288 539822350 846077960 593584038 131805919 764508038 616439278 401406635 879365911 86756004 569545397 737079691 768402839 117973199 679975302 83700579 478630742 196943822 82853372 692290864 306387633 555107462 123446701 627377906 250055202 519975900 107922347 572189177 92880581 695876800 273672046 656933190 566506834 943990856 614994587 62270165 518933216 706887811 963591185 163643598 759611104 681766200 482147233 658289671 583148212 866525558 662038106 389420687 855513433 759009580 66304630 940994329 884580215 847115388 916485881 521354007 418468554 815133814 691449082 64741270 125572927 952247036 985564631 572266300 221172386 386920800 460374320 740389716 744735692 817833959 543084595 808619589 433190884 744946375 841976361 586226733 82261286 96760687 494730567 455629549 580209836 812341162 482015703 265848244 465113531 660309716 558863924 452881696 283038840 495408906 396448476 754275776 710260352 433095565 410017321 501145725 109205929 770872346 839442866 123143235 20465101 445428239 935011782 81550810 785679499 967977112 531696984 422530661 927626172 654789371 499301598 226318082 252595696 104392729 201551524 360648894 430365329 31135869 72408021 318958472 750646539 648355594 481348688 240919877 842901839 770250635 569445951 274691997 102616828 400654080 126128296 513576471 78851734 99053023 934295173 36587614 554789224 670791644 801776496 476280643 670159873 919132571 335755826 984461255 243732770 266463547 707400637 784721844 895086518 971059118 255693534 802775168 189612742 63982731 571696708 987472107 888957021 527251232 549868826 654572792 995638765 980773675 823954048 349725453 747020182 152866402 694551313 954053611 926745844 314463143 525086338 439476075 834549305 744369128 112395017 92207449 784490429 969142282 215622426 443197472 884480138 163647087 809874027 163370681 536262365 573822306 53359193 457332598 612453144 352108782 80227545 461229969 631516384 18815088 152320786 252806790 476027279 411581846 279553776 483956853 270455385 962107999 550985292 147840629 430739764 206873280 538059467 377213853 74201333 732808747 728415376 311975826 30569548 947278692 632644398 329408772 519046171 394408535 297836565 278334519 86275827 942941870 431765501 371390812 879246513 530970931 832013624 264197265 94757609 579983232 408833715 106707020 173721311 555908023 866759996 14399517 173098821 75225802 786690089 469096898 275928085 248226432 797515102 749482747 563854771 895192293 498840632 934886493 823783658 841221651 773927268 478698771 202065547 425970768 251167146 455413374 504666017 652860080 143398320 180961359 544454905 688163309 743539015 553342912 571008965 683481729 489479531 822336916 833307911 225558206 58865454 857295283 220426878 162514900 751395309 906286332 36628974 858125484 480847174 303106157 750944152 179918736 126747007 287476166 817465381 984723645 493342945 447328904 378827615 190677172 458347373 765218021 568750774 322217285 265330940 416434657 286095796 435792298 113426750 633274867 389340165 259320017 147189628 355202004 860710000 77321734 48965175 447471488 132736703 275024325 714308558 964719987 378847245 177335146 615485816 757928755 247285999 691437163 614131717 212051319 497875181 343259700 975392755 226978978 373918954 375440530 61992357 521999089 728825247 730082424 895292072 784406156 923272147 639042018 367556347 340354491 989065188 517439248 944381594 743956159 439193586 338775550 795410802 146507930 285747606 118966706 304474929 776653524 254118270 248280230 128849610 73912001 963632800 844429084 520190422 886878156 142857938 417027344 338423366 444125901 739305249 692508237 878983360 377547789 473209940 15749715 872832581 794187638 169328612 964085246 904260421 348914396 123696036 480911426 532317118 782599330 235540624 342363419 198444078 148190403 383548751 26940823 986159765 756532300 145409351 840082743 707556258 305118486 919181934 962262913 619981757 914532915 674165681 576544157 462257896 76659229 143808407 359943412 874435539 468568636 124866268 938625445 446008877 341431075 555795117 946798689 656546043 636432618 70896991 458640015 373493300 381612749 745864284 421505826 46238371 333089933 38483445 644147907 574439450 965284325 491770466 812568812 807817856 660712287 886301745 938795611 807776204 114919356 517491808 851672265 203506417 149421037 530715597 93215559 468059009 767961277 631714370 963307473 159218042 307317842 317024761 47828518 83351272 85119445 51608151 282839862 549325427 742868306 828683667 475707656 121970120 464972515 990813568 935134267 757538636 594044746 640169646 945984049 757395945 843292781 188401759 848405429 477892097 422619147 519647807 902944466 383945979 745137708 872107179 594421029 985694983 329424758 70141247 940782647 37473807 410979149 915858397 183992890 118345863 111708049 216822086 680329906 703060605 460615401 877277619 611041094 927567454 710710079 190112655 536988622 299040658 784364788 533819522 996121154 568209119 634347247 390090192 797631770 1231225 16531259 183070937 802656214 124647874 745003709 368592661 486502504 410196163 854329509 888084306 532073429 475270799 754277533 456907902 247275016 636830388 120642106 289459720 599213422 778741816 612189743 434366300 257801476 104548232 443837874 91152230 527224409 637923421 989806389 2942132 70734255 894933528 15926090 351511493 42714335 231429150 189620657 88488890 277421474 107539709 867481142 688013069 618792708 37459839 408119565 55260842 247339878 570671204 518254058 542437776 432221665 765362193 388224830 590739976 934811495 143187050 899579459 28147907 501771756 753898352 999531884 637298580 79549139 885899930 697899749 749897167 577524017 371029513 478024385 466053397 863555897 328940026 268669092 577039822 359705813 84070615 739265991 520313692 129286894 940677051 5528365 240513420 435267623 298703589 567440092 277356186 453393443 929788072 407534958 508275809 552426675 351006359 159676368 496677207 800909281 265484912 329346140 853337863 276305759 262998146 50101832 671189875 404794405 925190627 227938963 931649078 915081468 891306256 616034359 667420296 390005029 866498170 650277693 662659378 777934162 588030803 517960984 667872418 18512241 736130991 901245080 514823481 738731428 950521779 894752753 128488002 157689629 887061772 976409854 199762049 168076566 932820307 978573753 843886742 869724004 808846919 440717212 518183760 530507105 23208885 449005063 221065079 920892417 279894528 437570485 184533848 506079610 698279235 404930454 11826850 695825310 125678999 627351217 563212623 859510339 8821035 714821074 89581912 623291606 255180209 137209128 656268810 777391494 21945387 341308100 594028495 755581769 40020689 704232195 312664592 539265714 448923746 421987780 907951061 115252473 365364596 983062631 136564836 219650674 470660676 917775934 540836941 899852231 757586492 448987007 782167060 770158724 611545677 70226843 500646333 817987413 882402631 744469127 915186282 374636136 195119401 813242689 971934933 958648127 591318785 431029664 438102211 216743838 717791113 738092953 819331440 343557056 484517095 389543996 320561695 689261309 324761670 298178609 33308501 663936169 701827455 702882255 1577150 844618652 797909633 851150737 294449641 431909318 585290779 325543053 730190474 32085411 575448410 573980901 539895284 296253495 579502331 410448578 749068815 538431164 234858886 144305376 585757763 451602666 920426576 15236075 409822040 840121188 951337436 441852816 783532644 78280297 766598231 543520488 880941983 93084822 548917109 246738108 631506229 484311759 662109620 161876972 243554361 925198542 194960166 714337274 187763124 343769580 594592361 362798199 25376424 1794946 338297346 470131541 375595763 522844237 458184324 882489274 762174511 8175257 777181395 623893001 283689925 512189446 376530762 883892920 659051040 747204705 279244526 210442099 937810389 954754753 942768207 566200150 26039628 495777329 104067102 127728763 75805865 833352204 680807101 832175657 155697492 266751953 900043232 500011453 421839219 2952233 111124659 53981986 443981850 876935149 504368672 917586610 558663674 694197360 420364636 747386527 589872281 310924684 135322303 31632026 530419777 164942502 550700912 829575377 486762019 345702746 734868273 815024139 79094494 78351182 13586815 571049780 613608417 730004182 871881388 388772633 641841405 27940795 525351839 80818836 39560730 112468902 286427661 708273944 85179897 62267570 904765466 495738081 612847306 970059043 100939276 874191901 357564367 305671604 598791393 293347461 431287977 966804244 459231040 447111764 48003043 618315038 955644351 976225994 343292333 778367804 559287483 927284095 558410479 304069523 944532473 1889890 525745869 194802508 945893180 747696424 182686661 495395096 200216981 7911506 37706657 506830720 690074187 724778941 552259001 667354318 970284364 792525502 582792771 22085813 380653724 411057613 706204511 174314502 771281983 142524638 321457175 364710913 193231363 85553553 299709159 278511739 643770742 996870075 231533486 255662073 318159890 855775962 943438384 291964808 203706700 497001374 676222369 344938016 764013255 409196122 919705688 671668097 469572708 646283335 487315637 357647465 870842423 83163066 6376321 660103951 672022449 60117556 72705731 145119077 578642560 828574720 938232742 892913610 150767412 862145928 500773740 313046404 108051728 860439748 881577195 126194415 643473559 421887303 270164531 31403648 862163974 648216010 692826982 259477209 983345646 967971828 188895536 183300659 207641145 409187915 254826810 110820959 708356596 30854470 145849696 530446516 880155055 555524157 807061465 403311179 783161739 725381396 123745394 147029772 344518305 382398270 102137613 106904980 185264857 85043484 385355445 879346135 825158009 276634769 88364489 764045449 159487036 977053871 612164294 230810494 425835764 711090293 808664696 282271078 364754560 664725707 338082370 452828231 249541660 66330348 726825830 666229708 312089747 297605512 60585280 903600319 497492362 240647049 273867845 627227378 535049144 938929734 131735971 648611525 949962019 118418659 138791671 345938788 380245603 792411154 495230629 652650605 748857689 351031713 273125252 64772926 582807654 87554322 964688650 229932102 542182840 509228054 499085968 8898716 921370680 436593443 795067497 477274018 814941718 721213647 664849764 350632633 545514726 320133787 504012965 427678420 50413539 880777035 221667637 713877754 595636820 50638737 395907661 803490962 39596346 628921507 794264927 33465056 438161562 991752016 975011830 552344483 148864495 949333287 929261759 752316779 415964472 274737108 280987298 776460987 791796743 259726427 402888886 110738795 297875633 124102691 494572334 461038552 809174687 980178636 787209860 935047776 181515763 476315289 786469561 399548028 278257673 396711758 811757154 711075169 585532701 700594612 447000082 394610797 786378181 3106338 698297846 272388651 182771241 738150953 265822166 472807669 995543981 164458330 961149927 916408918 959931878 441621387 869412561 11096807 936371087 707615479 572197007 566594370 902694075 674742411 420023904 889834222 755412040 90343505 381849293 202244456 655390426 76867505 729608339 848579344 485433218 247704622 324255058 117325299 168090768 695483313 867157650 345455750 748465020 297029687 619509725 875492145 369872129 176526009 641109106 666381362 304510711 515540705 300199385 516915294 221015541 358991456 316575451 284867661 926773574 758060715 140452127 154206956 187811576 292614577 865448183 652889216 483580124 355475304 290068659 715495993 138394734 474054367 930634958 13049074 548438652 230588454 905157829 12975437 862848492 536063714 990133270 779154397 533968571 38921928 337919629 238473951 102842928 501617921 31042262 54121671 573394869 778451277 361735924 728061377 147561053 387576762 446251334 266252413 550055701 238824515 234780525 350256901 44756804 8955449 66200052 385133798 861545809 460938193 111997073 939113740 701968009 622592359 785220569 422673682 770600218 692696212 345303687 306754665 435594818 356023791 530923902 918651539 241823011 661942798 723347845 636859807 309206340 536301287 311833329 16609031 783595892 634221272 90080685 369613273 544695523 922701367 338202877 793385995 725619783 79035148 436098060 482733553 321102164 740583317 713045767 533083980 267931066 184303804 382570497 548735162 479155474 218768329 880269413 119059072 740200224 332815511 914347267 197459310 415458208 40034632 26215360 957728741 101872709 572672981 259351455 136547724 451382630 325327430 686159500 763515430 96743871 190595432 609872282 738168334 484756880 732097699 895324086 7248165 797963712 116806366 209606170 413019973 636426035 525097738 110868260 974949550 201021627 334832639 682163653 580948119 237872053 848037578 847440915 18513083 525052973 438223893 705997170 106097063 971325182 790500343 818958478 736734895 112879926 140897209 650945100 939364713 451418931 113714070 635171640 44522997 387158099 836318875 884759327 20764499 264744983 378768566 617243630 966018707 102022846 31528776 657185313 937696422 843737636 418263915 402545002 869625067 913015971 891942588 542828082 117852331 367109477 423874093 129545717 520483255 654370545 258491930 92454691 115569654 624894156 58886804 355048529 340061699 758450347 609485658 701072092 373781171 841494233 543354433 214568373 472445347 419850693 242173592 113122937 80664407 478288918 29157451 427598762 872511312 262907520 52882120 867045275 178239642 341895131 823648417 668704155 13103664 852764440 712007752 774923025 772223852 484885033 886231304 43046765 767783354 946105958 319420741 935922956 99009377 410087357 921220119 543848801 705385114 822228922 439878677 522008380 480170203 231794720 859029475 316747769 289762772 835882546 380163235 358270819 707371595 374593522 255553145 965027682 847422664 868471380 632709688 971811309 423589944 474584536 662570188 608624183 100396431 195611297 380567420 358531666 942101727 784525607 586378108 354322249 986782927 994918620 41165153 805213181 801166405 849013592 871673903 670516309 383647165 864000826 782098511 572217746 466985982 967587749 240417255 693186131 198185750 533102574 456795318 521836268 721019922 740643003 343685219 760492476 311424828 247103354 117575464 428582071 83068822 189999407 454053461 233720516 988974879 863852129 153619831 589077628 864056968 682265950 251013961 582854366 197955767 807319022 71562420 572785378 476375637 369804924 303004669 936791097 224456632 624765393 115539094 443811786 101554557 70109754 474046168 894813716 195123496 423842728 707505586 393622306 790974304 585153315 260682985 746535370 252287335 365658432 293587762 537198793 490280195 808486571 690385949 577891073 84466408 476974345 607009253 288172059 970104934 733320825 93944887 744866643 341502399 860737432 324623872 344761127 815178928 201093371 198705663 212170224 700310975 441565800 357131820 185822247 734978352 588982467 608512078 430546148 298964461 226607662 65758567 180146323 817989200 768283280 993722604 890656644 862790860 710370209 198566749 766635521 363197490 861384873 751731268 615469758 447718262 443774187 788747108 262168910 932816629 122580863 344797020 747322607 959366200 405372394 787148819 552118342 762229139 792137537 105456800 567206219 375586545 645096437 485830494 838304344 198967680 289188731 493717215 707623085 5270916 348782973 543069 225712402 532600544 749663823 157012570 609228288 376120686 422200051 980995631 78805296 615818051 702571230 896331647 758016613 627298024 951661279 973502698 92578635 388743750 992414448 9303544 515420267 122994953 229831670 495544502 589261408 664126471 828342708 775028656 732866651 61948951 547500558 275874731 621017055 867051219 273725140 755138239 418174479 776380061 434077332 978075178 61159930 202568067 16428024 929492913 937472995 560542104 47283867 323412051 186976575 722955550 773559022 443497793 833315911 714838430 309105856 324772376 26659412 475340415 577632968 66103597 883726443 976824119 365935088 357923035 364484603 23990029 584148969 880081523 921918439 171119067 917904069 284859157 955190635 329095198 160823468 550406510 251673746 776767178 38355914 796455901 22477057 590083350 405210768 587280453 54122890 438247807 832186158 294528939 811258730 542064685 855175147 115447368 109939111 307655285 522398511 213252733 735569010 396257396 387638462 333635383 745033448 360534472 414379113 699915209 797834164 155239742 642839489 588012422 569535532 466073380 202187130 316588404 251543833 238800527 895913558 669109288 548411943 472787952 618841491 475201214 396700887 192610612 101699938 635242023 977010698 945908082 730669170 809536472 372332933 411947275 42739754 276390191 499800041 653834013 588706337 136127137 846897580 832327327 402037005 296111340 534071398 201962454 837843259 667638758 935408370 817408769 897544895 791739593 448818559 906866390 914438779 434023731 93598569 102901112 446807712 119521115 507979046 52788003 488878191 92780946 169279431 670137307 182130632 43158133 99398137 549430059 966164035 839647927 252227902 47606508 412000737 694025625 302565541 390341225 992305137 112760087 892845584 33889310 505645860 357772011 115239436 801529255 645331828 894869712 610907861 336375763 73264136 946777534 791137181 553689701 604591394 711130553 142562961 431490642 313849329 225704420 850141456 681280490 274729992 632469768 967154199 167210063 114753335 123282753 135966738 787248333 390594324 623756283 727434512 661850525 830215857 818345448 518194286 759689113 636914091 835468392 802566221 862822803 705772831 276264237 256118501 32136826 551512544 557828896 884132902 687781909 251168638 561293838 716189488 123843486 170854612 803378523 164904374 870424756 219455491 642288883 489867167 965813102 584736158 505876620 542554293 936402606 135320190 906957964 704214949 300346502 115338570 117226707 738231756 419078260 307874668 494136023 546431605 527781193 22475987 653951194 974992737 11336224 276269701 902233399 915006560 113606254 652904413 441137174 303532155 259705458 93481910 462827345 423791131 546410001 488427855 437979393 870743646 459325522 972159166 575413112 401437948 413664772 947092867 363921124 946899010 561746749 879582483 287271818 861590353 817655527 788586424 390186496 224851790 425505850 96181125 353275133 816716285 491675787 953235052 275387904 289453349 21364105 983176358 754281577 894958640 57547091 662020297 204027526 82170221 519680234 35717709 855836275 662151917 938200432 751544900 955391050 894388997 580651480 242688741 574367428 148188977 340342779 202076313 329808961 360941321 986977913 143899095 547679006 485472904 930090558 982547751 159286242 903143842 877819151 496325425 906379727 94655556 331392690 812292495 133121915 873218493 909242302 909523631 326443620 92627947 168806159 259808536 365722083 431826588 545660035 262698017 345993588 416011870 776841625 8328018 2916568 674419833 74616464 193820652 314984174 529685443 543570039 608350666 913334300 570269572 537640208 63349592 338965122 568920618 167362487 431198152 566399760 621636089 13054535 710410608 529564428 265946097 30216117 622831566 42144582 569564916 159841921 159200689 86090250 923512536 241977970 182498436 420908872 482284672 259644162 424199728 790992470 383682471 951221162 500362053 43340062 934203164 940972487 807158407 141674304 34078690 395453744 685554184 826790652 60857111 226135555 419681542 724717226 814412904 516422865 941659280 417426913 995217032 498832576 550652646 685834164 450916343 97675097 465890386 800569487 335825330 844812979 428861888 287373858 669637924 840410332 684327197 410006005 969918107 669921640 280628563 144115427 371518677 248615727 697153619 722659795 386601864 755714571 283028889 585076587 895355730 357583298 400678076 973692233 149799071 767987581 186088886 162977894 438708401 50805495 39904977 327199118 425195702 636966778 932751429 295608895 659234456 105547478 815008095 749489097 458322127 867632504 70156402 247512488 43357233 87804090 545561257 289599635 799071640 82813766 841299999 429217828 158484037 461181285 830668859 874389504 576323852 922062228 136468929 494880594 63799537 716533358 391238689 390659107 568831723 527476809 363976767 211509647 929561252 79052334 923486257 109552564 141865972 454912443 38302525 162134209 350850642 86505626 582349512 2668151 508359916 550805152 505233743 995678857 619917121 430632502 749680767 951393025 386960363 196011949 429122456 350633227 779773004 833487203 728747978 47409796 545629501 102359029 915160829 720721946 296224171 324717614 353729381 110140998 479064054 783379219 868424953 98182339 111789133 435043407 554081188 129170457 693717649 737679219 222444034 623084876 437699269 930325091 349689728 280702974 455669617 396269045 447738167 973454176 950118529 471801677 36549483 431643144 249398469 482937090 301598455 598409784 41471542 807902490 420616943 853440882 969568491 197601667 139669363 687806438 344316347 224606537 28015528 446279141 947855538 738204661 642135493 682281373 973538607 37932017 316716444 332154625 265378978 209721681 570243185 517299836 50286380 414152986 873756469 653150298 123306777 393226267 975789804 256277147 985442964 450871597 600013958 139141339 899862697 369753104 353261003 726031690 75024064 297176781 903723424 610749794 522602325 181783069 757313824 6391641 647801688 838702370 816531460 863831165 369540047 379931397 129001003 538568455 147793810 60962141 247192873 489370247 83859126 36472028 146044114 411562260 155477434 951794098 523581084 971767293 73660150 243285842 644320982 625208786 794621975 117277981 191713290 133253322 3423459 128488581 82726241 762064832 47745646 983422574 397089266 916931445 886294308 771684849 118083997 715718042 930792724 532823939 265352305 338303451 289964555 621515853 533577764 974306206 822919987 653413530 622116872 389097229 961135674 4087575 163293490 724060312 174967286 321742017 841950568 659412205 348679005 537415784 572113000 374086723 181856094 429303715 331455353 697345218 299618981 797508441 213910554 672003238 363489735 998157285 905990185 945868868 320031181 85010356 469316880 531561526 832826675 830000000 866666229 647248806 342628794 325951204 802893601 41629294 23418256 938734227 577031933 166323723 637273992 213023981 104136858 853811828 126953338 257706682 589433150 383870909 677609420 323542696 636620923 602612356 41256972 973189398 662727479 374086896 479240945 59799715 172354033 843995613 448779578 535564529 251622574 172803890 922622172 80420181 170302243 777640543 600671108 35151043 821424337 46389871 77058828 382880910 945094957 935424120 415438282 696161104 756304300 838212522 787683206 514547188 432732407 952163955 495516063 709244054 626507727 374776870 982927150 455206815 450214743 885914466 127408711 61630346 950365851 635818547 708684662 100229392 526327781 105658247 402849257 35733082 750226839 120726044 335620458 930470137 292120836 364794082 452085411 545183591 550073502 597966340 6443825 60309065 218504581 770755371 244561581 793865158 892244948 600742142 664046062 449643645 627729105 267448007 50008316 12183339 655983245 909330128 561192652 985327769 113415958 614166140 859837384 83851795 655151041 452357844 169129513 146366230 797200661 176102944 841026553 540333341 98039698 771839887 484622269 820318310 236236816 343874523 108439909 818247589 354419875 405581179 786293838 947137846 545765101 836866918 835921725 651307203 43545360 310306731 21392125 372823063 139529444 727806168 648738037 420948973 327794066 606209217 871113771 106918260 78074877 971314597 710412481 139814949 143004549 246923661 923765028 558873957 432800144 63258011 876526908 904279712 586449379 184741473 375855103 24511164 83079875 800840660 410830597 961426822 514877860 891231693 865213386 171238267 910622023 600298798 668001378 127468184 716368819 485187358 203112482 518096138 538713299 1249185 189164399 35904534 887936093 935680191 943513018 766610700 238791155 727102627 538490886 263035473 210773549 288628173 158391493 168641274 621511652 852257784 413617692 118575200 559627621 689297801 935797150 695820647 581399012 26706146 155696250 734615363 369683408 225631277 327204719 986477412 385713958 744679306 751707763 808085928 79461372 940985400 903389031 883254911 883530330 176030677 349040453 483059848 785381153 498060858 550981192 986487409 184067462 934603368 345535403 457674383 981764967 383620083 61375636 244559342 366770229 400085929 693566299 862043148 532640981 321042378 444229983 822474325 48734742 756727861 17818517 332586716 696190071 169951208 120261010 275302535 660639834 571075507 280007927 347413837 30345518 272816730 14580360 417907356 300474454 352038192 722525503 962023499 612941754 958642651 137283258 966168338 794024022 349174606 585847849 459014324 902398599 945978520 997667237 36474575 26916467 458974786 965695963 319820853 279069895 520642937 429496582 465398863 323700435 354078373 656818572 236980003 9141104 668889339 153244148 680848468 691150071 614367358 38982092 250831397 704689761 721232597 270911625 570266183 587943088 932671344 823308794 669712304 821028939 462693529 168974047 555864441 497749930 286426552 724000659 358928530 785313630 435207252 687857074 399210242 962760337 798114039 663127154 586176073 181854406 957548087 742004809 545078239 904874835 79143985 417986153 959270266 320516432 212814124 837787604 400483270 386167687 801016720 784047097 420143958 757311945 944227830 239952738 39474902 450404617 182070466 691639973 65238117 473203973 750804953 833959193 614960060 401004486 577455221 208080093 633400551 18572739 328802436 333422967 711287055 576490789 980580692 91308210 311420524 887166312 306495193 544505075 341388570 848780779 612314978 460969145 561880292 614011706 379663511 810155235 69180064 957549045 507683418 761184718 876424543 974692339 734422711 59811201 355519728 459054180 140358062 548797608 819399013 144197096 443533100 390848121 77259869 245683315 242540419 214591339 606096171 66304256 166852012 730339205 191804597 620722290 264202890 983015955 728498728 371559968 602969405 645800575 815402643 786551660 845029132 209891377 315493216 787030228 203951230 648980695 643878844 911864477 936347941 462669452 385842894 135537388 297972942 374263345 340976341 813292959 958942569 841744229 391009437 320729546 689142430 881479329 177062510 466335902 212157260 708158389 1886241 450020721 377497018 966528224 206498730 276654000 825848483 691103710 412821195 726424341 965322222 265420358 186050016 936671421 352783644 951835916 294157382 231909554 285294082 107447357 906834594 68381940 257312415 538211965 884144608 611113923 588859004 267323509 753001006 107090905 103617508 297817618 621586956 181847172 974506579 607634951 138761022 808185270 642570928 703111325 688613792 788251832 787874992 276460899 708649559 775353602 368215589 357952412 337278434 511654455 90139516 951295959 761356348 766632438 653499878 660279047 683446333 918224661 14217678 370424248 610271188 51359811 980615597 262144059 140761487 613808248 954052708 583752167 318963457 472922247 11239321 124993948 714066676 396550359 168975014 580123918 442846958 434042999 48881127 787833785 41668893 792380394 732397647 405220161 412693542 257022662 375362473 301173505 996579359 325902037 901782618 677891234 950602428 712457844 426037788 857254115 911167321 623974807 682836743 485856942 719616943 405928738 636847710 433807284 133036373 921422786 89221079 59105223 19884716 174996862 536648415 236269119 413507701 82726686 71128712 601770735 676904189 72756465 306982599 948332416 963107819 455164892 585940223 26026726 759237216 265229307 57827596 478619527 589557919 709241205 376698844 476538580 887740346 392894033 864041758 800059790 644226353 817078354 377011725 113174201 228007487 4695899 255009085 716972533 178732297 254138169 727392494 928222780 177042727 224496715 797381068 91192309 883844597 433773655 831585962 738268453 72851300 742236027 569942755 824991677 428745895 434456343 871125427 179447518 395425205 240585930 929532143 55734413 781711120 352774066 31063692 855507403 408980291 421906107 224792920 919129927 514977813 773021908 644484669 320541748 331122090 795791431 712204103 112340466 49813319 41918201 46892138 973423205 571477349 346672028 867747875 490921416 271163209 745501587 170984013 619741113 197654333 133256027 187479386 882511597 644235748 709041166 412521638 392676076 595578237 601994328 662976092 534226270 582566239 965537668 468287540 781637122 756683984 429811511 892767539 569877917 28032553 43116709 179773115 215612661 201285049 276344201 247171154 363448935 612517402 547619344 956188705 538769944 542186519 624550599 878184590 439494489 295915622 962081547 200875187 566901513 687398496 540489727 558128433 593504785 467474792 126743966 547464509 364727180 969376137 248230381 983778079 397196418 969151187 584026945 346066945 162979444 972574407 976361456 952889172 774157551 708933032 980736138 865596153 815039972 42055795 733934578 333573301 225047779 458954809 987494841 598481097 180777308 154799231 969371023 988184107 161499388 526241596 337765371 643725876 939931007 120745790 912324154 428505117 214956447 766117372 612290851 972447706 540578124 958879237 345517235 395273600 727601671 512243045 917744310 322610095 287307213 605567727 175179718 371353738 771761201 617485794 312480659 103678725 8859914 432192399 777838679 492906024 182614643 903218267 45890654 660994931 326805970 966290465 261644948 443740829 594428000 600949159 154157704 372105639 868122989 639221809 753754622 135624423 17395146 225512146 741094371 718931268 960027113 11253496 204131342 275334623 933233639 331846867 699475189 430926633 821945646 660272440 147668527 992208234 649195944 325022237 446965225 955418165 770211618 490018018 127307568 879976457 968233133 614151118 872998101 426501851 135951677 765819818 545054447 81037992 572263494 566082280 879029559 272032976 59006237 738893928 78134702 453744872 895974630 335163399 331352159 844690663 141998417 772918492 647331992 76733120 292012674 127794895 746305440 169510909 287315880 80994494 630719113 105164016 721645076 481504815 433794704 909338686 945236163 599618853 761154006 899635687 324590275 727407994 826500186 58086856 935846836 64500916 884280567 532285410 130194475 779540597 252005804 167807019 522678707 345511791 387699644 304490708 549094195 669137745 205307342 503001008 882701407 790457117 196483007 472631847 354919351 860728556 192836273 811126291 252724636 650675770 780219302 902334443 386355550 960972414 139036298 74165017 396894216 711609429 842950851 261759576 508979282 401421748 806373941 795988221 104800058 318748503 55010500 173219134 336711635 301370563 101683 165568084 129966803 14213552 747626523 936472100 693729451 219030405 466460119 762213435 623459987 984391261 747907491 733205246 786017914 182067178 258702209 626130643 836118158 250451278 982023114 728057390 721667658 503555430 387690196 735781746 651610002 241087932 247902497 737706917 788571658 935046889 241008611 224785993 211520149 396730258 339241573 799231919 970562905 178930608 71254612 727137999 476810735 235811783 519694662 785808750 697771105 629207400 565828676 410953572 16639983 492052190 595207071 468198556 439663475 341840679 403047146 371944825 905790708 795191444 227672025 119222254 811394363 974817029 456443963 981706318 739042261 643069274 435963419 801473113 182866040 56519508 978174663 959553356 867835787 690348438 673734527 683459456 677876259 640403069 592186843 674763335 932286380 828811514 236091950 73900179 668834274 918792910 957696720 218601048 65185648 296023570 663358064 439441265 396550634 203423395 502680646 189793783 87956079 153521902 922551682 731838795 471202673 11256544 842841764 7559496 662503144 689270584 8794914 721955298 651315148 17457554 675740169 724583816 227397560 714600179 877079911 10215652 511013249 61735107 78071349 298417098 28153066 116756812 438727522 501664826 665153105 255651886 659552142 10853619 561981602 136432920 835537844 202400912 435806120 301773682 128699685 927295584 798602848 484580270 36712313 996493649 524492337 570843338 401126969 633510046 729159552 172985413 152404936 760206320 513047010 491828301 455668011 230185157 232580209 908661905 23970620 513765887 40370686 150969063 245149026 834149314 476455679 540872052 327980880 168584291 738452888 301861200 638201254 30530685 494514094 391153501 592882492 806724484 365806447 402058180 824229932 168440497 119554706 877340718 93680704 31443990 320330466 343572048 855930656 959097363 797725110 95720894 793652968 802550140 339254721 756505205 261378594 340164270 818384840 962461665 530229225 982316807 15397795 488919291 801167721 923296500 429075795 659896476 950677324 701833985 887406269 660362022 592282101 845220376 663690702 963626492 3567306 748822466 483294340 118214376 99220537 488812889 954825359 732039695 940251139 254005088 684461727 311959343 854297532 755894119 857306296 175678971 505344859 744778460 104451105 418624758 863901546 425999394 105946593 819831095 893741284 567703721 638653693 864273711 523501458 116394172 967807058 568860952 58515512 459103221 716032985 89915887 776891349 74594123 26825898 471866120 568486350 261389469 614845796 615397281 26195773 484668772 83843717 505545884 183696429 167722429 937856492 826218729 761882148 732396033 853238717 477953382 85803407 927623078 709914043 290236165 963336475 533330167 272648568 601489692 476323710 344200856 148887210 699689259 6957681 167537825 852904522 694724478 335607328 36015651 904308967 427119449 66057456 943101704 965501827 751996248 875068659 448257420 382050671 23316755 257532980 910456830 570794108 398028198 326027552 771468078 365807508 562727990 118848413 169732644 711073547 486852942 148475498 166843942 480198483 898676793 655114791 463047594 578994270 313523010 105809243 838455886 486458720 262181068 204088146 723017906 833485982 15085271 441502667 87832440 476072981 51454846 331597362 325435240 175023112 730572326 491644092 944395828 700546841 817292087 55801294 565274539 561840828 674141412 263001707 755419185 458587006 354835153 279563674 794508044 831926719 727240896 437615954 922907881 734992437 101507675 278989262 895707940 253174018 32260168 831858604 20296022 380042231 937714656 595206857 735266614 931865459 947513654 951011098 847288810 614009232 653469768 381645133 211830730 515829187 128471561 872812798 348956548 749249239 647490179 416502117 144234601 606872449 59760424 355448552 901724553 284509136 84491450 731105987 226364013 453999308 29161195 271838408 545296554 103683605 358037941 992416637 60994874 344148485 477149579 838353314 683363913 449086829 908523143 46183771 89986876 157322502 541595347 849309694 477064505 752811221 175297620 189024954 121611552 521570897 715952989 138622384 642548954 318908156 750880247 139989635 81217596 249050007 84802223 743632404 258342876 642873547 784566271 323819511 948955905 810648588 381354796 627685380 212071390 503192512 840393834 709929566 978721940 657161348 589911445 992901232 230980032 736992254 171390630 409359539 741034193 904712784 866784331 669440423 690394584 12682510 44824014 27562779 211716166 894108268 650321198 18384241 603752370 800008667 298759488 701628357 590114070 519423106 275785565 815934521 519460321 578757977 935831418 134005658 388631564 241375014 941573942 937360963 68615730 141574941 35144993 229746871 915812360 352065310 685848384 962938020 786018687 857525172 201978609 33672501 28222255 178026877 189940057 419743467 346952353 656117887 948392309 451282485 118235549 764474921 37333764 522697712 123210168 717172221 556248704 335338177 619773954 317667213 369618396 66594470 440738525 571242653 23280249 940281902 464923936 447016115 156648448 75401053 940712220 769488440 223609527 743910448 375924851 361606981 371296551 345081969 474198788 577133360 948381780 665041888 91806214 561977239 850007625 532030894 144787644 279203459 180034494 318772211 154299701 517171565 195885705 336320450 201485532 802854883 304988075 377284679 616359163 307612789 177256116 450195189 968034841 802361948 796944414 734221681 488226639 778138278 512096664 553506573 549131037 165542135 543616479 259747717 724076567 144621115 9214901 794291054 995276419 264861707 824997355 24018271 426897355 84852984 625677497 321984136 941242544 683577493 216251474 340824700 225402433 73418973 884285064 143362636 406133239 712263191 290122550 509351519 556455847 656715262 707264640 515822959 66511483 297593062 64387903 582769467 636855842 4140665 174214387 810655518 310207987 714148177 125544222 338264932 819092292 811718746 680431947 582021002 887392616 788133931 563635656 410430886 866241956 966620071 351430868 990661268 773651040 349706887 196531565 513177507 762059110 861162667 6038209 40695497 912176448 85680609 669923059 860981265 217318577 351308283 308760107 717227175 245666156 480310507 52812354 175480081 762026972 639975598 405439959 557060708 223884090 527895223 154859082 965710345 330821831 904309824 70585546 723424621 255721055 776363319 692767208 989088418 471806508 302952328 906277392 276220234 831712523 749513540 791536370 631359582 879807676 340599420 874186906 207935127 740103900 803909394 790202882 722995179 697835933 117160429 997668577 72056577 432472626 906061228 4006554 705290098 818212872 742445950 206173813 114027832 799370434 207027767 193699860 170419385 463019374 368042046 849414634 509339833 313798596 820450908 507613684 338154934 548109017 334415403 357559913 865368897 383215093 17335644 459157389 367645842 106192787 856105881 233105859 755864404 722875254 226833730 10753355 96107634 394227499 691213308 420905062 277527239 984647178 322604222 26571655 647710845 626126981 55440072 257740902 888230253 514757523 94869433 826591936 500555246 285621708 295283879 313426624 769678366 690308856 663709122 903079169 551805882 161161239 337781157 811359696 889387657 983300529 796987706 536156986 214101367 233608804 120159230 102007596 522270129 741983667 357922234 260246716 621785532 272092784 119093825 98116124 965508322 591223326 972697329 638220528 988139894 838403206 771751053 397129671 780354064 284804533 867495898 120355463 920187009 468721792 20761480 929262288 279628234 144546843 981561587 617222093 28099552 146056143 771720095 295800412 837278190 260878808 982583736 456663419 499077637 415139783 208723245 314990133 600829204 200622287 169227709 136906151 144800622 130315427 237079212 249339974 253997573 182742501 486124345 336067645 215598442 597441170 137961995 346608448 308461557 885595806 257445210 733375906 860587163 290073137 800493403 745193304 112047831 749553270 280999678 640246170 324165758 540201462 191088299 281234805 980534520 520784528 419845574 200216312 139204191 383025704 780247414 138574684 235562961 865065498 971127355 155846368 463310895 362841479 117978784 400700519 748622841 245367428 319862903 240067160 799560204 205623166 337158922 329988501 842116641 564188275 489787200 76004843 647036767 88978675 610103702 235668717 595919881 739333708 729346000 417215786 415488345 240181558 514885397 796281270 570548305 563720063 968577467 476095117 568970306 212494818 706072614 311945050 174348569 47485199 661613224 813492838 683000159 52702792 107743313 206524308 658939617 772411888 585641967 441722887 155762661 8386334 835115906 576197105 510189846 817115633 636335229 262349604 597589650 2464116 919857491 361255051 726058985 147680199 319504680 186962204 346064949 642469377 377148636 225072460 651669575 276014312 152970976 205061002 189985053 667368092 918171779 635079120 55110432 381440693 386560729 918186494 734250415 787897002 927041109 432230953 887727588 925608653 623702468 980981183 539877809 898811544 399789261 257558807 438324616 746136374 316243256 673234551 463026574 243760721 737537848 23589184 80817609 980383556 215583179 361176305 173341370 108574796 653501324 964419808 728415713 661006189 157906323 924178804 722389038 828068905 955063744 237722734 982345581 499108734 422341438 433094998 953793661 921341494 268125547 810967713 796646169 215436282 96088475 881008717 274143872 657221616 848340805 109608347 95686281 18325162 191468222 960776945 149739221 554805886 394101868 290515004 128082424 24716741 142553029 677255543 857371259 334215863 994939741 607363001 788078099 40613958 145080931 400689973 728112848 623630064 855615816 591306083 818241460 5064611 933366103 512758398 716075399 83810465 143854705 155556299 534898183 642082806 572700211 194073378 759578911 939790378 142240623 414357933 542753101 166837992 584445510 739742261 487979015 26357727 414875032 727823684 493020501 357236459 431830706 488332276 974509102 217542126 183840519 909709725 865571872 527820793 133380969 985060607 540517579 171822471 664659145 123122859 694020635 612913597 479800245 453747588 362727488 255812409 690644350 179380236 892614320 449348014 663403844 5825053 316672328 211587610 235116939 439369312 549055128 686412925 900980589 797108043 938707596 508611382 494495537 787570649 261147317 525600984 466406707 595342551 831335644 876421596 609430816 773059796 555679912 368920991 906512490 497932274 806151711 35876719 869548012 141223991 659967291 150770951 972359216 660213360 567910268 638029452 239248754 299037425 580648231 117429123 958463535 533715813 907312736 56146063 883814126 741387545 686874291 82564582 47407174 441471663 732852306 988121860 885033365 507785061 585301453 694769440 101075991 213969640 348214350 243010046 402026733 965081447 35771109 661767872 248250578 999259299 412897836 334285058 259429158 177491879 253753125 786796750 708529932 790046248 219195785 49438701 199470550 283012437 16226871 70739642 841220516 161171418 601613584 691805492 520110442 205588280 551484234 143173919 184888341 898023210 524642047 836898515 826829644 23683103 627214668 138331207 147343956 890814561 741606997 709130261 455943665 845353997 356456678 419479101 343773849 878815896 422327149 718863207 872697811 695185063 773739796 897816385 601407953 321582497 12028644 662330466 869877230 347956422 566546159 554092868 836316945 342652085 253626194 395967143 950008620 445766062 39276753 636926394 471208785 298493294 289338317 493205607 770585802 607020216 847045060 167867416 936155673 621209284 324595925 521277327 297386962 745235790 327462518 304140413 521267303 617526306 768525750 154998945 220174442 974804385 78546657 510584249 540216328 13383468 509337428 784570614 724743628 918397332 616628249 902359547 10189915 459858172 780865417 418133628 192557940 76323772 175401534 631714885 791102104 917287445 978060617 760310295 346267735 424995676 986125084 728844388 835486964 892984095 290556333 915347569 611181007 145396279 587347118 699648464 533617332 325272004 959886926 927387848 895818963 602612275 842303670 674038884 22388070 1884960 389385664 602906454 325709818 178436141 276958417 469174783 229350791 922341890 351088662 455456718 200413055 199613597 41414092 41721215 723724236 503516373 223730468 397143496 767637818 470159606 696499611 207421637 74647262 435679427 338962627 530601300 401791209 367939399 251669046 616493576 236163457 687653025 590023445 627937971 269281535 476124198 33650527 262252824 733839687 208566686 12873947 636771897 935680074 805291661 521219066 643636334 475778911 589647996 804832271 308439603 309190973 152267351 423136678 566204896 721497767 46471264 641392634 443209922 515057348 896376378 228035677 997458370 553641297 586846730 83365295 177155001 370452225 163960103 839870988 96074843 953051624 675049034 621103867 867022456 907390149 645035900 718012433 547145453 628510723 413573042 312404990 67484988 156486248 383550797 259353822 948959944 761834598 466264157 729421134 554061922 226354726 4560255 370411396 388476135 879821595 292128660 43347215 668288179 809243199 568116789 691806029 942865772 354714050 390803335 162347324 597556729 531837428 265395090 144867028 352416524 988106854 549931814 449006210 598282446 699092452 544955049 80079804 954205742 541382067 306011321 761786117 508511841 552341099 651879061 542818378 714385050 729897699 312947656 295812672 444906002 659925444 316234835 240067803 510532903 186654821 869248829 908200161 560108518 697285371 59018240 208907871 686714398 260210403 692595523 403328981 247977628 206186109 957946210 448491023 416130878 552345176 685911335 649590175 851698001 97125526 52101385 837042298 510872037 470957160 700920125 951676243 903939659 791770486 291183711 732401186 713915013 14810522 270122816 802991457 661127016 528685399 858907015 390181062 768497750 794491857 73669777 14631698 457659391 504848542 256324399 423072532 646802287 331798454 9558283 941373820 210355154 32093058 964179300 89971500 809919112 882632007 509084409 502578960 763493221 620070381 761337968 506976554 798415211 595176217 396079307 362698226 333931153 59422961 240807690 654088919 402536 992168549 786098631 508814864 193354024 700426138 973875706 859875564 331055444 434164395 554272400 248831129 586466115 471768569 637610124 208221456 405958344 327822556 616115904 346101991 201532376 265211505 903099157 84063456 285882619 591765244 586575941 746752994 836660749 278174239 895577089 17988757 608373937 513716394 99092019 820561158 515229626 349554211 928318081 274506557 696085584 621807126 669347770 118200231 113563574 760616555 490041787 967903277 165237112 720809755 414528149 311123314 83636913 687660831 733799807 835062953 741660268 871740513 899678298 690811017 252247919 790599076 251171710 394100845 344128075 127497384 203199236 783447471 179328956 742394488 385433888 5161582 604325044 509255915 859362025 901972041 631754270 442001369 536011026 237722932 932591117 555798607 343404177 883031552 877151446 69572770 338895072 790983931 692988619 434789765 799397335 722622272 20376492 192913785 133431097 266690855 210699162 263709268 936035732 534376504 348878357 806481085 858632323 369802384 103097620 61809517 352695835 712017856 604391300 548550144 444042629 255435985 53909199 558526 848925631 384204209 303034182 56386080 831589224 273663100 804160650 831480592 525316074 8641592 792795918 382498786 698524734 679264142 133542128 822977914 423632149 851385248 693302459 830315900 427517276 794714712 260161957 935975719 9975399 157995300 231821378 150205542 27689083 52014550 848113320 20081663 189310164 680874826 725840461 416259968 798052559 872398193 682238777 349224495 533597724 404602873 648116830 578625660 544583330 27112225 964126372 21575616 810037247 85581119 87999790 564315438 990908987 61846637 620388423 636327253 467559261 825307223 48151504 693762326 742624311 266878950 988577643 900497131 604927643 237119606 87231424 855049610 427524209 572729473 748186840 112454442 79661067 991123977 178071111 288458842 860401297 89268960 914119042 190413788 955334774 617682457 214060083 24126239 110332764 283515898 787683993 638341042 458551205 531026381 88419755 957336039 251328211 426354330 4765671 631233426 981931903 171779405 46037046 841452557 328150713 959073536 3449228 53042306 362782308 403091212 920563719 775732708 546961093 492383821 163491437 561113601 226426087 835230590 649796990 252448250 680257285 25794791 377459069 81960029 201147094 952949000 696786864 206154894 234118375 300182102 631954913 975815692 76955822 431068106 338488704 308291688 652432520 77094146 779455760 917950079 661710712 5318422 24002395 230435979 809291379 953463911 457600362 733950689 55331252 661093653 885896746 262593010 104189408 973306393 416407893 808423792 790347749 401312611 979666684 973875259 179447288 416260319 181278421 795477464 876600830 962995054 393573347 191532582 368377903 42444634 300745495 467973861 106525840 180319331 391843014 832270293 820627537 629852111 457305423 94904767 823780172 658580590 283207188 356833165 300719446 102808746 167345860 321738758 765653979 168739643 622994102 383442600 752579798 454566934 368995043 565146105 31628392 797932039 597966480 922913660 896832382 554826981 973530449 958107614 792883836 419566485 464992481 513208278 118592765 112464155 820003946 136171690 442164025 733785431 764140034 676443668 664846373 707218158 106383597 64317501 381076070 497605059 291455573 174671050 718202862 2532111 94608530 977755116 20979597 873189825 498669205 681552021 689453891 576689041 715025986 522937534 629474544 76628867 800209829 407607494 25895606 492509 793526409 625319941 408424604 336173048 287107353 464336649 782966804 125624447 362003350 829532370 652258542 71982267 297262428 53837982 204836203 832347758 725726801 987883025 380780385 30768200 77500099 560971585 799720514 157240466 394338669 52908919 834545901 568264776 962382795 43083351 509065445 518295600 812610745 284854278 448956230 520588957 218311781 467504306 781774294 589508977 184308512 696076544 17369804 535083391 884897058 93328629 907436593 194009457 363468718 267524574 199166360 648099875 919957278 549635217 568787114 783049769 816072344 408360490 10103102 952834099 954222011 588118688 856044162 25153793 928126180 921009814 748829948 8916553 764660316 566447032 616352131 230286185 346918074 453671757 160220364 697505145 507486509 192591700 173024807 852226397 271898231 845891963 556253244 411556108 338482888 3271175 804495166 534787631 35069176 418235002 277740180 30482573 892376761 128935161 539325208 210497283 640525332 908478577 342720046 77597563 843751799 7363775 349641408 157532849 732059392 801417267 52401220 716947947 629755061 742494831 72694126 561218819 832661390 572731041 829215426 754514720 648259502 987306582 634690378 775504092 915260182 664751254 611361774 934890284 910798805 852209212 191982783 301743612 104861443 8607492 279949032 482574262 829197451 956060576 13363527 843269051 275319931 316127663 41290592 695259377 844196641 712569417 577223181 627227401 397415471 572231456 954130067 587746330 716220926 844749929 702243922 492342480 945654229 701700982 392161381 88224480 522388327 685637944 895580840 448935750 524214736 563053459 60193820 566552349 16858288 213757183 387500500 131429651 301513302 620437521 26765999 47185528 479467701 272451071 57392532 680750413 278210265 698672960 846523333 156569365 91963235 5606327 947692007 86559814 931068572 998003123 158669457 780022998 682010477 109180968 644188501 460980181 649621168 717133160 204983870 38113378 715671548 548053510 309134077 366774767 76600786 658013596 351631061 877271535 468975453 549334362 310348647 271942398 51532011 637457958 978340220 431944809 996949418 965127448 303797684 461817205 348693668 993934641 651219717 374557506 215914179 676196121 461706224 733164682 619369863 136180879 597459409 299848093 952212548 772278695 925150317 987424106 445965707 537246132 473216612 496740495 689609982 731438848 115907974 888369736 600494867 120412108 479483095 582133457 130547197 446833522 986351138 649965515 605893081 3545310 446621422 777265629 693698470 217612255 643823555 8197430 99090082 510316632 688424981 474082142 614187500 571952201 488723283 478491197 59500174 71816699 756323789 132750963 255813952 573426915 943645251 213769684 993114087 892912397 771618170 237981013 928620853 346042660 949086961 439883924 256753616 22520771 346501679 148339713 217005937 273694627 927589670 112528655 63795856 244216526 647883709 533980422 482204155 269429831 67529109 366291345 151526112 100408269 921223807 88553497 927536865 829692659 124163707 583772441 94271170 348813060 638759270 82149071 460088363 199739830 16706847 275242703 288257227 452798110 138176055 991867865 685944334 243845640 328549932 765996829 793727858 741040780 809303608 931659217 360635342 41515214 123084945 107413606 774522390 258248931 217216 168294613 937291354 103478423 617744934 593609148 241759963 651959110 606029015 931518749 153909531 354402257 903411399 481704365 730417273 91019481 45866985 920603577 937342765 594268840 645447092 250838293 85306544 483752587 790313354 359152172 542536864 507943802 470590979 169597624 987306194 371091468 972655363 969178858 466152646 145278345 168307853 471881328 305872204 629771525 450936264 447101264 530651871 297613112 229449220 570438308 924371337 653659092 398870844 987955830 327734806 512464783 741563596 820530728 788702581 11209786 927853357 56206299 624439584 192538236 209862369 998739884 108765309 856797932 898099702 639229397 723647002 535680957 527641847 274362647 206831342 46858733 246327511 743711040 773882557 574844165 721621221 165155783 153574263 430286279 841916188 877120981 983878709 559818747 256630395 474957532 599273831 821403103 82784097 187485857 919813572 329518441 415256989 698201859 653500805 938542835 916549868 287209332 984011946 291537736 359680496 697984672 367513270 229881823 28589318 491627544 405235854 935448863 677266361 403030198 125154062 770873498 422565657 272933782 878810700 460283483 200197875 227521840 63908075 717786215 412527506 78947916 323130237 112558223 93380875 313884397 136635244 300441450 893292393 820014374 525774429 296958493 343223095 982571588 498129030 961269029 818593855 640830765 274753561 181121156 556779928 571755913 5122299 554614251 546352344 728844910 480340565 159018068 795610559 728974969 777992931 969268236 431734838 283701709 4928882 281023111 643640240 952963116 778343308 189630942 840455653 880695275 704503692 215347513 827643579 131583886 23354777 675611666 817265832 88416 28814769 33141697 161083423 458720419 192721159 168537266 617112623 561760664 286037748 207956382 955836175 413070064 607352596 170174952 33505017 76182546 666835592 923912173 895534103 756512418 66368872 462809842 344635583 2970881 981769090 771475303 211456353 270503536 313144532 514258148 584197203 387306796 656610132 79446493 775567277 315393678 679035016 195859200 532949334 840821331 935449301 785292312 286780423 696609980 74661666 409367138 255465901 709688109 946032104 940562237 631362288 147015425 807660187 343710578 367074217 839868377 364139295 245819059 239821141 552218839 391596040 917162600 299040890 225249502 294717575 885087701 375474335 376681141 261782192 467977765 14997213 717375065 81387427 165850773 912759955 929071045 842588629 136877101 674591450 217281 740330721 754618852 908766086 180251790 224312548 107531440 422228107 187426486 767910171 469452213 313959822 399151515 515763978 172511968 875742771 791667037 486329144 419641839 949655300 399174367 176520391 855541799 708680795 719158596 532615485 393132161 459413693 794826838 11946626 341285805 576534715 802760113 318831480 173000979 806647529 309892785 118628828 818883887 873407029 234865648 236897182 568451518 371659081 227073087 50565087 678066555 916299845 461086611 674956496 785333657 229519722 474648492 926568969 358168280 615595961 361288516 640517125 575948170 757639053 150396455 282950309 879385995 809721650 678690077 767025695 88109656 473303074 397062916 337713297 895497831 658437749 16244705 450006682 699208146 111305815 405283820 167642782 460799538 99794799 235401791 972121948 621716111 174606579 662713051 578734637 240281019 967947052 396917105 467968081 785239157 433845636 996877965 483879676 690231124 421369095 919532353 734975283 933001291 685691574 80398222 715699778 363402592 539627516 175418634 991038755 440993426 520587758 99611614 689592584 236411425 514387692 952629903 509589677 231138585 611981090 782970660 438522240 790088457 619681636 889381183 793176219 623429427 152700435 283947492 303559895 741735394 95443797 209155908 977610907 128607151 995423128 706164971 535815172 801119032 71252564 753738874 390477337 389837527 631219656 185840382 422830294 899291460 549457670 8747865 428483592 932794495 287670574 199759867 86882118 500802392 698247103 702517173 295428770 394033585 996720593 731310267 936080036 973745617 698244747 965306579 146245532 414555401 667840453 464611286 872838463 291913489 975810401 602082601 889860704 858043283 172078667 594215725 269593930 989896231 587117008 396142573 127721249 206023456 878945954 732790797 755313556 52384969 940292399 388118163 70101145 172725180 489513493 56935957 16250294 537424505 801257943 503605332 416363514 872772396 274580954 627943797 650281031 619548493 861092040 553715864 457993139 284440258 625970907 622847571 400357101 64564869 565853984 897366534 18773132 144959700 987533766 105935842 656473195 44639344 24720061 800035091 840381205 143684402 243188698 583924378 771460901 559822013 375395879 603110939 354879590 828638534 347090378 19941238 889898498 362961296 190192023 664322259 630451165 159612290 62746391 458540476 198740893 237438856 926354755 939199899 994683371 529950730 109263211 549596025 945364235 876231775 560650954 221674655 238672481 74219531 890799414 778885400 330079003 894010489 802516140 538952506 216954601 29649451 912979868 416309315 822126324 900227775 435981543 733440806 94847017 449803774 991062050 400026102 650430144 92603307 454254688 400133741 20565002 117868219 288509553 100022157 363352484 346079967 534692086 659804909 493337118 872141328 907686974 534015193 214130441 988112503 673990112 447392552 630536108 688673597 336849812 804853461 556640646 971564876 571720979 559491186 207742596 233617842 948158762 72772147 546902041 252004245 619110615 935030153 830959914 485525492 215088393 536876646 655136748 968979284 569403586 267409866 506425525 533610384 764032804 784815027 925399069 476598338 764741882 516156293 936014154 106958210 818831596 421661743 595109871 575983336 39764337 854646854 578909017 995744162 515582201 169561130 371520594 929241405 629245953 159773744 27761549 979614971 890978699 706132395 354415634 672519745 572453050 811812372 433682898 742384029 103345683 193556825 351460351 387022249 9312304 730254522 509786931 316354996 557579952 809184277 809446336 462556144 843860411 812011564 74978716 900440571 80928933 475571170 212248699 355184381 633411256 711146821 445832965 981615272 717901230 825781468 338802076 971225758 978124049 817283178 5181521 252407196 844813893 548880156 839701029 485405031 288970500 99528711 119419891 747650628 697051757 10877092 218689524 570600690 336915262 858941620 905005531 271372896 869841742 361125309 752774290 183503749 552683022 610992754 931717414 743072039 11564251 491652093 468931133 54901312 288710192 379791431 401265273 166571384 711211471 611322233 385753440 236961353 962815760 654518464 248329012 33265861 422450951 139597266 837654968 823691108 423679386 113049295 771528561 646409465 31246851 693333451 586134476 30234853 529582394 819235756 117916376 687700867 476074821 675281893 576312614 702717934 465286518 938392648 791702390 476032364 827313507 449843652 73656073 985548001 87160551 503080389 267742611 575037915 402604081 710249107 545633489 619504017 967396361 330808377 499629675 699152664 749586096 130095861 871382905 53948789 427582690 534637625 360804467 866901685 276473602 710208672 240170674 959132363 372991757 455165248 281111651 901661819 637351763 690864835 328662496 219764445 873063252 982040749 378802270 515915862 642717765 1375061 731840441 245566379 686885914 101357701 221942951 61156004 375083072 811257796 553481169 334915917 776956560 380504835 10810047 957372219 566105201 631695250 351707671 645497727 254650887 533769092 923557116 85544700 461568166 687779351 361041485 877508050 199073231 583971898 563040571 134052515 529323094 892229609 826429450 210152271 656558106 443050034 718519035 214932371 553968604 944781446 111234079 454794219 254580895 500731514 561199937 348214529 252071805 140129483 166039439 635536956 426348712 847575216 33973500 172365276 634371701 815892282 287388496 225587233 435994331 845946516 211488446 715671153 212458599 925076323 291666138 423137795 269192794 878073433 720053772 200192798 665471722 750924383 948478175 127654474 237484086 921494778 202618713 605871317 263828046 800415168 335394527 342962315 409917068 495685334 693186136 87611520 422703307 233181241 590405345 392093158 973478753 473080527 440603807 252399695 748720385 858800400 458617065 173174371 374428652 357396672 466166337 793693564 507339732 539659245 196020003 321805782 907137971 286870858 441856998 729342686 562028614 55987493 707325673 726114040 481737107 218975094 211616202 703030274 873940600 156711654 535047962 592599876 892614187 540179517 243387323 281742035 212145241 156950700 816087463 900850241 139647267 546771128 871707150 678949018 593473897 382002607 471278851 215095936 31789290 701984934 256664506 134964 588795500 290173058 628613669 801169689 508759059 285769038 752260218 81671138 138189408 184862102 403789761 862957972 245800783 23452489 310380968 158964504 112846530 212981811 96836724 656986382 549188657 503146940 996285273 875360783 559184660 556260956 819503345 399589619 525518926 221863984 772813019 169308521 347194724 258040535 974959167 371505590 253726905 882986061 77787692 949618627 280904148 771481226 898758493 755453382 679614191 71408190 757741920 598262008 618240614 892827963 430280041 77169351 821181430 310455833 31807957 796033974 615290717 316528172 3913147 396561299 77108088 425006838 755752589 626974253 636281731 574586450 363637394 463619956 132889374 63478564 46298699 834443699 650070038 605764818 456474736 673911998 709504751 429755287 219893705 967303754 53123050 276193645 689179737 321183966 374809831 181849540 969025548 113977357 742235986 842962994 10321190 948415555 669178928 456567234 666657934 870751232 937029688 266475192 807226080 77907709 712970230 738024520 194809180 578695059 719988556 831181901 999172657 845416370 581447451 347677635 433191800 839218283 560812966 464539797 389175442 470526472 860158512 938831564 861903055 667664317 233219566 360162996 941416298 475990583 872103048 762245522 343088715 846912659 906628338 28411705 466079981 915773810 782526085 633446407 892551665 618351365 484164505 473434244 700563805 921365279 66579423 288578524 630569272 109076432 307623954 952269352 119716422 612906761 232528162 927011755 136538552 862636530 397972916 65943439 814695567 696744479 16599953 669018688 274447935 85488606 959623149 447217625 285656428 486207885 459926747 346545238 471949516 269753531 967454884 687659715 712942724 731387752 728311004 770591779 568674792 506215491 529115989 398740402 637055174 784177258 115539366 743352687 517314317 558765241 336348186 527053742 582824302 501276672 155407108 756899481 381924981 454198342 826695346 542013962 762770182 883184759 312985137 864072139 694228747 764650430 197738694 989413500 495633636 122093629 242885011 50508139 151916805 942427550 21087575 356175783 866880675 660458900 321969580 650332762 874408353 417649860 737680899 686313818 177976017 401843360 501239077 272381672 166276498 991635200 485592572 953643572 730569408 865791233 24703713 881486440 36063086 351412113 346344717 959038635 22690579 128919886 556470244 913758496 442217459 138912219 62461504 642301925 900098096 361839162 507750548 444320472 903572832 645258142 896677033 647958189 94167004 318603119 263597614 406309792 500076929 847946877 999387357 777910372 797018106 110699907 400456505 119114567 566174705 186754446 762399699 365070548 798158983 817078386 721283788 235222063 480946172 599674639 437092672 353029686 970624179 270869892 215444203 518912173 449589122 658775408 509248176 935518296 21577799 382103366 110083358 450242422 227390520 219138619 154432779 188038659 850743924 346693845 714037046 362144882 144895900 463177312 581670681 830009958 242040245 729158158 748395648 947555364 560990632 778369599 966069591 682337875 824138591 906919096 120585438 463900704 120675217 305328602 910981895 3518812 719713069 477112455 801878910 172930915 211682383 283664434 457405583 619787331 577620165 180283429 677549473 340342875 438363489 961594942 486528413 608052776 129464492 448799827 285799978 338626925 281838675 253684414 654429478 697920334 352047747 64311617 755774153 400911307 136778334 413617611 243249389 103670792 880183326 285978580 583746732 205470313 920840315 653624527 988658571 879528698 895131867 979298812 942194755 590484391 93599019 391346196 371097852 610326905 499152114 286543525 718820534 326679510 301140674 222787555 105389426 284029703 17156823 848524239 75303306 488071680 196263712 171922325 881083590 768329618 986146936 4274193 680749270 282530829 208939591 417419878 374401260 521942752 893814994 928757359 776147824 87927629 704800640 680627545 540257756 450336318 859618161 469868362 410604449 819548746 651051294 631363773 232345447 582317642 293240888 625530417 418906136 150948916 73563864 376041702 282442585 757298749 93853845 764752295 923734015 856076617 946736201 478720915 835281010 835883117 178536609 230371833 200859771 200520855 811523350 188418768 936979489 413376754 96277289 740744110 680067471 50397656 63351722 338245948 615306780 703064353 566064041 886721549 218845083 928710201 944211305 670712385 106836090 18413628 850889497 666002026 134600690 504057086 691106058 23409541 353308802 704039948 679511487 379151056 208564254 903309400 210681864 56779198 899342126 462655659 723406405 303577828 34739095 91426760 418653475 667341939 896823968 453975204 124156582 162389491 273660595 616473738 540520253 373542547 851067292 61406775 206018634 589834339 622205017 965834241 299167705 185247698 582480327 783822689 518551011 335319037 658631241 692650039 787387738 63315616 215667347 818838955 795589492 371633833 615044180 525260412 747306010 61583543 594458286 40575446 657422265 270500187 908143912 427859031 189525773 45212267 497178225 454306734 665762256 357858671 975761618 717006941 819849420 157869580 334925191 770464296 451884343 226221951 716029258 699519706 125190368 214169648 84976118 243245650 222818525 428008921 171217349 788881953 873886464 847179408 408281865 513737653 269537352 371602096 981788007 105227907 599387112 485681655 174729022 495327145 861675818 327798544 105980102 174181066 902229902 137823974 736063510 962090803 683403328 447507405 49602847 668207644 383693238 47831525 11637518 313570619 844194514 247084772 590704903 777071169 8601696 286541119 887075635 745902478 86981295 589640555 578573129 470647914 150014991 569708444 504352921 222229478 710194466 208771852 553947353 513696282 315486422 797228083 810869395 575005982 312084231 218002141 36644248 166719173 706743586 563009384 935974647 352035111 638499443 713429398 77034659 380694533 642397776 587345892 939550055 686135891 371114875 975973141 544060359 50992942 712632713 636117236 701614586 606969543 159323068 336234611 396289534 387443849 747727308 55726295 914544773 881456606 435392385 947321163 142821975 267092003 667755444 107340247 238206387 794735712 734097369 4066199 84281933 397730431 657539827 553352575 376377977 457485152 745398233 571037326 887609960 681575212 699093898 645126133 562710251 441596048 393288559 493489502 945836763 176735818 444028453 877617045 408907362 397656107 137897064 541958309 831521890 514982080 39108051 352044234 167619135 382923569 801007131 911856034 695568011 162617838 195997668 808509813 444778393 912434091 548987730 409245785 371434875 822632673 72649382 423262287 680034060 316848514 26044338 32527182 977180348 889782387 337998609 826580302 371039366 217599241 365353307 227567520 271602392 79699070 284843905 601276361 913903515 905943724 110336499 497190837 530910423 223743733 917048861 218498874 340416906 754020832 271358664 719918262 479201125 665798711 206300611 975746521 188407895 710768237 652278595 563213733 997621619 101838919 99676627 294181978 680986262 602316870 624953376 442069275 537812758 95232234 864042933 90957959 157555468 132599433 625292435 57189907 612382153 613886768 285916834 645987879 294145371 600167291 634880699 997991508 747396911 425324529 792364126 32510498 519268230 328728600 570963428 622393676 332754152 469549439 710172236 71423037 150908044 134667767 748561500 805507687 974971328 221312451 815568851 106022638 968661058 920691937 471812876 968682416 690407181 777417493 716896617 980372114 468889139 580865639 284956944 403862390 573677631 863060617 911735033 584702139 181306082 939397623 926424902 142834797 746209731 564617444 370433469 612481653 209732564 725249634 395246586 955292912 967389096 183096785 775092954 704039146 648391354 845041319 703863333 113695292 523645458 652276823 485203152 225735594 929372449 112403898 142973690 52660010 641339808 655243961 89331630 115395161 354918979 218494141 897264132 279405870 656525760 531415645 504283486 728936423 176234298 815473555 673637355 573103098 105226248 392006721 23941664 517053 382890425 158153116 554438305 658815727 709823082 995082318 679865484 784016049 877704091 285193340 617371775 346646306 150202413 829269908 394874618 474931567 887082557 675802413 448539304 740541580 949306342 251534714 771226539 131247080 863124543 633431075 496800095 508110321 640214478 462321030 489514209 904922563 857190112 225579007 214649883 295173993 214131162 600659295 711874120 106960410 338164051 313124981 211655955 934252973 543583824 99231331 604957805 325495431 480462208 810591320 859191869 788129182 320488026 144342848 735503284 588516759 135720951 82273298 705544246 729677153 33176656 903977416 458441964 178521728 917287144 58780291 978892843 61399214 441830206 547013032 990600825 161964579 930178776 757114710 908054595 995442796 243641644 993492281 179945978 37011292 899565131 205416461 585626393 552034740 31886227 174852428 470393632 213272970 856405548 900779845 727640246 108165933 514224397 573799212 221837621 836860053 887141344 87468291 9203162 220278937 457843369 599457629 402705453 801911179 938469962 865767488 265873612 859909627 717277039 884425200 794706604 307216997 418405910 828224323 640993108 523520720 722929555 254443821 90425996 958842618 183943309 816978759 837388477 210473966 257336069 315200962 833581229 110236998 696570000 359338857 279246728 886290103 720540806 356550623 446518388 648351150 12132304 935954174 655644808 738848230 592727310 135567272 942405750 398888966 872952311 833590523 336327972 224642267 222784872 883343513 336148622 653327597 396129245 415629488 113244549 748916713 990668253 557546069 238224371 683674411 702581646 418379988 891962684 402185097 842692075 299675416 4490624 726990257 810798808 988992499 735444495 162699250 781698466 366100357 718406074 453643480 449044762 811800230 257053055 30090283 40292003 919530520 50940752 82517990 125327527 587155819 407314917 481269046 566481259 73558208 250457523 320894027 341670326 157959487 384886349 849129525 596502844 623097278 995261664 158038074 366823803 424234508 833823460 181337873 616870193 746656598 806813693 719521751 333768242 645863504 413952992 25444644 692143285 505751445 421277807 760865562 292559348 852157864 47276245 860974792 707826781 404316476 639303585 989419610 510838668 535603013 469912302 922882714 175482903 326405678 749758665 27905737 302176514 289847619 444824969 700795166 540595507 65021494 887035976 447124658 320760185 719326910 381198819 333585476 833795292 549570330 34385444 359092150 540603273 861649227 627534524 24429773 141728282 453069040 926321715 254191902 289080916 480110558 814132110 800170278 963337952 861624391 506811874 523764714 960511587 402217468 11476200 88887871 271769208 161187330 391207876 48254027 616884370 53482803 638641107 152160620 490609390 698334216 850869013 438392365 40594510 181292521 781986684 343460740 219654133 591885077 150657270 900938493 825394448 409594304 463005728 478538680 243969375 143334576 983065197 843856304 794289730 597734578 420308623 399246732 249810034 889192359 986207407 139582994 143753009 64612186 488227165 985544072 271969914 356858581 73439941 851735737 639305489 984293683 766789313 248586287 933990878 679015734 382475872 651006230 901571079 804181125 861516843 358995836 130998989 900398939 891007802 99463832 31025252 509991673 23496835 717657475 466212059 486792579 318723238 94531522 767422834 634242253 339787398 152362666 667268107 843669001 126085085 424790551 698363889 869866131 803509575 498245076 578769450 915349558 244704572 819727745 382038911 868062873 765665277 937001132 622196758 257769223 332130706 4808625 35060973 201152966 267875103 353534082 659524480 353188133 166834435 599594388 860589083 236887075 238839763 105343839 792068721 978805468 624688449 288827640 151008546 584313229 898198482 443931724 467471297 752483407 824837867 846564873 588221116 103734966 708459648 234517653 576442417 478173651 311113016 11926465 267624625 371002334 188032898 857543517 129616872 612522318 995069846 511236292 831713949 957096980 961705122 133717329 332905910 922588526 400213561 106155495 21457745 103156316 953962178 789533275 94585417 923312399 149735552 267160962 993945740 596700390 819709136 219374186 744035348 675553782 437151802 203245973 965768777 413935180 470137763 372009001 511773940 757475009 446470430 949156528 858524273 793407509 818240637 590264435 543803071 689551271 218711271 193490286 989451143 218594739 892071182 359169324 6164510 538415616 53937945 946568227 87190721 998050469 560683114 172404731 546505821 514922277 189001537 844325923 995795243 627037889 612548460 746231954 684182182 317519270 647405671 797351502 677381507 111841341 585071743 468996654 643395349 597769685 589910716 294092475 512908298 342299510 176063122 657518652 405092858 640017045 431151238 55352876 106042218 226783127 740702453 20968361 28794858 812735544 272856581 79899782 359950801 739197328 707316409 436358694 345128625 225266945 312359099 984839417 279068756 626195241 877844719 35802981 214210539 839773200 502063595 261836771 945475699 329695839 935526997 657692479 419901472 659529763 600069046 898680293 108591075 796996735 214293875 977484218 13793672 77189500 970430682 668943528 714433592 154023143 981975704 208176128 485656656 207061203 41980908 859515674 608228564 815752452 469803683 840380520 636621018 53058261 923577946 948801028 135917342 273512685 493514116 9238441 546529351 466179934 543010849 106824991 385490646 991190474 936250455 516215935 535755246 228740998 39972525 902606352 490379863 659124618 838435385 281600157 313213515 465820787 894189732 621736098 300396756 58557563 920848402 14246390 736003779 66606590 212067239 771186221 4860989 439731742 18555532 720457581 372164208 817760756 528539188 499879211 55101854 582197158 279849400 210221087 766810641 875034265 274392542 335332837 917924191 327064137 744481774 338175020 248467379 32846337 672347561 259239795 534565068 524241458 301544536 149537145 495476885 904429982 46275859 22331838 48593945 753890327 393634747 326077170 558743524 969655822 725004955 147864660 623034301 599546842 69338059 941545238 333261255 30673341 15027845 779209597 986753243 237333160 843161433 767945993 83724846 303027824 379364509 570125814 853533935 987802749 654711767 47865514 734336409 92904486 657034877 638084046 743408609 47848817 130357567 184592933 112073670 958119503 967399842 493103936 656913839 979807643 374872581 664589421 240915130 779911385 877353336 913299420 228904136 730053168 848065508 236722450 659902669 720046234 774011714 776062237 796544666 630853414 522832829 101711370 285210757 194252369 688879456 584259206 185399767 802659418 772749993 317779086 742620444 938058016 824335359 847084909 541368042 717108724 786848956 798970291 969622048 324589707 209686033 261797315 328478867 244994270 792871095 387435482 474371783 314884926 935351217 224472193 618644496 971926195 608030349 970513637 329933694 463061737 147966394 408282054 390912304 745211531 877484157 848289831 391814654 732656359 273429074 63865771 447899904 235766087 161895934 971619146 575432220 196960487 178835221 883524291 768142619 305045526 703069050 199082555 823893960 479974586 9808828 946153274 798581272 516831190 484582773 809037774 793096992 375959340 127833891 48393574 958209480 827234063 417439305 603761186 921296757 178987917 137067237 444058900 887413247 999650244 431254487 375534660 357596036 948300782 737394387 647547852 549382168 774167620 487810667 225858994 947457730 764666874 818583174 79725585 65757503 375664449 14239395 937853066 136710672 912003224 863730450 462529034 703818421 316139109 516040539 940946799 641326657 624431142 769460313 81488106 905237219 642887141 480107720 153036927 400726963 126707240 637304245 466848506 643231437 593328408 214091163 458522403 568697717 655359697 814386542 461584720 387669664 59026046 250148982 693289315 383570424 277683866 763745134 641956451 255981206 954486123 453043608 120841267 678992196 124942717 541069623 287813039 949352324 654400011 188051559 630156488 839976031 810809118 19130604 663715997 568806752 562957645 995751794 927956297 513220349 926037218 518647708 557711509 822883754 874998836 339012244 130041912 99336356 879967241 955506251 614445549 370184752 648392720 873517436 36335895 504188067 985246736 974627169 143177753 693217943 582607877 494096215 592811338 374344632 219629618 441041562 286103761 858545328 100783452 953540785 884089983 139182456 621253105 741913883 289465959 128800137 47419752 965186026 13545411 109080092 587167887 792404206 778799213 479076551 622475403 391814861 359301589 991820075 826384083 186052020 482561196 13368837 24064553 680112728 123992773 596154354 246043683 2589222 263410251 554315518 653990555 200123451 252201535 881499179 836515766 973836302 134548793 680619470 15092614 491856922 541417343 2290828 803904088 72387950 614888166 729580146 608835341 636023272 245445420 370805624 375718325 737534110 346781088 997388953 342997076 447401084 251779599 765501937 190537606 453229784 350824568 83042402 423922030 763127774 150958177 715013721 98592736 77913960 916561855 134341059 456597070 585074149 516392470 232300669 6255460 165245456 736512437 660460089 657942704 34038286 643146492 103903786 287198101 193186070 621766973 173866762 718238649 882459969 492994463 886497338 967396279 903122069 695176343 929176777 642694627 951534462 94269475 157671007 341772607 726067487 75932453 341466937 958519427 414688072 331283266 98929663 688459924 173502913 120834736 63212568 821787371 812919124 368911844 557188390 57237033 281851164 992154966 492935167 191699859 319863860 461542794 254757613 806864365 262354685 535400505 606751741 663524995 233147316 344500056 996784188 661279702 450647204 143252321 515255446 404017183 301844544 943843563 378038398 990015728 512559927 901081465 705946857 52439922 399208886 16691168 992322088 135498934 813911868 867988335 513590430 55303643 819191146 106155324 823902374 42416530 719315710 732850693 740511016 950141472 660142193 89089241 582973836 432094159 596824673 944257586 3521723 825556609 63210872 627743050 392389928 946257137 479771178 859460720 484513092 614297940 845541480 602319969 381538308 389783628 136588572 105613129 5150921 617188825 244127815 676486926 746451188 995998019 256282408 662513674 228783814 855324980 15859695 414297196 14948891 437392592 249160229 479673734 328316266 699959641 473133242 843621958 80835700 478352738 610611773 747847050 653532350 247758479 108514341 262726944 717378351 225814624 117115158 807171801 498138894 267115453 154518469 385980790 908854483 425520142 94375939 967062391 213376054 727923113 792482535 131261010 314285652 405633452 3806058 126643461 984442930 916574519 918627937 234883477 515492498 390573047 806742311 5035476 107161493 562933168 336081788 439172983 242069234 723226379 41351149 349910264 685884248 740727436 638898418 905001127 280844807 167359317 928459485 608045671 298878392 88953448 61316275 501686202 43711836 689206840 51397469 869483865 695374219 303201948 216939827 839924851 434683904 163417960 853111241 229710197 238647769 208509661 221888191 430349166 973205005 646166054 36796963 220137125 11978267 133518859 782984454 885371232 965409189 934419433 581932349 265684548 146254861 381251754 116941531 993864606 7146537 346110632 59021207 482202728 419358197 432246240 282413160 779282912 582275271 407805974 31900710 603052468 318386222 279088282 531092385 113211436 931379414 147958938 299738275 208688253 699916413 160149853 224196798 174309884 238710538 163365160 823100686 654148942 361374931 759061273 995075775 426815170 859892756 469014370 395132749 633500820 694059487 316482886 874276630 113364857 161075218 418400166 809584413 987582529 941134050 806112207 528201400 920213487 149808347 474712351 758922999 910997901 442524641 31335536 910368632 936260599 252213053 954072611 37723031 832506800 927942542 621415292 996427978 586310722 274503139 973707284 284770113 776870485 31356603 573736763 881518882 932238146 289464204 508878852 479626347 89400460 379628608 199971177 735410884 271944908 647482027 208558747 297576442 671228209 357463784 36134286 321059261 277510 955134106 954788163 221746549 953514162 866712890 715317782 85102850 729906917 809308153 689810009 662335250 669042761 106977908 610211437 14889044 745856587 473505787 599242521 995842881 554683825 105706945 583621781 623426593 848395542 947650417 425382458 533744852 804659837 733370776 739615822 71458590 391228141 324530306 72786534 844633806 727096525 433635895 602816025 262675455 244782424 208208106 311775010 788848003 832185129 585411898 645800157 960833299 919317604 584749455 528566481 587073681 762514050 45539470 891625098 612725473 79041043 506681373 875327545 229598534 759314716 277482421 420622108 165851733 468152698 765500931 862271154 313110818 978795638 439928060 419334880 475605087 883757395 581296936 310552108 299578147 768681403 383270813 900040048 146208161 651870624 718431481 820103169 776710356 406520143 774342077 553464101 420656443 139573680 270276207 252399344 345947607 560992798 370872701 410490780 353632458 181662673 72986381 567972374 969736255 127275482 373394851 865816590 105701834 303778289 423960510 753923158 481938587 926274604 881646123 475730894 297596233 745558036 98661169 995697701 313214677 894712933 233014352 589336292 674090233 198309487 964105234 393220668 625949423 516710820 641162488 386112391 728753557 3695313 177463296 913098896 853804228 77850910 238207255 588012469 900568803 164802251 364469769 564520678 797634845 493624122 116176683 441638855 468980510 622041628 527651243 701531337 139925189 959242123 372822363 179706385 760038778 327367182 457484230 86387633 175415939 48165678 476573164 306785398 197788104 267037688 954680058 453751114 970973319 160898517 691198117 554067217 212492885 167825305 565350360 645544647 958564212 633076433 580128565 598918255 436552441 609610738 128739243 666123792 528154723 515191307 783804440 408395042 727942197 712799512 733794982 2673080 605616126 858753874 125558396 465095519 159170012 311153676 812138715 646709006 28180727 498387058 131254800 660926546 774526718 423067559 133033580 418642190 403672537 688513218 937354894 287576212 513937204 296802116 474085122 602472619 133113653 69999241 491665118 411383150 880797438 178186357 467160543 254974336 259711867 273012477 965434809 380162440 158500164 783869977 875197260 362006288 275462295 854694609 68276319 390132443 577286857 952804181 696096960 356107503 524415988 384947320 667666247 68490659 619874695 747950699 925635004 978485602 883959872 828719016 359932349 36855979 907887547 478919650 30016054 574490298 958822240 183575662 113196654 582415489 976149067 210721382 399178244 101190724 589353380 353190244 154954503 705764419 815860488 66809754 946753975 799568379 194085262 697892969 682791744 178042867 829014673 889995767 285334123 652563855 677690746 724254894 819730041 55173958 587452804 281969386 742528942 179733967 763625251 943863014 77659652 807657724 906941137 483228692 163790429 416112607 929939276 597863242 27469551 427387730 817750853 871095016 360015499 917784983 102595920 500798011 152421460 270439050 495774763 68127134 493619342 526136633 934580326 359218168 998993799 959851831 68464939 502724537 228239975 343436965 448723888 435663805 906869766 691038649 699940456 577010787 651903871 807738009 613443312 761758022 579447889 831858197 15294213 879792874 809017365 879104754 114643941 602511775 43587783 989580887 649133738 961561947 318241553 608765536 188324549 886803579 226245880 712747261 937036569 180101786 631406424 591997789 753579798 842414901 542425674 591409172 167542347 435843740 187126525 801277281 272502671 264147487 455157373 544105889 272759228 548364394 385085827 760407466 990381254 525983486 401350696 292947912 510145473 586669747 924563188 44875413 366601072 465633170 711638317 749430206 813138884 276122574 814996449 306040946 42061115 572153363 187639795 398172392 958408755 997289176 725156551 442273562 507437084 205224680 77437768 377597887 813169961 1292872 809241711 744481970 947965302 748348342 213849958 31592333 290556605 590539577 493276853 360696912 61257836 563251611 722306915 246119313 710601274 953231244 543356850 14568517 190620296 646573310 580772583 631233046 788855595 496429667 165274013 510979512 206313381 972354732 173197816 284478475 974674194 891419463 344635288 148765505 526204278 731395273 681569598 308181017 246689901 570923269 807235930 744580565 788407886 989072638 113919378 551299038 599985187 336355567 34863478 556030983 674778912 733403325 982612064 673507718 452370227 83674686 652110304 866318602 613420549 584712743 610049352 273166180 920236970 293583513 886863464 539531289 834609274 58226176 780959256 686710676 819295744 321278872 989468955 798384462 889876770 760582924 301805911 556232379 312407349 786045054 509044460 86822241 359609416 262847999 320201437 418875843 936545196 852044993 112938073 196424166 163370806 957575352 995873119 968568875 638050709 240284271 579854432 631944192 791429173 822745656 306814582 510174938 132376014 30399371 109545561 54394101 66559135 391196265 184331057 676973483 883623999 6473159 465073058 53629214 859259857 855054188 258241187 147224887 687415707 714903662 147093643 787851310 82915611 422901168 312672355 716172114 31398948 110624935 154855488 28740413 687218127 223305106 227416627 392236478 882922349 179092648 771470275 601409076 426563695 567380313 644870717 31499931 398019437 502950959 346505383 601558852 205355614 768541789 451030050 673465400 165574400 159378093 157298139 88000485 295501887 434887725 449039074 537494964 409220187 284394842 497942825 1375121 314995299 152501974 657379169 378635118 977413766 238001989 640339679 754119129 910344504 876644046 745958521 775248516 779286494 710876227 654033403 643863956 33115876 169299114 939506757 70677491 699122372 569285040 490144316 108635604 449507178 938445040 455251704 933461145 97188545 818485979 505933296 657552550 618642345 730456099 807293706 880314209 253838671 921844475 56171063 765528391 925558949 41875574 449299610 11177883 895491132 751897001 933716299 524370858 913875291 633009133 233845055 465005061 542368501 49884198 128969004 241913105 629820810 459375227 294369058 397882387 3512067 753634155 885512899 9864837 927798918 53432687 755749045 601524585 919135994 823472383 147463095 128251262 296326113 825258977 11019817 273795837 132723579 835182894 433740177 375702877 225235592 768626738 901268464 23536912 649071708 87856480 412750234 102223296 449732922 600215508 480239770 866909521 578555390 470708623 969294627 931903558 458070811 638893852 549776376 437773230 421682663 789465793 733465487 293788582 321814968 816762152 842327555 806309009 481270640 82364615 725026143 921228502 710968795 804040981 617979358 223219432 784239160 664738144 313024451 377572932 470680078 848620226 387291207 777956663 324719117 274454039 270716813 619058573 78800115 49838394 195923120 843134018 610303393 415358957 783288769 472429428 903669122 319966565 184914815 455155879 39948126 791797516 896164554 819349311 186713034 426637202 955157085 719332607 317349226 523348884 111392447 821944261 630111158 691790789 661074641 827951644 108361300 984586175 564835908 451557794 362666372 313432783 605009292 297932463 804730690 839489426 160286660 821754604 661910797 354847639 41136889 251961580 59479315 372702186 102564971 938449720 399129485 822949538 457338318 780150053 176443230 535089290 783128088 45318250 640675672 225412238 472266648 588243821 549940807 83423958 927974615 557179441 894617125 576821965 464569767 11905906 348763017 794237306 838215240 80598067 565769659 444203496 577729077 264474419 695868318 160159367 833051279 458555223 935748693 686558717 206484920 980142892 461877770 233915715 243460869 992922193 320189801 803996206 959025875 661274989 503614742 268943502 676984210 926080855 834575808 500347870 882743171 379262688 320693708 987984014 126765351 271659449 864699308 344215232 13740628 250076532 243367672 336903513 225140257 928032812 129343289 153687085 944199364 123683791 139601134 174056321 71564783 443222421 697735755 241094095 75378173 788711019 464061789 136093156 281949294 951784623 845564480 232237238 235421578 657139429 122500996 333476997 481230343 986768794 822288903 133971624 212065285 875381767 941573445 9769734 48806164 415645931 892833227 114271058 795270466 25424720 539884061 211169260 991554999 497737439 688767721 19621388 450022900 170776407 686400712 924616694 5058890 472044448 510079602 969952165 615124822 846754623 447877074 907656821 259645413 358938383 136891537 908248807 3141608 552380127 376532480 376457816 425648125 845580938 580390325 178973182 187169229 743870524 850691385 986076710 914842472 752722733 638317323 495671481 335646291 878431112 118188429 132553400 460106039 807588531 963716795 924597391 362967921 600064793 143784998 690673558 716500409 759453166 882809160 865448052 560042906 31848335 490847368 45946265 773927120 178962799 893194851 81792423 201879019 268751559 235316920 568234045 27620900 693520198 639387340 985333103 350625441 771612464 700334057 221010120 551001394 997880743 946072713 278141303 528036988 989366504 611175055 198544491 17402041 417361551 405824809 201718463 414825279 783322809 574425107 291942963 413211448 224675433 87455874 714077638 808824938 113405497 64285114 789971465 952176428 519993758 824408023 750096946 741159866 180656900 642100351 299758174 736318475 590425935 370398374 624382644 32938917 208968026 823352894 490530361 158511618 839423878 263401542 510067182 566054853 185508013 481964925 574401100 423933775 720715617 272428110 609813273 593243732 866595717 531014223 836390499 737353294 730870783 130284170 984257243 766733690 297877679 156868132 730780881 323798322 52329330 134249022 243108929 40892996 812294215 483977481 430853706 749663683 670011849 853813395 875396534 838280722 947971279 401476841 511132278 920717653 913351229 265113522 330995830 392544881 724633174 715078864 568061084 169024035 344731207 193625532 427562858 54608201 297237674 550791855 731770891 356118773 809139879 591391058 590055673 730188343 659365758 752940619 249310478 660418806 71426120 816246802 930945421 508094456 678989875 811695747 325308 352208885 795864107 481998239 655191612 961224040 161279418 264287719 80493489 845208702 106391301 806418541 408189896 911078599 221450842 881271666 984453732 479814110 92613823 26032100 384729746 186224755 64270425 69736076 858745988 540886163 680380627 531091826 181263939 804079802 581450721 101887899 275546939 389862111 168779185 815209420 582323598 528061136 590864851 564689436 82674730 179129186 76725821 674856093 323663558 799763236 447498409 947088108 82857414 643369858 678066684 393584384 286139863 6893802 503263040 435675786 662832410 10145198 936217400 341596078 360667875 724603662 232166313 966024443 709309618 268039851 339819966 242366063 516921259 297362879 410369539 115504335 436457173 442382968 612899101 884095525 402106771 555745377 85604008 15225155 983942798 883139837 675963806 20302204 882024666 827524265 42021869 127025316 710347012 687952349 745495134 281693551 35636750 102242093 496112733 616599234 413417756 750563979 104554347 432510375 421341952 84328811 825748446 42241724 696368532 426259344 832722221 224747634 21335849 197528274 933231778 16748251 50177521 749513916 276025197 644600444 23903389 25264560 391475984 689610095 323468300 79420933 45092645 520851343 293372964 512124490 464969047 203659005 93182456 13686735 341961231 16725712 905856431 980583811 449025632 902405808 440775918 47091080 745893087 439368190 655456964 684197788 851337920 60215874 597216734 31878149 258120906 801748615 784506215 885400662 332913201 180731507 160686550 700813089 935238593 145688444 429497620 136896180 426113265 54594742 294913534 582252318 126029913 304977905 424248112 60400162 471431824 147868540 804074045 19287853 782828608 165891383 237085346 696052102 560396205 557365792 274702139 353739497 965552174 44441080 520386581 831283650 664069121 676963930 866431143 930207708 835876554 578352090 798919025 176275183 488873897 707913760 557878755 313795466 365169355 182186673 209506062 687565471 839287148 487807003 25767545 355478317 845206693 879625800 574283568 734441780 751852923 87868760 593549100 232494297 302140450 325663580 44108349 861020944 815645280 217687199 257741471 538593391 56143330 435281584 498597847 654241662 418399176 151895565 338883163 320023628 127849510 440491032 810503992 109970443 676395328 505824548 122874473 394353155 655374727 67255957 165871848 178954395 295939365 468178248 134418044 267472226 189689159 61780601 90386268 526342320 886372671 855882221 785072613 65505110 52157868 567023436 216851419 230874134 140388511 658603851 567361951 983020768 937802923 214100345 48754665 883084648 614655500 455299144 274048036 689223883 749419081 465972407 359081364 53670607 33351725 295228422 617439936 76910348 811115809 474423520 493813197 484536202 832021957 729278355 359881248 287930195 201878526 965300464 890593238 218118320 966393839 335319059 115660644 810542227 324894576 571872480 745723426 960140172 242577320 479353669 220239605 269286595 443462734 131988728 95399669 221616868 528344236 541066810 802040260 60962763 259778754 794837413 120672259 573393849 988499993 974814679 461407878 416116163 528751186 91121363 831477928 73781995 930182161 661850664 488489372 476037507 754681875 256374331 223118036 711239962 540321606 803942970 866647545 404930181 218647113 12503303 294789553 314292216 641046019 823857143 258184390 247731237 976487696 389212128 531350199 78964961 375432126 941405325 645512052 870961120 746000849 970174964 88197689 667735093 793136266 830954991 225395260 761751024 31253866 701798534 813336029 844509589 628844987 296587685 961450686 463701361 570607919 513001293 114515839 743896716 956195635 121841273 437988363 525969902 443008282 893016946 907075971 285689772 29838371 471972423 947736605 84820523 777256567 140655967 680703668 11869012 119584111 254347122 894330738 43709596 475858474 723082790 153791737 889724707 668362646 629265835 722366542 172145157 49511115 268857602 916965578 674006588 568992587 78024493 765590845 961967707 525895637 58608180 276466892 307843326 939802064 159685608 961001466 842112628 41485863 67132566 968622266 408204044 827830813 188748465 646787465 580646382 390844940 58414337 145835585 423749630 382748345 720918540 405320479 804740386 112298065 180436889 958718463 144600975 756165157 682231367 409671329 770989034 923495436 889196251 78586337 839903520 349211924 818397735 455718722 605138605 253709480 320784723 354824273 364912320 785946391 202042786 767935029 809353221 424246960 164959421 126011613 640671216 440456412 54534411 108919545 458163250 696015318 524188594 469553241 19414063 515928969 128972069 922553189 195175911 667713252 308612149 937186477 677060465 675266590 235129250 987779050 657676217 864595653 885668021 251901015 109683212 882683313 581300066 728795680 185504564 695098800 842946038 209765890 398299843 176706013 505957723 691259307 891687523 18549789 423134225 250692564 720106982 489302103 783149850 77480163 132030843 54574528 330405602 848938380 903696450 439901465 355439734 970679375 902071494 540372164 594474605 821599219 676363280 716323001 912089884 15979527 720738277 120375158 813672420 128535534 741321733 582506019 437093735 157476001 646382784 632667051 533483475 640092530 683153716 237103537 44270283 995153516 92247559 304364109 173075477 387294051 659930263 748246843 755705759 718965599 114822916 930936731 56873139 56475623 264024049 636901233 507975608 271765779 930421016 796555410 863845697 132335299 553676571 914136971 17079358 459675502 168567860 684781920 528762393 143386815 692825421 315666287 704210023 613988209 826374273 87352354 469592264 169478276 254915840 170228453 841027253 578965488 779991827 473225935 563653915 519844819 169081888 45949237 990540024 982250771 78539864 587217663 829285351 688389864 882518927 622718833 464293591 294655646 789084764 438475563 989369471 615429971 15330772 887734667 82014351 953626440 143398618 878723393 777535012 662265535 41605839 20552696 209541473 851141074 403930423 839493767 694593502 575080700 777991875 936712640 906765237 719381899 819697077 920835402 365682447 218756678 569456443 469655081 503159891 55087943 618119972 528411176 411790319 472594358 378671999 899544703 867934773 301575686 315957711 531631137 690196929 118118910 717021726 571784179 922713354 446709341 68898415 482750013 323942792 400765628 844059949 867693415 248382979 662535040 455439131 198675036 767482515 26556996 424611818 792738054 543020908 869182143 58811640 894128157 313890284 712146380 749363243 453937365 694313977 729626826 372288138 980040801 867163304 875547038 383487976 327042374 517659316 459143062 623816020 63955087 981207585 858489944 920259900 257219868 689526178 93670589 67907428 669387857 613298180 88350293 214980045 296518111 175412650 318753612 941518062 31215373 420207444 403787478 669524379 327174669 952987348 584747573 374924850 357359828 214407132 133864982 934740142 471682992 679686075 735768139 906428856 144713825 134995511 108755315 837239742 176061443 717062449 827193507 645913709 128910899 903262555 921165129 247874133 117800946 744791876 359437291 661962631 189459840 860941747 272392977 305253182 636691504 454756062 472160790 700922256 79180012 710681737 999260817 779205344 588855034 892925130 11183339 8796309 105076913 806386401 316875622 706426082 615468670 549089044 780735716 63001203 743634837 481661157 796710522 733162341 55095474 956591031 291861602 744070740 655122515 657988409 275959336 100382111 454741507 43316668 549708030 70593692 291134818 782812894 672549248 4398154 464897830 933046926 198753911 683522118 146294156 611040009 700181941 73908558 710136465 315859483 798818009 45921573 136397638 826509433 917234036 762271828 335437720 520576757 949556951 920948896 302272541 675505730 766373244 100956737 982668600 330771484 186566670 44795885 780616199 119679415 625640402 435987119 15906414 119459976 707891735 377582712 780678508 97952337 529344960 422541066 925991362 317753612 722539183 497635245 482592291 144465718 391893526 135977919 937323933 867988920 398937253 61859854 16127994 334021964 938886888 31282793 952101064 961712710 668457750 933860246 173164254 27448930 127008744 32236006 266200735 249720033 344234334 545292689 260824070 475933668 511695337 95342535 702049095 801123978 873150748 78951090 414741538 341702262 555490104 465050555 627785795 339942664 962131298 260023381 758658662 74928294 464478748 605777989 966729502 948695160 48309876 680266982 522699332 12758431 737507403 482567842 132037947 886274880 312636885 79065969 926927196 185991413 512346283 897343721 746668204 985131068 208638921 852498013 963435379 933393181 867545282 136419419 367834887 444920056 229614452 235236263 378768818 431527073 535009185 522542747 818791000 846940649 14896719 882282701 706312888 266776366 90879400 883463224 482646703 734491038 89131089 905314670 86450843 563886750 568226495 913478665 562341729 282018450 560659373 824280642 124719601 514824270 436205023 189716737 174833921 37599471 443456707 502721907 572068429 600082621 9981008 490622292 759146746 918125996 744300729 244443648 120115520 161613332 773816748 721468054 341347818 545940671 708347411 997437405 768925080 6079987 49502513 592522736 549726207 947079692 100381789 983776881 611785888 737806313 142569780 464797740 744563465 553378498 577652086 354419616 533936327 610769872 406540521 861033228 325993820 854752599 987526632 279532963 694459205 711227203 884377544 200143213 896245953 139940002 370701571 167757286 829058627 777524206 585864449 284995991 386573001 751365252 335004748 177358053 487213919 984909454 351957518 866049796 366531643 331103288 842121737 522522533 822349186 307714361 699342041 987921381 67947953 972532630 604022321 595627820 542423429 46231137 150771843 191231574 389684687 545403463 649168926 276979027 683280177 809006917 69906179 56850374 876301542 768240272 979645293 332489783 431043930 732315466 400242220 590612770 940893738 526672932 634936705 531662410 659423103 386738498 820659217 357219292 816513002 160099166 869526675 409384780 39354928 192238365 68225648 233868996 323611509 98797359 647077285 892491376 458818315 825869469 35492505 139380681 18287777 418398492 587978850 106953666 35603987 864820876 459249792 117856600 823668340 442119818 82314110 534638331 310266032 743663096 529220898 875370839 540304700 731395485 627945447 623784332 33187683 648664993 169050954 180156101 429945536 24930182 839549791 38239974 48164540 997486141 504559735 284013864 661763494 448671896 689004573 962458452 583183599 567236013 282505978 389424041 418285461 651378109 980591934 915954937 278073282 363362427 350220791 991786861 489033559 344622125 126000053 861444102 653258429 253592647 897923806 111015625 141064676 79170338 910146383 972118052 454344139 485943096 293802591 702275706 219792781 247522829 460091460 162342777 678764662 705904301 488888405 197902014 464405878 362052423 9153658 269578606 892810452 698431518 255514301 629727888 234693006 226171190 704765923 344400487 929864812 447963771 165976994 893040380 53160161 256852564 346697871 512760879 334256795 176772666 833411120 610834016 227165777 530863732 506053080 970566097 332504843 276045240 834327177 348045877 569830929 475914548 732166263 252275128 25355758 621154354 526503321 152000540 936466005 183246991 588664470 473909516 73983427 248619874 982836980 470596304 475130509 543148427 975262236 40019727 701938518 549393223 337828874 469390537 879023419 467352425 800059779 899926133 857998710 616404597 943761100 968637898 22413895 692021686 894287345 801672790 798798530 183130447 223320565 474862936 77100980 624104301 844600732 903727791 438178224 735007418 717422415 683208751 599930811 584874003 9384347 358073793 464094595 250462289 782527697 614418961 193705082 209737642 490470406 671407594 704708811 181442700 604707995 294665006 285433278 221244355 667897749 310478659 448896555 12679858 321701872 355244810 580193069 558900115 976348635 929237371 986959871 144663203 700402696 258845726 827314428 899829392 273577929 474567281 403492757 898384225 364611417 83950212 150228275 17379120 734091015 632691084 828090150 330176048 550010223 286894631 474551399 252685171 55010192 26073900 263683732 478070073 689084475 84535313 378719797 189077218 346049543 365253847 405794563 267867655 946319376 566724459 536530499 260077373 604346382 65000191 287240806 275419627 83937388 110890161 278587236 651233897 42599527 976044769 874014668 629050865 569576047 725771011 53094086 458185581 379057991 420403446 763525030 385729212 111487292 367332275 936791171 544724210 206359595 906249078 501149966 215318536 349789329 473906574 874681817 461673341 494157624 461335500 522967881 161225808 143759771 901219696 113399276 59916554 765247601 567427236 169520027 595148128 849282249 152423199 183038421 114947290 433734714 874834374 636769213 667070892 357112189 189316226 159686691 180067740 72135040 580938976 516784207 584684719 966586915 718163638 407601266 415171157 993702001 734657559 735948245 341723074 108052153 617899426 126008650 640485483 17137828 2641923 290252921 640661128 399917834 605067208 442840046 349953749 51400334 420060935 838235462 87193102 592350435 977111567 875205920 882193683 912933146 214021468 575644945 637246631 579546234 394871251 303901410 415000884 233342599 80432341 156031416 364633735 146235551 544114227 517185825 353224426 132008763 376951852 241718581 641604198 246910500 457560281 837868619 420420432 678946270 473810047 10678428 458340607 805062283 723372476 656351485 634790821 16966528 448687129 989948587 968256278 38368638 810856748 629560537 255092707 891204313 168491133 650799730 373728280 924687963 813430176 747937196 964874035 982236100 434073041 670843961 536629747 494838918 341764136 767161787 122720781 124547247 217192989 682227980 948361012 251022520 8461380 350003561 960077657 104771005 139203538 651113264 39477623 837034621 98954111 155529944 884449555 170758740 298274169 536477355 714870573 604506941 102649565 757224137 395876124 446960226 77082682 276860095 771905935 359799480 72813136 468511888 390888563 582912645 525498647 898750067 495667808 416218025 445308101 892698860 742726908 504872281 775016957 604178724 801328319 392514319 438470007 599856059 278584364 538687543 407009271 339027661 215339434 226798762 965503881 753623161 584920245 646876822 763485141 722464570 281310574 489346497 89798822 999448579 663084948 502801546 551150234 349577999 780540077 124329320 798623528 653973104 203456695 300289991 490653028 297965419 82323156 400399886 576849793 492068275 234746862 720349023 965727605 954379633 61835223 874457679 159910553 407278999 28478063 824654929 603400031 58489470 146850611 808244392 297699012 145244408 275112234 370756554 374404879 173594293 160386469 831344258 194336318 394583615 782457370 953559557 475811871 798528569 25871826 173205293 89616851 948718651 572462550 226944616 926182884 620512532 265312112 875922349 239966403 297599456 180474072 272900047 383602711 336608237 11593592 396544036 808654316 381407035 109653907 183844042 743722144 540688002 987434539 435946894 489198369 877727180 3773116 487859188 69461345 887182133 314763807 690898093 422115447 540454238 840945072 650983760 659597699 869998268 21023078 972075043 731479411 591856638 600045056 263097351 935351502 434995952 613795388 395539411 390884646 590911839 924843608 891149175 541044985 475443392 310419837 791657031 861350719 753061988 41235206 62161775 357645591 199886857 392776914 520362043 623988420 924547652 535416221 330911340 713013689 114572164 557620615 460548968 725738732 407927856 347390189 261093735 619870563 542986688 678727392 148719370 855443773 88180046 80476954 965429202 977569390 803575617 256704863 929221223 676328574 646745073 775851293 416580272 827507492 170018911 398695 304380545 570080288 783390000 925409907 479886528 678628294 264446898 219117838 348719467 605018005 803926409 624288531 621327581 714882842 599396701 346314242 29226042 166789084 258624271 719559239 438373684 494481966 391197516 581409237 415452229 380328351 364639846 662490072 272735399 274176510 193584356 228553113 481964664 951850295 144057547 416103945 199516351 685350513 778131144 957133970 403042347 590077636 549457761 253554992 746701765 264973615 757704754 810713410 428695922 273171797 911278121 380137068 207585802 524793536 439388930 435610496 154743294 111112674 364039796 55016658 809898846 241603077 416774997 154549216 660473216 501026707 132526936 195011199 762853138 252010022 611729010 312499617 802080570 766889850 539069269 885223532 454418421 207646891 502683436 325643147 35258181 576984730 198172397 642967076 195646933 643316709 916815512 344597436 573611693 163035272 276927989 867032101 341286978 82833780 612450396 100413879 649726111 326629945 816488462 368148250 180645220 836995905 141696670 540158118 420902699 99295221 118384718 768388286 411891719 941546232 57532826 83248073 984014837 378241976 867058201 912980976 278788922 554479467 121636658 180024045 886405069 689902184 299202261 264707851 297864358 311393425 886552224 5964231 204657725 499245569 973140715 830227437 357189688 770351164 384325040 656195454 243202626 887047746 885353417 668563701 129701952 15648860 707792220 367654764 442285385 232584044 704133285 816210902 562496505 524890398 877338662 966861083 103025493 787292176 67382772 595795217 569825749 902319448 854476129 360836536 949326993 649995649 710486303 432613652 777982201 817200967 992034082 492807713 623269656 71999023 794333100 555113243 3627513 451327211 709545678 534647108 860177337 493854408 577412911 980743473 574735257 536909965 315796264 920268663 832754845 936057216 858729133 809358353 23217813 419439403 319783997 207655625 254593848 708444583 298604308 860382448 382208808 409716034 300237605 515130599 513756015 101501414 113396956 765755295 194011334 310457605 245983168 829885390 169537954 803068391 226126851 506563659 202409000 427770280 727492274 654475917 628276599 278538007 326332177 342541311 306273708 806485761 329157467 935133136 655857011 203853676 183246906 458487237 990605637 3289034 461617706 429237696 671148573 714823791 599207638 329338021 307915221 4996435 990678291 496069557 560349696 399000754 517147683 799701212 979418106 256522863 106043799 514191550 323589804 631035789 559731067 322558953 400998896 201459734 505526044 502558145 297100055 970692744 706391353 12348131 880446830 951082291 987178105 422393264 93473769 18381670 3401355 643741400 988656409 429501089 277541181 565254155 235270199 487790717 138319688 657786575 346604557 913105869 339380639 478173193 430297187 417683302 506643281 97639945 663754652 731908946 642809191 636659003 675067641 909888420 598251747 116157016 423162598 881806031 307199525 803949229 179707126 126516932 499252184 930486622 577231105 631900839 295420808 265181865 172270021 645768438 159886058 655054236 590310939 62333518 494626925 667344019 92796109 757666900 693961374 959174892 670236881 290567911 805012207 441081491 942562509 192399926 856638367 588217992 217410688 242224561 214342655 348997390 936877777 862370224 717909301 892691311 72814761 809480368 602802422 292240277 691999359 756235201 776463083 925667197 58179452 466508678 198280286 3758530 874747973 856974586 573535434 202662518 608766830 794087216 543327253 400700813 826539256 882402305 459957700 323835983 288873928 278063688 393323117 735759319 602051086 659425412 781401899 466240037 215512788 877127336 974016580 653821670 398321452 898860211 237965220 447829213 900713151 426129520 778771522 33313085 909942834 731641187 873073226 448454949 191884603 664268644 845312837 58169394 283619529 453244522 344102764 585849039 9799686 70011519 234731414 910533691 600346685 984226997 145012293 378875570 571431454 242339455 87507941 494182496 105996290 978489446 286492517 548331876 537234502 670054575 549958975 443587896 338136955 179966575 873435990 781953576 962023504 999988065 309996531 658486726 514504054 67163683 254801833 458992179 228255501 694193751 386967464 32392751 264403919 958642114 364940848 598722454 869720307 335049810 334273048 873918215 95153339 160154238 31228474 65541341 605302149 355562583 507798176 965419859 304783821 507669984 940406029 797347593 772222160 930665039 659056063 547154677 915221796 668127037 281665492 893962059 831049765 301565246 12675340 846524577 78744932 778942756 534140042 54397474 984403531 702322334 837545361 402145779 916069693 735150534 149420268 496408240 199143855 831500525 663966155 387283431 591375088 435733402 293482324 273350748 160538763 165711894 670731828 644635140 448501078 470422139 269309221 722577331 83287062 803222024 571098431 664892876 951417366 787111795 107474968 921376612 292121952 692231917 773121417 855972214 976121890 31437811 832941388 968851718 992928434 898542991 32193027 485633653 46337451 564790147 841587284 26771345 440130234 759960155 643301549 113111944 617724520 544038349 882823277 465903022 417460036 595432942 640962836 158412244 978427141 806455957 499127237 48444249 824473439 597552619 267678306 132054134 590497920 372442952 727459228 523834938 103039042 283975132 505824404 362576877 380085250 560547440 150634478 263695718 770246819 717805312 190646963 14170325 925303407 483304532 196628789 555929792 568775966 978301149 430835554 893295404 124574363 903820896 634576033 676353973 47925658 900519482 770000049 88327514 718659263 712833589 388184342 608403708 588293940 592726538 888202647 163141557 439722412 263729431 833519956 280916976 899007111 282838684 980623498 363480345 238051066 752278829 193176670 558194272 263781337 324717688 422196439 268921980 124777549 952149620 499304817 676454817 530047249 731182615 832964583 391844074 796048302 318570122 159854936 788587721 363164406 875220051 790366486 388543190 519503243 691541715 496086994 731585014 450961221 421969804 457305693 304328097 649046370 885843342 482362866 818796103 77931044 187454728 55775528 623363404 769431819 275147702 7784234 282218244 843070960 963480307 124560644 153317983 714741707 471811722 843533902 601418905 753956866 371114803 457783546 788635035 385379607 552975031 223382571 253188543 887288859 972846645 131723906 174542260 753214086 318142282 884762181 888132846 52306275 492342316 332536977 633691362 966916671 262885110 172655775 544763145 245234530 94052600 386113769 52041921 155554893 945411397 963372537 425332155 479535957 687501070 231487277 222453023 172640001 471469150 735136347 339875891 683086399 133388189 722836776 834969716 154427454 627620412 371117566 168119540 578097705 758287019 120975323 889110320 210702590 266184669 720143927 885848751 599229897 169742705 41432973 652140194 160928241 711580458 633923053 936109222 59724372 766597439 927158813 679239523 360462042 801645684 380479557 824220249 74500781 935958374 149491952 889082465 228331135 64113329 567680534 617989075 53079393 818185351 477433814 616318216 831169899 425660247 57906294 198677307 621728254 962911710 673536555 192727839 180593604 769819765 408773149 679389753 517030953 689860268 434984626 223607582 991681244 492210265 501336650 547729195 738817636 571296264 729962678 198076070 415148454 50219795 257808553 538526054 607474632 345484008 756375500 620461773 287247921 899882641 476710883 180718174 327397486 823187923 941034682 216500367 65703485 74572299 171977520 435548173 127312425 438581458 554577165 691882938 98212808 267312986 632096870 965124102 240050751 448521465 703179058 473799130 332546252 736183042 811289670 824189004 358515009 239828640 95737443 928822226 827662023 471380460 435376911 402324671 5101169 376442326 669593670 404583157 268379511 384030147 778590512 518710352 526577883 615033497 489392837 576474459 936182440 121012069 493970660 317897576 470423056 9035123 75069829 819268591 913392138 90042956 109607104 729223249 823761154 149109086 369925520 243125467 805660500 281206806 474289458 26235895 465814714 520079555 665826262 443261710 357114318 402100542 199810722 806934992 262052021 301947184 913602295 696398203 80090576 213754959 779744041 963896030 553637246 771672526 976101204 697325494 290919256 742637977 584716420 359434711 53620221 755642894 116485284 206861399 217822265 5288407 904161397 484198704 831222579 190922852 532012853 697410689 487374020 815061741 522116961 316782550 207791670 418387400 686985215 76715607 717399547 720264266 419058132 897303027 154545328 802566784 569041621 340295791 602371749 779712866 981241597 453104502 159146263 456634536 429905296 541170106 338770870 514358055 982283966 921790974 809797416 41141494 4383412 861110992 882340228 243838559 341453780 231234195 953492197 89434174 610979218 945222641 195890667 743572002 672611452 100248177 492077351 261281554 877132580 299930507 780820508 747512525 414134187 432594964 356062506 998637824 833375055 174170533 580788828 17388352 233957695 228227200 192388922 16431899 651137590 975214397 733767469 893888985 804389302 909717704 325834579 480350695 63393493 50969619 322361862 179406482 597377169 729995806 656962422 738878345 32202933 967078928 475200683 137859650 306479576 159775962 225129242 181469795 147976997 665861339 75329164 852589751 80331112 229052618 685894884 240345627 350137216 129951529 85304117 588073125 31553245 491616727 535637303 210809132 103879341 648343530 728260803 390225590 254974154 131309494 789812162 994910370 242460793 820099355 38971779 637848711 166519585 959107577 303071932 679116184 225051235 432677391 821663522 428275707 550857466 12309490 37771115 990640854 453003025 704721347 12032709 920710583 218730567 499408020 271444472 227050198 297213109 478915482 736316699 711415433 302063866 822930798 962546930 426312505 609189956 224824471 559064090 376655856 643685216 19536905 113702942 751292792 42392385 267297892 868101092 417368089 408321732 237141210 506253138 457147837 252400559 111218672 376755040 725421902 880195727 544146178 785468336 685636661 992331726 891808330 743189204 112580156 361787651 368355585 325419034 715185972 951046168 203160168 685135927 24368248 560459323 932171372 643429675 23266919 661385607 560492793 84266738 353207237 702094573 492567098 576057517 37813408 594492639 315965721 893547970 921128038 662942719 300810431 399545639 209411602 50280042 200008118 801844455 934765336 476566912 315943187 412137951 87107663 628977493 913539389 881656170 394291407 464410952 792636831 138606849 727979668 188387205 925528474 44916785 91653936 935572229 306856436 101712947 580319497 957715540 917910983 951165817 228033986 307373059 66719642 753483194 41752454 296760899 598735939 239348339 288999668 623597654 224855684 14771789 135609812 624101886 955098784 794012751 178650186 984170332 161058333 238879034 281162379 735403574 71134131 993945258 256813127 82487289 269308671 77032949 970618848 270822604 321321476 749922675 122468584 70662568 549228190 629573054 714373483 969482952 898503875 297119179 916624902 413618205 431515240 786029491 230211522 967307652 282989156 520011257 378263025 85846464 708173706 157911117 452267890 389148009 388402475 52108177 158924529 830196150 855367252 778653172 756981222 540433281 731029864 98378228 494236131 422653199 966005452 356534457 369981596 144532774 594231240 580340637 137112810 285890703 342481541 171319775 854477255 300501704 107745604 330978281 269283290 455096602 852382901 211280707 931403609 125611105 608226437 501445720 233262737 134112631 775522663 911854566 546128938 112158336 433137501 7616280 487742504 4820734 287433675 432394561 402478868 115801907 156745451 160016436 79469151 145287798 519695517 61485741 788929900 398638367 464214137 276027267 392611222 244822966 324567375 981744743 183719874 543328126 661140057 571757347 727844369 694700761 909477691 767809724 441416977 809660945 544671640 489329511 398711110 367565441 425152046 854949494 515662087 786795305 327058441 871888759 31749733 247774556 572162666 262995359 235210175 677109514 132042530 386332214 486404704 527021162 365266460 528798352 409849499 434937259 169058838 898194054 10977047 593918660 675241027 896835368 175569514 107055204 757734425 749494324 328799720 584628778 681341811 929759785 532937547 915937171 98419390 98441563 775955086 684487331 657162489 403042218 945662281 298053252 578699119 623962603 106227412 932308673 580137569 222022507 599104464 520793619 955029658 764491737 987468767 622002731 152329499 870786205 660767163 971865813 352664000 742323235 140600011 711894843 161155853 860091005 242505534 236961948 508215818 863671342 809448736 452602477 27466414 487434683 127932508 550424698 811637812 634897821 505747780 2759539 945625042 683793186 832045316 252320265 774750771 651963983 314143187 759623037 662876692 716952782 89828677 283158620 256591779 39320825 267002806 603116492 663806163 218257430 592562732 570505930 864944045 476311131 470446534 461786129 7457914 653796316 636792260 819080149 752649848 196373240 157483209 457970281 965822834 167633437 298232235 153294884 244007785 614192246 994705223 800119708 635811940 813649712 43402651 910022189 442578036 921176019 73989408 254177198 759473080 433346710 591963881 460487686 840541528 249823230 92729614 412292912 15466622 120654404 284175575 439445698 882533386 150859678 247132620 539184395 203364128 175576037 638934980 341553598 583005822 948460823 582363829 975193960 241457911 525473583 911588103 654218797 467044904 600227125 663993726 852754227 819141038 765291639 239527132 46534056 745490893 317481195 970135491 436828979 892069075 405413932 549164355 581010547 492844726 657844931 175721994 143337907 492869707 168165695 892870532 232879210 429012371 246421752 701779125 973557741 926719069 389834825 678133908 823548774 49393407 788743674 290048435 448439887 468283815 340304728 538681096 283531095 220232906 792763062 115871780 348281780 844799716 285812155 745144985 745735530 217177832 765642500 340568140 833757512 812677029 721882852 225275274 114080148 929513207 764223976 17972880 264569715 6569405 139069778 737202453 546326365 479945465 92166855 68328119 948916622 463123624 767337758 774250383 704350756 700977719 563559998 106839022 962255527 455413609 823219146 113351676 203418191 996178990 156974316 467736164 212539213 775492147 348379666 832893742 673018869 987414247 357397472 461868309 432336586 774129194 683495336 997453 170576962 985003365 912332869 889246816 649803918 250315365 103817436 476217706 294443939 578446708 605348914 874255291 178344910 704599306 556934316 438254758 627790171 223101190 777108169 901606660 642108172 93947184 70476500 723555291 40153155 482094113 683531570 91807054 939489487 356842838 618192478 200351130 913515560 952551412 972320398 851283385 785127297 788810452 314681683 824249624 6853371 324392760 296575485 282581961 931307804 3708129 879597783 253086908 985462933 513572249 797138027 11574995 837203280 883133338 305821781 947491095 332779152 407004541 272869746 330559912 633449714 325966155 941122996 417864281 814354042 442189715 610296349 131310530 250560235 487418175 253472775 661477441 836334444 459783409 942263190 41430236 649278896 581940882 860517466 549608241 231705615 95638695 309602529 215371132 423919930 923686377 244105139 680426982 108943451 895793124 800821470 67543423 313534047 978548236 480618574 563349966 642046460 31076659 833298032 501495167 661777576 220624700 516326156 607348329 955740632 695660843 621961304 297097475 546376906 262656549 835157394 50231978 579186013 624302020 760698933 989274068 707730153 902345022 346736593 597040155 200780173 987220381 738541149 397988035 783372361 270180883 607898272 266068521 210821618 687063283 95568828 406862264 664781816 626279607 43821629 343572719 742010853 952278069 921288528 209286814 552507857 634250216 994860366 387974915 505413758 132701650 237497104 758864343 398228416 234720538 505065896 576316870 19124088 978528330 494714045 414538092 81104537 326983818 940969936 296203727 384736902 109036057 380689232 219462809 755321189 895160595 858256061 965631209 922246825 212422321 574436630 101190996 939811656 54168878 861778683 635184475 872214244 553021366 376873720 922002278 973577566 504128363 120080 447736080 755826318 756677330 18838711 723377849 893139598 494086695 423675968 481067441 339069050 576904992 657104860 522789077 378742347 298851903 127071387 548506748 894327071 57261241 467184247 398651596 61721757 232337396 953201947 978892371 954862534 208066889 964262282 716834069 631237179 911466413 921842806 54717595 759037084 644579032 819105666 540934377 869573595 352856037 185681911 973485032 774634204 534694813 892892994 584991856 509034986 312281479 432460395 856013914 818966984 849115233 904968442 803269726 487854855 320704797 411723034 360425881 949819110 436567209 499892830 513333776 273011885 535570421 133653372 110511786 511858888 910086926 593511465 836932426 934086559 732921183 687082560 978247748 403163193 383794161 906897256 842508646 511804040 512430337 647527757 519637396 521312301 180436431 116657001 271958518 769080845 177211430 637523754 155480942 206381822 995892427 671885970 470515402 458288701 275613077 582675434 242743232 596426714 781142271 995464869 575473074 873966809 250347049 615966293 410954001 835580919 700088629 124839500 137100008 76582168 278797693 438738368 174457968 291408135 358566857 226379486 21662215 976415199 99193073 477570132 36945084 854002219 755739585 721798119 413694131 906720966 427268062 597085239 301197829 650429125 99906017 305947681 285239003 72377519 525198929 474916774 484520041 451939937 248671112 661942683 246858062 956467136 839886347 519775208 600403176 490934490 118856255 682252086 303192219 896820320 640877724 59010858 355417115 734574361 452609753 45060587 287992422 9269076 178037904 662250048 41162066 422863540 863113657 553111050 245568937 781055919 573442720 315835923 817759468 962480311 96204442 841115541 158773170 789154295 162460579 331594438 891813750 560486910 11951623 44941894 394486674 786008811 596508100 387141196 374213579 393081950 942386056 771254529 70367135 798872225 605304702 419255356 241639389 652792277 817427284 471516386 239095745 669933040 306960605 493770826 247843365 869935584 945403270 792351168 739595881 70555227 446155841 926079496 983276410 717307211 583833264 347385861 524877768 867615051 762346642 902785190 716260684 689957125 985298668 305022683 503044126 496036850 789761838 107155285 82216136 835021661 772693685 607117074 493606136 189772791 323032347 161289468 994777939 159483487 885627458 165495105 234367882 424686202 140684362 898969714 100769156 513611968 323224266 654960718 376140052 843344982 552644282 891065193 365868172 940832818 628666868 492513504 116259324 862325589 977033661 828282278 787559657 709428951 739934689 378111971 185315408 259128949 283866684 996942259 500750756 779150471 749489125 968992943 468137449 428370889 91683900 582562011 565565698 398464941 237661597 268781149 535588819 106260654 870990016 877562414 763306572 284070903 547742032 269637806 142872299 332290568 799131964 342302767 376336313 412847384 617126055 528791840 165640510 702651635 554306998 257473021 684139643 380116553 299488199 880621276 560508662 592792084 910445340 620270618 813668385 681067094 659945323 193728705 129302991 712042107 158999359 764224171 109887087 489688461 116707902 454419952 68654648 797041724 150289257 707075517 410792946 281008682 366334383 717710122 934528497 711000032 905057842 815263636 709088601 415276893 344451178 227896407 466348400 617452935 790262786 558003556 176100712 226010160 423511224 539963957 445172040 232469884 620806486 997151438 384481274 970797691 746862956 785783550 108593138 258371255 468873693 917171163 631751943 555571254 769955424 190398961 198377960 474351455 55777594 51242823 967703110 876122350 859426554 640899356 901210397 294713905 189419689 960819483 741917651 120001236 256587693 174250806 715229662 997794681 808390077 217688792 772377861 796923134 98927212 34054230 570125503 111442921 276206481 768027899 942654039 684549282 971981028 90065051 991499868 530000808 375270230 672744625 237180278 536070655 770191773 425872189 267292184 468326909 134793758 634706675 619365459 401913090 298556243 541512107 261811163 119828191 708132156 575246194 290982883 637255887 697186906 851962256 995752318 956075891 722415738 94951578 830904854 413802866 117862777 101499018 252529540 255842099 491631035 950378831 464339100 623919994 71216119 685392421 140621775 322946878 666046084 665956304 131017103 190106979 783882537 329077330 905339252 291444746 662236648 825101401 854228189 360457627 718850626 555282758 668481572 870423002 133539620 30580462 522588936 497013272 377605623 961154128 977434713 787139977 733439831 413078105 90961245 177224159 83412474 21308141 590148128 440424017 565747664 234607801 47753783 65935149 231191557 939864699 302947397 635943202 548754206 922143223 493100118 475883587 384134286 569457939 702876876 227348296 467103361 366622279 540336284 814575349 469418506 633537305 353191683 570412435 172851602 836171824 526380791 481260301 983784444 183548022 317873277 366121727 661541731 194109681 596017941 161662882 700088597 608177074 206192785 364565291 508658924 244450736 101311336 624935275 969838730 258185500 666931084 49823750 869139643 119244192 272727400 596786238 130486770 612719286 300837316 997413675 84655006 394706793 892186168 365136272 650362354 66992121 205346181 927721297 507441043 844461592 812847579 706851465 849195703 72127742 350139683 15980749 833786536 656945083 286390877 651103231 234574089 654823304 132938330 756750029 915397560 424422905 803324575 237417006 931110319 826479649 439750916 64073979 49668385 140920095 577426634 487560478 183800038 805717514 700940947 652870993 363038774 665365620 471386334 153424224 271011347 539157556 936295473 593738727 230180102 128404332 841770922 299461017 761781072 788714253 409341244 666862044 96343892 876960652 312702900 921187951 537597332 796748777 958289375 193224625 83317508 349761614 75084307 430879898 152298087 510977505 573747759 393281572 843336486 746604678 35456531 704806618 879705487 318150052 778603084 603964496 326689010 334549624 945723727 315493813 490496861 114677773 87878924 81727638 24990276 531932807 435333925 339252965 932987890 909325064 486045947 941110612 504432551 49384285 885760348 443283674 102387410 154965415 489716854 666507498 879496590 524121489 334050548 421242580 859320360 354653381 717513611 186889141 453729053 488087370 948849251 204140758 940440959 68003190 232098260 473066974 462627013 445675352 650939434 350638294 506952590 725483942 264553716 935875360 251739615 972209426 236782969 595661232 371670238 935692185 642721234 862806163 615907439 824180897 25975978 898944410 268311386 465939775 605868794 714795054 673815100 819032210 859016124 383215538 161990533 50621464 188319815 234874355 849045153 590098659 344812576 939677167 229947918 536152352 822249581 995529592 92227745 926113614 420015509 369215805 710443808 864626374 156183540 193748375 202898297 605432548 457861056 201103802 98430795 771595184 28927013 151381463 47147220 445418500 349797928 203711635 822954027 73785730 90823118 145348898 698815893 394149897 709061706 683956990 90774443 272321293 133755809 198623322 634171946 878388076 382363179 878528258 536738137 971831811 920632027 758512468 590557164 916944313 228850834 458609269 278184345 809167868 520142941 18423929 896222584 160841538 272834721 360488541 923018628 926758646 304084232 703659849 969561276 11556714 79965708 530191027 896234415 514391632 905648832 419835135 360453390 725376450 498161662 957723559 608350319 199851344 368852878 387299467 629468608 679905271 709231182 823961258 137910463 661825875 134045030 374232281 74099818 89828713 79382497 527673637 88086593 484359517 698886875 513224796 722123992 871287128 911614094 54181175 291347733 726388251 752630028 144103594 314293054 541010399 701927379 503106897 731826940 1320499 144432405 424051653 796493623 165076737 556355569 70643754 54504022 265723868 147248000 551321640 607130816 962144619 503434769 342358192 527521223 215766655 642681617 103210302 12576243 772608887 21429467 169946483 763469463 169372808 320484042 72882453 1792444 232761975 644758039 352637506 25530824 201157017 320219428 868304213 5370419 310837987 296771945 414204159 706504039 907542618 858453472 706829120 34336079 485656441 390854660 26903432 865490776 7446495 561829653 294645260 211418876 148057994 968076845 921798822 440447361 542982224 358407074 474629664 764423012 136785021 296023825 567225320 894206613 260075038 77920278 703804760 287974577 596699715 208029143 912801986 646843811 217141982 500582260 49091317 703481292 84786261 433419229 859414411 602507079 807204569 67905511 318167145 815408780 764771726 139444529 344786756 973487184 949922841 998123284 313241291 251467378 839072779 354344740 540798376 637257761 762971748 605435941 285264224 87179180 373405357 725042397 419696280 990750447 796334369 498600869 651855001 103208021 277534181 45700506 946626904 105632502 21312261 550273334 87794047 885717450 648079786 398981694 125884589 85248230 258129291 826674906 327922972 968486431 939264986 513280659 517612214 514418104 966007239 273435003 299342250 537971247 887381038 330264073 939629996 11002700 547737646 997278581 579612408 651593742 950676239 917574938 28165772 33146419 171434515 485420678 955797730 144549915 453309327 419606550 265813011 230871933 5829743 537169818 747309277 178084402 645955744 740816002 265516143 623736602 388957515 499427797 625165024 195295128 354232595 21084901 744548069 338320171 373006775 892577782 479357024 250806608 184583413 375310714 265477191 949511959 183578416 809847919 213607901 537693245 967694849 781254782 746142507 724889098 768390018 502570181 709654088 591357471 554122234 337371049 292916172 155228762 755750920 189880585 366254310 501031051 332629150 423040579 124521550 17094235 824191925 702674560 17343341 863513630 972641078 849463169 247783378 205059339 816062921 879043281 797496603 171546556 628408036 706993462 419498386 526911820 301130234 549060631 638458297 1380646 671426606 770681154 471137916 241776871 693609883 616805515 5149349 234824825 276966148 636263967 898026538 390491807 269097034 983564031 497577245 678953160 748392842 947499793 185670043 884819639 845628925 255647841 345483731 882201640 881163485 44992492 827512845 234215988 995921367 591052986 356188383 543981637 63781211 932785947 76479604 394051691 821071542 48155597 618352806 173264498 527788551 333051611 471079206 243446670 639417887 779056960 143071053 304058682 134467345 783085544 725935673 113616282 284597651 519152343 560101922 795718270 538666057 269233794 570075881 178673960 630899445 22976720 957662669 269226689 593962939 976411460 237098073 534878006 930410925 393540412 879961333 686227548 817914217 111202850 956845322 303053963 808771382 572987107 773322062 67000289 944705642 569983124 484581814 367980606 152113081 194675301 578712139 893459585 247793535 189998312 913377152 433906700 661882383 656051359 797521593 773351715 491780163 444289607 925121010 56074710 50254030 156510793 795160627 795825697 57702029 750920959 145637580 874813613 384795297 680870165 850531795 713313018 49691302 631662362 767143760 616960653 662322256 989845059 926603419 155215876 963388743 806582339 499688653 752088538 793444500 431167950 745815159 936882262 317513563 886991771 232039688 765041248 88972611 202628194 283623995 177310138 564164625 288421239 279654434 983762599 431147042 89031502 382607412 44798265 912507088 17768126 472878040 45672146 715500989 92088978 568325065 106882832 253481594 421213678 751029366 768409587 158548232 462886584 978130910 19317379 209200736 168736865 336062138 239703565 179830794 286796654 377110748 469740958 321562727 454920277 857482190 329580162 217732953 877909905 181491493 870225562 51045858 71372115 715747024 345666692 962879696 447403905 139672126 323725908 508733196 494757772 332864465 30409022 421113438 457752195 626078659 171036573 192790853 710793043 614682890 334345605 417495614 120794837 22081217 519809671 398002789 481255797 891387365 122226158 472931577 406993082 561519629 862008903 54323306 713023576 910972323 329959787 218008111 787906124 738034799 393690230 363495044 720366820 721103041 101863613 153067919 661048430 853882857 76049288 85481904 892205201 469130108 494347671 579320736 138263186 912632954 852641349 333389047 766029070 607795430 461708108 293601653 993086813 624118905 257560986 57709733 879340526 810453507 787709915 963149569 864962454 828560654 413850058 912614616 747401100 317000954 856738074 434102802 770117092 653539283 770478775 358006216 608502942 249158843 974431548 655896849 206640246 570387562 68490600 854628776 357654616 341738179 986420527 229728946 161064343 459464676 162723762 797849543 534801704 160405045 748836749 45501386 798834993 416066177 372734413 569424972 333184380 269189251 87792940 171661955 721595427 935191182 707223859 444017271 149929344 94818046 346888900 287908655 470699989 383520292 274206070 333165528 117935905 509831767 804091722 460020010 838244170 780662542 964872560 639414177 924577250 372850206 13608607 821901598 122764523 966663392 899791957 370408784 585053929 462037864 219019454 233378612 326897657 549103197 122673557 510561369 682518213 880322171 374454242 60058544 416828923 436152996 778050782 616339289 314553378 547643151 970286324 93318052 735029982 143409873 876062543 457564141 315187512 946929087 693426329 451250192 456238119 427339616 71642631 648587083 203190148 288638193 375140058 625953512 512688989 950394053 821052947 584413823 840585659 835694084 236311545 970759267 692907819 549033153 703403710 251496975 449509089 247005444 396328776 39847112 438679075 64587100 922157606 703453695 979355150 942398271 476702729 287892244 191651416 572041681 208976277 988011173 897167805 642639777 600576700 227986263 540749375 288235889 728665145 938762373 764546366 778458473 204650829 701436012 341866135 809679754 904054987 461693617 833223622 281886617 508840174 730385418 133244553 803370222 856702587 372390157 601497676 384825492 579240397 603958657 582019562 964057585 851229309 762309145 499832608 644516321 881878066 89704471 552274562 897255846 243276691 393929131 405902786 750234689 19155382 508828928 889610225 892750400 340330166 805419727 126731929 330802738 285915672 274869505 862817102 393633119 658240277 36251049 542115495 354189656 55530897 197591676 494752987 253158940 151387465 86026324 222550765 471065230 972085514 264236023 376433897 400253745 950233813 804452168 429841419 426635095 384937154 32522197 453113479 920633395 480255650 254807915 261866075 831987189 222130771 3910382 805551331 429951964 895106324 933653236 828813348 109588062 928436986 498646123 554180996 585974526 924989188 210182746 284035730 309370876 428828991 33325370 162787410 578905578 759325003 224273779 580749963 710846459 23815261 506700986 203051997 320607052 753397312 332135419 328701177 394201962 789233872 252738536 766113618 549228458 9433874 799570566 56531776 218839820 306827223 860018522 311018927 69190587 235200601 292348212 975364439 807051639 997838922 805871624 553701148 168935991 324623252 254821744 851907393 244119637 224745180 260244896 99644924 339946880 977450930 649674421 74784885 184227395 365002595 645256078 641688461 537930063 943755682 796247544 249256484 81422171 490526544 692405406 60904744 510899691 613108223 303080048 493926801 326231324 971586080 923290389 467821778 334247421 58629513 139416471 857974890 243457177 152665351 239869403 858990858 956732385 854973781 341678964 361271076 598541539 786230641 765528024 128214164 866502633 876183783 107377892 482756607 921602749 381789560 34978210 760419843 850943984 819699197 939181761 348524311 728488947 363121223 312134337 247617132 289714767 746800057 700324100 68262526 932385946 580255963 113802681 774029596 260671339 984291605 382853913 726885343 670072138 193835739 994497286 737819332 807113095 23502031 607291715 84154396 365145605 308564150 759427518 264169282 494308793 912548581 541123949 589229278 953595523 915779370 236691890 700832845 471446769 416177214 500291230 337759075 255533566 34707042 979266821 254951279 844659925 978732472 468500106 229558020 845567547 875293008 466262600 56911676 628755373 556195550 159175592 913036454 474627570 464277062 509159307 335830613 198522697 277122293 207842979 519666448 332927726 227763162 684140727 559886838 139515677 992773492 439232520 732216487 328803971 404859071 209564863 31785075 105724546 184735628 891264659 838334413 1850481 213228714 536125560 818214777 571795871 549764973 659108112 49357805 455660645 348410357 610031082 373779906 831446618 808254129 899962049 46754641 677995014 13698314 446458720 532085466 295419077 261453221 961234892 115106931 88496075 965667110 769831766 323043500 662890140 487663075 948654213 944190939 989219167 716074619 79681595 48263087 255797966 506697099 591805400 356001800 241882641 698431436 323042220 354686654 381961647 311462237 191736660 519862668 945092827 387169287 508981372 511766820 527916647 699995554 342666594 753879329 96480574 665979935 120993080 975638251 763823206 68788962 534785159 525237496 593180689 366960901 133206756 372036104 244075665 645470738 620384466 320114275 574310004 415507276 940206195 469961606 995377424 700322007 251323996 654500315 90136863 601668932 392185129 844530122 856165217 285748992 353060957 253306923 886749833 570399704 562132140 58183720 356039658 531145805 420970750 553390232 263581736 173200728 863462413 167779002 263486733 263002892 89573573 631017038 910369562 514863713 501366967 464966925 191584885 399217595 604623929 685773414 404498317 943008729 717213302 38596822 631778665 197047429 861389265 260614120 944678215 39978360 470144272 533950697 369288347 467103237 318399696 20360213 823260081 997702698 823137722 729904012 687239088 542242084 951609010 897621647 782385942 617422746 176880570 519560253 459741810 302828690 649358855 129340185 133820655 263470447 949998490 898487684 965838971 451399808 191748797 813699865 859280444 851875224 146538709 65887421 337942444 729007067 36166361 553826425 314464927 614150474 868101894 847362667 969071587 293010119 727524663 943777126 54321104 870031784 654717687 929215936 196194318 133574127 325202691 395772596 18370776 605467851 848616415 807764671 147491349 949513751 762836380 822183973 35596264 467785782 737256580 558968015 545735225 71500461 341940483 816887128 831883886 777720942 544654657 580122233 952108211 316142864 303180754 763013193 217256213 44176726 401126731 409800862 552887639 718686798 509785296 718411134 390134725 667304906 273257433 523629304 360675946 94347392 236729773 301711591 227177255 860814187 126269846 453543375 913719143 175978804 523876041 356484537 381872437 770730513 409191620 61567740 734677573 579017553 254722828 739162081 622725150 394847828 392939862 349199733 349945922 795463796 524120131 795315135 641087717 521917254 542445755 627644919 557152421 1298360 50204880 534155377 720693816 528755793 504942138 956804403 50226952 302332233 407332652 37596852 32688193 817776846 97884290 151635392 436654725 411351432 982459582 214595370 517168439 588355009 930860480 344456200 819083205 466333674 211474373 250251163 242440895 41526737 446235297 296063151 389573450 237391566 986051304 618467137 951214866 856067091 571735550 24758287 71186186 607729800 657708218 27226680 494065728 489182967 570069097 378803805 24653386 455577719 134496772 322526126 542537151 874032284 150383 170281162 289123183 215384844 850021297 621599270 523961132 714210654 133504377 575301438 322779823 596640048 437148161 468138284 525323513 678869361 156672719 785642113 945697369 898174256 878208566 752054607 166545772 744460581 314472827 342933012 235751865 919799880 49129193 799490109 175666764 194246892 674673974 454039364 911899973 422359663 858239199 9004555 963181782 221232817 49821528 990204496 314311150 173887127 398672251 963262704 227176052 700476961 954486536 631780031 894297712 168142753 418724687 90134029 658431228 186577407 344116747 813013297 176111602 470571348 544526914 477088610 475721050 820666372 888443841 826420197 677668116 659522957 418503541 851599240 985609640 827329050 58331154 316807740 128816359 133517566 50372795 176949408 20169828 219839460 432052783 753821014 780940498 160691484 804547169 903666602 90083483 214109700 755726975 243962369 98254389 750884614 235068434 1238171 896229736 691775966 106382143 817929329 987933229 121731926 120354259 745283131 905616421 518876586 736816576 114967848 585285291 624265636 841348684 694138186 604235282 464112078 630178843 642796730 645895338 704769598 430715451 225259112 678556338 873717857 741611934 789411941 758071585 579921862 883434654 211580983 264703041 302425130 685437896 724565038 990665148 581001710 299904618 56718415 864551556 819669690 804169035 869193772 272419845 733643179 398565903 618292922 562106218 262734095 120231215 152360694 508141700 487314954 887128562 409074191 705601916 901873928 19745409 601663700 882813952 528525717 629683389 537891729 16994499 513020426 389371315 209720135 915303287 502991747 322900132 171202546 583553203 754550268 740930270 90284359 440343671 608817506 877189211 514127483 812193440 826519075 837084023 937788644 334974693 823167178 86388122 311849094 531264725 872750371 330359860 415618143 857995319 213288813 326961471 320358834 620463039 949064041 459513529 404688722 601527665 819799884 235866808 406370618 408864120 537969613 415099205 952774915 491558149 272275223 113200764 907508765 418624381 606883553 517450364 540227138 55831063 792873162 704342010 107020367 285063820 998613637 452232099 503349399 177737505 252866591 628502886 576071787 608544703 349789885 584092674 987012937 487555685 337925724 238500342 747857 305267426 266688703 903524518 621157963 16180917 381621744 762196904 879654694 423396127 38554726 821800864 200303191 532625220 387269906 42636669 490489174 391999261 958473131 621432067 78837212 910856594 606490892 226528268 281538767 352691539 160531521 847599958 768663607 341648532 518644894 626056963 302901799 622302138 844738316 462810129 684306950 68628311 937960143 179568809 731312157 930019690 992382088 934448224 107537438 994033012 245547003 983521192 244926350 940297223 357548045 280848035 266245935 179431243 88252236 966114320 931856045 528281678 47506650 911780702 209870015 809995702 492420586 71489201 458902568 185962576 786312481 596100841 706404614 616365783 323294218 511575507 979464548 30788665 868054238 986758938 794772227 426771657 924113411 620905493 275446753 956285844 957051539 648974534 619205879 631471517 323855408 765800841 429592986 268720937 125968146 348686454 446492411 741874814 374445098 573737526 283853511 684519415 649393 31692113 720231957 793720519 779047445 657035408 335761961 781348738 604032524 759832870 545470899 343082722 995640205 559596585 468036941 428247376 911806335 838735653 584856265 116373178 244365644 810628673 189847898 758856474 681419220 785504151 695933683 781527148 267752457 582332005 250116669 886705412 594587435 26683401 155439045 738097530 859853988 19498404 758794640 474494533 162850671 545576577 153011092 984923428 371822738 301934150 577346609 700400274 193865530 452188106 886819290 143102218 901030836 581415593 940039280 494406651 185731306 443461977 545286286 673235647 902539062 207550391 190952664 811663969 352024519 470967969 876556160 44858799 816347790 110931862 217808788 422721037 854687253 570175543 141128102 232782817 132738593 908364846 954751037 235121508 609388619 462843406 260492546 224997456 84870734 958092082 626739396 410812624 403181901 885163839 547335609 396988792 286214307 437433622 943513277 761564484 255666795 99809803 600602507 148842304 495382813 945210090 471389632 425060832 185853528 972394836 192636583 28718261 552019760 695482096 411751458 129298841 612355305 52859882 559419094 723736276 690100851 447339562 840789760 323073330 451777546 175636277 367396703 590097359 553707397 254529631 787622124 842433351 300679704 719988117 314436883 40503613 469561879 629381400 413979456 144627982 815242812 873176049 249979429 887837563 798065121 868778584 441791482 184730302 114741978 885790039 927112657 735070358 589794394 542501395 988019884 907226803 790847445 954679777 6613099 707103499 318776880 815536850 318830127 787056176 803199184 110126062 840172453 643807264 107024408 44564960 628690071 528404307 532960787 509051199 948808890 62294549 632979830 284368933 748362312 497565049 883331176 179540443 301903362 9146214 83023526 33142904 697375151 953637604 446040950 730521385 187088856 802171705 83980207 252134068 435196980 184426665 127122181 590857779 868530733 732852027 237324510 283651573 708810940 468712560 505683529 250931718 504656997 553413771 978773256 461130527 581059963 39876484 817045879 100697769 958122402 402779260 930813406 823050093 671529886 768606410 381930638 644376711 47789949 422311476 695081349 121646419 727662386 755850747 843901 627231266 43343352 78375810 266365145 814973329 629035421 379682103 971885050 513755490 76414739 836951881 988216137 136013762 170382705 553459087 599657291 872794445 966725403 479448738 541638854 372988702 796103975 734261821 783255140 807328968 563371399 95680380 365526914 68873384 93307684 757158000 118982049 743930466 936883520 435523769 716720900 602296811 319121179 690283773 236278155 67682003 531631414 729716119 333917295 127801984 174504910 467282013 88323349 696459398 625800870 446820671 581515904 519004041 963738295 375800027 632841732 913610926 577682016 598161058 227832162 492114750 41194613 41212179 108409237 185460351 273629301 859954511 142541689 10034456 163920759 593910388 142390068 963607646 391405468 718988161 47273994 354407777 579358536 610434914 438732083 526981663 208138590 823981343 746334218 793054262 343425862 767742729 332108554 242817993 786183484 945004643 608570939 895819116 279304464 795497723 296216899 860317799 969090539 155529559 670652328 704233144 660886444 316238501 675613837 255737975 947260720 909826678 74859816 416346930 231719057 478850471 160011219 921985041 570298119 724239589 490780067 649225599 18349124 781816164 169380513 138028944 949412016 391692898 178475290 739123787 536422699 839531123 861984526 169861236 824936173 505851885 177522669 286362690 28779187 152131669 477535827 791396572 66885621 373681134 961175887 892797195 536153292 632533457 908577116 929894229 271298333 516500847 770245613 687875039 386983099 863354361 867112518 291529008 867437323 718677094 731507285 844607948 671840619 355428419 412841006 92453263 538640977 538379085 391200586 789027102 401471275 389838847 985921943 66837332 142007030 102818362 506757608 476608314 947184883 386172556 93686514 411946134 555148436 209842234 101964699 731999938 832086506 547055680 147528833 37286931 850991653 466320928 994499849 535105724 883607609 292712663 654639187 287007541 690029683 54451067 928279920 240802403 935394661 337539716 837076772 845042096 343255435 285298317 568274556 382756960 823848559 222114483 884295748 584255866 27569481 225864108 204382602 468647111 850550128 18201677 192145651 790860061 73687692 536475485 930271415 3852139 183740105 435664613 542212497 509347043 554667559 709597122 608172947 107684524 556508187 10070571 383421372 599448117 976241475 566968108 835054350 764759314 29327610 520973020 479196712 115860423 743432894 168521463 138746300 378249114 185681973 333772454 221282684 271434065 751623467 158202130 745746101 896438304 759025944 992873835 439661381 779811618 999367924 685462435 278615546 481845083 486837675 208014962 510675911 697614029 557085137 232803916 987417982 334069023 216676771 638697475 888881508 421098457 762985454 543520201 521566384 35233288 358391595 436231143 583952250 570499323 171138622 130396457 98683798 252096314 333801461 265349604 926804783 472728755 864557861 885288915 663747229 56918425 760753484 243829406 517346874 561874641 169121749 963239578 523612703 63733956 895764661 887478200 210851917 665551086 585667906 792211984 511017475 909458224 448483883 823257365 866976912 559239248 169756914 912944668 551463080 802298046 715061553 397096465 318713170 437393412 718123841 703219708 998699519 861206562 211868948 150384666 478490965 312435612 760385272 715877209 570185890 413749921 478319355 707386480 737477442 447450265 995416209 823863992 452854540 791074599 273427941 577174400 127467771 490706792 51801824 339676028 44513405 137701702 202142139 133331935 849300960 364945701 296682747 893476456 494248835 673462782 501284103 665258636 457631647 221829772 851158234 348329117 734057019 18352650 644529897 800641956 690505909 477106709 127609660 31320376 660898947 852602732 103150321 263908036 380196749 883324158 854119320 907498893 595873622 642242467 246614933 898800455 113397976 356476081 494934843 562248057 863465441 789207561 767079353 929264936 595268342 407026077 953236398 369747916 971816191 568571260 851492561 657507172 209165587 120044533 780675645 532496585 930426148 309539178 174555295 711579418 758447614 784863170 451627306 111204724 358085879 162982092 617313778 714906012 632256003 230217042 8368224 869539669 403445543 328832184 722415120 273535543 869973340 637708671 762275937 542394089 612879867 277862283 47298801 501433760 282082384 986781811 59050447 283864247 399236643 767432675 659643880 765489846 608109579 708965784 411404109 352171106 612110963 808555419 216438060 522920948 897329097 321052078 945451701 512902841 659713391 451730568 744457448 72407377 654560719 913177829 644163441 510066012 145430688 732423199 486514690 275446023 519838280 175813789 487248574 782249000 573736298 731019530 181960038 942627432 714156407 994598539 958580689 604403981 346746207 888519624 464698115 540654362 650146317 538072085 344625891 584706136 221973554 385031833 436366132 975622328 517094828 87037454 40625675 132185518 46107959 948392533 778791764 135328159 107867582 464887604 434095745 234505336 381455489 296629783 256601789 78396384 762938045 619866625 832462790 816002517 161766868 539918192 799421270 979648925 137140384 868142011 59762758 588164432 362589455 593259684 127033463 515820739 34504956 689768889 873221222 96326411 748053091 140255057 835233164 831245481 539808334 245369088 321086188 477799452 16263593 957573952 309981308 10919583 38408257 519829938 586141924 968535222 511809870 281420719 381174039 355959994 875570992 365017058 734128546 533951763 203749836 493092831 503208747 931298073 459101489 197376394 172318316 993956670 517403996 314930315 702210940 420835872 224413857 39457175 680022460 12554321 322742422 894938077 565106329 254214665 540977686 557272328 369025300 544059399 980564161 534998702 867460620 148306922 223262185 450298827 653339429 406187459 735873307 905334010 535188934 63365445 317652104 358219285 4503538 399671690 141359198 369753860 118983539 805662870 368459409 32246216 363893162 575305122 730437658 868624565 564121101 641324538 545289799 36496442 464291804 828863898 390606422 337005637 268282022 637553166 52391371 782400538 758520149 296592360 134658261 673889913 599755084 946400390 666213490 529852935 889162841 90963044 915441937 386056019 100370907 23260921 246741399 522958961 166059324 237133600 44664368 56522211 631899997 867528944 988725182 906555646 50378570 233310269 265162945 679920137 73736019 139057054 678118585 587671632 915798069 780616179 585902538 158130395 220839265 937670396 173085849 45355747 870824399 29626378 719530816 718273408 591052114 837466092 850163546 595278982 130412856 605089820 841053936 404204211 374256905 718563301 544513564 623010475 672429878 756238293 642325574 334880073 208106114 73198433 184854353 619444771 367456165 208669843 350936156 802089243 945870307 634012242 728057578 844477948 337200004 264109899 701726793 431850005 595292018 345363717 364765248 74539573 373307949 723511293 65977204 328478356 669320923 282979825 165023863 442608624 4409483 132276772 308587579 419677365 825471073 855664466 44931846 483373604 780574807 349884859 755253703 545426742 914997160 11257147 184618577 312523043 767470799 945641954 837293810 163218835 65944845 220351565 560773687 426167391 637431925 926079162 123844278 833619557 646136810 28506321 309991756 888444058 684218973 442761597 777283190 230239958 946324744 378971729 619979340 621281803 222431273 101643112 935272565 811185091 344888237 407940180 566924370 74658786 990581918 210586821 536268812 873430517 130284955 812068172 649449450 98323331 940616499 100693305 220589398 459162943 454031982 69611290 857093577 993652233 65130593 863555265 713889228 547641818 712267567 523357827 69402289 224921180 10942643 26354943 40789447 546452896 597459494 952649726 273189943 717370485 29539141 50946479 642258822 536623753 260207924 507969621 207671436 495779648 198960639 344934926 793814093 506872866 263047820 215794260 871480799 62806941 749924672 763585616 694569299 931796706 944328374 935684689 775435462 262843357 592561100 926251485 823900363 609878826 732747999 996469039 61159011 612368782 574968791 794311790 965668462 85965384 43021961 346427194 274748639 961782615 234744833 738365128 762085653 722479724 399343481 963890843 220961926 186385981 576610345 647484613 97500673 874052027 440750859 687871401 100291829 856498910 689563842 628771310 331034888 931720612 581554031 416318640 255335622 618387250 468809420 430592447 165992874 786927813 958945205 389679847 450612546 763895585 303241097 446154970 362440538 849283560 371863684 402631454 693722129 151630829 65310241 172025569 895557240 274454026 338466850 630659334 685764462 680246447 911587450 820070512 19127796 269893691 777949390 65357018 162856552 421525749 816069264 51643710 5632133 846723555 902523116 274980439 1547372 850938151 731834013 991936797 187648527 604377846 11412636 381694372 413269354 725114051 155071987 260395493 408547477 879726125 562916255 840307783 748804315 906181129 73418438 905877997 568211354 991516411 32240213 360064046 934995083 390200934 966506093 764300557 9143860 28970351 513426391 834579912 222828729 452187229 864710294 182733156 343772788 834682102 769245650 888611678 946978418 823667301 389788380 867905785 126185370 475790399 9056394 17375782 29146440 180923026 161776572 781128279 910181978 266543143 782173454 962482248 393821243 196625465 727085958 503108598 537137509 393545546 971125905 216686498 66339404 721112357 940642562 449507294 466911223 645565163 908585423 727587083 932689548 950620345 467056646 27953979 441067612 71540133 692390095 96126077 705871894 895944507 270546115 360504047 41943626 943835967 768056181 86128760 446119702 436863157 91171131 149815829 253774161 945584932 209723440 885489562 328348445 893262166 221518347 909901816 302937076 212284340 490830757 183301602 878374947 308055777 481107086 872556534 356902840 994208802 2942351 413302840 674172848 953262399 456173338 615726016 142411714 912750414 237967474 374983973 154908744 640082768 926550350 350983926 997320728 152400067 840215614 851969609 147147857 306616545 462210618 899130334 30520707 897656508 477548066 810276834 366710337 358644438 173914275 308358768 837811913 523328569 105109459 118085238 321790931 786862207 113393153 137811052 968776650 22105086 199376181 397972630 668501134 960391603 245643228 598644957 827428990 944145140 491554766 919919616 576358367 163165717 632354891 833578426 337014951 649254309 633227857 398434984 763798114 123595601 119454180 631564790 857704127 777201056 514468017 618150025 231620325 422563403 553441107 52783721 48325220 787014162 526010772 367596446 642954907 496290956 224518681 875957207 585095446 410148282 60373220 879136432 433024310 224042215 655882824 975843988 693037200 345858368 451204684 68727154 778012935 770542405 210985795 643849906 292290948 935791651 832494651 13772950 40256025 410531909 393713292 634238629 415758853 130888415 484164473 805675126 562096303 887626986 486067055 541225067 239036827 521224987 36558501 55155863 856023395 37553871 274610330 602576719 979137175 929802563 823985926 642840456 437494229 696602989 39687595 112593415 395976471 319607907 922202946 289521351 608853486 725417304 980577833 208719570 835528337 216866222 915222257 576704779 508592268 728045192 368083859 586957949 9592331 76495752 904198483 67411047 200783592 9602814 167737084 962663404 51901524 513278945 129993620 973769199 155664888 671764457 925287882 489528458 545070992 134179004 26737534 129903629 550004284 557093864 431232814 999023446 587905996 723173508 653985659 400404459 28120198 286789179 119485713 227767572 636443857 33471448 438333849 234398970 96120228 994965594 451392461 419364275 776469780 107835170 24999726 840039262 903195147 737925722 142959654 558598023 992101366 339397808 784161642 12065756 649541029 883735439 217789911 604645693 244235168 784133540 810981011 199890141 636637022 477440630 924384560 523263498 814848928 864379661 856447815 186473023 319712511 889756105 260226829 142730306 964804957 187259051 65150652 64643719 19890220 831154653 431046692 999165680 661390268 350714878 974321197 789078950 580614490 885181822 841865787 821630371 735417556 536083249 893151615 347786801 76346639 652793735 453788116 807669264 75971383 28817633 763159265 571293104 710906341 16043410 457523428 621837422 435910140 538357790 699098755 491179091 581209743 146640755 96906119 396486905 510768703 175492900 254518895 285864237 178182535 652862499 819672146 271658512 583367299 513191826 940833837 143962590 677235617 89337853 943803775 136389900 896211896 705622882 610720427 862156884 757981679 990631320 872438251 617889208 810803379 839585185 15352044 19130042 239326241 29666612 430620587 411414670 162338057 912300947 399572223 659730668 158405452 520130082 514500333 889804945 932859942 370535986 480037943 832593794 309930697 154752417 222841630 532408094 337967695 152475579 448023889 915618608 151722743 674178818 482533540 617223549 884070111 528932606 56935993 600469168 215278859 187338634 102263924 581628473 350377813 672863667 845539625 18737608 592395039 912829941 453102986 24866998 877673208 172796003 207757962 123315133 94248325 157076827 473233478 207163545 483194723 644948309 402088771 47981511 950510817 444430779 70103034 112080446 646415200 827401801 118285766 390527990 819905459 914773161 234679885 187845912 756205852 623773497 673984023 847020032 409889943 381521216 957972565 857925270 196405800 897854415 457003376 832079526 156908434 399396054 143140896 119966762 55989628 614222392 203987616 502397409 725284467 239218583 849503918 778876492 156452394 425490954 286274019 5065563 586360520 260560172 517678942 393865182 110788611 298975241 770204948 631530114 351235007 143968202 275949262 907846888 287485971 91705907 530174159 264166735 917189830 933866335 208460178 215187728 814067358 19925801 592441462 186282699 749250254 609504174 343056888 535664991 791570051 874370139 415638599 567509861 18366924 951727772 33159099 660858470 345324537 243670318 719937661 915333331 358181992 784320572 574663930 703953721 171784459 267153654 963426156 25656129 325149325 61941075 968103375 976149571 341701323 997247123 707036053 794431086 600668939 438692815 516506642 884955303 100666866 184011907 796265953 167402160 406390869 704705943 262990928 44411378 172140679 742043596 261272852 612651549 651222124 343769688 118881087 27501053 624233793 553397876 652557652 567874304 878954597 520824421 945973078 279801926 969213015 286402397 74824928 96283719 982936256 886839745 405605243 453383455 473223299 566703196 188913670 277791279 656709612 152328293 441919563 397658345 605734949 291549823 596725767 978680509 923233366 139469997 408413900 911502693 930155074 761933087 313003868 41409564 534579822 432189609 195588239 972307555 937128325 34362217 981394497 287846782 296172408 107886086 275433672 943184722 493976714 401505578 866815940 291511871 720435470 107460558 501451893 738126333 349338821 287763321 766908191 738145447 695310901 876294768 657464670 216727934 128234830 804177654 617059716 355139026 35511698 126964798 247166882 332213983 850036971 212080651 836948810 907482666 504929251 714499098 630309822 134869684 637963580 216089973 623056211 5896756 743676376 993805154 806076714 935803998 360803259 861039541 544897323 490562983 604240795 168152337 621403117 530692546 91616444 641347024 114677041 405488839 213865331 651329603 944531118 349487612 920118038 466142541 429153164 736231248 419148339 745770414 747016090 611211058 615925131 217596167 529044774 766296405 706584517 858004036 538889851 838920873 642443194 894108984 545889055 683065036 775943156 92683805 166642117 89063286 783277975 615308330 498938915 614957923 913918094 599669572 379779507 674884838 74110828 672220245 726716632 782983766 737689509 130795122 604997343 531911901 82327469 679957222 420397831 386059868 23424131 372845808 174824560 821992734 342447529 817481241 462758941 767315045 709471646 997721960 172933488 65073829 811071825 879326583 380703698 186831025 263031729 280257567 935955283 985441141 1734364 606579767 31181332 373723875 598578385 122797277 567953309 708169328 436628498 187941057 417281645 112828701 589297662 672179969 496557091 282833002 267778977 38873746 273876110 791041787 467313982 144444674 5413715 780925218 761770322 495649259 885912552 254816966 568339867 63953286 604413004 712369402 50532718 300400413 793953027 752930220 945097046 220120525 768313195 562193115 341627354 956557641 650032445 722480260 571179208 370653160 695262912 908949588 267953104 675624502 641866953 365598068 882688634 585116117 431028336 656179999 492164227 919663815 661051174 411368948 675750610 566897882 92533852 62935071 441090020 376659339 37907736 751277731 268046248 539119271 968058183 341236078 760254377 27731760 589234507 196739811 822410059 344182718 959293042 140579282 804397746 327975886 731802940 931370686 657580431 371395780 391961395 12037477 176315046 476601947 905847522 720244169 925192401 586804843 901940727 98510837 560590701 594766224 845664673 610837975 448500128 597083986 591501204 382521847 963661051 151851147 60005407 803998021 614233922 963122467 158672202 566896195 851879435 637469839 994413740 599786233 926059091 117311482 125482330 640996622 168205445 382470232 180459133 334311167 629733057 519424763 216990746 724566744 376981052 527894604 818743896 485266444 699613919 949214090 141043287 485234707 334755980 675067550 396864384 500767057 68474724 938807791 8577255 427100222 676549370 88464600 959655347 538482257 975675217 851378099 831803081 203832418 951508855 893098250 220044653 828698489 697262379 365243548 954797828 403743323 516956226 581428846 158762045 742152718 595708100 164708936 403463814 769174453 862457263 477461848 921430363 818700956 122014456 370449153 732503164 226853584 105079851 504312704 868994603 529118916 964680932 255711996 936863972 296532551 368731318 167910604 126072880 119727403 628268138 876653954 428405772 840485120 456909750 253720934 458232657 739421998 113883609 769901052 979465970 719230031 151773973 7318674 52634026 478483664 174329378 583554989 107773999 247257662 687437416 346810650 406591131 283356734 341950654 968893777 37252308 74186974 407982081 694176012 140481743 644008052 767130214 78138987 955731304 879501759 14828149 617425031 430190475 573042287 303150019 67357987 37202894 575376062 873821076 597399345 926733786 885569594 709066207 282402896 613630015 211253593 475878692 907559926 965402430 784371546 819818955 410978880 196292193 811262020 541051495 679275048 739063947 390640353 23616390 630886572 868372513 575291884 165761737 285493392 238774464 219135039 172258308 941721207 536821103 163328100 597533544 386380406 847699627 150719849 133139046 935493660 460143673 692692765 899097322 543197262 136273974 820481237 398606708 118893710 828944029 62578648 203427973 657153505 947445960 933474242 89824012 276343927 760609051 22477720 274582736 990382271 938038163 140643474 339496521 847922423 950182604 301195814 365191428 883339279 374516236 270106170 688405203 609969466 664482299 515487878 24389020 812964195 813222253 785086929 847269191 55389116 115018073 351491691 11339777 584387126 25868323 663954293 510988355 509517302 194343388 523232573 432016117 775546290 195857016 174559187 749881127 660669205 89209247 576574813 78642661 991535544 123936110 175807729 176354650 966335322 429084277 576049471 369107342 119305325 395497882 887154151 532211437 942322734 782239047 601127457 920762941 872127853 272276438 456890506 252131435 733118470 995214861 744424444 573010538 931308352 187484141 168425249 623006122 394172801 422086303 616963083 77519368 980810780 258649635 276787915 700457881 43265714 141710796 953312713 330959426 145366697 120595278 510534438 805949544 648033495 605338962 265985061 924974495 988800990 362076477 378754500 807276297 193007608 8900725 892599117 77684691 727012075 727362174 854246517 468895022 793394308 754389144 163376356 996560838 453410657 288646647 411369552 325367008 803725454 120964857 24567420 980358467 968991581 14287341 823669539 511138166 676378880 355137141 77005550 212024821 168286310 379481920 344661700 409144773 432594355 27434480 896709493 528509728 420322638 358409869 211012780 421838828 887855640 132244665 897610964 814771116 672221253 388698638 893015783 75715178 318216078 908511818 387705754 2954768 695403978 225754401 174968659 4973980 110365729 894596240 172315518 524300230 797752137 510224777 678550415 543894829 429059067 648237671 426424890 463194978 186650531 197264521 658360418 788719908 873826408 7642989 300779072 29843451 798945916 33145040 451608455 295428339 246005129 302132271 479239755 909298263 377234995 847606749 455458062 169711235 550199079 720409845 438335960 105900306 996444513 583569512 526208695 214889470 668661161 596321783 379201358 845440267 899775013 673003424 92186716 244184747 650735259 243662058 323318999 296300813 46773470 128009403 486541210 686469232 835162574 967885854 100759119 911987853 239297422 14549740 968649752 300036149 393988307 303987168 618110260 359336957 305533811 53163085 750868958 308982076 662169108 559022078 908608061 805533135 757681010 383621341 954712928 809361580 696095205 815395881 396768643 905893289 557547475 256255884 615639568 752318168 209674740 683804937 88790762 975088099 115951808 129361280 119514596 323494903 467099360 306414390 828486924 946896319 218139947 370308177 3354773 640028217 421981966 670354674 60499405 352018919 431787496 805229572 63352928 166823123 373569674 605103834 26823229 107014297 828476340 127834212 291649176 460994567 604200855 930593983 587126564 135076559 571694607 652259525 208032826 688947892 367909443 458065318 583192428 719785192 665370350 809742557 832931103 416420951 133860991 681889672 436723912 402965117 800176333 650756300 472436956 557333966 657774803 750276902 842089191 187267285 432781040 841309336 127373191 261384988 994235612 213978264 659207419 417844240 716852507 250271021 653362793 424286804 501824390 569501114 49289635 107557816 869861313 329896893 473466356 564103497 678624051 64778095 490641342 181139507 312116573 613278722 732977016 879011292 245635585 572035753 811556422 97220689 354505078 802331578 460457798 482327789 892213390 16297040 314468100 90916890 3758800 260071812 750869277 303952995 243416069 287576120 929334005 871978560 197778155 183074194 199698482 886126408 555007153 134402618 932324422 976971817 82099808 468517476 453451009 262907633 809099283 658613299 951463806 229186905 103474274 641799217 963037397 31218906 676259768 627348565 326376431 57715784 706994129 91384983 834499890 153155617 54885896 76158939 190898342 976949419 154442332 585044607 61183226 735055251 860788148 100338007 21746818 480467088 876077595 302739719 974230197 681737152 469860802 808571318 362477580 79613723 693786124 852475754 834030701 519155945 25925442 873471867 654448267 540653036 669107092 933107392 129451335 316754542 785095566 713423081 982884317 81458197 899667145 255323917 621379116 885715980 212465346 358790528 78586142 315410838 675386979 900014369 962025925 291955084 9190476 361594169 456019563 611158353 943699531 160684005 171651560 264371734 281196020 738065729 328278863 974117329 84135998 611546329 927443840 257018935 75732978 762158170 44329813 912019647 225469373 575220377 455896338 807458372 394510186 20433920 737532933 729753195 350650526 486491857 991457405 165496197 622232467 608372055 557896664 95016341 782329089 663282133 586048525 606961050 116111988 513506145 127556580 423810417 969392616 985836840 599190627 544892430 377212033 880160648 322877522 631414754 900569353 113824382 757923999 529939513 418117035 265968657 262199464 509441434 311494677 935512794 548205620 649138246 716131461 269262523 349339342 374008763 67095173 168410438 132257549 87300644 38464377 398180522 349751590 114119773 811883051 790443507 637783931 374874779 275764274 357710695 298772448 138655676 636487873 679628212 810367338 282441901 37562797 351782999 310186647 489652000 606938775 849070809 116147436 454681196 54323754 455319547 432841511 626852468 689747328 827269619 191834 96861135 166937351 595796181 294787313 516413535 405639745 868251709 634090738 314899110 778936044 329882196 515159597 20430359 170866913 783257760 161572120 916018114 305451576 234128146 913312221 649079671 261532199 40862626 740866708 401940556 146193064 608405702 399126990 447601981 856093559 831113079 892091991 787569981 29469201 208930251 300073490 447885755 22625516 989371755 564562632 682680808 907125192 794482815 189547555 680977685 507091672 512588128 103122363 274542360 239212744 959759214 654405771 405920910 256502864 511623265 827322890 369198674 425434401 979242535 429673742 51814154 350939669 605506212 859932096 438767587 602346825 659082414 433891824 263940311 129199424 199913020 608776440 181286685 910663182 744678457 600680047 508013527 424378765 729449982 894845167 139385745 816582418 334985310 14633508 115100384 420500186 464078367 742939197 749769222 919905381 567662297 548108849 91120833 445364693 357364424 505867560 556638827 376919673 338870620 834836048 425673627 869152387 727985407 434742372 153192243 449149770 101665352 515526082 52913854 619227598 526622825 1787373 209845663 409281413 433773011 592054427 101148679 330196855 83494458 936375858 878093996 383203578 511278518 552377516 88244715 838958967 983101906 340284619 647928860 614512154 505923961 946113442 640179761 734308420 58721515 754223772 440693097 713741114 574508833 332599484 370961381 410970560 820709484 279772437 375176755 416544908 898001102 943651101 20209272 807461638 220540888 580021295 272560058 753213271 278966527 430859572 597319592 436586796 805363591 157935169 69727918 654144113 129523185 823104049 447021480 266828707 181302491 20388985 707022279 725148513 988745859 342237257 294235773 926851848 478554969 532734411 488092531 699717072 945467621 981436985 231993136 935104317 7260317 975934679 857505698 113012065 816842238 691271297 234541597 324891896 123121512 130917051 326010038 184248180 193543432 580328876 445426852 150005341 312026988 559158244 414803035 591748936 388100076 222347210 978409039 349583591 354325287 973229332 572055942 90149479 957773995 202634589 323385677 977526615 742920917 301046364 402449509 131778575 508901098 394861390 864778743 639205330 244262777 202913330 779625867 78061467 967637557 595338863 797691683 821584829 610450236 321131064 200002195 659976763 235419380 639909068 752098960 507019661 721056736 767341299 439389800 921496156 664406660 448018756 500606665 417736828 581215368 197763901 100701478 263791904 18512678 136587237 453449713 512841841 696388435 584321226 674395177 639820650 842256960 618585577 571372326 253448238 153270093 401387713 915271183 951445066 141611370 523129960 544473710 395561321 432208858 963684406 58759799 537279594 582915376 258603963 879604532 430346422 203208025 523593794 853417774 814106675 936429239 833319954 623415013 534186002 96824763 59391382 453170098 582513054 37294777 129117211 462911443 81878397 623436694 585970855 24225023 773238732 87716452 568007845 827609306 829476689 775552865 287682510 280950842 79775327 819022014 300978570 591013237 472865467 760638902 618444348 805778223 727664562 24412791 265347859 336095429 36870988 233995475 983162883 93939205 262544257 397512251 399951379 155432695 42854802 644945544 511466226 805138998 486558215 249695041 522384018 727040934 630145650 395484913 637608700 440381025 845759614 218587828 328743165 352865731 877983987 398266225 912774593 506814239 581451106 186325354 265601907 823421095 920611945 96819230 992100073 161199343 953463039 554473136 91081097 457278523 404329791 349077866 77269775 511455203 439036528 934636909 961602677 305442905 515565753 606205585 311179524 487187956 569369159 967162095 713385431 818387 491957682 440322119 701018455 776448367 680543806 751623633 48719179 573218263 246665742 298058329 844548609 591363800 927189775 977725385 651529997 648521347 811774185 948321081 234621193 319811472 663000787 144171160 186273154 184050767 600913465 915540361 567021505 497887939 560575362 894616168 964876734 88616436 615221429 181085383 481106581 854234477 742881187 138319194 979474884 957149054 113625113 238252600 138264676 979334318 388298822 222186959 164584665 31632602 501689758 204072258 704526603 6671564 450704764 73107515 137599685 804371360 433055742 460101782 861150893 629622796 285376557 803560799 199766106 193023267 358176670 450212650 449636892 687029204 691792284 401489404 746109605 119031625 468609289 6476494 625322312 812180130 141216717 746344876 561508947 729508722 101922085 23215504 954303202 527183011 820175205 631002906 60207342 1775010 898524836 703258403 957063588 983302950 565647333 921265551 632964791 510501847 11465906 413363519 399699318 720451067 32606398 143718106 397462807 108337757 319603953 141976873 963685813 610771236 596103290 837479230 983688795 585194472 61792966 501997538 628739085 413072600 429556622 49750653 881532038 795043387 731541547 657959677 543959042 673565647 352647394 484663995 950446299 278504366 649729525 93710881 330267820 732593144 945455700 107391204 145284628 323166362 725891332 735934164 274405439 342797984 265834958 800337178 758470598 811692394 413068572 918373480 440734624 346447291 482218766 578901067 436187739 53763051 132830127 578890927 913479927 996316345 897257771 480245379 722998378 614088981 547340292 502441258 536841843 630213203 80296098 639485774 963504117 926121938 134215294 711826905 780701900 638147838 697071307 271687648 546332913 877352228 877157020 556151409 732567040 750395924 494706927 821893881 179622687 649901079 285525579 493916659 476614990 77030852 510371178 616228911 383066089 417034922 386593871 833926169 461655912 695006143 727973534 206391273 699129551 760052048 411150949 213680397 621479715 358692290 823138071 928950134 609363281 655308892 532029619 789883512 399679107 919652404 251437284 170205379 528664187 659531103 954306209 763613630 462798854 655636730 193599386 578462036 579796615 440559205 870039840 285545607 832065553 294625826 544512947 745889992 818883502 284080735 417906307 562683764 446132883 702317621 365283306 164327518 114404548 277649184 115679319 719061101 812791378 598035894 156962043 223695979 113851294 414758606 455439414 767990064 286663463 403450184 266677353 384769563 767779766 676237982 64555911 313285990 1121553 741860185 622493040 319028314 642041201 620080759 951142173 277298452 982024321 606159292 508813781 377866662 718157186 349457576 218495066 186498823 598278054 236587773 879242204 150611026 668601324 326454272 489329385 322841139 243251094 3885260 3618231 349595962 590311835 9298546 319369635 243208884 317487505 356557635 999428387 536979542 510608321 822664275 770474646 612893414 41327870 228886808 952195840 408650504 598512962 224456629 735332612 395556549 161103937 781774064 427397318 480262499 821258235 3121835 288525107 453223050 418128370 867623939 651082345 368858531 426542543 36979243 46710116 753787813 554099383 521911668 997435803 51240135 779525857 285746879 659862070 389350415 284028588 287129549 475007131 49528916 258846038 509603631 821553839 431956156 338073231 450699680 427407668 236646113 939456033 390461361 712823155 631971954 669136027 194069719 439979801 280819145 111241075 619165133 335199773 447771565 975592580 416281151 336273828 970634474 525241773 627328484 281652260 267565892 132990528 800365441 816365096 969647439 956675663 457583924 183243260 800309049 460934987 176189950 568666391 882955040 940440713 679487768 429047336 457151717 170959494 658270296 246919971 32915332 827134761 89642535 134467173 615647340 784187413 991212049 838783363 957219360 504827935 367668286 459763277 208023622 690542337 110251978 791730438 332982740 897186220 834520245 592350571 69372856 868289852 367914522 343722195 159148071 444836570 87084951 576126460 698122381 496544242 601502561 300223636 202348576 823887338 604782091 280642418 660942633 662487327 275732921 810933596 217330077 379414975 763913195 300915663 951737959 510614442 455680815 575424255 321332164 492356278 286027224 945053483 384600390 399194935 198505320 874385472 743204283 150098627 492105018 761322150 481454709 180274996 369339384 630288627 873310536 125383198 712407809 822577848 918478332 298345069 17892159 341231892 239882320 920397948 654805368 660807686 215566865 292281837 651883724 521115580 917364979 49539061 260875285 740246901 866783687 728216460 148755573 764866377 332407470 75314880 734725526 881042215 605495054 634465097 788715976 397192266 572966077 27010385 4857741 138952508 993645573 693313338 498563957 239574475 361232783 173998855 819429072 957431279 952732830 353753931 506573605 475958553 689878784 66615838 350184936 709244924 391282231 557676109 369140410 498471964 634227892 720001396 502837917 423506894 631784293 730525368 276191704 705617764 89343898 776264627 874974731 641742511 212219085 383309727 731269080 969108503 610461798 966708387 246276546 30861994 854709850 831816522 114272508 298101229 190991827 210179534 400335298 28579906 398772647 173407932 927634675 413696623 325347026 793217206 383177140 266538811 539276096 599379073 311149201 431221846 485085601 864590438 181917838 842503990 667563742 715927741 882962889 83220661 177715509 366606183 69567609 949862273 428664437 741829744 839867631 170967521 408402711 389816795 838081519 147393619 420292863 541809540 641576881 915502790 946369361 151679021 624732864 41765283 682708683 540012465 829139817 451824364 261117430 980046091 724426290 750785726 588827656 219054271 799073536 795660746 656883418 812543690 309168495 909513247 602847061 441627230 205069705 17420101 826509936 695688810 950055082 310666224 348366486 307118670 736888058 398989363 782883217 647513824 811724595 914589757 722202745 134865999 252961196 467221557 166764873 69587124 390294868 124068287 596959696 751196345 929881260 446077695 238730669 251625076 584310844 180786033 832828768 464515945 512676921 891162749 773390110 905327743 829125928 596859566 287624666 914074594 597557779 243165228 595585215 460612632 119417151 852983960 550048282 523883547 14080212 194730690 757112788 50052455 812023020 338144806 83183719 691790255 527603584 804282849 453241601 174745726 641949428 860761038 153182000 549131999 70028706 781456745 93129490 179351930 701228634 419855224 29783644 100386999 649642891 915151262 584066737 115449587 215561795 45989341 320063992 720704340 483398073 991388323 671323523 197821600 709843969 333228177 994214785 230687501 374501799 365210810 458030553 379258054 951677431 177620890 892978686 185451871 818497644 944303134 69314895 946576975 296217819 151247885 982459096 471920843 295582440 410266163 480574534 303190561 380247365 280615656 225087694 232888356 867756833 657051854 154416857 706011616 766421855 172924044 845076364 598334554 977788478 615141052 19361479 516876412 14125230 104325857 867437126 739461773 824050528 919440084 19837544 938884000 511406603 95694065 37167606 333598278 239037828 308538416 999758032 437049115 915328469 322745874 328660114 360815414 20801487 111508478 272852810 982270233 319978835 64237050 975848620 535434472 805931292 731497182 527443934 45976800 178784104 902116954 612981407 550369241 667421506 401563861 600978814 954662809 31726355 828987041 134125770 715007935 99119607 316068915 837177297 983409445 533788571 783709799 496870742 408662024 982783736 73099947 678426729 786171512 38937693 637245400 413782978 687346213 64018048 318403489 308886041 384413446 203259075 944664513 309200049 272643331 195079375 509563682 719883705 244210741 82065935 176330749 410175146 844310627 218130480 706219764 159842338 732589342 887611038 718211451 899718982 373089177 418027556 314116780 198816386 776979701 936293242 677969659 581372304 150911828 274409104 92202221 96860355 104133752 564408389 108856176 572831083 825962411 789136365 123660461 731698602 215587501 471908691 703197909 870015716 6478694 217103134 881905794 703154446 624312635 460608550 947323462 336909166 10917593 279230644 355114403 52135303 839821272 702968173 332186011 121375697 507648327 470127013 623397026 234591316 447300629 771680259 94045634 211775046 211422464 54650107 934857728 207686390 58207511 122080108 766395110 297233554 356161193 101849239 47392572 890427369 647586264 24740883 681515666 547517073 612423442 329610871 773203032 420772539 202801128 779240917 645826497 450025799 527260059 933707239 319816442 936828307 174554979 778864192 553666316 744798081 289856921 880137126 588876949 752142615 818533894 310036501 959352934 602541539 355783401 304382569 152477733 105663 864099260 54145442 906244410 688536935 911596917 473742204 817273566 418590123 271610128 835945269 480750948 890814555 96319566 509094976 481430200 224531680 428400227 549126220 690024565 707103876 637113233 949029712 857734415 717661365 423277921 826841668 609835728 438573495 890642406 417510373 839426102 531276473 971257164 138371070 513359913 44054781 777922208 227735800 20836999 333518547 887516865 243214902 509330310 778954215 118190101 664039146 767723570 861732410 235297494 501429005 122839133 888324099 378789052 698057901 586930357 148491872 578636180 758173789 590758660 575331909 223947096 308879822 841819485 598277806 319274453 209303568 270315588 428285117 281542555 796386592 382997290 332191358 55807395 651229519 357264225 484242885 885912293 610246772 778518958 815884127 272810068 231583806 736357562 693916782 358709518 307681560 458990461 766766599 117845906 113704565 398577132 328792568 393691879 694124824 717491687 305318901 341235933 910685526 37443612 842388479 273113078 899787780 211155302 86267466 508061486 543923747 753226325 76065776 655480256 53608742 82682453 463421875 361719817 103929114 297307147 537802750 80322086 977155719 236939471 703865321 787107741 400406885 973053184 359500719 992868879 367668018 869770498 238663854 298434452 119505436 253646585 241802844 656563893 946987264 182967289 69404798 972010059 813792795 930856860 938916497 862057474 733753998 407419025 199339775 821833599 375775357 352826340 636937422 922147597 190765407 916689774 78310955 306004115 594488473 980348020 693974668 618446958 403954085 433989219 947897446 873300206 379534987 649441372 526867061 438036514 724898571 586580611 840005827 528850365 396137528 670229558 503419504 449766626 71561431 5290015 930787443 173621751 599665463 293018212 801591930 136629301 502506331 49979850 188158008 551421802 726359994 740114354 53261438 782002289 274235416 435150484 30691852 234394429 775267618 391476590 437229450 352029100 591024107 233197142 434563240 989244085 485133140 911454351 372481842 778903641 513918357 207735990 991619818 827661914 670206675 551686294 786628344 651851973 757371625 192054620 307196956 440610067 331038032 474228935 195074340 431186904 157659896 214960069 25299735 737425808 267707006 116395534 15937343 974719432 399080752 642871605 782398234 519012030 872148703 32337222 607477260 988147058 1532310 129830604 481973469 971317387 390967312 543523863 970594722 437602729 864597799 654020499 919459162 495684751 399983837 340034977 298803231 879563574 964872427 72784679 449954078 996912429 344977011 985041925 508220007 47327558 737494172 580560402 370495704 913587128 880541527 16198065 556253115 168313852 150188166 223146466 889317229 595206308 142950 284688148 69403914 258385359 31528209 835441435 661096358 304961781 572695929 369036490 886675555 775778735 517661630 428812369 544996048 418752107 353204584 119804857 732105619 454938307 356840833 778646389 64706352 23937713 589362221 28717070 997589355 648418992 876801464 998262799 150381852 16987127 151384457 77102136 414848469 578629423 2700479 982950399 919826344 36034791 964614384 503363871 69464566 650252075 873402833 691584249 652922662 727483337 196133502 645358670 747132394 672550894 109817359 209306305 711908685 544889042 493192854 635262004 649479764 692600260 263438660 991193295 169611848 925266597 841285032 693628669 523216521 475149386 580857053 497615723 904201781 907130105 858378813 967306290 13158776 280989124 220745907 918495996 496856189 49830533 691374831 477224832 420089770 159467055 679886689 893697917 899206101 635815723 889509037 91359701 541280908 121087276 905938242 536242921 367226725 673130216 176319962 264368836 431954364 418827285 414292189 115666853 644213997 967731031 704192902 848997358 876613168 274350165 112068186 958408922 528424028 411063180 866958339 516328803 562280426 269579401 817089422 421211112 797965291 395031020 262004786 121896110 474686493 623958728 28560308 726295737 562741708 768992583 173026217 614851593 153790825 248104617 958267330 43199769 742744990 999129142 966769527 603550725 915941524 916054049 397398396 899806330 906510449 841594454 647905573 521228623 906223537 820145369 623739571 655139873 409321979 189082598 996523812 882757972 801919227 776003292 978634761 899477513 326034897 813540530 881400025 586351447 245552480 908910433 705899359 8330518 511561294 227703834 299200730 182096569 996832769 765427766 279894213 984284421 940027382 171680129 632521563 276099979 342534654 662362871 589153726 54267820 879086243 100033611 610413037 664057786 766306375 945061463 321816738 943717442 403204956 174738295 278625939 354029163 223518171 877542995 709846972 113087863 426259986 107863449 770362631 467158658 210053442 773133818 690317469 97420412 162796238 220679128 521711608 365365832 462735548 927457709 866570039 269374113 600692069 891039888 747894397 117127755 729832990 237540329 999566209 112642886 619940092 166308190 719902096 87530513 263071961 719487658 53401798 510279327 463185661 659081219 88753604 487357377 11355150 97914238 270887340 709916181 563779817 472867508 460608198 66238152 692921378 602266327 235232341 496703675 471930137 464724125 346727988 130617966 13469028 940954279 767270530 811909537 84044223 515757107 371095298 795830767 437326223 425061161 951953814 264515996 578797674 370965442 845717213 139870202 322683189 227313813 616895083 983844565 170733924 553953623 887599584 16708696 933371000 543582689 744286540 930221949 201066335 595441676 923184473 755118331 608468670 670441798 108714350 473627460 909926771 521772544 202584336 908014 539610089 608496512 821300714 662666346 330372575 587481679 715922294 963388748 47808329 1475880 866288035 649631237 577520823 31594121 664962089 652308138 674904402 579089150 541086359 117199236 55191972 286201022 199951871 288031288 669105837 226853818 679045505 217570588 236676381 715887240 567296662 96088874 834502325 620958448 769702691 368105647 51996737 488236178 123233892 847792242 849642778 758311761 264100859 910469227 357774767 698059957 450949502 900284412 67772588 692785100 362919960 261120403 889811512 765952570 140699382 712945564 707311940 43449126 452282211 51189052 728911318 252567783 980232545 4761733 241266741 568249548 875973954 152439704 859231233 516841693 532303000 892558089 445967614 676184238 945973261 34980969 503612820 678094518 257164687 968793825 919462776 742363197 682299853 989961262 267218744 555142516 474190217 920915750 219527944 433368650 674273384 942509429 573191023 79056465 77702341 953129235 743276475 850047613 10863547 67244919 961004929 948329530 88801262 47978956 609393422 607414206 357827318 386968423 416847921 108151212 401241045 927925644 376514704 991704744 922424102 162556865 111039309 31074534 182610181 698072137 143445209 400141944 501029381 843999645 159365282 812142571 875089969 921694654 972172269 128469877 29661531 427448867 862055019 862163265 503788819 238256276 211007654 142819189 888248950 285647541 610074699 288814697 207583742 780642009 732651993 898231210 919943074 264229971 54427512 680521177 894163832 460279579 118195820 287422131 783885772 772827260 791010402 623223474 395091085 808758826 39417241 42870187 677629622 825584069 233369767 824445626 857530649 737797114 58107684 522363831 102736724 116157816 779779476 349539240 326067996 355341215 638577865 186239804 181293561 328464810 747033724 812133996 705923958 270751610 326783282 565388241 154571833 114750076 721353328 199138808 91182843 486526172 86398422 216605590 949827549 923945982 284107411 744432340 587423192 981677537 536814081 799206087 22983421 376218725 143153912 791299758 620482595 301900126 554067086 114635372 614632602 494237742 246887186 57469252 401498748 947845798 644941535 660727067 332084078 658368313 381200498 439571860 445756404 552351710 507357963 207133211 577827533 489607304 125097451 95599861 315436636 622747369 805783390 270430302 565137690 506163269 253126240 152406097 820830323 466825822 289329502 502940480 741353273 998991892 577696777 840482049 630201444 219413280 354249736 635618796 562649389 972195954 643495958 561389972 574127006 505637922 292390837 672771813 145881143 713911661 740406628 61557982 474050880 123539430 805554797 395807624 804608884 395000489 656148340 492300849 718625995 208852738 728332064 813988863 410721184 727661304 144423593 162728639 234089633 5687249 678154561 190279584 141899667 711684600 195327013 610906140 339471930 34817370 527373361 455052440 141400001 933893616 645389772 963404703 491711758 69974504 556484160 263884783 507924911 898889637 317890945 562995953 90702351 49733734 198550163 416871157 339994716 326937666 152590361 594082172 933730879 1046725 167332657 647903031 961461758 641865183 913650682 208585652 862432555 630919674 646911903 501546363 736828132 634155078 188816231 561681623 931118966 218984134 304313555 179870555 154937905 318283051 655056320 117590026 119172344 504594257 949865547 767038671 302494719 709221920 62172780 55482083 221108356 329043462 68324895 978613871 226292552 587741835 197722165 948492034 310253943 433495498 702428654 796342397 783756282 592313553 754952412 817955275 936642411 211022314 622588786 288858031 444331473 950201286 990525112 980236442 916762532 883043198 867594497 821931344 321451165 843268175 798415869 872591010 669312640 419766784 499756505 355784363 391654494 188209691 936213926 568334578 615529681 918091227 628692645 901119406 104462772 82864496 250543430 61968496 986343962 718217470 324621452 318875528 629946899 622837926 130758733 994762847 476970209 33320580 205976052 160130420 137159876 810815273 859101036 259309128 13042763 713789833 22238651 957773308 157725924 927074274 212110549 558322376 708817117 717116680 680753030 247477979 995546321 301361143 474953883 178237570 738370624 517443854 742507100 428091038 976007480 61806963 206098841 12794312 87871554 338309988 916655777 831534079 517032600 418917032 749825858 153130486 481550615 647572276 74568162 104575242 229331423 596374666 873563309 577220495 974550078 852266801 946330134 206581902 131784729 356483518 71343773 45417463 785879003 463845538 136244175 756982364 647988961 965477327 613085773 762583866 385006980 832969405 173135355 318750549 580982535 27750624 335011649 739356264 287882200 811949111 179088528 725141234 856577072 19478893 455410609 546142881 599394248 260662989 882011900 37284439 410801917 687773874 144773829 594038811 164431982 310180311 364903826 184403917 520944191 980994565 446372762 275300249 360563891 366302793 345587419 635258947 364247475 39072963 676332695 662393537 315810606 205518041 650362780 452660210 739340815 138272730 40988605 549204792 681306099 323281586 848157916 76365936 435074066 878972853 978612308 329000906 319639747 77281899 582065461 827638963 163239085 347110931 690422357 839695463 113413378 731333751 70485163 936719107 653626331 228791894 387628537 548598439 417018940 287074205 847330582 253300722 969873892 487769381 846521940 384593562 390753726 676033717 734308651 732993124 233662249 323064432 545959246 466332021 740499677 926943829 678426650 802346139 763309790 907098024 124206148 440094101 326460515 481145452 388759090 912930752 434937173 401232223 946988378 705625113 13676421 746221564 535427402 723181973 627576011 811476971 822347995 879845382 958129762 24779403 526186328 372974334 46099466 514738079 278972013 483443588 202174053 631836652 175747730 594813151 705305565 662005631 647145977 916172344 60766006 460459581 310289758 86382948 20216166 148134969 11091557 300737156 521345834 72277961 744175758 901428099 715058816 530440733 344970862 448698868 935159187 122167247 862090206 2605583 304037766 123603365 800751634 954027687 369287971 817699320 300627522 708100782 88901210 640556438 131889067 999604393 141332275 206486818 846708367 400057630 431907480 345328569 356843705 355556987 380031007 434359722 104986518 960404876 212978061 947938660 161916741 78519949 314831297 186787824 538982519 400925354 373772380 100578135 279861329 348957341 804743494 536464305 45562014 873259960 548815091 197460989 560642184 368466703 947151626 78442414 448071519 475420061 697196216 795341042 411808327 704797149 449528453 362184846 661115598 24473832 875418864 520437303 941682565 837167880 633162764 607607899 938723752 506131005 525996946 707312792 786134699 63293540 804826026 18460150 579685475 981301544 67061735 231611720 613806629 632864514 415846103 520697638 470698669 236523908 98317427 502727818 476403844 101274263 734779899 77729361 790896491 816764602 49455199 418164370 336856325 471283839 478313081 921212685 825308989 885796766 320644096 428813101 126147419 470107699 260261083 670140628 868237970 325818381 690376065 781797207 62436749 864657448 514988085 796357047 673273456 589251781 586538143 918675282 322920018 955013025 897556843 608038771 196932231 615142235 444160530 727959661 839191797 666256654 447130504 310704174 370184098 467118757 285301436 995239274 834271649 752803700 653050567 80618867 717895178 691501197 410759871 743990643 806274306 881209297 385263485 835543034 718751254 518100311 694659920 2270608 112966263 695250747 273276188 51292189 103192951 481474224 60291383 513530104 696325673 751588015 335487293 596039052 475443214 684853984 619703282 56427672 598876525 920356843 265129263 67116495 325943761 537449261 800537093 733255198 376834652 539841200 433668059 854501907 639556538 530504709 390191296 622499979 557543234 356573867 350400405 41947459 700609951 154503807 24084633 951583641 751793267 244213719 244430850 196896010 437766726 735669320 905382087 20001238 209881810 733504371 643700413 473860967 609444959 430026308 514896670 294539681 829488632 640358503 461436309 137064506 195482028 748027552 266848918 447043297 115837951 817840999 744353508 835887494 797543703 949920293 169420136 265791066 822803321 883387814 821374883 615521175 467522738 376280555 740741010 799365797 549806539 733758176 922256685 846446175 876064286 928464680 978824166 926688898 992379633 297671388 510643735 988730139 712942711 15038257 276900339 819086412 898029976 159198572 304405418 594928733 524452121 491941996 179316518 936172353 713601393 748167275 518911400 949856825 991825762 863232408 924899770 36622543 343122606 709419652 857639646 445154439 425393254 905365212 951020970 569280399 137731561 894844807 529652334 481781382 293062 799687160 923831181 900702228 812189877 948306661 70476641 573977026 734901275 12441165 828031248 34456007 151227485 673132226 934696580 112256558 493565818 103453170 857847146 740452521 355206449 449406370 326617224 82806956 580872016 340160206 822835684 861870574 203654371 371366967 809245141 333317186 93233331 420958896 485292003 292031766 738452980 140579777 115893309 902797768 396110759 396958322 290273210 590827319 902740276 770787617 824876443 303246386 550011215 19557167 975804798 378858098 537137867 348267095 493937495 51914525 153437317 583342842 114939082 721229279 159329246 896788134 519039840 957781587 346086169 70195089 495558896 810509974 980728949 685760981 161627330 207355366 789262603 931105643 20432254 830981035 831952281 28342644 718152043 315677521 963787791 34604959 247584367 352902345 465959073 90184999 505398327 257227577 8282377 382318235 795379838 98948616 434696511 710562558 458776518 191190036 360157228 994882271 471762426 866856162 753883305 257427485 308300888 653199599 529973372 736754129 599625996 174580740 22944832 351526267 97244744 703363216 472880447 60270633 207633743 294887768 358916781 78451090 930430964 276906032 324831606 356862804 614815384 757805540 555484960 143351179 242482968 196582228 943247628 651643250 867683625 163349472 641946719 643850842 798880804 962005950 344473095 649747765 297032257 636334025 550855292 817358802 857745793 754078920 90405853 947140946 877957036 448980048 168345087 891753538 485475042 811480371 354839067 537390649 129664504 20783433 6312250 363554646 864216009 359813458 606132022 119417109 712406870 625676856 2954883 913069966 654392338 561044719 410398817 992285949 723859431 912276791 609217875 732579301 945196988 612767595 319482616 749292816 603648922 649822449 209684377 604423940 426380160 695079489 266181921 85726409 398472089 848560970 271493352 502691877 283229916 887465945 429555070 761330637 274564753 875828422 50435573 420967535 893725186 122709991 259452123 942806200 195454638 472742838 624335827 12977305 746090051 537882018 530645198 552518213 383521039 21828648 641108862 228544690 76949458 627479733 760640339 377383315 773825726 905255941 635350717 112761116 265549196 834924776 647493065 736225369 464910422 427726937 204255325 290758344 818557953 535471221 504509617 13208653 715531896 10355535 861548347 811957967 110060455 365744160 496674491 179264574 59501848 3352892 336543406 795355700 340805617 404949317 604867328 313576677 277437011 835133204 890749811 488165538 890973227 468925229 20030120 676630221 330959539 515445493 68455794 415443898 572377973 677814095 109112172 27330539 567574949 936718346 469172579 198589822 873821856 593884676 3612724 603057281 648544766 179242520 261702603 765995416 191803772 19293935 156062875 823495766 974855438 324503867 907101508 313016267 680739880 365883902 584656417 509695488 157118037 675970297 549330623 821358143 210087134 983014619 317271986 625794086 453309000 330635991 450908131 136832834 73966959 909088387 911314761 59008413 732013573 369792052 966726258 795850745 698624281 182861149 229836807 610255049 454517922 745321938 568969790 309748189 577815537 954425001 488309829 78120105 858274835 354481582 470072923 223978507 196807566 425915886 865050459 731694740 14051880 822863064 986908422 640485006 380118685 15454672 12291045 81499207 419384813 801666722 398645892 392233209 197462248 496442769 318281437 229759716 947675193 560987285 22603689 776295096 167849890 363451729 94752170 732570730 656063789 94129915 685621483 99739181 728250233 989751574 306943932 399447072 884722045 996723006 154090147 316339432 931797686 538622891 865864277 71882379 424561213 753868857 750383452 252553166 802105641 765452896 383304954 14730533 142688421 452833121 583194938 206768667 164276222 497195602 594258 497420319 42414468 719873901 552705065 627406518 346224706 639591917 994599162 22211275 949868445 281381435 767815776 168681597 363727093 531333379 945117340 480394993 115489034 861816253 320892951 798076446 56133730 975969655 802380407 91230501 135647369 222608366 811907592 558804236 693331296 5520351 282584371 30504568 138314162 300513316 576501056 113782483 816763071 753578388 219427132 122204715 53548426 408968487 801421902 157052357 60548446 977279839 590670995 670301758 95103358 806611135 235284639 683446746 132417116 189353710 98677909 380684627 843434724 125243677 620134534 737932491 505471292 213937047 988223219 227258996 117893474 605694607 578487761 242858023 143257582 254374606 503420177 901482301 636290890 471821609 870105483 636125082 411801137 554010305 285752842 149296275 815961889 934454656 290163827 462925881 669040888 1707613 937340586 207321214 680697219 341299852 787326328 525324740 959773580 753302452 771677378 90533260 414105618 578924513 357868168 242873235 372565664 656138855 57401392 597646919 454953654 862351410 672296742 114771298 25092011 534556661 278867629 252038439 866360317 242477738 519623856 500471571 622498600 14955379 480160706 618827552 234537687 747750841 341697771 718289744 611809789 476136574 156158923 399770980 202876096 644670307 658300547 290345405 998466506 626876873 616698150 598868491 980469223 706472340 729585823 969585231 801221098 135606830 741947837 384984772 758135545 527123904 793970738 348885453 65509265 2605710 10121324 183950203 39187707 977373824 411822596 354884401 104850215 959736755 807811144 445742743 64492517 840155764 913003497 123122324 719079485 15680746 249454539 479798661 682767374 8087028 446761764 979395992 23383421 751436630 668059185 752441239 458787717 635692851 50118344 728316215 35953061 262614471 480691943 674297840 873002545 327895223 506335780 807381708 113818252 255202345 253107377 865079040 940007528 87085535 232147204 805495873 540475939 535383993 579582690 811975511 251125896 623893067 440955546 891886709 34149077 52770267 119299553 7042723 466669337 94223272 691251262 140727806 20079096 536213722 475452908 661503647 251598969 838157692 761441430 30826630 62459919 204187445 498157 695356679 995204443 566589185 301344932 526366766 460299860 703565199 614613273 772258995 53907631 938680785 326296667 978209234 263687273 391071174 884362284 230621919 308548469 779681539 140534656 764439937 15262191 691356370 476124473 222743208 144227273 586426078 519836420 939496987 831865768 886346817 138984035 55346741 270186572 467449566 954089556 881333258 880779760 425001957 821325731 829351021 871697890 909878159 238285439 506961989 16033637 278191012 125115475 103285817 832464476 129290344 830140265 386943875 348950709 419752306 630557745 216809676 140642658 812921290 684568856 399945804 184851247 939246131 554540349 875121267 224356686 997137168 914508569 271534093 509896196 110164000 695744763 479753263 851470293 955977082 412067304 330001094 725866639 551194560 237064995 724168460 802688813 272634476 164554575 354581378 31048521 521245188 989265144 268519456 834940282 67797034 445407873 646928463 584538342 71307229 899134708 264176232 569737166 704283301 353976925 751359743 906705652 44483938 29004412 236765304 677198598 331289922 373642730 431515933 629461539 47645970 573946848 305723630 106359265 960027752 999015689 971368228 756611411 129026469 383067968 492283162 181066455 412819357 425869770 989898287 134555194 102773534 866269829 434499518 714415690 928345802 325639080 460637995 535481526 447786866 539866784 251280084 563104308 784862646 353531247 408005634 203170019 389776226 584594524 374774619 547932449 987867333 11988735 890911551 517527564 227783009 680877306 462042443 153581554 191193474 945580705 164622888 555151833 633245118 619507878 597310688 223700189 304435980 620434755 108507735 351611993 30755580 335521106 413170536 819771876 238528404 31091532 911455961 286954154 640417116 471777479 194730479 754315869 939261853 177203297 438099695 452452679 323980648 803921658 849119651 525117594 370454427 793615777 312206197 368769202 755298482 378944119 73038740 103582045 60062525 859129169 762604326 786870523 59056057 91679946 120948278 504826288 564858513 515594054 849569854 959750253 746061027 641038534 748991207 867658538 310256037 373816789 91462257 840337135 534279716 316643882 7902032 975286695 293739218 932068264 680746520 883281939 205034956 854122733 750011081 272087098 442672978 733716348 498398397 868464862 618772834 693038717 896326159 743184183 504866301 67589044 763818065 968625335 742458336 56338716 124852822 843754665 439641990 968321163 681309091 812307241 392363548 810131313 166697834 713883762 544500398 958332708 691070312 724315119 53436729 584919890 205468559 95461886 690621255 335103338 720328773 301532597 915077970 137368902 502951934 783653294 524728761 426894898 350929598 81813390 833839122 566108454 806019020 418242668 169031909 966074321 471599891 733211108 555257429 273342821 265659888 701623082 512170972 626226524 280854201 973449868 289663385 234416918 684088732 894457905 661164676 207267941 690696762 993612304 848377842 406441415 162914029 366809204 549664611 506305807 710213679 547064325 106970986 936129312 401228725 629956119 296130723 6345591 10143646 154360437 192834392 845175924 145117981 713391711 128609016 683861689 47184126 361526100 102569491 573336278 830171121 738953027 673940496 686041738 491800748 441497511 453304860 551094114 478542739 502357973 522290237 608702995 606981317 208669272 496443425 808760992 801847532 672045047 219682848 373104358 353467315 261570325 22890524 356628902 561421411 827186743 481183739 128625880 628374533 392904154 725159341 200330172 77834883 56500135 210333966 22828628 764427505 15463446 506815023 70106550 818837680 178667227 94697356 644917920 622398972 970201617 230339677 970247452 12722276 297319693 802761504 647906382 678670880 94129379 293484630 329718823 960318274 114572016 970693611 838915716 442534828 520266927 796581702 303772205 22575336 23599592 226566921 577365495 977848427 203300385 664963700 995970414 53353820 463985192 438176776 640889711 43300932 859632887 878894245 989882079 184657517 923699443 246742513 740421561 356588525 578922383 889599954 761035242 565218093 993589543 488321169 577825760 515681200 38448004 926999079 815238472 8252865 87988688 289436832 299937594 50602292 956890690 750096701 82616977 160954420 849866142 961883948 314187996 515606596 79992368 413110870 619688926 596493162 189062705 77622267 206438721 942802850 24241498 34460779 400028613 906537906 923600516 722234401 321186329 744641205 24187099 106129438 633008694 681543727 712143188 352039581 380984564 918366951 519587996 63624051 702746998 140084279 81207060 146544695 938232823 679783627 896391316 285480060 257824802 926342005 765004795 677950790 261698308 480579497 57073370 937051358 630632240 267597113 464295508 228720117 940274428 737274892 447896792 976646778 298123747 62545093 932450423 484728056 192256280 237796774 905514856 233883084 680043286 42867347 963534961 507649509 783115051 351479714 992147194 906816278 311915884 245352513 563989821 800636 817819796 581085433 860530131 423944722 427246764 949178252 817945670 556679912 825498252 6974830 808292356 614554234 347230825 338322727 424006002 188439946 404827803 73544769 796166336 680669028 53025207 956393781 357441170 346404330 927572743 689217791 798486597 71983965 492644073 7453986 633747844 355366504 933073526 754546022 85476718 87117621 104234536 274070743 74613975 196585471 731968747 203353167 39414133 1288736 639868380 102338327 775489010 614266836 82874088 838423078 659824390 497462781 291184500 220682093 459631549 337000517 316310225 608478736 723961275 129705656 937922009 558664469 238961231 779046977 834746998 807097927 774358185 712538553 945146273 25783578 497084711 252596826 365517651 370822824 384796636 966951017 350855529 522881666 109548882 452909333 413778017 955000718 346725193 717318166 752352679 839766079 87018547 165082217 198699290 24697145 624052709 924096404 968693179 403297558 59843118 920636596 471400115 324230263 681229650 821216888 950733493 897726107 543854046 911260526 402356824 452909597 247108181 81861645 234396815 553873680 504160044 503895842 17611507 553415588 830855810 48205282 708936460 964044687 548449141 200511650 55809987 845396685 877528383 953091077 181533621 485335172 15294736 824325689 657694690 472989432 62028599 402515947 31724104 669199062 149383320 902803270 963290884 917123965 509279166 137554980 912803618 553422549 928111877 858031464 331260851 82047179 643133415 654916879 818641756 331452450 759178883 518400275 283061816 351869415 798120018 562336114 438083967 410441577 502288063 15438855 628981079 623932710 466260862 435070336 421500470 134347818 709892124 626684738 798654250 177728026 817506530 558247353 990111239 203413114 398609666 219882882 292033303 930018005 913951304 872102270 372022507 193528524 487797863 597375442 584978697 482968864 857129064 151363279 930357452 404516057 901520215 687715334 654794488 141556713 570399266 473989041 255787436 375070251 938174169 895434446 166500011 307909599 380175296 80868037 374356781 535174 412203389 736390166 191073385 713040316 442674633 637091410 343960917 850458162 441089108 827300911 539741252 946183079 39576957 25204441 186439075 834819481 628551797 719999188 812696900 238195342 121546043 815881952 754616563 875702716 948275032 259852606 296642373 530716286 647070589 590314655 379339901 633037050 433109536 148485 780372684 627633096 35416730 274397865 419659342 903533513 450811141 439734151 886999437 504662861 42796001 11450305 926284722 759138984 922211488 907405047 928590602 841664806 748187678 493971270 474360412 951714025 170937875 20729708 983508542 63564676 38341773 700805478 78332877 225756868 521109204 16552417 972223887 180365990 549885883 349163414 454197328 675180160 722820900 437565126 565726689 831125968 398290182 486298676 89463853 944612825 387769966 414003594 313681832 471124336 539502907 591815799 964433769 545946390 358311195 961208914 25070613 913506752 966362188 186397655 232319719 754206572 333569961 488178758 977302299 741375215 738443452 759076787 171534391 19115168 520925715 33777073 41086628 797278121 66970088 244894692 883663341 741352088 385061857 614309060 843296396 818484473 256956082 696855242 864466355 691502057 456410754 413702306 451069433 580485736 499325374 613696694 696242873 626835617 107670441 823927716 499629583 663887346 495489745 727918130 359244716 93424538 28265365 133009731 863144602 745757357 873218386 909807717 222258495 602321836 737726850 321956029 201706579 23264264 445681484 384322170 33752041 741266200 301028668 494382219 852072612 300830683 829568723 427201679 899648288 979564081 313309291 597837045 980455727 358757666 387989894 505102160 610921804 595723946 771678217 418788344 641806808 546684496 343132455 789077327 598645150 824015508 832959820 500078803 815126033 165066707 350524354 932209285 25335537 665279581 650265167 481970484 68008393 628834896 29761603 122742501 975056217 476260129 289905710 838845544 821925730 596279399 859719319 606518562 818052977 946790694 700096011 611180361 33820731 816708249 780603035 199406121 442661489 827585756 970946312 89071589 685142501 285504240 647416348 259325932 322722941 643356993 629754641 898391879 260305498 412618498 843484632 921066803 427567221 163030168 873882801 27645862 876243440 869045921 344866976 702375946 292889609 651695900 636864223 721935544 860196549 190332629 19876540 469818534 170151712 105400206 150151650 618962221 52975256 14504165 384827621 837435029 749642545 323771424 62870222 8590541 112390448 474195155 609045522 803972986 330206086 519688652 269610366 667935592 850180823 532904280 130129130 229854114 567104960 211927118 584504934 916030883 94145478 96408466 480936548 659733980 206110935 835356047 931949939 737130464 427807414 271483272 706613343 341270245 435005047 929111085 959019648 327673340 86773277 717251198 137262710 287840941 969727004 711855999 21815463 755622697 110409175 266031312 35445611 57502906 323352042 957173282 48320754 913519683 652394423 834293697 920428497 745518136 778310141 707264625 655819828 134148943 833483118 971151453 504303792 851497291 27943901 21807308 407058934 852826030 149898105 766366598 862219809 7780533 248450397 27257454 436549871 930060293 257010079 286339037 465804977 985600081 406808511 188070120 329288108 845095104 143967860 14704333 22649832 29585791 24984132 745424438 224830182 137532159 94756972 61189844 746832491 809287078 10450662 917298425 449495966 649661395 210887837 500953055 932805530 806626179 632980604 629239601 51240278 254401280 714230502 334807139 557254851 732088744 649536882 812624528 127842397 399900893 596221598 459560953 246636554 956067628 765692177 436400050 654118659 533346892 504503312 938414718 540705953 644072283 511339664 709357499 795970072 844588599 359510364 939213187 672465787 15792877 870312606 236607250 300887551 204671041 27150529 755543155 809956100 31852617 436812706 7127468 3125289 283510202 146641471 688478332 549531070 408016926 343690907 240231185 254836718 780888535 991945796 853122250 90021559 262222844 834014765 817074603 35016691 842780887 460071163 361799165 980897094 903274640 806248236 495531349 894868065 757760692 633029288 238049070 930817598 366969887 635464485 73436926 353205508 961342379 787276217 818335053 660646792 445365449 326115750 124843917 191664179 181542240 516161862 330199900 672649422 729318059 186504437 672332791 87840945 194533615 108146028 625985628 424309302 376722783 626396919 146737916 125017811 239634632 416383649 953702600 285472678 303698714 773024434 142415474 663538178 318371998 122090467 64943576 361440760 133170528 772948054 858588826 197706216 940325174 893332018 919400122 807176267 886734267 875431439 788590023 140697738 234319564 225357174 915998498 76680559 615850775 331766226 854783725 864892816 813835938 376015652 508724562 368777 334676661 861907809 680773669 462096959 108453255 464157649 654198029 372564525 109122318 601511071 283392686 760896236 932762009 789208440 38861418 542277035 744123537 814309723 992327969 380433337 448020426 998063385 247151635 648570869 338488978 132370805 231049743 376940240 73256586 75532956 87661589 108344719 576416599 718509989 608602416 749081676 173451350 35449855 372026352 581531969 979440156 846147067 928808190 190366175 579925085 292214232 44671899 626285510 188222679 538194503 919910259 93612174 318998473 221244295 24423550 87146453 65604402 449414993 346503871 810737109 182583038 993890378 492718641 349358138 206767809 814439839 274909876 991163586 721687633 26458165 310655970 44679756 847024641 452433967 307006350 487972376 530178240 7438109 550117809 423515582 653062935 470863520 802943837 39245081 760699732 65633566 505477508 71163024 630815644 629097164 884801823 352506435 503658882 228425370 703940490 662696308 606434091 16154507 860574523 68448531 627898478 869545711 558562609 589137905 748680922 828312450 221108741 86089221 78932541 878574500 411025607 67072720 511851682 690562696 551562242 591677206 522936060 959482752 191474275 867923200 293426053 160720570 172659018 986557519 916118984 791850240 863177765 309023445 474455419 237033583 674174168 249004024 158119633 347913853 90517911 23983670 139964622 435946190 152483730 372343930 223821059 718231372 675859797 417843548 411308564 427715687 720504330 135083913 390568779 883138734 509390540 241773008 266966010 409204144 932953058 276531430 438020212 392714068 264056782 741895033 759679653 290343869 790643256 236059627 95055190 774348376 71993513 259370001 976152460 677964502 456607787 340966868 306282543 930205098 552980599 258331209 840062223 442862893 109846162 320142049 654416120 354235397 658686655 250701252 473937306 327076050 963255889 385932100 718676174 640974038 347976709 313577690 484135674 221357634 116843281 716295782 24864325 984669531 563325523 515889880 127856112 258000745 486627981 853852640 651194394 468940843 217142812 256552095 19623075 320376488 870307364 572166291 367352904 686626077 148905481 680121091 962319650 188901367 986565523 657811835 868265369 915983882 753558896 499089509 280516867 773534196 383317955 573610264 267827426 396236872 62124358 900874909 416736939 901279838 893064816 163516952 718076566 887227778 69255655 670039389 963204415 968489530 855696852 738077770 685055584 711905229 187611892 857510195 173606953 81760900 483008917 230572735 393541377 160964102 199922274 745093406 662287788 23677174 157264088 199389594 188530876 333787831 999058837 412025961 628032366 109156567 506304840 314626789 953877243 971207383 873838168 193510065 34639962 188993132 441471951 923480059 113468971 998883647 809189677 760337995 938469799 935359169 421430933 865554002 942418754 221580811 832608107 151157222 362263072 731840724 750184336 141529495 301142876 120512300 241563493 122867360 161860458 601982669 383076624 495360678 687733677 3594973 431370443 192639426 950699281 379824483 256108346 288045982 849877600 623285573 762959342 405248664 33136694 311004391 910700724 610013596 900574947 902613137 545144714 864208952 855103713 745479755 183724446 372139156 223573162 180204438 643146532 36804680 882219466 483066268 355068133 825624726 935264913 564823699 155505341 66243817 742436768 421180372 921595916 154106743 148591271 190202090 202548515 394195995 697723470 758001419 645213888 2922583 902325191 635020644 636673031 890120330 314871693 776309060 144387424 989453700 129536338 767420397 452128283 593481752 964340710 659624149 66171601 263918371 930644905 925533464 740428586 702141584 257081360 703682691 663596317 225166249 772944123 320413712 218589099 453842067 487438620 979436941 887040530 542265411 690436629 862905193 490318524 98510394 23059567 714059480 630821954 850086325 399012336 49705481 531527336 535538152 189731911 62289574 691864931 411920780 697113291 689851278 94878803 178851218 242020216 506182608 392585146 552517041 44215135 365892413 450343784 835785117 779705732 246654171 70729787 624469489 315110511 221842431 554178482 853333667 220852254 818353866 868541796 123397800 278243954 125579136 288272786 617947646 407809788 317085322 764153061 556281465 83374108 851996134 745735834 418315424 310106853 701682293 404231754 760270037 918645763 297721637 603691461 968093143 516599278 187933318 99955538 990616034 70498891 603747436 801536580 104770802 157477275 26033989 244284235 765472310 927754261 365090482 163675653 822171420 159527645 634563881 203039079 461354746 850754995 280115231 988040862 129837119 788227036 668208987 21650903 587175934 881263877 289741264 421351825 997518346 67710215 282581140 600914073 46335024 627678510 486887041 909188788 92781114 281281979 472124965 102490523 498405546 985285917 456517669 103823361 499813584 51644450 373043777 842098060 196115462 886458897 222951169 854085768 853533082 365041433 123951561 108575887 828137471 863311135 277523197 801873116 352702643 465439603 908783785 300791442 545759374 395703470 656316696 826672968 845909102 194601178 165364925 388808598 870362504 667361346 790260128 489279473 722398519 512218682 322354950 721863883 658642694 665543857 863474092 858708444 403795834 96514545 186630993 809712703 607405618 49677286 136274493 278982625 109975582 732374733 97619927 827637555 814869658 603332482 595078388 843984493 941697817 93617196 179124351 439103901 801229979 75476525 913612926 807354891 617050292 404697135 220913646 379466546 248529166 28061510 594420991 461639679 312820557 513657126 633045293 422571511 483774080 777262427 148609943 740606376 877413479 354534543 711824081 28964603 863714627 858884445 658622111 430651774 143400253 870163040 773043101 407622508 601047051 225794653 310947764 783961713 682257453 75222631 516639876 421157721 329880279 58061657 770061613 164083884 309257031 749117344 455435956 962272441 798407108 685974772 117144462 890288868 56432318 468395172 362644690 882463666 116731207 788586560 530299773 94952806 18197142 236538198 453219104 372082041 383407651 216191124 991410543 753567952 663644201 838316242 499314089 19642420 469913151 44187398 417406605 13192741 638258885 655332260 458661917 660129226 15718458 496177268 50905536 294490554 110735992 610931674 204046560 284302651 292045474 881273728 681938266 22507673 988628730 602143353 724924595 45011602 415380552 241209957 549043710 564321289 33086614 951525640 319851765 443673642 397875944 733805914 252260299 147682636 649503117 279906405 869161452 451940640 437287991 412666799 816623650 573823700 163744222 169711392 901919293 586767772 172666718 749532997 170115736 690239199 91302248 576730385 308394673 887333357 540591805 358600191 160834817 98473017 271029713 26513267 235999113 30019197 363695603 868936596 129925098 112901438 431685835 554228023 216275153 306758499 739667312 549192986 357283457 935714057 215033826 905772084 63574386 406491580 737480134 709495946 986583834 531248414 27275501 207030709 705871042 497485973 828508811 347884148 990119536 550392396 877377587 308292052 59751332 325322648 853325733 791391419 616621439 686590172 754805450 325522702 651353767 353501616 685145844 725645609 563971538 63343074 251867486 177226287 649403797 922494352 333897515 938643111 436863826 976270872 860926604 776206464 53129354 937829400 896624796 705128400 201849543 970468966 559954636 376622488 904776369 790985140 609942471 294839615 566341408 158924327 806552532 164549624 915363192 340713222 640707409 298630140 486963585 498622474 189573308 989706499 88392466 269427143 499487426 851951924 467414487 876907349 398059214 611286649 407727652 544782806 415207042 146573627 750254598 128456697 451383905 474587508 762687948 114745503 29017540 210253999 343489263 155978803 395061080 663922107 670251679 280709683 962555602 775365062 798262747 531992071 632243179 695643433 691516112 39648417 360351913 310191951 955298203 277143564 769524965 568256615 411217095 765007959 790702924 606753093 112459617 666111737 454402259 464209199 127773292 504908042 888393522 412666244 320989747 503238714 225493065 325033606 852187378 765401653 156028161 101158218 178686153 908822948 937134757 388493700 578824415 299928580 311263926 167520280 953663039 440901775 660110829 607429174 545437047 433767584 381243995 18486609 527753125 116351364 377662747 949377794 295709659 245485869 837677511 3603855 222711387 879768692 652976378 455348310 453354130 777408987 701426919 930083120 671746197 971079709 38187396 949375084 919155633 401191862 74976806 823611854 190825142 83546300 670002669 681518013 247433525 416904557 499286832 270860800 719440245 612351137 554353414 69166479 249684540 225211966 670179941 688692174 527444709 543845177 637713081 430967075 428812727 44813480 474730481 63327453 479344349 919992055 341710747 697546397 540139182 472839236 802652867 545912043 744308056 55175829 79305009 583348118 849198509 644479685 658267205 239864945 979892370 933280481 657780490 389001544 354100659 55887873 889682284 745528553 88241789 873566494 375169907 710142749 706823715 977501809 264210196 310943553 628320909 375102084 891307806 198760479 24722704 195747748 414088996 216241146 599787163 487976016 915813151 805530397 655144767 401902906 536267665 412377434 185485080 898455148 661270433 551704146 846729271 337135892 570273587 364192879 131682654 884380819 702216778 101135940 650672342 750560726 288756250 702839609 353347434 7086099 225598531 848852890 579058968 292305871 863100177 721542200 799248344 673981679 439125903 103831877 36560883 957022942 812374834 698742541 783025077 186956039 386105121 66567027 651095936 752027257 208228396 771888974 165226458 611551539 863125884 661547145 551644935 418908467 336520285 442110125 169945153 846663424 82810310 774205217 746032895 443409827 13530728 359978995 686973573 95043508 352781134 783001565 813736757 762663035 391718315 953181436 717139820 121689814 498173341 349843787 144893304 245567206 807685345 87990513 571700678 342448385 397564951 508410784 153179889 920485592 414415724 382362067 86538968 337539600 326697138 376764658 255025582 565569905 524177949 535868297 551456404 875829213 504098648 441966374 596327767 500602178 476618927 590908815 619208715 42877495 460291094 337927926 175859267 832003661 98723751 913579464 735670889 432579 984244324 451850917 997517648 848022044 925691835 51314506 707171911 248360565 835594175 967402251 624672699 934264442 29036445 818906329 855796788 51502573 625564761 983966878 251887025 64068655 588153532 907838386 117027372 651223678 687533922 114013653 356927141 603308631 185329184 845690222 336209922 478959634 987663601 15708880 884940466 14535352 193565974 310721469 496818483 297389042 411199739 51565644 86203889 592349187 765286797 67752582 884346561 282366875 231333964 169130692 722488220 205437109 183519541 847718088 630845929 160204560 746499359 123533344 404930591 300608808 885376135 45928379 766663453 336437000 886472784 974995702 502615048 585836199 852537709 812064759 517477661 502470006 69315526 478697628 73186432 405356802 925451404 647461340 290092359 973714295 298943454 643465327 223186768 916690916 7037962 162426376 161064145 502117096 777435241 324909482 285996918 45456402 984513853 817177156 185483792 431058599 733005254 36091285 890883147 604726637 65555178 922294792 887240113 49370430 236015220 51702586 59418138 723256560 18489420 524263953 635465506 221748884 529219163 616034101 467078533 23606679 998590099 281120652 345470134 606891839 491316350 227341240 346185399 664206402 557557995 27256368 41202560 842152679 942147686 458604421 163163398 571154837 655867166 913184301 583840934 972688010 636327798 290318768 93345907 140869629 867948280 857700727 648762046 433422533 746153123 90557882 646905330 360822965 715238739 154022070 209062474 644711867 784814763 631145984 52331281 838346900 746104353 280714205 289631319 585342529 18551096 808701406 800915180 600516032 923233284 729729980 460168760 884454018 829585748 419577546 296757057 808590473 114969443 244605545 160188626 867602017 227894810 554864308 310008790 732852564 226192563 962017343 283779584 921307152 950149453 148709308 338279092 887482744 439630021 626594491 499279283 764193502 168324964 997323087 680849513 891954601 510661273 588465231 718817195 536767274 158787873 657320482 625295592 877652232 731017588 950474559 213512981 757307178 208941573 201338940 468961658 41166504 651894709 370319372 997409458 702990368 109147066 322845952 888012058 728182157 818329732 753497676 651552512 153860820 825512379 700350639 936139966 883560441 810793325 422681138 328443721 156369860 925283296 55988042 66951344 337313575 461215548 25295329 279235719 792516126 90670878 400794702 301303364 668869018 619283641 892216430 459615375 318625960 914787960 325159779 96852177 23055955 962303754 534846055 759679467 169442966 828633935 616784653 24280217 679665436 744254442 152898514 318589639 936013410 221886692 799466173 358667846 536871997 184676413 372247330 791541705 711533099 895937904 664699113 463974362 373199149 743413326 353237966 632679210 409423834 850095579 89531424 283169261 536577497 889754803 503541347 578118943 755917551 987946185 967204065 400819914 443246993 731337268 138755862 617997897 248108266 592510197 231261358 563587813 219401160 573206641 416725419 672942240 488537517 141365283 402432159 739352497 906852826 827121617 911620380 435670134 859946938 676334369 989480406 204648384 490576916 957243678 989117182 642614242 511751785 172585585 721782691 978125119 479742709 550466632 705799103 840407297 539700348 220234503 125644302 480554819 104621387 90757472 745945265 334417648 359076021 490245463 162335068 978066155 440101844 650418724 18636373 66445764 47572483 872028233 511218871 730150878 38913164 326196560 624067123 747998690 805930516 188467422 187611486 968709730 951577823 985840452 828075548 202252084 722133459 208577069 677199568 911482717 894155757 384738044 426088043 12956444 288296778 650443043 253035967 774709554 878813769 682660359 168525624 101864796 168497912 648368432 133505010 553950522 20117675 8305475 183293262 187563811 593418136 264105564 880564645 86601382 635143361 509664199 498225860 9841062 307375014 31852143 332968682 850102543 497801484 385792898 616083262 461005988 609577332 666925485 539015360 456298099 812188996 585513875 99636900 509953621 588276076 77287809 904592591 119860638 707916121 468795846 17050235 544262494 735269165 925034080 547850098 977328343 395194417 87511058 691108875 405588256 901763275 816374979 229848559 973916949 334338004 254385632 632800679 913844892 632721662 776961301 316851384 382635524 34615689 448095158 568212857 74121587 805757397 451232759 159281113 145726021 847604048 228427131 733085016 136831859 212782510 129865443 491522897 852412099 978338605 542569290 908501109 939557256 84344104 815153990 269498748 124124778 454730490 975227537 515898105 952126288 653491503 957233853 524757474 374148683 502717786 312971273 900718452 785797193 595494252 16676584 263481379 284720099 399706400 993075995 783368810 645525552 76146580 399068224 724831290 666603073 559448604 479347939 272627273 277147599 179118228 339075413 131116928 268328218 441973546 456678825 955876819 390014796 981581280 881742596 10520909 364563829 224971271 491425439 366767071 130773502 318128977 205341268 645739988 21590510 420383670 747393359 439979343 106899499 896469948 393621082 482819590 262361631 137810795 352441009 119988188 588448234 119530298 685466647 131500241 661952173 233828681 495038457 312753429 467983551 717163574 187866427 671522315 425509461 765569804 877977836 871611190 757302503 581465701 281203938 487135677 472289584 108688044 690480287 903289437 689713213 97100172 16344505 308176797 562003227 166013036 156508161 186386737 955977383 337144010 216294138 357777685 981195164 221499570 554711724 729376746 708240663 259544542 612168183 960145048 266742632 442582770 657844626 820946266 266924837 214818359 541550241 564355934 873105996 804437642 898188293 295619232 968449394 487900307 705993275 465245086 855803100 675372497 701889484 344893629 642143563 215530790 521566920 860822211 8680532 580182643 136950310 75149229 186543663 78993432 883183068 614732806 837994754 910197096 868569987 353333747 115822541 483345912 611653337 611629708 785404989 108722308 166315302 242286287 989817886 844152778 811936837 421413033 446880329 381222867 353877791 696998297 665934258 447301083 762225300 536170012 686329024 184647154 338861185 807531417 456547921 769689160 74436351 349531950 819817192 701890159 195885686 266263542 885091487 712158127 96753346 219345458 609951880 600771146 924130896 729431691 604974355 769204851 612585166 943562728 108183899 802095251 169997251 13378035 863240936 563374994 636232722 750960227 966310609 386838813 414314521 608980597 9497755 51770059 816108116 372761175 953310518 19317866 585444497 473171100 796631664 797136763 32505203 839089858 147972054 67588395 762940410 160722168 473957748 806146134 956113178 155090738 849369651 965464669 488938998 426612224 365876400 825185583 405635886 585052917 245481292 582735977 628270207 732847252 921863788 330085374 976467617 986443372 850199804 759721207 562524279 264336407 743689816 966714045 966196106 98505645 848098535 575492242 827729982 400638746 882015246 151869005 391238121 117823300 24678197 855463859 212267673 143594757 282202840 974027773 787280118 242901319 656436647 303730351 467112312 591517193 638259871 198002129 371439224 449094729 360471205 347164510 951374037 748125236 228967070 910240359 825909298 129807540 308001931 369880586 280011765 754732568 292078545 356264066 137229176 669831206 232514805 648508068 39454114 166566702 223135649 649892492 180762975 586749022 291996840 514396542 925617280 990048678 146590211 130322653 275537700 245505670 139222708 96832083 662227927 284428303 965439562 189270589 939543087 271055232 744444545 619811188 256246705 654103174 240613481 706022915 657835270 111724352 447862267 988705803 892244298 991922305 82305955 797053590 456062604 343716068 954774952 29031658 700166176 502005961 618710110 769117647 324514683 727020220 936894206 455032571 600079539 914074582 267302390 838876593 841484198 478743232 715738754 14284608 831944361 177836909 148221239 129329982 489105481 152280338 530489951 468188092 244864129 900629938 444869204 178872342 48292574 510166777 438988983 730007569 70063279 618882470 552304722 154835141 768200485 452148526 994123168 51061942 436634814 331808942 960889348 716819824 300748679 201291265 527482471 690048192 81109556 999440764 101306954 789196348 791749268 427071689 229858439 926697492 623627529 161737971 365491388 686490128 423278615 638210653 649621705 646642848 780820850 650835354 165829992 804035470 566747959 3254943 379614412 163821577 545942049 817366715 118849193 13627518 859064513 879907877 67490394 974851616 230427060 899348762 506119533 242214083 911153175 762680411 859108995 249684545 878548442 623761454 971855029 3328559 558265815 110958970 515249856 689461116 551077998 177863049 825453294 8667559 364107873 30034923 544413312 311168775 515021575 830457288 437722873 643711016 376907734 821842772 454252383 195313348 644413143 445498877 763806436 406126248 610871243 546357575 917703804 320393238 623552492 639964578 797246542 871168911 870637883 9162497 20119616 892861774 627011065 168481138 821651532 47583749 127142759 568560054 760201198 10331486 768100126 51114099 903556314 485637042 288450411 666360813 808990809 60618959 585928820 455412958 289213593 779637798 77538890 977785336 31529363 679192659 858457721 497221185 251797490 987957066 589691731 955872674 568666306 849201987 992083373 818726869 486629439 77890403 73199723 969016915 436729324 285293421 787408550 147148515 149513402 889697831 697744523 957451987 763618540 476155355 337127849 257206553 197994422 902700631 520227208 962510769 651001811 776820012 880761556 636103828 533615558 258645134 971391677 826107908 536414684 792290445 830344165 24973713 28040520 499391153 997851470 716729353 114883664 823900220 175809554 83240381 341365287 25400202 340849050 426473791 464883845 655733812 911927521 871643415 854476171 553044763 930523609 619131780 883541479 542129965 272256679 205773803 77002811 418575864 955642296 737216686 909875992 557667801 673482 892489423 954259681 777461561 695133396 85485411 132024817 250319907 728817782 461405592 137899996 505477818 804798024 395669220 948146780 636079098 47714435 379113617 244819822 295581008 704848764 802789665 214996289 561207369 382154921 219258331 133495556 208347666 672538962 336668018 138774237 987643172 628614018 178903281 920592276 750987858 970081063 507825238 473523427 560695390 550446891 237867819 410660700 932321673 176898076 431551073 634027309 968487016 164459037 670194522 663617754 604164215 124981964 901175674 713500389 307847335 525451334 113910456 783081682 138310336 593467604 600482 853880683 606400106 140028024 753271722 672953483 81069907 314405516 187105947 527966690 184244734 40343856 132136954 952320207 223724018 100197277 676292760 882459865 257263267 273115353 88579309 650794100 122661947 318941340 705293946 385044738 802259255 968937900 229740507 997332635 937838845 795768770 139414565 899158706 1427605 345067971 985180330 211708126 893734142 372096858 297425424 598082599 604585780 202757061 644183509 368599104 960382262 784460983 425196685 521574929 704355055 227083632 372838136 150322674 574772425 590699863 112374455 936110397 252396740 157357944 838509475 323281362 553644939 402100882 418914445 495406722 324298917 850273439 585734493 522157739 114856646 449678991 700090325 383878078 86043664 157451450 706855090 378786336 885828723 33839044 104786259 249477071 430690548 243278413 207790662 202616642 128267838 216022823 297747437 824822360 915543365 957512160 242900377 76924095 492677883 899208336 369062799 719677717 929988069 750906839 166641703 483480995 487011364 66407741 348926041 402854563 972846366 549808234 213645777 67885171 357204595 713998861 157712180 979899712 649047497 869305712 8136170 169762567 77340142 440298888 666476039 609136041 398652679 537175219 729537585 877364354 478516505 655117982 761408873 794856140 428531430 308795707 893080843 446661848 24560118 40070251 52982788 377326539 531844833 164628171 880751833 819608271 601290852 44742941 720261331 389877300 165242467 990915185 720839413 872045264 222713458 194938842 555982659 824218576 489230588 578481797 182560329 283121610 999778591 868376166 521121684 188955814 783070086 524810837 933509767 791548875 624044358 697594291 938483748 533813892 232577405 581684822 677811219 376522443 940397586 9095576 811234949 563754961 651106598 675850667 792455709 210560241 291954275 431312488 144640268 751498531 613043244 753190372 505985336 254219155 953062199 841981334 616912390 673306423 225712828 359466889 900295494 579485790 834262996 402943466 842694449 166363148 345264551 370534782 116351085 663058474 949700652 525545502 16414946 69758460 726496253 83046971 485024258 473580830 895548380 710060773 198685873 13152420 112662327 377989847 769342788 732060807 20622452 532851126 395954946 701583952 305317494 474699490 527871734 839180754 906001153 540669415 982738073 797776544 34381094 692542523 25486053 628655025 389883186 663988332 40966220 718652333 187782458 248605052 226355024 746514204 793145435 534872232 216473935 638221566 890722882 381471605 489518971 271693578 530539517 639288389 587112877 131854481 499595100 101263993 794606590 132341329 499021434 909908483 522949736 624615275 718586430 527671595 625103837 17449565 909784439 13796274 441039187 986349752 341632682 372269910 957595429 237140974 756359811 404627576 752352554 6909222 430016248 464873277 502690956 479897062 552429266 967782942 864878847 687888497 326013700 925064069 664842750 912730299 234454483 597048529 955978467 6775454 459010245 272539915 310064095 491989453 956834550 117438637 609834095 678702767 392170111 385751213 781414686 47582436 182751199 17320243 789355282 226049165 701318215 43320555 420018946 475582103 307461853 500439253 517393856 280483978 792374660 896805554 256274886 348427139 310428020 701450070 19322780 36492923 969829486 574682890 158828039 128944469 639530078 756661978 767774538 39063162 775957459 53649130 247157444 771699703 683389087 607876694 223148055 917545075 769028893 185714379 475190378 628881780 240747551 899975364 713887466 397939298 79107125 116997913 928268147 468130468 509368191 467585071 782272375 731275932 908638389 324820420 781369240 342039502 991487043 829527313 496263385 429746663 280308165 392606689 524796459 470784213 528877945 175280555 268562929 535976310 562686618 380465770 317842826 394741132 479436583 615095851 808840777 249005416 294950193 486032949 245152690 249113433 182619752 675436475 855725315 758750645 945533044 27372806 6801804 256201607 860888126 644121634 762782084 50399323 272019167 539971458 2210680 508333980 420041726 118652579 488064116 363991779 421475065 772020367 275610032 838575873 282555538 534599469 887597468 545284132 255790208 360613919 758807931 977504171 410940538 720052363 194515541 533326281 410946262 73007417 200311707 452708320 616201832 367093868 929208006 71314850 134212116 221487789 6431024 809607534 597537756 998320528 639103405 981760953 504661447 782541653 208530086 501238662 283949281 860599076 323508591 437532406 65789484 448029778 25879406 293811761 422525362 528649566 541599913 931939517 877355329 165664620 717449789 718011181 261311049 448404102 480130664 776040810 543247648 467889006 582509624 264809383 593976991 945887455 914947211 441125589 551315704 629792440 665078863 844709141 841555074 653743653 471173908 55504265 973557504 262117905 540366697 99127141 169444858 650597687 47329736 447581384 201219359 865782 667162022 698669302 780689179 396290802 831764643 455206270 816793534 735961002 983316151 9631996 621270510 313950111 315474829 59820496 74082518 902945083 267976294 689917397 202156704 423381785 619164037 455125874 962357154 542488469 261129650 200624060 743960350 252301897 175729997 508025748 537819821 208790197 653233184 688737411 48557467 377705322 315711760 23094058 390385809 159348520 621077902 753432175 820127356 161242581 372222005 971007591 534107397 716994660 308499599 370047627 977115327 106950922 401774597 875281150 939106768 785967850 302597342 693519440 135989366 635972241 510027255 192891019 656985373 541985567 321493679 439083561 745605592 754520683 137089564 256507058 402760844 995032414 723472059 485773276 526650190 843523100 39409422 347219659 955610561 982354237 247633367 793587537 159065451 950931486 437941378 911496616 22277237 944228285 962650774 729225399 631129817 966680602 831009571 401214686 97662312 391080184 520073922 507957696 12673761 249693304 330226666 379383328 956958721 884315191 995892716 881063870 892527232 711077194 955092338 220068674 440817513 891734245 149713184 703672221 493284471 547479301 372101137 21350732 252311199 634512894 18785998 610938797 277937929 556021424 82276078 328761031 991611649 5707887 376119296 869989964 457713975 107853007 42030119 184145915 711116865 785930379 417801127 733286987 38767195 444977622 442868240 834462470 909180775 28412625 558418205 653773490 894120261 665716728 441664707 550043482 333992197 16954568 707363632 740354277 872673132 960465200 112158756 981165501 352279718 953247536 113010973 348685798 826786480 890792876 183877073 697739539 885587577 915456513 96981354 660932462 455085271 783811991 120946563 92481064 545859781 889914614 707359695 551026151 372494614 774218639 126838487 45915 972531886 55999515 346066255 301397077 609868519 687634522 848481219 142682752 297288033 952922551 312848901 3212057 270750839 64869439 401287911 750647632 435836991 242398338 553284754 504105201 333102180 838623713 605824845 520164640 796696051 228534871 485250395 602800810 343359020 910958999 52543789 324527228 44333479 407627111 766186951 455907061 760598967 840801703 509095424 939778411 559656652 743918267 805419112 237181895 795217411 438462580 813949618 898515513 452617995 117694060 416298921 451655010 577535680 132942702 749204265 456573199 695449017 406097400 74303551 41033120 849512040 948082069 901548828 189419010 362828663 229072211 425083570 163990070 688552730 155803593 86314748 958897800 288108186 715921428 940834687 947241776 536165017 519785366 528301656 781092146 938385524 403782260 915214756 188738383 474431352 340127966 646663319 474694772 353762257 501562526 692355439 711675155 836066507 7572151 67663739 528729239 622740274 205004042 75014223 858988279 21839508 2355795 499677211 342234543 376531095 189342707 338453362 812042986 605709836 916497856 782188154 622437734 942790475 330676855 871806647 372662142 281433288 51782119 841902485 551359232 560506137 550722368 649374658 291218267 839156802 138971911 562644579 190903585 964198352 793848203 886699962 319414655 616587050 803207605 541073634 720337742 479509792 615458112 441597865 469115044 952198048 61383707 206495457 244667638 571059626 122858105 997009628 478209163 208954244 316401849 601169546 155365609 867950266 803886720 856876328 314888777 570141203 66625684 274133859 701784328 851598604 56892707 452409670 393878567 120500347 398228093 333122244 548275637 921806720 446385155 609988064 24152800 875095808 866773332 78342894 714207689 649440593 256555984 911472690 274716594 50704434 377333273 273005868 189274221 549702585 699531207 395807978 468815444 252883181 777024623 970574654 126913636 748352314 806337137 625793401 546417856 899971719 448058005 444119532 613650346 475361591 352299251 606459229 758673069 715894408 178612515 593324134 447592064 471164636 436837995 672585372 866262044 292211155 12030882 37225276 876977820 884471442 58072833 127647626 153540098 153097341 902879717 387428315 670040769 228433848 716416979 726421557 163093455 113339639 234467024 928281072 745432509 908986034 737514618 873728614 421080547 18311099 690997462 51580440 672943706 809486734 298991272 992440564 897088305 836246772 941882517 863227691 223446684 291602375 732493539 91149782 189881960 316344162 867208206 920834716 357482792 190481769 881119394 711249136 126159646 854016958 476906023 17529842 963712565 701832549 23727561 344326534 529297895 470028065 157997850 730393254 92294007 594240203 276228918 764139634 739875341 186469816 794879498 381631045 376192200 203129159 747621548 374069290 831248512 456080065 193912122 763194772 395473962 491012284 385041834 677616164 586193305 846114208 1743669 505255064 775334150 22061292 839469309 957938385 774608100 649719926 239880040 222928527 783528777 869241676 630912237 203341925 828601872 988359290 109194106 911434962 414290860 364945192 680214367 230188635 326198566 878399078 239268827 643824992 472330880 525510074 436954349 268384042 758378787 886204731 310779870 954199262 326900830 866138287 154029618 274683369 74254491 720378631 941816945 532083165 267644157 769605779 514816362 457701027 847953129 520187218 886431229 979462844 674425826 963796586 632860697 714001056 937614027 808105442 816463598 273216304 41321803 359957740 903792821 390365403 204627968 431829149 557221036 610280794 333017574 581934915 424647484 455663007 851767197 511952099 248537542 628062885 508518331 885318756 816891568 495984608 51437134 803298038 517067476 857813652 741665643 552216162 192258993 601191227 680714893 968584737 49526090 841593000 835871005 536625616 553496244 460991755 411324614 925884975 352615090 355964498 370333367 752394911 212684349 545710159 415564587 28969312 774474261 320461506 819695129 251245978 655797367 982479023 816358827 97922515 415831759 69346895 943236976 483723701 861974669 24638663 23375981 680191459 824797542 346263571 316978219 631565050 646475748 328782502 923031756 144735968 304333474 354399054 520153316 909279560 416665177 849145735 320911081 900103395 782657254 578013858 620152205 455045743 473985684 853438255 475208430 965600652 564184833 76964912 677989429 266369659 59023362 277013418 420599542 879624813 901397562 259432759 65675673 178736853 507666366 946836359 971731769 638443434 303847825 603383487 175535180 483931751 747736115 982009692 263145402 94897311 36387241 818759119 585710416 336303072 928445303 605560720 88520308 170246663 693269775 686787070 592438528 470294234 200812406 505910081 938031873 213147535 432584298 222892504 224804058 489616315 570033556 476835772 503019025 74459433 457340065 787101289 362671851 838028682 975571654 725576744 99105380 412931014 530608976 416182859 825586770 574535632 710006784 940300471 731716519 545172175 39059704 357485218 480888779 340943412 103614561 834441080 818100085 220276028 515130720 172257150 376704653 601016111 40213915 271812725 429229776 408400846 521647358 690094590 627160058 942799711 659507831 416960691 832692382 626354117 695914062 10499265 430118203 684793379 873234866 286731899 372042677 671647156 37125280 894312248 418850547 922043498 199542599 825089437 766462846 579431808 305085963 866360791 13099780 477445006 115961950 274875736 347774905 893353854 430406114 981013397 341996616 513046368 183271163 49335135 904273185 888159221 217033081 498588824 286901294 539695529 556023436 128937246 792481803 981379269 56214937 600560393 764186655 399118415 79619900 29551655 365954346 86209488 614824472 33196855 687183376 414250666 340925139 300911489 448191469 488114165 170561091 25236061 938311559 738287591 114189997 478789657 934590982 314393992 62051210 65699590 422501487 444814359 237299595 595195044 750349969 518889733 754126467 431770064 248201226 425847315 293992541 501859637 130202056 354638865 412255250 167262250 456887752 424613177 922540064 276569912 422418154 238729365 780144807 612772337 328686487 896508577 402690845 358515741 234950728 490247297 950813594 194278448 379325881 984676707 462372065 922248980 327261067 992684263 617040128 272261206 829951535 739335508 798897041 567134692 632042524 942933834 271436797 869624742 312177869 631922709 369982278 73302872 344127915 926961551 234164955 747967581 453524276 13300160 829848601 589912936 675172075 679357181 373698448 52842731 841388327 674430936 104559996 327610572 420000453 470558418 17686072 70558145 209266018 338652394 914919403 235539085 421515372 347885559 210969596 915410969 465413478 395149011 387575661 716838210 948809770 667813294 796142606 798801115 993260966 956133299 718154705 913721069 394865721 912161998 932016339 307623948 76254 131659624 677346249 716074713 120733117 253162305 628891925 395206841 741691118 202770994 842820292 115771899 623428794 945438534 547766851 875407740 878070770 302730046 144812736 445248846 176535617 655897172 6246156 103997524 885147539 38261395 684583930 270920979 308650110 525564114 46782304 239179890 91926301 365611068 168614736 10452714 314349333 843407147 815367215 755898111 417631878 893631849 907621553 890501462 214074095 324257021 232974014 796116871 517555890 837768707 475613975 690971356 267749757 591610602 687397977 632800262 33616 244038872 210404124 750631045 315892878 70671304 360877744 739372757 821995202 820935696 353429087 47579953 283300027 440007384 941368096 826888012 866883168 131369440 327258574 589133900 243197148 92121294 830876947 152732363 236399393 329135558 411647680 24748815 333552995 566740463 488556884 375562592 560498376 781167511 890441237 574213559 335673871 259636098 540374386 8119436 45350153 936367809 777157456 737375215 588236426 132787566 6884643 249604108 823340743 245326939 632449993 607137858 578148213 109133835 624668478 57450389 28532654 932711759 204253599 736896112 497777660 167739653 998563166 209492 39034928 575604668 86463170 204054958 332110810 748034277 795860401 219708960 895892412 5806864 721541048 307858298 48354990 633922482 841881789 811133023 533965694 651309661 875895484 886384369 90559857 929975016 710629352 757628149 460080255 376387831 208848030 370693603 99553397 947849940 209847291 546956512 207187180 797951827 788420311 131064489 93965834 694742232 717968878 88380553 48435307 870840992 722483831 441498118 435071878 857029121 618942044 313566336 818186696 289793927 767336915 267369188 569153871 126263760 641756776 9432485 755972003 726418739 897088646 75443001 578496214 976558956 237530109 708703863 776863546 152053887 512211372 258920490 865562816 170369637 566434518 380769257 631117176 306024049 841788669 905858749 949850365 944270788 488090009 709923394 510064232 808208136 321023968 276997972 989752073 168010922 639696856 382428940 270849014 550665473 245585060 51064864 270696852 292147999 710728231 822604818 964452946 56886114 59777637 79805738 216980714 633037823 647356359 959239043 507335490 722158833 64737990 603253048 414325959 460635076 435362444 15293011 223375488 125707192 518530332 54832020 196791504 848327553 589218399 597333955 676141014 126111080 734367012 833539643 332284714 860739311 395036229 802877614 281155872 414628645 740622268 115435720 127637766 827081291 370986554 495281878 351248058 701758426 377576838 135421572 63736912 695326378 577232504 131367906 695070259 871765602 404270887 39760242 324196754 422887899 419810359 458895684 931196021 878018363 323665807 349667750 802726306 33865869 382009177 988815795 420484150 282599745 71303264 918097821 317282837 263222183 368822105 119160783 855760669 72414515 660447322 291501149 285471318 145130624 410681120 122121793 83651315 100703709 895810994 156404267 753065779 353462319 66855226 207192153 175382289 26974712 464134729 604549120 35573831 352216779 539916518 333980075 722713973 187719715 989500487 929955639 389739293 104087711 277435062 661355781 205550793 989384992 13452905 689432849 635254861 820662100 231293053 617728009 499606080 799895809 228553986 533066378 653178707 44158668 692545914 325672123 748510527 197008742 412714418 234026208 803038530 8019601 421198336 543472500 827240101 15408138 5734642 985252962 811056415 445414899 307510822 307335553 127227236 453260849 668042849 676073935 438187098 982770749 210472173 434696064 765833425 559374783 826236438 135418941 243930020 833322362 880056121 936763936 987902285 143473510 548237562 776188816 764202365 525222391 133350483 363987170 358278825 871810726 390786113 958556226 525264994 301625720 323457381 198551808 199617223 773009704 685198419 716221455 267123008 917766371 315969244 844327361 339820154 494230680 916725468 601257429 720961831 923647732 568508216 437986835 234946884 367746024 924095776 952740741 955429499 294970702 835174227 192077069 20582999 880204098 406123593 945731481 854289583 168979507 555670952 698981062 461309700 541360820 679636225 231608470 445579665 685192218 826497366 803991779 840823719 636243359 808253253 102187583 71545263 843586923 985365568 872780136 431036801 379543403 808417409 490397621 999734571 714190971 452263546 808197608 587781028 473999178 865490361 639745431 387916325 841040862 938119247 718464098 396352338 282338151 589305090 118410696 186245180 83045780 996753004 248405703 535677159 651858240 985968956 279787234 568325591 427329606 11859780 119315362 781761461 407185576 557058362 268935411 512551993 550044228 927759980 895277490 255506008 208499286 792731591 586782394 584232007 291436284 54674043 105709857 426238300 714147435 347816452 790989587 902026609 58729929 922223237 195581548 953675232 271084945 500650354 195788767 851304613 87338189 95776299 96993805 809768936 432771804 540510134 111114134 240276775 798346274 237123272 411479996 50489716 137456587 713916308 895990061 628649331 112205678 843496216 779030513 178519456 593326088 57787861 732387276 517522041 278679993 404505556 718520539 235053577 563459418 554752034 914124407 22308453 559008651 213958420 877210795 746743661 169036639 473640724 562432303 918432237 641565586 710650067 946930136 887734247 42814178 403036462 961823405 840519436 267564753 448907001 720336566 447514944 328166015 899801444 596629943 260054164 595607364 828231196 156573807 836812285 262477959 510614975 457858726 54576389 502808960 126389465 882775330 121873240 213950487 699603324 686860286 629497060 880442385 392598758 491943933 843601140 903617999 142225194 618824100 11348445 586353335 179341694 420718591 446139265 289164754 383991549 549701172 790990069 899425871 294049933 884702172 116694100 201408786 68934064 292230541 931628410 838165632 434423313 866084671 808549406 621931316 963526025 638886134 498247283 233583803 164178121 763941457 611067040 731218401 603758073 805762804 647188486 299678715 750287867 847269639 401048572 311045080 836869137 833255816 362920032 820503185 650089440 793058987 982742169 301866940 925202365 793258322 970386700 983966914 762460108 309971214 403958365 898549502 528031773 886961240 481056602 318781755 914918401 790384829 127730691 351855767 559487216 915790686 375176727 570182802 670880281 733746394 185498075 399060334 536218446 804118430 130020393 53732013 654648660 923057337 549487583 155463103 939225517 524623184 178107525 686965614 375217641 879416171 658978312 613609719 399006278 91544304 34944777 487676744 996273553 336740358 78636819 602791796 327578731 6271536 345543664 360558959 109507620 146854657 416117116 161203014 49399533 944098078 634802789 737789486 329721705 896498691 88999305 613881274 34483908 225075678 188429349 997136721 55358301 668967446 70322518 894367882 953026555 940800426 601355699 700958201 265252792 150574445 186151110 300645406 673210398 460150495 188710399 423024911 739021990 904695885 538710537 588421535 464841903 770536910 987720372 364730792 984605867 490003823 532604899 719631857 898075014 113545700 537317032 537703918 351600055 99772322 584116234 46114551 41505507 62976602 574119129 104917679 440650569 117704113 972110788 419367362 206281097 546722195 227684791 423214020 535817251 386783900 236948011 398573761 332640467 880034873 100327047 599743169 456975269 376810722 497584814 591507590 953744217 665038064 115212595 456145391 579499951 217496725 988096817 28014729 410448875 123104960 656056769 462058996 774686212 859856507 284560230 659891341 70643398 273434087 618199150 776971613 504637678 955496358 164985729 838267797 289268327 997873720 494964611 225931808 460096255 665620066 475558049 668750670 973679089 132998308 319249058 220487949 611784541 76203184 443329105 203295242 743919111 426981454 735051412 786269192 530460435 880280667 557680892 45909420 473011476 450612674 927375177 966230683 663987967 361585719 577020678 373318697 621048948 920016627 92002428 156242145 660290649 878361372 987568855 619304826 23761445 293083512 51043680 156059765 244603375 591071252 563654974 734785894 612160933 779242220 420423957 633733745 1564486 806812614 258086961 556005055 440764743 751358654 837728400 627366284 808626094 594999128 245458710 558817805 80514303 37373500 42101382 766937220 815432460 442851757 704373610 686110467 953004261 616704992 745590535 628470726 582520821 891114652 713929909 501052469 966511683 630397221 936278352 377416116 954736841 244028753 807920669 320922204 692198637 243059652 875380825 21604371 165574142 484123442 546532599 833262111 406874015 181902872 880302325 31245491 774096456 430283883 47408590 114417699 43009329 905570071 748283694 943156538 862597451 576440338 983830065 891390400 888597592 188945099 383455797 556234862 375939687 835314962 926862770 749405489 161251235 391826504 360623409 947105376 874104240 864910132 913174792 997953918 711952139 420928357 127604767 570029492 881522772 875331048 867381328 491034194 382182277 932464255 92039865 309379978 216393548 338031849 803534883 103436468 963231347 791035983 745253088 705899557 947372495 354984886 597298249 677456382 960178047 830202269 677249760 632825776 853837195 302182670 648455379 332538812 939541168 961132871 68598831 726135605 447023501 828928971 101631426 143526880 227947629 424870468 799875905 156930651 333567063 896252262 73799024 257550 108997823 478183863 409328924 611522084 3477881 5271571 227947730 389602146 601895345 963258655 100220414 478738320 143899048 140870672 454684299 454372691 821510205 33741485 949218381 750925879 591252092 152164226 956824890 430703735 295139525 685112802 74206833 613232144 913479693 603105782 43685478 58974034 559713281 393005547 241796368 974814140 563318100 141530827 80917724 212180347 163927883 276502272 772310100 925620601 514843683 307613177 51380371 268356991 725105748 139074615 78124699 32076890 80820216 772893686 164611852 567159743 165164299 446761007 669614745 179666604 490525788 909822848 387600102 36717144 756040498 510976313 907081366 305144446 480230808 313989386 60144990 545228492 906916897 912468209 658928486 941133745 318132675 700150858 47551495 601819472 861991121 50172937 652210807 66549189 662643937 345167178 488905099 216560103 310037163 442125269 616177747 995697614 852685498 350381020 974349339 90667596 252416969 932605984 43382807 651715911 867985616 457942499 777365836 164795362 522739142 472840957 714440148 95349544 284729119 685304855 572275181 238754328 537428677 384948206 560429904 728526053 477715137 417159673 583289406 120398865 634614154 323203919 175893298 150484602 97319125 781234482 765779160 432812027 572745658 946638756 952328692 852453604 198941127 526364841 173058202 13547293 919439668 377715464 863647864 771445481 730381050 712027301 307052798 90990164 909151522 480060177 482972828 427642408 753316286 553210360 594614238 433586755 177027655 187324447 437893693 170084180 246147673 456226515 127194460 90434815 242307497 692461783 578080879 271304887 193426772 774916859 86874052 742202965 459244121 171176538 84491143 505231142 568384131 750989367 893409021 790291645 641761669 544311299 831758917 936666760 197216981 201966271 965880980 869924263 123511260 238409287 815006659 430434774 16014349 435986157 379309936 840968711 61386056 662559961 930877257 219909545 182549709 983130974 544106874 799942409 369831350 482078480 105143330 241164811 608370912 841156150 122695546 603802961 479637191 522522149 946674768 945597122 318237323 809251192 918895120 844900506 845920666 715826540 808794990 667561166 285747813 60338209 598570439 132427794 193411804 996531241 481028327 273500924 575980325 972661005 745149650 515465148 249275106 414793237 707480969 32636262 712699460 419176109 724486947 824479883 343065620 956248599 75132222 456393056 328534836 558512195 739161436 575456115 722890469 243640057 128390732 279861088 926558864 456243345 313473817 874517745 930300678 450346971 26407331 241192352 608262802 335560742 93856159 113220604 596134628 972739344 668883535 583109177 391034146 808264454 244390100 386519548 269311182 263258377 381863756 871793845 676506498 428488279 443277801 656946017 256167815 276979066 200631392 889267640 714993676 791306518 79126686 238226516 261016077 635934347 806292351 308359812 216778669 767708267 795481761 193876266 620256892 744584454 55108609 934280035 458948266 581966392 850321762 212737991 352556790 701301112 959801953 484638488 79447390 663001048 761714298 990249280 634662418 505845726 78311758 997232466 786728204 875077830 170975420 785398592 493218349 122271951 16384803 194383495 880659471 618365175 589218720 680702653 367651619 455886039 921218411 664559269 901533961 251211180 380123440 772275221 480210327 673794654 41295029 509978643 715802706 172699547 114002391 57431546 925832117 384393077 738112050 197358759 199442374 685011966 457536195 166749298 800327727 391588161 631500770 12658529 202959655 628902553 81952157 312979402 482691435 243493631 77506551 148770759 421771528 320058030 78408343 220191328 258028699 324598958 865051137 729189891 113625549 822506501 477891512 216573560 535044271 985965884 908648025 769970529 286448396 409911333 871720233 460872765 687098485 445067229 483368312 290011446 230251184 871307597 860477709 428342025 747853893 885017020 7633432 581202691 448532525 411972280 321543411 1951797 36081824 380709697 64403748 10829397 248836838 400644032 441629316 349384498 677730576 283478122 115688144 473369962 948800644 791627793 825883325 583428800 189201957 154597122 406517308 391232777 649866689 683251697 626535385 235434419 5940829 59075442 267880640 65778753 403100518 639044286 380259162 635546497 215831712 298515301 917661327 333113942 252935883 811242860 483092648 809607454 245063920 148310172 426271015 991749455 498975975 587513168 170604464 71215847 695338409 408270048 222038814 636826727 451083481 356095871 184033713 804918961 52024227 381216749 993865537 633253714 991086525 257692378 37441214 432553861 371966210 641209058 128314337 554513045 864223581 4505121 277318162 171616533 221084662 792117169 193077331 15746936 537941158 970967876 103044566 795991963 986503765 320833528 412301260 322600984 608611310 375781327 566806079 981372779 621089455 453881001 349866223 814236382 981016776 891754706 216999824 700720057 907647331 415798698 807325408 300601868 3806126 212853014 401994700 912793182 68779700 672500802 220840330 720563002 916358793 726533472 785243079 984594439 665529478 719143244 818625696 986685344 422370834 295228861 932922191 167379004 998989326 73945585 551656218 490879434 741373054 747376431 857681434 150289744 902252596 406991558 322165950 569507018 889744926 473645496 883093235 146758590 681018578 854583365 850819116 329535922 917157426 952699659 156567535 848272319 886969123 868511399 517818558 413102505 393670512 530000087 791060778 765571475 695404447 118293340 598165013 347496089 42751977 376383111 563778454 453897379 565949922 740593552 944346427 108698398 450250617 168978441 654729126 219297442 605557382 228295133 29916726 279813296 779152808 526384716 437729359 227246721 771737362 119642819 309734738 581296071 965992767 316669076 990070522 211171939 37404835 985899124 500864723 291439254 712978353 471476014 8114372 772150742 314226011 370314169 779812909 646361068 904118590 456091568 701532693 772661344 532466901 907425701 269493370 980314346 407332628 522582461 542188502 152124601 219328701 490277758 659608079 647641325 43734207 954030560 166937841 947431137 809755650 25460169 459114457 34566480 214565743 95235607 66451226 74948372 183904028 408888185 79533985 382597626 155055495 348888417 285496842 637731448 380166229 895494659 8085059 118748800 326430962 420773574 605600730 29610570 71109225 459358246 746192587 290126908 962328102 992329741 869413583 230372476 573371114 254772792 547188616 543577059 551231070 294115255 785149375 436322862 611240150 555987334 199413774 855390097 427686234 77223123 905939374 709340906 515818728 953835921 881869947 525176926 49135279 127847891 373191138 945753799 354693471 798365257 726807098 669635534 658514877 105535113 657584400 581532546 353533633 764239702 819926351 64970240 254152448 153534305 700611580 334880801 728549670 368774873 598731414 528334247 967518084 806148078 384220586 54831031 600606005 669741035 407128757 301031780 969426575 703078792 980017315 559675126 685687652 626956249 685027544 960591678 664006662 664095416 783878512 582858548 269114306 404812365 206568974 531506288 195785166 36091676 496454775 528763161 32628367 912482728 633113143 590817196 941964086 744284510 844811340 644165922 896258495 725638574 883598594 371880360 499493638 72539418 976100059 234813899 623767795 454707237 728961500 545442805 549935567 916609600 324028482 208606581 737109229 646516612 692569508 1169293 568959721 323730839 102164945 364689019 47059147 337729552 146158732 886818209 446730745 994675769 898757813 438706709 454539943 636528695 431460632 394413988 226649764 228438642 341227350 33351638 678141865 522806266 800254003 637014460 180455616 995329352 918378759 358207871 668574150 894146464 380588565 668305609 832987792 223598482 434224116 102283486 130889474 313154976 216724108 715692011 983803387 483938374 778145091 149501538 33363978 784446956 903431538 310311452 86791425 675976958 583383558 717941192 474306098 925492408 607107339 158325311 441335895 38055334 164468692 905348897 125326265 88000152 877956428 740063624 181364026 156484896 598342205 270999923 113638708 146327119 125832010 126399357 597166133 331770099 799808782 393818347 906228881 737325244 800411450 987656604 962513112 392994332 400111140 609919842 86145510 531165357 578149126 183127716 145201190 63853741 309704015 110301295 611006007 405962456 973199811 576999641 427355437 915064293 109041887 706070355 584166796 18457378 679108102 97077508 842739280 966228500 333892697 69660520 686068954 254475793 996412482 634395324 82768477 780752825 444808735 447670279 840993684 751378839 970351800 227208052 89981685 175637898 618283378 837189600 470997020 625622312 719511452 719572863 505882110 968675117 853204606 184227494 222787938 279316635 344699869 662146812 65538716 128409622 466770899 72251989 10546892 886956812 215387554 258283045 887733017 237900246 557065726 299380769 721681220 133200111 15100724 137870146 140802586 860832944 150628763 254093552 554546518 708508959 493979727 289760130 691308546 947144145 341722194 487761202 783078046 468735907 858875324 920519736 485404414 884957424 316945369 636636688 80385475 454074359 553127366 715447516 24021722 149767400 471039773 283217459 632090135 597715330 522306083 355015303 110551872 29163210 489446004 312116995 667255695 371696728 867216409 936890399 829116437 569625342 337130695 188474745 950714211 131008450 392284251 599366181 753879352 477042630 202006081 808621528 615895297 163941966 353207519 780368262 315229502 41124424 521737164 556552601 391734839 438629201 582085524 115532830 47365407 517198477 105786682 588099980 658838395 107367176 905712379 732084499 865218316 3421322 642858359 944594426 261422720 202835573 584548222 459128405 128768110 829987615 916343019 639784019 506560175 491020036 400399277 238049526 655169413 851417369 650780117 430706892 986019540 808901886 285692603 439397448 851454265 610805571 33562703 740626275 257854581 900985390 795841171 783001316 927095710 402123432 425728726 716008043 475728899 63607681 491883284 755378821 109347549 288713128 549732583 139623401 89115559 536563952 554729510 215799570 368279861 865745322 51466599 459906349 792964188 833228644 148110419 618546110 515164503 503999823 826725520 199529019 776743530 685138062 723511623 608086752 429557926 463465137 387093073 89806825 65313900 432058066 488282294 880679419 304615149 384061613 727674699 518737907 248117051 937153851 591064062 844017076 577848052 573226766 415427732 147201182 318892907 84476741 718631474 792821207 231511509 160194878 644680063 760065128 815265203 365746817 818066657 800499686 229820041 844870205 135815625 672902957 768386859 328934649 461843208 691981917 324157022 76006789 748637714 294539591 324525005 61847861 406808298 658933844 283612469 685013362 861631634 32784526 99993923 732634795 246922626 277863637 889410449 315945870 824697923 934809070 454533644 690837634 828632054 51538432 868080663 823013460 473239511 480737776 349161538 753999256 720384692 218542597 495107443 278014121 309946718 217195990 349059948 401373503 305597775 756437850 906099704 536966586 313924764 166828668 347537001 141314743 560979666 781758679 847919736 646186190 339005741 371620923 787442724 281078330 297148923 780166060 180438457 355268635 205856623 846375774 748919703 512629753 921034624 434368993 711861700 28505610 29951989 931450970 60749490 684018359 842004106 344144622 686923015 955815148 165099435 588370063 228287697 334373685 607205808 649653682 906554704 733129845 144576481 846818898 580717226 131931722 941349332 578159951 684963468 264674355 642301402 255430708 587943309 760032638 999123070 167957276 398622897 641017595 914395104 209667738 495125713 808744919 25169423 7629370 131702571 407214694 480646764 870329593 551714984 302217428 892973124 336332608 275220286 766763758 640896804 271590892 58792664 76233906 362124068 364528050 500489290 74228277 919979257 887869351 370413624 717783648 839775569 751071567 421069251 13968713 502277127 50785740 965496062 149662455 654432464 610604792 757581290 731083355 343872126 943519218 565891914 16769531 42875645 358533966 576801483 750222479 377253024 974294647 484277850 182247135 915817187 456738102 115519720 927181132 914019943 779879302 858868500 574685085 764452642 586990834 357383771 555657032 217557514 982158029 700965772 102889760 271242941 411942628 798951119 133768532 681640358 458197352 382171425 499498406 540586554 312241015 248083313 226837385 803561396 61111331 846579189 326765038 977244686 172361880 719274187 872006257 278079790 274196743 867880858 238323247 748885975 987656668 818557642 780345533 194707143 80150290 618209174 143670789 862391874 862230338 20358483 130386167 378853759 93239372 23162119 956481494 955279203 971897949 107652130 197137416 249580637 88370615 322595234 903712365 14532826 458751743 887547192 449707576 562963245 326747900 10113767 719747310 229732636 769444285 804582701 589291398 239251800 88104533 473139712 623645443 516892573 88201762 214548159 646116335 127029263 796004256 752116232 525845247 602699655 566602466 520513573 110803450 704853068 658859903 100087741 989295239 708183087 866274123 944397469 489339364 149212017 757694129 28822585 314336129 535394605 600831354 98155738 872462604 143945344 500230366 84688366 122444265 593013859 834148809 374156679 492487652 189385859 396601548 839728582 834585908 79655250 993174280 219267461 407853556 377162145 568658764 380967262 388722649 727687316 409939220 188420161 712308792 7592082 251563198 900142982 948274751 960308647 807014788 319225023 79874644 504904585 459774501 29345717 671818471 771690639 266825830 338409941 917848385 127108169 709298512 622790124 775601061 678621397 858693305 73005485 277524218 373785044 485129355 222040752 483949660 102687709 192960232 558486168 574154384 870289391 706917290 479028319 733341680 657445087 995957307 505080061 595457492 212993027 705187982 505290589 273223372 3894338 644964981 434401497 653702951 558311973 487062744 989477763 265296097 386116176 280780213 414563486 710928865 618086476 902065818 382666616 930985470 151356112 465047355 906686148 266384677 317896599 910157853 378359433 317883150 279050856 76901214 520577767 616042513 980669523 263236031 406107118 298494401 589405957 286066368 344734607 810422430 564632729 822634171 710400877 483399354 948077864 9877355 326429419 317740047 15990021 784902110 749811783 249080026 653441287 269303054 302577131 571539132 928792471 54792604 869677647 987180555 73735073 193986520 328873325 629693007 124770100 4273323 33694268 518165054 132675600 622542467 337493627 64047574 106416563 466998730 900540076 452212013 259664108 964555040 566490026 734675194 421333487 565146722 991821945 513828697 678435600 58723764 836693783 408372838 921016660 375567970 903863068 183133670 984014560 688050954 861030119 164428262 554943568 719118164 234699763 728632662 415873941 976864261 326972954 151741266 917208456 716434584 947811743 310304678 244071467 690418064 380142950 482965534 914501656 811455254 194247373 861268940 982509397 471316338 696294568 937710304 918988231 527242377 740309612 597116303 302710278 608587952 31459498 720612521 394104017 432781063 576597082 918695770 355706613 885124870 961478669 497786453 974914485 275881978 35222454 979357807 486622807 867862545 686358658 884548125 6486668 194900863 977793358 276726078 434216942 273382896 220517866 280607586 93432162 24150421 414253266 618316717 866091629 772447629 644877775 910771689 77610371 33985469 609203898 604143547 649804388 16359570 377788912 82018033 530768353 914891886 76578270 603481810 559097587 129905694 420275000 715723930 646240539 452745548 522515867 461922412 378056342 923785380 995660133 262504091 498419978 812502599 226898577 59126770 659213863 289566294 452200970 688592560 347975158 874205886 309378849 494682086 560205509 153961716 811815074 795320145 628093778 265858135 200737895 546390151 674541367 510509767 418065430 724525535 418603886 13697664 693965550 462125922 517956328 164534666 673234803 978796209 904974292 460574580 355849414 249430123 144460156 762946538 666052904 853395948 357231618 743401245 970806890 735408656 307970512 349984108 510531992 217454985 33493280 476349277 33066686 150760850 843364832 220879304 392014053 586721720 935950241 626137200 849091734 870394032 236567282 713399188 178306482 210314031 38839715 336709483 212261675 886913743 994318326 879057824 207049665 689126695 883142687 384642811 983352945 217000565 65995578 968005845 535843140 178167843 11104004 616765171 832896747 463633735 832045994 775638043 955350031 800693420 903660592 764321318 349896231 978947994 320349330 509962756 329258962 456488590 922567035 310041823 750634246 241249233 920455140 410252197 625923926 850497340 130383263 588364823 553532813 685775623 226184683 19050832 553766005 736333146 564579884 422725860 790493642 148008495 224135250 50350278 465825282 54426482 810738174 971549975 938275788 812032569 530384107 51174134 533875984 236488162 352709028 497426892 944371467 379082337 459867678 423374551 247585951 259180069 436578122 604664678 868242666 18085789 468026712 275710970 622408909 846218406 349752642 341852864 755269797 779206197 37303442 655727144 92051268 238965729 152690299 672547140 222880094 181334081 5722738 115638518 913302927 53282948 201029267 810034851 16593970 676051221 841632354 478409909 531589607 395146945 278098437 384455490 763202536 619442338 263143708 136311550 273035901 102365692 930887426 268453777 853042182 819780619 35136686 309222105 152681015 410973358 280665929 797342775 713086293 13409172 366486227 879899293 404185953 725664945 212493067 180205865 926844734 667057080 865239096 594829718 222006217 344321263 908311991 548956164 855409009 855891721 494990329 832266617 355538758 138575393 732789200 103679041 454898696 924990638 437221335 356232501 338648247 36584061 368892644 468087058 216262913 97292278 93488314 217428781 822939690 74869764 215780146 309746386 451442937 950560549 842208055 86414944 53511768 670927296 783562925 294862989 231050070 805079835 145977723 857094188 856281836 802903061 889153370 220788369 427735487 979619336 915206465 327739263 848708437 534497108 170984702 741422235 221849108 777690684 563554867 450381896 722730965 319761610 925226170 570878109 435791303 818742930 837031282 21646299 190198838 880943753 269055189 748567931 220813189 85222867 113874021 407561301 902949771 742314677 150793468 482918761 276832733 389597945 761506738 982545876 329891024 73210150 769330397 621805552 575654971 935861732 385077411 312550233 436821199 47692982 14420332 902902729 354550757 396727814 497166642 27404675 744512496 268763299 227286494 322226307 428768470 310812489 342869152 939668210 178751906 385699421 641828359 485771099 222735047 798154185 72704149 999131650 565554400 476205933 406337168 597262234 995940121 713694038 865504553 819868809 99616453 797824028 806889704 623704230 450675009 164855730 919503717 768688315 213408564 638265959 500668215 501338058 922155784 235621646 262355429 716940629 743175640 311134406 378051865 956401307 517300895 281321539 480908176 398449459 198608083 340061907 161933658 338344401 369586437 551977523 526380612 443364544 259759514 613277535 335047057 197357697 399877115 718919207 977272568 822891767 277947162 586132500 827218280 775088325 628580002 538717695 986392774 168382650 689835384 862780188 639798941 287802330 92371120 410214198 59576350 208528582 564822540 428577913 208033195 619617560 480523161 708254023 684701996 497312293 77306077 341092631 333999415 431579028 818637757 766913605 340866470 361974608 946197613 127343006 370452392 60900806 930391089 735389206 247824424 591744647 959536418 345248143 743890450 394030615 3592702 207403026 130709997 42602617 325965984 811596089 686471325 455663777 36985453 545130351 457828738 338094319 810010719 667887202 810774377 998991197 665281652 486678728 567998894 559193418 865420437 932188328 36244887 591762322 627992991 705419440 390053940 198980348 722184845 103197665 227492249 17402921 875626195 779079342 404066941 848199429 736352653 570354323 101679650 440797162 133698092 659076826 932329776 157392574 385515233 497069776 793234452 888450445 722144912 992264979 151434937 385218573 302497636 906685696 98952091 217579440 4114188 273994308 6089302 562954702 326488122 859681827 817540701 541999652 804524393 978986966 764189197 604445029 453454641 325819984 342067132 262419126 548967009 577378888 755547534 323340032 112359988 205493570 915793475 262273153 441645525 817450762 749259429 620808253 100627178 987443391 149444640 91289782 356998318 256791955 239096528 451989920 487617368 3851138 20558203 620890058 776033908 868323477 555310536 851709404 694843577 601157763 806111019 124121112 147191166 553003289 631982647 301472750 138548816 175893713 999376472 664452455 914695125 825397674 668997345 552622398 688418231 128950888 423101875 905115425 786018634 882518390 646618591 926574344 639593200 185681013 953671744 191491830 212848874 580602880 760627021 495581868 377458503 222635948 988701047 142793058 65262547 87166288 284154277 806894492 323806056 691076066 182237884 757858833 697406727 232932660 902874922 912332358 716918539 944697404 273189469 180249785 437814642 987016473 611302896 669364290 989633703 529243374 183085976 987113642 857324450 51474249 656546658 576863618 893737261 903933111 336321611 766136960 306632700 960655813 485696397 566895872 288068124 87630994 630029314 644948968 573243180 430328302 297209654 722798679 508328416 109387319 972606016 626928755 877370192 937020562 820626483 715224736 552782568 518361151 792897929 466942516 262439648 632864943 33946478 484683780 949757046 248315641 331602457 14203997 12381491 855275987 592689462 156712471 233972322 830574072 738770552 239926187 270831281 57214242 938334289 139787498 944730192 197640536 868203621 164301650 943239324 604591064 925741132 110454910 915794145 775998118 346105156 825559663 847873589 453942774 276901407 331405461 191867248 286830711 313209950 431789121 626234411 399682801 597525377 876955438 334223753 844252772 810508775 71422235 671411981 477865892 755408750 869055760 684674762 215723731 124807064 945166047 476283110 810522827 5048928 578924934 308471009 888557571 826001339 597301528 67118369 864238438 34487022 14119875 356859513 363921018 790592377 959547147 57473585 446840085 741498176 692546272 17536855 26870504 681357010 413515731 472960869 850263104 383735841 700102392 465017479 350158257 608213495 738571717 357619397 245740667 566364041 207470242 844664944 223959073 689456398 340585416 732226306 435039123 240084182 748295994 967489572 662364842 659748255 727808218 979361956 999363381 357252776 665209173 311481107 278945291 216105142 272351595 145676005 528225587 627083927 106040041 960140539 186011438 791161258 708197843 663519837 907336262 426505188 403686199 144776180 143452251 284520396 863975528 521542438 557070762 712544883 534646541 983755773 335009351 233771399 499753830 764343348 596938302 202778983 659135945 959850353 383305156 617770061 255684440 579960588 442359000 699958629 676412363 717952385 926565121 367543049 807015988 980332622 22405361 999448961 564354034 648192399 154378525 616858827 195186730 204616457 960457410 417266693 768440190 125534006 787699775 983908171 756816613 574996246 164503481 27886216 306378587 541517017 188931004 436804103 473823200 876954590 3259033 292995497 100132784 93482971 847991578 306200719 834064630 412517233 262707475 369178239 748724285 530263023 874870122 37252079 392508211 333871215 828239288 378895918 181454793 348763711 633709683 571674481 201629246 396116487 728471480 709021116 15348052 1401196 956398787 688719382 206510345 860933099 519551745 874949591 492063165 268970441 655806439 940531206 617355032 120636439 196208818 481495303 908367222 316565507 911200471 538884337 723829542 454915139 272242540 278523543 61884055 49035977 239144606 451149305 906221721 754078554 306743794 562485670 328171522 971662930 727287121 981681020 880395330 708783922 130058848 804259528 104403476 558194455 536257080 425012403 262072439 634232449 731272903 151453021 600424927 821738315 69726535 296813808 478508197 979840758 128666188 72839377 908782969 643151416 600859936 563670000 631652883 661153604 772726265 924326496 509922607 175505968 732257659 964462211 658254568 387693666 248982879 396230356 276373499 643190707 103459455 218692335 791994104 535048281 260093479 520610757 682658208 965605157 271932283 303551161 184505077 109167886 56765527 776777033 366398552 788062973 557408291 243022402 175110954 548835022 923270210 13957436 227221243 107684647 68192567 252949137 459617563 143659856 251504888 962562101 756528740 456506931 56129539 636228699 729530598 515168530 340726249 198805132 217823805 15241120 172133257 542581758 746291308 886205419 838400304 466370967 566346471 488076318 836586814 264996264 289239563 970986740 52876813 306829515 948983422 81756535 71647238 989182455 748660160 736013997 352978479 685136667 134488637 141666728 34295781 698391263 266510551 147007648 207767006 263792598 976025619 74302397 379916920 666980847 88311912 75580112 32316437 766986727 925295073 287768084 715530440 9721286 883826763 140876977 84082654 34671871 543604876 790459109 79422534 926112392 52502983 412723327 324048389 131878613 521113597 612839484 470296197 551132563 171484800 53661220 77518193 519638915 405983072 766184433 728595171 411780776 407563946 839747749 251195847 903768746 627371097 167724130 6157195 77596107 383378276 511438086 400015938 533131069 569317222 192525010 14896242 184242090 906860088 573617081 955625839 856732867 166087628 470937745 587920049 712013026 289873394 4193260 587554502 396000848 967769030 936402178 701261313 286047058 353702939 769192337 466902748 415550 214052971 900980607 506245246 806880776 190722523 504037105 424922773 15897316 312507745 672138334 928812777 616874263 858989872 298315264 663023875 126855501 843044463 432610404 74773200 668920907 431583981 506962756 135953978 594782857 808218368 166487891 620576549 429395996 553983203 397355446 609840113 413430029 6886512 696486050 59914660 327172230 558633691 708721052 348714740 251967734 962317859 813424361 368278802 326964225 334952157 665687771 38249982 13301595 92954834 77826205 932457044 671837902 523697082 537298499 187788576 17831813 689249266 263398890 639988723 564495136 472756170 813267009 423578683 843762558 240032972 865452275 328421175 435689302 391874036 135919474 410306134 660017117 419882554 501779062 480656356 489446849 178030172 953057473 453674277 964136976 967376999 886038927 311751594 929807781 440069174 735734979 251903954 643312305 943795349 797284266 385213388 556464123 37064694 256795976 998966064 503839312 997488796 33078679 940559935 927489582 549348661 202889234 632559211 721348667 41197214 578690866 693838827 743220949 301240966 914350183 192538285 67091835 248331551 600909031 62404939 914457105 944080728 813443548 628285700 462902246 963022886 626991510 686359667 90694637 471000474 495983591 660227286 574708564 677700001 974308921 243637158 351266101 809817685 586712338 41188043 487782377 750235224 785545175 800488432 522144783 726609053 282637309 599346682 934917460 530425701 765404779 461868229 444056687 913610175 844392167 673349518 110442212 998807205 727270912 414390387 58476656 646264727 541331050 269996076 728829066 889653788 353392620 860068467 628007769 493745685 223145246 687713184 802003241 817606645 877004121 331704628 370357101 562156011 789568439 808017867 895788806 24818909 459155056 987464745 711319065 710464984 322986478 938207266 412563109 880904858 695736725 90726131 799841927 824195458 339186025 616075380 839344111 458175095 870299919 599624265 935868081 762040252 132654363 150355173 589591309 670473069 722443590 287498611 978014742 511501781 559883573 585642613 912727859 105275559 729883430 771809300 111975879 545782576 566983022 53638672 630976775 567409441 513263861 855171972 132332156 688205339 647339446 279128379 267449191 892713438 906825027 311060802 96871493 97765608 402142246 417378869 361121414 87281933 85686011 292828793 754764548 649217628 155872833 356971985 750413492 441862162 997840045 182669893 447228868 675840558 978025607 614746605 894561274 643663056 67191217 388452008 449911706 887445019 127419267 272676093 975511368 573441785 976257637 655136873 377532083 90311836 962751718 718151375 828271560 725281863 136782892 355608208 378954237 927023404 885073970 816406146 62620545 949823305 675559406 100477129 198310444 831192545 302425517 649098865 601579019 498033637 273665509 330438567 704252886 587224256 684608975 856393304 93844775 197148804 228397757 705899384 838384471 543192073 593580341 977909890 824872240 648540811 609076497 692296388 401331091 458544406 688271741 580923543 340636751 572659384 838243876 437952660 294643430 504199853 722096307 742977888 423878000 112558208 8899381 775436294 424954101 554484345 752068717 333714092 635540427 421638588 941042643 490262972 693954831 377718191 63842724 288773075 542248903 842884333 656894934 491160721 126686562 451020348 288599216 861757599 479811841 438980150 240017924 19284586 896997929 201160785 799688294 664949473 459216350 165011565 464013825 216230794 112022329 148462755 481333280 568820686 696913625 615073558 762816267 815552205 872463727 987426526 972205585 497638352 88308222 560719805 91064517 441596649 883984493 741760964 148915126 317015395 552725119 648863174 660299424 935618037 825993407 466979625 466616312 795363478 560434557 253503794 504040895 95394120 271543907 55696734 243560611 432182467 756056461 208122868 644106564 450522629 125256968 870806335 248220274 423858717 541014106 539470973 208344090 593759843 6891412 933443962 18896309 588003923 72692206 316480505 149797782 476594570 139640971 297187701 607246730 689832325 416344614 972537036 169772296 166297431 295881161 574730847 260211467 597918988 976560604 316105474 580761508 822107525 496202638 923411165 731298364 298147441 176483762 858576513 936438655 390451576 881823269 469568894 256837649 231718962 973165959 241739342 857736749 627434502 301327397 448967825 311386871 441163735 161368590 157391632 711769148 230629259 936102434 166239667 125006536 270967515 200357816 703443319 453286487 745982809 964932582 461970833 310201287 238296449 815805244 567317379 219519201 673273830 639085824 795573021 893710857 677852738 2828990 887596697 267900689 506081900 941961695 503571537 138939919 909159407 622849173 150205094 149702063 95241094 977692103 315078381 122676076 286894807 153291314 356687734 458922235 458341069 978893328 754420695 913460976 309755603 260432788 99425106 385643289 922231818 518845280 662257527 650722526 171893633 527961736 362886711 968370030 928872617 916603808 154494743 761912585 745921742 60431191 907297436 600470684 53109978 117586663 43768149 587727709 986518752 63459724 539024683 665170261 360631981 930983767 632106559 607483825 50397559 182614471 99731600 642060904 769097263 147165888 193778614 735090353 646477168 180967382 507155343 536855121 752663717 628136405 282259878 957865201 142881778 691678379 943784166 408064512 318909451 461286077 622144823 203483497 666023612 618582151 960199239 520689417 885694269 490247135 170157331 78428146 652820439 727573622 477540340 44310185 381994160 74390492 440419260 341662470 98850058 7489505 69712593 238463728 406247099 499522356 31651450 373703284 255410228 488210089 445957082 412683438 599067204 163804275 248803939 288143717 688106189 213393306 45185 766699453 26858834 242883676 911947115 477979852 567363489 902110424 485602713 862272880 104857976 335965579 458108713 540907401 421841709 47247195 594038899 984457145 151231977 16151287 707235368 707351368 914384496 478532740 524818402 213920310 857006118 554645147 269828774 683375567 894417034 107839185 87099668 412148707 787852202 228189087 426398306 43723421 519949259 871137126 713380685 396066591 937775328 467625349 127988047 923303274 609312643 402646020 534377876 532257788 996427209 555812075 530932387 893587145 535139950 85825889 695850462 868105282 393340697 540919542 639061786 300675113 410832899 920154556 300430103 435830957 422279546 376150199 130988624 353472736 900261713 858964148 894911610 918555162 54444803 798224936 291547362 315576423 96254443 101590244 945957379 299487148 381444010 527282609 426283892 799077154 616883700 639147668 98765446 105652589 173808977 941129383 412602313 314934844 84179066 467706123 804777053 163192090 593833662 490438624 702982758 888967846 152136582 755072796 552770246 689511121 886650754 843164827 115031210 908485224 76556200 32944427 284690102 197040903 988561744 155062477 76903046 28478254 941082313 481676428 671114268 654499776 62615681 338871132 773671435 359682023 205309079 321560721 703945274 680765316 204062183 144265788 553609669 667629777 509721579 203092009 62686423 280599573 589943851 431031046 817187626 223764256 372223106 692281392 804341449 665133309 618643340 651834435 560864826 701577192 513777538 964202176 402619091 336282466 74033244 399564168 588307570 676817377 825340325 259459237 18748036 210925174 840065590 348507034 384998437 989762900 328381078 627224519 224568815 803906755 480901346 468707346 889393141 357244152 132588975 387857109 386040782 892037681 756658284 170635516 888997292 904046563 588640041 890495776 801749716 218255642 705333422 547225339 846925909 163343308 116850382 862088416 839203020 459637772 41585914 498366976 473976946 871780938 648968859 495564742 597032840 801487740 89572526 935236400 415305780 840513789 179947140 991807579 596649548 215847983 167155153 305438313 724956601 41699142 706960567 938562618 14790294 135628788 948261652 335222621 627650617 629695556 494256405 159116763 454278255 113758555 695280012 176714495 849660151 557473083 589846718 727087259 306279248 777102337 92640570 682681058 509407422 353354901 997945903 747277795 802394019 773041631 292466382 507442766 777372991 745779014 603103138 78360046 702273868 192106836 42065394 968826434 298397204 732469874 92267360 707687663 692146730 29442170 818260016 358872262 226377270 281385763 906446437 372561663 244401258 956983118 976725692 458092798 602582105 645996669 471995018 825784459 583299017 341098849 559011325 788309125 11474136 884443641 35901965 31094311 721091722 58198205 679244545 365156572 10241004 125728760 734568116 647003322 383958544 478630617 894280129 127123918 785270344 577792058 718284479 639733302 968739139 6176313 261727140 627143329 62138644 596162875 218167814 160006064 109752047 674020547 49639684 741712196 854015497 93303576 793786592 667080628 214335967 39862326 83885703 584945691 636360599 778830539 762521031 289758015 979278530 757648657 36267368 840450700 892490443 404436647 620578501 103375527 517616307 605543889 58952494 572754668 126091692 360088990 692989230 597177219 699727398 974674637 307279464 804694621 196394783 613846531 409659675 896203851 673189171 923265203 637643959 530916188 857688700 645620415 756056427 814408961 399410800 135762736 846889183 338504124 721252070 407578208 105157276 103164905 950183645 130771423 686651812 545223830 500405500 222311858 59714443 287236776 59353664 54739361 684900749 893805056 596269098 959041212 461468115 385320 855252518 121767631 569765691 224305679 124285266 163212197 376819845 948899586 473207184 392057910 767294757 774206510 763862313 613853656 6739017 341382179 370656174 289563781 419620633 488456998 131284512 891272084 60277542 834380278 142106600 862771852 90902640 172232459 102186147 822456372 302896777 637108514 7306496 503107848 888015952 144107874 192657827 41734630 263526487 351937448 326344297 755904049 33288188 257067321 95914251 989211210 728463107 608367930 368980836 960446571 22453680 882255778 376237093 133944746 431255948 130191338 244434557 271242767 846817071 940537700 129075140 829613472 636903178 471563487 340244021 749729932 708442990 690921980 462562408 210196113 644994439 182013481 143372255 170647179 609550928 866784587 165892462 350006298 456949643 548353868 159361779 202671020 782008943 722190803 421136235 313878213 462667863 202221310 285232382 663628040 836208067 938255297 565685112 742621987 293501653 926452074 9007951 260594786 976736180 977383358 896494058 272649467 902399508 209358461 540130307 783741066 901693977 674413143 302534197 666127408 921241835 576817385 392344553 33191221 551776218 805255927 645083125 667694560 179807909 138378232 815554970 882048395 972384191 291634322 654542540 877454771 42451925 262956181 915989744 656582566 219307749 835241008 920919170 152246970 238099835 173341138 783189838 467979207 881513373 740458151 206573687 995160428 776424720 240455985 564475898 130812248 853871081 736069134 526203713 735495635 592761888 25265304 737261922 219491329 874419507 230369232 455876355 507060736 172861304 603800197 260012977 966039283 430681070 522641531 29689705 741777903 656239813 132935395 758429117 555649683 198717322 966645258 876197120 377252231 377425858 889996756 856914068 702947009 395358273 642982452 180577457 200336352 157564142 646565583 978123449 789118799 377581304 63621155 774054482 352614196 646816546 189013304 279330165 940366685 84799277 857668198 842766595 81154858 486001196 823330514 41980830 104480198 833458155 810758323 261318218 970883256 518357752 985114211 273390878 923095210 878763171 917705285 62764164 40758512 132586266 144295733 827960104 368540909 166582447 288532483 641404758 103665379 622161816 6233601 603338836 241167869 834575192 597877868 985083208 474105335 285389484 921132563 349196360 343515410 888779637 705520753 42217444 654839545 682229825 761912368 43591129 851475640 25021202 519385294 532954209 777557828 736541400 952830552 697006631 733850768 631096135 377492611 251826247 861583168 11477741 182893082 684177422 857715418 90726915 499215412 43285464 815821569 64863832 204552689 34089993 481234473 104365968 210501995 458742197 876497388 995383170 67251992 574064613 227363423 834661998 123577855 338258958 895162336 569094525 960149935 7401034 727093866 273254633 849648392 134036819 77579931 293548594 679263678 441822505 713497423 30734698 797377837 341773641 386355583 746519831 542739422 68445816 771065759 813925339 535272084 976624344 370919973 557988509 146007247 294276653 164223547 579055076 7943111 700327861 721601784 161209218 235067930 507839802 8432733 181129731 391083597 569415864 182146361 827448498 851065912 999215376 307285087 198413306 731135699 225933219 292323792 673505378 204771492 655300629 378810205 89486465 883103452 995572753 830110182 846245541 78736265 713050589 445755440 683249388 587301015 351341028 742897381 931848345 134139428 29065956 477551286 741270530 295452209 558045816 776569789 905445124 751039926 57301814 182615895 648782545 890398335 743872327 941581737 550744170 935219985 562003640 18045755 163881401 287010350 733900324 989336106 527164099 502187876 10831257 989384998 229199464 68082753 278846236 411130070 992314328 16637203 423404637 700167074 350216507 524116806 656762728 995235676 905708928 148332598 245914480 663816527 446747376 314524549 275394096 279225076 754197175 480129359 402738464 530687414 731353856 989999410 268984442 609955517 794332425 544008240 57841743 719185698 475374104 39815651 215238527 150799601 772057575 291546371 929620360 840067874 563059841 537986900 9438950 902333736 822981843 294860587 963650731 133380789 276507036 203994291 111920786 12017164 788303386 701881741 357790768 461477769 684692496 569673884 565340238 422403366 540183410 374474545 361789891 825301803 583885520 226845460 277111650 8925309 990210745 305362984 576333441 293221526 600446239 192383887 544305930 505769410 976593421 256170398 547019759 532781964 577673514 113694808 897903332 849641992 698685303 431338337 222854153 322056344 851658259 220145446 468876507 73723402 368083506 950362838 358435203 322214949 428685886 57392883 610748386 533221254 677932318 559534113 460323837 674357836 374669023 882398063 220614276 939075284 99467507 405434561 50904553 10523872 754566662 817319403 937847792 714374850 119816891 981584885 921903342 692432471 658009704 890187736 278970746 600080861 836504850 995277268 202625777 52158804 922074750 629323331 619505795 495847790 809175375 994126324 293881481 409473452 272607166 729407799 461158907 32525530 882130783 666108497 65074927 435378193 467875009 275636470 988294730 359828355 466125931 576860946 77534426 667344881 839934498 449958030 660509904 160765880 609658419 737110503 960464980 473533561 872358702 859854383 921283865 686729176 221744785 900822352 699734579 814027861 167422383 37266572 851230572 350858602 443938355 173184910 945511850 198125053 487521882 128409428 230680116 110837438 296546998 190484390 793082780 20163477 704852298 504123402 495533687 216434208 929134864 496167645 563639868 414769821 121136456 610030345 653031964 192553459 703218997 530063551 984532325 688519860 81256311 457483908 687132420 678721704 240827350 353247812 553330805 7071668 161879632 491489739 131097415 401141246 263466634 841379195 572330076 850280191 919295802 200485200 39156240 843138312 827050925 571297986 842279816 229313908 858459457 300076846 312756250 546831646 666376971 719552200 561885923 335107121 847320132 793470175 142141567 618096712 940129822 796656154 470287011 626070793 207729804 708762341 97072339 172451867 345995775 556494851 680460407 549928677 132963414 669047008 379503978 269967252 967406710 408082858 68725046 868526989 675113866 318661999 330855967 605089035 543517420 808399410 453730375 244375340 910850109 392584303 78008918 152406652 57622621 166702353 13646176 860942984 627430388 805420228 857819137 174414642 880312666 547413490 766336061 897487963 313223405 718185726 207846848 88918662 806006815 695933845 620111067 738259174 722185765 632501413 589129331 918815196 12093519 652769917 90819613 282112055 163815242 394843680 895909998 606129597 768783202 428893060 255626791 28484611 698616522 327985272 581161546 368221512 887940542 62906755 223436464 855822946 721627675 284150408 243974969 663414945 163063130 817154521 787996655 410806883 290831565 144661716 817050061 562701441 32605427 982859141 128667196 970446977 85690169 746719560 843632166 202427918 529273729 270063733 539307375 420592506 560077515 85728586 607732404 732135216 794000203 163422721 399706943 167838833 792025416 524662712 358351520 904448244 603128992 776523811 417123769 508815283 68747411 459501656 802641570 200954170 509047937 63464997 356259569 57741534 907208757 746758573 572666885 523923044 789090486 764831785 495649230 462057751 424546726 805691201 360738868 754454607 905802275 98366989 852650271 495296314 509933829 840697627 150310034 834909441 335195044 675567329 330125778 961248781 478699348 170867609 444225879 684247091 588758201 608756514 291087768 239710417 255990778 731729638 686683215 366311171 192388844 197294611 513832309 176750320 157723425 209170962 575212539 754417530 594993056 881601009 100418082 292017638 393170340 297320025 419308332 791330207 803288485 202987245 574006261 638540033 93319163 421319202 111284880 834128671 123078106 919698956 118500693 239967199 149871183 97698700 486906515 857623282 178599828 785283316 289719447 549204515 92163921 369872050 787375245 3801822 198880357 577823546 190804769 620327954 340542544 439677582 347324528 765349454 246664051 822057538 158724701 73737333 677230 223966776 432838894 663474107 897035945 388743294 906216865 733404168 728503725 595818142 487902611 930863024 297567686 769147309 106759543 236524239 885611785 889588944 254465294 689016677 797368783 757095084 122927669 100726298 941891387 123292543 658136421 146715925 402354526 769033008 272098040 957303907 765377492 185111320 472665090 437108822 514799532 442425850 306268075 626376619 378161684 45469259 318660340 379383974 465719482 528435123 35949222 40379669 478559014 314853672 105597382 768541395 311753251 902770314 902744777 855332108 432949955 509910120 143677432 35189065 920962953 970180025 417368463 435700091 111873088 744495104 920012768 549656296 711356234 421828222 378658505 558344912 588996826 978250627 915239290 536133167 566692890 90819855 173976736 626706619 10591439 331155554 208476653 799117197 62656871 435901515 774643497 129654629 520674351 850357119 598815090 484152308 356531777 317326899 589043231 56274598 429893918 800748260 79725388 175441360 741659167 80225501 972072097 729472258 620708450 514317026 36689161 916361344 174306920 182941128 34321048 213830511 494714509 642303453 404126819 843377119 377961575 153054823 498367407 523027429 281791846 809906008 176881205 228107198 563390762 708067922 831286842 527721773 85813353 863402883 624562982 907885947 206184722 327610051 799520428 729794382 254557462 249562989 55478944 910343901 863842286 930162573 347090279 251568257 234349859 215124047 54830005 415013666 665716062 150718996 537296023 971541288 398547359 464477447 143582173 185404638 590149029 116541922 724532849 157457575 548960242 160594360 756965791 68382465 441379745 717112848 994604307 355190325 856505816 924088590 174789094 214168654 51876893 50077340 638159181 377536324 123966894 256865826 811323591 374494886 193962879 641426400 584610251 690636232 469380641 77277159 893557997 782582134 843574718 910337756 744434867 446737727 18004354 94051660 567837821 8934275 460560984 705873486 289805136 145144865 316270005 334252111 119445271 662406997 239945115 242851211 921594318 138732325 804126640 434612287 714580845 535581191 562666766 188349719 518364171 231026951 908680694 13433348 897421176 531431851 621723957 984210093 379736158 364427732 548805262 790840770 883167012 113376525 353304710 796700520 355237937 474800600 989987175 35358402 189770551 408748235 291345104 777942901 886815562 676330234 511969181 709109118 448678253 306643441 279118427 128324757 743171769 850137605 616408423 115106017 823453400 11590568 960311620 231478942 40274536 9078245 423707797 471672592 172407170 245660985 36481422 730342398 411509382 809362601 264365458 710673333 252153043 746659605 719854747 790447099 215294945 787004108 364641993 197626828 916953022 151660504 973528449 535851265 271836544 874603981 240381393 427527402 852754822 51454657 807200428 80750875 399315598 505557960 332353931 882787671 902952748 953656019 923110058 823086646 52215653 28000508 361778525 115327126 353346383 37425847 640050183 943841172 110133155 589200032 998428167 48282638 720960127 234844036 718392319 574277723 418721052 675859550 545762740 336279583 535147110 880120682 837395357 584514058 956991327 544898417 394522314 548688810 445817453 84757143 885873719 54150490 905962281 207710657 740324206 824202166 271101135 944972362 914297589 455704450 5010362 657915141 408877009 117594818 933997280 197648972 791879428 203680445 775590524 173517516 642184282 615915600 262168308 392793840 815897425 138282288 406090726 435919138 98360699 266133190 520252533 123383942 592827400 413904638 247070464 344363386 405135192 885940606 780495454 571298224 148310571 247971860 732646625 203090668 710961697 229167777 705477240 714470558 353682009 523943315 362628669 453997015 641193092 805374359 308994129 600103897 129296982 513551348 115811886 214243823 338864823 106308507 878005920 209280807 281767554 706452977 425900905 469965087 422271940 54963352 801787291 179364982 716595207 99618225 991455776 471016632 849192182 63387904 218288611 250927833 354226029 521950421 768364582 663053921 249152479 702154327 268501687 589977656 463778568 407308456 31406214 882198920 528119943 446277107 516809366 734455769 997734694 149699108 339316965 350509541 519078622 811016437 232777131 270942751 24799839 452308680 705036722 282973311 798102456 868945903 663032573 312460697 844002323 379778998 194619895 318647957 820661200 175596521 612371066 272040590 67281542 969968809 279436888 914291355 489596286 60277778 998804293 505863684 139859018 927186902 756434521 585496174 845824872 867015426 637951420 27501682 649349184 637547548 365843384 967199873 34061926 125352798 402857088 671258862 307204023 140238944 465437091 201434454 345929704 291811644 364323563 98920401 722805474 773784211 810708735 115245723 364839995 860569543 75004214 992507394 247052920 320265487 722244764 789260402 901365494 583310768 709937816 80011707 108056089 790036498 613914691 748038655 353706779 368169604 350839170 674257438 14269900 98098 287044775 53329433 508989720 999939281 165317690 227604857 758613607 488359883 801789387 686517316 80366460 958174745 631151351 599752727 830652724 49594265 673405010 954961233 514783996 957813811 941243729 389700068 22431000 778553719 762336797 5007908 637489837 243438739 717926102 157638187 241078014 614161874 972201270 559435689 43809990 586280431 433432059 670653042 253253826 97159192 304832011 539230104 597162187 993481096 843726556 723481046 713857411 799088511 221327033 546083865 189403711 2595832 190324897 949218898 493615226 534411891 702345794 232077236 711871527 613233315 255009952 206661085 672570481 116777156 377802706 541933501 241130471 42069882 344170740 527172228 657750789 115669169 85575109 257238606 439861181 915135665 570797192 797032281 121541908 680444765 658976276 674740239 333137447 688501097 467550051 116506965 745244803 814817613 537255942 107660444 783772409 57992033 690656774 6760275 776579330 81794046 1329340 929515551 888800834 692777423 299102153 382294685 88216874 831708717 416827809 255960699 65656110 620987333 448191885 763412646 139294016 112087112 990245926 862558799 265481398 451322012 60266673 187711109 982887275 343576644 77486198 794002504 656530736 407420989 826484072 730630853 739898413 533112119 56822014 836945905 815013239 195244731 561716327 415638252 502270347 197209170 404884717 237220514 198242213 446727598 747228408 604154559 451143019 767739234 282530847 579253383 399749530 397076510 134100094 36855352 371687236 62486339 489012479 806491035 597433948 484723506 889165877 143994898 76684561 67931570 523958048 626500544 695471690 452586698 390250738 741278084 391376844 301555015 530577339 351897333 667384560 990726906 296243550 388553271 45884936 458851441 494964655 299088980 843708332 379772299 553805876 764440076 753576434 658928797 848659635 170384218 874569042 740542539 723157584 805186621 176066403 638486730 695533233 508378771 201291195 796837408 555803784 777531956 487904774 798838643 282049927 367281959 33085812 433013915 716425826 226704191 915038781 812356068 787662366 433737970 849355317 988395364 447869383 527007081 47564685 843941192 92346664 622514335 442432042 854589969 250062664 72502112 422687284 292656961 926704417 497567079 766424879 721200137 832488751 385136748 687376770 214981895 705548756 986240850 336220030 549236685 132033340 221810417 772316253 892288117 401301790 4601977 157651342 657284655 595516225 613620944 965606990 793600016 801805875 996945933 16436523 318794560 499618084 266350539 337568820 217045297 225449426 596411056 362862123 836048965 525579102 172095845 857991412 475921444 967594387 876860776 614199004 486538041 536665584 655905674 217451898 56766545 499875611 237413076 884364495 541343365 694336017 903476753 9824841 757449390 575646763 616472303 963381603 297168948 658431019 762436471 622506788 579685971 761900072 932677060 561548840 597146196 35120471 201249494 831152520 815447054 9177130 480451334 858697078 409111076 225511629 595589381 72770237 778723127 898433097 245082185 673704729 806723982 896358206 881130912 202982725 505308998 824978577 181053633 603302974 795828607 931253473 111511916 280618787 21702503 728368688 114426576 197452374 867391381 888570019 484187362 663443184 999228538 175862448 692827458 121307262 585367749 762244706 204154785 552572099 954843814 384347798 638777294 274887817 616835660 809503348 691313959 627353065 826674894 729683412 754487259 417578607 366612780 53238867 839317217 978955545 53460859 281124149 871550119 354650966 31775568 815533970 80314765 710211190 809204917 398431581 88285482 714446199 401171711 528108215 192579933 448523016 511928950 382140729 192408576 347241056 138515230 154202297 461817824 552513843 204704453 343864799 570237670 513366853 359113513 697786835 636539268 263704511 806018834 307468460 29401890 992701043 96638735 513453255 117505659 886003136 221316220 8936234 723310481 796057395 402923260 310574063 432264972 846546008 365492351 601565790 502862656 533778069 567627575 92368782 760702211 949102450 636715766 161667561 941399572 172567278 923125425 338693518 612308237 310129060 765576457 413530565 625951327 859192912 911502201 7635917 302285438 525084538 543537207 572034498 898960209 584177107 417886660 111396126 310601857 21779218 821066370 747358286 105023800 970588783 735232585 500576795 755741568 402281005 464524693 351358287 261042667 204934709 181263134 572488795 856964206 267766083 69729710 145895289 742709665 171517228 565830322 553729642 78230595 129112136 53793906 50603178 943650768 26810894 899099069 68280712 955306814 776192355 998064893 597004988 801934022 435177121 285598049 597908440 737033711 285001086 490366243 14428798 724280922 741742514 597219021 843758681 625284355 605006342 88607268 77672200 11464608 675549547 75642734 195006191 199139222 581214600 612332342 240562685 72956909 790350797 788919120 198768910 469429158 832597485 463914029 213990299 475429161 709016215 675068532 682567191 233709708 514489479 304665768 627612683 598253411 619900527 768080736 803264125 813378270 502763316 763287791 176343352 563763238 53316740 348520525 561601920 361305805 877484913 622849293 342109045 995599258 983518905 408449976 803283937 404059198 580377898 81925198 419272115 518690820 168316967 614837895 560057480 427632625 141219182 930880890 299208769 493200999 295513235 460337566 927630497 942131738 424624913 741025789 374832620 627093273 946478363 953782767 546099410 313240398 464996638 622402009 700594854 85889377 115353117 516106810 538180793 4868119 225772581 280790815 988273139 999312826 947226105 741852961 675918719 499205233 698155970 872799738 967675592 790627411 886408640 755149038 766445999 905639253 641903240 123303570 879175049 251277956 816747104 19844617 281621905 605542337 760337607 262031610 597182335 408056070 795591964 394009814 28448208 59285593 223473661 921485239 171609553 784497086 975553609 864190833 726348717 64404870 362043795 954781834 24576724 823903465 817713575 304543272 877103339 245052129 153685153 822105226 597402492 153020513 922306811 853285753 989075718 342503157 515022955 808760428 877047611 839906497 632490650 328734952 195512711 665027305 647221297 673886032 945163725 657075930 873161434 813644316 275304553 195270375 178302838 115859663 793127790 237014829 285498703 785131029 441506227 742726128 47687693 257370381 462649381 752898911 998692090 279341601 992545251 582926553 712425400 339161793 28765606 545997377 112428227 867444717 773257071 84648250 351123625 730714649 483029185 456684696 853648537 977711531 829464812 980244768 516495001 463433478 149299903 701729157 124337259 237071399 231123828 248485217 723664534 791820938 139446010 963335077 896338392 294842322 241949238 831661936 881236126 910374670 221350359 303860645 634437351 533124392 377107442 931001035 625777135 558648864 101981702 165432948 255287765 28554996 49851774 514713427 127468226 613273904 419675183 370264066 66730907 608454851 959330914 82075055 956670993 754495897 19782361 649455835 827303748 27573970 993536111 609253045 863211997 892227331 265529755 835398043 121142530 103623867 162128421 711745644 143341226 160730587 19055853 780378371 707595030 756865290 489397213 886694352 614422838 375998110 656613470 992903118 830120722 854602931 563422799 95585594 348282244 391367237 70801159 349504649 980264849 995115050 67661305 1476602 244164625 986315478 642438030 422858755 856843636 223850211 48667984 963396439 770357924 38654794 418656940 60890332 823317673 259575656 371535813 400881226 53188114 778152475 818003439 477979268 137522629 516206367 849323249 254111830 347480210 165641150 954579937 389776307 175111355 12708521 101076873 780172824 290137324 480599927 379851884 845425255 26303536 614158084 385536308 733363040 535933689 34809767 281982182 399825618 34931305 16995676 653467266 241296552 105510069 260792882 665951291 864839412 187531833 62944554 31531934 663073395 602220998 777571696 284272647 185428525 266780438 94511120 878686877 879370412 455416010 208113875 560828076 842693904 381595459 40656263 600549631 625600266 449677406 305405466 876528352 514009139 537114350 801649315 655413091 53821445 423177661 342298643 958906713 451984567 808662179 835735785 666841004 974325274 176269880 132438946 562439564 354243382 117132115 461320995 468161197 247263111 340388396 993447244 233708365 865590930 883048082 500546348 431522539 253143978 299452136 908559051 420866740 814082949 510848500 589917017 996021489 13707785 77929973 283333775 268302516 825602346 953082398 219814501 297277419 580923409 140217660 485398705 602230281 589006450 338875228 128996835 50173813 125864837 688586617 570367213 592565354 930590262 456819197 173624708 522861075 222524239 587730077 133282361 308172400 108773633 129463847 586603306 149176210 454568768 966784514 980464080 314454685 391863413 132684863 358670007 292810301 43540711 995717831 369040010 24761118 491749023 307947698 753667412 94009452 417325845 799507113 856102743 597699874 635352525 755608932 254437705 392112241 550546224 543684663 116145244 877896811 511531559 557956644 480104992 608159622 520464412 123661677 220613140 249664595 130167416 203889242 579621668 695412045 988492600 439942017 906824171 425960100 730606364 766735734 566445228 678780804 981815415 641430705 575466423 503371544 588261753 890361274 842372323 927480711 139040998 128798185 469387000 841178678 374798656 436592887 167382038 522455440 658944817 759983753 331986412 541309729 983696696 471233864 479719747 316142484 801702686 800227019 812406306 148396776 983029734 168973325 57268084 21234891 116690879 158366708 329473081 450064034 88147621 849050241 756561096 714363752 557283521 1774842 924377425 479931162 810380573 919276748 552047460 929289739 186222625 919999576 863992055 814846472 590012024 627380074 678139118 536444326 370298729 401014533 642681302 245058179 59018369 710373345 71343836 211241100 855673908 985428389 945301950 952063772 515880134 816786967 993697313 230419744 844294782 877336718 717380841 116697040 91829910 723581865 927684471 638388034 689575285 157287147 901921169 42293309 21868235 804923907 482561300 430226105 71399871 335413522 15547629 161995742 560840152 253457225 373350252 821251219 576019557 106532950 707688952 654547666 101576383 166649526 642719430 501850607 91662902 956822517 354360503 610758670 699797603 42752671 379256279 705121933 116276466 371801029 86421403 886951559 812748085 434738224 975225508 369747738 882825100 110719351 873561319 138456898 213137219 498749618 726890756 609465628 437161198 984504421 163611854 431355379 533831123 114119878 571414727 444784233 29430156 393172660 187741084 710215593 493533800 211109250 584748177 207261152 645307829 361422189 397267933 777775318 278635182 304573067 68123481 145186505 117890130 417841227 356503968 343975741 970662467 109917324 318704038 886753579 201612805 205363704 896086744 95746928 794749756 655006568 43434049 275518861 588284656 845757882 294561855 196228228 162273923 865370112 816062962 480156300 22675385 336451457 55914493 716382648 144891048 78197792 620046505 547225168 70491260 618292426 344908766 947145907 751630445 850960363 216748378 52362080 797342507 143033842 419085125 912945552 957062224 955008786 507771266 317767185 81077419 623495248 44142142 671282524 858584837 138847499 678330062 328499106 473095220 16967358 299686097 312774610 530582285 323465570 754405475 425492146 916637352 105885393 950519153 412736144 60500612 924514178 720457863 109734631 974482019 353459147 588959548 844844047 147705283 114695587 251358528 88800167 301649038 7270432 407508170 1435855 37194477 673297372 970460467 89422093 894834423 51585603 242815437 827478407 416645573 753838518 108509441 624911108 87978297 994311348 911583014 520104423 335808181 926297006 994185752 347928554 554209064 935777439 484509913 374420970 945423833 479355763 890694191 210215987 439352552 969924508 263622260 971186998 34741209 975392604 740236668 744433395 332045098 849670920 423987204 356679807 879821304 718196947 594644391 800842732 16728381 651883167 74873666 688427010 212010887 346802298 899633083 462347051 146971304 915708068 739319516 282771531 868417769 136753170 341747790 309091037 327016438 508897262 735448325 672304225 606849674 127064926 344285270 139824520 850904810 676669430 803345354 744822342 937820730 465742295 34407867 766638087 453782451 981782257 689598403 391121504 622755566 888984426 690013243 994897380 903654285 453134246 819182432 268156718 981790830 613548298 40563446 863442395 552729824 997730461 220329981 587714579 64869276 165780764 460621098 504341155 38123306 129863676 286541429 45371935 804094150 775542412 751087618 751948952 799014158 421670271 12358158 166264268 639530282 40293060 366177394 735685820 772915018 488945568 24619286 96260604 2690919 488542114 107964421 459067250 924339626 789931934 958117060 52850642 578444913 828217236 88240121 7045404 511250802 45997913 353962267 248324333 663368709 63208848 606408238 841971365 687933218 324208033 591738514 699383366 361258156 61812309 266481977 403363888 408650830 38241720 957786438 786797920 655508197 261251691 602874669 577128508 971310140 764569487 434340435 132778585 337306284 985742806 470893020 17345613 831088302 609401484 624665899 965372906 465767063 796579651 132678080 137710919 920739673 962514111 715744078 108766955 957393842 157622356 774338433 347019279 107693028 974698189 853122051 434910636 775507210 161551432 297190761 566213235 512885689 258051523 496087498 583442497 456229770 328961694 813756065 513746735 80553186 627104212 70450423 444636060 692362405 330880002 60951028 803673234 882093660 607843001 388822131 970744814 984778723 385980563 933098213 369320288 680181254 415536830 107113694 680912571 621077125 619312382 733981141 947670893 258781734 705176788 567592560 235326433 843836678 772725247 312278012 652747721 559331711 473251095 838749149 678565131 229287110 546031660 581919543 717327868 141597921 122839129 400219196 136923366 128136112 148258662 787609526 994997810 126747658 646995520 124220831 732402660 816967603 605262823 546232164 834023018 25076357 321484662 973056094 890048819 665487219 526798986 625233726 72061145 590528734 152852924 474827645 180915021 781521216 14567705 313360661 222868386 198263956 860472872 100068932 600944403 571817437 432750819 459023410 398111508 683808790 744638552 265249638 566673992 259936851 467513324 372608094 845018365 531383710 757313912 290179645 540165575 198636453 808656598 501519338 935145295 456215123 270795483 683685756 203316553 546054447 812016533 308581286 55232448 848953485 862382230 449630456 918104285 879076872 716316434 602199942 788320505 343931223 324258427 197866384 482742272 69903680 87703958 728573071 941204563 890142028 750398506 312711399 292599952 758758622 394907133 100263826 390281474 595754077 872503219 700659434 581609528 705256874 522897659 119071822 551618418 485904189 481503188 778568480 836361187 864986802 994384849 574829539 300882320 115003323 523556120 399774945 887825267 189422728 368492403 831650407 724204403 717268060 317525367 921675373 727197371 284033030 569273514 507940216 169696468 668646766 706878211 819241065 31481463 588890097 984967078 286034320 815170823 983625024 650506577 620094599 142717973 713097760 185463141 364536544 506012798 543949745 816544390 798789565 837106265 433134505 169340301 513173639 141460910 974681772 510658248 43549690 889732215 368520292 261984255 157927989 911037507 454198058 67707131 404807856 650663939 863373420 380366771 544243995 458911464 823327404 339162515 404046147 571355150 400941771 575555255 957634894 782133792 667145328 956779731 490456511 624222625 840019882 845145444 805655772 691074554 945865789 444458841 13741697 870618275 722779105 369726681 328975272 621631526 19848746 155492431 739337419 257790156 794684804 1790692 934043412 780232014 722435630 612522828 624105631 920752359 554113362 95297885 949036652 234858860 394013182 307529668 405019821 456204771 444047254 319858064 119255734 341635587 418756054 210795063 604476265 533888969 604571352 184777007 613196731 635288011 237407938 611801511 750815780 434823246 837410202 572456214 249535425 811332839 835800780 488085942 480731701 13923457 345194065 747411062 867268892 699317534 364186705 442563600 609031309 355880951 707795366 252232281 764842225 889106106 907553711 128894336 358237745 426422813 336799510 278459686 247670616 670408452 505056239 153396486 941591736 642023560 480280798 227003083 336808631 359111163 245668938 628211892 239435762 295473943 218624840 837212862 948118802 61340067 635867046 554793407 480403267 437444785 354054463 808513015 556108313 152134648 141944799 670348673 955566360 17313464 252518634 800574164 360630710 986341628 501232743 81231311 189102559 108835559 268829917 70837217 499705786 674230998 351169566 904872847 671995421 701508415 559181500 919520124 406151539 580317755 622378616 368264448 517514509 460100543 835337950 212632660 73297936 354022873 96789660 917290682 238027193 637186920 170027632 218194994 656940414 576037976 195064381 356483598 688852757 720478525 694251337 845908115 676837919 547494155 354452074 355701824 831565546 805507700 826208193 184392049 505155203 846737613 402140652 641809063 890904497 613301199 215878776 27668508 183599687 854089153 566459967 508939045 518808595 128417542 896174881 66755013 92632084 581888174 178867109 589374322 81561258 439420126 467211621 640228152 936260581 876268519 896947693 776963133 971659912 378394338 413162213 85032558 676161034 368883054 819778812 284697890 423950453 798469548 63530951 370364728 125799797 142828045 800493658 914436251 327995450 844775394 593384965 32270932 811601969 837236974 379119079 910756865 713773289 336053759 219708382 919542262 546570594 901970787 570301639 326905340 710340397 860804237 997080877 160140210 787715904 605609718 124431846 587080114 89879378 69099046 371563577 883890058 669054950 599311638 181312506 111210941 503092238 163356143 970827937 82205733 884427085 958593762 660883537 477717945 12524653 510653857 603789037 527582126 532242025 400434357 147372204 185799386 169461950 343841831 903565221 816389739 788260004 776030875 454665762 406221731 214594138 934485560 26606445 19317727 983747065 185304287 679491595 269022661 354430202 914519738 311517761 194393771 352781430 833869018 861139979 445294986 363335004 194666043 969122561 315700347 954863958 97904613 861740441 746094214 926798108 15359298 781622051 95610794 102897094 611857766 851168924 423622314 85821044 225107393 448821653 316018471 804641344 978963880 605457948 178229206 565434699 524481860 784095418 42402161 399320956 822377569 672174716 145452890 772648357 303092488 333430143 245896952 191712223 224992954 73908326 140091485 536148840 606257956 189672132 938986265 248139553 156038953 420332711 350623958 183300759 688532848 632400475 5356006 857031598 705463118 973614754 228546011 741342701 972096688 526817093 994581369 758263145 840622927 497534188 539623414 747802917 145929907 475353426 679109100 614850945 672082268 862615574 608183226 479524529 232155579 54206440 384312795 600268338 177926950 820823081 742978541 717366283 384228057 229994697 274571853 191204483 901649126 713959865 629537875 812264110 109780273 324578224 933247338 718275770 512854219 970562642 484029172 615892222 868337441 60444101 921197720 628617178 84941302 324764852 859909928 335085876 38733980 592241182 120138711 543099520 947315949 323112576 896310509 613415003 498216330 308980802 616963427 15516307 676934213 476801663 713778632 802010873 601551514 542627472 21569910 386945550 355694579 36167950 843879389 761676917 370961437 44397780 835095506 802519715 509710892 378460955 11863198 592092111 383118238 399419065 426363437 256339412 970295810 106650557 743790241 521003986 222853170 205787676 971771707 659204705 985363955 230981682 550016239 524965078 242654249 585967369 960576556 90238734 12387416 135778918 956531333 821513560 303175430 17122916 160048517 190730454 161594381 250346298 15174876 726200018 557554307 890988153 864425037 540640814 196019131 174834652 129005497 455698394 137157427 201076850 252381529 483233732 181695023 507101056 230526561 335540994 210937088 265058123 485683702 657432501 597374809 583843723 739959516 816268096 644046140 6023207 394032298 308096892 982727465 923593124 476376483 703312197 802989689 254456310 582424732 615536015 770088153 771704203 434972392 312997235 902834814 739295683 266109010 233683858 246451220 816129293 792068093 3209142 459630984 370384167 147911665 161919887 738128664 115039005 948233120 595597354 667954345 769775446 482675948 38550509 985387955 970500621 222935247 91292711 657564845 252927697 651903001 748946115 315802611 57637530 917091531 855410147 980018346 415089406 998085981 812446999 160816949 705516255 818442196 913916768 203692806 794096544 668931960 49011556 8836039 18303872 540841333 853605362 543669872 584489870 842685623 954587774 300678109 108682705 603480924 5270418 650893688 108487405 886797641 1854150 286606682 201513808 462238008 903466000 816971314 332159221 532135658 264021884 409019190 80480281 279999731 797598226 231994964 1005291 486660276 15146953 367258408 744706564 354136776 168285642 775087574 906438384 283075530 93939892 867907655 111640553 994471422 775893275 448874789 370471657 218229286 517144097 162514668 607818637 155271037 381369948 308396982 161490878 19765084 859513762 777251573 130803149 655734449 381723755 55135297 242233853 864168000 307556731 780620587 861299543 794273475 225420209 733560742 290752556 67621464 22385073 556702934 651442269 113220760 161778690 583984342 881408844 471644258 143922069 777074214 368775067 504012428 607554449 526794435 335219533 215497777 816883779 161437165 41159771 712124136 714094205 602921377 264904397 309414911 176942332 619209724 903648435 815967913 544997604 627931709 264000153 548965365 240960351 349893885 647033780 743105736 788476637 522323537 682233283 912342385 785524481 537115883 131910601 597420461 530357124 11193728 532701934 896311710 797872127 20048513 738195695 899590985 594078992 479224780 94649359 764140982 944721164 510690764 377757623 394177371 680168163 812176142 126224860 133414918 980192240 709801534 876054408 660156668 90196604 56375913 643846479 431463441 731170005 230083912 652351950 781463525 846655827 198944215 342486534 923708636 626822435 391318120 14377275 630612918 396078700 28273237 334287454 272512704 824342106 917246215 56004226 32469054 472853395 569847422 791582181 425454711 946115862 964765087 322580204 471408380 444504887 473659710 892948378 46904677 198371921 255322000 917651994 39401301 970939150 148925740 71004856 939955147 711507372 100433210 744084684 80156490 759157534 383689712 673603664 197798661 708538479 508600606 263013520 229883015 810645482 525518113 590528369 673622738 164136864 554125433 697840553 333516261 249133865 2117893 919338047 120795821 585310726 366734721 29292308 407273621 80060321 329995586 702195395 578590956 436733061 172240311 324892229 662187524 124262854 240439908 191418223 194054957 308895947 693239664 438849434 13164090 231740302 321173807 740393092 484775892 75132464 116093970 213321762 187237535 289455593 681140570 496514848 676678232 129334474 358399728 566739864 530484010 986781562 168470659 765271265 108826777 585573031 815434337 459569902 604590014 946652864 851663609 638042242 974955037 908135686 23639498 64149286 579521102 216104798 667917534 171404743 568898442 382089974 580423384 413969928 836878664 750171421 557369021 216984442 563699473 280980286 823472104 912632081 737098467 954992967 269011701 971412018 927699298 105438645 588851326 278833846 522645340 179741412 220475938 776874257 425913032 154833899 4535732 219239255 404473080 36029901 115441758 160542449 804130506 464606302 917461068 905175432 885551169 254012812 366715597 332711083 478133962 535465515 767018179 445505229 921898041 11050922 885805340 738411163 507521117 537992561 309209109 105139580 782456843 936983101 809775591 838392364 74770588 780738119 370122126 688768553 79612370 647120386 105533314 59665809 840130494 647480787 339395389 169398104 191478236 663642104 710170349 716756870 849034678 497016149 844160460 982776192 538734331 179930986 702492962 316094631 785644865 302764098 224276440 638004275 62718491 785738324 197222504 96393593 596700144 488848127 181100546 640329190 717340248 253141711 540637589 48142730 507322861 939401695 156593633 552749001 952234800 618761650 544782061 971212035 339398238 63862198 307472661 70612458 236921693 906153979 768577172 145556608 38090063 272680300 570320974 276312895 912958361 108692327 142582220 369781925 231756670 78093738 435060881 62819688 774003528 466247837 505660045 411493106 876539911 68394245 701408839 910766261 857080108 760501859 973478401 760569518 978429662 246048904 640034756 845089927 216563943 640859475 718890134 482010404 233163826 895169346 330657616 306380987 871647830 611361558 403034052 55233092 433693582 938027603 139772465 554038469 187983115 594435221 249155252 452530627 113864341 462503584 734710568 693932302 934450556 146016118 893812286 814513865 510562983 842158930 367670043 803829978 999961657 523874267 788035223 514451251 939990630 277794149 822121066 795282055 591270102 494094129 995009790 613486906 390986673 883412227 761350814 16584935 903076788 333289532 726928384 806854341 808848062 757573939 399269135 521414362 886321498 333660444 441333593 271485540 421229584 972180034 299306859 550642535 546057206 784567356 666051061 836422047 429329066 398297381 216245065 862470148 516612063 398863571 206214563 886753757 435298212 186037121 913357362 762695231 109494273 873319693 666082439 495464498 875605783 6746253 870385983 235416661 412954496 227335260 35440197 883287909 901852368 993011735 859361477 868224462 446992357 225787574 88808955 629330703 20496400 119994995 862920547 79246384 728283292 290427473 171049178 499697307 169390841 530034656 270875991 48406957 287372703 895285156 706397780 424176988 758074780 916014291 817422755 806271373 996266386 374978858 309621038 725919128 995768889 385892629 913971218 467047403 245174234 98556255 119799995 557899702 610623234 998176374 73518465 984762728 894836260 822248810 245955887 562182530 194074736 353853416 625586023 351623882 617939832 98652805 120335576 471103394 166740041 189285247 428378956 323323007 133058262 905342281 705771823 562819166 264827170 277190692 101640425 914260405 80233202 827461003 779453683 167373603 472756522 253271841 138342481 63470072 719498928 158227786 780942143 806567084 753493517 811905275 160015301 776014654 53792821 882883416 641282252 640250544 746108885 624981351 11950536 63231045 248880150 963978007 945283435 101226195 980814922 535563855 235105910 452509334 627195641 295563684 392574111 720977667 512752181 130955358 226188187 444200540 788380446 77996548 483137190 991569717 119066186 428858398 710410391 150152449 912340542 318050630 546489327 78546205 534359903 325184970 948274160 617395738 315465281 429429863 288706326 685941549 436980882 727613450 630675486 189642924 145440909 975322802 135987535 758648371 363632382 325811103 408963553 415600603 676709442 330803921 74950604 224224308 838459372 237412000 790883711 495415907 22664347 134684670 891488122 755522677 162188629 57108877 299882907 6631441 872215997 674175553 841155149 610126809 753995297 671679098 318208602 519359636 689733858 925689828 908265421 105143722 717233955 661925900 154830865 223142875 442525069 583279296 651094457 273460552 180659876 723974232 723704043 473584199 411232771 598516271 100718742 700876092 451456436 8686037 941329005 795431304 40492861 124304119 153029245 553189886 86005479 190853115 618115079 211552232 428308674 197982362 180033852 18683974 753655143 664342283 626147945 306906047 836292445 741951423 131513411 492331593 125112060 634827600 369475901 170261817 463168799 618667977 719192191 911879785 760441917 612012678 527124120 185103535 266258991 86925481 477092435 831468843 228534996 490215694 362115743 396836484 845355440 521566238 955273758 353631386 274930210 488078456 706770997 641585987 766296300 644911379 115306524 436360826 692300448 525919524 356803969 766578255 33752870 936659671 711835895 247357851 214446265 84191822 649437399 12161261 270717195 428404203 368875035 137560551 996307806 953033079 873969406 311209278 465107619 255403013 135150498 922267199 204993789 90960547 86321183 895910072 456431279 16070513 162317338 288687387 501308435 78062865 666949300 58561852 135707872 556464433 400991060 895642225 523071664 131761287 488229720 316797812 45671917 891011849 849394908 93967157 119502797 159157877 134744957 711289303 915106068 868133995 42457268 114919724 748996752 205850584 810987320 640259181 746724261 237183958 840505415 411337686 523721193 180036215 284287788 432654810 689782800 183563038 505236702 770764197 359417551 969295740 603034345 912510753 970255896 954166503 356017718 847434072 383570339 247050167 231729444 955443478 638430984 11160650 2660089 818965139 251268727 825577948 602642308 637218122 577369570 372011922 315517502 425499335 929741359 422965424 688777450 859644599 154355692 355971270 336700548 697398511 606180258 714694016 724964740 958990017 95113295 975084119 273617019 684127802 481801306 364649569 551127050 18059754 283675618 270844651 504699099 801689068 878181285 721996633 121593888 998431780 883492042 171958497 334395977 889334688 888633996 340633806 973197564 909198913 127371250 121364485 177205815 388838144 970237943 37487493 517527993 506521753 281330268 952189239 616467827 572040358 779139895 898161097 635776813 889589116 562539338 684098006 214923915 912751096 975752882 763373364 682975997 139818188 504886302 769948327 494809867 887994580 267592025 272330110 902558256 686156987 566661120 546919495 367973927 603535913 983460308 867646783 789496032 723997370 933910555 51142319 949004509 713844923 523063592 256018422 862044328 242029499 666045911 850518094 923493770 628280462 834682144 32062735 505522735 229805907 706153110 472267410 556176889 704221063 867720399 949489258 166610110 3248113 554556329 540546020 911881078 233630679 808331887 422489578 8813041 425557223 441797488 58049986 429284292 850241095 262578506 428505506 212906435 944375020 993813123 193131489 408184179 50246751 960681490 940803892 528649569 982982372 420946201 280385339 706318372 308614847 426407623 408112872 625798510 715536252 309717290 932349320 521403940 147577928 231792918 504150340 447684751 163405785 777625175 337980218 253369044 255637112 135481073 905855143 677817540 610716644 653121331 505955657 404430459 253159290 915537278 300908348 850709124 361537106 789254653 83413068 200210344 128311812 386771297 619474723 281589451 541554094 605962951 498545965 760220651 264031674 154949038 752902399 382916834 850109941 438590693 700110828 853025594 161697414 761444646 77883128 321829188 755673437 244828847 614626843 462300997 940213945 509110936 255512242 95493947 456747680 251699545 552912931 896881555 185427602 909409258 945280697 465845753 904604674 285335023 972447559 106848948 349791436 732342157 763631981 489224705 785039773 114694942 986203013 216335452 984697692 8055163 61196043 377193157 489773088 959339 678331149 453185376 157486792 303228620 953971990 549386369 924821822 147045585 132058988 750384126 405377559 871227619 337406744 263657435 438618537 136733336 792090740 880567641 619293828 356670394 299446388 729933077 340267854 998915956 7049597 603799364 15342595 320790946 426213290 325100561 31604242 616673587 582602494 848156500 548760715 857442252 826667736 878536114 983768943 763700935 764129408 108667582 698404064 777944861 81579339 286958732 255440421 618120275 246115828 257633516 884035878 783529882 716960691 558148157 612732964 951219491 305310345 411113488 797033442 436867756 596055000 762398583 606569304 365686714 393980863 303594621 498417808 508986331 193960403 314678345 812246490 721265759 252094369 101193243 623819499 309372489 873433463 445706429 256583067 613914108 178794736 5062391 232659422 972316208 596299011 192067046 35608615 827473712 330258098 734784842 584793023 185948620 623219715 57345494 654888450 511211619 610269279 74718905 4631972 782637286 851202442 138830267 252277984 197454630 639471308 26792143 235151491 37645669 924005720 92122879 903791720 200547685 518631825 865025678 700289587 334277836 707866315 83898153 630969195 71869702 455481085 665743705 809846512 208776654 932282066 919012017 414931192 129559243 41810755 918150187 109916552 424811075 208379333 709542561 461060739 457107261 199302355 698048213 653270747 469873259 485231461 368486928 969948505 61254255 827154604 282354924 392121333 233911345 118387991 688166899 236365978 492552235 791511129 729493818 951317020 90525050 475296300 555646637 549419100 393404481 388719541 19604148 782269994 383538584 144293948 757383517 747706327 869604155 44522070 89158598 738679626 381450511 207543069 606436993 798646745 504507913 308339830 116068795 576301126 618194128 758873016 188805529 89486370 251991672 696096326 634056736 706910164 219925726 963349254 427997196 22137254 154926210 595324580 974715334 307442166 928947387 537317262 619382209 855509616 298181409 774835671 578820549 638018203 859709664 150792203 853944826 427452357 226225956 312119932 841600343 166926055 542748491 84134494 209412427 425491713 222922470 315218875 919218954 120267049 15841810 332789941 104518940 584076165 455090647 933936166 5749984 737762625 397516513 641603436 291785238 484884979 262452254 760888795 630108805 220415504 519914138 311188102 734389572 233862309 682513273 431235844 342132574 233444011 119330280 243592269 93639242 973823790 264486257 867658609 463664219 309330050 792469100 973806017 744809221 715061408 60751155 881865642 226000223 38878120 651201692 221598901 140368264 534237155 162366764 960354907 264079507 426895417 313397048 568802880 689740683 267906335 805418611 461862474 728848771 259021123 494955264 821201273 572653646 91053011 959572856 256479675 431672371 547898679 519870317 873796511 480879182 866226651 158469375 263766951 206946892 180914222 477317495 755746142 51289078 477821997 842706365 340880244 173248301 912178165 730745828 363496277 396954707 786428222 329635334 87870219 880088196 619369169 270939284 161749969 651885722 349817743 142737994 787264968 33043346 607471149 567390127 206062408 801806797 593971150 278304451 374607681 983424979 689275282 410109699 797794824 363486836 476194966 21485327 334597537 356045433 281422239 138430977 869683460 912568704 359076494 403209348 377071048 455147569 356087995 223460552 91119694 884989825 474803838 942463444 322384743 736793719 738367248 753538683 155293956 754821930 244881690 74786211 283863163 786301318 174177588 134660773 248451576 508293933 934397243 412586107 839041402 106616409 999572379 207811011 357474477 318703236 84143013 461975424 472222827 698285667 595130234 871779134 247224919 708903621 827838048 308538315 761425323 144955407 420805590 775212523 197304661 535440525 733036228 338406946 957999123 777970993 22787154 948312574 138086081 58333717 185719286 801695360 777435747 952955221 933137794 194116030 652773540 583559973 209524870 34824745 69503686 676107628 228002408 452662588 762781280 568911446 809551543 143747471 964400130 389617302 593025235 450073033 39332879 333640280 558234112 218275073 284232204 674067189 289620990 585264637 192980260 652182601 609313094 730753054 360276981 92514059 844450055 363762701 262100657 517738795 576317556 881923026 614033204 699761416 873698578 551350323 549101554 606913054 456254643 985887771 941305444 858122094 745078079 90864622 605167120 710482410 423324105 382362089 326880795 907020955 542580916 110293924 26495867 96670278 659493737 399094350 266321653 279005322 568542423 877854449 63244562 250143055 269439416 237547938 824302707 962518274 553273558 608394623 561738695 516006142 550193734 807215456 31587420 194898636 979797604 653449105 533145060 135499434 911256354 308435356 810550123 49079791 258484739 858425221 509686671 470435550 555509449 478792704 80620147 257179602 745442891 729688648 715476114 685467372 597295411 543899708 717709882 623151808 405049829 51682956 270349529 274779010 448462966 920709163 294001759 852382247 541843717 718745727 211073003 647974059 845334900 501435711 403019520 819276199 991811426 701258315 183946355 114475277 89640476 36991650 275469717 509842101 92133278 960889954 199869145 402425854 564375890 67066032 179454935 686469539 172220729 884749583 958794114 355528467 93342052 781078851 903049346 994811715 827170784 712640407 484490280 693065908 927727595 626231565 209697400 395928253 795604055 966337539 439034336 978437297 553603415 165988217 981823399 445047229 18158533 367593606 53921153 632121998 296586061 830053895 812383255 926247488 672223350 244571535 428013887 245261610 301475060 593109637 456495191 253226227 381041299 434736512 813453590 855684115 793210799 565050372 720481395 529652933 582840214 407082449 169770758 97759018 666589423 272957864 33978947 818848520 809380729 709274658 797525235 619152114 268906098 887461566 448360746 552984645 226250326 627046852 350373270 283303941 556172415 40529754 68941144 933027710 228149170 482560669 183639287 320116888 568298357 149944639 381058696 485720105 566299196 7650806 635936741 489287205 274866335 812214987 224205650 923370532 548371184 739975709 581885803 499464384 396432753 151325015 144839659 608333730 44985598 118631349 409839551 312982990 335583637 38087691 341426493 13689374 312140082 360879248 737259701 21482963 15258014 335006838 141435451 989921450 864247913 289706212 536074684 481413856 32561534 50221338 879175206 546269856 312023264 262439008 196305121 877177779 269834653 639372979 985762292 862244860 641000092 348409058 39897411 157786126 857421691 832974950 722920662 431928169 828979093 992703205 285808990 868554467 921122 128037251 233613403 474518773 339569812 43222706 854624091 732856207 407505202 843205822 440911959 839138958 49013429 268775678 651943169 204671758 330243629 138183255 707067056 383346053 821060137 18907931 811241558 113322879 247874748 209724361 331938420 97651922 189943385 366144897 201162350 336813566 130834685 153070195 314312113 113204554 51476150 625582902 64548233 572187645 136897612 593375922 22536540 787614485 703630928 664621512 503071315 299149116 66119911 940439770 72997576 471437887 151931734 434935053 311431496 920910046 522521278 306796441 759524255 300062217 138648429 377538873 55710541 798110199 895340360 21420756 935282601 799255106 791590817 30358330 195605503 988224268 336091779 152237404 282404233 493964602 518376983 265170577 236302410 225567943 858848417 84103649 453479217 455912974 274258059 267873204 726565163 243025451 892366275 777729969 155660293 704609753 31415827 735839663 629030248 538538312 946826891 828817529 196263059 878946938 965954959 688654222 83300714 939897900 159076566 680546413 943518517 447544226 114432245 873790802 216607112 841737865 679228915 895874503 274371505 365967421 748405622 350367507 774837474 634069220 540777374 221992017 932088330 532017694 761097397 79252354 866484633 396690016 151859713 689437849 475681350 357809935 456011007 858858999 369750751 305762392 125792069 924000804 438334846 490944071 184697870 121755518 381423841 511147052 924455900 638740196 896505435 524746184 882701175 640660069 324564188 509761518 422367007 471313833 558561147 756409578 429016022 886746481 826386715 216928541 839486071 932213681 244602816 147220746 976344792 945379420 299110845 156891096 180050458 214470492 706227963 456525448 723502236 105833505 475814851 48000308 40941021 780299169 819329716 663834254 795906468 468702700 730142125 601604062 359868532 255312347 639363425 199647276 557637333 866356713 418791748 754050883 931557034 435784394 576975823 438571265 196982774 781215287 985881250 384988531 211970790 565076929 53394413 400589822 507121369 866492886 106511109 232669469 952911661 460923492 840677356 554416691 611058526 511480246 659821655 314597789 933968075 177790742 290067745 757141258 48433438 218357550 331194015 461206225 732775737 45868860 560817145 657033238 144533164 524446914 365949356 331259560 938793206 505529159 904106923 513625903 104094645 353730044 804877977 311683753 474553459 680554110 972730970 576929960 91065301 417035494 565425939 721266145 731988278 499083629 159792513 835066199 705071334 432321818 242821979 288679152 943651846 756963777 547005205 849112247 784260206 763041253 422614333 625373391 202090132 299070234 100684083 976985229 722811330 350108088 643593973 9867141 629650835 891677983 840170531 378817423 51446607 996959484 810961934 603815220 774711465 763233396 673703297 376578020 582410344 494055126 162826474 128848238 987437282 203719577 428238486 197660871 430597308 779921458 313136558 301718870 32174714 756453511 450214378 938397486 411858472 202516318 403207730 492788850 207973301 378782768 412424163 466864002 779983454 58253944 686102313 996007352 206090570 894917739 978013722 226491052 436575876 866075856 635017724 99258919 356999132 670795261 629150 240684605 606217797 676505297 481903258 238060135 549294961 329874039 905510195 772555496 787399512 684738213 996511636 626122514 469546398 390323374 325453913 417498966 646271934 528920943 909782983 147446894 522284744 133348571 136431351 10987393 863612307 44736219 792384264 325932356 608303623 266290079 863304611 904250206 53175708 794578899 824949850 469726810 373420748 581210796 263214949 453466762 33211019 225598500 732909124 131715410 653666548 452083280 110037927 788811111 799448902 445672225 466022508 956235109 606991568 856933960 591456666 184916055 969211720 330669428 762628377 375346666 825718833 837176496 410742583 473567272 532134101 8333042 431846253 540278894 700786115 339652102 160133628 784629166 464235078 63955399 286914187 227962057 753772435 406901766 57696094 119182002 422751780 753943145 346385325 213952167 804330288 990991958 247889903 285679704 340940571 293769463 924820572 21723043 388690015 415410400 596248000 823334251 373667688 375853609 326778297 105756553 525269529 379941135 244009004 404943865 465290502 564168566 174906836 657668046 205236901 685993932 954261978 639869288 369529339 465496226 489336652 232591243 631737216 102392381 365204219 899312143 925086491 880784748 589579022 623808209 225325847 861330178 427937765 579236047 438614312 282732446 705645190 453013004 990533447 71055458 318272949 977237047 626542893 858776152 643587693 327364922 149229916 671515739 760561352 478503755 907458081 133670188 252076205 939306196 434276900 52084145 788238693 497228600 864860958 611386639 371719706 55529343 419803699 966891289 420835492 279474953 864409896 888011712 165998783 614527976 213813746 671694995 705271431 945525913 312865721 249032977 978236957 906165677 874984760 764240193 873638898 141961550 794357534 779867945 913647707 699616318 449611139 216731509 867667104 850376512 204672108 92118045 569751288 878084535 445063690 490968180 115232614 847913634 630216750 697877718 65603908 479202654 365344502 594838225 16703136 169870619 681665900 685147276 787211 161681328 512165722 500106956 806450315 954983771 228370065 788308774 751285025 506711243 832894891 99689022 968780632 44239578 529286915 756328533 10160643 719071155 788254526 993286980 863466498 866184689 215792091 483330592 448319706 953074258 221653237 30461679 759204185 667610912 674838218 15027215 557588594 602087075 44790928 441669489 383594111 739341890 660033729 818861267 364510424 590808502 286369664 410807064 329679565 862083156 150910685 841037367 603359604 120659445 764105778 366719271 447817637 635752292 336310441 449958090 794642512 736600389 631335248 766282761 382245314 450570157 918350784 736885499 537355955 7876561 877702362 244273617 898744089 328436658 933758822 97975565 745858483 88670946 511344580 71679277 451114952 612694303 301961819 718530834 304467418 800243632 851859121 552501972 881674595 134668631 383138634 70684864 769403174 968643286 211616528 599945641 254421391 715527766 541936046 39116141 917939895 118535375 237216173 797981315 12120197 39744913 393715587 924440379 994391382 699951839 578729008 671774902 109801435 828852873 811210025 612817554 780563108 126831467 842198499 270302127 654189516 668010234 768084901 552203723 546070066 428048335 783388259 434818279 758479747 929240264 556615155 266682407 329087675 467251836 124923873 823342215 790095301 563827024 305373209 819271527 505893867 897477675 296647312 65168403 488948575 289268477 646541981 681868290 922468479 102365244 858815298 838121848 25234861 778294544 643807987 157627101 178090599 507067301 247336211 45643206 187697468 335467113 140648789 951929783 896378629 981693772 109644402 165901197 710282280 780620714 934125037 469442310 470523750 636251299 766661182 576217659 992088865 943748267 329623030 670985271 329026899 773965682 742812298 2457078 517649370 266922864 988450685 593500954 130844526 577205662 45798486 113263654 304001077 181239071 575896807 655515232 661758428 788774622 580666471 756803373 967550343 739471629 527273319 294448773 446493801 938722035 432932051 478147463 720440429 501553243 877267428 289114678 629365413 88918466 647142005 139351970 605496558 970791200 512516918 568938733 885324289 284124889 666453741 395565654 894215516 764594342 53591479 685592459 317338015 209742532 751123939 654560556 119066501 171517944 315879871 237686462 797854072 65624038 271088102 279720927 40679557 338587297 676690353 805670997 463480637 357424377 16817348 406114205 92308493 504927709 188784752 341897147 591527922 862818506 322420505 544218881 480854218 578945691 715852107 385267717 273760137 450269024 232205307 916587309 100777815 919386081 871296544 659596513 360314996 583583600 148413410 195625859 96102690 859974633 733854633 869961986 328915099 285350345 733063060 310041609 548246039 363630094 920503905 965638315 264963913 996452564 190844541 670902753 458883240 456503099 998928866 760858052 256334264 934676695 888944532 705818392 974399792 842699228 647870296 889585007 867564973 114251914 236564437 324226539 72190228 519600393 471111343 620516966 67548077 292509985 114345221 398915698 209329311 852511913 835219597 189880628 956771017 135730683 366054260 405310191 778206230 842716313 943319268 842152272 551547081 603871193 916683605 381268824 968424978 142410968 912437450 189704256 541562651 55417991 95292239 75513372 693089775 913666685 166909947 132006487 443935227 905158075 191402094 376835793 995303302 51019986 278270372 767127276 684097899 660809225 618872488 857064309 623689846 194206238 85907552 481547521 219604116 41905571 180321797 157362997 951810304 212964437 101548372 274270571 664037988 976932005 19185537 781162141 269686458 10114597 90486876 505646240 511238649 642363604 365767178 881562361 972590051 67466730 915477969 674202774 82027876 531511281 245984192 389501767 39940951 913043767 481293489 991346064 149165080 582674743 759121746 338794934 615582359 291377044 814434336 749056525 172631308 343540464 773718671 48809785 929358926 332121777 585732727 899438128 296694933 18776940 49702628 744044250 701206647 103046623 143475265 775377017 398259518 987634668 115257651 445325999 104747856 76837164 361605801 648555401 69561333 213425641 820372867 937050232 942208251 120629248 734181292 778534247 16156368 711187236 291031672 4213466 67616301 519738002 516081124 930523289 929123684 249662475 218620368 638659994 602604815 408270810 289425264 366259999 230203829 746589020 89993408 154049717 556201970 825183111 917775845 493048243 790158858 984391620 969633328 652684366 408500726 217003757 994802290 813777435 182551551 778907968 545054540 584494894 556378380 648883822 818117875 761280240 628584444 361637246 451553640 501399037 570819135 924415324 506125610 544345252 365765740 587891690 634027527 149842612 890980528 777852868 692568910 6142588 831855369 6989272 4607785 598708832 878173664 673196920 531279034 944673908 794813991 238493592 2896746 536147660 123807482 978900186 12688661 16568644 961299357 179862295 193214097 667206639 681052049 120933630 862430784 406647614 383770389 638614549 660541837 329933294 289020614 419091863 179023459 761394443 73175590 117115573 418333057 510973604 599548803 278054057 691100258 314844071 311017726 353745326 685858591 141504284 165826912 263487231 745611657 986276623 873918795 843412509 800100056 691822125 942813107 825332920 441078209 491458536 356822593 497083327 563514447 500574431 735465210 244094191 858534943 795318953 131499192 750614327 812563509 905931311 382916659 597606460 454824567 889855999 813058098 166656648 733719892 654656422 458715169 477182336 524742055 364117766 154625784 157229424 522839521 779752358 463097620 255474630 345880421 129281693 377561811 134179294 168741658 794612092 385366152 732871330 509444502 924687268 439369443 427943302 366210640 474074139 738315912 829006528 179402464 781381031 913047285 236883010 213781276 712241882 948404807 24992360 897067117 889601215 694890309 31490769 105964843 551656569 50358248 654257186 822598637 617849906 255863005 387850239 208050115 580052538 435369148 615065897 556933597 887687592 186322638 395747481 39657750 739161697 943743515 436014369 925234823 439040581 229975924 49829611 636036188 498068379 592240791 454497396 450726451 515534064 214482414 603455415 804615052 557291371 999239658 917669247 309202001 369618010 500862135 419578906 346606952 116846731 499253787 968681014 679332276 299407086 413022208 949486249 187303749 964050292 710451883 161478182 993413680 810564717 897076091 956082341 472224664 9194982 678329133 310185927 831898358 615814652 389667605 259014116 416780414 702170151 957677342 24739350 703473509 314255231 392345088 292045881 513010457 811354041 795262942 381326263 191109776 703909096 966974344 279428410 478606363 710910751 680688010 779646072 401117141 382687248 778657535 937609066 609234551 31752557 265907597 771698122 658525581 517049842 110097615 643302216 213170314 599280841 62426099 314111461 549169788 976241245 616883131 486839746 529348703 192925741 171554475 666977152 266849464 553197043 701212429 250737130 920826370 922282827 948618181 300201795 138503108 857110429 785573175 208123054 132986658 972720671 63117315 5271815 874838482 818042523 67699436 29430610 67248850 168080264 164164399 800324512 834540290 875323435 308050040 535777171 192752725 586490909 359050867 541436623 83100302 988594837 601907069 121499244 13948607 760147232 197440496 890507944 656107511 770584325 449259104 683840006 72730490 208538479 835792191 619101212 826483950 763185471 736681038 454713183 492028979 227428619 887896266 476398051 411203788 556668807 830808027 508925049 352265775 253196962 193594078 994839340 862419701 522434021 201162622 591274340 898892946 257922561 812807482 793838967 242424796 219744504 228459483 516373807 962007412 983401044 778885330 425225105 253981951 378913316 340153311 95673229 418425274 517546062 793860775 515830371 201982471 936733118 951787481 610297792 945949415 910762222 660632157 452277354 3333892 383095727 865600936 768505534 235515225 117978332 521835338 586193662 463144020 516762316 53886247 478186261 400951207 501716034 325026658 607249689 38397676 184397998 157465346 407183077 35791811 315008204 233252273 738830693 930776845 442872574 865620526 387183054 745027622 397643550 853406180 757839144 792581233 126827236 13581575 573208123 563593932 843996756 146680458 389480177 258268729 803801967 809281185 749862736 134131403 605485756 478299676 946542459 229652666 757507676 672115147 388483436 205492942 812961186 900974506 117274232 952930799 72708182 789943060 536317151 183365875 483282790 549097251 784341842 356542453 211936050 364367582 773507131 48448472 424331275 386419190 51271845 792028505 401521022 630962934 570673753 201904955 488585676 932729791 203095147 619265743 143028113 88696849 655656923 21532171 39149502 384601194 51097434 709128404 953883303 139328153 862174896 96455296 8502596 744650934 141479670 226662282 170524009 766810192 124383064 346870531 958247269 981297062 136083401 185529242 22978764 224704655 833039701 902129119 851000454 150751218 727406750 798633525 477583477 343720770 677928788 840236863 595458503 467303867 574686689 613579612 176667581 253485953 803922774 316337444 434016774 501541938 499162531 478410786 180827099 890517817 433158699 224620286 703339529 93435548 837856226 945106240 484380800 627238414 998332837 274496148 525693307 146588288 111892446 998536325 103111927 913192912 603345496 648352361 100978702 992336943 860113787 680292968 287902414 751527330 715555033 69808541 121958071 572487957 869191196 198932120 561961637 237969115 269051623 75641943 178475536 482881957 862736845 581854248 735478597 343183695 746808135 205681991 236739167 806054968 682536199 723002174 624172528 497830128 292434164 363278780 543374850 721675565 867441877 808772732 964980985 168851605 649283249 387812815 731339506 24647078 423518289 344020097 78124350 637233515 427209076 386776855 61004078 509285973 720930314 964051176 566560883 518305940 457538201 432607910 512849544 231652029 232286726 509127643 56348156 980376116 145282146 917550558 374671976 288593259 993335985 79889638 343426738 82923416 449709981 716048541 41421802 920205481 147455492 298098087 119501492 37630400 628704384 137734688 384198680 78622920 843384815 110959581 327129220 498461980 579831480 978026226 988818514 533655703 978441640 738849409 274740766 82426229 256308193 191948241 918219885 629509983 158762863 768942502 539782606 203294722 277355698 698553420 32586814 290003983 697115642 880510304 331494450 127363316 454914832 871142421 953878962 879729499 224732050 543889322 543877058 833775685 900734171 902932013 918254245 202383297 161528368 916612079 192771003 112691241 849761422 851191919 959779592 107548607 698114900 936318033 84792999 894325150 426206300 80144669 26229343 836432943 639449661 694901709 634437468 563297819 89731291 909425450 446565505 107449422 445436172 982418500 905462905 784512513 13415147 925589662 542418732 175024630 79476469 999688351 351890601 806195413 570852638 224038633 942531274 94959607 561529617 18427177 290450737 217955162 224891557 734193333 292390323 802047306 659164754 134050211 539579622 447088326 362624094 777549105 417501562 924746295 545799569 267707622 492131638 13356255 280466537 1117885 227745671 551804729 74993637 89775678 703236067 524792561 912705426 42859593 994379181 597570302 134895040 56034621 500047478 904951560 303977634 988374795 965309391 600618380 396922975 772662917 82365095 655764481 631859655 523942674 190715787 291541971 765162362 924763108 336167808 94867872 567208050 310552377 988360032 160703117 314966171 84136371 817514456 348437227 932863366 829259286 817244612 726658594 697987978 893304270 959141296 241484249 549636884 52812208 925324090 472606371 397686462 177845410 312364264 198020429 621443688 431517459 958659712 457766661 567589870 719256661 83834911 80765661 486685702 163290413 836336364 602075037 127046223 631949118 933755555 618336155 381692636 885922493 332670230 499937571 297217576 716646414 736428845 77872896 648817653 466276641 386646440 64570939 457369150 251548555 855181390 629350615 244400663 911833647 150453773 125992809 167891995 789735358 492642611 796739719 244643340 128529874 758619042 317693496 334467365 275983417 689497675 497870559 556500098 895735984 451262489 206332347 490412214 4001296 989222765 809616229 678329235 469992261 276936145 779505612 246743222 854439245 295914834 427101501 643594077 122267032 831012510 308912341 646109632 370037013 453440191 731614704 803562137 743290349 721860082 108182070 214599310 767333536 86078602 945575190 634389069 751087254 22265886 336243685 656921108 755490031 984619667 469066838 999241152 501940850 249089761 506179172 858655761 378894202 587829690 421327755 477855761 889716171 724027271 613794643 40850455 904964297 866955938 213164346 315456868 728365577 232226249 991379201 696982151 10198733 652600181 62040662 257539494 807284291 836137325 354616614 232349352 84158214 402738972 475595320 994428210 154269498 707088023 959083223 534677879 411795505 922986216 981261234 119545065 205124586 143170881 307887880 169847504 989092803 399741359 386288451 401589086 798957708 171693349 104671986 32274950 559581303 299993542 724378040 647921820 166029574 708734199 457164904 977660302 124791251 83173852 187945824 767895608 266736451 801064873 95550795 419054726 312914474 376181815 144814830 367687072 738017711 657423215 502511870 517256656 941835111 768488084 226671553 810250577 592063298 834979518 262242248 151766182 494981531 191567055 407149246 109355402 756638260 923515093 802463611 316297740 762627955 203905860 414570905 397981996 960416654 41033769 606335542 942200472 408029086 172072485 201538019 979425408 873197774 946478823 395505559 817684064 54164167 771043916 9907870 938619857 21789580 702408372 192912404 174431380 446279578 79170307 46417723 183805075 279144149 816957068 269304523 653912984 236615149 355967278 310145186 757052928 479416031 300035244 296958163 160457789 95958049 748846001 896176045 727976287 468761034 804725664 626734664 15094814 1254683 443840658 946041649 171214861 846432714 246153444 852004509 219261769 517598615 791959688 508501148 228508011 791341163 795072277 240899852 18067989 302545134 336649377 127730072 682706416 375757623 969825998 681722037 407657470 705593897 147764830 475407539 100149910 460064278 21640953 335314534 53757632 149701009 556736669 810666693 161972155 782970545 90188987 956140081 245566002 139066528 7913899 785127888 97129564 598219833 243852236 601038085 4661732 55722649 76403814 593703211 135671910 275835045 914527632 904023600 877280038 545582697 826246166 750469049 361968077 60797437 680936460 333621869 462640197 363898937 135465359 763742368 107040480 321220063 615601174 196979050 402911070 42191183 800671837 791022624 234996393 219187961 247831453 966299703 762041998 476926588 511074594 563767315 918103874 678656502 923264659 810138340 473436294 155583666 730513395 623387527 931547704 498394794 191317566 471086121 454496414 71018826 497380911 569602177 599498944 131376350 683160767 572433337 362797299 291754173 873825246 495442398 709161488 713312938 906534154 477428627 574308076 50060550 979363264 539816818 132142942 397282380 721937743 238221578 867043137 252872952 43689706 886209749 201663116 479086314 795556894 579522835 499130283 476996371 840332159 680790638 155671427 585023322 780176634 970906652 284314416 619175886 834480062 620903919 706206796 924234022 27612366 97345048 900403880 406636612 620567452 326719263 138939088 2018288 495890203 841038951 788799171 67865131 405069973 132828439 384565958 820820896 914876657 95108801 404924055 929915179 895696768 602951494 474435634 720580985 224876840 719930955 548406651 578970108 879969791 955169034 160533104 917010472 623434217 926713155 116843882 84028837 929980708 543640559 450692690 254517593 201830665 81933480 454284632 992414073 40445173 223641477 243438431 171325886 309859634 517526641 130588882 666390338 712519896 790253521 388147753 401841745 379213914 25228159 487406100 547485534 938758899 869681162 154274022 480261471 340817076 553393197 728309009 770275559 100960969 386877729 340271243 890170708 666265048 592757369 316512825 281086124 889442039 239863404 744150925 92906618 53421976 327439315 544399540 498521077 293446810 816880471 804473808 726624037 113796362 699461119 622716995 225663891 998116506 338745200 797409966 773859939 332764840 971312497 278378639 546954501 71374605 917394841 249227321 368600899 204591335 803778221 205307490 760622614 434111292 7683095 162989518 672072123 223945421 197481272 878407510 146421872 954291623 578359975 257508761 868792149 159586390 804049054 792197184 510775082 473280655 868121198 693089375 831045266 570277249 223599391 996892641 765445592 85588847 351921512 232062115 668109754 195336391 168033990 281642722 651455597 571702271 368269947 993402250 410226226 499034606 762501687 422644263 386814095 836508307 471376901 347095576 615257656 957766818 899302503 658082778 586501749 536161687 988522823 912839059 625973011 91946611 638764990 764391175 602305914 905941961 992214751 614572632 67994802 905042367 103519960 14462116 18616460 509495460 243483585 743032620 492537036 531026703 998959074 700466151 117350451 861974788 651913169 252662031 202417980 81011697 120566850 306717206 538455902 957121529 78870717 300349201 925954041 758242738 706279594 69638532 543518704 168525606 314802774 245965156 770333523 642456938 859201113 78993556 396835868 597382407 640205007 227384783 343390415 112345629 914531600 185659088 159236883 54446423 372726188 228042433 651142693 540645772 74825498 986287249 605503192 997629802 938688760 769677946 714953274 268144878 957845300 44828941 462669563 233493572 373885292 787260180 146964942 895054947 460392405 574242485 793068301 757905426 53959420 264428757 11064090 457371999 695719040 69293923 311810906 481394334 687614043 286852729 323826187 921819325 822857189 152559978 92616046 480079298 357045900 994496827 194764864 763632922 788620757 866928347 477323930 164573456 566596453 695959669 550789378 952753227 875772245 893781555 336662614 823610474 872252488 727499707 633020505 419965653 999543602 151798643 545401458 306214636 747369585 832686747 212433232 382368162 920368234 12000664 566433132 50932345 920919620 221506415 449463967 548412454 405904767 891998563 247277205 525142650 147371553 533178336 574757135 939938214 335818465 816148177 737512177 969949950 551737601 114971560 39302619 653380625 661380178 246888916 630384914 797437337 320555123 954225077 615396802 388972465 365634514 442183311 593828246 206986449 257102182 719215110 996056753 87577758 365765325 417101539 858657242 22214938 17598460 91183602 779226088 163350698 736395104 512543676 940635709 195845692 789567610 304566590 64226166 977680724 187261650 997479661 621838208 186999516 438893467 921524035 723818972 780436999 640270468 19696722 385213353 293461222 4223407 905258117 611732852 959240214 625428406 44261863 368816191 940922575 606068445 939684719 469828777 487606217 579782784 109764252 366650588 495023274 589963618 307145033 33771200 355158364 697162492 566174460 779147960 169646432 316502413 873115962 67692960 683274372 413354057 92186974 664683645 968903723 501201824 415318903 13306635 550852003 954444849 534178993 445422950 299380241 742058161 210239346 46954824 455926630 395588403 585369271 430932776 174322395 497717648 622085021 747306821 874877299 153798842 642037703 700698806 941500210 272597092 653152064 395143195 184425976 190772190 268724415 342087598 732728985 278430277 931873178 107239539 963375064 391643745 713119471 601890071 756159056 439513122 245244880 542645098 458671979 600715168 920464819 724361628 716002181 665270458 685286744 432316632 345977446 616636729 2068277 575788199 990028235 348768519 875967390 696713592 152955970 687641878 333405092 401078547 557564544 35157833 378418125 758976149 396966521 248334359 868430287 740869607 27416915 397602896 88790292 283955968 197770402 575730734 256288987 824477856 776943912 447938496 15069410 864540840 971970732 68175386 428584424 633823637 79676875 170888600 585523862 901468507 919350094 276438903 127488732 815650545 155769400 504761860 758786031 902422093 969703881 737926378 971724745 815350892 736406371 64788217 235988550 906076862 562678240 719437255 647153324 754944415 542777873 399032506 462021405 864027805 102271059 563488282 218154103 924640939 886297978 663629900 401368422 588665046 591597823 239921599 958653271 254684259 137132731 127059005 100236576 238133134 855288580 92499238 878114972 945684767 682293014 645151218 338596801 300790377 895807754 416722097 577091024 111700592 139424165 640238198 79248677 960617838 529901287 625989514 152224159 674334765 826808196 7798634 93867587 930812991 558321981 269463098 128709380 188317711 757036282 831471752 204374013 831954559 390844232 285214922 386397666 511180378 25566977 94917138 75740780 780887314 323013738 794516773 693930331 663966777 65729596 514652949 945002868 672080855 844741164 567560892 953498710 534469058 470463302 427142341 393485884 999684450 233742942 178610174 815550573 435100990 796380273 933442013 97064917 943483127 772667824 455343924 798053689 459154252 387981310 246100882 977607617 488025012 894122272 37156780 913809885 77860857 6730745 923244616 6491961 446781018 790709860 856679982 75420166 583137896 816645036 932000475 533392131 713085368 383261079 356565069 484621417 374958106 850772232 738077638 828760606 916790012 537699538 581757871 536711895 331896626 650766107 761000725 76383325 946428561 372315284 436557512 725322218 513058091 837673430 317374136 164422161 934165018 391201182 19333908 81853462 600469876 469547138 982255845 417253030 923945973 771802458 583497438 884387084 823184189 279782485 882017448 709616471 395554386 472523345 681872029 250819416 109983274 221923303 994242760 398127681 968726189 916104060 73940695 360303033 248152052 855655196 362922585 527152451 870014426 213621416 266778131 29116347 753228221 226671053 331815361 332156340 898661064 603945656 394300645 428549568 168343774 666103758 47200768 333249451 93499942 848026583 517191113 174403661 188433948 490112321 110610768 702296824 112798542 939045449 818746006 945422001 350139975 733480449 561530250 42494731 617115835 82387348 619005231 563866201 490282996 402766274 159571323 155900080 676005283 712362058 716906998 327472368 295576121 821790408 755489289 528081605 297491304 249481155 816706550 202106374 962254691 104863206 712410369 646870838 887076940 14743599 585555983 20369467 806060913 677189868 407902054 29981400 360595916 521024727 942229299 969281515 36361814 805727568 438042239 933515961 260012304 114653890 334982306 235874105 954087668 275466613 847092122 811144534 940796244 838465834 717906101 732655992 524949113 919329459 147408543 473423378 862332277 808791958 37097127 820283175 464566248 993840533 928025814 790387457 559423711 557966096 875397410 517951493 80957912 54345618 385740992 920853623 878187773 93987300 94698325 272131859 721925282 859466978 508781208 471190096 608050818 782100350 535765725 547999364 641673754 946037724 194766988 290271825 759623519 900328468 82146515 521662322 765294320 659799550 109568181 811034112 692587354 710005233 849949206 71429111 650605051 454205663 332918732 915153180 718630618 131508880 5304493 431283695 196746327 400609250 786864625 845067958 78906531 376511277 370839369 900544549 441121051 500394564 617581784 558809892 430682860 491493440 862667469 77032515 855171006 818898448 590773319 736977077 69453458 5999637 798015128 658368360 537646361 274873686 362541896 914637060 156478896 744788814 271568474 721106801 842129262 138547744 459110852 45634411 610365018 787282500 747862456 274574972 259701430 685740034 337257250 459246010 554002970 913126286 703383571 308890305 333871622 331539218 435282674 409318171 388710573 446753384 741588073 159928424 783093509 115799297 479664376 485434346 313113642 254036822 779789104 279019970 949843937 483757181 289272581 3167627 740819682 461552188 824985716 631292016 26301643 778990006 21512678 515385145 548985726 276372656 875599696 818958435 123952572 465273417 915210412 838722707 213095160 213067305 445504805 809084534 139059199 406260855 152434211 684291763 303781723 663574842 741903056 55674157 637758182 799892341 689662875 640483214 419857875 672623051 626332441 14820033 18596616 181091149 727252544 78778598 606086888 595916410 589623418 446074014 112085097 929967627 754470903 460391264 581578608 168816333 242907214 468562705 23537518 592361151 149294532 176274562 652029436 296717671 895237018 827597103 509139849 487774438 718417826 297566737 237910685 67752097 425279348 82855600 545150226 399857210 121304993 648591854 774233424 909583222 653252801 1407718 376106571 918020719 665162752 322861388 740523974 763749825 947930071 418340709 185413428 305877528 898120080 909985577 551672362 216948359 891860537 402193324 988338969 423874749 499595456 347134641 237110476 282730366 371357823 395611956 589429235 355028945 964090365 557003159 437215081 284824815 567071039 581417308 385808235 315819732 155747223 719623125 5266705 370900352 857512447 9102185 220054006 78924102 906051789 392746033 510216673 761139555 990540154 209163293 607734024 27411831 805233323 92664783 976987964 844962056 740753808 249384308 320735241 526061648 951077041 53849516 95411313 150559165 520540913 558504053 785833846 656809429 923332136 603960474 988023621 932852551 344980036 961600631 412589911 533485699 354938739 940714142 880499441 597997744 606118907 135242921 809105140 804190433 118381655 674019607 985435072 261822032 709624402 98154587 945547286 832616560 58447455 877657016 554795500 366827780 592500423 34191867 69707217 478549454 788175844 693105737 127323347 876858702 828603250 490946669 550714082 234953073 837110928 833721130 264954736 955642819 258641436 728750631 41212508 898378931 533401666 777628267 436167613 891344445 329416421 607752949 414920582 294890360 763869897 592986976 562338711 437969133 303035001 177718060 806813955 599783520 52618899 838627436 651333061 310407768 781609562 231647610 329329380 591491076 458397467 18734530 459614022 206457097 70892270 492183660 926978849 915049585 833026799 69433243 39347084 51134540 382267109 108373831 885626546 597322762 911074052 493272343 905554456 442013455 915806937 296467577 546846260 722337064 234352697 957341507 30123414 294477106 489597278 239867762 773253920 167988263 214464845 133583618 966883268 741017976 486885381 366287978 199550890 657798360 972660749 364237929 425765010 831798688 476664894 95236827 177577134 638470899 181003036 586355767 133692218 31342724 121818145 272050221 503513137 843361749 776270030 761239622 116644745 457502310 733173866 772680132 135627815 401542773 380154093 236239715 586243322 429171419 653156940 722279840 413626012 634119772 435293395 278135856 830886780 257923243 17361030 671058608 681278950 910617856 75630798 900654543 167446099 637133080 867301658 197658334 971331442 70178898 155440718 122734946 750908931 718213894 317644138 286339355 451737105 567542336 153544253 596739011 127626432 508033215 683666136 289340334 110361093 226436472 105728057 842247188 532426273 843910872 892933487 566932938 563027167 376031501 155599035 131702658 20676051 994794351 541112824 503055734 212435646 10912538 530875211 117874889 521478594 784632474 879566076 744036809 651820262 582661354 118535893 658615616 157870689 702094595 459077150 966293975 21070829 989438379 781668282 317487044 974247834 798473537 544119206 51761159 169239169 357445628 408356782 417063109 67723088 884552048 265802525 989330306 198308748 861847925 635440174 118094841 413646543 317206685 622006563 647755663 223904513 387129568 219192236 216344442 400450294 782026900 467198579 62541121 891788992 116383182 678477286 25437551 59477449 430926644 141530298 720648411 966949573 24079619 562671110 595182202 625513181 401308325 863609362 726906686 394664983 62872308 249447528 3840834 286220172 732896112 367842245 752847803 380484024 859227747 376863387 690850349 178413782 912012146 646962521 576652040 448347626 75539323 511562103 130614483 948891628 8746001 351031264 831970979 426017602 968293418 656700829 819468105 426972563 358794929 505319596 126893142 832199269 439702711 433804351 103330058 343112019 394938334 672491711 6609659 797105557 509877512 747718341 521431250 669596285 234089807 439420837 332004221 500354917 288663396 973476480 597701264 45005599 782816081 444603872 528215133 458619811 176376209 502635053 808029702 543693165 668051695 743483830 103078912 956073993 671647032 892916068 211851735 314096914 822630533 710652657 796594718 222666359 717504543 348845259 181122130 82626689 808031721 125152439 2087171 894786810 470739066 271623661 158872257 962112633 843409411 621423465 455841779 998214071 54619611 746254692 51544465 624373281 437452083 732408278 616414753 879036106 940792819 354764477 916246379 958032773 166192404 890620067 706791834 276903511 1861894 367299408 843619890 542433697 613929485 810994303 261172511 285517299 359319784 777187447 286651250 628063961 527170809 485115363 738456087 313435051 260940018 657112477 381108941 233587272 583588671 701552909 746612466 427978686 923494017 686886162 634789713 722696997 585981373 576710392 142090340 221474051 935726454 315966696 626819847 590894979 407227441 845564294 103019207 925725373 682705311 875331477 640610752 72662487 622290738 886136774 803702977 182870284 984380884 22732640 813818076 928416144 755502281 591231929 769197325 557192855 530844688 521217748 148769151 504949967 278678412 705559357 592879893 543369255 626437956 283944686 435417700 116284812 143847272 104188851 483793755 529876526 984344911 838033448 100231549 524082903 891013551 651931191 149439535 817969366 904865488 245761186 905205999 260314099 164180752 125261996 224835186 801231826 437689593 935758069 966278433 358647441 859215969 35652572 821573899 287890095 894891138 711330441 306120240 103302132 282246132 131497041 31937781 893218765 299058252 976065802 104133932 412427585 933027487 679272686 862347243 762729893 958843736 60907822 939073188 701424455 241520193 936533891 610621033 586780746 237644845 133121718 306579495 170368687 508420350 479909103 14737741 280972926 431532994 556069565 357826107 220548466 549230078 877876756 799903864 28048653 883291248 403491787 196990127 253482602 262856391 406072941 262818427 854656101 429899706 432772549 513007788 892263189 630081775 43331292 689458338 674658885 175930126 231986192 291016353 589245366 691551379 947536903 484196713 884626095 572282216 852179940 997004875 537054885 525652484 745306472 914484929 209116530 296176010 196322559 389578395 222374713 508661100 976257920 736284440 864280634 204909230 712150146 514529372 805221367 961738769 653756606 490095650 301053580 256358308 809109877 961931270 577795191 266708104 497719947 568276489 747084415 356288199 410705634 250214577 804686665 440712244 192297440 253441458 165998900 150302482 746796698 811383500 738074190 198408097 520709961 587202916 888912638 735860650 255954610 982936 805957746 958872280 378906072 988106826 964501106 952167273 109734400 272942685 236389499 765372974 519846211 318251858 840735484 572995084 643539483 948569496 179202036 560056375 553669854 594839757 966784717 80529786 273465687 355488405 533790249 72468352 683465803 960696340 154889513 75559274 376497841 837162511 743932456 30580424 272319367 319157586 496392385 444914546 541219564 18878548 688062429 618502042 271864138 503257014 826746558 978792600 709708323 119664062 510636381 272827024 831298154 513160208 834286982 573904269 779394367 575400243 128086777 858125903 315905134 239376297 189532856 701974429 199170953 168732743 541514263 676448377 420174245 394210716 132284868 776149244 322952429 919023846 452399400 338971278 507559122 673630944 992384313 451657991 798520670 808901028 784360658 462596476 874470691 581203105 873038744 962230230 404903382 220020390 816623627 321046693 225001185 817464133 747083004 59562931 622209821 76105448 617482862 966930024 88980618 23637068 199907868 930877417 969446983 40077884 721542165 421648544 276836947 732949445 17105485 725219248 898440387 289163072 323482433 642077443 884384630 624844505 270727996 940433888 661729183 28469170 358745689 577416361 83482298 394740725 512077097 731175505 11611072 200438715 180567323 667510223 118543489 403068997 520071709 169830375 234219949 889085628 140189784 348227290 469613750 531389118 720050281 738212582 949249242 964531319 27004504 139244605 784390867 445590501 209181591 681653225 739899102 582547824 854913127 361094198 517210567 944918818 664283509 992611551 287344139 585533502 47449755 140845050 497064481 197234428 432287753 831932394 343578108 413016591 330976869 13864815 324952375 288038765 657071701 787606890 234156961 700162091 36619768 8097935 420754401 997203251 976000046 446148226 485884042 145264933 775677910 63756209 638617348 105501755 866279030 625985859 967400692 806465652 555144111 54128647 502533384 435340471 322670376 209001465 598494799 198686092 495049307 44684556 362201385 446494643 194339094 676830655 481067443 345448022 304541646 212210990 448687255 683515277 461948100 373735901 937782241 823462019 182116132 725565484 455523767 74512736 692172671 540586278 955931330 799973511 561331602 210178024 439676972 213206211 201388952 664479781 182582599 761886257 430692393 452726955 579306409 269739753 473444096 860369495 548778760 417129717 536203203 135707572 57107831 816254261 538603989 701488973 827731686 670325566 134501767 362900092 311063407 274654771 396618046 599914877 902473405 586512528 199956340 539869810 521131744 945562958 648937486 643809860 978160785 808765632 189820553 76742040 336912065 360877134 354548191 259772708 517194658 472931878 509482981 565657803 480166857 221352106 724361022 621016285 200517268 999835509 810630219 230100506 469589303 468781970 10645023 996754680 456064899 240976570 932672241 472931088 435361607 269101727 712242053 834854989 436116273 816100383 692438105 425149924 581900686 711378096 192444651 316009873 798039168 563961721 661907223 519223731 936018671 715670962 229425563 991871085 422254042 923671572 523985304 6318589 689794124 552400432 398743012 534159606 142150800 973680234 337613984 838836193 177345408 466688518 890694327 471751500 68252363 441009776 844872220 572872611 135563243 878456678 186384872 483123393 99269783 126315613 124800473 995853650 424892348 358349845 940584142 122394628 898566469 492310070 780252861 738031932 406670461 657525963 257610333 438721101 791186008 600558560 113180775 275519778 111337228 387118430 436908258 770666786 577497588 210009409 11197988 773475506 411621523 377193731 204693874 246527904 676261790 641781025 201550809 738594482 791781497 676668334 404406447 394764897 999444398 133875710 547577643 142185075 197687753 807220258 889452348 287226308 566236586 370211446 615074967 141854289 48204931 323622681 239378507 362619359 332350532 852521513 953605047 318283445 557836452 122540215 630322235 814890843 553655789 832664611 273039881 80638199 993782980 868449681 737572391 79857472 796971003 977688475 401613471 955751667 43463357 800900051 674575863 107983868 540433805 504362595 428217354 973161043 235609454 179017692 240082907 740903647 261297846 605154124 98791476 274385692 944481959 533481141 17365347 629967198 451270008 812282196 977186725 350796854 670518610 394577115 140788622 904477452 722184923 702058742 585712395 494536077 141737032 146893406 197870357 275920710 956686793 694006930 287883281 275419001 696852778 941250626 99654742 361876412 353385649 158426823 351880140 46696455 241728397 410428420 190099544 242101189 87067473 416189435 561774181 255689172 728509257 770227107 284808644 162292939 650431154 979766780 611125977 606302867 179912476 794725213 996630232 578961956 661018068 274161020 50812707 614625252 420397976 402404947 302017469 518901131 176304359 286229356 927508716 394480612 923592457 112062719 481809236 132622165 430487549 865129546 388130437 888777476 846095735 955569941 45561554 212858573 578655053 763117452 930886139 167123919 295953400 707761794 831574537 173834700 691622600 11971273 182487950 419390788 419733121 91748641 592530649 29933639 541875308 23506549 958583269 964350545 533784459 772700640 871013262 7788334 475978329 592705654 631174920 738551379 491795229 539614288 309048560 376513026 43430091 961491063 155490583 976912432 368968084 425387217 280687899 796550500 822531630 164433366 516165355 681390843 208706558 588800405 13978980 449702230 393764951 471749925 870312934 100316027 279248416 297270408 704935482 891650797 324830545 114808577 314135123 1378317 743328280 888047578 289335534 163113832 521111681 471209196 414645660 896979973 112907869 707791691 183133079 229363867 647898696 628845399 722857562 474946866 858763367 814901596 978576539 378648612 978967283 525689647 700573669 438674752 192979511 34248806 237170878 108616069 245793830 54197043 740092815 625407385 193908461 824685316 605652700 813207621 941126456 272307693 453106410 203505526 389880227 600190552 192876733 377076852 415758245 476248809 564857462 504948470 219313736 907695803 422568957 549880001 581725730 905504463 182457734 887005060 4045568 858408949 883768477 637696610 496895541 1806851 459758365 967968496 410693942 989852980 33985144 295151175 324167654 287899910 850176803 754911359 82029513 277063096 293697023 350869423 823384496 344851966 4643464 361622116 582028789 972537518 437653896 276179896 712196858 182273256 220117195 170771982 43572145 613190518 533293222 974052906 254318711 207684815 68693118 774311102 937356056 31776451 269741414 645739109 721666924 356695208 172797968 306021925 391991366 970733748 340813351 264712181 977532260 652989484 776607981 903472037 283374260 308174284 415024580 901256252 813559562 822416148 263433313 969950385 632795701 917571641 106759214 558345078 816346462 546876181 234353699 748057053 758651695 352857154 23158099 264027078 367561708 131466702 185232517 100900408 504165517 499337545 835211017 798897157 237568388 111265474 924525257 488468288 380342296 606886449 616361647 524765770 506052782 138870845 827321086 730976236 327426839 652297205 407613394 487805209 896490874 878989710 377483675 823655486 951335200 755469132 921831166 397508282 352244074 97711644 224187158 633200617 631465401 30913306 958993612 894367292 722845134 729466331 80396924 733738923 561782122 434865382 77992893 722718508 660275133 822487027 270232940 788338571 446264310 630986925 157894423 203156090 295744102 892473148 737648546 488260203 972763132 829143876 930533259 156008679 245625042 705080455 340212307 322605733 188019673 782012849 333773432 502069657 844842816 290375213 616814096 774971119 466224694 654468951 124075091 817182463 77874462 201487151 90136163 436352124 908040325 893992804 561606725 24544307 310583119 770932709 430576084 634630488 631505079 768125144 848101684 377617586 576606778 430688388 184635782 906414587 172720240 99609834 350432825 700362768 638332304 218722068 171853630 80162031 572926442 932212206 384098856 638285384 174152471 394559616 733574617 209539776 166129734 677660342 465206473 854378698 36551586 976000383 450428832 329793999 659462581 915894191 383745744 202590041 5913308 777035798 213984464 936849935 489837742 866590296 533898300 562102782 83619858 690233103 910480852 793378062 877105431 77306466 971017957 572525931 106025878 185741632 529633406 790400093 385350159 799230634 825605033 548621393 567409224 531863020 582756806 283553829 745490254 873216272 333763577 514628807 919612728 205834577 670469622 677049574 287174313 506948655 404130153 713550837 299947659 322994669 788132818 848506177 132710885 564729892 254096217 348870530 154728134 998599031 628364463 638476476 442510090 403798937 838794330 181012660 589977086 317196439 690358637 154511089 97592543 716040645 34610760 743681943 889409321 688731628 903005804 160968018 857951948 239807474 511302767 447352349 317309088 448748400 106045394 243816628 632623837 438595899 759413119 723528774 790240890 762505748 786070091 540318283 134151289 327274685 339310258 314865056 679757048 793596836 326732431 980678964 923505673 946027600 192443481 743961933 19540397 860021821 218156033 798186662 501638637 739097226 971453315 404234900 934532006 373107851 643769815 951874039 79838238 361419861 13706368 556306454 951127847 774054588 573689635 779533502 404836500 560858283 549589997 850781577 54147249 309640908 11500459 19645790 842297212 816322676 530642640 804441219 242967688 868666578 52304707 432136227 629949546 560051629 176032015 37741512 196781352 384714810 591603589 592374554 500802526 382261286 164795327 931830167 198207160 474540040 642757153 115004491 193886609 298638631 346044829 537767436 909679755 435079956 706088112 111565774 906372171 290200790 277131454 671888603 165172936 818898834 670275589 352009206 683835010 103465114 307739891 21475146 595381864 379496873 271030990 980774070 297614513 184405062 195403943 594296942 261811206 336472620 386935487 993985985 916755137 241812135 467236668 394502851 243899496 538694716 295272049 354494246 65501711 590139688 351973715 648258007 551601486 156681347 781365609 110772021 680074711 710228154 152598493 763678661 222033631 93796457 32221710 78596105 866021792 612790873 295854537 540173329 488988990 298888916 89984067 813099229 12832866 442577768 468418582 212140885 664433344 842978430 65309121 136400757 306669105 821104021 74344461 958711227 318045936 544160360 462090706 792985686 338874255 24941535 962649017 565538042 838996423 116608992 624168543 664832351 444862373 557011036 263184705 232646235 322375411 407519621 828017264 201096775 681472161 917868334 627991120 242442186 419948255 186120737 367308171 715295482 770381074 97794919 333819186 737261210 733086993 369431380 883852118 971002965 70120088 75945413 250730601 99159383 877122922 77757565 814139068 637669313 617161067 825905869 626840908 763078339 512516754 528461140 82568794 161604399 116146115 510272998 648645519 762403010 760772514 875482323 130167629 61183915 755728589 712971015 447170576 127097476 834306590 650927271 762083766 77881040 464849706 888947616 139355849 989591128 916492134 641046435 578517442 168954172 618735820 677971677 979893413 305676324 252188796 26190513 921777997 676387315 388701382 822137495 418597498 534412571 810633199 90363041 324325420 775589867 614660952 806531099 51202596 941092171 644303172 258180493 255060929 611362446 766792277 317996057 953761581 552219359 726924655 679539106 561583248 872721182 31960364 92423947 859614026 180929168 782411752 176172383 56229745 85919258 125333339 276837091 407403766 33185647 264732978 246436280 414571142 815992771 32858369 114694513 941854398 137065984 794538400 457201427 687591596 289792730 638258934 105442262 784324641 656437383 858291962 340706048 420527944 955542582 214308740 761168671 487879416 842599277 643247930 673179520 171961736 253238536 651856287 668889999 917980233 935139341 988227411 924855134 836021 767426811 767588447 228605151 17637121 655256785 994518844 492216795 46045149 178453481 924165928 208808283 233350173 557021443 277827021 684268730 301315816 489531884 181871428 694974892 959602386 622916867 814079236 861563673 453522700 496371785 621518497 281537003 225059229 336479438 728506841 283476019 287357057 12784120 902147990 869079715 600466542 4101987 412572955 705898516 380750420 572099233 914538972 13744112 638304939 647140151 305347021 310656149 183366229 589201359 179483655 975187582 280945559 808072160 431497145 272369170 729024030 322018729 409055082 2073823 712577993 704051555 266750065 964424846 803359602 373464073 188991238 132658936 158328300 933048238 209135553 858754289 812405555 372115686 200393900 432300491 247661784 73702092 200302307 403964033 8085773 786531619 896400200 135437773 613153921 207065859 229099448 439039326 720006340 227875098 436990561 942747601 989085872 942293893 107193707 181429920 729056786 442598669 39632953 495210312 693497037 5668803 297191432 595196302 53184624 205445807 481464171 84063766 56454269 933886356 31333279 106529623 433549846 398140802 460642116 248298691 239084481 845133461 487056875 516547864 779174635 365176211 292746174 929376111 157100765 428719647 24138870 125415329 998434401 656854461 488535243 744298452 616278785 405307812 871198268 904076821 974759372 188312247 946251455 476530906 564157854 183219035 906963195 769619581 917767163 388197905 95147444 517107655 381977153 729798643 705285120 828639633 788878189 601763988 26205470 329217220 285006317 711688173 674324851 155040647 218346428 988286920 674109779 601968532 484622850 580898017 15007545 683051119 808409325 816870808 857708224 653340570 220475050 68317655 651661512 839221783 279502036 946323131 943179609 410652099 766578521 141129411 956250809 534543300 741549082 317028582 801690547 518852151 459124911 368405875 675153604 799230570 494704798 411146534 898028134 528694634 511567451 808318212 368060643 473498670 767064467 455694579 597624591 994283493 239314375 577844214 884403351 78771541 749176752 861853339 308893550 709125162 341815246 579191681 761750322 175518310 926410326 408473236 68756828 603303361 505241274 280327505 937498425 248738749 84386188 676740972 328878257 471058722 490079562 145453261 293502313 350113601 519570947 231080214 733598424 110007963 984464458 617023494 625250085 949893090 129167781 415732534 25794954 967345555 198388751 766818642 765719 362963169 194158540 820167002 706196509 120025309 575104236 808751830 807977234 860139395 796649273 661705792 128757929 116152229 258821468 697566675 129692337 433526905 570229173 257672303 981727397 968832181 166980508 811647592 687410817 950625005 613193492 987143404 197701725 105129529 55022551 139598053 96405598 808826860 621474082 893231034 968783441 207459205 783988533 121277215 938867287 604862372 492733898 940423205 842472412 208734410 999617803 663716338 166929466 634445956 1475891 80699949 66975883 809468683 832544374 665166454 886408261 639225162 558184108 708689311 881987927 530403141 193048631 321179567 49742303 384883809 835447008 744528523 219654841 255558087 462950936 258842492 515801805 40873271 97083554 841274623 334757935 130225051 737844166 273080460 871875356 358205303 272362351 129282872 292102733 250526196 951083920 617159825 686176852 777882895 926012276 567751434 990435432 188297266 450899438 827941644 79923878 856648261 767361218 662066504 988173353 388602092 615275764 270701923 216356277 537520644 653220403 507778410 264089959 939797935 400620828 571393663 622695424 343640271 106222168 786487741 470427962 170220761 682554847 682875665 889420658 269351099 693932436 619851430 186948700 360933896 982711503 20938792 506684523 433916302 431496301 459738691 913185374 220903154 647035757 542545472 414966021 528418613 799477679 892514109 171050153 713723457 183406795 651675355 670926718 915330796 747316712 783371533 282747386 471600314 552164222 3521655 711105993 292601096 23839169 183530615 665065990 164353355 57646143 996632134 323342675 379706336 465895534 190601979 673376044 265496620 293171270 841921625 322218742 330506230 262656127 880233672 496140037 416274380 154875027 493742575 216144211 416559127 831967497 872430346 660209441 861036164 405326848 809474471 802909455 949564267 888523304 130566358 757722993 428046552 555524676 509157275 575792960 994000906 904816490 338372103 742955345 756936525 467276640 315012219 71347907 388260027 391001366 580145974 143581285 785896544 490095754 819046588 937271146 179291803 800255617 826436833 86272072 505947122 909213905 97904213 55103312 805473141 311787031 106507177 348753366 731650754 51228057 988305650 506644932 709190450 279718414 133567348 682164442 333589519 998167784 982994846 184406057 9387350 859119235 188389058 14897035 192700826 434614424 915614868 249256068 946600070 701837324 405890440 471600321 799647117 377169285 808148396 742960057 416545541 2028244 406399317 617382604 928736955 941747154 900392829 14784368 851921902 16635095 286393138 806935630 316640561 836922612 455162705 193075365 658819464 47851726 246759243 497203667 399627947 70611971 333483207 512139512 637320455 523583142 658230879 506516935 338019386 111216757 746045236 479700038 424125595 954474912 569146217 322780571 262485859 430449204 72781409 308531087 268572988 224054791 607707763 994515212 783829735 383510932 165901824 56994962 720427378 165384264 570180688 293862312 932386215 692021703 343565136 143589635 905805168 346840566 897892312 357960061 703914622 77211052 202449644 363612502 456412590 970774237 992771967 241959173 549317647 85400772 141700501 438854194 869410736 579550593 218467275 609278497 291509983 996175082 496275338 76425772 426728400 432846498 872617738 660369048 262445328 977612326 349341590 525361299 39382140 825789898 975586817 20104935 576610763 310850678 332541628 251468938 57775824 34353253 366879930 212803761 113483344 664575102 742749460 307162018 698661011 566676441 387870785 730029348 648630170 431513080 112756125 721198016 532427017 553027290 916383106 128165674 921212012 641411925 54870040 209046615 439388241 348319545 670939844 661065835 790140248 608638105 48892616 695735072 724519031 154276321 490078355 413969405 948250503 164890278 247819439 839360117 688234701 238211884 827329903 72051216 627813860 430097408 464605440 446751648 824705409 586467065 505309954 980502107 139588781 289929564 297353429 144875916 228524927 237490436 43468274 954200554 908854964 346252060 578236656 9934354 411106428 537610563 662920946 55086154 948868369 77718120 58683314 802165899 822131997 486465786 37582826 57686096 621579258 433624952 291676686 950616531 948984215 958253261 853313266 535511779 487367394 339807511 561041025 979030044 124399992 998772722 553045797 505664171 737144169 188183136 834664401 243275961 438911440 706985655 20176088 189535411 544764655 12436298 534901941 64024502 625258033 168724583 573783615 259022788 213311791 220481206 854006891 249784683 29099493 654969593 296538545 187451920 914443965 326279532 792178779 677999848 627346468 308627929 616962232 791102829 623667310 235196711 783942994 163180864 231866869 367401811 514648683 373227238 955171295 958352485 567816111 799328039 533172091 43336841 751902331 646754295 713730991 960036592 485874350 382493892 839389338 608505266 61999286 735585245 406137399 986761466 737232588 558154 247005097 61164621 286592462 88952199 380886878 536937221 712916026 996379893 835041087 828266496 40145889 287684075 485425843 750990194 647550622 932030579 744649760 479243343 511151545 121074155 84568055 663181745 296756999 302809117 4460226 685331753 412328937 405274466 359965700 966210333 741954036 559595485 459272451 283280389 357685354 71977444 979005910 150931571 727862949 517227818 74290597 261214370 443461279 964959293 946690076 614350642 736573365 548968885 582290577 639821595 497712626 664911516 119662625 165562406 520796884 558875483 356367747 621090757 590341695 919909642 497948739 723002727 171101829 944334267 589224457 771861947 297564513 879246934 802699402 125039998 932497539 482122234 150937484 940833417 186723264 653860419 977595908 39116006 382051894 453805615 309347389 504163715 911180578 141382507 602643319 105512320 912100134 489081625 711493246 513727020 769876480 227775875 685877996 150692985 760134117 777851879 122053005 607438185 627675604 499036794 159905148 210048562 348706723 371623125 205640331 521592545 373208727 690733723 328384387 840417779 682221782 910984740 70539046 602511576 462115354 841994268 253781189 467290448 770822109 131185420 908584014 92526114 91809640 927748576 401710113 29221955 549453687 672795689 359659617 744124699 317829031 29883268 936234949 847179015 60510879 509057316 792752556 55259964 866413155 545127779 986261751 402908308 303220672 45279598 581917692 900246448 425579261 588673392 269658828 438013402 381833132 842020193 805820880 594151563 66712601 262645779 246559606 755204927 573779168 10135121 495483421 865298056 808028056 306835377 838482439 878889272 206393815 279957380 502367446 950800206 385714554 908759102 975031597 568226948 943242200 73024255 523444191 882450839 204853097 371435276 406321153 331054496 50569066 858475445 783462959 947656240 834121962 496824245 721971815 938482004 105356248 182380911 606245636 543990922 965863925 423685718 90462254 34190096 110186019 6703927 122685492 362786163 498580477 485994233 215713733 464600102 841391391 54729339 99801870 372465675 984480468 895651153 572610847 252071485 770997179 33831737 751697894 183157065 927682042 493277415 974604753 304669105 26423328 479829193 7813010 300044747 836310940 114739807 757015675 18026161 865226927 716457001 153099439 884924557 155160044 750980420 53288973 571596832 751969224 41918998 71788868 550381336 60086218 990428026 580240173 604785603 763971337 445815831 597617057 486232657 36239380 521504618 924919644 499800524 427649477 506033570 149963315 728141082 587642219 710468226 205588262 924035899 329003018 807667798 282686052 514881985 246480503 685264829 531241439 636367252 826292756 756820479 743080596 722858551 836731230 402256400 919137527 710314362 112275055 458005994 695860718 864734980 22994026 700872275 781342083 243628564 708745476 22410050 896240138 602169189 982319572 547334521 857324719 41995427 548832436 290691981 51762939 649341893 408950226 784448284 649807959 948895590 177653816 122675789 727938894 491999796 771244959 980190706 657643617 997875064 118437950 206296027 134425630 570214836 861917983 105485782 874721261 218429410 948960979 857792593 718536009 142557374 513831891 148203267 207098259 57210402 137642984 331975377 536907276 148587630 32042647 459224029 625917491 528952369 516312020 529420622 200419193 218957701 534036557 709915454 63062879 880042351 92395689 206481887 432843675 74404415 6596123 87126279 570739599 411769036 666746898 686075180 651916786 768658443 857690516 926583003 62372986 284481526 250337688 756616951 645317509 31473490 588022551 695475265 278527335 628200357 263574697 244085172 981902745 830220780 7485115 827540032 212199808 782821509 294667322 310313483 65643360 835443311 996822649 487228949 698832804 439689479 118860052 839424427 21352963 343425545 559842137 687047076 704023118 894941602 875134484 782785021 392001439 796740645 990874875 291558934 779085020 429625893 679048120 870798833 782345063 883718029 518934065 714714925 410996464 972745518 518367547 787146715 117072733 801605087 262946519 483985520 82248252 250972476 754193421 220406268 694548346 498959956 31624372 512536310 849402058 451142353 956273935 979104152 542443800 236974418 697476272 929526078 251343875 391874073 857677454 696625141 894119818 628105120 781255956 699820266 916271828 338764641 88897082 762537146 921773716 789758443 302297106 175327871 576640121 549830907 214000471 140720506 115062792 351870582 980129515 763735481 836155832 829783396 690972592 768072812 44521265 820080039 889968759 215044899 165203304 976671786 35446426 897223582 41034151 995805415 30466441 285490142 479283719 129805417 710799073 196599992 199416755 590738397 215056997 932326424 236335840 709791021 733890407 904674590 472993022 158451506 248334082 54488634 895378721 280230929 579401584 490909637 994703878 925622422 896049964 924969570 434486213 648149975 171712358 836339552 94062243 227249256 944561640 770321353 644062429 719866092 275497123 946816080 595436904 938334624 474571954 830240209 508720076 49172868 214436953 388076218 870550231 206899393 981447860 589351393 111258233 462535245 725022749 853149419 809397854 146281552 478012135 623495877 158251738 602530587 22758485 4192844 106571034 100011054 733023877 357742447 694070487 140971917 993931349 824539488 133043398 729591700 825276271 145085374 603888961 793165638 598113141 564763234 3022377 169201557 485725040 164386085 816620644 691731163 539570883 637464415 803031691 379818625 746815070 640887170 979483900 694082400 873283182 122658809 835267146 203089970 796670474 730308976 96167347 527514595 418248315 902557144 557877922 811283973 431660803 697166070 406302613 114481279 334229764 307879244 598206815 205665380 402425538 521850206 48763453 24040916 676537366 165122909 817172393 198582563 717658933 857098158 650716447 78749907 297332174 364090304 929963014 134698951 279640057 680510384 836508789 990081329 25886248 947991250 496922621 465751229 229643171 970664005 264931988 60342279 449091049 95428149 593700444 764196639 995719923 234007957 604396494 755381706 470281365 865363266 452785663 319483614 106629237 345183862 513766455 559098206 308714527 107209857 322450223 955147968 134795907 447025476 496707683 923157997 963342463 486490173 808874189 331993546 3613964 416452596 581846364 308269453 681033820 819263024 776474684 320525910 784724238 650625293 131766493 85443710 647380495 141193235 643842462 149616795 234212160 293758251 543812809 433092215 356073835 863903345 520507409 902440790 482884090 349331650 14826562 245621106 859943686 505877135 234381389 675141142 496778250 666533971 77697048 218551235 868459685 210185127 530162837 626034034 478912233 761483744 410925601 156553808 648049123 432628365 551335343 968207639 169829057 549942522 87520729 895156441 695518145 143837437 534368155 130460141 978440256 195969042 957037923 589430813 946148293 496331692 589201132 192877326 17270500 759731171 801728637 758770589 182612463 498886441 9634640 45824170 758480375 295581672 297732462 75337261 632885661 763493804 540686174 234208013 13295810 910855462 918969710 769011377 808038215 241068027 437944218 155099286 853612937 892959142 166577475 376042160 360015786 865145997 525764480 10644897 604905345 918737575 596706307 455191720 857439217 577911312 824887122 931044929 304937846 69945273 189060843 602589401 981105746 753453680 452094779 831917663 227279105 849091320 593367816 451647119 390095032 282253036 241774615 229111687 258443574 738867647 540408873 8546075 638249678 372829908 2186072 347414958 180643446 132707682 571470621 136342802 316816458 74143205 765794021 380146148 121920252 603957808 254663665 417259975 305300332 753201237 678111978 798305563 551202384 588102109 332686853 89622870 678490775 187738233 298054073 767761626 517343582 490483117 404106623 978520531 620617489 721783193 233799423 228081362 677402784 819737301 775039078 304049203 419207350 637540281 71234222 236923373 748804297 741818082 383463276 588171711 686951036 6062250 36347208 844751213 606127459 80764297 437663494 906745662 568474518 553104801 853694765 794091566 446253421 856808928 60541299 470336131 187603526 940287456 222163934 111955674 425837119 426364561 812606983 998016028 206110921 152399882 142598217 244002696 241674402 850793236 549419774 788591661 914392790 882420752 101130327 789596595 639629920 93354483 668515986 288157503 844537334 870412565 677372900 278613180 738531636 876358321 863756691 835761655 854925342 414995536 909306659 845181245 590593094 235933233 582910103 541679762 146175429 292541510 85584246 51046467 124757244 539217800 895782753 83481148 646207270 676338904 754827577 661876560 88741652 174912214 974929553 456666094 127293569 78125199 971162833 343231367 799302860 12383169 203481948 430858923 686662760 755395860 636085717 444239091 595924845 106948815 600576982 79696701 475529295 438059529 188327548 973579667 933486246 353135653 470590678 228584608 226701274 68167808 798546193 760840287 195913663 143050477 144525843 566081790 553303776 665717712 355542004 656591182 860715789 929367158 355283992 189236117 993168448 948376849 983644123 637034597 617278128 880390994 920793501 412407124 198200532 713209230 606102252 803549612 953026006 536437069 986540411 251238644 858384584 396963669 855665721 580498450 517841535 549671276 462960245 142725384 807787276 69108071 734300403 573154346 931268153 740023030 612540996 83261569 289924028 373219834 167336840 727309437 283541834 65085140 946664643 449995699 921835564 77431660 60757680 986553729 608196345 273177964 908249183 359294645 349778055 49844915 403804363 445198236 337981982 629823868 203215103 614199634 894795639 924633267 234391830 791114522 252047205 367752457 872514247 969413944 62837104 318183024 908324185 478125014 50933424 210177944 256790993 845161082 380135439 44364561 664950613 469987833 375305603 672791941 950700922 705656071 442582420 117172402 91148287 548826185 248025808 71901939 772147994 499822000 283036128 370919248 766593404 758617141 527091049 842018160 629452141 889170694 323113500 593265254 808494945 760319499 593843239 980943957 753431997 951046295 423927405 146810297 592787741 158714402 231362333 903184204 84396186 812262171 833465543 211469812 917625274 935354243 803733916 298336241 631632748 908804860 898909069 968844184 870191439 84822763 811953521 528606989 595820171 388165475 472379055 561710940 955696339 745687936 205786639 606074334 563780510 531883373 614368754 664979864 109743778 78738435 46255486 893647983 439789634 353615143 471772357 214807626 372596529 495026977 140677739 562813337 911001225 599544089 691061205 135278346 146816050 776071223 829554424 716851359 192184901 934267941 733358490 67030041 417991233 743599310 220090143 520528940 492159287 406868747 89203179 847233982 690441351 821399443 139481865 672810359 594544237 838225601 522420947 667116668 650285439 241855768 482480914 957730919 371424908 1348262 619285473 189497212 384770498 984431862 203930141 685186134 342852427 103995541 746272757 85011213 23774014 150494603 917628453 562111644 859672216 659837885 468581198 288538227 630344638 370976355 66628360 355046489 121703500 239146686 750092308 402314958 414071077 296032534 859920631 327090243 934285373 533740765 462888874 856153789 353072077 676852815 526337553 400459759 744670825 81479164 798120252 425840981 439651290 864826636 802048871 230099410 220289314 810051981 891535942 611264134 207046556 94643808 26012711 577541894 557273419 32072051 307633058 374139502 801527450 71985083 754600432 568407344 923430888 194257822 324972465 935546015 752814901 641270952 237649690 361158470 613811739 928653575 458557113 199850061 69635945 627105690 931162058 254871531 912790416 586807335 660107948 339627025 331289256 450890068 329981544 868605468 803702029 817902576 509705919 947015195 496033376 881433408 222655896 636163625 699745576 270754100 29090820 38489154 703877398 490569006 745054853 954429524 521445539 941921242 515469270 91869112 344775795 881843647 396521749 98390043 558237835 897473100 641712931 439609289 817125734 1361633 640193165 6530567 17409282 625586481 626687341 791350185 384163650 290002868 782136485 752988848 691056240 380047006 12873907 411360414 846188195 215536059 645689264 579899821 619899639 331071038 593632995 782775702 667347073 530193651 313098426 171677656 380577337 149421719 748891228 802500632 534319979 499335511 561305351 603396750 736033989 864224063 761623295 576430721 873858861 632043589 915306362 12725097 896932620 925129423 879682575 187298197 842209309 568425968 506296722 421901936 852709559 153783287 455274754 231833191 213953263 539214892 565906946 287479710 63430583 852542424 324454275 588978445 574702422 961691162 492828405 920485029 232102847 57430451 787865556 840187646 473592919 954761268 201409907 341741610 868480681 331919899 559780305 981699871 960446494 282102777 155694397 23774979 144823463 420151412 44950604 547441358 55981082 104245279 302323882 307817683 208040204 584596572 728656881 745554121 401074905 662483101 615285760 398577145 295771801 425903970 436745231 842757245 254921617 913705945 385426253 795699730 16668410 978477814 995380164 945280484 787740141 343268920 992315926 214061775 920137544 109177454 234130296 801831457 778965877 398541545 754736371 40068209 434591775 967105040 907128751 332239866 213085285 45937515 167542156 687693767 697290189 140865903 70341432 151833210 702890344 905828074 775128439 179881324 168335732 539955172 520426167 102846644 503102971 936035131 428837740 123329981 741519513 509593696 784034971 697800044 904506130 497860016 715267694 237421193 205399251 303461050 437622972 441515594 879191365 738497904 533776503 306630749 279099170 872950474 628089065 100081957 974888438 278274339 495328046 188986330 517885929 887656125 95922326 912351114 972400035 763156638 62178788 33394275 129733736 115875028 253253632 150899265 102007905 803602510 814466464 682216576 434848168 841975772 647903548 725087744 987630325 108714895 532664984 698798411 958832477 806475365 347572353 737199333 94334801 560888295 72787451 866453242 641319765 793416579 500617318 21752310 139887870 591115562 549446693 760255839 555586021 705837940 624332831 976911048 374283646 492643490 732499129 137155602 83563030 770716712 309300108 488277769 825005378 718311905 4895612 218549694 733110006 884960746 661785628 805449678 841114300 394141915 920950244 985329790 774089129 134393684 57434447 897573569 841955671 771641941 528513709 384969698 605174644 589891536 682705145 402796558 572748962 721069906 317656462 125676608 196468637 896020309 285434609 56171362 77787518 880043609 57045009 400627589 336753074 89382757 809904437 980901551 99790729 20600698 621524882 666207800 859234063 7230041 68730729 379986071 234563838 406202290 975366084 60445975 665231921 918771183 499643436 757103690 641689034 949570503 321231288 20611553 115888880 234193450 167955931 812272285 900788967 398325769 60180192 466203599 521126599 276821886 56311008 752538545 817813493 417002715 269850213 472758769 224426691 112716097 519067205 66615017 655042775 400772029 865151043 155129756 453499019 465438190 885908075 613789728 436763385 382963267 721965697 631476106 713534248 324468712 808730539 701306909 903949924 927716494 63384813 400961703 149217591 930369630 950409855 179199242 900188581 824015303 114410505 40808269 840847677 465316333 960276839 991391296 544442857 806428696 508253783 629311074 135186297 254038485 158762174 55308646 956438629 709157477 590400159 412547395 636673061 466253967 433989325 289268896 802495386 952142117 342007900 577062386 875631891 719444221 135962016 188849470 254386905 139632944 194583042 584077708 313478823 83303512 869185689 293695045 847843999 864729962 351784531 522229259 550260893 291027536 652781523 909724002 339999072 797724924 948517115 328855757 170647926 542448623 178333909 637286015 915857967 966861144 966404436 570790656 842386399 937781602 362877957 824077007 795855799 671134218 285506650 65820830 801752758 793640045 710111330 351435326 876610435 842684014 841343244 362487102 797263403 637016686 21533947 613718628 776085695 521918645 827943540 468708924 521011287 655704877 322571554 555464596 171082980 976258283 366397211 15143244 401908250 642413639 998641765 32620441 225257382 720978415 918899836 375039980 802393100 908727176 517331746 127163894 846439740 866160976 712280371 687278897 370398279 646754797 404296368 599620934 367608109 100628127 818886165 838369928 258968000 643191685 388505211 416656366 849490570 861765666 323785140 869162216 715570211 636012005 186941064 690245595 454920907 255967032 115724605 212582089 108184301 365045739 780181344 63523396 574567243 253273013 141675368 397772020 796120661 466304119 596372747 347466564 683339564 336104806 640942992 415299542 906884755 335498682 410544226 775207622 26191345 971424930 952680541 336289485 192070595 292386411 506374103 340399609 425743070 933192469 301537174 650463727 741267790 286298122 533279165 83423197 633787574 774816657 507754306 543224629 736955373 527903742 164910139 644291346 571032228 370143023 907910950 698653237 124427110 931174719 205870974 828083483 853870464 824431919 643871609 488807634 106608435 357410697 839600753 533399738 609470642 520216974 880858675 586504420 430728842 827026997 669398556 450160755 308245467 668388512 471377284 237545886 944784796 635975641 813647580 412058195 937486776 104970036 670128143 682474616 423878889 205181312 340035580 378906109 995714600 808167625 994638335 780685969 548922519 85639829 743576849 969943691 407673279 795294306 621256313 56244388 646574074 302484285 268491803 805161507 265603504 490530871 918536581 478918818 718599477 391065353 4607958 372162584 440209028 883460213 447466453 438561435 421708777 952367121 899410780 298994819 824110626 117103225 240286593 691454626 821428692 643030890 454883158 968968099 66135483 76596832 331054726 551219952 856566328 427035776 367209218 616995467 927814703 28702367 130241841 967209360 760248997 176086650 404513218 92135419 162281895 597782865 356827044 599602744 715106088 676375073 723073288 161149673 567350649 802991857 623403884 327067857 550445552 448622757 818034497 349846813 682620571 421291776 242027790 242443352 383686819 41854302 421891176 981700775 330468504 301943241 16422744 609683744 481236494 224150207 120146737 50324665 697348023 345250781 313684167 229052596 458122074 316564665 374781513 958941924 820665257 576596186 692565830 760843133 798073354 93934213 579822328 187352853 634425846 638358436 33707263 334653323 677341649 328742197 145990924 742780114 574483384 387585706 503239968 407928842 690561733 104716831 845273001 57265136 347202314 696248522 450980999 799568163 198528956 822031913 449508164 186944423 811940347 397352632 377266153 947048389 927313220 438872902 471024541 144599180 648548488 615469053 243590362 329711190 848640128 209357248 54361415 812481314 995431660 889930589 577977218 698718158 594910420 287520735 90120161 400753860 792932416 514261702 640542629 252832230 327194669 436175015 600590586 146497815 878913757 841309283 623089348 938247197 665961844 853483425 214666433 800951696 98862489 686030224 757952986 834505542 921159130 167753399 842549747 445932602 399019773 951005519 547895440 382166886 29311073 622359489 267671710 438081044 634796551 159155934 435515963 238679419 56825277 549749128 14454460 140202035 286663979 600382366 559171856 682473506 274446942 843897864 108870930 291722309 911066287 545143697 841690199 168893791 805349478 852372733 634365895 377268401 750783744 481841448 800909311 507943411 174831094 471948637 528316965 116892043 40216175 852466358 926029933 676551524 864950568 757166645 599849617 59466362 647045964 834877190 693159311 684530079 563186391 541034165 58337891 354734339 438080338 402436192 553433135 536060812 982764994 195799595 601548796 152032083 620046321 941332591 174698745 789659403 819487685 840234559 399057216 632316866 625769559 776141194 529305740 390766295 444312101 161110980 497433032 539773494 864257838 784217002 370897133 288529386 683650284 68256043 656399546 28526690 188975859 456178808 188370621 354178767 661061157 862718368 360343246 773344505 817534613 907819356 548266732 405498331 235394892 566513576 850387158 577533932 160837599 695594712 459395629 590543120 614046815 579319571 127541789 805106842 540740800 602762971 702836559 964474833 283759390 291571538 831168868 909671692 284179650 135408162 57917954 135466688 578636831 489628678 721981797 66734129 99487366 762334420 855341197 627713708 187388297 774493023 585527788 371718444 763266877 563860747 861494850 369100775 197630552 878828991 400801597 605717538 860993537 311574917 445271259 217238165 117714278 829159329 245747356 505899833 995903340 511008038 635726504 434021777 748757834 170389495 718536040 212149539 895071651 783973597 807959903 980671580 601540527 721596246 190713239 879380195 751727975 311613552 580185126 215287991 304224246 294919304 191928534 641335389 20638569 405725666 102636796 130990340 129225793 225948759 300116918 815323840 218437361 67052681 843567169 853407734 739969774 559499592 140619140 389297968 125631643 883134651 351582598 523288936 740624867 489906740 110222947 21737045 197099356 624733000 607824865 634906602 333919331 814569232 613315264 807687996 565612176 279702901 53808357 957044100 807331967 966108335 332256454 564968964 848393872 399808867 910545451 669150754 944175665 588415293 122337235 823317005 433167242 220306086 748736073 121494499 933743789 137995451 653074679 233246991 831804194 425326659 832366744 769598528 165102327 296179448 5817262 873026573 894520419 756252374 452268778 455356133 306558263 104017509 148643778 495322398 314491322 358537642 19976614 412095150 25189518 116631428 803438773 685395498 604999880 290928290 861178630 554614815 715551275 888519514 283011253 514097943 511936458 285438307 627885822 815334008 74763993 13494477 444325961 991852733 445516474 763183656 575365451 839096790 899281497 919777063 815024655 291191446 237588382 673397941 701838199 202973250 64335292 329230907 538855620 207000887 179977505 390598103 407680258 423384039 883064857 293975759 272001636 622154074 679224064 421515645 71260777 476447590 149374781 10547634 263572640 596675159 254716874 122237520 525643463 970024137 151878206 690137099 233696820 321113903 400419948 140666875 225668878 449592781 930003272 757540700 369407903 172987665 986811371 437838590 468270520 469614950 337217237 432257648 624281963 897420354 335530170 754027524 148996561 209333503 519616886 626938281 86612251 340814893 434908359 354076912 306741439 854901207 520583761 807415102 63867345 678139879 871046755 599567006 749625166 892888751 260902553 39080122 682121576 204794591 195818867 382396911 490052997 170763766 822585125 437088761 733025737 556258659 153462081 379986623 820857433 523317770 491403734 911567666 194848787 67085905 648355084 500586692 749144767 78337426 151249291 451856350 948913361 229201183 129084827 2407926 743147896 512830880 728759571 694194707 175874696 430187709 93560917 626048465 244378695 346048025 432081363 987980450 970051822 806661965 661539873 462721446 933623259 262132286 937203924 854456400 882746398 378463774 755080733 288445371 958530265 804529896 981960491 933342835 524811399 833740018 108143175 19035131 838769763 819897297 182419494 622029991 721421068 929675518 984157141 779610168 206075722 259550919 550606578 97630007 419215939 440171767 755374930 424661962 357893082 869908723 129409210 34148393 474669369 403161735 4786672 201768252 119642736 249224780 509195764 728393817 939890770 968114088 541562782 813410881 181012190 176822489 445460758 522193784 866276953 217756690 298895398 147125553 760184180 609360578 792163361 336449721 968916589 310984100 207460314 916999337 534402004 487605647 844163935 574349782 902113699 237140801 865675148 309697761 465739791 497793708 27635401 257374864 960788383 504599325 342770533 946954453 678830029 326980797 992166202 334481445 354152311 636333597 665225321 84388048 445566222 628561821 726753788 188217128 980653519 611561072 498563193 656180299 164400703 827175240 446964665 60648418 269573653 207190029 81880091 997682738 11459728 58388058 247475413 932639153 864817993 52311007 115126546 862634380 738440381 558482073 255142990 725028388 304242995 542281750 367066755 267536585 310382356 656293513 903649589 102506168 461132943 510272508 410379500 431124655 704537448 401213269 702527726 515715585 599797489 163277179 805468867 415631358 556505164 487733693 130934411 312860452 461188912 109124366 648363910 173463686 870950210 56957914 809519239 729178688 386114034 487503141 906178370 814471623 479567171 950653347 650066884 513364169 442948285 140671076 566329082 119883877 388687421 866115292 857756414 396204659 370137090 898782611 958010858 42235308 949470008 600551713 64161713 775417741 216642885 467843529 30344363 427582840 530473410 767366981 375001968 200482080 471940741 345147601 721449553 138316985 976194345 815800813 341034945 870064529 727200036 99126653 758291737 199699527 590095929 985921535 817455095 168410286 47435975 696112920 948206104 591318242 212378401 516765087 380794270 996451666 222231760 327377955 77379160 136440862 12089438 517463501 123074743 701150931 532983940 847036435 964673492 885527012 996799093 770280546 32210840 948289546 367332095 890743232 399900760 834911618 291323639 892869848 164404602 134842182 231235056 531812480 886200119 884218 836239184 521630630 831031722 400544048 545451472 959663718 366925288 996523471 167921764 563801763 31270082 774230153 765818129 191926855 39032617 283808273 857384164 685673977 635900149 117710764 542126656 923232911 274051586 785491021 908773889 398195451 986700791 994440346 354377418 24447369 414148627 454774343 277560468 638687311 839281897 830020028 850922874 319347878 324455092 452690545 528085689 438662885 390149210 21562168 827261693 45525506 931675991 545075735 83621393 237539817 885521479 100978144 254604917 163157751 717404055 963677268 453635794 819410575 979545039 903303304 179437090 886234341 567934404 414125592 116917319 418350133 618640991 524903883 38614128 268344389 901409143 348045109 508310740 772279965 756570927 679442404 216842781 953389799 208805552 972753917 774724612 434918481 127865459 316142809 572532094 922350803 859552466 135655788 478033170 245775694 940154503 997483994 937783483 374838651 577368888 368549831 772272715 431145715 905653180 495295545 946887817 63258069 295077303 341032298 9080719 869208393 318948098 451823822 330993278 855360071 644524897 183975517 682177779 227918103 815146328 23858678 483089277 129029040 882287957 846496758 964636797 299977465 501410753 173300382 713576408 420957353 860627039 468802590 337189385 124224680 216097807 388354435 456862414 412721209 663141590 963284685 863909125 45652323 996552426 566377337 749927603 657250585 697354122 263136175 351370412 235664161 437208111 524456879 981907153 999621791 715641163 234849367 610049285 759194922 342053473 571814094 874027299 939508601 600308774 660389920 244566132 530611982 307485545 663082626 346847975 930186103 1019047 422243336 359248766 31791260 854343979 417778602 281786814 520818196 263416009 741430816 212852268 121473572 584450164 491647732 403994101 219887028 255156351 122857430 128711665 415285160 85365592 270440555 446320799 938734403 89100861 462436245 388304022 297657297 400258087 333337657 238177145 879225350 734212481 114402979 925507397 387955489 816086016 933472883 719990525 11446783 820591444 596510741 265195692 770516905 289647217 876549092 646804818 968728502 80604072 36886761 838911514 695762515 208014640 513355333 121931073 436262953 762201774 838306688 871587743 417334506 459600695 398540646 870822573 542676108 381642128 961925326 405983321 784793864 700854 101951414 909181064 78759178 847260942 359670801 132754393 719801468 153157255 482837223 66039475 112862940 838445679 384958535 304636109 203421770 392094492 386087463 529376519 972045906 111389435 110650122 765680829 997617452 931706773 39744730 598451277 472881104 21212959 870138550 368831045 439262380 761035338 417379829 958110125 806018799 623762369 255662830 289831699 235447508 997576693 826203328 115008403 201117151 642978805 923441797 130613843 748177272 391043019 124063668 738289197 424448828 103379100 597758529 393132268 365954187 422928614 874103161 735197909 58352147 738570294 701568753 824854082 158847699 860274572 111602246 262355211 645295576 235373749 93608671 633374738 415640639 299076622 271579645 519104681 305850881 802637549 445025198 964083838 811689057 811679154 236829156 958218476 694509856 827943960 874557129 44055237 508734681 250669002 83819597 756908083 177693915 194582635 498377419 853389279 156377343 468578907 330649001 559536716 112647901 43807845 697584862 308384111 77893423 992184188 428809088 160060606 940286457 836318701 322481787 419800507 514356647 762280346 377348303 95843033 150243612 939326003 623336264 926833137 88957527 673963843 69349871 740010276 401928738 362473481 1393576 839645426 821225067 892373082 243658157 579183551 222475883 536143244 977531351 810586949 985959216 585744532 273678112 130173297 604499448 321200327 420875741 292805458 559757042 307762629 705639877 442963701 293498906 291806767 834406095 865112717 796113660 917363809 650750668 251460264 525141155 809409564 247000065 707808464 231486604 819282669 322145107 801552936 591207254 756302664 958519671 216158832 655336554 897923277 755001630 781260200 622268147 848046604 378146693 579327707 256720880 978357687 682877561 940235601 224731624 939027876 4296391 964508424 66561176 488906748 626519161 686256270 943025549 563268001 513700980 359444248 973898737 730646263 52542101 616878502 63205148 121814802 749474683 592273353 76267498 715523324 99279888 995510499 791159278 564006089 362224929 380281969 845054407 896951747 422324198 174151696 834045728 363801149 231378160 868154567 653032918 721136056 97762173 956896732 447758044 197495401 365935391 135115179 834971057 366711341 819752223 780225523 929555427 391225749 363351502 252269170 502262395 214454603 57063533 416833823 572276992 337306472 44768943 567712816 269814890 979974218 913045584 219061049 5058384 592037976 964924355 706711118 853015647 28246750 206621021 551296084 21002062 501584720 284781627 584853907 246802090 759563958 643549829 97069080 229744351 334721499 857839707 823043276 311568609 813996682 555271306 965543691 69890513 774182327 532689283 915172562 372824231 841277629 114863197 435897365 990299952 445809259 188977734 594885064 973304074 595220142 46524010 517174888 693073652 780200866 210638237 55030051 979068557 986167577 561501600 404711982 207476155 17300758 287662811 572097880 419112586 529315858 998219782 636189037 399814262 825930449 858598864 110762804 431363355 401841560 545762306 275125135 47100416 590658470 908089436 556416305 730767842 787151576 486576232 865100855 475123493 516690820 429324179 796836534 260014433 335286070 538432807 914904087 501408202 646372891 120797718 962270224 306255388 120913273 546039040 686401134 550034775 121049780 970502434 141666644 526917191 891663821 709947110 428010421 496079601 891030442 845430915 33804174 27930900 688934253 997540893 189474502 851640996 553026247 712555538 174348399 396607812 217996052 408790843 11652558 243207054 352030456 3211340 750720480 523868527 302584529 867086581 728419892 397236785 646939355 477081687 397593190 796460182 680138340 343755126 162692253 666602761 209078595 121959732 183337649 406831158 908700823 604043956 699684449 673142844 451543954 649130272 240099318 647309985 33384650 596879592 52941795 403310333 288721869 495213078 560216088 552733434 833414828 529698507 176512213 670166797 679171604 866431576 295220236 485052215 564977636 878087702 655268553 612490477 312201714 487630634 157941252 199898996 564524587 138726274 891820429 131928626 212896259 339558161 961289683 142026627 746667674 660052918 373650535 691480314 516127605 723987157 849709563 741785342 104367533 14795015 125864926 715311603 889570555 641485720 867889930 816589247 724409590 658266689 355177706 467383002 661546664 32512321 714107471 174680047 922109643 529305586 105482481 331702272 665475542 259625280 90613293 838387564 78475352 376935263 887196589 788596874 738371279 292262601 817281328 690353433 707231990 962436126 164825262 3384714 663862848 473126170 528474654 504335970 683937581 630925724 182630280 528831902 93614107 269432401 518962229 570563746 224095796 566349002 447547693 668322171 502539327 183367374 672546138 547608295 350569909 246177582 896479496 755626936 723043363 858089053 241836960 752742975 321856295 900791539 307845081 334119919 255688709 245155103 988334246 16842436 116918668 521450877 828752079 989814849 802677134 272246837 437433585 637504597 750702529 541838744 947228886 505648377 609937500 963466653 263004455 582773928 486972291 4973915 33605856 755811561 343055674 407011194 736420213 494827657 331924381 152482278 500596707 524722250 390538694 466318954 311260841 820345664 128209562 679461640 541433230 972252068 762981049 105462403 755701260 259938284 615298053 953969469 782002281 17173373 225346013 597658529 763004572 16508361 899543732 313410530 760261991 822788734 980071431 865729863 779816466 260397652 566634974 17227788 791168967 967649251 25487172 936735332 588197273 26308617 150396843 99692464 962249653 330026325 342202046 270699866 169985077 370611847 583068924 836756865 487155586 260369381 323915873 654669469 461047948 187388413 8879953 876000298 679734956 389358496 296983053 830639147 174031502 605299462 352859976 64269129 623961384 288528679 812441396 131289958 984434633 392951737 291607935 436273794 876634918 651927236 8231330 200069341 159123607 924512527 722261330 109967056 199915407 242537946 403323972 638147841 856894682 624310563 699285999 455790342 696271226 77571192 362682751 655932725 145344017 475168470 431421139 371135777 336818932 542936050 885821812 863068867 756018435 675922363 359012595 680016139 982692631 317671701 250042521 89257066 652011482 666217991 371911047 561672473 635777482 789924050 8511320 827747700 443068813 209625453 738070995 945118190 199988695 1598936 342800597 927250281 386667729 516383598 993549783 668976876 424384485 630587968 159236279 588570649 813098377 663076659 478145796 55007584 531725955 898059756 914531940 312210857 883332271 476524549 358358416 326493430 964408327 462266244 408778239 662216419 190317408 72413971 930753884 99351816 727892861 119252223 487404369 801950760 520303068 174440514 75498719 94302250 262866433 253511052 990210753 449415467 429023126 103704043 677957333 160482907 47432390 606226149 16122368 476010071 834525331 95851144 439717124 314524365 291639014 637023908 244486630 89310319 528157721 562270548 555573600 992662175 924759071 236443680 302088930 237487245 131132677 590777855 653435353 568313691 552915540 823342088 823635679 734196736 166881209 393788741 109890019 303747455 871041975 848258944 387810489 761004596 114342546 427411158 404499307 303402632 702719923 360836113 609072836 885419133 496732203 193869354 802250756 63182512 528004161 935908489 593992918 169654091 930479701 55542110 586846401 166826733 300263411 530994551 135192845 896727110 977292322 242599473 785114114 699081188 302199052 959680082 545897615 829038888 719913105 583242216 940881421 780436964 664903452 651480546 226940095 293207001 867813706 273185523 231332249 570095038 109930755 700229159 933839840 65045635 411847212 921043305 317437792 609658562 396071531 710372714 535252761 102954469 474738652 285424417 840826781 32389231 367089409 761259647 605884595 312521181 985435063 509947086 513785412 138092689 255784894 946278545 260444135 721464511 782112576 844627845 514218157 587244075 423124187 385301607 746394116 809250278 913191694 416436849 925088406 868390831 483103793 715035080 312787136 19738396 235539966 825766142 811898941 689799345 210924745 284843612 303622450 420052744 829512237 844230959 145934581 347318526 936168339 925877860 289350247 787105308 935757621 417976311 49420223 643931325 965463732 932595517 432772498 227663488 635793103 976945465 356497609 662999403 774165346 601668341 907273145 575338646 724235153 183505052 406407360 51410421 714241284 932576302 343560551 567052210 559271819 604866954 141807310 688076196 218918924 705843719 513981646 946982164 861416809 841413227 359033447 129542616 463313002 149837697 939518261 243478633 743905452 500651486 156062935 738625588 333225316 339573097 164555953 535496519 250398517 93771086 208832618 856806656 539986866 202965676 483719037 610511336 441235888 805647355 912837411 141053012 742212599 288951158 352280524 214041118 384192885 108984903 999420842 45314569 392332438 512553774 436539172 363419179 79850780 272058668 217498364 823459439 310409462 502415664 967595117 158533985 732637060 360621606 67898492 508202938 869859618 725107505 703847322 611308678 72800791 527234949 458347968 124617152 584368145 432599081 70170065 236514453 79017010 705334863 262117521 293458840 674732849 191486014 332488055 217024338 307240497 651171787 336364015 323843521 204202494 593804313 958427770 341068456 320210207 446371086 354468950 623922374 138974669 703208374 294296865 74604768 238624833 911181586 526789905 408561976 282206537 8491957 325155706 795421567 988615156 187812166 781408845 141968265 152510009 138609654 752631142 806525183 636643623 361040704 988219057 584718403 802779138 808410995 862605057 256096355 160276263 785068917 680270776 34383070 998379327 45828994 463151550 639820953 369871162 776676706 807735517 63116723 923046439 94723306 846404681 518553466 747164212 715927147 891843943 821640450 219658673 407440559 631975371 730566220 93407825 399888015 105516858 405115322 781712020 265677660 488034018 387403217 368854384 387119360 297400101 187515908 627427274 566264200 910894232 797400316 168893987 842729437 186396037 547205505 601137171 885501868 160740867 258701414 548575602 328979549 433334477 352059562 281597373 128155011 345057717 121057845 501754117 234743015 766280093 722969744 725161919 476826552 679117967 668459884 795489076 251525143 818520875 697197881 853678758 94495205 470276 347272963 771186574 188968516 49646364 612430001 352007386 340095087 117945787 145844957 351582145 159621904 39099930 881064441 417374353 239260371 832518566 419259966 301038712 108053130 10348720 483683977 986037614 231942119 674994610 617542645 343971954 676184453 433317058 419585500 872265003 435843568 747471225 847404897 878311607 624880010 739924554 393337878 753426734 221500542 270390801 845310642 403675551 756555658 908394809 690908581 37401337 679799009 176138361 899229217 13021883 163882382 192123962 294046371 58322962 699650323 792040951 544569513 595943165 232704781 853301142 52840068 567687115 397950464 866021967 596214080 504475191 712400744 270166194 535667089 339382994 842178439 450428464 382620458 402186378 294020674 279702289 966403678 459580375 101044900 97582414 196496130 263471869 20442201 748537580 192548690 922480138 330896168 389743598 658849250 733969360 98442177 280105998 501578369 320756545 362886727 811565169 803808168 754640328 248675972 753256054 314456187 60870092 741472815 558733514 506386386 629238397 953235622 207903744 439508234 45953206 691551362 752487957 643557341 176129703 775987250 344802975 98845344 797866901 719929389 23685076 236012246 268905114 424861957 705755405 655977554 98716928 727043480 529702864 109893651 544392243 861798248 779288460 324276724 723480916 727340959 124294778 228394218 527482849 756183569 301212554 836927597 741470769 497631715 839172488 833740759 211785407 577621909 628690925 837932500 52906726 654346947 715030263 112819448 865288680 725102817 295773663 34709871 767168584 105604967 407575489 22178694 198850079 969394479 26593314 654013909 922019918 791340090 931328796 922538236 537223980 942242631 186533323 994380342 575228710 160153918 365495761 926920644 148319146 624853834 333697035 574560676 397157658 500174490 942327660 312192108 785126308 594521624 589824975 633676120 292676011 709989497 407144888 353285484 858617158 430850289 144954508 430945365 261236070 330999384 844621606 288673820 634571210 442236776 629388420 32099365 410477527 239661630 555783146 76685254 501405418 189159486 208578364 297397659 749230549 766894344 272377819 510154330 498777423 489943561 341984334 447883355 334870388 605865785 949527067 171030314 182858462 263619737 907048694 324644926 750166624 70809183 783964462 444523456 50451929 888841901 969638048 598600491 431954325 461039355 713587208 284988992 553271665 792703006 655786976 229136511 968983759 295692104 533364190 395550615 32432042 533344295 187043317 66431547 377592694 574404075 960636875 62050736 163138806 209137946 642495880 775256892 7832497 804060156 862990464 672996442 360327823 835739623 626307464 873915502 37595923 302585688 878790171 562902042 992654161 115582653 925553626 157243880 656542363 71453778 371930289 134033991 210185267 324504288 249929479 330259008 203825824 117656117 611313965 931873639 645803580 530065029 412050642 839635347 807401159 835369663 637626052 882496537 835720467 684324598 473520482 496428510 971158554 54244072 476520778 437546833 836852490 435751874 878362353 121083774 352831408 411030762 250428833 394978902 545285615 528895864 304926677 190796830 881325593 16272487 879623637 18415808 904316829 682116237 549791491 480980289 542586788 457210443 734825602 304023388 797147034 955336211 287619703 898942083 348589055 659905157 833174499 503040189 398638321 835949608 456839420 561800501 666539361 986308402 847023961 298112585 542810662 937987729 959701464 501955558 248949286 623842300 426348208 628626052 539788339 597466732 870191825 177433035 658315789 940619361 901477092 309095722 744656368 158492186 324612860 665911976 556160302 50395107 837882622 310407128 699179142 387275529 429550338 640989723 87682023 760008510 663065017 562943813 159672166 683813725 252035516 771074250 322411681 912429155 389877642 659047992 693529825 258580300 848444417 766379050 319157563 836597576 308159445 754624013 268502933 720733313 880753286 745704509 875747658 646461565 530282330 263679354 624925507 620437840 140679923 604237195 928765264 668393428 348252079 481236665 937553868 595304416 948900387 497902788 199105336 738397176 806327557 31443792 573668872 777057636 257223564 602624725 485126689 636514479 619259175 376869832 146615774 18650977 803503976 145340372 397759724 556099374 563543780 403239549 201264467 50775984 398503842 481407209 185574984 608121620 520120008 489307563 874398752 424885245 557663209 448447950 162307936 709794361 112192072 849873151 179761434 803903339 223916162 888484549 823124479 781871713 407223877 967412732 360902591 869421110 691017051 616824271 93703449 795283499 604943002 812131069 247994123 996360058 964155782 497503598 245049363 953085526 966079817 614474512 58274328 905942090 560492240 932539435 997292863 706927389 799089002 98943976 880146298 326114020 573113645 32724429 503620067 421100281 654786444 478282166 860960549 790046382 841260492 172294703 154954805 279298460 967938933 311049528 335650484 330371924 722462291 316302079 903512782 80709830 682825936 152575023 409332987 386435225 225181600 372345054 686307389 576140094 587919486 995207593 980501959 699488857 201376861 337931886 519098400 696552732 727685572 703777482 460607421 336848831 360708517 307643462 887194258 89793761 52972041 817403172 960749299 59067244 718378330 53684247 231303364 829238573 624553293 478019757 564308810 929165622 5248853 593723265 957247109 278922478 68201973 709220008 101644205 261589631 214300238 172832360 651457148 155146127 212584852 294474053 806524508 629627772 378753256 812392370 686867910 199661878 794477864 370718976 148060525 733429955 512691676 881706922 287094380 288115009 614581562 784911491 661505323 653830950 399032086 192397860 803706663 743057771 559946483 945866852 128522673 389008973 563929080 95998809 980917536 121995036 67525231 584826166 726689609 550715140 36517932 252215550 573011698 309721613 109691046 366668216 894278865 584854333 356835528 596628420 408557653 126504228 313518203 427413486 920081915 46530014 900955265 181175063 590560792 608526085 276383469 935421584 56330592 657870295 476390541 913809573 652838963 97864572 482512430 153219899 271504068 877858518 483344252 709104703 826501609 238591797 396620280 238930432 607323587 777527273 206144275 516740472 337950514 463721810 81437679 187822866 115056796 371146031 763612018 876426626 396897010 79312458 570655383 522916374 453981949 920689545 241851876 610082848 136868389 164654830 245219216 17260540 82209320 491985092 45095079 936662178 52009384 527808710 503769219 80287676 232766275 464072573 260105963 865397190 73892055 857393546 2925729 665395786 773160617 256836719 306549960 817572856 267529727 667263705 355779661 151485167 864604573 122709090 3001892 637819831 177183782 910953618 303274309 286095577 53292867 962032264 871444499 640896270 504840568 539600726 809436417 562486751 822353058 162876862 175309967 429213094 581423256 862739250 611565170 89212314 277015246 753547337 268295622 298692590 558537085 656879669 238909412 235401968 397187062 701927426 959666618 248259065 793788651 211239857 254723802 455859350 558304871 998089375 292106177 907525754 659711670 68978296 65631209 692524727 337642589 497572983 109501778 685532510 393985415 453651389 285116583 481455441 569140032 467059053 880319238 754446116 202371125 267539088 875571328 724900290 330565928 329682646 228211638 349402374 710158616 76584698 673147082 641145494 261874703 849931053 524257010 711578038 169631408 107747344 663462105 659548391 386601885 700688320 263972958 40291169 950240023 142487014 943649988 478469398 209148992 966861660 863033034 649012897 309373886 687651628 226289676 689744186 676757817 714062475 10456608 157172846 716384813 118201923 553798564 947317023 168147206 97471058 470739640 740728890 143188467 502739644 39897454 896395805 531813979 734036090 393743602 2668519 351803286 435844180 524947522 332558365 88174563 701450596 562259951 370343697 964803576 434810365 303151560 627520362 83332111 188350716 365448049 146317367 613765675 996938323 462725466 535547306 914282548 709690848 589227701 28142383 474651732 175642258 97781163 280944091 945959955 785034288 438810849 452353512 612444981 120144027 885226463 703583204 244496985 144489192 568419450 416565478 303454324 87616115 548508781 574355221 928744449 406302272 756713485 572973725 741882707 590463010 226757651 577186150 369292470 284892680 94064113 730233858 878658474 876097348 221796095 760313407 656755215 866868208 430864444 895054339 678560436 286611485 240501666 706359188 554191495 609107365 591191755 179743046 977616940 258426528 878188652 796149236 612502206 913412771 540343514 482270689 556743230 402741336 373861533 472365209 136094750 62365006 691190048 791660525 304584685 932615611 723697295 42100569 860297400 768174001 79228066 198999539 646139888 297654374 105073106 849881611 714300752 571221535 625669973 572281613 763400662 556914941 475778478 628287274 176582737 136086842 572844806 955475383 709143878 900426617 882848711 812403322 788432678 265806506 109403752 518868410 784169667 671033571 417269610 976705471 948291251 782883272 945920022 658368621 474093321 95834201 802351911 605305311 649260648 910445206 671053765 881208962 587175581 384486539 900200532 642407821 921121083 707484347 778548411 736952413 200815511 551960486 882859003 948751779 561934297 919162292 327200127 817619749 405818697 152022054 725243295 752864600 769222331 622176515 265262290 549196013 446309593 527210388 122188211 565423848 945469443 235111669 322526346 841028810 559546790 953490299 386464835 575644239 273979319 681306326 875353909 196676053 8789403 103112804 667578649 985403758 857647196 356311119 997609109 564375548 993254021 177722084 753999915 152593439 314496029 308545082 465851664 283181221 390984274 775800700 655708623 585833440 290559811 429431978 155021893 417040152 549091577 111020021 660476890 528761040 756211218 974084010 245040545 494521998 804843347 429670082 249620666 98697859 907228988 408778895 890665276 567585766 44957570 207470958 384810334 252306540 303079364 360889502 28609373 688299422 124096644 467228949 703623781 737281353 359683892 656879179 479945658 751276417 905246236 774283000 877744050 829246511 534257716 786907304 76693097 290670590 959620197 406474113 735471856 983414879 741252544 878707620 757692828 707357255 558947213 718485082 408028119 350169388 840106356 551357806 273447889 770411284 594903183 976345894 158130240 308636684 387771724 67160569 91862986 888134789 811077818 104973104 342471513 430790652 165597537 239642345 56999351 505362900 965823249 92968388 638771064 813182876 558434923 192284613 759217477 809614607 305276420 148189398 410337312 792530519 439444583 673816630 434637822 155000547 431535579 196539273 303858885 89955736 68067718 525453340 918156030 514864340 571748567 940777355 534973258 274940815 966143623 475066308 669413082 894295513 992742825 403965035 610316565 290237627 357910876 46855384 982345526 911499537 614927822 648611955 457921623 295241449 479140947 228090365 86401478 978983166 57411006 165462508 794374209 443661541 856130976 863359630 854194698 420055952 979010364 734682482 19045528 8438572 832655838 66160438 558557930 512327712 325120437 58447367 785052746 328537207 697204329 666688581 474271590 877920494 784688407 869614084 763056210 10097144 207297357 815634452 764589441 123401447 216192532 166329818 138403529 706030973 871093281 462215697 70763383 140633730 371566279 880055269 517503534 502929187 925814054 896344757 767389668 322350394 206590341 995510250 246071606 923772607 559150477 272797124 293751221 803490179 540175165 536647067 846759955 650995491 980246506 345388932 232674783 469181383 253849430 590178891 913030150 867221673 658213514 790563365 49214179 92020607 641321364 467040324 208343255 216028587 124463763 57165214 378092976 126349652 453441560 102274032 806148643 447510845 508670889 4301066 304137998 805629065 677223445 339482834 147990508 144394469 779743880 268031151 401221609 160227432 59497803 616099540 183765824 689354865 322991214 402557475 130663946 909114546 676768834 602588381 657699159 240724085 945491617 584027254 771603438 56076629 930827269 872767082 620176281 101350255 361963414 591128032 961542695 488211689 127574811 144106173 988047554 207762804 676315247 95529554 461993758 892759454 510539628 448405833 986365933 934283085 781340529 581123366 878283459 314684953 688000014 677028043 937301794 25075520 935949782 514772140 520495304 162621064 547416754 929700267 995193547 29731461 92865378 113906011 273276988 595288627 387667916 237344200 788146251 403944918 838419693 746372191 677144134 205120590 359194574 148500310 680528659 56857572 183351347 943175016 777948832 163757466 119586077 535583863 407597983 31385250 133630034 403951324 523557315 716645112 282961919 126956330 464853933 552528932 549790197 514655054 656216291 570070147 661047767 472415353 953710522 672365276 999231268 481788666 223256729 728595578 464278006 665080230 661153693 674262784 719407199 395693646 525176310 359434 839628225 165927153 399762782 520106220 344438062 797490081 329368415 467536658 434712160 567946355 384228556 336886986 968777997 870757836 113061843 157559916 491038605 104283892 888314934 675590806 679730556 475460840 752368585 725439299 224893566 424900055 53209590 79278869 794670393 499145563 365754231 30101530 551317656 735988138 209709094 587747268 862248591 859830874 59066395 637292969 986617662 853900611 873499816 979550744 378030631 325857119 368072092 421303319 870620229 542703731 749577276 212685762 28353937 351092544 963748445 576714011 364278477 105353292 890102269 728664708 695409775 328895009 203908491 45999534 747918034 736434311 60587713 562868544 171885160 842047829 204302314 561972525 24782176 960349966 861994218 79418635 624200103 443491909 516345625 316364258 820376802 419658830 832510123 664460250 79916583 706482521 717162888 225126227 876172969 567560948 124290749 938320028 406767649 914206049 25320705 687064450 604672650 354614537 489616844 790373925 618464735 144787429 775013485 181701063 858570706 683557585 50431919 789054730 384835241 417889402 386517637 863973311 140470049 869633529 239479911 434320303 999638289 180263311 378666943 819046516 449680041 762170140 240435507 83662485 819471832 746111467 718553104 205524344 107456831 609906923 629832 581051287 209669830 807462236 407205472 866846617 940449680 307570115 55275471 228283847 187323318 25316693 142809774 207307395 179671629 883701842 173955633 305611139 436421063 292710841 366342166 758393005 354772782 472513104 112411214 302091416 274624679 84831135 587362253 585476195 512139417 791221384 543180193 919237466 962838935 576137488 194795315 895331711 490497654 571322924 234702569 66401019 850302921 827979235 531990365 916521344 441593868 295000558 182277781 924014082 236058779 491052098 788857144 384843538 502567773 149980095 801927648 551983309 263654962 831880623 951102800 141131236 759234445 770637002 528853433 107772594 432188146 210191452 30554957 625961502 373314999 469992933 64392292 144285833 36020818 711245172 579348069 462957371 868927033 727711690 567250805 817679773 280658046 637531036 577776802 910330044 6210006 209836346 328100392 894420663 867635453 341672829 363312448 871515904 644521780 284085776 249537137 639277 814547255 277987670 673295653 204633726 840568413 843197434 416293901 112163111 633473555 282794930 282813757 873706350 11655671 708079266 941506087 660159341 983455995 476417723 521803193 599577613 988241801 780680981 26082830 288411028 679596774 803791672 484889821 81749243 39018297 858275304 723395892 679319332 650586504 670265746 152162236 851660120 690870725 571900297 956915497 558512786 779735875 236468616 539421684 298435532 855603111 165364545 595566757 620804726 833971799 864967431 782026520 48169801 866854619 409777169 976019342 132915904 331968921 683673898 333217631 99512547 816254042 815619020 152445210 457741703 991378089 589971916 354915210 413886695 506799986 154058506 542605083 292947331 333311323 740503007 85770300 980251232 21505801 205742593 40235567 464503141 397917484 969850260 929813962 150529006 779786919 17808192 634119922 481750621 515597935 183977112 508789827 198907337 393062051 30143364 969747623 515847570 760151890 502559422 87626731 90511809 575875043 562445314 349793928 286417384 466735112 49822196 310564155 629798399 997235621 221684676 144070990 370678735 248942470 729602813 829580821 896112980 157038666 636294448 147662896 763703591 38456840 548584150 615311448 624033775 254759069 785990564 76200028 139002465 440244158 642782168 968706021 57854592 822515703 323354908 355519423 881925205 698564335 726057600 472943170 151093061 227480079 99648843 614259628 168279702 857073203 328996677 411736637 546718890 663170895 162897925 427225031 936991875 43359445 128646314 594078746 785700050 795225976 368993154 535230350 12132049 656002186 433205867 353626816 420086291 144888978 661525891 926737513 654253526 653603568 678286397 797811970 131389261 137078352 776638613 416440543 814538224 244567880 824544795 517366783 348678948 747622003 795046477 992899908 327189483 121130913 702270365 961854247 800310061 368050126 416054960 50901691 432989926 579121195 714274933 956776655 994668785 864749093 562877613 826791916 839156923 807786521 263903547 631668764 785475181 164188829 715849534 867319150 316508317 812212521 139909137 293964876 439842351 24500460 828893310 547464022 652565251 520370354 541879494 530266253 529104405 497635951 779153457 453154615 943339321 350283246 911966343 154882432 641299498 548203574 453310322 148236963 361313021 752512051 866212546 814930715 914193940 66286249 468951558 64719258 941856776 772108421 763036032 964831466 552174835 224333571 410680708 694551209 613401745 155177765 17636949 61350294 181428749 846978069 723998951 608795131 210114302 46040198 95445878 433252880 980045019 983771625 568360675 362167653 596663182 34577926 207348660 755067536 136340754 542304360 682032742 491238499 82669683 914987925 865386917 598495349 63072126 46924626 10043474 488524095 910914824 471121711 280479107 491465778 978672877 752952653 81341890 162809969 405437424 244739092 197609519 911051315 619971276 487028322 596222108 662240863 524915059 576696372 28323015 529016253 963891226 820552835 748698447 757936458 52260407 219038376 206406063 361218230 181217231 413258803 647437837 510744183 982599582 396211536 834715270 615576870 808551680 959650336 142117650 991549307 246144708 398766356 56696617 725863217 901374490 318433892 481526764 945661398 231402331 955707618 53197655 610676953 304754384 574956234 890351415 9501898 863256797 52206843 498159359 454833154 498141779 442436321 575385411 470034083 140411157 880687932 465454687 969895889 84136701 712499448 475447843 675441629 786857623 683012723 962908531 925588475 814822877 345495214 661296450 677590936 960455642 345914576 609590324 785451669 817509335 7493522 19599504 675865355 54697793 381559015 986890693 839712898 765108850 959682466 821503110 467806697 917023246 166629073 961017248 694482629 332243245 352474849 975779348 586971815 958421225 901791782 542073796 659975642 970165355 412233112 453666404 225175507 88249325 78474563 865722829 261605061 95921102 250467952 304558767 112485130 330459294 113266762 690753927 509948319 944400789 572523155 459338457 281597468 147944718 903053760 753853869 655865564 165467277 898752926 464287899 664495526 809391040 312836508 751630299 153436393 141034601 92432275 670598471 207533382 707341218 852224856 667337616 437591073 822790606 616860441 444623377 581721134 110116562 7390409 75890914 928983744 320869123 218378221 299307210 72265950 644843198 741646958 252745028 449954647 209159998 538016386 166693158 429879119 226052512 144905783 322892691 150565794 904967648 299773060 574817579 384619090 373927153 133227091 390725279 153781676 385811120 926501125 508833348 415547717 284493671 331294926 612594225 239900980 246343651 606938830 514503652 796788773 253863091 53815941 372112211 85819563 112268702 996997805 556031946 48150951 408211330 254997338 954467007 96390151 403792658 608603357 839259646 533847897 42870264 680844939 992004253 618687510 962463089 397787037 971764167 142798695 923518245 481297682 780451384 682396046 105025379 91575591 813461462 858024377 962960400 673346339 142095142 298879861 514341572 771051454 914011457 147009847 358018421 629151995 342835815 828364839 58860492 271322609 534432793 735665606 361584983 907030132 521403847 144086419 760102243 738913522 287634042 886758321 991684285 100470883 915567281 204903369 825221063 339066813 905836775 36580778 48312549 127753305 5317424 306960514 284006836 774434359 389547213 54767314 591663682 350772344 203143623 520085733 822091337 149288675 21259908 518051970 400399123 583270272 801525041 199836984 783881437 435206482 689683125 738976491 780186746 608560056 227042537 756666727 123854694 325268243 811616420 808900418 14823146 674029916 504899435 739983117 980055361 711786872 572319361 241117058 599227807 316060178 871677615 14479759 555487654 160344156 620913181 390759715 932592891 89823025 823417525 564706035 599407448 547678515 865995339 82008798 516002278 758715408 756843257 727428634 222138690 505878340 248546066 283566534 911302653 602236913 584664779 495336359 738638094 337525782 134423143 854477371 266568060 90950852 852483225 772612302 604157467 393235485 472237558 38964112 401203332 918910459 407969747 994217181 265721638 221169048 538697152 539201310 788190418 471029836 591830843 853429269 637290236 181121297 355523654 262422530 376457907 618852899 658431184 88695069 862041101 549850136 322519402 410387415 80532314 603354096 46824599 255377953 482487310 355747083 756361187 287875060 863358140 418636030 411534009 466977515 539380854 290612755 660137605 921394378 127204541 183250483 575851862 994396744 938756840 390454246 384690852 714258948 858005765 207187749 407194612 449928105 478521361 521003095 655924156 58873415 5960151 746566144 472685654 150432033 943519031 699029774 111074746 290526669 318636588 449264973 202184000 193249227 990717223 857403439 973567001 842573293 703787385 134347379 742125753 656163495 694342898 748399185 583757696 182596334 404785242 681527731 870273973 214712993 475326282 17064663 303641729 471157524 871567990 104921804 375743670 739252544 693284430 799323111 202556464 792009638 263389522 793750743 854875070 436514675 716933116 309607654 782509942 230685696 450762210 306240029 365012001 482992284 727928118 751860854 591755919 757984891 812714848 293237096 940383727 172405592 684974009 747507500 805665805 365977761 338087010 11355841 497868166 635966391 161551596 23416153 802871201 420920601 837887610 423066628 983455135 655893990 973619474 950264109 984449603 287184775 832541974 365529693 8082824 193777693 621793551 555859728 637787734 41737344 674923237 42530855 444146483 745009747 139655602 404681285 44698235 635732313 385016362 731162671 561702321 406533317 713853326 439979910 680264646 170385641 171178245 99820435 9376811 156583266 12654323 755532369 872545774 806164731 649232269 550462163 359144776 601625883 61132936 169526614 87096785 90799792 200883030 273060652 435458101 346738335 536428092 651262455 522782092 490423685 472617266 870191012 429370444 100818233 277311224 452377874 880965291 630214008 321660777 561545191 329400583 454615262 496817422 789795016 271258121 177336599 172368822 375673445 678325221 968668289 388711700 336658120 669565875 507107993 160160656 42613703 140108116 262142997 363194055 553243586 145177682 888295847 153757692 704140872 791302334 689554783 370447086 634018248 136894531 1580212 613413070 855589106 791795315 530120783 821530725 825385872 56320615 97686795 514453274 782931494 36959169 126976810 747955271 199344253 544797072 105498916 612908639 891760509 498843054 587778806 315150151 835864893 202690900 227163211 91158804 998914665 791578480 276644860 827066003 849445228 87110215 437266575 198797400 984582334 461925701 110551362 808626844 822490137 392440084 842687842 719419143 127360441 415801482 29840672 224184821 281498169 797702894 743512005 200294761 235713721 635259220 195775832 610211813 580423543 539542824 174967441 242857122 861434022 240954070 697803949 599985590 151879529 850067479 979143156 227402931 974976645 792847706 71917266 681797055 112416919 911412249 13200230 378841333 951338606 541704269 646862575 53092636 49509255 359703650 924843552 83891716 33025949 235109335 837259718 149642057 855175509 199169458 304716303 272917719 475910934 73452959 610196839 625971385 487240299 695766054 332599953 83049934 905517869 242666826 243075406 338002477 9658534 265115635 387772820 626326668 586784888 736950337 805475994 444467489 840685924 337795633 474795837 554634837 587019957 431732060 265402881 154002599 815507908 760092119 418830024 2569175 826263663 988993057 541486225 445100570 369928650 333395568 871938630 926870460 630008654 271834739 576362524 230404833 458312259 449878645 953978513 367194429 459564666 339368247 269015976 560259837 404815547 883598812 329060114 69213015 986387328 849921979 295661770 666978478 842295335 803270918 485421378 753497676 273268277 612469509 108931827 692281798 25868934 338086959 323792526 406804941 379227180 418058529 137113028 134540039 920964637 857037848 741107728 725155160 761878723 555842269 413154464 139677596 907360593 938258679 316917443 424797648 636543290 538981068 940468488 188582410 199087205 604312232 873247162 239539257 428407975 799394568 697147305 859232783 261492105 468045788 453152208 374754052 463379362 432116393 617583641 656522356 161488464 290778870 672667322 422872314 404165333 978853362 781517369 115734329 421945594 542709127 647677295 169395839 108361621 926537546 444454837 608161947 185811510 83889916 494682175 96958146 171767258 247773787 110963122 906650873 724229709 467136144 958092695 563843807 869824345 929009746 369984676 487147808 142536222 564045333 442081114 80719515 516391738 47884068 206597775 752919132 674490826 532145043 402856545 862729423 651982112 794909461 742598173 318695799 53013273 911555643 882924237 612357733 939525800 175842518 642545534 467536670 954868888 546259629 101475683 385034643 472032042 538056082 24410212 713638091 813847180 526762383 656325449 945368117 225148978 341920058 864111606 913727011 399568901 245820901 376234647 569684374 224597885 492793255 132199525 720836046 630822913 808697287 57111966 74923042 670850414 298787872 201786499 918473170 980086928 994260546 229533199 147982021 938892916 955581151 349345423 714164209 533750689 65749703 757084779 92604539 157088172 186410932 221415779 792512247 356540085 746972062 475295628 97049934 987247138 871895124 584781988 180763491 553531941 70121863 389408225 750435542 8774212 252442629 721842074 912379630 450242056 382006129 896669718 372333713 541160715 83939511 710490196 720816737 355085719 856317316 681317963 83473360 118116106 134193982 603615141 777336149 350141903 430356319 373579301 487077712 929318816 410998640 130867350 576749922 127925160 956036378 652860100 699524809 162457866 943718166 151992638 313786969 65671057 906927725 242946645 625539911 822457654 639446791 516759088 278461931 948049806 585613920 369680818 128274239 630357855 441309925 368063747 437270768 148986008 997918559 436057660 257797168 976198280 709261640 649377640 736637469 518154774 82064455 454007502 400162159 580509545 344560757 270808411 84141426 336051295 967747649 119909603 268710378 912402970 24235839 701359685 532875479 19719554 276695700 4103337 466593824 237772151 955807547 932881936 326173766 723258555 313002930 913937358 382874688 576952407 906849654 526665368 826620128 117299102 768890500 622813375 26138413 379305705 312960840 678062132 889079358 579285178 24077388 626095100 276626893 816386106 578981566 308901471 76749143 332513350 674264822 84388409 828417381 631520610 519959305 349396105 877255151 157972357 993360252 706550947 628416511 643480357 157865892 676042563 209141490 140066300 468610260 719466678 84876262 933833889 325255504 507597920 902031517 933509118 262738804 78761891 879846089 346616615 199032785 412004715 221075564 621058747 107305059 732821732 888583973 851854953 763001303 975793090 851764384 920669573 502255296 624225623 651146901 974351781 505261454 846023597 891916640 456622242 646301183 231461681 634832194 97236550 324987745 459115029 166687260 452486863 717857479 50063522 928838203 425218469 562493442 171432547 870269357 440020286 623645644 771845703 224508791 357593463 849091164 690409916 820296089 747708063 216577246 85229298 756152774 550205634 325949200 400887978 713724427 73243300 332872741 786365383 552356582 847817900 161638104 986710646 37904648 348450850 137698280 192281303 929816744 706424857 426989895 128057646 727633713 730790561 916615840 82754331 171639292 275369250 258881240 578258136 249506758 649987882 184954635 590681414 574214934 316503780 411113756 272651124 552043803 970812573 753839031 328985910 984263367 370642937 958064220 490637025 12065984 352153031 725763952 206790307 776004131 544037989 904414038 777826965 994818469 72356925 345691717 422020162 864088248 622371583 187092200 279014832 177562797 679589090 958229765 219844826 344035077 221834955 732975816 92462080 109499823 746926638 812332382 810048657 375246861 924951152 264609853 366135823 88936026 927042149 210138081 652292544 921118162 133831513 297414081 820206191 105691670 877813715 921061481 865142171 872916888 830587022 410328667 135258887 967554533 700667936 727701728 41065789 468573111 567426500 249229869 313645265 548839879 88745847 332760705 670791599 370043945 733469844 242628086 455234151 35791578 186208710 185408623 313669933 376177017 86574308 338708531 265470402 720820938 905649056 93306426 624647293 177096842 192515512 293711347 781720542 342773183 239912789 277870818 667669524 722294009 760583865 30620450 702321008 833666134 835863695 20360619 835007788 663524659 937359867 521515746 628046574 528034488 850874337 143561009 812220091 866009002 184462841 49440848 33835176 231597162 428704617 306034122 669773356 316612259 660681452 23945517 471988330 501074089 69495566 794371704 188884437 927452462 48945530 245771692 925367043 645653931 847084895 506495245 976598569 220613115 458692294 968387765 291699513 49922660 930953663 241788902 57245037 213454718 592377273 470195218 348446325 598280497 381447963 648978624 751515886 182657004 123278573 771374225 299588878 62151488 665578583 948456963 496220302 888172973 369273827 966687870 551587241 273469314 324445567 378986690 674466128 328039511 280593563 925439750 495496149 813705611 576382631 161262773 150708826 166417940 350649681 997989362 545286318 397375262 493014200 892755342 911165431 756351271 847127353 954340023 324853963 408675029 721864655 499893553 457378436 75687195 636475155 329624851 887811662 799616198 953152225 534694316 932773417 166926266 24866606 572672134 966803821 603723926 237861600 951183899 12362066 902589684 490929924 687200580 220873671 418778258 512688403 697303953 213262629 782955869 761327558 831561622 278052041 53233508 298633173 580456572 746368888 417274295 191976935 237288615 120073924 65328555 958238183 110842931 278485215 578284385 772084043 895868236 153590404 180601890 471022277 534280980 301113857 894594298 109552471 328813856 961553072 449463002 551608372 427480955 592324680 308382579 82605432 164449250 801932014 686480614 484966320 527676490 831464386 343659320 490900367 546022765 252620948 441113670 735450235 48536596 319922396 201016224 856635377 533924828 823969744 391752415 956252304 849745882 569543667 556802681 853444472 368027204 639761315 146312603 81474738 368889660 809995367 254468011 202462876 747332302 637757197 957468860 774594349 271297408 932693205 625748750 50737144 309818517 156095843 240805942 261604835 82500427 979338591 895935939 882142315 263328154 59102823 527386610 193001900 486277380 505329777 604101826 676439558 489096163 960724895 240083530 708984600 897359311 889866747 343188345 152369306 699287119 554429183 28638039 378830542 172907592 847798436 947593126 368944143 314979653 208012708 758190282 406935811 546370500 807414896 179236601 50627832 216223015 760695139 273090535 205915506 574363702 580788766 219091433 65064874 685461203 721170830 7134530 208625922 871416397 784744024 191984161 351538659 369590232 181273721 167632194 796983502 881041868 858463930 419018046 953647708 319434354 253069342 454915795 780978736 14136850 226868448 266054761 407165287 603494797 284474208 686812546 952260532 587606966 280304263 253645425 591074739 733977996 493186026 886212434 861484983 766035033 511863620 483437633 920625372 846169204 563260960 971687190 311126027 758705289 589720275 402307341 701393264 179002833 574592726 681146402 329414691 104756750 444757072 371597298 303113987 241996825 186365156 851064082 711796 817436547 243696491 877267924 927491965 468729857 229688914 323218712 246676537 574864103 910661176 52554940 158024306 866717245 351911681 672682071 512447344 645029254 695470835 181705512 237365030 413190196 939122401 821232564 654455414 924074310 739976306 694235538 600923313 229992974 812538984 791965985 391972543 487706753 496347641 997164063 513967462 449500952 70009920 800059343 890863228 326154115 461068638 455353474 851966794 120116355 715081249 239999432 983667446 551157360 113643607 998534154 269864576 556661051 534404993 430211595 404957006 768080685 529045260 871826418 976262114 180262511 147998459 701047085 462821149 661976866 580248743 224372324 138741260 6973630 285784523 578428991 350372805 885405709 668910492 701059948 932837698 782710740 442355954 151482535 523654792 42790491 937115194 599730919 321039074 541486407 904373789 806459117 734527249 569719452 780845897 323208894 762291258 265092117 802984241 705176296 55554706 186369533 736596748 331641681 622508874 791559736 482769979 276232134 966588894 132138545 784272030 822135996 779912712 933998242 701569470 161465287 582027952 414287537 294303446 154950240 600074682 809992126 5821739 112687123 247300779 734404319 122589182 526429359 332179297 640768802 782635782 700219015 380195767 278181621 478507113 626404401 617091418 27864142 793582136 761071023 114184590 395733276 325310101 345363648 326596405 705792689 654212795 744986346 656154281 888591546 408256966 209881983 495641452 433203266 551264021 130159103 193395731 921955584 741918208 802710787 772879338 613149044 463414468 297916430 44460645 179520520 126838653 319807954 302943040 324320476 455919441 710346653 136950386 50700808 770998508 200506931 450505621 589224803 520210841 938606223 833967222 315634184 161356000 212513483 276978005 534835868 670329415 846550908 748286000 396463603 751795276 649854015 591277987 579372516 97932911 459727185 47307489 357260926 991783561 578932155 481970183 853644443 772808474 81108685 630567277 968814664 659397147 728875331 611230404 57251332 19368631 883278944 375912414 446760259 716907253 794834256 914197144 860881664 806299714 772509967 712749334 638448909 510394921 873285170 815692589 53886237 410217521 721252760 733257429 586392574 505024350 972232296 277194964 958413414 279634939 465062779 336800706 49213051 229300778 279819126 944897056 277948751 120160250 44034005 527660329 623032946 67217297 381295018 652793220 806182310 857698948 809017652 347826867 365836689 95180515 554402056 413769831 943523001 593254703 876225299 60894379 280522217 780127733 790191032 110221691 407287075 165926673 867360111 735759791 935251455 329421497 411553167 425283187 640685548 738258250 611290091 627102196 730668788 586859720 823998691 38720936 112453465 781007522 203822459 667993316 294984022 97062589 546599881 279916708 562479627 867618463 813340951 347187708 867917552 159693049 49330507 681658506 306292884 572894809 27353327 7747837 836453655 340267245 835156536 547160223 762793278 830996509 89216007 55049610 15683676 745523044 433951028 448060845 729204096 838283565 219427001 7512418 979452210 213461152 856903325 218154291 271054859 962696477 323113040 159143452 17575056 904053787 490156786 617048750 845085904 712785930 487029366 363341283 226387251 584237511 610753038 202590556 82016582 852585961 879211332 668612268 143272393 370851665 838242082 192359802 167460117 279400632 36852169 596462790 815038868 434747270 404142470 819939708 670513555 172123896 185175064 386987420 161498913 410073334 197449128 251869336 544167878 865667390 415662155 891934930 619801752 460053365 837867102 228244015 77581431 187845602 874332332 565953470 928589721 604693606 48320909 200060056 857783063 703579994 64151692 593703858 714836034 690616705 477186787 11888347 694970255 859655222 961699635 688463592 441106601 131133718 38562012 9039111 368466118 480665143 161829700 952108650 674858080 964724277 105034671 617933901 863723739 760336891 150182274 554862708 370038531 55170054 528025065 764679474 785375624 808507219 341431543 764994756 576187735 364939628 663756486 816930912 59314499 128155974 556352912 922115052 12083490 763188795 84709486 201979672 147425729 28515092 840985404 361055191 533263739 539113108 750572277 872883878 682165145 689478071 754364478 615484044 484570831 883379843 6143927 661552914 182011535 296921866 475955312 265032238 142974326 55515352 450898154 619135061 30298219 947368947 788580167 209439946 649953201 108352608 319982360 877620727 573254727 716556257 279106025 720787347 761469675 337739647 553144756 761758201 878889834 367164047 504281250 811452970 293685550 321731919 644797449 604246156 489505478 157323252 769124935 888759873 755038534 122062677 997578861 761919894 470484102 592450840 101277702 381459118 172217864 427608029 814511385 205917980 909188823 733940267 342715897 236985540 81485543 785685272 789529083 80298528 94821955 784404171 450106028 240731985 469578683 9715060 707576705 773010847 130799993 561048611 390152308 364363844 580415449 547462386 976213265 986587559 877130452 726493410 17404822 404673526 401166024 287571299 431086814 860067626 6653879 93872977 592940189 373948940 540691403 695742198 390489438 555505658 677975164 491096065 667671947 49211179 457888566 878772201 537044284 730563278 745710862 448519742 273737595 109147549 601956404 670048739 80507766 683697 961085243 458342828 274518414 584141009 284331558 602438331 494244732 282791489 128209969 559459580 559077654 840766321 521868726 980135584 676578893 312639506 399198664 158793269 490794661 583928405 707865204 604238827 394836588 820781966 989513458 945927552 614605619 55290235 691721988 242073848 372526310 678645247 991610493 761510838 218236017 299008003 235512177 396038311 155616559 962553619 329056300 524136564 127077304 910533316 44611301 905175894 186563199 428827381 356247082 945969853 424763547 838654466 407314860 225137050 879793557 964721763 825315879 931271019 790003826 249380189 194404810 913368684 614905532 117027341 688587374 684639853 646210022 662364638 381204077 424583390 630529401 455190864 945505642 634103165 51846111 137761166 123776186 631654610 773546741 870402490 273249424 569288333 411197723 81780760 239113772 4462285 367467300 15573469 55690451 816733228 527725516 546505628 496861823 476414383 994998716 62443160 780327224 15744549 124752599 407876647 866431598 733670919 629077582 325789977 909850942 51626345 431756102 904266780 128662087 742421987 224534409 653709872 310474939 377078925 933095408 187487044 754610304 24908441 167485918 687062466 771174388 846622721 389534317 739588544 851502988 880236492 217426872 569438711 244163122 151095303 452039931 232160785 52631891 719441592 160265271 575986448 733762202 773605406 308714426 166723846 751508956 559432563 42659674 207622057 709088606 709035567 610291330 704334482 843850696 454743568 154897715 993038664 21667416 271682981 936368298 432801628 50601033 386562022 404883125 821561985 990441305 958192717 337490083 195068857 366742625 34873654 889228490 200866815 423213665 774996957 280050998 351402665 76847729 51899868 522095744 958883229 640746452 783012241 484074022 318921791 408243262 1015524 534484656 210071741 669645310 573866388 745336307 144004218 940273078 466475941 512762704 836675946 346779264 431107918 423762820 796821405 294158620 331698652 283905773 625155298 34861906 922631794 675933959 274572450 835005171 18105745 729532253 996729736 731671929 879682091 155953187 102463632 405318581 423272816 841057719 276018558 506694836 950468518 514954389 485970979 378524708 343468297 800271298 745718667 931258297 194098280 568908809 823988617 612710800 467149329 711920502 940853594 591733375 497373758 608514702 126354057 21502189 790307025 126525670 887985517 183879943 598053716 244423306 228093020 842947110 89761232 871368417 294843632 182043631 979538751 759603572 421921882 264445515 913516883 358530994 396792745 765992314 925654145 650520044 563429434 974413394 793531022 620897422 461240331 377830288 515676898 426371152 515842027 450828771 52017388 997912399 565260174 773326020 304080117 41396536 145617651 154538047 526567995 279575368 668658596 431191704 102609689 439560030 738097825 379289911 695934024 245227340 519462557 218969457 358341548 670186694 501281200 940247232 64959113 126999267 205589423 674565726 985790696 804186959 963388611 824814249 814017276 870040060 840840953 527386896 147721407 3202274 279315127 585767649 756050278 95934322 648801395 746657530 302509009 214408739 688295603 368184496 854612484 199328157 229389197 279957619 436727344 68701349 2807210 342763239 267130148 899431939 51095902 240706766 337402671 947158166 630083237 821955726 984057412 206980289 654537799 87379237 631913597 206258707 991676849 481283760 103143616 60592639 490127051 308421664 952089406 998744887 962576613 855249426 424361817 262166854 494186819 13025702 288753772 261897888 988584804 296297998 917992874 273681084 949340571 271528080 382026722 879302221 919662148 941768984 865396345 103677426 197975589 215196836 61471539 610067179 305475406 612805066 342246123 992849002 956409822 275582706 450333037 255574428 781554667 621770966 449395227 864479910 560251449 429394451 215879191 755749937 956442226 624491257 970563696 886088584 429157351 659416328 134447991 392112297 903245214 101571538 759674809 643030738 753673792 431033583 61719697 845689097 394681634 618980547 424560577 113047295 249972648 79659669 890034323 263841460 97185352 941449730 726149961 798095509 403938436 395707800 564016721 767094132 796758422 655803130 279927206 929491392 468670946 110355699 822810087 713094148 542275894 291378201 959212326 674305757 508332489 887638961 566266351 492332871 174032196 129994755 53854851 981384929 158004506 215469842 134455227 572335993 841973523 513888386 602301779 997717582 496704017 660098561 61976576 274615856 398298058 283745158 387486939 154880419 457487378 133786945 529276733 26713826 841238762 621255171 426568259 298185058 459808688 629416586 433131031 175870504 296036545 355348419 382861155 547229341 536440001 498585881 228141861 275215552 328713906 606471901 21596919 98660773 73942140 231871908 439501096 451019164 534964790 714040404 108063069 29883607 881726387 665530858 893332104 923788534 924665435 990297666 841774362 900391727 595328794 314543733 376327613 84785734 906545908 302858600 492609970 574138477 34658820 624091250 387302324 56830814 662251350 101909291 485904693 308885172 287964366 574401349 231444628 108909048 134315017 570378231 907636882 593315981 245951082 876354518 504853179 768791225 892820765 654962105 83527613 964470221 612659316 602260502 117923045 228072538 664351547 735027862 677811918 864536792 157572159 536693015 365484010 367339345 979091083 740753262 510560937 904282048 82494637 391203229 225090353 390448088 557536225 29339031 949941517 865431313 584339314 645025068 40330931 122255685 939909994 693340425 406125961 398573606 319379121 899370536 924527052 761475377 882286610 358091925 794763057 625645211 552824653 819839579 523208443 672708637 259931224 985907386 109115534 208965181 729738945 966733735 60164286 615965842 397989705 641045996 577283365 903873334 312961539 316938312 456144730 602234534 849853285 971744504 104195525 722439150 743700914 134041492 713818259 884030188 381559117 616470131 504538612 285564079 342248692 230179963 368719883 414915433 374942286 415659494 348006759 132749100 676694159 286832767 999750413 827927251 310985220 387676606 678614711 288344392 359385526 297500644 688043482 397116483 171616386 236622795 515539216 389161303 161604890 420686206 315765001 722258160 339807785 171397113 457019572 209471234 97018524 804405227 300936946 285485723 604661463 802602208 310552579 658342637 315507261 852882011 920744417 392635269 726117603 988175809 801197310 725468421 159205533 569402464 176527140 662330303 899536374 513489598 216514723 963184335 910488655 305232706 752214156 250307664 196961517 692503827 642503278 348935130 134478262 203113254 89434038 863399716 414615015 273608604 56264421 452847191 456193935 631999577 736697839 98446193 462912403 677110948 565918266 997872421 944908015 313349158 71158924 334774781 705434268 138224004 32608403 149416502 389970747 285356185 926452621 356377157 158981030 371384783 385049915 831898302 79837572 856902308 54468549 884083541 709718476 522237893 855631337 145974943 707165912 667907364 464880207 407855856 190065857 610739959 766978552 968984353 89535657 940608440 204803927 500145744 976330052 527948379 958378072 411763934 279785447 539699114 467282309 687967123 201085387 113117586 919778875 412008833 520479763 52323196 294688738 445866987 577659202 756097385 410858915 301664721 881444694 321204122 817788845 29859144 791594317 189869464 344944918 294501561 105351901 374243734 985616593 749832735 140320123 879664310 954573804 528154005 512169409 352582996 908480346 800370062 660498378 639754321 897369133 110069364 50631123 746283313 780601378 133238669 772469267 426310073 150048597 405519605 503548846 472573500 608228385 735624356 155576712 960298840 91889769 36134897 593295666 103257055 588903710 765027137 705253558 725079707 143224218 185743186 334228508 237135881 668560159 951930543 155998816 744395734 593579620 578340265 352728440 813224372 658067511 645906890 46694487 522268197 75841241 116099798 36585669 551547944 369648806 236395455 295578916 943316809 422872128 931763083 223270860 816744851 846567132 89062594 834373622 52894598 898628036 270488571 610469268 969603584 817229487 581404362 874060050 526863490 900232112 390339519 659414911 787727412 343177983 883423495 256922118 688264270 837712095 980596680 675284327 340063015 105323164 603519776 211200416 332141878 596563157 56001865 321531103 958644836 805634322 916296814 553775150 967551101 865360030 46570807 383934191 146748584 988891612 66973947 350981843 198255815 964358652 273455179 161942564 197642006 447194591 620138375 941971788 830028343 887947004 103926090 583255587 199093952 141687832 448977814 189713867 624343646 153601297 254585645 345111022 414463677 997575500 570146482 923000249 316820705 666824721 18005579 126435177 192119685 399723293 13486071 329507410 606849200 928527930 808080715 754775101 572018400 188685468 218293433 569657776 698028293 268629651 668277716 585098801 772328804 428264340 286391591 946995980 721559852 996707424 609130489 338497932 144156641 760568506 212998144 138451490 187029370 465237423 479293786 282133205 752071393 650227236 552776499 89823453 602402171 657205384 729850 821464643 633394593 904327679 270165239 616539539 137906817 535340919 928248661 487070475 432497564 576366932 621305514 267157404 727980861 767322948 749541849 709361871 663256824 747819362 582476981 782370518 188523288 670165598 306917626 756851000 400648121 755550637 331479733 782354257 755191516 70910584 398785530 412035423 745518365 319364043 928581547 429144647 198877096 13050044 473371763 741618856 82451971 663342038 571167006 328704631 844360745 503255435 176565247 594246819 511840815 707519479 824287299 914185124 376342127 874623948 705182444 796115956 325607229 382507065 921344982 815824492 917227445 271117336 684661460 183595680 404112087 570556544 691938208 123927521 596251358 916231734 860987429 512999522 770501393 95736514 21480431 699922376 832567732 210857958 888699821 470855231 83661392 71262035 468456205 873160276 451892323 253421834 585666695 216203553 126304300 120393237 882556131 338978554 410199812 310527198 296242277 182987650 734892597 684418807 213490167 11735478 52557000 540531082 244315757 908853002 333112763 358330222 458749420 328943725 459253624 233673902 14129589 969841336 978617682 939533000 451482677 831330522 70950629 105688571 84811652 459094748 788589914 510992783 668080466 224928672 862583157 846360464 499588982 487345644 173929293 502923486 320262268 987949071 472818548 553723437 382069748 930590660 912484943 537519215 454466618 450841835 381691374 298773089 325652982 26937696 201334329 737349071 67348340 548901926 479647086 198058893 449935608 136060281 852697897 801435788 47459553 269136797 118726522 927301737 509600848 883850023 955652511 178977265 310246358 982652563 70371387 358285447 134793458 684447299 76495407 805079715 858265718 189339797 420732314 584877627 261416132 238922346 95549655 924751176 207866603 826696421 105115952 643169718 763749110 490113405 340756769 619406757 613086563 171616914 508227816 231866457 116174171 997431408 130309099 195705250 238664804 847518987 386350400 989841640 991922050 86554598 380377968 27671761 921773554 482861606 993362004 448808383 86817265 497938049 432603543 628198849 923803208 81929913 864653787 658438704 212672436 141204674 683459811 222422513 146053696 196618062 259688690 193658059 270018249 715390276 39034839 575685394 690942200 682641471 575315459 792646107 25215691 720156787 72376444 513098979 729317247 403537182 462358071 170996869 846528936 803786466 974826277 228693547 247574098 426659141 374030290 93093584 57045102 334632843 792340373 302198678 994257619 437542895 781386922 200014151 940638925 320226543 657486722 895872403 480883083 671287717 424896444 440831991 785461791 430594271 157319234 606662926 794030809 62998705 945878807 63655414 94254495 13057517 725093960 988184257 490121732 831090007 252147872 572799421 768009407 782494165 671651152 241780381 271879540 608471841 560148973 220851218 325116711 100732130 268050234 106746775 780910514 666565376 581951389 490478594 358381514 834439540 819877385 783943119 124534498 855977096 423526782 613862167 730166828 930393438 232910259 574510313 272656865 497458782 918124122 949408873 555086176 614960079 336781586 38837895 859067045 232284868 356359802 632014814 649961584 814578199 446342627 871343199 860616779 269968909 736197325 531111520 511328835 248908899 562061982 607068206 250564142 176676619 178673867 85008689 642408269 376237120 248018032 410629273 586394022 238736818 215606175 481139112 386378958 318457192 148968830 555387954 170761853 177250711 60498474 240785598 630954210 825011180 456889879 428763333 73028388 342104842 856349357 701976630 539488373 946603019 472465475 239608119 791907699 274433811 929767365 885214585 360332667 36864660 783346514 786173814 786735114 18523469 250875416 244177107 351297265 538975068 203893809 351076173 186153932 215460713 540150087 770854699 373161239 521303484 886820013 657589434 175459678 831435008 770414292 431013846 531527415 790737305 302194303 80920080 29323795 784069309 824442235 775628439 293835004 560093035 879541175 309144371 782250835 592762870 595415576 696367000 956356073 670209792 32573317 986950297 881186816 498819541 515960545 326064877 253676767 30859394 214896600 283885805 815742179 468476959 732996433 362745545 571809506 700983670 491095584 749598350 782329022 819729796 799594961 683963700 784806862 134857706 184024790 622647813 248672005 346600948 608648738 143575292 500491019 376142707 971351662 773216343 47124130 874801499 728575837 477880627 562419422 451725676 330820230 503670294 865381559 534212413 58251269 848869038 167770859 589067746 389272439 446908577 817216464 756033653 756969473 682591629 113605359 314694833 771545227 301977765 74832169 129786985 371958669 684272258 870629562 614766341 335273631 566561132 629768263 294004840 694019542 305931041 94360050 83644347 390190867 86824610 95146722 107829705 198971473 668374377 96189290 956397512 932492153 480456665 276154677 692523035 932276288 944417621 574134595 19560131 581917265 590622339 214716137 253220026 381884894 488931956 629969373 219139259 837365128 559527692 612085077 336013119 285760427 802715323 449938072 963408402 305584660 736216947 786690975 904741123 133934815 666656190 962450153 324566449 723930915 400019381 777642274 530660648 90374907 673705312 176150315 645795175 972867457 434029769 91790483 195761515 903532973 350516731 353470375 525918466 329282685 447326934 924228908 556682197 760902039 344550469 926997310 302127532 214759005 767087383 953884620 800270314 229573085 208015374 776780724 586511018 181636824 292121705 546888300 139194561 142538614 492428897 186359358 519822532 705220173 469271506 247263318 222815121 828690541 795941067 820145373 555388049 376147065 790059009 828274496 821223090 580829495 119015940 553032730 526819275 965217078 551625864 363759460 813542055 331560894 261179786 70999502 658977112 848775614 425658532 722434441 606396596 691987633 927181532 794698114 979966785 571148352 779744730 678435938 344587732 116599745 578123669 220840184 297401093 954631701 83196856 97313101 120971708 681574731 460545693 708020136 190133071 102325563 174740937 262695873 162637507 727374814 382813972 127724402 172202644 335569716 487202872 346515447 470754033 848382021 668455700 483693974 634011307 235831239 177335828 490156190 959767392 338787425 789506226 451427092 214782551 746686036 289159055 773741275 53568782 118363230 905193075 902259141 786310631 876137074 716247957 302369643 665414359 333851135 809186208 385190179 789893238 115901360 447421293 471607576 455223912 901814251 234637301 241622276 837357493 781632998 254797192 628130127 739189815 814496189 366700247 128112093 756792407 789380963 652744168 510841179 544809593 997187353 647494187 718611032 586932292 962541761 736258125 754063893 900128742 419560801 457680465 821193046 528328047 637807962 751365416 119468700 107421525 134824127 935629034 596175121 31610167 955631613 101091855 800015028 631958344 46670723 939637794 812159435 51231729 475067719 310062603 773052536 413399329 268435447 686897395 363793104 534464097 578521474 790248915 116209400 611307797 292268372 423656496 477568289 208426288 889798264 920705117 561506592 825785154 643311452 638282280 82441530 658775903 72840837 545483464 572886055 895214748 876802656 560176469 144009989 163209348 516324469 476819901 38797114 781517443 494739567 555123754 303548613 420589415 123360141 298741964 349884008 835715318 81992445 467368044 587931193 239404499 346772358 503030100 141356649 217810412 881451864 662428919 772541880 439173989 826926751 173844430 626659963 654759659 588580606 853495558 406576987 696141561 585451796 564624785 722427972 379376087 110287284 772337108 762157505 553449166 600152677 834508950 767280450 228357715 996942209 591155969 711911260 218721714 941784081 481172373 709640504 180156185 783164251 537522412 21157699 93532587 266778375 184429999 412879042 847865687 571705419 784186435 442013886 237773589 418743143 771824031 668612840 890454611 539096330 24410574 908456639 387829429 596293491 976779383 56651706 39957749 307571773 514169020 203511610 626079264 920485780 970554057 78793606 618548 544317989 4523404 867658473 998971126 766599756 820211348 526552792 997393239 253592175 196719031 935403680 865591511 184284558 375466917 440345013 248296399 797787002 683953089 770420552 428586627 868945100 869719324 809957139 202901891 692684563 180602938 883486052 541153444 273113869 660785243 869737202 913413053 102749544 825823345 223486818 380366512 962113019 306727274 725914601 275813117 550877295 101851370 234790183 86852690 550903341 752133896 329417024 556515266 270606474 471721330 332607555 216800749 950705212 17338442 888258977 483943352 162882243 961853804 223426902 446339171 137333806 581763287 869479265 929320309 11733597 337558549 766494218 161808739 987577328 128498659 676262211 354234875 465761889 568825867 428243972 776102210 605633872 775192921 583022860 413357716 887845807 713038720 897410770 75360924 655281723 244001456 410224306 999375434 902732870 71002892 848154849 786461136 345794651 391154814 442464043 586552079 505129652 495268499 473686262 534228167 172928900 491764288 413131864 363888389 252297005 531575206 20365853 748037612 68698543 849978334 482097012 234344793 871561474 421736272 153136265 874595661 895219529 391386522 22450480 240974262 627746056 759187183 263675876 752756751 910770415 262763919 499866222 111582150 99005296 711002260 24536644 396869975 888004621 418378706 339415572 263792065 153599624 537971835 549919566 585618162 206805924 248322053 565265439 305631705 405496482 602037942 816470740 363234425 614950513 129994160 673111015 707055749 963251370 773485627 476946819 222842134 406116278 223642220 170119109 59934743 90641472 564753070 691686631 936126408 292768644 630380230 449090158 431947254 511907559 235541994 343321096 364630299 243078048 178724956 122005435 709865389 502459672 32031408 974408165 187021087 914801720 15907888 122949872 133699519 231013246 914044718 102008140 581315107 862504911 651532711 194294391 84914109 625185948 668365822 398899498 112020159 146693459 872819196 157468805 665014157 181515179 193823294 938170458 316147461 744438202 584242799 88247285 520289899 630083475 212412330 778089684 589600521 453957298 76398194 192449513 896126392 421573131 44736878 878280068 473123378 14554742 730245685 666634133 395372358 522239758 108940222 970275603 436569011 966286348 441890550 817308950 974016191 57770231 91118364 20315813 806903370 729779175 101303680 295297071 439664789 112194520 468833092 330286342 74085491 261912695 288325384 775360178 212247434 969127334 253209892 471042317 941387911 495558551 616057314 751124780 860351757 303114987 344495714 951849442 901491791 537028488 620698161 256396604 651249877 394240298 354410429 546921646 673748057 915304002 328891593 725868696 119564306 694498015 593535039 346874913 923561350 737191807 587436966 611909563 364693201 919762812 731976401 780302863 527569200 811647062 400819423 860531335 370436927 150220402 115136179 681560982 379547341 663578604 945626244 198879153 151796823 35405273 315850639 152970786 29569517 158074585 798976550 550700546 294253897 84219062 107308802 42270218 16783859 725039195 40470085 924336357 513721463 191600372 50186787 696283034 184160534 201817847 64660182 929050861 755731312 10220218 371897542 673960630 952809309 544737658 978174873 690706731 584437144 473422662 92919118 473375333 449126035 689172424 791358309 644815161 601361986 58055107 739221698 491483265 977860092 798230004 775842342 373873284 606419532 964248122 550409398 970288647 109576192 290946037 196572547 303528655 576397488 862584922 808305039 877005487 207116816 178239657 183778718 917197440 271204691 414629102 669502750 714717475 15665863 354142972 725576360 724543519 920332223 468978849 800588709 367720950 221207712 726252876 420569662 27864928 731368479 939699672 932176544 716128437 241322534 894250571 46819485 655105840 195462758 113692124 633616943 814639016 141482614 743373828 46034704 406456907 66165964 632097994 850683965 964206323 294410179 30817992 461888575 162203852 487865284 413040690 399357509 277011962 59754254 894490815 648733303 357624528 541820970 244202783 344352008 3734159 364932344 686224329 476622651 790172582 455542624 108714671 989429027 499782143 814622516 669253066 116212207 686133216 35237524 262751517 460914008 714872294 842990609 572738814 768140051 668420054 39373226 239433584 594359105 117725026 961483850 700396060 631133855 836052900 105704143 630385435 254808918 257027685 451112080 26632851 855832601 290274770 106489221 27605925 744513038 308059472 279965380 31161687 963389649 573047028 466177320 238584922 596489541 9374791 15123682 777798525 843748825 216328666 299556294 751102934 428036270 974144223 152767584 669334989 982216117 891290378 918144348 248723532 435095530 812036833 41174808 796939597 345253816 781244836 225895355 97574522 938391656 864619276 710358095 950640987 569188097 283642349 503345854 731755444 261147983 337749090 527311253 75529521 701225963 300694797 51084145 825045151 211724539 22713458 804075966 374318873 500589084 303373660 575517466 357143024 673281325 810195418 687423227 860196150 432896209 169076880 367270446 10156316 970779978 387567005 303929445 166472739 46498928 920253835 2219579 675132323 459135015 786851749 468208993 517271940 575104187 792581772 117792060 938997592 982973235 926762852 596489267 557506452 889741895 733076610 470354788 24984876 958974123 182735777 881331796 919897469 674368610 259071899 124737000 531179309 710735302 376263298 615695611 492963811 852971815 727588496 126334059 402937250 68286627 541366206 82332570 456879913 313909662 333015979 796109351 125643724 428083659 338328889 885404895 191465035 521939763 71204551 42380826 309087551 610500178 988824631 77429518 475984105 166600647 902417581 817538687 301640790 252587564 973097506 483409468 794607033 491189402 697708180 554069454 35016413 254095850 383717775 259365826 547756764 287052661 66330097 523249131 764465586 829483985 903621780 5220125 904337275 67391390 827150695 755092633 963224270 574558229 560178060 902126479 743566594 917430582 960532019 231727508 893024387 261956037 783653714 908475834 94363703 424396813 318739733 263892015 372814852 725083721 341599696 378881462 615152626 213501096 617388963 953771817 766932667 540157871 869219023 362379804 64677098 291537898 549251256 368895028 100355334 488977680 805910143 86834385 369270193 862468806 988052021 29532831 48530973 185635244 937965629 274415209 908260112 705541431 754519043 330884629 28021959 717621709 210144675 144465210 287855886 390759489 135397773 976947529 317748221 957023297 505544927 45573842 122571982 297646690 426992569 482128328 320010465 716401055 230764172 144289702 431819531 249588247 286079385 886361567 971976312 646389684 250775877 966237015 72268705 415469151 217974301 990547111 575070495 10878111 950791048 516453868 777773122 468234856 158890303 100135391 305134005 554222382 255761807 820222193 745088545 72776505 33105204 958591242 372351362 715424812 437219140 832883972 479426386 633963908 694351529 2409863 719625147 214083740 623705830 917101924 493499349 459400467 399944582 385157380 808903418 323044948 508934038 40830357 264986609 4609779 939781686 134988952 414268037 403213367 863495477 198472775 802557356 314542658 216722108 565572839 239524421 726266028 581033841 936445769 805911646 357311438 948891511 15870673 1242167 617473093 412962819 794453406 910292441 48776806 91918875 727029104 651296096 826326788 111628833 615973012 832244268 557685628 211564453 899635145 383577841 77270631 154456219 568408079 771118902 32801349 773627572 291964947 666344270 34639389 209678575 677479644 430912853 727414639 610024180 280058279 392132562 405329794 233175639 349169062 856340910 388859300 10934623 865970568 580918956 571828674 442914391 481144841 451071594 295571561 581653131 601178889 30818755 917505158 963436118 738461172 106019649 192484907 11865472 754464310 453173709 928122265 839917725 738140191 200329240 837567628 78303783 263916103 640114425 773357926 520726707 683124376 331078793 946676828 711984692 245378510 76801794 66229524 48615545 432955335 286837543 464391340 479092911 912022755 580788191 763341040 837756336 578240133 853770520 206523656 372533087 498024401 922127161 738135128 134229107 858790409 131672237 576002900 816393939 680259800 384787315 4678872 104127951 482086875 399912287 304595623 281870184 587426779 974932292 288739887 828278800 401639869 584704447 432071225 239531018 773179183 66702722 505690607 245882978 846002294 823451600 463252011 175677507 458120661 692614810 839108750 109597850 321694567 120403997 815294739 818603321 535910491 300849423 888981336 320962202 735267697 828844856 200783819 594015713 481414728 517270404 478090574 855575722 968998636 877126716 582880710 90530632 218694804 664843928 221557143 490166112 652634742 659233634 667951977 235284580 636342565 757875881 548303790 35797385 693167465 833924623 746297787 317813676 196282686 331753503 514276971 423021183 997287103 219024222 748745624 958145326 44897362 894276284 31045844 316520448 413583345 151085023 168791877 891534902 108973657 161995252 851559582 760811522 497852788 907039001 357252055 541708174 686737455 569722916 848268347 88045073 460189832 40771405 96370079 266959348 4937690 684059549 141632307 378595209 214044163 751818070 612509770 317498 979434608 361903355 19509092 582633097 505698759 972234811 424111591 77980556 743214391 379169158 208524582 945301051 866771867 920796334 712844079 517170729 804589867 990650259 513118118 844299025 489339735 952381180 718510682 92594253 313513811 978469702 124150997 210686574 431169521 889240440 465850845 178880797 150818123 954375062 349007342 639706689 263473334 901231835 527404725 802734051 837397687 559738968 166804583 234063339 764783915 409750864 335938352 806425350 926365876 300284378 24410180 306463995 671726978 676238494 37789557 915075170 799226570 1255329 346215337 885690081 297323278 66311909 778077550 90614444 972212745 279121970 505513366 44103028 24181455 651241322 784761555 4196694 58475450 128073674 228073547 680815810 406382943 210464737 828244234 848377456 393599636 18569464 423108086 6756144 496131231 708982833 562966885 934922341 114464389 41217406 82019747 907802468 894406078 579013670 547395707 497138622 176519522 699257108 877742280 740189352 686865540 618941295 622880569 661030569 793924831 830355156 531075077 884596663 780213042 42527868 280113820 591944576 234251264 590244606 566437143 526586567 589381021 253485209 942640851 702788569 628637561 83584414 524096134 383302381 949021003 289088467 730944333 13535452 870157486 925189388 844777843 441928873 81320314 118777255 151345436 536283707 999035540 744248930 187627075 355558634 903923286 334973651 575259306 339714353 108920224 218184403 616714288 252902407 985373944 210221013 990146468 957425400 273841795 358590927 775495791 18490821 119348987 735579308 45925471 518185190 713237334 274455308 152087416 282659585 972336812 777626992 611519035 734230974 661252294 164081967 495807615 188976996 520882679 944621090 276114181 42762099 877048328 772458345 985157947 97126105 340380110 292583891 827400505 723515474 902230826 481163360 254738092 482374594 922453927 632850136 806663324 436042418 906022684 973005606 927252138 864059137 176289881 59881391 271394306 324988630 845432774 777008202 769654122 463442629 293464850 884824724 974370893 499961670 439916347 336800524 912169257 208757952 608489802 957043232 42135441 176953583 411929739 755122064 652019313 226599697 608755284 349869478 44563306 694208692 427432140 828726459 883331456 220980234 939595763 429528221 86414923 424822691 855793390 172786108 76540519 299299297 106852985 1152058 848625747 525560894 86012446 384022997 108998505 927696623 342297770 464018350 522433096 537011518 337536110 465461532 970659874 360026082 646330829 848688712 255832415 88256837 660751501 680918413 597735147 254742843 7718222 377052147 473003712 173838761 663767553 927843374 417819891 928556019 159758804 606585263 206882433 794899766 570275174 40164380 257631397 686648012 146891622 867921259 498422533 401949429 714041028 983823905 655205470 887893629 393479669 975025772 465188538 602250659 274540212 18169208 820159992 34240649 102164423 399406505 651673413 265174313 789572588 210169643 299865878 936158821 305516210 934471817 856810985 220718831 92336352 834824283 564569191 146658742 138585406 11434253 496304235 986663179 538446129 571652339 795439809 162057102 13343129 384816275 652382574 822933879 58282135 982634383 800819209 745074612 822457185 244317606 837442844 101249653 505679378 819183427 840643178 921237651 714601847 138254260 141762184 648915774 123644705 227777573 915255056 217802283 39634511 524185866 424921954 200628513 493742764 547878897 248570263 268001609 532935587 866129281 496683191 581937970 79959088 90094623 411525080 61593797 807156979 529875395 695442711 667524158 679702103 832403689 790196639 767469062 685205561 87546582 577259897 135482435 35667736 351410881 452942656 566716069 894546778 820023061 917804824 541452333 774048368 841876326 225940670 605549583 755187006 952817119 15222331 217464306 873409728 363615481 72416924 315907024 195445166 782970067 76843486 815078770 898180537 422794550 851494894 654157927 303231482 223447630 649798172 86369016 656895544 470228437 401952918 264135877 858941262 780180572 495808257 443068527 856733309 760736166 928993253 57087773 800605425 225872962 221853111 522282597 103653123 132702847 155868083 670357966 974840271 592148019 882187055 500656719 19488357 55106965 4761580 828518986 155398 902494644 313915188 432925026 264278186 933312279 741428625 261469819 59809820 918516462 30354377 387674985 489368581 140116236 856568840 572430515 262374135 290959334 499607200 268834560 161273026 376563196 462461555 6651544 850074268 22687332 711383870 247842358 726880046 752948433 216241288 734850650 224319912 463819201 268792808 181266856 766554028 524663719 45368003 796072934 707119998 289825720 913113231 45774799 297810720 814682276 508328123 713597943 110875775 605757492 137887475 583556394 574722697 672655157 664197077 677872450 113410908 651874371 567853343 830918308 343845680 435529758 332182504 992529174 213337320 807539075 937302345 981360981 752506898 608788516 890775862 880486735 952509399 178130123 659314309 333258874 680691195 305386790 946700150 321216144 616223698 529447878 793104529 499550086 640503503 625954676 947906468 806368350 28600303 160013702 100445213 39187070 324571786 889229763 386276516 854342762 805807161 738005930 41724615 629431734 370548798 270817405 818093213 557433625 500109550 998734309 913597011 835238229 862938641 899075146 811976655 846705231 470938548 122434634 196734778 145786694 447715757 249925703 2423438 749788088 440311182 373724478 162682289 177699574 886810280 567291652 308855982 94269920 775165216 441967091 497632919 328853346 207637981 59036134 540161054 292573174 337894712 637287674 831496594 105518910 503090485 645383718 452832577 745109390 975571866 408802091 85800425 817593197 168942954 833264026 331940292 874817783 225400696 187811378 410564467 154846926 723870486 267724703 26316677 681716101 128640134 310662637 630797373 164099584 638575639 974936635 406356834 945749983 594835247 418269606 316778775 215262979 101742407 500128589 835731703 873233387 883970725 125950788 599804236 310287767 977704720 882228960 280328946 311523334 186529832 788966665 588835335 953410400 364559547 524463380 226537551 882948435 508754204 717409161 821202281 511728888 462941663 381478200 127709909 825938958 65173774 304377688 455369879 608543081 587685375 138807489 641900986 955434453 694103265 659357880 176155529 911444689 561627591 114149623 417999610 3294579 52078781 435275045 776622194 344302277 255241039 2576899 793468964 962406968 279566981 283513071 660571941 976700349 584867633 630878546 278817910 773560332 796729425 437151330 336546273 282522867 375699495 724298886 108707367 875935069 262867197 129445960 755704455 880322079 977642736 62294256 209560221 338128285 733556325 544879898 979598182 895074112 871344555 103241028 408231210 439550869 213890285 500999114 703576314 487319325 586927902 732032894 369514593 987203058 884747454 321460565 861779658 109390939 462700102 649863915 95246686 277530889 16193684 508463943 71239300 680854544 697858231 580350916 78536222 657552370 18315327 907557100 680491238 494068637 586623512 85393464 737702411 770691886 489501745 73219378 734244721 736782691 866977241 141154891 955282428 585359944 462628450 751113203 112911366 960325235 523558829 184716539 723929936 980441750 379888603 989899844 873213562 68114975 668991467 14643430 686103275 110413268 97688832 777955369 249917554 234088925 539239274 425893421 534479890 354645048 621085637 105271038 958354465 526597335 242462565 721714665 531804860 934129740 829540165 401743243 463376514 787923414 779169080 283123601 526309290 547969750 12794456 630593662 649447284 635882724 430283706 589856646 99520600 618550156 763936338 711917980 190385791 238418801 258097218 526072411 250738618 173627042 987261691 606845476 344405286 496840481 624668137 57267034 797366519 260875980 137427529 165277061 352444566 273280829 122877074 452564099 770594040 375032057 772461882 246514576 515840123 732605528 49924400 200411923 9765463 126712246 602767320 136102207 640249999 992873944 686617610 845571931 587811323 740856762 264774696 67611750 363940281 752328996 292949941 650878695 736295943 645208996 374060678 857815346 349988360 723781852 704826082 410659966 328711532 299882240 716898625 890953078 121118745 883576580 431136172 842342528 547595014 801831993 313999413 128463247 656413179 732916509 499372266 52559858 761495497 747575026 464161487 287566867 156578405 808464092 7098514 987938368 211329789 188360641 94885069 145728381 273539208 60014053 606406476 429871310 103702944 212227894 286607596 276184928 139954570 35324311 849438673 805441094 601047129 667312347 510169754 14800318 471671316 690570541 3812947 819861991 498596976 244424912 178683708 601920128 805493966 136277935 169464495 475272122 105741890 611194507 317623767 401818081 953600608 205245699 271711386 490517497 848114524 642691942 417316853 371685977 116526662 817103281 928101633 852352251 260753615 590001155 732514338 933714266 615023326 388130610 430703746 232049477 455045293 844132125 660817444 819963322 710263199 330449959 841101414 543511974 84219491 353102096 755387383 679313189 477209084 564735836 812575177 416035976 749146523 139709333 823090242 505673828 801265292 643623132 203846442 561652260 654900396 917965337 224211948 323140218 648039689 453537185 947750615 943482863 517708793 622108754 637792206 195326059 902910745 211768988 76324406 683801369 137898817 287481805 647521804 447877413 973305974 599469159 698827379 36697545 389983323 429349651 731097806 973852406 918454988 311956360 402328395 374351707 787747919 683960141 236678128 773076496 941188583 727248651 32276078 540002382 398756604 412651319 748906831 338707325 585508577 3890730 800118225 799418095 578773496 966052900 560153182 667976797 266258271 981741288 300850880 315108661 776371770 50703196 60692010 879437923 293946645 958126722 840928349 296879229 524597653 27985415 847403006 817607608 615100540 439301278 153043169 555190864 959437664 16628485 32030589 526510381 879810967 563154513 161595733 744451082 781572890 331620271 502202495 306481940 963065230 799213367 695163144 890167819 555252106 827788752 978158289 94102653 982095771 420072047 16731016 570901872 213080900 429370455 314460731 283689328 3827613 571156249 668493425 771082768 10520205 876772115 763236538 780191881 102046894 202650991 459841648 385139145 189926559 183727312 510384580 550727655 850365736 348942045 549354833 600901601 898791867 496084331 905062167 977165229 426465036 4473762 624750274 606474387 665153341 800934693 468805584 817487760 685577887 624487686 885250527 599967320 433686537 994580001 725558979 666924687 274321084 731759059 650798072 401709549 608878406 573363194 724940561 570789451 21745816 424971931 499296657 839590825 564448136 394085916 190981032 166942636 981244714 319886598 143253103 216650741 627965145 548325896 346464104 857317227 293774201 583058227 347112524 557069057 382003448 619658443 446505562 708276838 435760977 631833582 135548827 727711910 851130473 627471622 414533457 152317424 516023589 586405681 560591761 406219188 244174141 982059768 38645726 943154666 767301026 246913667 698492576 740608352 872159196 881596851 670123228 637844102 405949628 892104106 717002607 195958637 240208724 869415488 335235174 309159271 934652386 768144510 712073472 774938155 505084912 101173869 526425807 81990899 810342 212071157 37559391 948816747 480295710 676661286 876859553 127071425 153060774 390496362 968141346 2510742 434950664 440223304 342748811 107066825 659625028 923265289 161891046 817543936 389937512 354563202 892727972 887916358 593101147 516912578 460307120 761045448 260707057 670245546 916422104 148858455 333551819 449854968 644770964 119487398 921131810 572023770 846786222 89080160 376737746 531259156 192006380 303876158 708567043 216680112 652487241 628150117 357229281 51050509 887767024 360904075 711807757 34119229 589239265 735731940 764262236 820199412 682249341 582005466 941504894 660846107 568554183 683508554 4836978 607267333 389148484 866600325 504746825 278588479 755422592 130596987 14455788 993374626 696639219 858323581 919184997 774775271 166319611 142645316 520796798 294295079 343549902 582859210 684783502 137833980 534868790 623754553 386677228 362487438 658575468 942459906 481839160 810546998 784830840 730312579 136327631 341594979 114548864 63547483 221919546 60499796 905028326 37493156 566414801 118376814 967011454 235573473 707057815 341462862 338417338 174674585 492776794 192655903 665499516 482384871 420959442 366699252 653369206 508189137 722711251 921823310 790406126 923337589 983732995 311634193 669341040 368542905 657248736 815658390 596129549 927283962 375437864 465199395 915141175 848556361 976836223 93370807 404270464 621999646 426256115 878166500 749291078 72706535 487843839 496944856 312500780 185194690 18943700 931404596 445037160 491618394 605432372 222627066 544698876 376755929 574029459 310265198 61594542 124269542 258229059 506252849 197214929 451883852 133112190 889842744 351034863 754804262 478578134 266171285 431794419 962033548 590916919 133823869 453546506 734549269 503349459 76421842 797606617 919299893 657653053 46987960 712604438 65178402 429367525 365243201 201906433 766580164 164239936 919516599 323147653 456656586 595105631 900795176 686316484 316483601 160707631 937364274 265150648 106766180 630771070 382706821 303398725 472416783 491865492 570418461 560695071 639947105 618849029 245270311 818568324 665650343 978292909 716331646 148685114 94839501 442031724 928734308 445060451 705068209 716608581 617931537 238119467 187960621 233177384 640082859 419541272 647887023 964436980 11383040 25212629 520538655 174106883 8387678 757516878 217809992 635873448 794089860 977218685 516348213 699579900 735582341 448575448 382198311 25331001 676084814 786115211 462058998 575347040 165661905 145102073 71829575 428869189 386767263 207495863 333754962 550559097 238313807 649509140 144189898 331645730 742793950 305131884 168742620 284696833 489578560 275956191 545848828 384030316 200874795 928263335 719748608 905149052 457815324 312629062 164338401 954993809 136260124 119059562 810817888 886955237 407205162 598671277 347269515 550392401 157162017 266535491 803491613 768707892 12593506 782688997 592326694 681609264 734311259 147726237 812424637 885921971 505584767 688580152 861183376 134051106 658038510 71460094 967898563 943534164 983016842 445167045 970952746 713844864 186033497 553591827 756302255 300560223 510243178 944548774 840562131 290031174 616927358 736340846 749991811 816162015 776181721 611295607 580961795 502241220 709215224 976764435 608074553 426223949 194785767 203185652 9456800 403869108 241686454 429247236 497986583 172374714 890249884 761219064 74951482 195235711 478062955 107613481 82736377 175799916 510605221 835880573 318201450 390461966 867587827 282148669 503356141 683545152 318402239 672788063 70417210 179787772 384925334 957455432 899425517 947459031 645187782 662799368 312734449 939964811 557047124 225258028 681724838 124289956 968531065 545849370 930672852 525240624 573429150 700363169 790359288 654856576 322562899 491228017 94330333 305479987 513025198 829138171 82865827 424815452 801362462 597808208 340001800 993954329 566763329 508098927 15126401 724504889 515828088 806410843 832049772 900376675 486177080 549053754 732937759 61733197 629168678 375870352 188457349 150597892 659480047 88590790 845385926 799470105 297994219 433623497 19873737 8347618 8321181 230221459 157748968 115210976 502992071 321539243 836577012 315843046 380735054 420748725 217046655 536658181 284127331 308007344 133288815 302803993 485945397 332482457 393775677 741094157 865398561 535768110 188447775 538611324 163275055 975516818 354882837 757202349 63463644 475095718 359650477 414509060 119160977 444895262 843654394 727776274 730567566 722324127 751494386 432815611 237674767 405621731 72540620 178920194 940962998 954857412 947680957 397593751 539394401 700785720 375687792 185492593 242485762 564256103 894192175 410793139 97641251 885093150 26461198 712936549 218730025 907117668 729937736 359735349 796587029 523293458 610816415 512414247 556439201 289000151 757211267 818298645 497923662 620251002 889626030 63198979 710034990 203953238 525329828 429770866 923927643 157832562 244373356 73132002 381538536 817739222 776725314 210814494 586069316 513591554 956812477 110749057 598327720 693938513 274703150 794637482 474202443 267033257 465709261 530025757 461366378 751103241 351878035 471064750 243771880 560686036 250568418 769144907 484913167 587424576 798479054 71241979 345012778 724731735 696054366 858892038 547785143 29456060 121366473 617177157 254196865 22810530 495731234 353966371 690875756 614852432 409434440 658146055 681825640 78943839 556128407 41119266 654346387 436048084 658616961 470591218 322099102 791412975 188936175 243126734 754445017 111821547 943350532 177472631 988093936 650584605 152419007 46347102 264845776 842447537 69101788 221490870 947240665 341829986 575966048 123217158 263273425 444556967 119649458 583782602 7619493 296437234 326219117 725351410 627894593 804921324 981735393 799182384 511805076 197787333 166099489 369305721 720632486 508787324 172957678 488358547 52709087 615056561 380911855 362892612 287896378 328602263 396940298 485462728 240696330 823133473 852159867 121982823 54172553 290906139 511432802 452417258 300267732 27839054 626846058 850755572 404553081 208334328 798293562 632173881 777163753 771388384 365341965 732474879 523239027 495748517 352925029 909844840 401793683 62386249 638227727 806631154 909996888 718259385 796528637 865058489 852284070 528168103 28151269 729397062 108568519 93078936 451168748 675509723 814749903 681037137 131504566 331806760 824599992 904731073 863969581 585016350 326602915 299445797 170439812 65311899 422123030 411735887 598274728 885918948 886444975 355912301 218162797 639822161 753155402 359382982 588337929 813258160 184423826 701590706 430925996 700455268 756847935 194181435 120537700 425379928 109601685 721291505 776997741 94824214 852283523 127798093 591904623 866889200 527715308 742135935 8136453 274938250 632966264 894381419 525432124 579774002 696610780 843114264 836191865 853283551 768412202 260619595 796362333 391853018 389898466 875718561 691929346 813504992 386411232 956690374 977974859 796878160 66871158 713528622 527661101 446813170 685705948 366061382 503985330 566700151 902275831 517230907 986328983 837141691 307744068 514497118 416394898 582530647 681836334 112827655 544666188 245821617 190923754 327891813 727630392 108054860 916211231 585467514 453056374 2480569 453905249 930455757 418915648 934802584 40999231 73229919 478064224 455363684 133773461 185635083 533141140 651043114 314236301 460687187 335395177 782748374 724355779 104292128 785581088 315059430 890914637 857009480 436512091 6945192 822884624 660834240 48492737 301598407 951288525 924366634 969942579 145557208 866585143 932993295 721903397 942588027 509938501 788186348 563256563 490638276 48641069 985076077 498398191 228738430 896016830 707405495 231151190 587374857 242623979 948790327 438463760 941843316 698512465 575738996 347862352 427162176 815376348 865204996 402895748 201052580 730587812 95789376 196530161 347062928 873385448 370367035 673353579 178436241 689359173 461353504 693103846 273851358 3909905 595188387 530925261 823254935 807754714 43017790 620108776 681722276 758505293 562524665 292595196 214530023 815593677 568665770 722854654 838693382 308820351 289633278 752147279 31967688 977895638 344094289 432471383 710124599 78235196 688649455 280461402 546600938 41612967 470308510 36988384 547010972 733999524 747740211 408158446 279886478 75170094 282664400 352417023 225546311 702131010 564232368 376393282 186933842 582259443 239244780 635186285 217656577 93786444 1105701 370120780 579379860 840610964 758387441 597700769 79056168 807378318 45554414 56513382 167190505 933295831 525236296 768074804 908032321 527672799 176898521 972680970 149036049 903640253 89349905 981081202 564718313 927635368 917667215 138602937 505772418 300184385 308026326 875482879 322670248 946986345 426864111 182504032 210557184 747738428 589949541 875169410 408210117 23692901 131644326 227314183 566069737 621743615 33643455 551171205 637493755 365280450 808272382 999569662 55130847 572603347 285700028 813317695 561348034 871354385 422854603 573079038 312329589 965072622 584327348 928126933 261301065 396634231 44152603 978756271 966276156 274955678 363470028 187818352 907232206 615123587 728596135 999702455 16549482 939142688 878809822 247353829 604520942 572969859 389619344 72793053 85212085 878318350 936981960 800727787 727666661 272784580 771508855 201279213 942058831 625208138 333432679 342972062 513144221 993320607 111342627 899870826 850511055 811787089 311824696 684562597 559058605 892772155 398499091 118778325 264926215 148800694 697594339 120990712 734303642 388840334 217334443 90447903 459471593 801811723 981484882 493926932 879420059 490873844 579403900 636968842 738484672 148695289 854270602 945571769 775513297 993096509 473551636 208807443 199486753 51499114 509671928 853770486 578553918 52846256 13709851 238600140 199972234 832532738 281942960 126711350 983190780 31149186 349379814 573474700 127119685 41386358 157821639 613991181 259902013 139237700 497129095 245270364 245106081 498178102 621074793 738395786 701302922 592385904 843677258 17860020 809048786 142791136 28867719 431174928 458154884 580200923 786396614 930085385 963896007 475211045 93120909 445436722 504467862 692225352 734873213 181370522 592387630 465965926 299827215 471278403 869685820 52379184 3080582 184822332 728182625 957308163 67503459 861635386 517607243 88366357 68556400 251528228 759125568 233096299 523392279 898932608 676308992 612470246 487791865 685289977 553561350 32378984 446017472 446203538 449683951 844496529 702737863 17789560 202418266 881718771 967071461 832323523 308351437 904371308 252633916 226301626 58901166 879272775 928030554 191923322 357306738 660173356 940214784 209593998 310128895 699390750 167933190 188381716 790870101 592690988 582922757 847637219 53783613 697837095 542928771 310479140 476012004 973630074 855052524 736175935 289384500 932869208 799201512 857710103 654568766 419366173 526682433 6830684 864784766 716296438 175860521 107742499 438074134 133012217 231595188 699680133 256263701 204713741 615570139 241646347 775266796 342950835 470224491 648224053 104591227 359593514 661030617 857456629 255131687 99288760 72251954 259036185 986186120 79935066 193549663 110679504 105215318 215347938 951480688 13337679 613361054 844762184 2065375 101093950 160340910 409708585 31898785 192954441 829680577 132538835 642236956 930813279 234880716 835111380 14076659 672127556 588420597 739270141 70256511 200310911 423571144 888984159 140954419 333478142 938795117 670029962 337249488 671707217 92276294 245927777 834602536 289005996 971611934 973523901 179839587 311553020 314846367 317110539 840557578 863937185 711883107 932945777 352768027 752819261 160714927 534737245 344771390 313904224 885708816 304539952 746617553 327241157 942170744 762412606 523386131 282316231 734801969 407339272 903488236 412469163 704153584 503932223 569690422 7517053 986036394 232540321 352944262 583193908 456623503 12883927 54743611 431039867 650827646 334381317 793044317 481992653 21898148 407774286 498842201 473510522 962053915 78670952 527006467 139338322 807765723 95660751 974634759 758618085 249923519 675645587 432045932 965750896 135775892 500188875 687484480 222467441 563380773 516906153 62935490 140547863 781958657 8696751 361556077 703171385 455469955 974707144 572530582 620523668 878593232 222529799 879466959 3702626 747556622 765590228 534635372 120204879 666601570 575411320 810200469 366286866 591152749 472224605 809179586 596681048 862208939 334009147 717941345 836794601 442980765 909739546 219992062 715387870 982382793 966822474 865968600 182877798 134604642 253055181 802465574 923713083 759185889 634387882 859776835 8595241 25488107 272216022 952940083 13877207 405535047 528628663 200388076 589398662 557201552 284103760 943635308 687303715 833897606 900860626 126477026 528268504 490588705 594724488 6002366 14508935 707908572 600070166 393972023 681678613 634588149 484273110 156200573 21756934 916277643 503986904 264448200 611918847 692935504 135715639 158550855 665761583 24618174 724155809 377772369 804074676 751150197 291960600 850753404 442591349 8577297 172145720 138527070 716363107 985813467 427653880 717350838 254759414 838206394 196565037 757449878 559366438 96253355 679131494 137791013 19076394 150970164 485357965 420087194 238621474 360706104 632156311 4964279 59128563 887013377 674932591 824195024 730666851 865233664 50017269 588881522 246937102 45472358 36372051 424856933 697518411 238234479 804150295 863416465 864111990 614756580 642385147 955211380 621271970 243456842 687769680 144275961 161536171 545941060 189175131 309673291 931972955 973358202 389230867 669521867 152634453 197889034 857696225 469353117 22733114 860148662 136685377 299074762 673209863 915748838 439356561 684927035 490123889 715678489 870341217 472907260 668675393 280141260 24789260 200168190 935805832 760514562 724961447 499159525 716760538 17332624 980551246 642522743 597124468 259968306 589631245 935011640 128438634 651475751 125361384 241113160 489809942 65784090 736476556 894902449 104450913 603531218 850454204 664375961 601947320 745182622 799332807 451202974 95407076 814719611 879256425 244093236 39732891 439165884 52489110 625153733 193718474 585279663 632370339 132975901 497225174 960876389 807835902 469984785 534604273 722835938 205329280 554826234 269400930 188857807 239902953 634866873 35330179 652256826 892199349 829340740 168919452 678720473 718022667 976924674 493669875 87899985 94784808 209260267 571201746 245791259 609582280 822347559 175153858 465006961 613205678 467870230 468842835 799057377 401252366 49691471 297719605 939153305 951218288 984563740 340955686 180937153 453707108 513659354 44024343 87651521 799293690 47869367 337090145 721161577 988003466 918953507 376635583 437883411 997214520 622586927 548006371 670632396 599921120 275710757 723021303 335242846 493634113 404069580 394300713 543295448 404788262 399684194 374666907 192241547 594039647 609429594 807705255 509717731 58091339 131524282 668354422 328008098 721128735 761256252 861435556 194321625 129566886 463431035 28953112 95733930 111892494 841154644 244782952 429615853 795925697 777870432 25126798 57318650 179932092 339427214 168194064 962378966 790914823 798070649 434968505 528916601 522252789 180101106 912747750 448861525 249136072 431825462 746372395 505385492 300030523 183398214 315880705 705141710 10570789 541926860 571218453 713381222 316851557 871574217 62854271 588490164 695685440 449708634 127808845 888005756 229500568 493141487 703434726 874656536 556276334 796499270 801153657 740707056 123264301 388454135 449777091 841141810 261301089 763773042 51725694 188867496 959117279 68693856 867308026 34009820 422483328 171247840 543258285 756894096 252936163 785805483 969422025 782875004 900785350 712451326 491948757 843580009 46320761 308103362 416795673 649101075 223384443 566427233 678896256 724365052 544672781 231719299 668018151 66648074 558173455 867037245 926731030 508464405 354518468 591185467 211376039 885574 619013482 61869910 859468486 77455196 242220003 119326149 919112030 188516588 900643509 42048984 180061955 267112647 897736201 19370179 581053765 508886373 569454402 511295852 124163443 748229705 575543615 466730547 485036220 766022697 795843263 149983928 294206368 615253949 651564943 471668412 666443764 697698680 895007256 384763617 532882284 802228964 677303609 344886723 356928781 259764036 837684417 275812048 226233325 481862537 211323150 764706892 407189219 552928285 633070441 762774986 984992666 792446440 913139549 794453899 234729705 689394468 27430972 109846289 138939290 667816740 32883238 172973309 170153150 236054423 845303755 400662395 137704694 716403641 700200540 202288279 981542339 714123439 868806499 723690362 693025309 553668809 44932119 191745156 620562959 784427241 26326584 5272795 638457452 712913475 819916122 825579897 115247678 368120711 246646736 648498853 669541598 536813623 8906293 606767906 122947227 49086701 992153651 306036851 239955590 303694523 470218918 845572869 806241078 600987018 223651847 285133435 107403439 64383410 846300106 624764843 887407598 955773072 10769784 743815075 332155640 658381435 920320052 123402394 852558064 511884032 446426376 213411408 496471119 323094209 211570449 540274043 234276615 394792536 671545555 729261772 925889305 91615305 606091567 403121619 900447443 327707932 258522437 526252800 438926818 828755443 101881925 871190463 770418185 482623378 597913977 377814068 478954809 764371718 939359153 13753903 231641439 204855502 339408922 629951681 541241906 315370844 480016171 738371062 195018304 324272661 816151316 365619768 170684950 237528378 310084575 577635579 799731919 87051693 288698958 622422138 416258905 964764348 330058888 490093427 41092075 410179846 263954945 684167260 666320870 871229691 156989224 109908475 413343075 497123255 562482983 192471232 520809993 946510221 561692691 750115218 862774483 285492213 439737027 775655605 967643400 34674534 794010477 551137679 385508758 190662984 774423907 146488117 955252493 108008538 235370494 54953997 191847059 112612162 377980047 615349982 711012843 19030678 710747163 286858278 854725127 101284329 885636341 726923517 429115938 990798917 935210365 909746146 10148382 460697118 413409075 589694974 656664491 695653418 963530273 543242300 479607623 969617987 529404558 606788481 770788574 256890341 181608562 329445629 775867211 955197782 322143803 400725673 138418936 954557938 163280169 876840594 382649930 995516778 512257761 743505591 962354163 75636611 844015672 727646689 849555911 966545691 702579743 1425089 613471121 113056612 789300004 188130631 339934856 259108624 724959040 510692310 794586051 387906849 126744443 720630098 200271835 845804867 273476727 508792449 886815233 965768139 485534539 33597996 398186851 146580188 618727694 283747843 380746492 84385526 872475070 142278778 646336201 869331212 610308321 33431401 117879607 707670406 852337881 237976709 156273386 441084307 247050779 478224104 322082393 723984169 958157017 245204521 1061005 452867156 189414646 704320944 331366103 693258457 441991168 476250990 100222132 761865368 538123498 691654131 354941180 101100922 913377115 320542759 309996464 803273094 999457804 71868146 801947798 305747751 758614072 336617999 544326491 307642789 942599040 283057059 815434371 91451120 104663149 833650684 102831538 373534307 870426976 27522113 111697353 489619635 906792428 63526845 76769037 576721176 27100513 658106576 717967485 382724749 81574200 698321907 799453386 298011336 668485113 656016907 649725333 287269745 189668791 35539873 630665030 21933608 706613778 726504854 979264301 607938236 251964029 63630117 545477775 907147236 125641676 348287536 778147614 756442276 455350532 974845722 947496264 884330990 844901786 416976815 924699247 384192854 134280113 174313053 273504091 29912327 962653926 103911657 135412110 502589417 442731478 165454290 998225830 568812474 904652081 425710215 668483267 786662471 408634459 215150781 647172743 215860559 778866109 320621920 748831370 856134937 858333755 233634560 581030486 624839202 349967245 463916539 909074078 547823662 821384596 870890566 564942993 199495762 111440373 903712105 939204430 283031438 399994868 714087117 333657114 635120510 360969291 966731031 597845842 96019508 61553253 293739747 739878779 969926062 158829911 780664018 138509359 447164908 907951470 52634 106079656 715143431 394419049 769681721 618519931 655209300 632439320 320056081 950961237 404528533 945419467 117000564 925487320 364038568 570933459 525175484 526295603 454876038 175322104 577520235 102982915 175908064 514920066 71678736 935857480 515629104 617283702 223632148 770515515 508652571 386672407 427574233 213229174 169155408 681464026 764628883 114377295 422779612 644914350 192983799 191000863 404772451 214158095 903720478 147971804 19893508 321406650 733653780 79052088 459795537 501143109 799119543 77722169 240528923 483266472 487403726 873113830 278913668 252395670 178342758 508771949 81122018 508235980 221245552 270077814 773130465 388177991 515195447 572267554 954373248 316678563 443171853 500254843 5191309 756740153 57042166 967173688 266434890 2033926 134279966 689046980 897935515 525115208 909716136 529725876 886720154 738544447 305548331 271711985 397545668 462011536 754660561 705421310 18376340 428542785 150935555 40017467 538585683 59337389 636243855 725415193 403211841 374475676 123549967 429474151 34183278 754071465 810193455 20995771 402495458 985857436 628669228 31286139 109440301 647251220 552265147 527395268 100272303 243345770 859150277 590251798 623798552 924154142 815006997 785633020 602267438 915453712 214497971 554676687 578113150 389616573 187212102 101574286 190635953 672002441 755022438 916121607 367226576 697533228 768990867 30074255 805160919 490832266 807629189 160610483 943764258 391177950 481077253 165865961 962768185 365524372 739124929 236717419 650081475 443102479 850790017 645447655 440853833 144352588 583707245 189749991 807129020 176582183 806058808 891257486 411230370 95815044 858532873 227387890 443974928 11311286 111914669 513012906 276170893 403785556 26984829 992046058 24334273 898415782 393245325 601228835 378901685 675119858 738622128 701184466 512739525 731465670 421016439 178048711 25637291 568185548 105372615 234813861 950749254 806035684 358090305 847821504 411271180 380340972 174209753 114530331 612612134 422280483 700442200 320972328 132355507 920742071 743251404 693201935 76831879 707872564 133347729 996160387 873590549 156417597 593863330 285893021 406904753 593765431 534269704 969655793 233950662 983288106 282124361 926249924 43449470 57991142 263530888 181321812 318217628 522229708 127174653 999578431 764544820 121183379 778360403 193526825 742901414 604517333 652887118 472914432 587019125 616852338 270274194 466355483 787589039 778395398 779152210 163904522 145310218 983025080 985325773 434868183 802431956 781804844 59886319 242039859 517323 94748125 137305037 123378727 384410135 485025661 959895318 398508400 393175664 349623220 325230353 845782641 970094585 191101780 991478214 860584911 152648107 623863393 726061803 217267804 346162815 215181272 813835861 305148392 513890585 228584619 373808486 565826900 107467382 630395328 869232648 288926238 431325310 12364303 120469506 669483726 435072977 959819681 253325445 352661898 815091439 136314388 122419073 100796313 944394016 150337891 868281897 160846413 848966173 451040231 143382720 723043486 299613008 594169019 23080617 543969887 768510838 987381022 302774941 687280776 19773439 853244875 81359441 342943417 724723964 912862378 56190194 703580643 257013134 394483138 499440385 647489203 646735790 270033066 959886060 222216764 414418956 262685104 284710760 277389374 715803147 247264273 919669591 398795959 753443213 61833573 12672571 530310186 898415932 662289691 140055364 356724290 817784900 108837217 433695852 849816839 377268040 84303984 268578088 797129508 919717292 321066715 315986644 318291648 961411188 450463960 693949165 54208085 984456022 700113739 180617064 154604450 861003903 382351943 368246504 859102333 565244474 340634239 391204612 498962783 607658537 213109057 139205616 823859485 484861567 428090329 74185846 724077775 418530277 420128007 619523958 91573109 954337573 137602350 881987076 412036685 177106617 480189148 581053928 941118299 133952337 345642451 761359013 613286211 689125378 493068701 960871843 919531160 936360132 895012907 626650456 357320194 932948882 742479989 237778288 886226518 650093388 212296780 792489037 678593520 289334406 545996202 748700128 871560022 73299257 961739069 413443486 440367783 12078112 973219360 156262541 147874230 425063237 260997235 613574482 950821393 712252821 153969812 669862110 358655214 528064500 188937058 895167708 196709367 922299173 237795712 858100355 299970380 688078401 276691287 89964084 408542167 447970555 513634699 510522670 145990672 254288190 416944514 861594780 180605583 85886592 937614963 372823245 464096554 661490901 979468758 621432037 358037653 250867860 671217299 826788633 986886354 920790159 280427529 283109445 964650383 72856837 787558871 317504109 861957065 45710363 314003579 106321760 516450925 194816976 629235170 842705936 67480363 566318769 926834932 729099827 891361721 353026173 675927494 626915181 948919059 527891162 117735388 169647880 250409587 927931796 752514476 177647849 314720932 316271057 318632799 582115912 259019279 808293223 249126269 639348578 341165212 971620909 253893713 398562276 566449323 804476510 193785695 640362203 477781453 192803047 977564188 609916039 507232688 20175797 359951763 852667460 925060917 424411798 515858054 51764553 631887568 735447717 935547567 219055343 858897717 104007493 382925881 260725955 218880958 844077177 85297283 877294890 194034880 360340465 796744054 123855845 825291270 699781794 933579923 255168572 950750520 467387951 416231422 72632334 66364687 741815005 747476559 587390526 654582752 486494602 379339374 526668587 797723707 601653045 952756443 174182865 486091322 136334874 932642936 166133263 300174783 955551680 55517821 885575925 576612134 755568339 923700276 560886184 939733261 766147312 431858768 523663074 926907180 20329345 520436444 430904379 457692459 798760617 197816949 467774840 217511166 158600324 14851295 166953193 611002076 369915944 105671256 162312332 600104044 80167659 828125437 84411264 768229453 776297350 285320682 974686490 437711431 853363085 115465701 746761427 459777980 916734791 818955862 487300759 308811190 279029574 601979851 731332569 108852833 82795879 985037143 698028538 585808977 186804948 793826089 118220326 679227927 598155295 500696734 557605642 97425236 262220849 919093826 544031612 444866562 754609834 392459467 326611490 404301035 770835128 817241628 166163275 577571558 892452667 393156125 58234698 40182939 366011043 63074448 295333230 565160899 283139448 305716833 690103164 646644874 503631373 296540579 473832435 216848766 961291441 518785842 177911429 242155605 532066590 935830757 973818701 516933685 53625028 285009771 909626497 365951267 992376474 893323483 318557292 734841212 57872289 564600643 953676866 67295954 78098731 939257115 94396954 61896396 630170840 282901529 34976080 318150492 573379347 635042703 416848966 717666894 32645632 349115056 338909958 950960445 626273140 721249317 310078122 524042940 274657252 424268414 482215715 467181158 902946577 848788282 893673903 798759141 853421973 594025487 581606680 921258627 342394443 8921211 445945424 503256364 707603455 733410446 120270758 205964658 806483117 24743041 527495453 812958269 996706545 193526058 501591587 135828217 259062615 969884107 194189781 799195314 875407925 833219200 487717822 877696107 782977548 221803003 211186094 597453513 748634861 586800948 956152151 341762035 522479678 91816723 934095394 100268975 817328750 719802875 901115928 297380670 737471718 218025397 302059275 771995967 714808247 370879588 740108185 941423957 578133074 880628178 390204155 715541018 197402747 960465804 775108548 399534399 647940693 765986912 800618756 580419710 15277314 571097378 236615062 920412826 808974618 231301255 410986658 345014580 406545501 471176120 317164895 39497463 84462936 309167874 5473201 728008851 440011904 292874720 415350847 711141851 335425189 529241085 323737663 130475242 660012507 114071963 946662880 699570643 182452713 625534824 676344749 410779155 38034061 499846012 920845255 291552569 750591918 563042388 908742118 747073995 690307220 212085417 373539523 582927391 709779776 101838878 671454577 840637563 599290992 452623039 655035394 857093581 158319503 488971683 895379537 877434822 226182807 955404907 894159831 380596301 574453265 83835072 216990557 554682638 198938284 700284510 269073053 594191620 666404012 576367583 822271572 585358013 526107391 801725787 723378277 663577252 915495140 336221625 542187364 611515157 776340923 917437071 390126998 773700206 353843447 852595216 336437327 347467784 104349552 269968390 683393977 471293485 243502465 29858779 116770992 628524052 933055588 415069267 475090936 103498293 125582211 746045405 19520179 526949504 690495443 510547071 918712337 660143404 361092756 817241198 696941831 834820628 636613966 313670748 359076396 28955321 468191115 660974578 277752570 910031605 277468559 377376861 740950918 129003514 423678729 605753815 627617331 174897876 516684571 755133221 583938753 624269783 783662144 906949758 67276097 97104209 182608328 737965043 942002596 456379348 207904328 649728793 867434593 840791727 787999158 187034833 567104531 779432263 299243274 218180954 527113037 631995404 661331937 757372392 364290569 894857884 187344012 184519081 392607839 468992139 484471818 569737720 852815447 577869575 275133383 292845020 756603256 362178280 352679759 112486320 693101646 859887544 154570703 327026047 958781274 493822631 565577467 879291445 535675619 45924778 73782866 337130097 713961282 673265781 682587717 623865916 917318150 891325421 798273484 978835140 747138982 481794764 23214561 909908001 948561604 380104063 453375521 438252653 729099636 292901477 603115730 765938653 270164973 197495519 422946946 851503391 807750622 740330231 931848299 78696061 371098163 375308825 729677410 39528395 513093762 181676183 274867093 485885087 315600996 903699642 930253694 249373687 547490905 12936770 222293895 371451902 657325122 407243984 650735226 547758686 402220914 994603857 550517013 436010779 320939163 654233550 354337166 446570714 743230171 811318492 392193873 69469042 907475676 39873901 701939061 187777629 287694036 331156290 497859941 517815142 735456726 379718117 398865800 168633712 896397729 991198263 11669491 657119204 747379744 502059712 464033554 704381427 406507246 840291303 47553369 465352958 342224716 380845323 561693054 606539159 732010238 322743509 219728413 768118685 971317911 624315835 840311025 204754790 571066392 875278475 478585143 580611832 842504939 143856833 623738057 41416438 75514327 463084331 237249831 747436056 39046351 432963379 913638321 941688395 964601171 200413252 419792570 567250322 420009317 367441034 878740348 555065503 482049041 869093904 162534816 591579066 854560688 557622847 448231984 373836424 330789098 645942161 323345184 280524619 633215762 820521568 720390918 443386080 778406914 202097256 872575480 672762056 113264345 710832293 882832164 877727975 414523614 466781315 331832962 890015162 773344462 926813106 543354958 808986803 398375562 975538726 82812535 343468465 855222655 766762060 637514420 352867735 288096211 831674290 859262730 329007122 717117552 110420427 763261950 477869993 715666755 807051073 872691091 241893148 863344302 576763849 512198558 375530864 745691116 104509040 130611083 825110464 860198318 338386457 935078016 551664668 752311882 194318799 502919949 438745080 891746835 964225111 92616816 359905027 200419648 943258490 79498921 172598971 850388082 111976283 474452331 867497410 824383522 31202611 445191425 248627448 363052295 235855834 508654324 159407188 91127667 210100328 248378451 790807298 892007120 111706766 946131792 187903558 390701059 303036051 141541812 238900602 343462208 549181529 229578627 321684516 127781470 851200 354768431 733097694 442179672 62324496 681253681 677325481 577042968 460588193 225525241 957279830 394264359 395973076 707213617 54934956 519061624 409950954 878181169 519744309 316577848 916444491 246115643 616843292 850469206 173220045 751764366 440880337 906997553 133005776 268828415 958616757 877232753 748341400 380516212 909520886 83044896 463285712 397110019 542686390 363527051 536511256 357207190 880713305 239836759 915805730 91494110 942824020 788682557 362399237 865081041 556595107 120011352 712942060 403115565 970915130 590783778 714117891 269257353 719248407 540676395 162378183 779329378 555022083 646467745 578525888 7035160 241297802 927230385 374951489 195346329 87040265 989947873 194743492 383626371 667103226 285852135 102975017 607648555 672320374 787509958 706459497 562716820 938239124 430813462 678462716 84666460 682409973 35638801 6246851 701918186 548423921 930668745 846271478 44127087 159603166 494499340 410976279 923204723 599300828 229179680 591117654 174858462 920846021 524890246 546730735 440500475 998519263 728671642 971280533 49017028 51039192 152826004 256816643 860029528 936561872 108923231 438319124 223697538 522971443 358674385 421240925 154791869 737250614 919075675 685350541 260892109 868167059 821422555 385584215 111707256 717026686 265199546 719662827 662233426 529761970 222176631 131431040 408496685 498307160 394506475 925860430 490366313 337733795 127667991 254160005 537037483 713888653 156299341 566535201 109989910 741718316 946799251 590805027 224802295 190431445 960190747 265749326 932407568 690962911 740419787 524983588 298389247 801144639 168041970 673981782 38084295 303339276 480720341 422392503 391985209 597074849 130321539 484435791 175567614 473141319 820817606 341441103 52691854 943752501 374221783 581986028 280940674 540037230 626817198 773434712 101732526 203476716 806536248 216936492 707892348 331475577 818066896 48300080 42494541 539789611 723717268 191990457 867189444 33856411 786416529 662135787 880749271 642248645 485679879 337245554 406232190 127318660 265724353 639468757 405932643 563596503 29896315 754007608 875937990 226170863 599788946 17989354 41868059 798454656 421645820 961505005 249166501 113081579 286413333 378186293 620261641 981967089 930669131 675030477 141375221 559894151 570805918 825549651 716999745 234122654 632130518 620119421 208561695 837570429 957813909 977043701 293998530 965337760 163669965 117033477 340879304 762457658 827116286 703814647 302202231 940497862 328861794 839592409 422362607 853612841 647765706 732949700 534380529 939651683 287848998 516775957 23600096 303409606 507991443 742952878 999867279 549436593 38522336 619988446 702136232 373789973 853091717 573918588 66188162 918125671 288425274 483065683 598609921 176696333 984320033 355127158 522869197 856762171 887907100 907677805 447894021 52968978 919625425 728997012 267502375 389904874 191843498 427958856 47032996 945986518 429508987 59267106 630248910 186943526 288862383 63605968 342503314 507105290 79293553 344051033 796648262 786269178 291558928 658821610 373536532 865630982 956388233 495506961 32408268 108007456 159306220 209858287 223398656 283500792 87780315 34821541 918418640 773717077 432582549 885504642 333149035 708538745 980703398 913410857 909364092 302276745 600913157 866292635 603447145 191087951 55213770 242667205 884379436 481202503 959761279 109274083 438042414 215925974 977008892 558790561 103201377 310605001 895958909 354194905 546333551 220596275 257082271 557487271 315196484 574683203 809916174 242208733 815047196 958624784 941803243 827785161 193929655 751751484 236384107 213749002 299567649 6529568 309679234 652347935 930951003 394637535 478251978 562897380 532741456 382393307 40348125 715026570 421209524 124279377 438773406 34288036 306949468 443671769 457584637 321887809 521582452 369896736 593328927 645463507 514808997 531248606 623398417 401328130 984084928 748061518 401362499 762869921 225727024 436196457 778304479 208339467 566447950 183374982 378720265 219389057 165893238 47114278 336470797 378828008 897584630 70295246 198608283 151221723 96121715 846750656 59360618 822454199 877564969 172236472 574069450 505894429 982433324 406798973 143230470 630260635 220431133 143571327 959027297 956566708 320515337 544781183 446460579 801007989 973312539 905546137 615177743 565963961 650030274 834979068 623923779 336778752 376321124 608810643 113380822 486405714 896606260 323868060 146760833 654948634 413581361 85453095 560443005 40176866 680811463 445270171 371360018 612061678 767206826 961228225 18729573 957091124 941157424 863384063 821633201 316433048 480388868 288207270 18857292 152171671 927574312 958628351 411983276 128071743 7287942 931391381 949973877 305617922 87551326 145100551 149629725 798156417 580400993 200687756 817917185 943395458 472068112 587212933 41136483 901996693 213458055 860254321 412537272 435175097 182625131 116202031 290360710 825266889 351159601 376584385 332309574 443059635 19296217 388287258 387194816 90515201 318779033 40583649 264818355 167554541 57596399 625982916 693163767 3846332 264966335 679373505 232196393 430168433 185357559 719594722 582104497 630872220 377245833 200093454 734178834 559761931 731381123 330230019 337343469 585210766 858777315 181452658 26465371 286618461 875555653 734076260 608457840 290705443 335151253 421060683 952057083 194345210 630475690 393279175 30632399 39474169 493231649 178937093 30300682 64441731 389565637 871099013 806150268 228693117 934925955 753757340 699068219 549572324 989602069 407815585 611850669 39128533 98948701 815097230 561131197 607755818 909949359 279286306 970702378 239938945 621931995 369356081 307060223 739619271 388453496 427640676 671385112 154686938 182174768 600872910 782971787 53371840 726697236 137162354 687768876 747398047 995398584 654355707 159149904 557959336 36196744 968776079 198674173 649686657 807545664 256986726 511106042 426262795 697278490 186070796 184825817 961587751 326659615 230777189 999057932 516757934 166686434 350270027 659993737 648517264 844216863 734427219 260655092 78585859 47593591 351159715 191775738 447904728 709022451 681937935 246504549 839493321 534435167 251529051 315099557 263331693 329140984 491284833 331661328 761656666 100628840 72525601 144461988 881986973 964892310 2114212 322673960 908876033 696883736 395305135 529317354 665859010 273185516 295831577 131147311 923763898 750696485 890206700 852323813 376432755 44271166 634321765 561614950 28712237 753683486 541944632 58644556 580915728 986347044 500436676 603146821 998911265 614592088 444183241 579995880 368725041 580491721 138720318 234851164 514720562 713111365 513385114 493056336 491538356 775851185 928783296 224865388 897320760 308681505 383640908 454146421 582518924 141228121 810586503 350780602 503590341 787620099 120421330 383564851 557227213 865621217 819987958 579105588 513869335 59297720 998480933 305108596 151745584 859808043 627380512 187236029 431915206 474943124 687257536 462632738 122033623 352955611 310525729 565016954 682777980 46787836 259247130 561920559 733494854 645429960 256554895 776599054 350268383 276360243 414148069 183632461 150590128 926297314 615496530 843295126 276286079 884041540 101146573 394353007 671156113 663770632 979984596 610291129 616896004 963180366 829672886 514180827 820957798 552050556 504526464 899929820 616074359 594800815 771098863 571260532 402084274 658870131 177338687 713018116 504312695 697862051 942842354 276552280 569911295 27567741 785105614 356030907 384195369 592414357 172251275 538893178 838503971 441901953 607119520 441524732 899301060 872098285 148568980 71857502 671012057 697220830 980895033 432513742 954777639 606313376 956728881 710909545 655450244 601320038 851919110 504475203 235239033 832181669 853676845 474917982 55182540 668904742 665420928 443390390 450422890 978464694 111878873 679032781 167976569 663428860 22684308 505324035 381936203 998097394 519703006 190683265 408970608 615912585 762560369 199296661 253157380 972453851 23271277 632788373 372007135 949543220 598279378 61105828 67897361 441364512 614746825 276703548 666646375 432157880 737835243 528109740 81903903 597804719 159686891 725878464 964382469 905714449 611240546 228956410 29381299 513910178 399273610 136263457 687037385 813055936 804152497 139637493 819726897 360031295 356287028 96810943 298977267 723436930 346425873 828510308 322639492 863049775 153793817 306682453 228982655 363995392 651383799 673052102 352717538 193229054 623915211 286394431 780660620 28695678 473043365 195282038 162188835 253219574 619988754 627816747 139645881 746553072 889158647 991867662 584608390 649448272 331054700 356823533 958257341 147961723 149970623 62175542 819292860 563584024 929854215 135972659 371519413 276085164 733311332 399210465 518384306 731733044 959670779 533382432 930148650 339680143 478746826 97153846 346691742 722797966 508235001 642612889 751783157 290544404 567153623 697701221 429924776 239456336 788317146 494716088 226098767 629943614 692682418 159327645 660844931 741075482 609313650 638470992 383123645 725642437 581163369 685806985 908285533 599138592 481802416 438845456 607632968 225800500 728523494 607759422 617356179 111198735 494879795 168281585 79229148 617379973 724819945 875406364 791688632 574160286 673299476 234733226 789571148 842593467 502781263 383793371 894039424 575130624 292581480 637920123 483117094 141946182 929615901 463236943 576960443 907600398 414713041 679086554 196578310 831062458 633252061 933470715 684962401 223256976 462821771 654941128 253269329 389213857 692588072 810145100 71075255 152769256 974051529 460505728 60276269 147657886 168767987 489892263 822915228 620893670 345825886 752578255 655291982 400386927 140166687 780092732 842696025 28807828 284519056 453421719 8002319 906485804 298857701 568858216 688728921 972137398 782106441 761282951 177478619 282183754 246419954 77998672 464094947 932590968 493261221 37572455 496271886 397036857 143977475 958717269 102275496 787340868 784762946 324035196 435233387 15967892 706926589 266636998 614923555 958198717 525258843 830563972 891196111 690421086 532524709 644666674 780764929 705738763 874940904 164847865 152354387 876396646 242688603 544619802 663834969 826908516 235081182 352628525 950475767 242312602 673295657 758666015 796610170 197404212 465483672 248603824 625542748 389904248 997254235 56022083 149859446 995525365 476149479 727790147 417078048 431681104 272295989 841919912 79164462 598907735 149393473 858912209 460917019 171597478 463261456 393321432 267652316 761534172 802639727 752079200 308143056 259452468 657603798 930473092 137546347 599508384 165826320 585623750 52489494 501295278 563931580 289135359 6122741 210262759 778985838 436674608 274671561 234337538 305795927 23737702 166143806 268341696 810972883 614555894 680825577 17360356 322083680 64486521 209108445 501235966 66746410 137049146 237066582 451752449 407074161 755425 321754699 851557173 683708730 937455234 85262713 634562951 954531612 204739319 553704737 674015638 717699493 576701490 406765989 878132791 145395296 641585527 407137298 148866135 528580886 564252741 852203096 129028820 220036636 880845993 985092857 702207722 61840564 654671874 51663053 188344709 439459551 677134850 674878736 912024454 969592225 814744143 582063826 952421441 3276368 228610630 310579068 913636320 90729582 422825906 978919126 188370266 917135425 544700166 519282130 182705103 304310113 625290251 74654018 623424220 501822539 588832933 21747455 600836846 494728018 387800995 74854498 711122108 294106869 917372905 112573517 818847272 246067131 290881332 166457363 35392448 913574809 671465502 217276074 33717897 353989588 964657524 770761537 101966530 246939669 622915425 827935328 314177720 3140129 241691271 935508376 678048356 228479801 865362364 185933323 279626898 136047020 732852261 900142921 458178153 726424483 351359891 588144310 670507158 25210701 336225004 877420460 741186051 719174015 387151530 846876677 439256516 227914695 324657961 920267020 301598292 320205653 728765937 695107030 506635489 757033010 151683945 557825645 716636876 304975998 207691166 591865339 415026564 645529144 421074245 852345525 876315953 653268269 737445547 390484800 94216544 924467928 599195218 355426686 332060067 745666099 620619844 405026562 246985098 197121279 664384612 6062104 266113815 864176180 644856786 2967690 751414460 589130458 862704739 465233866 155933108 605991343 854219711 233037382 193427671 423249526 752052896 995362098 103214191 471379352 929763195 775482116 483495267 581957491 487042163 406047031 184726191 846032089 391682643 946341916 97985405 287377303 739526618 537320805 266600071 36280860 439511865 312426614 155832305 849014393 782040081 425024387 886715556 185402842 213817356 854262150 307710096 378301668 221789429 833579298 814000528 803145151 195297041 314227781 713673532 965459989 898682030 779275373 196438349 852167412 807131984 559758183 951615427 830612867 200589558 527913038 614971857 656381992 19234731 210318861 673079848 780877642 959500769 781851214 461739044 228284200 96338878 123717767 7298484 118263262 930053595 116205700 43611656 880262548 828641469 385997075 131157085 447833080 515739815 923467899 494459093 752722127 562790890 512936733 23194535 717608959 333376635 451670199 439992363 951589329 532487566 984826148 384374769 507261330 328602116 622148769 89757717 349126376 216699188 478982122 984466366 584735146 239454834 211401160 201081378 927870894 471910673 95548178 850353725 128784034 723856082 229790811 814080109 602482452 629840020 652723246 816965192 791182310 382669520 94881129 286839792 533448397 625461498 742838839 521493162 472452959 440461625 76242347 53083537 32743502 37670607 633103585 497623978 278967260 129312785 343742761 644352870 272674343 338723878 682199841 399253137 225255014 687798008 739899183 495362854 856958169 379750201 711257881 490445516 650083154 898573949 667625707 882958209 108741868 151152481 383854302 97948924 333154195 480172272 545353618 139978021 178767638 850398469 21122553 574897907 370325097 856148489 147283334 687133141 397140865 127755608 482693447 466562399 844578705 594754904 422503676 274455842 146434766 23544065 18370677 926244988 180035015 271294872 169765512 931713631 157738535 925413414 485725967 343086465 951162722 759098256 143155378 312093070 993128602 290687470 998194343 332317113 383622996 859232550 745358769 280448277 359679287 149317253 252973158 422688324 232667333 632690148 596631888 12362541 590609465 598463159 899903915 887240724 556946159 38411227 372001623 145438933 681709616 184878731 321679333 271979361 776606100 610214522 748542600 119975534 381068304 231521748 353192028 611975589 245436788 330508222 455567452 434359354 950813225 598965691 119829618 478939956 664731056 821010114 96643732 664474633 780056408 733423666 612003712 369400838 358787560 360414081 980694018 347028313 728694832 393804320 305849425 261167237 85130702 990456481 348629220 45767249 830404433 905152065 131598787 813312346 257820573 630034253 382281339 921066673 459393080 925866939 557400848 371011636 460444335 733212367 937963929 565616302 35964958 521232944 735778034 432546481 871962998 144580564 447899371 98775175 635934466 562872390 348435320 618980298 134041758 46927250 699124837 122861078 431182739 103016498 621249324 280050931 859397302 728318183 683110371 898724753 466559349 182378105 97844977 974592240 792860553 543184353 444439784 349944227 59659419 542860135 646479528 153101230 532733476 56281419 54483909 810350109 768906190 547969775 7125016 182743400 92418501 564668316 872418259 872210610 589283568 276382956 130754108 960904143 377192969 649787282 235129027 703183247 256828446 928185741 534381341 380287113 384134443 30121710 824189076 755024306 884699292 740726889 864648959 382851811 694254628 441423311 635984715 997219801 141950010 215455291 203762472 431168569 927603090 530363469 201483265 816847013 426017124 896142669 676896375 271263410 714123812 537274369 676692723 83686093 928348838 668362823 975992987 173621673 332647037 11908432 911823399 63304510 871404340 271919709 47234978 317075502 390506045 504394706 906517660 147865548 468131336 250878026 62263577 901376162 245977105 471934700 702266174 883114332 233868518 957225205 696293734 20169255 841871824 78572422 377435470 310896870 116844756 753458751 176199035 408298472 56597919 918990956 276470137 840420258 821791918 695561034 755369234 816179765 547093339 976263011 368521113 721178049 467765241 472472040 554894802 305220482 221674602 119583757 288824542 578529537 531969468 732068741 95914832 739562065 874647820 799495807 515909004 456496832 183912742 968169841 601687358 326875598 122939453 978532373 555737791 67044060 780836849 667159702 99078423 565769869 963736355 556473340 501399021 195816075 395185106 777022057 662136078 707237907 812911142 39871949 991329106 404923108 452811369 264868562 163986050 66107633 752408340 844461057 909906494 660178619 545000641 221452024 483484390 691235741 55924940 916770468 61217420 887007470 241890863 995356273 278641593 191816730 420006002 926400991 474991690 911480753 655922951 832694997 137201143 962086712 846890192 700929214 71058167 54744382 699744190 569150010 322361361 76094006 51408032 302045197 198184310 358374601 98568784 112832069 11470854 389862827 240775507 690663211 436520780 573559440 85681119 119862578 141643031 474027274 754162589 438253443 719366418 662149422 503081092 57055421 163119242 696115410 494558422 254342992 135918795 456826545 735645642 378117001 210194125 773849426 703483345 918670162 448404962 489126445 128537898 149095676 11894292 873727424 251544960 322776553 962916497 856632972 713583587 206323964 846087255 731120629 840870526 466056233 470204331 516819656 696138709 647305282 325211552 874811128 696282044 306701874 888883183 473209926 617663440 870452836 228545237 933791198 653996164 896117832 519030363 334120619 559338443 886559956 726153532 800236301 766106861 183795359 874184140 694667881 980459814 899834735 34164785 700627992 508060539 567505577 801671993 120504149 347593132 666616660 258039292 367250922 816959138 892588157 829766501 389117756 49754590 56486771 950940230 272345414 372159649 461325735 738908971 183813808 998709823 847334777 963533789 920962047 349794331 245091050
