10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
17819
1111
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
111
1111
11111
111111
1111111
11111111
111111111
1111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
5839745148094751866051069416374053928324438993973775510048674575974327610482107588396804715801673852521785315488530895892025720596178605399578002935885303543681433860689006839075701174274671914408149806068724469785012836945494660725747770702105298231917592573734863055701677613894388955878440952480102459729111390964537309156843117131089661865983444703070311879834490407113228705666470560177354384605824499977999078918252339806899987203778006086037678169259841653860054458804902106690774367507640326910528225972251125602226466332341328443127724243659461765313528985583357778975058633546826428036357989377512885776693413600323326489099559489341372704845783744948480547005100853072774526570840549192673971718390153059118680798621177694364243295759414297919818467998794029797225003631368715231076878470988462200218629635102235118401399029811843039647263451554112153249769193979260074233774625497637605333915761634349186708971357705666835524133114113609336772937287498806002285345230886133029712665049095248259691215501138138362131758376712430170737469198336598123065865364732012420070641132786925551265286610679315923875879524546858328739866767867143642706228680150320281008993617328864221944330459569888241850751733959566731756520132635461513467915758455487053996444925788104294009771835298766075152711184809736025875089743001125594749838280988509617584402323233995374460548972632691645808962966846573678785801214645715785349117571167144261586510863922205454621763043383531772999834971483290330197412881911694741678859466053698230292504147505494585790674487881547746457119520958847900596319420629075055262324635035029985251785531293054853086229218188639194549426941224566744417732923483575982422846354529826164141168850599637938570300572468370102478008871425188449964942769653727278492001905478065363544070368685009741707352453226859215605335341403269361846120148605651846753699524332900510260185314673429094446105832826168488154472823911858376438585324014425690221308813199674480721714097903733161226259907612596666359815605673037638994507893862480953283453075573582743639292537916378126417207510509108047414909611386922864840394059306294408457042940295812610312037983834278921299186350514214242724156445992599753835668488002740209370032976305471616949941673160870219191775376838559663230525164059426657479463952284592263616781471230303687276832702362190427238223727712125867977057507078988218259679114683252329968861581312777921605478670745446943876697149110131631962352067589247232128827406427870029212943733815097948587137259696044472516856924555437195982286432793141956834563693647764959738577505873958055116239981794816784340931491803251127223165871102477083674143991164240815079336045546604355417334062837785719589106910858005208898768640379838979617261350731596168033502067740897039286405805360971622393141725846469610840053188050980498244304412369838061085049095294373171918668875320077764214172141638356060743889017508627935304061930552887090902459494882130956616979957713021734002226440216398218705060396270798011036632988597105687719956652261355002911019592041301541407808981472244130647872901177947244694357705810905647332775379099729570069860700796390172170854030219413678249648167223850297821778701942740993813148080753143141275973785704378201048198528392903733261697013738908619044379084096107269434156997618022048113828356488567721968016439239871275246434231397373306720001633236814768323572315651773475420628306923989916893278814164149526269404726480118221564141463800573595772328286072246470538395892534760042001194293035661778747673504253727814452984618347590721632241199531255675653067816157452382089704975026536769967823438146614317028050865594638278078250676543261653213979207562368199515572081081424784519687480781707400795406741122253178767078686635265567816551147670568888704280612531224448476819520599589136257483926571402666714242653167829802662394319599527888488101613625798834295456886477877124180483289937888033034169546076492177600052751649342303294963266701154739564559905344535790963835391906144261052019913271427163034691729603573052880595700609439792752762779590867763963133650424113946461653864921357281206841674283500116117996150107997775821424857213867507026696584181366960511672827336992900217701068461993471992710970054669690876398917540450035029870482167754043299636793813579020217723635843238874487163754836139030963274791308936808902122017285313939308941428244956020149532853702143809088720793138809103532226500840836220566844734159135079653350370499391295941920406399027595012704818353817028479212540656256600061665302217296604703110953552101472014448364322962794374852756035123258625830597874630040168119200714517699319196326229243468863556199599138638018448359821260573868557898247715609376278397017053975554529046337523015146181579898199998981005577896018784879917372320480635038149583106116889476256528653448214079379410475312001347555223084413256629247275139911750827622063625622892495939782036913070998276312997788350588365163096879171188124007184755507611215111759974559162538374509657276825014917339732558093497528420015153522756578207509985165146591578348202526765883447686600729587496289464214746676653481498742623586576320519550966583453019529226858932631396835298998082548646296152619511255000617409684919196231500507577270873638460487822674936224457809649216422517101781571899882915934462318395122834352205109178752675539345503064663900781539439931685097793750045045861621807287268481390894294298398305407058639690199994001218414813931878758112128967488399160077555268345855666205661221486832649442396186654532351880306436529804131295752265070574862453357478959726101903286438853077760630777974493298828538232296490393858205765494333616463452882436886817511588002922945394781774105387066880773049166943368283819841885999625486327302984865167496941409721212950098772762406404816351724612419214813168957080494253164310580882741229820367175596737243581708768157591511787041327173665175006222914273416892767088423832880920810034416752328006530574857680048072978062339729119983480945120079570082261072026372873105483289983571341265594726962496351059795245134458640680688507812012245264690870433951535938292413442661902668104810402594371056120909864839383382784700307808001443355227290676050140984276191553025136704873174911309623766190148887842537036615793115500646710997548633482838166898245644072617915305200659475341778982478560596322853344528774332605566758548378812594260957541373564819635124467922052029487070202874290450895441358371543719067961392301331550304755206083624780179510540103027466941002352935374256958576271582892353880115539405684285945554129061886092883382427501751173787073422500946667616650061805961660386402611981419465870352362201177582863162242275735113535524644695816595245611415121337661308679395820841286088909051718175950722329789595508717638137545352564443577620029760131899446923828722393988449960280403894194542878156919169102005790977693783336197475273321338409826527527134282494103153269397470318162871892351108577810063887042060089639405172089693419067925750237808719751419790055467729581834613869722719833224291991315175850391637260004085872907724870604376624779924527795813040446094371936797724671211638383368918075189744843456018332283077642354753878643737508942823416964613134364322776152164432463943280709972297496314501943450349535482434896560119685816899203086182344085405068644122415383438796742036312819017309464667010182118227955146557484670740074121881272363073775514007046471119891274968162639883156033018308973296970977477997679902497665881979319778548270039244004780469196906568094918742533285756041819992892478234127157413970259163471833578575942461521954836534377565677692308148994493236980430386520794428015384094973321030740013143581320228154216733017407389374034965834393608657025908584483590074041801809525213716749574704288814344644144957073726722615311467926825602977419844439377818863328103242636494806604141105028204772889837497119882324749363895326643166296248013365831409488257778865579956971877598727072321018684856262936655098382316409578370171937224720533476784262843591108176430405260254130422004505418634044974838363542202074184316322188896867549306785097215790880487923756823147823239940197419445726547348938010525619674011090208493507214287136878056094293271881895299333487575725450833526320394406478486998174898734798048770873472810510774204720367709478376471034751076414986237597747657923238442644396964793146389601424164915474984110299065623159403420255618519058867531377975141497227671983699270906449770606749356622146762598345213915543384564341156379091724097650638694258378367504353056867165020117187536332929186435428513186148543826584072410660592056948275748077034978055173365900148551821231354391474689429041132052560930897824384709051630662617978205713075637945471545182081143543227413126057115814903809863520921773480103409829524872570128059772482817269817080120303059629178978444556001509520950565222311219248270230474213166468611157152365186507394639891026993794532004019543837397632641072945810329272521379890040492727753514090635313880914606343938629036378853946771301155383278698260514783602589103828032329793274363057475963371373952288044915002349061561265636985072919463484881669229474609518116183833530232354372570684191194228117315706181119469422471061827600321193623663477726109806134634614911919565784324528418717466698911638877767582802545830989111949785536869148736667976060060405631181125389122413111588980574821429379741930530444473015749358819637887387990392145098837736717668631947884920212350072955303773237878559555404142363729831741555462943255495823502613755687370112388786985227858640932741857625777465862161881430775874851333622031521506501050909169919334375383807703505675853759606100565718869382616294448454699321461588150006127018865739724013266821647733361273888949701004669238017571618832643097132838481027721853641553252784498545447284911142370051970600469943518603266289249695553499047341785275444681131820766312336087456406772584898380356158366844679149852122490250300774322142534232774193170659292613799226537492431455060200111867937527453645574865649357711344644062880607978073627630425896309990801331554906033111414515514007463305284442531443866851788460264792480420543427138391392881329564560556150077862649091933295983333038176684376865060518452561617088128972831872718917191724818541008660130858282072584234957047717294206297370582818861755523429292491595348247748128634339256572925870757938945364246804055044690891869516141431404578868489830711935644514775179284975379370045812852004642535230289480336147311170100493294218521531792859044861514640140386022971978903390099359567217626911308606465815242792728951609166402096912648949868772937235433329596327354353019700481836871064492345124776498287612610661220017362491899711389240664728745129328836964992976474443992734752807694605343563967721510466838238594146643593542752558053488691693465010461979498774733794120003140662249973791832448236857450386003564014986939020665125342089077446045906745112851793659704267430112297800960095106435327290631901943935512371545676000600742693790201480050151347304586509605498675517653501222665333588508291708756604310644034585718932769247555173376202506687462725562875558130865798220403155299506210360353197509736929946334645053712987369909541930661804856453879636536944242454318743621277668265340533157265108397204233403350185677255904621260030246038273763984967995414120237111567812764948558010146384304760253343381253889893087877862365351384007030988798529541841556123854977009567836406607377036996662656331893409472397369288169648588420551965531184332090636610717156415878192705392800375999653955254552746211617635117569999750736181754234580689588546853730660426128918631003945183927144375078156431402540365653324164901899696539823781037872586298731869118586006867124462370825073358425474530906584509198181982428951671156660974054038394816248995985938579779062358122105031879860844412969316578295213939631941936145591586024775832716336252224820349948518267985078338840125868028199393674059596253339711731158660464430292912021428963098944674334027728741927294527329831850912404715357112997475603481421196431286853433101787967884340490434438168034198015183999455266490155438173337635505668077658739079453544385363894478392042198328000073205854235905516224083897063937989931094906053031833913130868538349167444157267432010753088912327094241925784928299522944086538624428905785095470799376006528353670906221579276403944934921694029635607144140097815265468802984882025281444387470695902641855856787534832782916769728313591551754011702170816324539787218526522498700367754170888089321720612041290486495906608972267242271345643208799205789762765481390485595317742705575766559248219285120722081043941873284863360069573384515024508003379749732981614420975467439385581335843019035909048763095600165854688854962218569605956093732204109509681707633080295783473499682420065925415959063425168859037192002848653747145080665828968821343527789483741306931486842540645561223287721203394786883065293728414929017999313056279003113853781951110420678495549859908341929287408563826716046768429555644574887757873981999011992169780463522895036536099122037239503556536709494458450087509932622392224441246270249995823195648324092908934679644135425584887924997512681587911239380874613899233999234254195471770942347894140799053770952030541288240130739159228807500486984077318726883759676774982947640110053335954428825029361224886496064832720069461401286048095973533735360590478024819915432024823383759118120842399182351739170070121175065635401171191031171316547302102926286327923894823436642641338957314665935455061364239545568857615362394969372275894258668648904228583495654489020847147119232132280038791679123461874773679493367219974093950246458372801501119373108877373000950575480751752321010177041289755721030026505491751644969068767922108572294484015179531071316816759903494980881618689326464354742831411097612632151530057455141409211658151864818836862122845038079007221305423275744849464906677930000486160745541847809647703785100504144128300107098937770858642024258851516541604935770004927809270524414291706673998639709892009320969254715624648757604681212123408372826770973439762251511660674997656237740439326892134406561936598615175840708042217707360454603101837256656965015183504961145764561260987166316837155430032993838429358645442762889617034211632665225804038175207361161307753149147391998109716417378649880576895297412201447283623332108900292660509351429283317525544768444072455918597448593447185593218633238686309257874670633983551662905771742071742884325822673950478939820194144578265834281024079270116486578477207305719607672791503718023643826537263514261679244948618723305240816799669696075203506082472518142488355359834304196704349381494149714891830120489274163356170258980197665156717310931376163196286434247003433379585521772810247255997479884663301111699472762925858327858039984799166715622217626121346016744621887075450949518195364400792343024584411784032548899964796672161088191654070475410332934473054516190819799532843493793924689038313215095774809288933613524138704220281713867181158196664833026560579654755098357240390809410545989359616777508229593337339149796743643535705016546141132413196137012634315655789375410165927743448501997403879490593090776373125349785902741172776554828117682514338928895330555979212662375965968846203215341556206273998703891456793866050303587667861465109953695516026560472169922245241441426176526380392107693663705305348160597046415967014765828817682527022094654307473277939744918898484202025486740084131534578110654457045242472592402487558530948013776223834542807443390137641837054427035148837718203397019495637823002093348658612578179551845359944118946118581149781408430261093079878245929009166885145233049151595848761982209228628144757767629856107463180022396150629789148162122146178197082223979990961243657284909614566050573940513176238785525678357356156281510377957706397294482507421690851501931410900753299503514910352342436085302890040935967922986235026858785984193838450879219402021455260244939623402991276039504914074100882852146770533504441666161998245084143852810411560574078535810196264620805867104529075153333475348383815179872802517051294102776814552816323175924462870443844102888168001757669841573142757800030202446348818523605248361058421911686666214224470491129783973156403519469138997147824111299215006670031673454533669622797297222950282299572129678591538186736275853770643794355130085626377967376987568870135409107777602695380960626953542772588868809167196084188256032650142187793279089090115269494098038692534167439490286827572574633989576541700655560488207348271960845063911906090425787990862112072112822019990897290045628967464491498303869004707106929333471287447039300916808126923580078869078149126675486966913580732999272022118588711350644158325555722938768469614224514816217347791713725780094494257913053879374645316867440782358072007287089245204387379512301734271523773252278563419269321834506424934326593881099723196527608451683598725132939143037983769078101454110346295836660042799305777017185275839190324324893530254092176118234282846952008711151582269484881253950820692777595320681318886608118329950169302467191737404093209732824853640281328652031935593228686196844069383138522070919110880681286434871424248249457331853477255711632620904995272101274920399125428897118175328118636767339314868785521820673152774394301944278909404877415581059207122576387923815970723708322399311402153341385276177702542305770632082013067495632218438595268782593562859372122096949262802110919593850612937043392361895364503562644386413300615001843898455894608600345634388790691622779518864618002604549372255307549804321301307010978784423560528466186512957534463392491136991783783318548972519308912547035170797221677490359162266429874986230118906730753658014213351819124069340689317049689065639274285073433116509844959762709095607518730678925874430871122383729630952705751659610650403541216162942110675153664997450187399658216647847614410553905891263590954486362744686835311366126683715701510935300055462656808262420596525745099287336110472682671671440682499076476353642230674374642104852162864195999787719297609577073323763616952026567867861259168304126195490992226354664149986872852507776554507604699133326912195705144036021397790127250387319549742758457752504756325129261674271830674529892543493236485284412995892506298291319275455967925065497717331227552947938770724517418477473072451179209537632238635847601519455257342896536252668153378269789660142944843536717029517461857377616599854901933349765320445382480057072155219720140946205696030176086173369943799743810376368722990204444823751862066553848085088786056817918306343128586264353345946178134692215137302549717299363869248197045581979441935654607883736281020137701655010101624156358640457656683496033822573565959018949413474979080678460669802475796451937237606921667548486370138632048882787109193408135585007797208207383375809492997176350977136263433872921351242158727852755512067583796083163641695152931185206158075189446519789782119298149923454055776112647151966587848655213509456957599481648740770327225319441842361164224546527001118322135090674229793166667976249352966906904207073629289462159976643173734313712823044766569093597095804591948195859064403499590249958367957370487320672867909429721623531718812322644384593892589480935035927002560296003196418025216418157098648235361940852856896302917673500055945298048052982051870095835289556414689327621724881152667988804254514699469546835113148290388352311176629879748205219264204673341383719819610640165984825381553529304561160094113172064883752560770530851446961531463320725497042067032714775126587134981033558589037401784532215058043057998347227375580394300407785276805460524797250901107960374533470140271220668089876948890774575270156864915228671615342221010536597223377253324529712505434338784015514565659688337198762251756328937493778316245544952832311261130132556224888459755329703854764786261923290521837957543615046110912214150773986173133190558765843899144117973028166286940781458625921043967277825351552852995018176971809416311470566864494849468184672596371954073171717500171629621514927200398729475811062058722395300863581275247961561759001552992982924681056959770981711781376306233926152787088033143252639299315057181243946914231038883654902616219240597838930388648145933816698410644375916235242145687509858939035808434766032309869371372008994776004045234387086461771572339639309513228421921424840331078050242476333984681981046463411125584320784133843809543449681983753428320213103217143904747669351669074678848676812124083039038104114364447175030031153197641851829786675939510409083078643791965942751794293734766871095538359095223330153793840609407095269346663523956101786733660947851934457428579403158393463715830249000896784400439689529459838915363360581759253213653731030234592306760258070488761242768397951617394032443152483574748658299386995623292554060853335944901685951601965249623852070088434048437436897135087958342818590934040617794759754054022145122514114290292409614341402321018670796710227038810940714681738870032144209605817158010491363044035127231450098272291453014451501544898484408422417315139407413302392707105552364906559331246541871550984820428676154529540064813577840770764676172726698124201709820925378810843591203280455236276299430641222238770553182371846419311213645522575519350507876141052148405663893253740235928980472106286271764429484170179515660874698170127509032754743740193300882027161245942810149110640588896116816547153231884123004444766319658996981879195716048975387885676960233080907175237055871667907773914581498727706084624574684964290637320373928813212718314203848189596870688282644192355433400851252473131245077040773191335071966467032114405604104605980337478216376143859946644476306416865968255815172656396544819789241393587478800457593311379908664399967022173465688176865278768786899844621467719108464446618111070171132713134831996857982134068145647941023631351678550448035337129115578897586937203012261286072262059530442595493956241077264808803061295041347208167580445293407382865388366566853972237830110265784336698319201587157194412875672407212041431624864288012161069013795958823334623746329242116739148471808438968395055424605845095204490411085241582964371909393927931060301453395034223342334762255837304070845552726001028364573986180806277166879280947130307852776661174794860887139234820168577383271672553449231248878238208802336549715217183618263468811773071316145231761377714702157377082611368847113196916126143722132887876316292104523473916300658576210726030963207248164413195192573476205260830398383884572191781313889238704586836236424127994826270585850410481910409226528680285177098564228175615846874505286985999671473935855117840273524191862908633836651802469888835815052782726319970453491909950713590248663573391299303892707400832956681882295877743317029962855264495901527027294144368702480225939815812909290310136543205438138817224742206672018253149519175910003039951637749700724041179204872667763861916191542923775939819936980162918513764677494109317682668456700384159384335176047371476583884844076023286171926776224683786908612938043006632313340387298030143970717264545643127932727689659895478633749454136395887518785570841140654505609639514597960461460981381273586768365499817225738061549320600067832448371766040498901850283788098340642541245617576642442025116470852857878910345844808048757526401357389342942213714179641717798030302782564414520508679686858275705577152354807633044790596540796252530338436275299160520111885206642634570770490532646046131878271187723201619492761576763280972422116402306338007153322500314747350191212094835835952323937969243015047274530024325567036603676156360776792738436863287086651337273752895188650588861703196994663542307704005256022129313075927903615309659734356381762823558327643138937073757999432665108764277304423234071402928564507005565376190808218707759010780506179453845090056960962543159231888515478977948815737299869141417966450299994136462146433975831803155304267167148538175310510574496376117258362764010725084012946350802487226455187875446226907172862139852609034347269371817782674968718634972822530852860509897049297914483132924603488060796263445134440955666205291020148314039424289909994853856208193137279849068377098410783191947863451615661303499787063184515908713617282416618089431620338541640020079070554603861778266760060887893813576889755983311072141011557180758722089406151705117241106815022285127859547781780226718893554137127099446393770975380965996054305090537704759846046059063845051635681100036219367085524123708296953140246883915294807747333970038487820564324906073177024087518795520303152071756010052871387029635598142921162846415634929168238586465634992851245811069571069217806075549299590789222184131401841868199595715107422251272800439718087897021080473319128532290883140794328675062418492266495294722580481416789490391752730120037970682183184167514077026780900033663704263459705999063570749535761109499432168960124102753193260384920724450690168264253781923212631914168328416017042841177509308530959481365026213805782340009483576869817426833728973175916069320808715000669851794870329030387150426296272125041209831897583580632793496764651444513932056292842729504546876756858966404537489157003944740650589771194196331172469975009432152996968160040997434868161816326930662353099181931679005411717240278832724238645937246356590750666070316136234681326140022936886842702593783614222474494731363509934402995282481242910899764659442635144701254525734989691117179656335950928328359207178478003245363843074724916781807488852589552530078551234106335063913468966215719526367092561723083786140317382983571526706955446809222867846083827678694575907989869255836272313027007437996176747116774957328049250916466263863615714257040044753633342934267246280627323827524349633523113978059308970342973963070490475519920017033866295356849271198535131720737954852731702493214382856138336236544263231219151144066172350619238437667719910631024789997515973575411400079043281138222498753310540591333898057708627515866379103904405405987713885673744091976664411538647952969827027406624828434397072004013701005942262518526562300229097029835560096632655006235435092040594096894973634396888468615755666334698300761738618946899140462356829803302896792390477831616659284762994566891094592092124945894078761804167182830491890765790813289349737799167192216581353277488877747999006517608554031609895553389053350385097059917553219124190539513087880085466509108361291450632185473886346489635803136972833977315435197671842158515323747467031431902085150571211896955176765087600767450614145445707284706455460788723619263343149546855124139172042126225360646727883316300613867458809405522447282434681557050533620406329318829184409688498366835978769766707887247389683216400348523550934470878921951300275341849525532150502556277465107341551924490347316707261617965603462134439148077854835785233469955694398993980789498298234048676652170886695443519813375497538138971649497422255748644104706078194040890240380910068919283212216318208984575947505652582594981734051937205730660368350345913283740473241258104681356542437681059319260582843400786620147236866091787060471664649159986985176184327205094699438214845276546371499955286875370526099442442825029466375867745494847973997459770153059974360125713635086671609850592073261000017574899765692179100062975531431326545665666232930655465260201108815822040035774987241945682037125258231150638191692043799037327995615057787797011145151679048390024622349456130375326778864475850080566223885750075969362611922990539929051344482352814165889057066324694260099181792645602244576130526230935276361482376879868989005029155237879123851348837799996291129818676983779448821778096710899187015626257058568878042578240045656818920057362206295948564927175572148428670370038927763945988115095574479631453566637835382403446619047290497073350445914773674755840702484386231353654532154514565107817942177198259097989578369284179544574490018836362785315927189951952856586583142139722855028219248410971273962884134441880552869731809630178415229826578948436649315401206439964494453517292117992681925341380425020623002235433854917900545790686393529462059383867294039101733551682530266235085894249407183205586097525449588578633898753855828864969151910298771726983730698603873689015358941322238811569704124809698906286100108106850477995024167056271807539350950289971305679742760531047552163685433072304011167139023198651931721321469514711020250097706465705437272398357675782198806784762027510354695575550301249550052792103753221253834432788420758765592232002077437486357843221142503344311725363525185604222713274649082837509284472849260570480164803644376715058124890897401196286721822239115535401164227883774696263557550741903353367249781239569225434707349705895488538705310064215370039694079037684594254241874535857594938869995368309893570769156158333998506983355946950070758974824658328045496488761001319385550200729278920313290187621117207065837456220681977330071734239497051182582350486835275687162845384702329659148564727932031078982149072767396372126577991180840148718674149805249928303817349569093212313636024760886915202587444679211211931423941065180239336384366782596615732643327165556154099133973805137183871140573046787751113772887895464330884676907015442818580141040280704811670739625383334275456958849864003395684459572029901912340771821617213119296689483115843513202405922073891940211294161004481032749675745663626965982802328939668368438722791525428785109656863882202724436875729608847503812291368763946060364208745504162262412868642552492020361246101769656323709888814801497623489216736196918399845733079088779455792741059764166150243423324618258917303525804805177722704072643118886848103526000225114763437696265099237420563378211924732076197430939279545352361947772716350130429337983278423811799652879448683979739767394028268216306198134503744823871330691830978351658233293412910997644081632691153386142161588897547877059611494444558679478128355327857457646324582936874430741238269451847523592216945085308990703784024547032427383043588446527158562609085786411443144320439958570513909181664872393586931831982652050690670908617330219461984275925091764851846800052521743720068381459868057065710566016795157866754337660858172960642745965745384717579880462992768987691606686239823102253640869818875088627842365714690758388264029241772348005165380955861990815861255784491755475575854520313696879396881492637135649171351851701260145619729514664790233499485783352756181215713929513172293121699520728455168873076510735935465743349414187106904275464731794390681191688169360820682422862283249948956604669699719673344746255728502698142204678073702829443086419350885081065491438537879541080869595009416680958335623352583448298007580766918476841542498456658039596673315823033445284139773662141056670027605181597548447583334559093086073237899565518814158353932861278105078006758696266319093199544976866129969507587223693215397562236292329606370955802725769379614215013792792034665068616114621867344154612609938743981216896176915303028387166917411997011885820068065104089704868576535680269343411593378243511639767929845453348571400906397226833413419622528868508239769201458293448645620340602731987384815872675027153376560338409460518007117524813665285009643249491767024625204460907811891231291312186794024546972377602476467966791979094000807602430334812658257517384649437904540838154115251705212214780541038913577995801126377531274515053632569009814534333583309836306802364564767424096228766041984333569293949857276841112344307960739199641838842945283878521048654602073719104565788774848739983572621717573127880718427446222778735131719337120256137924265596798429011265313335539564217491183469744139173731824410162463464369893783893804035266098142714810654779202153681193582240369692968545710449265204779905230258057149563943269388372524654316453471908098886220129407722851864608166495988893714033356894159334304814481579788937467652738105751662247796270911287050770807218774841053544535678726429695181485740386325038253436744850850963117550466255614949074200858024825594054702759567435304819065591590106112457723445115655411402085342585371710876144843311764631587116539749055319943018987244177834341708017844254490340310902318320551768524007143808126273699352584146168458870025458018724816626447027599701078465470195836651539342170504087830563067644062114688105222412177957103277412895826697095231105015297623855635692160766244623396359627734379406661757098966147916526284797706522435979710572269153680888449153488489875080310007422781662807226492811163561979589503028017844538136292596957645031056455735113124287069369028398847146216968666752808449767178906529275862323331905478224207604706414321623136313983959540967338201330519946790954318350394257101825366776008273398147706684252302365863094865934732974778789503776336008329707965119720781433821925582226068297046998194346007741280068905623468669347736234069063663845762137404108105412235185645977801041215386822960310513967684581740395564324049052598082101521063696998973808047053696543516912605293679111778803441983374400083749180948467024248771694747933281244295918430395917845540457550852893354145680360114888639239966515406338312241695724817649164023078232092361370404896798575566612912119055727286621850117137574432335393452410112869618224746762026249994386288305670859789974915947084242398855170868629926242499988944781813596451936597317232613741532389444089077634417450094958329391395049582383187807512698811579928854761574110236194053379078188510199553684919664574381934766672944477130075685159107386121699390503016949062873867929616384402303916181688543385579881916603679420777588802085349964930984642227628638180949017507011872703356251310113336509270414613760996588997429028661204978111963091701538650904732463615439107057873641307895831149157109836565695030612537161320938136870403049726116041378859963895333978578329879379282427020623012233542651224272391312000620467687554712531591120099416711030303367455422420630844207974277655127044847775112270520001339910345922159740718583167433128237989387722759929652204370755249906099068407537584559950505746563473549890826729028618495856743288010422069825677808899507439494265588320715326583381822807495499361413268741221881376629228805205326164843020289467192170537086863865572801546510350196957413703738794910721094866678979779985344147399322283204582280891527831648605057200169660365057430625066892836711194487320906972374835716683899082415414671593624380906205931381138111964755285743369429378548982038410249970876632963144559246375553675073803543750328861384192650753940615568469903365014767690674111945751863187086467558209649975118028510250149266344122659704738119792568803584989612037672623540486800680459661257730517467160870923381521928761239319086057197163381490172545720942831210084654134577792906952913716798198704333672361058183555439614705059135194749981240538418270295826925389690984833592635543396758853283539536308749204710175583750388976358462615254295749571960278953113442696402915723193198925745697304858082450709293322908317073275148132589247566343600254376810921999065676207015433287970238808348667182307985371102770806549374496716386426685985938553388190502434266774454127273431432710402357281355750627980250358894649374831449195076936470682127505812718343630819205569552368126347176937811732408479308676213047777017626785119727759439472075288250542950914562849654777532247635032774258527056926929910029675205396946310749740594184257061026914516304008598873051986445345836023217300722658169616197205204173075632214858965405438266995140312600501776910354111339544878838664217306853581278039833042554762294085269049190078240296825251324025841646426179955225781165477234506812910167939001303891770752887048978806267732169450071811480843859352180670469963036187946723498282903889170067624950455933262394227569433841158814040322459108586879617686219879917208513543714554005557249782743920412441154067425662505496384294418361806099803805073410680429581914317999823727781776255783365212584246494284791514405432818594680356421021731322096488632007372870549857975502265110169238316314383405268859744811337843607604592520716579927196927073266399871723236154710388681055110682098337638011464752028978617391134182021794879288531749361047055944491544980820614709126711446819961883923000816919405274954357519943967343938897325473496744315240404252140515390326309015426977116113940439524946555691395088039493760946034855248474658958804599579346508349255335128342597333609525009169157868702827142132705261400981291309455204611482925661403783721596904359869203674704442925424226305607415600606424205481594168077382073483478149361114495783757827768906106880088840469033716718902446492887922194403111237308663800425834850489417135653818956263163901097052157019214193749168837898409066759407157193625697157484583132777218290636670512034640635778382823979254112827143051471311306111865547793994323283032942655394728969419932099316977498064996913945131816116730232556503707682968733655834461789449893871271444856436727728553135437509262984691498918045611052161241734261177671531591396492598989486786327452744182641084002779931193995352589853493897430904602817670516586510991681528721451211689228930709919751490638741152751501987474189847151779297432136368063441535397984820715363807516523959813994261240273551702045069969363971748756988002846666937770781069405588015310312561487287693164023229850305879636575192215883983153152872434322582638497453050174621126499909396943551893476844499997721115233702777456982638038332214478855386105477210371256452460330480294025467153519742540671012697298080485045569729772396525803249552334024469531679092526387523414017971376719742438137158159718701418820431569448494532616028677391957981226756981777356080010073631071043902121207327521483263740506345363950957050073723261534851623592885338139244987633711408736530551984509558343539507800307465499080818942486429692364390746765815585221253063790082764831511090719171906617068720411342208359882551816822262626912342160621089707862384988441089324127509520316033364075645975466338717390528911855134153666194801647689711719069083422988504171956147803880305177320423926372901105343322575410571021027046659507903144569831454241654114356852551424088818939699821376661823411515418218736552597713098171600550817355592805666864122336916449069763219445248842435153934089582649335744543828578826883946581989947169855378963308693785113150364073342303043527382121993196138655652638263908098228479916317478091054714898619096376796003844922392714346687876432855574940535911141082524893832315931414239707645899485446829947749040634854646743913325780307830483244979230054010989400971048280227201935573970588381204333397183036528537511949996441470953194029023460136820674511003562570978322151352725072261987781032774174087596492035213285254317055321173146048052934733760243721703690436170172802439600157586655736702883616581289428396305519177472391984705350408432615785606581173392844518391095535889965633082366547304563786710469115690294741342109513229647980906578673967082650278558692376510659089915031241939831876670653423134617852407387117479613163056611841827421149321149155643539670457807577170169822710723446587063188055704875369268028083408320081262543542293237552559686431422199110493245590149840306848572001410017686512833234853150082798267001813747068780807995836339101491726191854063161172812029272896940111469529154283407063299081370780647963156839208657793637661822187047951912002817350029943833996133207534185887862392207079752723266453382146091411959034254897109430355561294072965678286310246084928301715697142178578130725655385744219054449387870933071538661214430706926925572016331095301537767450987172265228780582455421190125118635934952974948635735637725069710063225541375144758830751435050559663763168536751622195778530301802789533675704124639918792221587975237245603360249630061479339828653917536122517905039245565353510644315806022300342118488472824716992177256647126119760747630956634349470441815327625296463968136610723404156377472064795869104767041923297784489945631434391484858541324666436292267275254609040676304152994460551403858884682424329399052370238977907481999919479396843961542933904883955391232106407492020620247516853867352183896326250033037589408603298874620196235251015592376561853029003572532654647836247425695802693974981396282581772006146450352848696162694834680668418605188760458424861761006008722188070832849338891844529175587545140696790339717902378953074074769555557955584760755220672477007544533189222264085406369698523280124984305204009129392362531357725194255727519992133334849933164602259342763760069151718792566942482484531335190617145496595620535291844575363086515435569173847406333878232110563027075667606340091198900367174282908449073936051249081320598217235319648158057563378669178703520604864962262818831859390231654108043443256608312420354982974837510581624786736008874047554958526866187798098221340850197403198210072770953792722795185969528846449878808647390359924188792757377278458841779656752472334607075625474242912373555183102612705164647372763648732459866422145368806057774147140455828655397964345596172465202984172712882368450589746613542627867428188363469434707416162105441719771082597545395826329406266370619449420479398283149518476781538447907814278004280924536256867558507217289265866487996981106026441233688089855747836323254976696237038017215620992335904822355968092492107400632600457693075235936754828290264207337226420012862501434905882027521104331832564126773800466764199866428219044511874486133391512088803446710836376094479848719782836280747678253726533889955657183619994148567428333833352502778154829087552042202372733255420421898382215540114041228999038815900593073186693613491129786385792729213599014473498494378886800068146560962252457531495291399030086618071371579149533774545982159036860649838163187837313640089810576939326108804511891362906756444512744993703905683841503188272092527543041065046056269376472313717870858786433953959664584998010159815994212787337258316553190942020570952761770353995641261940138359538935282025217786517818657343762096048122257604510307145395129973915620915401331495430695802690047559308605897753486571251737763762193203264110242456214684701229193579543284128655882629406316560841477037509658940979862816493505881671992724517307115695386504966365438910137702597025587536273942717710669156985509050238847386053189621556671617061758416347445417302876733321534734957859437300309206276744923807067048997210504514448932540606376559752577864920475309001165933215375463233790767299398718163943749164263888747790676399095903153399601281169578114042098690734978563411219753026602160700691970217111284159381471600758554693514885792342399734291605946399717606690929913540361318642530955928365282616572387021512232322299768010970297060140639825671838055791628905682761600816365524954862887269412856795656073177592283864368171455944152834287803540599632315375321366181685199298105828416454475752364353462607345806706936987605253404826869425583533000145370353479667987164710944612235674085263631088943072518496452013866700885818489967970542319021519366694490835644902610993671525932438356136537254864662728681425617233216247574658643652627491182996041339618366689627732660895858795736629832886178885112477739324850534186617857252448704973792540817163820185874067138890852266416283583621662949677036633972878126219892183496099039963586424541528645356427575031460965083003700532889743194683272375474731909470062554518972597681690358306978311299189028237641908148434517005619417451689677865563779363518431183253968997478326303766321576148686589244616862070685633880579675101491580041305630668008198890774818094178758085347901556491110905011645279702358675031448118772072639075757434348946909599900216855784771452600967632178172131995103963431093421267683550913813573577847172282501315228166818783615141544790589956368145188095790139844000972095262382356387378347225390385884159709772631173393662843180866703381977689136758233712155417041820857121713035399559080798164406831954953772077785523068313820300624784629451721305236806975159835440815659133095266123292642193993586553450258301080734717137128720003588883408650567791701408547921187563139820510910294446128206314810019720678032037052811455561059219602100640775409121696026215019318723015743677327137379762586057348720743215235651515076146218398010851659865680685492796983188727302155475132335346534112350030254675856403546835773233710172283517004739397226752792702983808971673959163120471844458257327042175589702117992789030610927925047522658360827398764969662009269219231398942037501958582119554731913295362442137028563529726234896599470755782631304985381190979447103697792627086014993624725419934887271099939450536485644838197630606997403107370068942687148737638473800308834434653846355607172083241158275458996695363934824226628026631428327765668823889132235815284931586538279717734821521970314708566011010642521889481200281990602630668587449784050896790590427370203083116015020352925585876491648964963807337850756092015652312332549508614993161265816996016986840800486860495072338057902331697743548693345493986740512766965319550222866256574382942913105457964968774403817477386737085493281850885046698946662071653013249787908379064650275165900725151331549757502891051781924252633055448802084653358751220584519545970149017779058779788364962377065364479285920371746988291667823912994258580782191393473062649089454615001250056898797110276987034390399480525583364267766793257841130137408818368166968661824170485266922088600825548565771046727899246775043908751247075724935312469213700239179697640694033051238656066335611575927886522663256696751983289551492213073599507545735679249093332784179543294741723737712653909179557618614497859340362327354102049044830198181842103954110926749306905884836297196127543186521260471003975703269701805231683267423700013692754778184263142421280536306365875912752543274724958092759125296342171330504290611953173726358142167562330598902113084516419720766049560699426406654727608120114585639701482930399494719225281750656652954584924352828621169163542189976734594907382196405282134659381595360722819190696596003444850117868435302969960098100946765850766283279611496414385795255218146802448182748707689140404283229405657332833596647201224801960191688820118643721680362280701895305468138290819301938069537572038950329166017359676781116004913452697187808983119526894536302028817643762383647297570979569774074654866051312982393238127641841713477527912506936586431707065846954375965360805822821351932715862975109485783814213646698714230783430932906254442204219314106570199325587812948132141322385155944033112296117850009327278439959224407882429654978018433617943404541423226407643226754802904283525825733129154945491203133533477664206021100840210780879791633050352125302488623765642647602388639238238188467265813694069429118431577949919919755668465979950870115730038369139154757636667635260043971970658175923890482466209059488521961790184725311086481210275546377141335658845085458594235456272652541213642198608963891335554188039801673637896397454600542711300974803569599502749162091334125155008230376789624512980054435378193705981978026998839311128975858071608627100004248395412353165126558021904318289340347652276181703826702106667084368689279721546859355673518408767654529091093134818499082301670382878368699521519712411257054113962513444996732000976850206428809847445535037731273896081057177481038611020311481164650823330175710002769305212660380806806383008914326076762006100361189553370462902903792075631882916347865604006848152483836011786577318516926060614694727822711953716802190244528538678681786523278378345217614708924187695581760477318483248791749165165515586949472319932838056192279190884292793283202693084496486796193948390323451909110046842434486206445055916710786382575863968469034272330285837825996481104257822363169520440936663571463077615436879231642954443967599701026816920063203550811424686401152077528871277984380507477037741530882116236060216965867866178657178742817535925674100750887198881372820609524250726207878320425104886625102445172788588105150414164239703276332300054144118299914714423987089915931202506118564842827675674134922078107617059056609682260597876936114918824601545110302326232959154176901916352277617296081154747598798587393604678731795653221081933331067748323830722881253379165075487488796756386536392913925403556982127200213113488418653389270315413946259874007201029072929035518684297994175504202181998083749178640144278534548751092816457692456203703751812226031440454152029717702003225712481281506878454100608404319916628483331920428238591549542453241140211811603589270952035579420743484189141500799634778860911888740517515231320554335898489412629264389831240035982136763018230434264948444344714731793061108899657456388167365437121163541510652685456596362319754274872092810968258887127313471527696617548115284726816125967401158761011052476723926798538568095298635364907154374534289296105797526510101025746852322055165603538438893228234013902830313522387678107981718748671594251195185487421492194022655079932099695243552657929648929656117405779442481859054830471890118125375727453401089273880961270604502329368777841149785245596039164671633393008017115070549019410206093399112336508969123508497082944219768674878108005710429177697921873857417857223085873518527662336299670484767052487021575522516181230404064598195420186149558240324592251900986174447129981813209510999687248186878803535956756428114196084552254345001138730041006272508841644394328619830346301605869575683363773243825608908745318632529954434378720534139693647065511795249362799929449207545340544939449526623849852798922346940248710330451624833304035979783704419287864910049465883473736048447867196080669034263953237699825325719667106478505968723971229349597561832111425415132796266729149540765766623758001519260622728648721676790421620125634155666249667110697680673228465106180221694942014653712795806915346518966096092057958878211613262335754893842015207537816848704041757961845491113778392901880581605623694005303002290106039137521699011179946174446287556222272049830528605916866362839879827186582433075945486052974230867606396197846208495264192159178215366112311322518802464747182668140467290088967697689283463390144314934905085517655611483936485826553222916514984896460485113881895324287930766379783319348295001156155825354351214384631995491850765435508382870440142991061878071155382461848722177793410090290389401032248748405335260173922476298116118983314029000563888071137788173498349200220851041504790692211208028950732680579138218344179302811167898455004125009572317665954972289622824971029000400293475211539444107185042048285057872873197525113778270667998800329685015438201070712385660933716586726302143872604253056309159324255707264363611195854510823846808073304067667636972199122825697971198750888744080747540502810221421846008155769204233561002197561011120217289406110175079667761732846355736529164139273778747741770345058548016461334009325431869313798195993590477420882092117836568757200193454961691038438239299692615229935092681384434211048776654397224467315583764421713105060600568044800694208783016158829760095770858482627739791844357635641454618057098097408718817448716643543295069462599834408589365684687172585140335987947694297818031969835761683696462145262988891834876044261912729923697986866906689218701016472887140024566212149842511920318653919352075557598514722419036193523375815263321972972306831907341190334173134641542873142934286677675157442593213253976203793716279984482577105018836176832243957874042235446974205003432806618114491205197736085134109842330244329827474242036629535581595563500066457732035392103119547459687075185375846143547996575778372079743358007146230864791239819567710853385101418128474314310768908973587525041782746540006288004726005885352419466356250794392977959472247741919304121093392436000362470556805322724517858589810277361300215248306828681114120748269046746671833889716336292600528765985164040064372691993374041488558846068874655715237049794781722393466128184609839833393084501035797838053046913879959747075072882697202964931371785099117533074962693740105117015329101464059298381578263428334707317780893923563039585559533659287671401988651557110797465660477484039860447487682039064911763463881650137525945720662173110900356859975350433035246748464863024723601775515084758178593109815140239092293645563118248663336256609950677149503020788554162742478377854776968219745841334631484664362960912505570820163946919078857420505883825564458567484602634587886788814372631766418144825147796675190894521916091182832628890698921122977213141465858491944110125607653061890977809288430415163868644749885943804749505113874790109433723806932489852447323196726166085516956882119405816656481615586141567152918584938243119410873150105654672245252592525838528159004398443797372033804189052809023542976151703925681445636221645828152572179028329991649113836702609156546903396730641069634387501391533207839696889488519428660944956223744130584583142776940495652518572351014539010830721532688726084419559582910002527241818904688937120442375375292913617052446222787676738820489605573100491355527515421240259886302515102998485174295543423017581889652596411345132312751170128314799980688892529430016446756799832611751859887536147338806734423958062951872897662389896435791250700100318406131204669485303446019063858549343600347268161711237118524992822341129410084748336310868964886816852370267518559859829286712374255581551264005173966115932864775681775994688858975515774533355362015585711996121560602751959822736746851422486721999404486209154042429041039535916767763448343635673474078301653660502233594397397467140136678748055862839204340015785201615771331775592528093688282975724839899735144963970399543280977790588391917067544125945508260832669648863246205952438291568983402634500238622707434762364843939272695990743077369960165379813646866068663212020700551206850262315589457961070347755508821315326431036489635604919562557535633178107943577763112834370036135040001000846890028560098545328846471223444840070364259489130287192429390907310403169317940734750223627729657063701087057595833575427734187851957725755245617595881490053217063487769405281233351270715435925455345994947350451520860302361586476806142588998632402947556164521321407871546641090362273252357796308323216353938755346304736316164280527573819616894407770079781351717106482552437315737426188015779396604673139449631353628745051852327154330623658068917723952984722982767877306826615205756222203271916552453323328643619377633239323291849910744392474952493137053653593349191239779211304824065054426886591964667792775036487223181217316681635248508384487803739699259423500381493376993323953251086477292325528444189671212529753050370840084038762402105539625689300938690865180781241423076380331401773717558582239274182818651508761901978214903129359638612689056174584164125774470545173913452177308320382586962738825058950674969231906973399586336141993491606809378817309799423051299539347060120243129357170231324562098038570455026959458331226885081169150735654476521980678114573267355869520419480392393148075097484964868292131077271813393825110873269911580764939507817484530453325399573280939686924332403737088556067768967435968121116210117515236524561662485734656423895089157946060283240867932527981053067690371459147727718688788523670165518004878581512603795709341804332698121807600902660272313018879307804257250034887641931267050747040766788161428107815088706192014802871137146346334643508905710680921762252866363382822320805024479394689494086748078612117879251125968028210934234800729736004847217889961268084599344409467342696413683127661336028266911916545028610575295585907154248107686625849700305541754064346915972008240233676255173614305743781489596237908245883699058839022949890070793159580395261913488067503464386065397216633132262507207088633438646959152282550117602394483558509031269061944751076881139003160640853247544775910228227396536196437204891946344241744663773501114380611541957395212363317665463035780713545117582190964763878933166053903024650428323957486879366545472156557464566259261660745748186521993634555115443767241401896031210732387917648984066210324467344967706001209440684937613101121012166888400542917712783032872367402334093787050548843569833775726185849533926729205017707402185982781952319969765961605666914605499441661308534927046477199782247957259924752338060327217202471209813630917419086849490220583991150933256028629627206738284719026498185386145630999871214555275079682539529576976368802223646512552147172945436974479593432643818016608590924223927310888930100837048345725435025360125926504128022640225803074820922304258226212173292441317066991857721045877894549055050671100519548207914976108360524558780641513838376425550628116236672796324869575311763496506859543745351236376161408874861712518227028267764237805851860422350541474770396944010468035677561038924697587415416292290339150475627762871700226619252053717825086329707208345452875239402485781134948535320598494636994062899097335623010518584273984083925540711158539116792318812703098086060230295961397087225430747268332572607027196786064652233717237459482979999339037818364532134118396247283517898087506324952799812218089795675173698723447454015343446986320237151314990438820639785921916635876418175746342726859558826163165244032625630661786483537548268358003068196898265618197990479553903372538973706099815095004652115247193349142743402296395247263965111651396463854750074536410315564126562591345528432459525034595955893085732244303473158010074660974094913243731538786094219458723193962980965587707190890827187976852914897983542991296562515149145986029867817805010971069364957555402058925225443209238797374260371695234842001298597370856019687218344854239844502880974816619166532353059791544985186310199714442998435675029067746570822045969889715084620492172379631472364502088083683433783909647263992680040080456735346430634599913746822308160549202406816864143871138581452578818926765311283399328763445653548400617518612414582696317488924992225184523759019788047720517710999009543006615957163900489255944707014352450238352613157477093068155858989212276913948655202855460460936246230005188193060280136306596708132377025196138158232806772934388059886076506522038508202157288861396498710264497615481072270559849066812179187655451948739275725821387751556658651804158543756154399578372756142543526253764856958512866241763628854824513148985417508677150743388727538151111894557703744466883993616510929949131319826426856674940376776739965761921989077857693502399564707759839166594534725938702976999964014360751589335160622384462895932182868417916459065352144422694902858711463520106651122346226425213606721031058530757480197567735519440922832126578626189304255029208198904729737852915930787872033239767354868124851142140177459624116727801324586885235498217723771902427272928682648521453940315539976397772803831640612105150834773757281119328852598329360874837106803130683222085183676104810395052917976777521128370501747190372677658164038506233799941268870187472418932993848259920065316638375042887209855451814069885952430651311806663788328260780742161495291175898555983445865310904170918753125296483295338756356074048661270834292341253705745601978773850217572063985549817493678985553093768971343530193776771712778487578022406485162157653772937091800778007536677495577961145130408356703984393196963829860933733822751436195119753882334292949134827841976096332488930734603300260207278864634795575781465592282222605960442794928657158728718739144596568676859578896803985824043819248851490043192283258778227408305367618941905294008988455465578352374176948141405098672635395847636238647681000949179190884909107140307883845705326542550034609028790930371500082545083989257910234330318048905416362766886185872787333264016240440008409158722287747207690323280024769393616014072771665474339571335028953821324978832922061698408357978074947460723268537047018863138424385680331438213021169043301061800673125481582532587466336565498497668155900842358441355338968176533796522400303506435576750405113006380667949132519491567850107980361416054978222363407978767232932381910974032976152931729423519166056226399690339647587762471742430313727603875861259171857752108469923492519194074089515576992331323170219631309886001085924404587078049762683544904478737584914646493745731591014536158231229436472866265421891898968161337130398774003116990972708649267096336448974123812300733983065712702053927403993768863651555284949622349438006346427289458020407360013223368059785807548696770370365083764531953448875467965574239382630086083268356003159984761730924655523497205356565060355415038696690348194247502436203326765642739614211547252480047798122899026838142739504111195685895145059344109316110894606200524304257949154222974850282312780175871331666156508787800030442938082277161155757805112283200017569328495420626585225241957311982498078628459883010666189825028881480924247825183037846887681145316954134755151099815670269914597116664120873179921537799214486345126316575927905223306750399296362605782174483065705078891479591423879897805780063823736092317797449488688566659863232966307658884005605357809972712043961987778540652598491561139754393316745586771073596639213058071846917731313485065737228019128194536959694393583518325203465530385863192835339398528402123704712046504868257054594274010373702060149014826239034383743059725951531064881625349359930866239648301458481311165859167019377530378993999321064711062488923026244262927758934372601057276928020358129002660970699249060802469394145325826429468327046232765273366219658929730734961510853103215487639321922099782134857367213367120761564191318845820868620843250675786916969775887743922427485077889541143841120679471748088406040328589407263245510900952371833849366250355228624259166500252492768786116375171742072454068010846756009430763773841981877114850828959495658604965802636009289633694755067323195174508619270514705548657026805647631504729775609717595757122822615615494915545594469789256221568024791931453454635076657742919313631123489961833065230053086087636038824385681074971141616993922642932249653543648258074288818798686279033427439248551322715322125471741596199550310163229321169681267636372687627982596068710253840638583499471849079621859181108908239252565025947515606878520383534140149645208949208713530311392618855663910745657760922823870687458953497451491927955982254667763775636789807384900056650203891673755459806495171958321213728027734890361085346866614995596090695457812484044651658188790297759518534969494318003132910229285424469057124746747225811836185799609239925486211967643116487382656470725082997892517170230181799109448624412185021301207634147680851457707567135011507087401633845512989548667471625241389323994231917093863624403286596819133867705690905402709952532191983249111743213644197151770242572706380974714282202133392030480190735357760249288649875375369520351406754009147722856622689492853984126762335815914726698153747773486401469644274112685440918124692979764409365985275082071288264307794570057086642214221671594856676092123447441365003918527905437475668264104722472776650381114061474273233536906432486983497796062899872250278924821293606142675879399975527486454526007501821441307062682135207698631700924853737730242915495249348348188928068989281517787675341545671241031703255833399116836447107991785039005328523427099070449355445662758434076406068812073198137326826302189014714520050790086767432400021350629057959630004504156665871252878477236635165747119597374024508370639836834812294611794624990607204333165755706213930541356734009341926317167963715186529885117091560319483301478115754739883103739157267734964690657041414451900049706685045828420473628904076445484105473336920341112142772542658410093239187226475077479638819322215264186337484441254172534525078073757709996811434352095756370787198859224336781962995052460412773160409265783917589687619799920329552911378353574227280061790655889838805402156244091312026773157997619364629089384817683503859411369280093094366307152782608413349518108027196836849640765551698924420770448061763798666280159713073983100495144873982200411266563913590796123524496099802227158177395432588387511873935587175262573444673319510616469572116961220003387738515214111001250478683426838009087141281720056568018989576606532223195488030265280186048985745868248885473538212833629990619980437026647627716570955589035810041000297641577820467157350851650460560045843278795934733630304576972921062904145058751236944311892574449125629290398570669650790879707215885222784191969694421334895519416213729988715159400383386127858772494225196626026560509661840242448274708568964289675019818206105407442739823049338578297941804120744307491351626616180123601811156530099589344625289299378683956505900731304078099988896887868594570409620428249385400472781180420567754350807980484292650189001384671159763595980824245607264098847816092889801445415936471814995590301211861813108184433523062841198882897865205565119954098328801650225554435919422616399462490858823393521072382462933723650644691752098918026024991736077256171494557156802772957225674042653968573971233329760268433145162054963282172357580493715407932017830161788771632759838602936724664287204198570158600364308420714991194389937999810052697571177007077498332651733965611542517255687457894284021052584185327705720347930533974504307918119905895642901145764940865316729886755263797400069848254803100095830434737715100705027755011459171148924225662193206862624383326939193249331896438863010308408580229313800624295098234658609628519226241017915595687679369845842668316880126311331723193145386290262454306206039992124527786648583124435382402424231327506963274244123244193965406532107718394400014110378429044022089600286935225721795708040056997059375570323120542297009927907994188940904534911610147634422497454053560677243312601992102158441237815908037081336329713587654751793509538098883512035327786205716196004093563338933670753688405839517039896309906793164273523835930203551581913891533133129257276099482788730376278632197819995293853302747086616462514376743487786143597858412550596476952946625060748253024019722414583532841396827673512631246320770690149248190590111433725988834717122449970737154176453110188500788426525239074073330129590629635661215405157763005509632876760396143663619732575169367789787644817424610989007080863924385595272558586709094125857495807965722972040466746884321315542930104672060903590346524463341090344617499043654389221959212283368783809157457594575678250269615390710376693330662955083481217472648076711181324751920015732513726289062987167450596423421117516035796494726347281115291154882894179586835103137595232258452488824996020110021298184805885605979713622141975935452907901529963082811321808266183515924936018472655803504365621307057368885918419973184994401903002429060915417268623130461991136013904452601752736823617520180163260982743036417418239360535327177658110613748479103676272014715707295289470205619843021867200273992639731540514162735520096803983651786814467304574542701109336454431488643616252790018658831764568412966647970713325779014540309633589062784232858504641329933374859942049873096638924953582786511350865710109610719238955121624100294806113855822881948923281951490041591126660787758551128051769977860395864774813454612430929553518169074637390539400559383157482329617334552949833629996504241943255701965607013662847854609553273143152017737131288944340978687121977812414976635590866925012027926873135892369254001293854672150436161490028415202391503598838932698097494882711332613012436921924363969390920336392023876821343618838223602093383321988983338821723520075444567285716894229830999284610110952909092003236277034113032049138159227740443803252464968725529358438124044039886214362729348918447117476286205840217918570712460720501287390051736074492875175460948583812278174741234454783002754903751937976990044270580666243576999743986744808870620723158938971462271275762258882134513424710794760442263580995524178605646505277481875374516287384361501780279546698244033504349615010595045725873100074054289420343187137708125940705573354861268298856896350110029538044224463064970913808426908563278896149645402258696258697531522571707921683897700826804211497954427902680315766103792334512159709057813365292961175755361030738671573800451050566961136406731321660747458739426430314002852115081945443891769249463290271819998345317163888990089405733895937616358674117722447847904399510675418218993498343858981870083653990387008348698190583325362324757368116990201686211184210179739315541953221145580822849276338739871755030012436419945931301956604120406953681578396223398311491851197589222655035514106190418129797213080493838754000393685477031623952581155531457021507789191324812264446033004392966526337932943752427509196017530201478841491857460242669255346411818879418545326751443064880256631229536398937877336480060144943087623659199103178755787097060027472810177491445484297454167718337067010783856451628286417971567931665280760724269534114026037087677845620522324855069274591778034007840897811173212107021450548641008256616364423761233055933306454153868942803387939021500956275444000501390926041718869920116690724211531480895060396261094192874606593091944840676777485935006491699736990430481718105858787025415796512030930125345123770246219351700284042170231906227749574105338336205165730765964583549303616698920163650351508602255768034235893216405309325445555794473306034947002032494716420012718533433849717927123491091401007598796335454749902844733250738234946859072312286353160520735863492850401067662173825825636571554747014746442866537035907099134538189768484407591242444359285797603631103755616258321921999170908566970590702564199531770091666161765065755605239677203571397743532196407887211710689415519035681487020892519790931933109394693996759439283404130258149861554561210469717571912621664078822230424276911301711258894718900154240965793741977998196085318837295705242171028289410116855756658805680838645233565523759003854570015976025667398981099683564686164481181019773958884608966608106779664370067406229408392338165172278893784163874586842391999766290200359222385625147210799530271057320301582460222107678443804497560331925972467176596694670783663795705273152271941120637320197226976750081781614563098533107147071870758700641053704016050500500155081226161204321038731114722668323295916170295441654001105439039329118518322038823346393522950082170535882688898863101794009057575932131652621754081165932448093660800195403880492775203306301551429192409171248248356170996060113174903471213594917482132549218435517038695957386461328189784951747303428557216727947964616519879269089106959101199246635113400418486771072353823316704086905622999895817965186906020132892311018221528333188215723255413268034092439895991194821741491043753350174487609672339151597642780289603452567314986111937684401954938326862777644461774442165070144609050304166416338730859446917276198755166021171061402144593525908969082047973467520677498136480701442537353101422884296338412776127971842408369236682258154167149918609462714348217916795697295007513082716299337077441746255988161832359470030887287039131566920573874107099709513964366459799757275735780152516665461234055952908383532076227228634240379238452645593055942025207185582918888977852530719480045571432490791760139101838719421051798485095810393082570155731348069033831760764543526174766981900828917353099371951400513761087827343465706400481281213609529335502872556944313481414056696780037922103042329579071891658766257894739137331791180259613475458194901128519195199141667532662446814050777520956947887491952540666953967434031522049514883184375364098796303205260686732601939936020532925934967161570011953535419173867924017258662259833781422150125609388871875774999504101979611839091996347433001980946243086420218113645825286220066396857769748104945369075593058172942527414558051290195691130143237545257628939237617613924895654444821597978578491126493341285977271577389756063997147295350164529472354802916463130153902506395010327525222003023781345921235719963413160632712065793095174644985384892814863868638839302295619953043102593848314251214765165043091395579903930838064172527113650103143381540728910512124038609972617546854283998695933836765674649013378909254575450545189075896711583678105110971567372859940659555771823139909038934731088471906123366594260168980131321744476248078021271413418910574370658346435058363822855277587368971738891773434745366101594428293200572917345519683781511495005350132411899446195428511992170282145683214769225199525414474694310016029087855997037360584070628910227453845516689501888393308085934139811497838268384209172129447160345850499627849865113387482901666602240535697445096070237417942820248936343003195424600053211774307983271796866484767035284424663682498761796268594945351387822736330435177579598385373228093986961053048730120061929284737788411083755803905182520282617918650107986000361073452363752407370627339134324195003021376505130268614841896453313735533047046903354015264549012061632280188172719945030324138771330013489866225739644453343582209801112164137730381348750563014194057393948208769839878708732128377087571396830148773831203309614589509387991425774072249361149983988463896782199812218405261195190583652042553969454398213044074727286732437820826358772308652158568289957023591287831025744985454345333873810453854263274549084193431384254883796049233718206807804138657536849031551971284893357932669145317877937546689705954869247572446718774140743513587415854037882470008176033265758989984750464699152676697459869311144224672845554946034610922295552214366211454958451792723406412282072455143444373512955901620246951096703767790360105202118426989501425588097012803035972140939635898922275114592930046882361824827853866690069863400242430252059463984230034285766813983250813778620109417510928672930084294231624321884464891108006991720681490949247405364213286744102107414465667648036904775997907292019875375034090204851077336637671357435182944188380259173105076645389999233575439909242681061249998437192582544236946734495103659695245396321921260025156837291827304964810525626508529233319564935085328814438326947985046528834173408494908246069492035531182229264284340781723845133630657064342467429808986083759193544353341653630189581852498308605412261363093613315690748635214400303343744668440390345464034354803064657608121691662605584879465673196090059728699916208986276968224356111364212295587068823072161620483322197981097558832893627752362332565129588460446059103835839023670566905688166679029191889892547039908764948022819925215725473682028746013299317931103705121001044468660428593555320871226482835208003778284215383227911459549988670616984242997634455892272733424043147496029431462995444718812193249844400194109194290979567589615678434259031738912727551514394964436935397599944959184186241184529792564167272862289967815006814680381561225892500160336043610102175776557543223948761694527968658901619005172057471992054547425186824330782366960226813673657117376338243141060227701946767730963025438791973633999116587197920812295338056808170903608566629984699512294950757424462583866560739339904779322195420402332938938741686262421995766904720073541215751796999840711871331391596934746311100151526794144175124805034621727317596630565534994916144484898669374913027303175780487369383189617306418291856627056441724956430556026183748872193146149836680912909613599812234300673522747501103516935177472683878254092046145849534800581679066017321034984293963310533849211915697197993691530021447148396881164562785129708327498025133719783002164388642025264804501309025156628211766399189253130059590880785702207990377030284582532122409395328306832428508355310268629336951977439788721560795787131651438501658893214922702781019032256809503201244131277231733474160465946151476347392345000064918839322537554770163963780900122291148563159124710559931358054764889310637726962961528626281050794108542489106341035825155688541145943903701201871551060834962497849283360525328652690480954129673614296328295749961024956924602134620868548422253853120163297491598607546514406618404764171900167335211187511741578703377913674191093925431770365203046549465472444656314534494265701673315660099745600370103352519251218512995770951830212839251233505195480504242950211730493012206077564806594047873447710719793728533421216405762551206220250024046997092670936486233138118720546056405158881803691107444140823739284862601432417174987673446005607125808947059544733099569231913907311680474794882102719984365669066931590217023923302160294773363195126314390946563441815987768491891130124629724226567484501188254894518538368846493243263933440491213068776685060722903180176129065178033964276675347841036079458947265494683161144050889025798545389316975599925950519515228332188123664514277266572053803418955863229708719978291525605632832488395408685720500256477921891682273131205771556887407448916084493606647786955805867766047903618326135629171748236483450900368062821486645287224414422852418321373003076771061799471540780332126302342831450041137267400335622213716630082444105273858076995708237001356142560179513971430238046821972625323291382906083524445232157972500202610649869796210568760024097370138234492846536301232980602939084339507504329950348470951607872513348591059029339384118400091117716395848066135549795495262324339856265090661168659023118303816816632307029172463968094285517869451375877610927614034284883547911308578451489216006533224327403116052478112240651582794775179293553706191436623037995234367029140393310118120583311139528199142492188706402750878123220001799764754591094884014178798735228693019691655362223248749539558766564524301247350896988212383153777257616054225156357945976069448916658419581353070483036652056196014968051965308498445427044284610871588502064743772658443879965285158598619839981839971008111549703407533443746399865764046284399322710787324443236285624971517528602237614402549868045696401191468382606919624479444426632707907753342007800169149977977300107554017872962486159594270951689545260865396826400056528398819463431371454813217435810019184878955489418161009894951040833491133168639077712529648172825767688015159127501185992161106885630422692256134118412117563571809961637762933265726510838493272043676935670872869123453235015388860077036669411353691680265945520806199909368706794892413919550309712956019871621824573661014688562810529415793550584896679381035796908970606259825820549577999543470071737598943766488432647824050937025447443015909753912153330473166226569971748812406459237270921599663606184388004832515689928203600583958245670720766727280975961434097410962906236015181268684921882910670772869409363300912721088693845015460296744855646821132190719726680004734444576638365869931286993403423404306930758751163101613229466518824896229309035201924826838396583727731428590658297327589600197273915268949290869280983196572382558956367454195720326067554768410467196228547838252424600645766849137965834915410198912452634534511562939140488682638947202796871320187006329116144396922443882782236145385975979187875017133052770677970713001038284139980380614433113735878586763851195287546005767079911099081651542311375030325912297569658702591529381490092595942491269583617698733945116961427063153960178969820000134920832677566068132909138717414601131619003618293949708302778657251456179871111293641299182009100021152983563615439046146115083947797144685271448338213042177273707291010386842227158973953465506990673057387952174688103502818104744042780138149593428986053830012042277867436228860526440522591277590034048612576757183187007532491446108964519653577865870300659915671267936303351818197618202465053896536945362418014001302815801528658562195588602822499414442184172336168210396021693666952044457087899633605764668091622549141687648588467847732942062390418226652156458443125486773458109441617602002005
1943469870167045239228802217546587751787721379269454072318621672052310269323476252136332858411070020044958428897553548278911822496292796348345480778492068607337001907814677798733647495435930516995064697973262657964929251304268987153635717529806226871713970115698221703222717548376119621208727802301079891479869650617039851455653091068588291626248253057021075196975915096623104123687110473577935002877061507248774529692132783435580882990821745095962178324574471986207207281159034274218088118886368907022321875555842268564238428513853704568868092685599683505924878124121835712152530037195952047920444813149121189181011013193868007311321871690984491286547847981395054499823014359193793591184648499424444788404075514030054643514608508445432531543769013899900706203726422629229573190462146669695520304783203661308735941194961647697892251534078437453445061108061256015298759038654444549455026343542421246465096677831056272603964711383747154645724162444528055477526576051059512551333736117254064527530368539042328157923716765262904397899180347092249473695806015442095477936479554928850974512411151477586549009378227139908391447525859262224923516598979751282314102759460669085578185109148485444670226876554920409644796585456411460875252132389491776590446565777829333827109699876736735820513083191821234419297083796276409345707429357544277048060559107645967967921881252333396787024678038632132807104195756029281703408900389293516780890621494148252766534565612513095075177839333698543038164776693700828139301163176600121202769680245527073937394761488901859212348109135041632636326792966154111990698145290959851501212468888364175740610177700018736346536160379165732591539970627274590511904076975252847650512308809016731466268975902674770640738205141627307701469841446339341597993565796907345950273429375202029579220298975856986917539398244549543363832957766497320793478315292224603780276785900677301618909350156657378569061598753945933666626631604427154688809684601168017204548389049156068991370122015589880765812969338840038335450710174928236627740565526751250724307510897640508248862411592469061621720690527156439461306168850836720026021747462504409000829874951898890009792154867634552607936996709727952847549139126806525260508676011941425899964751796004696869969089307308317420348766884879695019999374316722082552382982853430065208098463344550747115648388380018648720776488393714069845176433274549571184493203100849206396041824913476447468716608049395529392567432507819658088009073981919051294563092230931213149232843959916580409862461480684377737087438897062220451449988632697555938514332383902758808002124898557531233461521392325228193417935335895699919816076960646807979095727729074165448483599000052987532406192889075912800665808855982136212466032478383386819386028891169608344304646694877039915634469139328942325688154304902943811197422260140580137325574987266769832611364170920028629370290822592574937347033702072272440774956976514182960143787384001346518661552307856538187138871700716776359621709006482918268044951272640072629250009687751637061052985637343405446151897699005897011108915963956941124499358126479012180930346998357838161063525314278834916350984134654786965224741144567587573513180977256077418039574387280138318728288998411762791871291331901475906994940596245392132249353414239359380801274115633874209466998294119326018042354786980924143695743538924071015472219633107984456216317834661740387177299096630506360851854597848468162885221461588151193954054703772996327076848196901370871082953066724304039291863585784428288876826217215871771701473932995369803057792720843442344598993530626409049699984483373347292894576182414859309097772389019069647736042488700973593569099245993611858690718667473878728249589299517346657148655896966455705488542792341856853092605723034745291265565622428262488960233381221698628269469098518806068662791007285803551234485067191810411379417362879095937935354252827447536339702272421255680552673264842067770711222183926681714054438280923105383902831499033109204614667368976104709884218777455845712421584203743213204020553659438343674015411308094503707483679891541813667241327503556784081667297336358734366032643359897366545340411374529566968242108894980199119749382564355189949821449349621842314746716690370906245379828321931410581762839681407275836322713392743992668605251260386822392911572401157762636894100615950118648998368119185325779062694982893839687262184664929654287765097846397749875062171205180243628815053759061213542029646589382810683799932562723715560170583783745401398275383132965024749124718489568166348970238928044739058985609007908493473288227686689086912918209256088566790039999257977351320588461984352488266730503505595363222435841707650377933388192882607445537173965744127859198941412743805664060360020201678256315528043785417820485123806329481996282018917238192804907937852391657262532645797730065020472891376837343651013408954927446105299054159688050348817642246256598385188414312727390111857081276218558182983574056894383001647831289537259357737968668480734780355650893586079890464111274884668271287807862463816285867692408811071114202354505167702105671008489888542543648218584724770575952842038863881104502157378576367700385250153173159286477656645650055890381964727108411707621770023788602837160079504982957504461612034823181482177457335512903563562642180573789681851517726084871874603240408545115877107043204207426940067604950778996737577157672162305779297581403024884970362425471511957054324683785887047312527649044675486356677637268986413723525469143462237338663508940358570163928524338547436196621074044444744914206531828276227062777245527933781292202197167799284330504787147229394696214583560982071873954886462531001213529293612221346391269257465972712042066250026633153660790799329058581008246521428669158952555412652870858876794318722414972775971894978251241658483103713036569417694180552404763147501535471035405008314875868186680802258957147480855091142546336501811453917245783125577798897643492436962439527589327900515875981909590038337261465455920004969893755584823012595982650824985337528115932204760699704140646545766177033827649631162149906588824079544510294897735402722422353457158003763998359062660663395219103927432822765713697652293909431028363942007477011484269610437679874699694387552796409915882524199423884344256270051909960225079646425276926469149562667649840000267561995092393596808149024063045510436932416395544496736665695782087723111638014483616209980836868507589278359918040946409766402434564002932722257333192019300864708314504892312713297918015103004786243702226850344115080756957213974569129880197731563400247570198405808821597482746237987204076173055129502774824559411003902359490339504524246302759279675686869583693019578829135688775316266881213610194792429392324937471243312078634333562743161629732858105865748436570498235941857320421390193780640800974167948986341154658421146633232041517048346208161177370667471618026914250123918023102378361031931951929422571902632434454866506828027573169407623306032697773437166177236722305193676313604263155121243643705154539636321787376606562467491578118826884316035198550913418201050952842961707335179913682487895510320931815267618000698643650610714353015830219741684644013612590967678125724461208308716477791920472956964228135388692123511094337715963947277141607523080975769317990189782864347363552631999198794423731668400112456721465218032526158299097798414178407501205885687553689804715088812800337400479187061483965180233324196741007294891270466379377213284611895110023793409248260546533627727272188652370230837370731486045846581230210309932292268919052356884436994915247650626568560372858129167693137436038777689090154637845788532529844133033079350292170797896429878388066219825407669310908028888268625361139104849749146779967775954359325201764370410336648425966317682534558759743071185080631196648180050332671534934328428241030868951686881138546244381209731279099562268699554719008048922567835459634021475534275413292881917474776978582316019783849327771278968823463513510972574314636647303358375857789285978685291399977066139604426894219414780466528534199680118139105687212616681811460418767909921325795760985888233428539583914451635291931352522238089713208073191032938347491688697651143534182237777120894015894912418670242353767881308092283224415358907140245886745660241936045908067780132298798361399831373232009911168821847282978426375450069963261074602029278417780325258274432626112152040560841577020176257680724583811532520031805883160819172170701080623588705748627307884494435728408075047305908852757164134659452744280643710512900431007470663586888784749464471406439725736370411406160277693335994889330254101361213259201481149375172386021691824465560216261622191181640111175045383899367820064939694316550553337299718634310388767287994585447204197425403179508082617006511339710848385843856186259258619798667208968906257958182466852413653461172365497634196377511898855094508217341233177347814878099818823387774702424467520978217663896195163282185609926602291654737008688249409449596849580496600663390772013745381769392333040411313545011161408574009825374692738113945272582755458057469143419260158437738810305824219004200321514452298900506357031262128023306690640951167624662642133826633143841555726364779822922646874525973345694183161657617146121442850872414877570309426968446750282316089463976147934067070800075623899566387645622149357121344747493600224511947060236611803196202034768325255796730787580528593089951875904049735135438623539068460865164084032739658272179046836397811554672009317824708106660869480701709094407581520478684228300817376054958147598753462038804865711335198496392711255611429832540976563723211366659978519644212722332475984390846607774922474687779366679844056463024076650796931516892015235773989085937961417103551068098773770585540360601403145429946067537206550260925353184714414332460876017406733433379755649222719932566866857400724378345793351155920091258041312818688977436097957157904998542288918550070063991809078172756832783690330694326572143544027035635414893192495511177000051637134124415239750819738473408976581969900290018486770157798501888240407221714439289504617924764847643681903754754115732321165989344852410466985219723636154918610654346632759175022636400877536128339147628295769271223673351970254357197779840855186483687668268799006881053267619353623217080992167394174599571882019223515781299819772981859197383640114857182115524418508656538110684283125090755211184847522255883239867467468776322620965751437873485615192434820269533415105626612927615105909776162973195038421143939856416956502170315666082633249558443437761293404535141854123884643845690526605642644627754343461201026243165904599565422609495362133464888448837044511436682396598127745880469714535388206798745288042622614324658414057957433539080786013380448613271731559043947324919376454837634845843226011389202236195779626801760219106950121694170902060982496070345977365590449250084821478905994938883689935514539687555989466193069072625303155868637473818173807512495594330932989367455047550695553345191087530578911930568370649957203920224904351042470972600023046679151847920801308070062849044976400656348474855469827577529904919470467348032891927988672475096528088058069926638779756517934086517259566298589956547595631901502503783361139834097622255250575762661388636476239256599997855015484220005792605361021954366514001477767932360722555600741502911127944223651501991696817363925159998255839814658846907823824995550268632954756427803117335712022904883402705890533691365503753338461176134220950755793763016080398725783543136752452888478158978429069070300580793474109977006289358912375532337912850828217168769435421202872278720797134866165207942829034347166756867714406398342176735882936524850036651741031881860509170496277825678256900690758400907163638847925392775044318600266615992613650796480626590036945346056070045994934248568253629392649469338967867061524939220115260467230576866745344075173832677113407949689572181375219193518043594885752682920612311267661373986945371114567789226107664634887545357431105689830061099798043894452970280997444919281897160807359647736589299531074713114635280343745281383868034049287972694523274107244554457605674948679469123563056115365055284005141448998230786572023503552921373830744960341519837655921125658883388697756494792567757221106657224883819363713295163891196395143342309388762211742053301550745980257908998374153591354232760223503441497479118533184129925295695328198865311206458215478823150699220358109580069244099305378558029468764349903866139345362694683757403412974296177957009241937723107148386577393778984168996171660037326333945015874323811713086747232937757748033667645646568718617839304814153928562855649995442089715660709679844434430458457657447375817915082130716068768369099123135746199310554840191292685858665421962185604881019617513516669809761154762900069904610433204379362824813675921023881783811115185595674850813765937349397585626994693865146126946969882119492871525795451324974491938388307368933399126545154714443489041926268819994784815302984745836306231145230465302417802509208926410100916182456138418614918620643769786705993669056435048860344574633494181299388516801135673151544096115549471959800788248166926221228740722625738976053645515035761897152085741689072014184134101719361716538026218539392070365831417619538055767197773960962586408587475012082348695338602842364615551155697187131751333405069071578041009859024784843633802245784446180561801087160868657641796599133212796411024737882929844796271665273387935932787532423295126370632558536313120936964525308290486348950681290790899859493412289558301090714461798903637356847088589919996065976286577313178911218845943843493064939646340866898492029919624316602060715635692827587921324219324493591388626448126088222298695385043918614759710921830464509798544254003588586204860265821378248438860572992534278910585318814496458787545836409822110582576131731600751453672367729622397441593254720515012848532366866523979026756634433758229451922419251417035862627980062839380976342338230661149474457985332586806306560655917116280550717169156821660253569141588755722462727073805255225767073354900499140371001554173214032240559124693664072412851508322880247782697581315247145228803487584053376265432615323088731334781046410802463342430325374386791318312226805967487857632771080893588129149172501521647569378489845206110526869157712075454948538425478554071370432213560446992018648082142095138655104506656667894007796528785581465073621357006932045313605128591944737949176191984896383468297572354061143958129850082319624502508828644220659657052256658116344978492894919669820188152328442927048101756302268215009292787807106851313836203345317731653645787040127766528932942181549043403592546375683149012060364818691877804225114042829018000382678848581149908392485008878758807498778654566685457075049387801193046780429393262663337826948087303074701907716899120301002496004509451252439928779759790981625985861959263805694000365245887324357152488543368758602164616432703870394030921188789327632299588328981757173823646033603231418284529624927824730135402289493326180419187539577664734197017058016657138049138184657358106078460169790005983762183625284422344239707920976759271076668781803994457660270312198160864652136504639671187412281943250101932953999005651198798960582209510392283443342368970107227991222212955904894594290333820279230704005836675404360643744154843437024409097521789937093960697378475094389355154610648274480222732639811286915716304553563489064449263309000562129005453013618852487060960621442574591805666282439820202000139812318859934190674020761582816543185576167544801211107780589918371940982439873705570110244238499378759818449300784751888651425181610437843720070995862733271459730656099853068805995977882224485895873230243965124527052588344400465501554081866461848426777163820530987332681866744664850218445830070116286584103244902531969287608270172637394226254170600317670957510323861875579877015361073882118319861694641327678802406490635115769435402263470022206023799282894601322986872388864943095124682863694280292667399629678026908872670897385318348136830111482391438580876260173446428300578227661828863400492624584801740639192243017780205767899653529083497414882032531265634403229940573959320285697497800498251699095152703632145178544479789796059581198372647800850189112995948655338374738340599093004086982950161177219266720446364074163462936586729877921353906871386446117465717918455884525059011051977299355699293526589162771226815954069671286985733195314467121878543112595548689534813500925265736219568951734626501005715976972269424207786007958799653385279584257019187865309361871562428091929019675355172712842802930096623943849697350925580660332679658231032098664012536394717506643104800704786117876460942088639903567686681762682719684121543132270327575264543463532540090503326873117729253932337460497170865361071780097140213065103329499179209756257599150412908268054657674873510845310640893886676130084937200221864559495355813012062332728718543471624227317702118486909402948155093388770721015745160693995980732754771715363549458100374205891966096622422129373270940366710838710269074489418533116718174469859645752970566265228183185077802077134854170917117182218672538202906865217414145772417932400484707232712228693642947510569776787746432692648681838162631069299221427039799615943322933741155836322204952076105734083074089738823296298089166950834281355335497016642674094160195377991404439064114028139539068092540863472452043802095326023347130589070925532424882258186638952895939753962535365971129399652224581205659669330085378579119210045299963186850069850226642286750981806721776702451897347906438435010853362806384577739841869517217534580693151464959252766981643347176654911478186685357548622878024062987531196191816165337213519321179003834689402335171217765360943586340856891575266488200768092129751414553198036145215141453833393062471545285339389901699806415392510506949797829849398373887211006486263007670450881090191046464008813291042463633951166301397812045943152373715038766985965133998709796271053738328775873693933970189926657600591476563373235877324196288226930571345703491067252041360525103489083882938435315687403575954956713386212321282767855893428080189574726451279874400959101012986525960249631855919034681302695264832646598990736511064485686047286451878729348731813468264553299368475197079481160418761970024029522945008480111076582377352115650476144843696255134438757281441585728942541960572135140146803018524950419705555789473174141497496415733434499020689184607846930051629133144590901202752095149102327666395645855397329185146264959908165880393415831479726581861958399221435974560675612032114587759167973699742442786953448181102350664421215683305081653461951653642953829496249406999145677549914146495518523377696457817445149461385989671153823770430109141802898160524227590118154134814844503998746402144671561385224683540782747695895577004943523702725604567806852151609293900948231186430004109894353498160259364531974283286458868671905728555076105857325831192929398855286080037664576696600205565540174256395863017588549364876393175304623751401626912581313523929504402949023301879787253386992234111498571093378317551436429878512739367668662601956453896297302163129023367420358881310195671915936055929358976070702501857478667207256328578291477463293667563469081800635133403434724506661988193613712985829949115076298642850406546558964892699963769250869611577366707592824332535998930424464842107403851659586119341246117405928018475144292035749962836543752816043864603027182816956473912885100551679284426486225283009940989207600882359022867637185604255396979091174741437461313068741476662015160563972823215030574931851192291505661802079939076355934956479118763490108375336824069642955317127919064960507691693868885440954581666954810570781176281251506038406702617949824048001043700739096463256298958193445598852760379788737430842788369678948780790089683155261803603248971415800304675204379300116529003256121260441064461512662072092929116490035425251829718440157135987903629142276868000982706404743726138945320159232420909805776453582895628770817618214192620191861041690112921603610693714050654532160405448632793953641088635308711961382461844831785903733354561931157935565956622704071593718313755080117398551590498530709282974819700280562789565710431877917626559162265088210443878104735226305877775898341911209017938839594344653794025638594354794420872988839799655586947213297295462365096140527513923521195412367268618859131375765911436113140178667781840610324801105126151103397726763028690507060909253399151820739304933026987686496918991756337051734654155426415743801172142749321581666845929371140564088859357394081940169374910392379105555617745816294093917421220415390113000534799047976221651807116345103721425169652727303040941987513615946028405011989136365462351973279867163912734177282917374683195585841720658276636647833748088844998456879342279620214222739433228102677740433242008309431980123366278103152448846816268247129050010706816073016499438042437345208060020304975007448603834502035046496373765237660514867871647925020293271779921871433377770398736470478633618248678840383799502726352267681915335556659794775635503056556304027147629108177008123292874351916725393699781024227073233184971171186213222190453706553923842093567648005923144661423323404723993295076357118621314613497326742762473538560440644195174559211624759263492300204504978127086571368511155316928776499734484916085104671871335193718729734385486731984264021110943861910103723810151269392960238817629221414284730495120582308397177828296432936855666083870182174557522790322715756842082872429649531259966972080846371390027252797424800948431138978779221188339718302982233579196298609806609080296733182763841906845033124538647445876393992586725856212532787325347134749783338366009430619432414372138893565632120477864237358347529276744153568127121195909386003110189711355556831059151953694403952548955137971400460387386072686820604518078101554801251183532482879334507057068920434785033745541930721952735143786004054058754996898481641199530490006300963396325480629062452732032807116934618546177741144773081240743259112267626951186502139605368642272513797595220003027573980041946954222751088728628645355674212376033890241586776966810476249340792037466622272641600681581460931262847307015411133816004926763554706411132522258172179520860293669466683590249369329171113719890207556476368938440811587157466298726622371110698833394381402491604064393232022710277904926879938014135359898088903711712810578545028947905862206371897677006020339960585042951482897456104653394934234202516075577758042696063422019026214689495095816775164077363050254911666580618077358748554945003403838485104233017269581065380201595965129604400973876174184636867146500130212810965512383289904560204779417027479371685578043446781994038088437642548763839008224557631381411880478812745116565492720447863943224622689354408914084913458607063284467727063789044606069780036654791678163551263913317852106565708994181379726998130627181993148790664017339473462857363479067169440659949388744834143555549018511646890519198878301478659081957829703502101141666674326840741111145610042814386394703672275858267899443569953058009257948253371061430542222947417604595604851661070597777115931275007819086252624097603093826380644021655337187754812503277688350222213672376981500589769047086095473595439477980175417261975178217994620482270275014935515706010783480888809559584528367410724683420099326908512601941312752712135073710319088887945808806137408866102690238228911308518338019941987654728932999937675646470569482138880835482106272928755339831713201878814051914608700568287992229999033027603294865172802765078956895726487744265855332584432043715842505369143393558838595172018575905620021881237748717449538567413761878679457717453251781868532844527583592652401881115888811153674791357160497679026700894736652396799468302963585744989770257110977099968369127170061225205000938181131491919282984455734145423476326171809467582986143556852350768607647621339544291458170489921000296172968827431866629015721554532646670799816692123365492299546523772917326261568512219250633568062592562488806347570861303391346616207023668324236370484290402864427090012319900530684993574183354698572741689390075580730394434815202431306489958061337161736366297142303185738270112656153380190064864923568638922790914402603380612184839504726578000465367099320224047613634891035000846691050820435225322171913231450018733457913760122061603813711748961150579792069504352764851779757543202847863659818200393687440830301156981841217140119126373973692872981114771296395348964639009491591284702865725606171761095553988003504491269122066789595342484700538233384256388363328602101876248031236572207118089562026548515921352685425749641612395724612173750247971590410319733311693343214736633378895419349403952680226718116877152936343529950805304465083761944954621242390275473804689110123282024158925460941411850693575751729110586137049777200488149777155819017669074041602373163533899884655149174115603341088843422254487377962700823061810610199776930388788667014407950586177309506612659475102143026116073921991071011879270481518408307637230372191434832044710408495822174489556690512418081451694234388009371575736034700611799037189609875007898447111262354602026266830967958388581954980651463085543573298961140863143189350290340045195464898043768299348181444422180637629015264044547808439008769443399076238764437698632074790077737598893838653888931023967100868524229305509994811872974643398654885763684926439105450653309357210540272126918235322797768810288151245961530839745678296957502697901902174138168157660471925536031384936045636252370794392481186122620822696237468706474207394000151895677733576423575364133411998441957530292593743253068995898277854712701892050436863406522387910237415855518304834976007878770847365917035769171607943360260845032183649521698762584566212508062956924501753391124306736903620415547902152526468106799081683632603788258273827543981148848509717250417332933853967495778630584008300496772010898932050167675808075288474207632475448145653518434353365771505431700917135951621222519687803904286978802872824167612204123563459302298534062738256595525787618178440350080504170450064094196245423466968258449968545345760253488630585752444779389791442424469290526664047992057222599306088547186367907884078429448556146162846775392436831917889230267178594042531916458093085804585315009928727719080758615939137672663072119092097527543277782864307213492078824957133269829775346680057412433226763976969036011021004303748152591139917822905251727997353616417205210145666337017307238037562282520335682942122380884153243627608403722168205041951180357589414186768908260943737592310301454820087529449958323986153025412653902805783801019098459794603430915215749869099419300760179298209091918061057822373029706934201746567898318458759704381230926708558761253449745106256856339843600943285294268647313211977125446347899246630511948734263958064899761890670411096825115387955936837925528716554690923451368468581198549375530720090814176811558068065354190262337993249766841548483894816871067609069045126211272745630052767184646044692397138684730526513036515979098927689122704541854653353900943107838309369567139947974725573147776880906065062884164870679532175776983833675513796264752003066724011953728040127404583487353970458125599949147358755746580922993336374399652583457752168394231493251426355282231162328478024345349129993475056097871052342955184848876681505194068916322076654270865783812064424479502911661078319102577427744300464960937317159551790164350527414100779043363290565782208701802243949515871127120362555788673989190227617077146036981242093110971728642658032265602130721359620695153341515961853265201476789540757818251056716584253096489115519386039500832036588554137589817139652296529165374448509324565707352275388152425725480928307135984541272142153988169458361175981190603788035818888790574276951930523763703320153023351238669369920507112912490025900437416955971507120738067278742474231319271256288481144758556128846319270696351537117429690549236305260541488059927082163969893184586097211583344352303143793137935748644086383320218271643377317075509174005321826976010148815199561987644714675650843576275862046390828943700486380354453566056061518588257539149510547718793329526842818483998731612829066211856806768048423061612869762956606117694579524230884621824102341225076121553403085854085436054875511065785283304347148198446089226410926522565013090986392555172765589570554891263844543808246143279179177753225874666747535779210332831943703558962901280249067012258601467370682789291257671685694991629153733414368416020774519828375572924889118293078082206753645623838509451250115987862016629842797141181814013471258178330173940627541021498360145653269039473400380326399860644255702591272052936944790183430143446565440599830603779696189156875354530697449947625283033818108635571371929264949435002718945079236933534601945535607049550400025719051047674196853055214590001494341883087849765988738786177912250339255982196953479645186803359366457943753156816911878291546505906373481558526067253830439491080082174958367533584067204925521769053774864782732674555987008405520976118012327122975522715793993744040961400212779721481507091487578613378580509572194115054385214527067631494796460190775820217995401273533189710797872954095977369041980374465717351098349023826259297564154916461116245541314370925096241981841205888276603179766096413468148398875945635979447272866025936261427167909631616450463716745662221732304721443512183979081348036688593002585164429215462177832701689401998538851441760944663886504813405123940523534746739475095618320620306948158961231319728027215165284699488766352294782809123330640407008190409560882561384275775550938470628195008179246445828157915503394272923573845435102876369216108478111752526828186935520209926876984721274923863161165067035692275789462750663023341954497101601313415538931423339739959997987856701999970710508176661089067282006417577165830985002118533462588899407739117040328256382068041160468084000607262681656458334801924992432542509027428816779957715917423589091893928036884144011814324591867990508983409254635395728884320330729261453782636148661848763120581033380375029975841648587646832561163973158523561152704967478876489554426655025521735405320067286316507509803687928476201035206261965119644331308566484319285281150947825599363245650386319845584450557933271120317475879576401516236848756348544239512598253982290097472089825225212931084686607803821932019512170736462761775752555454625301713937796169739970552428664196746113403321933499588745271250825736299696479060935133242057263311744910906307064145569774665192507954852099807174804107340231745279431793700557221772066978335838560337858121455786648715374464184288168256852576281120663662431036155315556062073805849787850076981700585927485037313243862873452381714651998981685096737737059825916062950961007194499413992670610485308832635540290233153818170454318868506778257177929963847952594576396745687344654301760220596445990080269853033603216072708525243446524300683739485608456639941253925228030422683149815622786555710092556487630448910970836055046612504375170412040400903223021517513702536487808628567994837502509713171212253411585947623571055533572458183251152130487830963832806563385846036549730884485238087292114553047645370799144808662009722645455693206420566793535862192404730915312090394187411274216243119688809340093171671775705919556935721872357433326144652959044536231089878612059434537890100976620064399178299826880615460591036313832416236157192262973463498515681581195184535596281699669829813681052464345495802038061095751668010974259308068549468356885787296668275994068846086048217749662098000282272540396573600735894186612652347667907966185221788777459756859704137306515548462081772356851746005100899467645703779454737188400557419477195980861741008720959697080026357210263644175152650355786184041221962004384090627212247145261958187705746818197987637063524019170515786805581866652557734614197792841807703929419976968805517681880607965926184922996039328494115804978940427563806953867441604612419734860198346687619690776133183750114184658199237145277017103419136022158881756488273252705101933942431369556613009193458718751990908671650630940664238321194487872949435353457351376511216891238973789084458063111320976489414206891761632043433771895336878202900843078525262045337257156607499902895414779922385990263188393046922123544568098255781808990490893739991917241594314552978027910559848213303633764026506660377888663690865687445372641974167807858514538567903306041500398537128525680027379661417970939865429699085890891839609507851731846204444932020131582032190124479127904926233971433364297212191856034077305517214209903325706457772484668079518617392328373475161885495613697401519727056921347584285156900496199397502660298645152256393995051574168511880728228135180651379344544121109871611211138540872364421278046651224259536590869597760402211315842226006109844395157201462664511777397459560621524668003498328083116306173905670393844770543739076636568118884727781557304058459421335356503314794469643989788950435456723211560741440939554479593790690363419859512604921702687030053545341437277842222201120191118218112348821926694912570929832401103352292172656949087209268072587326544288759824710415580531581925635836614119220087722742557562313234343974159278290164880851002053146837120641878481176419290050009246605282228411869666824877996723575763990132342369905828255463989927936844670368055831041823944148286610820795839387328667205599751334429213365614504064603208073024740175446670313958332149493272233224322078129841179821150227618119830096428557060633567041714006033636604017325481749107799717482559820843856891655715020242923853476801456086105168731196082579548269194024496909672760398072460248811138108698661377837997526986838905688699636230589532908549174643432748389353312692967171917218860892495690056145745992090760239381820521954267548977263316472772429154445461900086164297110820112219508207850476847828044431752237960073043900398841464811661699998558153368826125498149657705227109962532969048711702112026962627366991334820029744586816836390903663175901252794198552313395053698819417689595721807053450780022863624769701370909318510918109027780028276669181393523768651735527780323696401557091714101822885290988027767296469727814394152640378502137188795462964114117604964439688701739445646433589657684910496106414826730918719538687586026603922671793959315488136067563079275027581957020542459869627238927548926055746520730364491964687588904323931941459887709747424004535497696259054315669356796781946152899988156791900140031460599026803479102848375139016801627349999187661025960064792793077225499957678820662826884661151734672948441052988507651626155318757402847942427154068528528358292847533154899237347005004402758880387803366449320881306373297570423155357468396662948152747889024523812686174017918843235045152781963405578283714698295746431975737248575826812168950595907118466724624096160825458170997835334261941206108539242536350841119024501452398626561075127836945306793046179500255528382469917510722738958649945635283108885420049295738904789624924440347416470544746763729285312258555866836948040101756066112809276267727204504003167418950293366382642902093078590931754394339090356658802020916489601257294212744355908731031001228658635485629263531132299690594784788523662460202091388028363777024203543993250803160995770219851305387250302668134930009133172179384581532308032208154182270228270228286253013910514880139512997571941434955201210050618187531601700379432018794149528411773948307219607804168937596857090364924012926410450886968977139774783171357986658416077927590650443520030078651409454183494216472693711339302130847086383838122073052458539613812466725208075055606274827881043021709567376596859107779304059669861321375344079238544836357047932790086606452334850015246360814040298031248155988316612582353026902403847104292016846269574068922416784262125819866225414534354156531642465281057714902761319386393047554358423664060419721174090242683470114492760756018003105618058521105504480408105799205657387613766511608042006999140650869294827419932767144615951858958599304317742319774936532770424310863471588988318532235902966525714931878391256026053498524910184286112118741128864717969435463121424415944217939653256605327528465181568846214696657031407252533682158811436863074309285893253294169193315089975108176274471722665357171585349107177079076944301820107844167230702064345844815417295595998613417799984614805866838153511608124483764685376102072333673211534954696227063657246718921598742947976342941094742439509898861596407420377315837730770239814445075007818147426811093489756825149875860159407711850328868405529224265117199456466804634708789066130145047781665061196619355627509867244457292911378904271483416201255092634176538669587755325311856223175644505887932988753688914193885513584421883497947207592320309864702177124030682884935383197763454812364576237345834707061877263374812448743873243402899488906768346705956737888468378681843244075122460972143768039858465423694883996981744465717612590492049680485277187091411840892626471647810439599476372223638371820178160994197177790717251110544408350861089772193302903835055084687866047431490010667330103992591400463832443728484013929569131974927456693468495116122687863166882999127907705501393768393717026403416459838532865889101698321053627561529534506526565268613641477652903769395258564290285148936083651721048865212571261243449749598272240930016398332184499410507686234605496273098305695994886488311799537546174968872040211627735076763089775023529967167255889126316067561636922067808467915975353032115464703089809168781904499515747637602602522604920584212665133913841760124633927972825106734334922617126191443266940510652996636845480730884419539501063207443521643321428351348929222372271320808569102595530427307251327297433782152196770646562150385141064999341297329686597013080349603703102367382991735067862932463539013741967390350626823335785356842964440785576550033957717638165300298442707911878452071540476149718295593299916331700135993485098391441920947144222695504779164908207364456285210575260471628459013217036547405671954019666977926430673749635151886875080921639798927492186174983009796469978805408842436191539165426217637689434616991620892563367296066391274477911999466714407036826643496348979952131074815143389835735087343879301851682555390069858349804376532155444697985812665856979369395170800198996336148038786311767469492007712827457634100065833431176234191600014883524085958035324789467263937646865312584299210174506890504879076063796503010393347948378457200826995392528764738081809148635632623369879849262379697644598903430060183276925435627335849600568411291301296099904855596576492146354619878896067224825260226307000606490121718598802936578059546204884368402109080052949453902629501213208813625298858658001494804498062133442945936264895747427989248790969794642229351054450661305105110051841014628565624772850432951372480529677699346329672252885155952742305972735236563754392580350813493053590362505705885164082219792723398174008099061811547506708528117658906891219997011189236468431613937120318196330203675975534222302593666797167845422715507762654011939117180966714194337062581600968478494637480623279321901815621818781164037086682359967818482793832319020596489190156721756623648327553637285883083520735739473417730620317088941994262429286046949899629871303710194764335855042019441553149832549879929522519715645359182674437752753309635372127464188941993156732793901105885326615137414426951962178262304144009321508583754121756589742641593020335167915728512650466162940798260587081220308892482562255854484363076972654422785916504822285718236579023582951443626817697959146165199584788626236203469703956639556417238654195467610695973101502539764513982421294694492211350821505997178109112625528132440014263528841093894881526791046551351580909127186883872036025225549917636734096517838113617718995981777793731734789320926257745129933191917389655610373669123179455258050905750783412809224744722892852920981776749375804847382947216213367541320199812110171432046723886677843297726977777123483310654597494219393396156651474539035212748282017577407575451207685645319852171676244763187203406043143179215099942810949124121692991155805317816979766672631442135016430890646764934472044148087857518599039320908108543771984248185141358852965110567894929608245486705732360482789238391690041348117392351530261641957583758412981119841570836621754763382721675141527951988772919292854287816929790116422748439331280369085337959099089062521342268533229513496438819209985788218282954120433969200658145922207250182107324699747072535718162759174206477879671420965900456606385373312849863944571861498790331841995227839729395059150068969119996097675924888935046815176469165167299334705566210903966899183271388916971973700954807807335423155355506772511987553152230415825955153822425980277975194949634416699275812510254391948284924431462169492088612634211601075482318759180897581711089240241112838993022804432762652898196061821679695777991374016466335835227042845550225616589844322690423105847358392248103113948207006201665593316133356945227613552454043622816372540885729809832885894863146257735223723823541869039815356648974749455815390163138493377928660085066930598659939348113868615444125013826014860316788261659898552097179367257516435917501796161352120316722507928186566761221583923034318361560807075292891735483285547746032816083084008568371102269931768529882692798304599771881060489393595117848053481094138111334051734418238513286306994566822641019482139767771299968691202761427098844960972659423571003271379386275616619009669865669526107028255532206061162530622337424358352534674064776445050485900594841343573128403653988640082178540219991841787473170414482150754608213981581457572369231062842177934443530949932842654282982482564713081541376893771297973807855911432839405092686583783609551981777326885402982253595394955186285763987040952765721691235287899448469376553348509103967152163778521552312262349792411298369245379970439410496880848890088030432503129974635675880627630256843119466388257672957716130964652325481184162780638534350098551953263464637381493316643245083057139556854794928983827183799276961791605906117930146299037983019196166015348780016724905206352833695653444037904484033772703952071294493877784530901197924664489005728056820632930036045121210965942439515311319870332007372474148929547927919174093640380558484665823727117354652163223037077962091249265351904373436051612838683610506593282116891113378466059534120574950927054214650599718038603128068761928613746387011481607260962149615502297374302315735108827798133658776992660670328452419168101903099181226065094558752311940329337162136346682689192955339850958351052746706943357827578599693396105073679701204397504676003263210465640872158060861515565406753807465533860328393818676741678762131882062495787897758845881064694725269108554653461602043798333383152496056736491248742505462455998860800008185838123986651911369342859817196407095692825144264143639507064736674167785043350731307216954157545793501464236597037033413312064710150328989360937220820430376358247064709931583327326978237922743213118017724520537793335014039292844775069497093031755128926520087850780547435261357783057228779473696833093085289545393875328334862941041822392075452141995271761672286826009525682116440288860586876456489862730490434822780428891377552451649691893874104497864474570081529135006647859363165426820607267597989480836538599363067613869442389115885509447925643875778273572866613979937505178168393840478478816150153546801167905038853855237935837902629522268139892375850421637542715480201812093183481567177917446371254917849414595243426058163962188660778652685322589771469318896564855799813624121811513979451367906620021306367808322366356954445692219967913207663434302154025638825526123887187652661059606992185443092057521939259213036845243430929451157128521071833490018626071043525222670570670292912113968101501685464784428079215778600038187069235894996347511792890387425760453396874756642383139167309260138885920756319274696791565492977912119150033711642372427850508237403877424685158179597550712983618027732739862875785286909312439304851462496945683360328299097607594129915952183302470130386703212712264728870773495844155904111059426449595246667614136900065512274072638236224635611427619509638607001003359459931004497357449760220619342138653917904550140526541042925329539324324451237588190672998556814399918885056618520648220637106517759163479021767800404410648655903534006610158952041273146081431648471625393500892396520966385967715716594485662968483190526319143910815531900586128933042340479571509170982295246207702941333532188167991977516151564830662317484333748693608469503546624370915030766858083771955557954082630247361896963404187088547636444116682104418305931090261353469930432195913309258470809819455330566871512374395530210142984853416398183459984865487929405326418538496585718934398557319378752989451596053842065530406632748138802309501059199549271452594250303671630115920915841742496293687949705765577182397296383508571027916485647222221071315691371988990760423213218146849714804216978984591103259482765871390122643503245204142794641953428399572456475297111375777430286421635435984034820500416824281021923186635065466293788593148779069435698389868267157739519177944804186260850239241341892176232872279324493548239438914600862288897168084312963449928477439023958395933507833833260986175681753022525408010573446071841885148757879539043001314757680680638682556717556305360165885792729313098763075627042392669731943693109248843556530434010711114955986783052652065316673942432745321954499279814632009886115709438746917550201241696934178607596876323807493697134739941599212752574237231835068289166265736003024930852021754517902496745312225186900757114198225721895561433819807240257453953075970103401394619643117084761842750774358347943877835355156592623416231447467076655210156275043111385437719996730769637234713631495749324258706197074043547099622601371770501662778881841453794039460613585515865969734212748007566840571451820972415380841318515437743829080113839283002207144880277192061847282639641232084249619030245482837704706211680636566682556505239103793983236793207386513438322450633385574405145596252004490266039211329792580026713728188859422446704740566398053481337019466978834089706233587258721696604299542584697730296965054111980520926031693130403165807869937924659709171142898140970635410390742064497787517652082220911436748940035349045469993497781419994097863479072460468669226856808365903404974674901333972878520779432919955545244111121851351268963517362068632117823487753552600145418320328506331413578723931133302153576564954883384708720689015984760784842729165912589116156163998354868063635263974775322010862474514764173528752208714269112541752573486737276860320340315080640959448964114763861981467426477057093264049685390450689902099534026885260180542217206086977190864235557150802363422553430230648459915679314894727437005994979741074322169296588194609809829705160064105897537995339408979754178769791320649504199936176803504306192457132739281041700499283199672876763307654559318475539325808105649654478308321776801626660437157838997201180237417137941203514392424518153218468247272557623473185244882035051060211230297866067532987957544314671502818054801969162875746595009907637054330860826858718064147575233143254665602345568221820001395935128708459619968572959955230859153367832028892785700344719832478813445637659376434849798205741507226884513630562471748897807205290297915095498520159102482374955619530049344953231072706993510459699067150798431904184436664625085709601041175854425956627323574185543456917271703498490991773854523359356535247349104710888215422172702365547883373967262061196430974890914062220021168108779227668651312799312304557499226995312170238149544644896168538672951673855668768940220303273381784557753104976906445312512003279439910651686725436176360385976737637955349839028072847375996955016971455242209429263276889682817644734445536859075705502615185455876242779505720479838025749637786660129535667169274508189444309294138090659796837007749223235149055183674938585097235858157130356272244328756136891529294358353763700059499665521544549354827664453884748792331216941990464952615376195714442247558818983758613452211231233690277150175765499117375569456843578738306288338948950376608384062497338744883938304676559620222983143507068067212803511324241955313046255946255682815736147743261135385893102911407131594397314407717852686136752906660390762051561418651009203336607140372707605956378315963629490027431093604448242445841059687112169848497511342404073803140553026408844043076234490393734843968722806956902618798368430322218237235191670435060784368600572625316451976207970162501895989725888619652192977500404670098427922829402682937891174035709107361974521678776720748815896855271441753828777287859226464805713306726840740249063966078000942583554978702712570019910367202249476830627749456348800618848155046972938446258672721822949548704981869303856978694414101574685749492905442573852315227423268332580438101156158725394006393606371651073393962644243456410815822438229350151440844273933192749624538245192408397463261189966707323057229545209323809878881493242959664396770543131019474335095464143264637352861019869976162481772427218117983312369915351960512907118377828570571157440779428213158729187394073192230422237856186451522568738012473450042461860624528303075138850981055467925055292800721758141829377406941051182776002359220350430904160460276637424783868542553784416680340011836105787200605400076379550875119708418362346558552401938079532008165505228562424432579023612132527820154196530013001438248804027072607073734510521348659522224880078565326630876554108346940890071840632228062132662013149723275227157327681367187458893827187930490845412877741454663163353149922037925455056820879104392464114015119187697844364709070482892965481362317582849517139175954463616024404420087747685577581946499019392365278944109668948951553973409139330947596889048381395447235414100713067889975043340497626400630805904018707945370904460444952562500044708048278830634572647692303973107656384884415187601731993069145134335250455486160089202520021163405449457823298264806839401906619085638617949159742960742387982331888464737960415504409578984900393716265614030418526701942341413271752152744616099337045735416994337536387243915041182013783688594554666584393002099614171548296562066276180752915586641975401728201044745744749421394167914452801893206031893172451916727302213430015917487149978097218106214848765687154830397424872790935501791077894213248415550242156090703361817756896093250095269695983878591817593290673355989284369694123230553413757786948965839473658349639872267881341665456072174217652574519056507814575591966639711211842996394297419772313483350365543344279816179999019101232194227554034458257533733493499857313651328561324817114410066478649789796363088640159498119507281187398256205023007100809990148120148027541885996406808764801814795808972193322998821194432230994604297485171617508783527296761308212971834859099994401502420386702295722220035713312735121904476023532925025496788989614893492025554723467223434912794624696706237413766294615532562745319493766404219280228820817812986295429801473847402680795551368137944317346035953680503611261550410649900856962849494052204056717319839215365756621975693197043955230876474512618393978012450755592794750563923385604690014230255856990518505115313514966954903116940476392043857868797804101070950768515766453450152642157751008663186286559476321253229843611712764148976162402349424419582005429523205539380895968382414839080954236540646439686517921230712495613687470306271214502350765769966065321597628858190638769237419911406043644664090610739761267171976825356984268454728038734173527157818472375345969388932240036271754820986676255811809463959805336503829668021218248364667322172372156747422162787610684269271161217038218339237517359697005703784305494933537424711157521586583412119694154299302350224434135268186844697970186232692024065321093508734977834762562544883549657252886478843367169252621826756308066774397026550026064386650310410504287433989282317225010232883369382353849037969586981078341321904452355674851273915471816701334247449262845931607783586994516149037235925692927074633588246413665279350242790864989421641739728165092834364322084137939564838017737903193241695626974430506740659293348757759065070305370276266887621871879001792918356972294228047486066341112117566804920555669845237683202441683886709283016579870013418406883003848239739678870014049081305760268128238578977139467347830140539161012628241432741818856530228605548924713254486239347994255674383991535462300621504173002960099045831296986938931855403950343871184435424025576271928947290518828745567421898638744732821233705341673325195545858718767209707068456662522884965729103481800545354186831798015365294626354216988992140176010409748061612422776334763631293355304442278708809542506356398669302554905192226390879450011220229101399000727380627801070711261763524495800881156964017715404061207222547272000718634579082510587216823003375184530118228143657644039557500670791614152501727161352389914216917618826501673355431748998093254267015684171776925889525933749495998121021527058482429178725871973940238835305549145079638464474204626382339218116449213380937933725823316530093561894733223987141655100763916592966557983400633368846523194260120640380615006825749361868344654810799192832827616688104409111387832523686462860158426964514283131379492163516275517561291619521889743173005967160658061586879175021452303074017690197643736398203951183357287876192843669197436639341165946726642745490961792564121831677835019046134075888516198397671602456381650505096207772281117009636718591742516339412523839584683349531726459525830259597834018216036411756368755050370212762717048963065340698824210580928969484568185193085630942672498533168756032939421974819830315786826839450469914101094820594350521609978011151126977273024951003873296732979780747013256317464835198586484807353975218230699829401572509400662499353703847962770090779900723087230484287355067548045594045734520989136947209270715924713392711439105964887874599302063475447526517138928850260889830750539664520066857189338532085748853704070313829030229331420782161357322752827150196913631192577665006372066500471695109575181780526382507189655745559718317454495240852085465296734478048446992379852093151667687489977787026951904555655878785965683393631017365578252681659050912445375000848662399639634123749961153343006914861611561000262710399737060505965676942812242818859847449976841523673130225629345323181047345240945020897461973699115483801899416485937911404209266004869201529998449279305644819716010680114778102527338110249290649840844926366761964367309516579759626830900069048193492534691480884340776622407031426815551540112478213996227171186032072316073779930831423505085247358143192381095856936423048279385458025465299671944924034762185559313797563713539410549876377545048491901046888426789682235091655093390115819186847886982655645933909720024112211950163677385971445383172232200770428294059292607146862058557941247751585436316364414261801568006459964522777743553718570466353732954430981204423519105722417988371950926508742712937944843257983558726005179618420912781209804292880234893939323369795633263273742434192579124323185930815416605664489107743872981989111234707638111720601505590676223651668283826206083291991978458690068091949801824428143127229830739638355961792646002566584632339596643065426083987265889488701108355133142101800069805247582789170883485865446312833101144969837472585728657376997960647944939489145718779960659936654437591971832625891525660525043447074898953564321204241677884192514193189276701198823785466724379357230016043211789656190127115361827794914371212995426141192767255083657988531576052789029338554522324947058429031263334488852904155503355194769511704054219694797528818142640153651418727300253599618449826042411699845176139152792940668094540016013376134476752656600697602124903815580099828447767994501157495537751399400385664879473818337064058574741110615370675074051134854235464520764205400120915292571960152518590840415133385950034297538143323955974397421510255280312857925207561283597546959341642763335213862514365995808812877171260023013695202486912067596212243037560007764826537143581991612248152813894193665121157765049518786713456026715623041488917205417217133975835686449569584180218916090426094231304597966709415686064891295054856827263266482020577563503759706522025199869845892129574236253250536276284713334128040533362399733351074546935077465605070051699315088442157326443467242186022933158021687074123212425762120702583317152560977971086126207176969494160949215293550121908598044153949129502414997723236789158160299688796267130379771546078692140612060642150319477124493326541190260309192204358273729868924520609053937546094854170218825295436891354564095996899703134350892836898631111621670889414435509826968345155447357958614139066257261598615902928479627618497829641498266599669332222295448831816277481885069926332744171507567863847183772304907168002919148659415782859656468084727940185855552983861313883385311430933242733309822331798962339039540667672973560188394432652195123556727141133169002977043425853389952144388218061236843853351497790722772065888802049267099160441527369907092325473427416499760477097628470737387478948388462153667894513561464395240490815354775290206939602812974097133045037087285534534066691187912063381225330954310013849040134793689422838394717260073911726712006206880437014872127271511640030144831314355073101575448795327450444135469277720815058129786613536686000577777169538257726265416983674682709874576366583651898678175574247268965936306779206713169000320094498716224118119261778533954075554175226607377673765708094046445813694406801831055402040197166599033471125767966714054209032921767817022649322025557690226746386851759175277638452083380816232361600588258384317565589549952614367949315608935879922197352952335956863354595043110749320142081534123996908812013426432126448020880582673789559881536718267275775440712572602184341354236115948261237630837629970241645553824149857845062490191587732260275479547710888173412502511510477551220287116811787050842688633308373056161836829797623120438767416772241166999948756878300579377494663788072338985093647728900864270997479562106511139970313236654229077127530184728074945176151229803090039336408282140451057569346346052453458346801220190464075181519473927807780966373484427644501588556761579543109122467308475280202965467486854067385711787141842384206858279476543252222777903475702191559139407018060741616998342938078054954097023964066297922884055238178165887109906964434836920735965202238541389559987050361036311774057173675702791098144703376964812554817597377045252677430166175871545727529381344582029939219516753348404641442935921603087457758554115428902157020698828068387561592929875101197090466000222898372411092311627032769692380582791776575525970984661913688340695775252451288251614869624150681587850007384224336731958534459814900809444055388415585601823454826511502970222373009110213268428090136288684071350491947316714750436912304913133495911996578102704218654497327054434066552680592815719808901408380712676619317154569166629024702376841518539957780915674059144377499013469556550450856539410969713962144798023914355503646314372204521819121501507807907426692392033362940077653301550775981642705870183276840205834709273510272370453088787477781636096156080370558122189532325108402081782465559119392856349091366302559454340914742799247010984080973409430457192386469199875717085253897237234561740128040123121957954377340389914554224399473569451012253779422243911699806421964369349271919702478523739704036593777536277232037250322671088740447554598626202747318320690276023659834047315043040394721997199200852020659042878423028817107617624327131149199659592981994981877048949415933050944103391840464027557775533898085724868964429088435618315609946228396865580655314549922224631226628690497311070535221939528708284555105227880748594931865478527096248527300480920174366633399743664316756745280780053185007928507626168405844721785273279562992005337896026211870600197112167142717719592562317972960040560059433880824434392945491195977426835898201172254588115838012021437905520230614747763692687610996407876326211513122742609577600475321150403804926682621786531709525417052407105244229855041929062501778891057633092108058194934141594951860491929153953925866881703529010976279968388436640474196635226528802382248320002498453325938916535514750560318041147986276078203373275986524410988729579990630789578908499921892704697843036328690649390337665269252006580810804989875043407189449780258369730902630773539794238512771926140319751258659354745623729620332222174376541859084535902391770713688307183757491576557504468109699632456653339239457634563052381143336481037492028282559137094743502494398110947158620738965856333375514785574939778340759124729149466070851088837497921687267781141210958332933218587062655497396866850006289240964967353812362964939880834728779072296125025181768573918959979628340063763225107726570411439785121812890441858462027546576347906894140619202376436805837065472243956923007509316667160674257384960466676566639117799091959845904428088235608437408569582266624533786064746776899545994172746661749706546549463203280486308629274253464994645973832661374541560632242559788226820528209809199342406383665926438853934011854944892880092709013310978782057854310260426935990047248555571771794097947391921123229326442476258456860436034490225391892737226094110446881227954025214431551313732731747607045456799741769847884956640377983120987032599314224805004865879382224208556918279534325814425085524992786552841142256158132117525116452275384316243170608310873354359809769934386592063166265933924136282444913941521620194941232019878294043619504891111475056214723928293353716993172481830937546867629408093735912247930349506930046169932748471390265402923033791384664834522045892148706472089158851810063914228402855622585233411120046673091553039375208732300026223715178869690992606651162253180091859971571514069327512107061610813640740272318977474510575164592805160000871665825757482358011371496199402818920838055785280472243223959205995765234869391353920732388885534246925050442933441623566625430745472684956924218872569143100982534632431885556391474205673460191697047012325174900132773679162329141990201115665054791263397248052631152231152001270228503208823758197868285033002318256032148450937093776985529643980015939504931608205288484717957564420322592086903526806921363654493365986649260393517277812104063261642481121837052432021234157362105198326325487045080553798493377633045144901520406760861891115517189989859293680461573537271382107861092626546824942032630419241336322744926642206726428304182679258230383392971401262909996940415800232324745718044564262932634082871196696094815061112947927942398834919022348847583499716600083063646797917472253590035246440385985835320948278206159747774393599849668196726420777148531668590532668269813168049798669968384498101979240063211685850832446728676473100364609925842218401020491482002504163341351326716242071184893903030762235237681527866680862781020771759612176322421026104372954719677639272320453022504283930076501555311718024516976209710455244063934177897467134066589019966219675623866930617723411374381946273554605636721748300412600371651555696537189225686432061099262066861728454255613906723515072020957905772498862404626854912241541004159909947396005949058817851781947366441127003573879837020759321002635428575587664546644809120008618504317287137106408706265617840566794476550212178107823964560301403608880294745026193123570629254715797109041112369042620511566005546470649642719487007548640054527473864544134183226584555784423102275661077578296695829812773049784012156916967315511806161210652068528189193343575016361546698692029682407806281920137134215215375208199979708989338621323518182829162835690449914476377562436867436789618771175769002049755094779924082734672813053314374173472113459829871059457839389469588661823396660854271189096793538562335522549440379929596491438624032110565394517632538430161238653331618520772685121876574133981007388761750412168817850227740729784485981395392267187523303365339553735270769823589369586576990653379708925006579861475492763387971162863622018181833810881779995678735007048641878369467632087760933071370314868983525201997998928671257640970143070932594341872177542418298426693429758104879997450926916830100746783022015290668780971997681293401279017514069601156976805878339528228227496369362731507998560736110840727015219560983946272998545348367249176601952561673905962740935942854902248010659204553845521747569640165317653860423369863027571930407940692166656249312618010333626645020676215741327675823366011557948163056522055314367607086052038877958143163272390687607320407378442966209524768459532664636355899502685567015626113147518972092037945091126129243923147469792681838808782878593577122280241142787647774084588709623731695226597595616084133951155071763646705153836655144825772540551074995702189914059681854630151920461348370264144468856706026145598796762273977228662534118255383204799431259960109545645716616187478028205020441397591623075713783577038053002083454786988097527386265325192977280793837139773559376990554793875204145415462032201451113457061373899005972756485345298618118278745328048677484404383122502156373596914595343472667353506119138948062362665031038416312435243507109350537682458930822900460058845413411972858618239860311658892284786226426147523227753615517328013265167991453925307125823159319150531164244591256575818710127066487735702921930092567783230643614336794680515270358387074927191417043386612640958765972787674686018128052137484516584393717349203435137368902625231169998969808945011838204315899353019497402139125189306791732270440294358708374463482289026069121701543082868143433715692522275200467419130888393282508881269937089728667688408063615933496724133637634022833184376659848900264300621263672324372540410660074873700627283476820845359423801074979059021698581696686105095084253829671297056277754839587709433948008082700107608016070770116616424185801222242163813267548790753984088806003171522288029069928813041976791407484433026394645301940937764383600821688582260866452675910109183064289479699581469798870586998749660020948014944806491329616347432346847736805303285456668163852414661402643763299828086886971034257036374030881047505325026616971520576172660542385876552142121244017767154192695004503557111901459426201798931778256874068206336605164678524036332933866036332121500729897398179631012959606392604484808242528258408619114211798524565843190032236108118013401547981765114937479313197985200767827415672374309418394407083885070232914377117271791011930665759326434648810596306217756354250141954070797514636587224200269550148326753304134606043444089135533079303158389757258246499483408168934779301162337316767969508190468563195655325314545909568764834865425424979674852333333239957096552179755825224999856545151968202665182777893425798556774216470963637486588505837893020655029314684677508436272427725023498520175175336738037524897723593615815559579964062142780886270716853452693513394905510123510961700898203979936552847531647678168291185083243914461976697413274725338473655597520118178436348895236739493968296253904394957529638195901843446211268601370986064305373074069867904273829792013397708489890728802318169609056449618862787630793375300710857525752348188568823775724800663744281811445691121970598228697855358417612574173978898020977032737628098609801132588672556449244373562645498960012003469467856864569844360980714302161911310820984161158465267849667778425445027631042196984185675138123527433805953606280640305066856230494619292092214060370754209943120240706274001629602741317650995332343578189285206435066752415670795594714122081300376246309922030006810968548387913142655732617016419297357011888070058418775422851390550007497678139435330803912455757564613059033839193267789621122243517281899765110165988525729050988997913105202880232212181952425986503545204958591905860085256131405399125112370972198751259056510698918198679883664083368565673973914115950930399545708751123531202877498233769593618154225698601167882490078092186559804118797320847174655775240954742106268649350599460689692281776824574098879106037095151143239348896388655913379937097677915102181422503014985123372587043015096335984763271453268198862666202158380001958686288247840869849715603825764071391419277948312940795221035471843318280898360060716880061438737377775521185883013577610820743926690208340237391946986730842774370498318476307494309846706754002549757864783986570780579371996578475503470785022063324816344773769801178940476580923453677212480053211730263414163122269261808790007552337317259182632676937316625770537504566806658469490821490171154217930466398356872113691807722336534204747801604959860558482613177738115598469739528150276559655938427338105615892135812649418807974784027617561505883227647940624918230761943872682235311682701176218313435816288413743424629493021246317588670661060230916456041822546458586288050202266783202251746681932182128142915540500183106752059731765025248451681699788320563922935657157246877707128628716412868286921684007573758368406578756724740075685767242528300376425788880707338750680031141656935367200366369283992515812916853231279342923281005990772048207988748308487176338574751572008022164119988517980084712812973113735094337944129215083642006475878752643250404397666299084243639000896420919127155191231139293813561786985507690260150346852158407093536051685000451677961772080498190000570951774455274142647778109594272095531026945094684258784442963633760402867618846015542655699754604264176145789986026813007054856792731762346184056475712733309815768961150712297475213728669362372176296667672459194614466582746503560357959384117155817620599499631700137704304891601255442113982487178205900021181003586366056931022477235526090771955925550649604079800531854893347741756946014415972064869106740479637621038432782421060125229900827596258651621984345274847841030985543000039432023958053934070383389278746041260825071470982667709922905006133618551340524215415020857138286871273897410841586230889574905279390141820548299914412799834099112772785931706657481006342224462751125291067614490197137751409145269852883880074518821592359716021500386523520418577013838342951077263149329484300380082283997018829031608141903690082001704158635132303059524653860620266618659348767929357138621938626575518979403963574367554343810091373826695974430524997467220807514425879876631802353041332402744302252914398293258102238406887044260279509795990787655650211288554455748449573866663153342778661442801250480654430758797431691555477835946336418082621075329853567633531750635566060611617010592810164100920103378025725803400674328812144485755310344713257340297912343131604039725705721558197430677599159900895308049319848760332981336329067014154930055323652735273260742804014552651211696926507233908183887742695222939227705188552291120064130055868807713086924556953018299682006799984388640650818191320096554712991795755302892356276704243567258388269319514190094461444672889150252179786304838417970131864287073624962858228781984412572230468480843028581605638028376815783283196544992914425145599783094805342050818295898330166276672455493730931273551639222399115081900761916042533771308097813511207541244730919336065240554650857067587842138227729478337301649722263458142977943240835509901532824055282076916114030019659674104558712016452741088604085419351590165850674210560932027185250640793737444590571797562832246303306704162233803956327283839011371451938134156329201542914322827331896496963955207439174917012416531237230487972220269704287409043900369132365248506658300833567883763961239176006097340831716566743687688694227763086700659126839618041045734243729069546801424415530490179795947516148502958141681040103110682923639137645056106013425783406488878235910268169491566929890842502466909224224896326231050118962631495417663745391578564331976858931403572637962630374230277414679641485020421889326167805682047301030502480093343440080357410867591384469641601299628277805441203539839165501848695252318679250495305877115415408547040333036903299069576854833415997497814925897200746599599890315238965411391791862162221441984873635836352519757823807526160811299991255932666803726525354282825283011306593980775578100963490183219788045780096403156240108974376943895290000182133473770541910409352461406009751806738648108937173346969472162941914341823347639321826720990956746975779097507023119752347705377098120499424470307202474619603238640209065254613587849062248464326841429279684124897759377378442330679096015554487229659991852395516374212806718592284346737059841867742707250077326662383390565939212504762615594931835565119951873509671274240886865793363636127513290814864619707166901915759677479118934243983497697554404228275322116341989416245066029344020026407701195160178357466971491738043773168026356847212613427279544820623778866508837081405413505725412156153927298171055051018375901436843161173089963597388075534326964453441017049552420767159240231330671210807789925783106132203223365497594761547866283765768382057106512110498697858396378634558175032216146001279006800888210627486749789455996953217379045819627562330641105115833122127388271368208130157314570462976576570121651544005800505298969394443557134648369258295542474658829074422410989425163553900535320233658683080509176155032290973845692965723138755849238257773643223920726302334285333852353419939958110863343522081484746913171729580984459234480761565138564039940973316236600580380754452233070095156251062182619234995686547139770822768543252120559376539549922524962489462539752281203230068513902881715009532042644064599131162595690741394316487605764969630743389538419915795038450390311175424113494260241107520736779353012889920961349316163719945367604621098844408897524533347057198370107236795031337459664894825207643993289651029632093216992944193495162161363990390571701442936634340136587714097218591153266085357376552204543895765849614692120055656632108625973630987896291819040567422020651301089560603628165240059788835600073897044790145253722812595493352620019977075818136399255975132290414378555369110954731833490679514928086888437943459206739679400047784068054061405193787282314177908953062270393944774197723815234406656572562602938544061158231553389145040961231369320758094222935398428023894209601027976927606587557334420055479955631313976412813676538174330845954283963685177579503700005738859571687005067639564795703809594922278919769958544225858269239662961963047980097878487939129460189612435350470646038794641710689325941468698217341840282743388315856398628651300690625460162713186756812547281408368532437625160440157343067923709754717479470143385971659532579767508580412606121945054509485005207659597738107453183364659046754738748924168349051094670386575246331537764207119667925373641638276794219664998297944542168453324745338384704422573074967951753893937096707908857326151963734451874870881302524123568140214766068586093362580915436859851939796395123312825555333891539153057288243063626614028789093110023344312614838618927762641086772208456595600161821835773467783465965695683437152997877182395368534422032936449153050660235949153772434300358567502097840274114078965148201812457506820732406616056613809515602210536268255084213070321213775777171568116543094521229473864327222384670118678107553890227770290070442749485771671382369122328889788818354547508398979872265810473041628829521148056190415976694281650258158070179693457586038429112539596330298315249519426197747233016816832572454936131600314345197634814587080300893921385432576580069969300708505431862297871136618392313937605893741561988371989720217922272901352243360599239975205705096462599669873852769000897657215054657924719611133073451675184369647786033522291062153764689254627342199910749483656415396303545807581332764434632444571258405400317843378760252905647469908171689647770641235154607346670787990955248044674136723181716950687898992265438777191778452598913871338672866987761760818848249547957298813731228026235371965210512192366015251577006738838796956694591583223923402510839801517372908802375372712511644148645916647420221057268807341462262922850773864832267217578726757733674265340855824358576260968796891054659464725602120654398858297428920930432343292568561178059792784080512944445722901556203160770553680985891239470423318834583368625851213409355709517770109102420229301456532090256843021606162790636819859455133179709978056856700848629361452936353372517748813700988595926562585738621622101859373463999396617014319297381666078453551297522512435712153931076273083156783970165971324964731009432388288390418157300029602153766934966980814068822840067563054445118969096024950384435751754331318620525350187370258916038466214154157754802126263076573826561053983247870945451874065961617089186301281649168832535954108596389536417959470978106035443231530361045039211151920867361282471250472632742441935136111791416144351538509411798591134299358331518522154360802537827164990974498023731647767442224102832879704773196526959624702115955782235098732893920721165801096499708582474502281731322502412575704425864141871705662450861232537273285180649148089951516749021283713767061758365849680207235954588794313747664397219240934278112956628383834424815173443215834781079529293959787955900022761827898582955232046937800365028657665079458798329908908336755503638563520799100617883488585725899670291520230426730180391762787905207669467240340697791798787450184996175485841028931275027144133345733551845275414129339814828293957963206618642556204341947505867706641072234243546278366141606700344368573895535681530155581924098617754167861401260938788035641219827792564225844203037489608208719329480910686981190602068851098195601957720452150492655690605653800546907560046595990331114313582929710747928868576142217583703619538096400016632416568839666945623669093404062462927187195180542159618582940443336737416238819301638199607971034836170943389449444938868597985202428324114124510127573763715781697355237608690565577961888800839454077550426722474823589615090410756260708005364538459342835994732199088734641504879866721331290547813852436570144326083916863943402606817011402406929930051501004997547828596081592358956870644824365851177573296635547067908627935958383469102576199408896353158162120571157784728064190155959677617207443215875460798740168605884204913267822779643482178143445806207342683490762994221315621530691041914608929148368029712498217490727086174396876623276746210553300705108716570252978734717999920884675990479052260889306866489475626957152565212522857513147314472050865807017087436310825281295278041438750585400273498802399975571019141718839453033320650381000161044400772903806958586517143357587381424424193531145109275281645956033607575354659215126588712432069165778894880077040410742603773520303491413313774339588013272364849508090188830103117053889866573475303682783006060198671654593944613678519348700041774606685343731287269985731510130638289104368181042690451018998466856410711013026072752091569256857878644194896562611197667318091555585313616257936820787446036519745132532388672085651355854449425070397609056129583221745195937776187308295800988391407418044178078217551360368247264469253689146040843411080123195641052114417742836648966887297163994457555790793248999764940246389147659280774789216729216969652151137450445523090267161951397084281301184353374576063954370478601251160710585930003492642258458144912055649532379440632670357209314612095003512685015864602487218839967819436904920769655202184761011771650916689566639019695363451584927992075790271465188768391740403972329395208518633751330363
672809633717298795039931652294439005482006659596637606592262586733992612134996096689444269859147412955811953644253760642676150505839559321870100973274988401407477608768143727611452096962423825098546674754706632332291390318172196596306066365895888002201650222235004350017299879414897054340262948223248010463920476310758248894421350794997460739950832056213257758902789190452507151170692270182650262064364880374145607983852778019084259210528345534234817950366765650994659578921632968724438749500182270898364029906212620867145513704482209822617039442101495119445230778807634749022046773868822972535683612613383300939895281792544778815934497541931443119938297875066315432494728012978674831528466335688718133917594351453324646749821451344484450626761898468656385424741769715942569633264062555704662410763734456694325259627816924322857657747544445880744715802020696358265758992500999424937867413017965712518564683418984037732255991452783874498277394499719197698165850550306810129478908733343500811875717838097178521851880694836951854006036524020353926995789850216202571714357312934569275321608322234833167803340562003718984312571041240733850982650500208242705762090165705311141962631503135831313211059599634330562041969696914501802502556312009210803275991633797983637378970461874324463646216336909414743277332659638362247930699362554402009535918754788887501138154509055190973962758087177774657749406207541194117859829102822418069525916935562270709401377153960709818535359009006862188945416625534023877503717509609444589401283881993675936397106072570089598023697053533410170614540657634079372441494056483674325596920476206873799191714916257415954874369517088855571984133689062020735726318118779494324339496331104227284894147781602101721264711080124029327110223004037896013185833987898588732930951859764356576334651494991024653284504432149357082846941483316292393407966563796712067885765929706636944605037208695762847758107863710848212041718768957650547633947016279148371207105043764827337017462035649357764284019507287335946550911405322785183645057864269983075928993664972778822194862102154069340617206639486279585933779011192392899967661716948509169515326604328758923034625327728031927023917331589008795227436523781338830683214644974945744443155186499355301714392432434742722189198334308506814598334097658867060413147422523529428572424778445224920210863383876879726464937743834862909765219200466160429471106567259473128641964790283677372494307448199497497981788748616633961568528105136563202039720912427622212600499710693154314921564050285971487404115570242579001988334883634181745215422167312020340825242878405828471842599519284702517443723614724223990441886204725880346926410370794958100328474198432538928410736576550604958257419558300934198051001504636542775476866204633145421700570206049913021430121162619994410070592276580553969261267363653197804991708399477498886694723363024019057791147439507418452256910898035325644659102725485583818419603824608961248565972023400451477129885055301069972264531198609979368569766148664503774815207550356770004133955783359256984419704296589829142770661487170857339093725053399114216838533971102207359309520058934674742662159893836431862175718482099645956304375889288061680727334710745938719569787433026943201510366284562657063625213325506509831121241647196890310435225774371368780676834621976604708217317835947430718475435341896449883746020611481139634792886174649083540797563480200731348900932499617729364595060093297235196378423180201273104667965955315482309623713604073366725622438878977489134897330950295667158431813733626188361564926405443680292080281196866211376799531517669167530458921327801949751924433753376675341719106172259324383424214417653408322080963929664910104351607227361341880579240501095419760480427180101064785644391396014569424143211432687190281769786879014991211914779911883765110132879266167403815900549273446251265744075227086093635338502369451128865971204230876074547207874109025605803049110099467804377618571955961556054310924858372782454371520646290416453258967367565046540743977655620943721918275866840030023157105307165823738573390565201567826817381281768296514744529231805838226757869348170496086672536957377571421631352280210632497391625893137212932389376680741691279876569315485317816425157647485676220407221704122314658301681865057495655079647325880798101059430091560793312071929993467757885538647754902940443122452308363990522766395128074607402230474164240494807932195870584167894639500891433377070956429482006081371086822415227814340087640911888802493800519349714869607964617527422441444748786626559307046932843753783276177377013510286304249252192045572178345618520290335328107503089776464031154983905181614813786711531996953734097551621448443934856872125380382323715370810733811275463005230965251789017777240523743832964169156356578927284961204573680882955194443989580274378899060742230191812940837700802877339520519937034515951126740852615906284485540305414975559828242739340789805902770842709279660765363737807857919870658364731769757636892863205732644792789198200151190397300310701203477261646985516250940135196019332011430176837364691058432065117839052633619538558766001659991356651895625980796583774090148369368003392397241326742456960947482075908376637544329280348142230242318278260758060396657003610298081394670947472032424198484667890045282432906299575699478848571117840465881306009706150716783959936474121984039290851549463707304038457130052530168669156084849302798337028589888145589826788477276640976870030106739228126880542066838845587082678055929993585596540840412846454129456165990827922555368869484103502826934554531046907272420989469940056330437489616156477943741957789066354383800497144736006986255130303318744875668997183207765368198610814129421318885098826952667838690811740695401045681478220991585685130083190722796338029089884048526339385975930990887946815858286710154540209528555012025348201131352245933398718672551926938036064945393450168673859230738213379468689082097944980066250758700137744249833638428973024587458489810223857318133724022603146079033980260999784598906605915230369737625375301752602417792807483505831450360251892677922729795085596594487242340674682600389646258482967302730593186277186426885905971250276610514107982394030738632300523994276142860813173986046167629435330088096669643057020234682009930645774916852037243938027955713645641745339798899603750316373599007261818704504592383912093264524114373902369884373073664365140623982000308955443151702190951783984577672985919712141732168906790319320786537207326180335370564435532595491695299541237463128869205152561728523075110177635319293619375661719811000542912228883176717671686394777444188025893724412565633775158035961082101962149228327220051282098146104600009225539339204090355555714004956590100809065042191026491177278146478246941473776550613449092473729729517531684486805464219480249372909125713775120955590206228829111095983302598822338876849077068089944220682478400767369288504015174971400833446010676044843319390091327390057055905778553486973056881178132995194719345787467605329610229454598470072632764573143322394170005259426863440064152333189282220949248324834762769387079165050138863976319647264768453353685384768340969674032293961034341040839037088833936723937235295413572014307983632737935461620425109207862701493974273250243703544133969515273579592054185307369250261000710357760427711565570436331984257190439342625228085941725326276815365700785301930492080112389516432966600321892486020149525467996136603268288639552498971373395668128398005436744505795330800670288935185492917414964928113987231193171862432417600971427091962476906253293320902321479910091911625882224919360111488117882531859075087859973894233857519193511934193963465678123286928180546103553853043878397693565530108854328895591326381847066209750820937985830324455284645375561823363357074367572644757639116913343099910455769895487816745836777051848422215980875701615642847739232726090728736796459566232382825864017204371527726026567484706438737686241518169373502682487454262199573583082266838530219374620811808010718894914130282194178759333365363415367618027174626133962245041240290961219076330643698353605340253239630992789385080661241665047607130738165466656009545847366839416861279610764117174620771765997864041871572165360512067347411703327003970469421112940172813074854844938058996614251926901667377751405412669421506199721067646410188555488018509394330823143752042957095893620580545084730769959691806523698982546326747723411504537464450208885620010205492757361803209033530542457779073239570604090205110411298192684949625337924701765050184173469466355953674103575687181539303943642800614611073170483668246216005564231458551849711460522775038900095870634745520653756101972870570843126380789697489929796490536223274333191906023204096606860657322986230403315449029317646573307389016927971623942250025984670345439729463173235958075683614095921020447428028610670379452000769820861964720513339841500923300289969756121559601040063200707128876579023289613669587736609456820340970695338025789209504119152007159349054021848034287579708918145203920365004598301590377671401486961095551949208503846011615558438353963004759482662199117536038834049541971564493531430467659189798587323349647960834189836939640032754028406521760328056190445944401780126814030664443006498628656896941249580564430570360260656642571837196515187642714631596293080427647476299665450335960864826727554731348093605972041351886666211298651966125812504243044638287702446518526659348917022387907050696088103268420849765618961447947892557173729531682448575123448252339625580379444339730381924995609986847680274435912659052202195478060036014527894605668948997363337836902505631992016981518003151522970140129866443840244908121051240848533547726049591203700168869889230543607524380233137697326852991551306825003835036796773793072459906179147710015954500022697777253376964319620223630178638559425140990817155858421377067146768030313108965255356610063648010342894231072995755963219051936599992959181123132270520289683015129936602295481909755651765547651644159883112005992589903619462068470018858643156535410803328163533666838984531020628318671356779569587766389753669343809104084614096614158487291752654507966181765191789318153526441505368800550548380165194239346740179544508953701623037041186459154589217316897302788790450588029736823333405914205700347610133507025622996312368479615864494859691713791522005596129740158739427499525738949869360345689433695776398911139766752425551212142414314623204114875240232191158022972350996496701602116504658600404675650924961405490266416255904227212240823550633662765903447876205579689596267007679459316910912962184148276728294441531914191450031505359802824753431794805539622918339973327723211935608852812313980397076190287269675557399923809908912064855784071468735754654127343954572154931923980273957388510843156619232356484674071121550195169727444673741960495136659028174258101030581080392863446309789739811059189285550117545579039843011245424337116760017840893552836932000864722999406812922401346739957618819749867879635923557332746803657717346198126021886296708353711603081232272060262736461757862198267138608513443144205557325334624224353108485708702832362010079734984468140726934839069860472074527829886531049106930932238871291040644780965528573000173737066520181909433204069301196604550780798230481514930082405320023191931756100383692668088132995929457364468858608682663423837728819018761362655512264643939966098765634772350023096968201351375849944428209091282948554291944976628166243770104037956662826532797421646206580190557961979696695034238212887648200224933236965819671877705247667467990544623330295246026418317432803998036267374963042760354522389975928538032956215123959685049785958100560547327838736688757298448904126833145869998758261500325020031944820772499649073603772822483015727339975841274350825929459307141655073056241321072432210495738573320853867186844695350023900132834074733462855838616207534438725566235532355016127740984439157936698728337841539995814220671844300764434942370123838567784011509607408734229108822366927236259133008355059195941997726507995044729675855502598624427378049920629837109528187061438311006292635110349127882135544971375999622335350286874937942529827964365328898006888514941513917653811822769136577018799214652436284471641848625186203786070933954730460755329825969057413106478433043618253502529112883166129776695050586903546753962216038551110349300169632740695737424765308084843875649455946045576413562825053139863968784208623191632280227888527238632899878131961343265689029755781974185690475351368197744900705497177907449875509692245752636878397633419614030952807201757915491956472575487393208896429676368092925940496996165835617926018553748367391183135499354716993127731526638562055681228555494164164492541197845837838661910357027611270106389134539386100428934125870688825784983780836641853895524729726441891786694535272864349742814340520992699980582298786746022332182037629575941278490676523121657328786184794589963345814526969206444805727608331285138183515918536602818369385850194376991209015785115374503927543721517604562764812148680470445960191324469490475687763829318112802844778697321553748803878161247440672427738276047470369183198145980905167425277821953321913664684244755969144011444107108214976797464189467348851397483053126925140861950425373610529175470343064674960361084474531667446398416904131489639721077685298697180033646222339895724402747579679682325637073538825917839483715222852071168862059553793127062913446158482913052548360956245169864544512337007622226230267092731527214111632743415746786678454853709457343823866236151682126198200064710536052774633016666224537336742676899409448106522326174266371655886543290830537896239756839467363080345187797524154832399605203478600022708265302405600332370049789966194280733106685816201989549564839480840863175535747336648741143848992286760790366553895369932464217274170494437045248741356570002555835015265639786375224776556108832343679336571447153129129102628844086035074586721502985233717064121214750333954970838685209925335492549801379894263548039089343552805998886427939897138175631587775889307855380868266769088009649998008566428239217947910832886253468867716303366719814179106075741252941764407046264841702081960026640715100421078366772324743044502381199454603315012518469230610320908765664379067934891400270375013792646594894646374091552267827050196822615349673781777842055990096575075350681678398728531643008066412983789063375584053543724557075385067334307513424223934439850747217104557615759049751697629674216102579797168235062259734425096300230881935241779192198729455774261504951566496019445569409227150546666306613052123061290293310347630632675126069929353726176226251358490874999131870775496186682627914257878739547469370796919766606665712443066880421920221967433682045494028432217610463798771994961448310061465555672020688849900928968905506953116095138303663611251326496687993176004147796541224404281805023179110447265163744684812204297298429097635367594994715374472286645391350433155521566806504928940978158126848718691203029177503868643734741040312369815874913965248807276187573634963621010511901554587360915670283725525754543209055398349425266400119149891611471199013932104299949929382968274399282518813813875128605893867033767029153528116872116821972284402116023550030369467490487921875613876564393906280223357160739935190589328211991328329075213829553473572236494364184688931584704917605878869490245571095739059599229911469956735426974970718701107835373154929602023246762856100249590127315845931431002469914917350451680990315428460741990406938597570383087491132185225528419138026112948492153148382364665434258836041141135891188121104608363653517652954096279631353433770729899482537517054667488103593698665992679171011422203069790274373276240563997603003744625717647395129556127669191053393489273854745968449824554152230834382272190083464476380262558439695285481155135996109282358885406078288428262567692858748074970800065535809413335967410780810235757516273647162880701978253751802483938893340574665236910778677892713244696764703009865971251815892465182885232557168258481087522451298705623830642212740641022254345622847503822453680457833854497426827846355484649473612710802181637338867527152089426430057792141319372121241007918580398040212785343990627899462924698404336903441499447748848246631676217035750640181255084345518525205809160830417821896802804028105651844074826325897807719136664748332869878528624719598324304356955127296261473289635136277636999266546506631034484672303505547658846286723104477613768975325754044431123212145952884354129954874899024709683782012250179956257476009832477367376903608342169471361248405808583805427481813788516643952230390102801847368975235048294826192030427416321729680809607615501225642963650211335035901237723951131302954652367570914322032047998234809416065601303068038402285095934661066334117821788574821686481374498192169986646763440424844396919635122774227399557697516229162905714410453418597775426996966919784966518423848705292285185291594910180140768474374828357497471171152127826123864329585721499337153247684001629578578948645590085939615766320239153271159536160987392673287820978035892487478960664446260401457348177549952927747273021700055486941196455188147153266836173673618495743502063999171095892227339748096834184067912319306141174721998919183967299887669401919578980676120508531942250684863951607275028960062144189923624286034794848566890212503134676881599983096142858106236535315433477273933768634793520192498718560197084183929313657514298884767853627722379536434090449245205359570693499413644795496095355662579655414590745647448917355629976758486068320670173694962503571733045530726035119762072557647382472950530776859213128705439122037716106382435307220640255234561244821295180359002144150809050684637911215716096197524448371861348174997707206791812800479604039647851513291477487555559197754342200042034674816151890696497203284203781452531431294166724679078953347395827784734409939687870463245640477818791316877105812631358973154610954394204740192389439459245797199438407205444115168241612172980130019394220748431553115405034726096131488935625768604546041117975474406172408618806006649980580638988115260343984357532933571432855796694866063730964521274290568262510323507007945791065415412869877564707219209217508422061577391614172549276618475966107400183525382908680308719707884049068076932086915846563882723665466523591248278875944158361554949152342585194728384195100646782177023850089108802985681258062474831484699294391353440690183142641941798002183603324258682397795801460655284868076849886780678628469020344712844558964720591223599704440669998114265714150473041851066896322559089558534370630136324029355570238612405182692400467933607464206071927884082749707143705206554837476707767243245231983412113701604055556650052005136563388285926718000594359322346833870114863421153265701100364731981280168818192067716182325969940925427393181629839645593483211795765562233057479176742786399164344304607593800449642627344321044849772872598987400290626638917001923677831521876740039346013422257111988689635110833591051293299434005079318359464220407451138634432066274313267574074923853684758151478886213176095245303036417928755076655002628011344237172497945797199523186825489215358151898247600917680088892870397626427236932163461466286841440223808339963868787802533176713397655114742693448264579133926296215916397937849454182766627042599407559557706740475275385209890746158399517328661379003829221405725090104777586533682157015625600977095393767774204315831472220607410119943738236460757986844101212549092965032446942856765766533648282317014748811284537764682084260691348612760865225430246371933628348301035067707246605871073931274392634119684644731457358417258973261100385257740397780920430897193072049562916164336858205472030963497684985970659529555315186637485091234453792694231466876155689691040161978512826968482467241022563140879192486492412090442672217204475272027614593604396659525809330925015145671079595274609021625984655641006602937857146364472549646665060650112012303825273453837618974644395347905520896775317831710783363472937895924722431124813439396229659261538949427639089202115415587762445785729344941303902742416667218360726566756596202586420258820386340429907136825312633703159693106656146905855856839309635271942358632549361433531051217174699263081896365622827098659190239752089318910720676613248382617200255131918056075981662218620997847438546826847285257081233290144834138675672202058214870511105291579203484780913332083133487823898909981276649005801836340970548962820070161476533426482403821896628779796790363773601917671035999400029065159520662164291925317966469994822390984359066084814689458095723173207615797656305164294444662496506049852936107187782352566574649309468166027416536766060989489452152389955300348715235831134975744826896282682040222137940138126637043376018913311366902623961349185368472455139557564657882971549687500387141978844392758342773462151745571268713858623717821663558231629184100844323119571315141632667689155263860380014873010686924374993471135398555060192535006766116052228917777190232964978721919095939613990398034455571446021371751384683174087918988034190615237423655796837261131396309548665958535504156449544367885983795724107665200697606731250686685845319103231023114215094658232427220745020791073066682906536398620183267727178982742221556548856906534202554161248512224734123508312107422316531554594937130602760062602770291111000321529891161238876510149552471659379110014469719626700780114907661293379755496278211078919716645171913728777012612531684685814317078293202375114029855765627011789018615144387992902619048910413443701348596178833714941982498331728070781754454215242035291283293422272663820824872425065319577616480604105783037775485270995136290357804817718526667058911405967786063296542236816079753140988683296947859381415856834955617596515067682864109925603017960708534205972674975951853095028794301065867217486032140238039167582534093590891838819581017226967184720907751956197509108282127573145754014443178398752832026392891418255025934880477718831498222942160607783447827291666035170734445753493980360096658253310989916166402217404275079996159635773884671972165559501901344122329755234785797276605595156918271571987313060384803903998398193384459801560354202941149412102156577255059129865956169003850811781613657736595073765169975143705590339022944195354804251838410766424884856379892217335533873712428599472734730061916332048244403359495461324302919825059423645944598943591071809555803701548498707538955747351708181588639744564935671166700712447086822232081173226419036999749928142257759664276393180798291665101917968184006586040691863958193010928374749638750015735935401290725156679581098065281288434620644405560569877656450417295942875740944653286631671985227303288554894889693269709198508788504424357176302880804213910981035420802249992855198272473573768407981904738715857866744487549638088820165013651611512454264592145435447522920946701716818852323997850862855568199192290874069685689163023533224408819975552464625211574563483103833773298068010608264133186285462359767695161039037892770678406993096632161749381206186846674779989925125273466853210871124770596117440696794462205920224519293725879395206803457877176763533645264536099307634678884590630348408992641364977783231759182577813958340168227567154156187529651281588927725317322895857963431828590591817508070476209505781621419748436034866474046886399174693226470683318328566379691280049761287319756215084919015117808743071075430569322796114284703743979451368633747085368819483173446301265317068380047424770874696364875636934493486323401255844480384514071983647066747613885450181562209033145781476818593432029063474991008096925044081251616755673777301521107756938000190955174240467631110952865740130691915074525359403002398867514815125415744980798346732002077217851849925482475919491479919516341203633709752772272672173367477098208816561068522832415958855577675792651015360495485460137385649437550102904182763382120387239107333814951263341451567794044270750844789375190050161991618950783388632593045680399977873923144865874493217274171409737091037576749032604032095482280504146941589538453934256613864395401139113416688853413895279360236812464225875675253250068380208256013237216321170931204282248246736530631154853475668950842328885830439395013145475308261423602588719236827238416969474274271346514059291001493121521184896313333041190782707784151960868794850801472167286181863600091358314558921373142093673252200847900223477594426630865105962493550682640597611703886345120365110299942171166492635625229484133633348642494504002314061585984291798291987748188777026743255678050416160087337216715262057742352717672791183085090548345397759718032782158893509508594404918603832939130753975316799439364550357084131732852798380993042521035767502578451093740284015401542763254517485830343072083676637413543979659161993131879057467850501732146286945687308055580951344185528585940363905177477008363660126216402713591533987537248289922284380823534599192681863964866720293372261830260068665542607313663773760050974422796556958128593736608579166236746122328492875265757045612977491055391338462815332318524356872265500614072706835620244888671144073883598342048049184575616775780361704239338493836656959797827195734176946637367939258454191807550014297840685182932159548874225604424898965576719262214173279675305514817545592943947751171954407873266243298649566394527365875351305542758168764232756790608356225138110618125468356743583395113611290659598446479666185592116206125685329284701994010758883591215768054216278416267384028036220860483997367097792606867622556427885683706981257368546090657591302559749132084785939640945687479275709048983174331880134105065464844005889923889345022137973632778146434002101491124007934081228534493533058225990707951328377648006482678745052292506321377962248162686139350485734299992126182329492455751194072293206137859861137718147270523826529579607384293137122002661288942422396650472835168786351974622884680327023556572870152015275335763917296085602250416837213228182839680493912870328935658256541417843996556899456822542989618114485392021996221376227925391584935517255076717248755517640877299742413861960963586233871174829752191617865058653224391456632862072791246922339258311940354476254752901907208389940573877815927703306872184396095320149002360520526049580733358039195299839584823655227672051101072953768148268529002634111235520222042309346716475246039619336337975376703499056803810025014773657284476348374694522552156520338701222455728930674940456135177245388010338847559034509054806441598626155048261953416048588571872720948586707735160933388154609375714020166674655551952037853082746453855617374382664984159773529381639553235196762278427655514695350573866695873622196584104935339413205803562967352766443667464599793759150864970859720380088487046755477311104084594351751574116170300812023846899375262762013000502515160713294526041142307005724537545263305324037472093079302141237303147018312173265025179760959126086533228759196895100536344822541213420532785638975510763406671593264230175915844194982976462604678794362747072421308392039799223658457261573080314252049140226648511295480978368764463504021226606161079356447411037982104701822830716371802100071184799916740343865366372637077802643266548143262938518913356154508059341191953037637022815994391526775194365760988686079467065481228683873510205539717395551397780928237042961652511930018086263797067416744699280518276589633978141782875093051983342318285460792439734297209099023253589458458465091609619958087562774236076034344869367714870005660137636188203135666621866267387869508166095439975237875594786065862661981909166059081325884250435498716156083327523286049310896455562252419629737387422503461474149607118665708004476819260632217108484223328720474308165328293779611650530659431026962013815297791568288886967702424485081157296885815244888468114953103590173888484528601100307739138459382544411768288560408962769230930592600494261947536910802222481565103120050387873433379974357047058513294498767951283164576380780088025644670968071076812905952243556507319389872186025353632256263062527936226865411999004790715425678022634801920323401389380760847117102051002217731851736984811914070808554063927786962552531352122453624444476037266662374776085545519054865536422293716888822794496196303396759983651703277145909411420569864594654972782421769992196444674084265593234696905703850100237454708645578539573262004399240302190069469804763166827375430165611572182322281306794027993394291653162971896303109037050379813662576647333769394874684853703409665397154207088182499496023843270582702555898190743635754494378677272134139768753626555055246959101208632625466538662519078097426818770880547833022027771543828731847954266166096313573884814842112873568935641069950815994569869927108352527095933086799805550685180464849280786575964426134293054239720308291772566055834265833967802690630130825788340066688319152957693604137471056258685315719261319195570913912403286997028422316162149035877835102619477946269971116957518608501716207927418601027257996890314253208738691110380965673956634152786047507941472919022527557532038071702634175083517870552669686117409018537116574116679982454857489622797499014268030554936681401497145375422759553270897740663275509214726428226390860162795024336813479632307999460966400448378202258785522026411273981224870682224892325893993666146440220380688035321597507336606113177420621935515389746292745541338386966138632428610767122930855309403807480654889565938071471804297444724590419644068244112610626530272691882642651537922267187389212022516825307511357013248442749918905000825945246668902389178746648773167364529071265616757401517390790253308159512387266732590523092017263501547719862863751299651177312790330018903943858803348957972671119575851508163687647496820646091545711388649875362046182592236958119875959542272382594219176504208196329863616387605296119847302070297310249555954194741795590219287278965787500433880869044163114317954538927624525432566349375715396978087407130227809323682207514887624759685575894834758417637933525112010317320798246761270900770974727450581019254470186866398548990433099161672942696693944640564358243010462500280132466394323030610822467225452256646241953698172731781358349159380951691803090868221074378457344493069570627181461873073381957289013244114115856659052875888157076855232569950922144588640109118474945590346435876105635581771004574585150492080651346079569592807821681145575536350261516013138622428570790906146241731810145174429675670004547215877739873370194494103633242415397478536406251096890986762533893388385277612904700814592943449154173866823974075853235176193756837573987923992338725312920639637776452026190054895714339083479510242332340642981304640159151938976537155544124720965555139012326902399752823911163794184311089685085460516807578791138758414419767717540936869724066360500179172843515539776607568217477024718645747816333681078887320132578330195041641543046232222355597665220631342171782281221109854438959173562892938624696887213234277574271627395660544238246729552509247551636144740467923743242641386769014198416041862567232529174816500283187991828168283354732271121072705304200300319592672354862925753299991491112886097261896989464943246114006791787820489531944539878938019617019824115191339371407233619534500916558777449267107738014420369697819151502381994309599989508710618522869179019676960443437228507325010555161304190378325199406894273204478920460837608248891049817003617905649793325261618618450522320612675726725768858825415557615637995560261724048627769691853188550947755227236387706592064842483079529984909432051066478808749214339580523431506102903722442717308981331839861766270172086528282629678735741552432350323660955480893450658721966170370946361317275133365902601376001139001312303040677861613784131454927561609090153837847545423742598921285624072893854441469757408511479681804791140553006513245768464873535370492009786502363628917808764099867175721903042627312902189834286603682962741343769347557610612257060289533565039415161348926038735362623865666529379112022948949421882117377016887717918943645684784713756670034417663914729276304512967445075819937520788775866321128031294615349383796043439628924101580974555614769743724072300743145491113957524918660021349454433839404980726125132794684392449146289948421949739249688535455987405877324546616602181554885133784348055184103694403735427714226853443771662675567575529958462524443452601536224517171290433319480390077020778599273064568783600765287536278371106441735717064905935932132729229414759611128647519853402719342006837668483183504271971871335039971015863946126014130719366699850682407379102972198609771203967991074017912974298433184895578628149993158213966110292888739001831375131058552418069408722239360272062052969946499586911919162370307572615817790095430611292287019785943355115593556046107126391583030308281918166532604983514701850309470140714592636669690955825551860167100076636610344067477931282675081338393223863618901430715671084186878004651618731806007219677578739788347579108638176110326478014578727290916416909956970350671916017500213153707100129048662075590605977407435183229148872905434603628584321413200924406517477853275081656499476549428782744969027188449802184624018285485202619635999378372057531256571189169523852698725135196526096005659376714225186585489111217966290682714037719323775454619241771783546061077126339441415121328670046984390854940785463706413532366678253185387144900429201598373037769509973727243505030248395432115235218344763539426012862644172175891379991844195362007904703963710182051284611539152480129930537821472456320416902338265467924397913320006833601307542632938758491427025546899901582392175440097998667497355736618817548314233808047628182328390100945953570263575005748760912402856449318042388597661847486304096742264188061059108404185615384908621654996218836933173029671046513839385541035788865084551418683090491750796205888090760978162575122933823480876403802888160338354676411892910055380364400367858464915478436966078867067834383238345787802952983693457980754653131552640312186606569020703245117826070184754501274634157574136538493332683038818915575728562565286884248078603967838622581298657097015789360660193300310679413119146702356043329639055404220817454680913016901823515611533810408507731668024807255576371940677066006291845850530975561924593781246058461268249580984148897493893182675359147136699698926855401255390573106763549327592690373599770940954504632936053723745056618963878707213042860793691621502290507380060293173971716074663588768678645830663546234630148476556148874761908821319919849404854431084463526563382109167664623948281951489165836716419399244797084172107064948291904596658140839582436064334679248060850771186710724210924573530600908803308788803194959165653723373391528339985400245781637752260418869102475673015087939571088616898150630653836757510998369718541444043500155147972720312372795642730114987512756517528768475372858063786691356698394252406251693775926489842405269321356325013610799549822361566406454374438987529462867803890041035594018364424796101013866254783198378811603554251018945637357223324199872141486294023944176542162300547875395630792389351067632648592889024121929856928239717147901755995223201649852421182287695650706715814926940337670245032180079757813449136061591090767636484581334431708004354217104823438678123533374539037300203478941176395722346508950891451500030638690095147702625513952322013023791626100523827892665122788002518748100820066948385883510783594364580024771269737965103666716669205529888800991399295151739875199365341359291874635436979274995747665902948219418557197361677030587317915788874499351793678628403780488876297854936236676533979729028609763961685546194262204763960885803531429675048171290007170700025932869786268552352661937319064193778257234568632779100095052842872446165725866777695658191337047077199975067351571898024174435417152591673783832413373871431583847461566688771570282374191027432298644037142626063464150731655379358557347312029580122049732229578027996836540674281991476960228088068325741066613847428032456905241049145454475611367852015175359774798871344385727633895083525873021498179739050885741589941621998378886656844856070728483705924903776457765788595831078483539529823648766050079027080580819014733530986726361293032446061030995955127231628484661305183057829430581252536670106748453757471529853473842176720162170358359831856807306330918013785023439853533608659571322642050084144672806241363178538456662286588973600926983165996046174148522251670081342605055488072863331836115992612985325962571216157720315233922298662625950587864692808265247532989217509005724464789183192176691602136406994378626085623647943051429905145085565715540855101166111245048633684780714010097006303906222784483346400350872623105623226944147145205831484723235492336530270050331748669594426505116656020076983205086959954293592869473472411450109845737760435157534487752503880895461006615238791292044134138233545886586938762252658157895720091379810410086277273245867993051935189127950040041871246214932706161386148983533863270018146831267911531430466601701242070824676785521609282749522263333822177960636693944030354038998890721520101017297928263606209498109481839439254789801580075921590686810076512783198740207877647421394450538677596650466415369537613691718122981161043229664843236912199579161448058863068586895577447634749909118459058181428497785158146140008561056276625252170890584001419719359747316280762078467816946673448781576680110783484037930146696644671707176524136037964415513744815989827189962978829463750518613614792296150912972415357699618046837556718822337502961544211977830408934535406404281282069913185988059576256657847434745532577936583977103452099070609630755875982665802981535740421043563586749377924075896367462626613481062323450346582068741164326032264611192472732480924450011081197421585382474870011463033807476842379278574867027827485049256782556701200351488399906432638032051656142461567971244672718988212549760297632391225674147920904057328918769025027915516271050024910912002334063214950794020349881700472435339464797561388925553398004732138305564027287616040877678125793618034655069208211223031709103298591106201958512494315865290946290664720396484413051568362649632079199570873756442832113850398318819076726461539093191241479542864475529898503885416833202099003135589434322128022616755559552942542238049845594742704413610689880805783517938004381470832945137918361282619381693489233207970559049412465975293094289754552968513325442069861672792541363438565345466943511398719789478820843668216099550965328727166153269205293074583469080961894259482734752810018940557731929543721699409294635481796930959602254020872116154031357452929046396219559461299134873336844427832724560501767247370761610385135363102377582625367398017098404351416125704311432971002499868417401150273268768623806865508498101986554009247714442093803960121874616513332821590958704989507809702124096664243593822066650240958986953740312753511908533086392824039858302117514041335774120790640425457805720715289485020394179910729437822741899669004943167405737297170957049387859038423424569220322453214008111750515179274267137675269782135694261458983415871037258624449052495444521805736991001284594081086336920360002255840233376028976067799604347456865104460026796613586682374798085435682844561421412862057157781001516459048030399506736356004756237771056134468576822318699693685477689814211194474671400297179895434657031940395645655676747048849686128898684593929146870738861290043402898970094424174357073950754392251719694869828020822629432970989960142296916361479995327582634310246188636089893643455774232525879032713494192921993452458110768142376349550490827583504291039143619061590738553721968434991883874187633576736569678605709906858778029444159907548517318227733435657312513184123331415906477212957415104483181386994105023908893858831848643071211192692227813597056969818079356513805773831676370042917672006038010152297557014279833425030982533164577620842240840095158910805824170629147358724911339224248518177136075021624107009877631612084893333968145685647304424236199916570200915418895507320833019939486259059369796738953789037477071570130647605411150642836644475015643830378150882778330775616550613343910996271459022055685971436169478734298155304120838812400171970256138477783115260078753727665420473735012865548751221031538793920634837568502576503634168507035652244766801327662788871674555345526861595306701649596789102623325477420588156789062560118054511483427103545501622761498826687382052884054212751828384442027362823730745008463731908581556079154933261216395507147606480293335345465298283368832934358699201856766060181969854144698596118199566351609756605196623328893628053563912830440531829423145943042939727472429421491699439108783313638843815119688055313890358115701317660879941528434677279594058178611849013532729123276092784057731577148460712097846684091957307595910191052345933228950366522527130786417844809411423507917710805725411848668626435809402315859775480884628674517275609397436054470499932079801131366192676796249116889772196541154413538640156879822905143104651275384669924368075508928436863019660741429466585786544107946536276268207072271097041888706269866499697842997446165432940786683492407384791743936955476996833160650425351267046983981375790655734179556229501521046546016855237674692783928316072943837698337263630830229593745982650664283118110241965355076345496504407138933280138185565192661128299257438753542589536876854540504268296571945146345229394490893731737618878107846581881096892061252150408797138156757831702901717203259467180170567505456950968703177725054639372291616598155171987335121328589250141373403950218414489487938744902022043045164950238624999684709565906308773415464326113531407208747548832888457236372158842996918276899423077490898352773350017501737962605496023249393572735993943034389218287825028716413815557354174300999944906778662734153339102246382617251723654239990151863301661561083141619675653020668137847915612749179996453523232617318473243539757404825612375566684955664897165955835082942397740475115338785273016501719878707806237248995530610876761510781237696212687805315567128188093193011417176831468766261637430791689851384300386846419933254912356013098491957820770731861913355684485065708343790975664175205028414678599154397897930856405196259151856424419657755046414300600771739940192557173332647355587319594585579344358902837482531056720173750945411114378658120070663585738700209560459070427671698859922363142172737739158802056684381843308319899797066177476516868670506385453269205967250778987016837703102326468652293432465689516046079197450359073616008437860464272175888480453526930030857436216800432476555560294269187802844898961020678166655718437049856635278564683750859190470755173378573632114702923185818783338710760328638524397072458940614827809808051353832558399322937991352962908064866662647460738846881760591611617242620390713884135070709311622541188511733598972188624019290163601277661942084691112533682713557868285691420818217775352922095141109105040039101645142457141331375213313066111923549125123004146527353531779518182150614217535864808389096709015189154450007964074644464474103792654295902358205910534363676684267142038519132270648185104110787181811322242161170831735347587629128607462308528208629646243704329825446267420708351960601896398557799669551556059202441050989189078409462758690020353621430705090377517963718162096644089420212096903103147739963127154365518275529234408330925552672917956126335944978207705978642669939387395282501417387706910115858449909334559408293543235229600320224308823671289941935304064107608417991319102309825331175244955060823853463923575813608316561119236318051938643527774305596936403782466597703560526831555288687799851901498545367708320553385869605499912224736035864763422806654936657615742555435551630806749258029406803362937779263404340269018128207922079653800911778666472918481106426688601539674936369431710576418910207052790430826829038486789024848306219112093204295108433572901020334632265388385722899912022034094121353054672310526293765582593565921414157785628805794947029121548481458596578346312341177153753827445671306025007480516034146910062583270689663971027652796149151718532072873524803869663822736974311988192480290339393231126609419848935174015721399841872705920371748382559354019435621644550470736777994752224061431181015362657447911659410447828995006534049757034691081819023793097575405149343566201086270047627667690450420567612850728954677832208589122848283234282105558057086362304062973470998808335150300359723781220490373098410163910846096998255573020595379586571468697312381521640320571789950055572269026291066299011742022263421072956650519551874782547444697943752420690983251653123833615388403239404393331530050511492205909406357177174844515338745446197823686792111271924486062533286341317871849412195709929762213956083632486046097880630308457688169459109100791599372667173546247195664368089430496177082795991917661307420006708812902648555024770853222972250600606938477555456738837204216498584145246086323147606471552252286163197920060381081616449881931174783625058822392639651235232758214427053781115735439828164966515123756488708887578638433599384614566577742173794005073106323657775198146260348981051161281466925500277286322862211113036774798960809760624930006740820587750860086436397968352304703668276716169570994256865799835037607261596183095975632843651469600634046668654210371831492106827416714539372970844551118204100455903296265832892824866358311077824325791578977647687292211358910886808912064397960475471504810296789089496777805222372488497247202359277723301844264518254740384824751261762898886991131142697151866624113738216513163283851119056839550816186260706905854116713076513957375999457741186766654539551429059730199017616871888853584531997198852004159739580303763124373159191455924333663311344116277164632619268771852344166297297108953104450906935857252286204675818546642308466921190386795182159547472243650180990713860581362722584283941086243381750976798816333481885893127611761471415159395235798754737266114899840744195468707114384400814481463491037066123978108470800796684198574846893252987735986631470675302228243509773705778531349197266032325073058412040097069606127126708263218925786110361463109256876241604232218618647082559639173715559140939726696016982995659303568108044985352807594784739211196018675393496462900446155758835716759751706121374575889834814276391362557734295061561895063348406953951256957978947761676425065879704419386025402596541053255906188371993490589020500670726375456823727974787728009073855146824436885647309907788232517449632180473618017440844864743687722714458271289071423729643064164945671712793933764710102349962365248079835346200766172332925040007698961020239547713874388484419566892660589200070717332527656840181923370944764468555772536748099094496227047289945207845587242860664660711417839475123626416247863080628377390181039045063610560991578459042052017822550328168958935744510179557939225251414741042167360979133374850422402927037524861031965821251042390494160699143420360780941946879409178100265791990523637903220185364829131925822143259745426741481678005355245538555897485457863607172985433638793227746565132302326544061398334704352941228961150696689733809527117474109156637150569835432514373835333130773819181348574650514153132541728465751143399566713525200992799325703946689562421314310688640161565215021644981319382116965525954766879787475479651845155074309645728811132707473012823640240690123280363948494553444052331632830703337404043508898131152926636426511196704927124430460854876489703532303504984765439616079543882767625312512237253705979738095948205429318959553654394347690619099141057910139669239783426096028544589985686372964265111298796427996982141169182478997684433367053815875049351686803758095429390695009733221245471850015430614078831316672387332686606036367268933258231947146073865891381746852543245549050364294421461426400591323839861270129396334558696850565335273985945612245972608585208501558042761189974013987910932063784312203094927022516657457304231090816181746817161677051900771017375480211714449255217535223042947604215455856705880650378473428626384313391565540873111179172873994899791136691595509861541892980590230311716701100884020542597992794400418778449112514481133530177309464108714936895943916816356333439747478565872234595862751740291263387490699093392586550252341020663229244005545510432867277716174900562696578800670982477738552160619792983904284458137620790456628508647401692565350955211562033575266071979230761037912397042140292541161196860495199214092285517134604946729355636505388103466526057822734418104255290242865687568161422062206530573114016653519247296835098587070084217643641116706508565972556694456364895916885063795032874358889947036826611377851411710637945152352082887955035798750966081874809678789934177435642518128909599105071662155952204616825225847176115026846654622015558422290002522228276170623463043542773078478522347781802833431661755433445674138099738791487005810317469130420139486295532739047242038250798645507892898507012886594819399813395905022633478868345254096554380976561750854715817893661681394114904228301103131107047618841655792168410983428552300837462460564899330491006291709410906676905338553782513618391624575144203336311619037087933163038979293705605008505275016476152819175418459376882344963009432163891856241129084539349713579889301383024173623376962190288281438016746351331634522891451614392950454713977152016109069124211534083607521791884110949089460219845385509882530680621993166804252026438536958929225472094878251433959482241027320652817202712659857385522754237100829811843027121734234249641064936288522742925911961578047511290389870879105283950335279867788901242530811126310081670238102850578019354983956953791966524749384219047910306114563018144527991817943138797094375216181863423549757452782268731384934955129891283884844451077495143177109928872864935968474753934942523766613244453985995221631017151745363118804166020938501024175660937219379911286662342953292158486178537080293842804530475791908584009820470781637935581823990246721124114876177708210117122440216587120570162896856650936233456339194683221866779293432427554273388507883348368169221467333821877390363552565683962099185142295178613769286367245030870221266292128291990564954439317508643486961548168641385785366404682454989707383334486883448447184024240206757539180312713251697105353118617245186074945041682478992191994867906135153941461106112766261266374227484832619253934601609682743703072778067110215380480046388507901064964492474985628999544872404719666542211143183366562742860199157042554366134319488964464813910581398541467830483334651567930658171530133705381460241510626842360037077220472772482995003087948735432558367436688378209928705431330495845804915319522409540540043349715822098164809959820557393900317899639470419999580474148511265700752307753092143689044345113666392580263001615369696889495868083445229097917403990125527515847561389670593582866513620035284301458950228990449291705177712262607807136389875223340241271815460271970208886100142648453586109272566484416059478860587994174628764138431266298740743526958393024846295662698025848915863126350720812841695247081388637002135511547008941990240804921781041389991642015541229717026469481061612422446782714648458337439967053654141469562985071394040712773418157716786684463063415472822091971017329770827939022574896445853084846861414909563715746915369602707758944762385233368405488428411537527796639193758448273244353805914643122364317064481520725130337777638755095959437329573080329970924347268528631719241711724980265988637404004160946385575847746214774282260752302696548457277142224711687378761376278379949632808898469200381723933202164687249646516441965329041936369676741950026881238297541053196724861971930271425008458374191795444709146333114256584886200882900421747695932266896837028344275926403992287563288758334415880830789945458384050024628876682185038450132200058478944739788224585092231190713207515930330492409358878039981772736863043448771368942135584378380233350969467022977949361155219982807102667994163001027234364021713397892238300988095935818508587770828572610235003211867657751851408001765510792039699283290329291525683918709270867723227519690729231468420459308340694947631399263885950146910465472229985346224889668861883534662502774594537118935171249420654899714576945248640347403276948608377396917633408980482330610081616298515072145101950125802360008139023252953249980683654600479627018512554016744168206244663020775185045332636975912337100885829137635082286940822355269994235139668045264236324347654491159419700416524412499996447297557165623350786678468792601945885325300560934051740592236973178300403283104900926487942447805663994590251683670298689464709545493964659176347815879619722046900024024401393725723645247207093878924815159197254221717111982281482419328246413714608301714241372398476074087749321303035106910555450433012355400622309723601774662398338861196092081764237062312641053151119323020478613471294616049269548121350063882138246773915790285675138322844879286380069134899118127635405506541351472596400710016664261028107017405018398564179652498653123751244884244526732180582483470409430617843651191375541404756507616977056014608178930723652686574238162778559263428462070544469179713597092267588350655092730017807613507150391731897903511777655685172375762345466170053447246387472721612570938195038293343507364628123220811023751054102081921023211138490528262490016972500715057808460432476993792824267682526621636517817037896136791029628233790264322320635701651311254016207801987278464655817225629765139130791493470953083923419760748444090655302555358296874052564378604669319812487991602412135279170642299089673237091838565384447778799731392283828263495388828737254672262987161057213884475112971935151723534022424025138083232227184389843645212235334979407757490668999955932064643701265539354218163028341486107617748308814023835065445241921578513072349422993780662123405041985441201737864206965343577040067022127871034754781160829961409805460288965128858822840881301418040402785222069892443209296193747493192000199741924394961731529210243336295515850881462790779899713475212531211919702151674840062112358030903916812610535277779612721046883407618318081784465038001610677773973537542269177188671881427512922359189077851055504398442018207735644507474203604931808412771203582573424032044755428751897021142591383518801874791115690857361207704692342417715394168410372499628161410252103276722258452638371357774700270124612167186524893284701768192725932305208846870004363079795136914985028373793653243910274746533507925199595794494011112216858150083087844413752658979795170598889012393436008432524693133421356886501499492455070229727293663608835223003213863996243006761909367869866497202567602147719773152950631882206363160695061940319624627249512578259772179474007160138202642216360658552933544016259913108833802470087309118633387220606497991695372929331418834666881423699348749494107458913296933379686250874220130457918075457244162588889931344606714069382865999446008875214085144309077512168877050303342182092712176458474554108433274680691632158094555550469311545744239566467169933353991935548961079138540748428790378880115157256890469506489443817972550880482549333943166599988513850452327648339942075324292939957324360889979640841216284370804911033530216099204004506460529439257702737366640589999777029124962308805177436234041870284175310024632758192833804950903345160587723035764647347089025107231525717191346574101897989407329263951812636078224383741810989166546416387283744921141759086541307659255066078106905879634755180138539304481766576866588586270397124425554499637535309603865657527970239239622514668037294232992708527508593159483227377707850466225522416493538439384981001445252794606464086106760933269128590369032830485350307264194814867228253056261363734964847216134327574764783146749284869738653732254548671033251680792733808024127893918469634250783190371359177488573623953351576366045878478052364199993101200184074816245658352186343900481812643930937471354495119122413483383977783994328090013155327785697284397819852246916689170064096164313400282511412966997750352312994005359499557853373953967028552205662122452249876853138776386786487562808822725370254386813342179264442151670389147959175390391511803165914181703402407021676903069350050763413006008536832078329759711112162196236104648119297895137550532470732217345122662998942465302182164322523532918457256689910462486269131687392138076519910920568973194490191842773756089181899045356794660845236092889319764636076851795908448550625791458047653895745773286250867691415399061061418794292684705471182898324305653483621059863961991686825933081648937327835571160986785727746738252081565760900129767845540589919202263923606106784931951875834701894901598593378416480443062251609583442092762630395796840493159522141370162153426873882948775079227833570087376687356106142990884526059072959300775056854872936680270652616298034810918753314819153369612936926394191758563705000479713980418033238609522192561120851570537215334342245586668820733739829519513528335563926630337993514372947520098071653650189927747247061582924763051940037154221751392201035935671480682175855192548413225286054702459436061190370685191836049075010876072295777121848871135630544752217600241343277262271619204905030327965729690764316624286611378842579810841551194722122920594644172876632323636076901261239100695408269732285266319300157978635507153341099115692090365696955164992905995025574494127991492272837932511541264523894668257733379521208513058518541212762234533872503063572717922768670849098901552211526690970088293284991769910787102922855592654041730199483549405700323019149580479929185807300777920304982382453249268028095464330274878587212035422649521740622173495926052047795724181991922406828831976660178054988012568962899453471866176934274368441662260033580357441178208068745925309607692923142956685589635997052650130346081889694342233374765290902658215504111907969609031261945285169344489528627379767474360724073305137770512407861262633413941479145073163304994796284578229176907779573239114411777134726282073271829461928740000497570124952800867362957116131608892258740304525522275304785330614991447070094289475117914943301392882921516541255060511601658331226991896661556903316771481679133442735659404893715606678559582726986980944151851646631376168961479597684644985101534082560921520964001238151332166586559157083607179553273740476620230519521618900806670991557104153178712962285719794067500340150279944445032794879431532853213398826618954997842240457906191155934018879287147995567569947332555764113507366691742618299258398824744123033029836862447011717067978946210945576739898951457542918435320288428083729499177821144706925578140265325536144838541617904892865351417940712879480024443388191893443939443940809469820453312357139138001751910420601133416716586030090754387329447087142325287267925872214093216886286646069870649014993829014837024883076302779168363704605816594638145883175942080004494573532538416496970457643626660970759260615706850417822399798956797370519883805723801220540876740324378533105167573528323016783918272918270353571670011806645883495658708257991958601416346750725525426014760390903520928936538698856878796431471054601154529359749823790346204508689558779981293184032577354333396369955091928370769199743188979767078245377454117094019266735268260575991084127727775513476523233310111327817486654771496787049194309362894094824426405438011680724808972023027047136091758004560712408381615401458773799940870147341053003498652934335524864839535994830781565824376171354330641708946227059184386471427224326482812033429326528249640043523782241003007063875865608630165441748081638571472855445164805642216277454743212352899782955538047301019136380016516419184713681666136464599095295255405056744737103691276558335494094068843083833343202709586308803110206307976312780530385200711126053574580791058393527027133493593785109773226287811086996571887819955327538632481188985143896557062564792980412670973708679560629408315274421466713281852174532879268629327733531258451009560055989524270525972189286755906172788753069771517457423470673273396704641467215003445562194075938530665151500796060586938225845411721645991563824935912844449338168410117488689430701588162969822306100222006567657998314614610396111762474361992047104539991116979063043243917023973801063888674465659405201781909462567324203278901527800666556896090526888529745790492583252718636631838210460677707946519184969330205252367232120451531558390337948520266912504698733321093267076483797292328305233931488044754520262132122042538114784795565897828982935434562538834512662850348579159998092743838311198211545376381843092085665372219595195070227644213791629050891165934045075813094032834382093455024297494574557914514461046417985689233664767340530493713067509536417363319670667167395013271716149658666608417848404021490673688679728263358742355393947551083392779287675259201565543188232725991475091945635872478971397180513084088565112026014115405203083263761699499822870372009392746127774048192651442521822332626861819258109337433111935079920588405084401619176396349427690279595075511033242578531855052117651902510977523245373081845759753100992935207948234481238893055848347286480410133980787725940280722903966810819977774373521325771482839662129232299438957944326565016037547384393225445540663336071100501449072644656200211001000487077565632491661263986648081021170262823699255204126656298971121242021307117609225095172063460934759072990492655450565895649123502636155356776329327858169697046850832098311234189075578384129866850978607033637629050249693749845123164056341806572094422404258452052448629811879034686548818770103112292608385998337266628613087434266419803716842325019732657407258699172673366093224800849123268877675355371976972757661107142242757327930876836649450942118830143389789184604504402781550615906120574974912586190692822061564509794305372638210824661282017505425976009840432479576992920444240893843119691050090241317503009547264599498848780908298224961330907888690903127972226398531716391125175282168087041341413825021810347550675951691386828620855215773929954011560568669677420299145240226478876039790930101859533199490760582250278140299327422884549644847201724762244333346306742549075701773567687215633714527624761200498277022533160019139073124243370417979938003657226604170839556860680326479202129406162097777163288771281501754604968358356396128340910198426400824017505651812082533794954248503581858666031909013904682781527842411088686307465212617655665758749428927400188006570378037020535050518632698601841908000788688066196944337284537607813888100197915496012698558444086569270129258462184578745405199070324185205735922396853903695490587590726327735150198846324057945337778023544159568848172886243805566082748498516643583147496728246708097120925839016375460336755840900699972292288090533039440298751614181836168218050816006158441088194225228696148003523282468279761300270856134499179927782645615240848598800778635468398519733208234258670372256901830213967132349518324453403776845327528215958416687814249512705266198794254583018638255517092585453763979805647797182602653584557844297505834949064623980271360003543972513878347440421067005978924976196957106457970674325658973181567011454718132835116567263687198668812621585361912497400445598904984531511473780048764404052246385332487829197006721685042687280632947475740732801697190714006144111619891578223291320572119783539526970217097865584340185284246246318550220964861565449676859857141978220862844574157358944544727273496882952411610428983235590042610371739132664160339044441707746107721673812175079766205705828590764697623598364179182845662270069624757548693683411969611736637622212879293890481395606416092689434048153825724208250911647464646822012594260028385479620294508082745409376828929649482847808590794073803896553976560214560526278815975728033221046706132986527012326461755252287085344507137477651068569175454618401640636963031138023810860164464180618089225297879229276140313472464320139100745051882059935515762588264587021580474496291032306104421308726378394058545579776077243956475467743597737758210877376555325938784201598166457782497445758168640963687499187717029112109443025155627370657537223761265852465464337781951583336335626556747372844388362817533868641827089802826115259160488966207904700858623264516152204162826902564060599626508363825926233902273114870978905386037217519923792765709377496220261797152853217354376496620082159632454308784779455658602169982750656894555440615402225984129220252524563903270808388385524533374152842234678072772429771577239741756615522054763512190527766852316023755932441858524124365660563919673776187267575553721080186042427496949660417771713970806652283115182439726678057700732562460311670169889272596962635694013174220016707324429565617249752040906149951472508065048812187034948973752510854726106930256946515508085197759787835868450450900105595445834835331657342904674869244145446384545682788928679122495094385843763794224167409150474717884035710914371995389658500932424151608598057541592551203177060344703811922972963998475529705400059163212880749462392430445193201004510833031644249021492251876370987374022752231234733998254196611929932070483336464550559735284620530995302839309985343040655882482013130838756518349158535599639450426054513109270549276656303621250633143041043013027911253721143988175943655405094767879363402437268542058963713827353179533470718879478677696907795857514219172065742603755278345278782412749983323914677907931089148237088832425099961446838767029906157223672186838284993194053872308879521157449413471849242101932911913340684166321466466054916330463001201461971865004245430909835574860579336502435293084847301880387342628012188551087783361521892107333258472251676496197427276599612048927576758009500829143506444719639776762537154008919784033315306576247813489132075108644186266177449428021626585425622241796469451401111058050195342738195478895218238673451351014810455017052511726662799387112841166597941623848842154246877290971681504391937750978205577569391041710229270386966539914817372011579981003584824852203732241840048174372852082576923416918236500478059439184658702055303957676312972979475382609109296925659329845129168014278193972934657731745571828799666911068724817106917793635321023062163190087509011334641188111510221503206937320906416366736949474001269173338959643356945675895145406776570061382903979841736124542438132701680235795172772317933540641535429739633015427745499448109180974005843235336584946474331208828685371429371792195923462126552880266098490707234839821784233949014289098371110101732413525200431237717363625318437346480108549396117676251407613983356719217582506516932980126964103353552795380690274261814679802675973597836772922688174256190744590024682474281333957662123295854169442477553082460331038983879553744006272103359568582612976292551077130773144945907677256177959420513240831831074712842830881207744652963431485392140252808359341448700712572784642525072252604539863650082566576180357325613082353465159844131349710668530368345229193642915545872918668275083424627018842207468665180593440774435559425609911201051913471506098746105901971665917921812324345030860365890143410100048322952405697686898411057286501165876523792699115188064540258200615917620364568308495612286727146750304842436320959176296724819857051829723345655688485144868967285628233612025495412828101532444296852714993150214086050274477708103347427887986852776646026681199663530081827774485500684611265358345893044913214900475336981515349892104361359067556544048397063132844655058543724659765623108921179810218050928360426347011091578475325447660455646806153861677099100782674865616692523177084793613479401375577068406584857423481923705382737350120621183225112324469302009845407052458178039563708734415197834119269467357714693496072248556113027733041622989768896076573612779687124684992414874215207336042101524814237308329973938111117774454707755044691030631156457506771864367822817169640693968589305691564401620855954406533938140875658615782586818221066561395341073681851705181616325308625498447435209748528282896245893911257882580360423688213919931570870886481834130999141548942549079430221482715477000046827327776660587529561141735345821331995694556778647715846963439566516348568503196653232287603657482465214589253369503372981818768226842689888334114491956005305812358005055871672696992312549085443733221961869792116189961512232460207928125293879000473662977731109421698105377517201396493283401385527834756058000931639244193065799004730518816724019125819812629663409374971064135407809029282137468924103431187758664216534456704116006961728378578726337940169572386900734643915166115006625076111279460903148602703988523442550580019632913656879520884585609524424237409875874648272320201714207753206634366943947059955541940166762047509043060488227470632076703108748877136808126923894422708718859998802165747646798325488564424034688589343707337401351481328244118525433723183217533768842575231965578959086063329666351127874493976368184631708934198638490584384638070071784335836950052290620984978559019795843345129438396636079766403014237652275210804867449800430807181042561221654043104875028845875138166865077709634403364391091975118020120404093624275925334030049194684255705535737466037694839139826516200445406918757733841136991380785337947199630091976096602787131311236907336850372268434408065972809021986436903871978472273615506598370976420760781726941746277665133291789056548277096824137312496384271313800259119761344737516595683087886015116963161450531067879245784344641055925747042672424658931581992078031613787061148453231741207063188551044881721155837091468838173280998883885597662820230755549610963454045837101778270929466557645053170172828446098222490647222454259188818894685989031791495081878268636112398533570759426587696316688717001674133052273852871855757833005942190987548849683101678186456617789812749025307271369210777510448880180220646619929715479977719921506838873640359408483860294541398024530654424665391676071781276473927052582119607939358523305590635899540785231031004622883807518569744120625993325057362211869472943714038474364141276535484655800702613429158864500493205280878478800981305679876718771774940571433568920073580912498970169731239805793856247520535522999527539712815784535035977760463896180142580971484512555232760566648935876752672674844879306160118789105256052228703714745745360251326874361005389548024987118330065149712219260489407170067506490067904307583243847978790580740891703129266636435494106085556397388344928366407135285092685394696704725526777343147360986294985597454575069026260812328270183176590434040268871254069909065641625339485444094491049420243287214775570024263977422228624924868379432619210000348874222519485389631985784970239100891264465336308210297886708665675555475770323872547314490467130130810281857807193662555948460433121539475162863279354526715561154026144783960900189980055525243128366027073458673459002751389528120942992373567830383355988724638599129015987770960910498920042235298281212224091548875352121242623811346636163237381929467174783849810232085407879454887571086596611528001128359586026403188337938582658225263551431612388732972617207540896655688795004288564593033919251662907155928631797765868408527931524607027688182190172588673535325829926215423737611304381580027242201030018971048829878837910777142056323540397934210238315752657670758874035175485996278604843694248924721244416138884068674534144143050852399960708320151030128622075961926523444544508281871040559419411119484320705964702167976985276250332166362001066847610445530655787903078660910754825726744462106302048019866240287648047136196700576590809277171544495556854268239747524605372424795919041754707503055113684323988166869412361521118671089897886043071685617770985942020972337416816530019241224882664251615158905483027224978634580459089763821589358695691116819625535458440990556792713368564067034642739767079965551845189154724144316914781914482778201034157359491698083779356617105304542635706085905183123585699897561673023363203197900734765644276976465763117417755902983840247643635245875592745294789799033739996218632250612905451591919753294106694796848481094752787221736343416429931650904309671139635629071308671724438479366325005537298148062796478813201535383326000241629548483852362193145607375228519847050552991815252819664608479713321829038376236702602792725778996736486154851373533053224016225042635532288406454202510390940795058887706583091022690730861720554351547431307537743872962380102288152205748745190462504642020919174686170886497622213628255959187134010374970066506840113264099695613309535198870606812181549250174749042504133801454905836574992497772363244582388519014003897329164451558815237427654085169754025280792119239147237373832153914899227035610091544542111056319770988134685960357188280608380270544874097793323714218299496715158609202103081543368783250138450349800277175640107993183945059004809759195258176632098371759348521798980756017879716056121448256149751185246015829210018312167686838650674320200988573379930771551585182378339565291601288247130549683554084191698328541858338630892363531828497326508901493598261997676920746618639871865646274564658424040780156845301730806533552380091792310183427564057951826984905866892323517539293055581643592591899995155049645567198879811290325504828056180936147539967446043877422061603040190707805576787710456402313986655260697961754167818277084048892312564235283185386491458137286937398516763138152460900960754546163332027639816985232347383167478946110708579314465835302656115177605864414622639846673750929926866467654336233702093909277520936336604751469402668556514217944219972849824141559731127403635213836825309932143270777460956966150827577721495108991706845082091475554305393446564026071597946032205808863944512307069523078053852918126585716476230851977306623807865943600646178196644798304766984967407799693618629185422199471267430489424084652036688769686052546303455098219691433857173533691490654741513021005794063072332873242541900781776980082673097775370346755677546118228547185605975546273818501635251350913262501490743254695099911160198149929130997758034163795002783313165077453095889974854130597104829170482382280306099640209681546326714182731924519936917029292365239143104036205510784784350798621937389668271672542789973438630496308446564152711818470094246785949134094532002847177353474120325113322551746811006899819652170455707172785295194845796427407227108068944388636219720845162862842187644304629771495734087167496288762880258241622347401245466695470241034386669854204504698152920012460747062499749056963507911110707175440819258365974835885529946220479331847807996102431776973601349987207492080063734777033173118066034270254668268584565542584865426364888322419407039856948217128487441956015429035048371571729069854897140046061532927286845287426770604974028877665496791471056311739528998907073146395957702595174697563372214313616502052325827922626861175704299411101614878004557412663904985445760939315023451481036562701054303347521708228541642256506810402613057000610747669424425209125037857480957318940952527996556743101065329463026204706967296519435850420684634479957244406805280395588803027603991294149422141666421605553961758375817092868615742908154881883510404797570122571045062806892610156881459451454854047699047047876935954171976876420657074649793338148513048923480734959596447222059532019912643642146224550903630791831511471429518342263145655098199296307961116831960913654609552897144902785433887078972300614851204197118571951176951360565059478431091211923803504214403413347258823213125314902589935795512929563037910713265371633291638312924043390011589219648402648601653307627325119333895537050445074153252463626024490036100972551409392627778914429974552669568708634722003416440339537793037815190299476680032188221278701392626744010688392682990808335635863826481269748249784084779694910109420470533948411345301612600976479597384959912688545364187756191229480009895903172102869355338695070074005149804292760070979466250868207749548288068484231285300760445867601343755618242292960947402976420834368993110972970727671609795960437352287362873826950237487971686921240883425414951925668330709912907490676692397621680205060026978068934916971892154036225691754136012275760647441140176469068170553008448978591149477205508101993887733606568841681028805483178736056784395464705633132445642672992294003783017900017431841052159995271822502046836242954086690616087047116122427619146084476879749671932589915215183290904970946941214105492978484114267891815722930517346741512508798463792706320201762794290667332209371899521260770445443358015502777459633116493589809979819693214107417997729701853658731375129600242165926069043632309106395536671681850820480848465594153064803888518133900494822068195675279651285642764123454347573778342909070790013003135903475788139167033420885205242897347920292675279964930946915178945152418611828841311411311832055256435707305904379797739432735281864226501042423886518624919588830923050424564948571585430671532873016969470243090994010853538202856801866591787988635372406234331981809874438468965076973737995872091534645809062283852388439236548755171179307185376874202955991905074780966028603148534787448407296826619508951048779187122413998709073766501741126840140262855672988149277298895009425016606419569886443374897105933433800474369537869433549974682854164746705233607023703565075991361276896151373443684722043906909007376033601338601031533004859643035969263879364562190893577334770885396023800285137208614250029534448869212558468070433127804085638434067305035729600144090930207343863933872879196197872938238780262058817667138138282407527390487906510268914713689123414396060027779263830238535983073914256214834112396603195727811850019519971511099750523098164245373151162478983051438785871102372630289003375915814625274611832712326022208807723159105609510408785820431227159803353171650175225157326252388405965220293151978261801191420547175976408987690171491969323571921747719375225659193683360612911545243579199539265219773674084389497937747405406225066673594650080615144055785081856815980767146792572587167291027721382300759861312891101637343933108224343771815136143189127138012220076146645338493343186829415671510663666204579935106063176188880209283092082821837619577128331856577573412452610156745278255446267622845781574386780382002681140809505902510720633802423012442592686856601434809906518235473164520622060121052157173501875993791676560332109439896302045332873536525064132631921423839179488683557517247426181429419574227525296844149930121085060270017697995967187243232600156825895536777427556228632758181641627772818036209751392329032599102232796717262574407419178783809757050684143830141060172627458535949591690429744670423007194869117163964278904382018968744630891952275589980623234356028138765957645958143269283701589496412634693415032759677151352762949073223141754979761622934229191264969085277099672699661242711802056854653016902230853277932230942221304919177076839716934648253699286570756342811203739652895924850963166165065144105609106228430457443682350706137631660580338216869639122934302889473577169921225731980593794436788084358217722830949189065654336751419988029468748427561450484545894265073465531004652142797607382104156912387562149917855329566636920059154799847242159702640570629420533194099402968683508489905584610801408460886910949647073728152906109026219848645804264797508683697514903446893344389677651513268586571872374772518963404593655911421002738744243968699627248257536457325357863145885960688621269637348686137821473663804761258538966468213739446401399381652199227610733903518800398968909244135498541682563289392460058859181330906682143734131455305837925557828907626275007695628249547184440997993189446354440
1001110101111011111010011011001101111111101111100111001001100111100001011001110000011010000111010011011010101100110100001001101000000101110101010010110111000011000111000011111011000010010000000110101101100011101100011110010011101010001011110011101000111111010100010100101011011000011000010010011111010001001111110001010011001011111011110111110110011011001100101110000101111111000001111110010000111101011111000100001110100001010101110110011010111110010010111100100110011100000100001100110100110000101000111110010010001000101001010101000100111011110111010010001000101001111000001110001111101010100010011110101011111100010011110101010111110110111100001110010000001011010011100001111010101110000100111010000000010010000010110101011001100101010101101101110010101110100001111011101010101100101101001111110111100101111111011101011011010100001011001111111011010110001011101000100011111000001011110000100010110111000101011100000111111110010100111111101100101000001000110010100101000000100101101111011000110100000111110100010110100101110111111111011000001111010100000110001011001010101001010101001000100111110101100100000011010110010100001110011110010010010010011111000101110101001010110101010110101011101010110010100010111110111011111111111001011100011001010000011111100011101010011101010000001001111001101010000110001000100100011001101010111001110011111001100010011010100110000111011001011110110101001000011011110000011001010101101000101100000010100000000111110011000011010110010011010101011010111101110011010101110111010000000011010011110000000001011101011000000001011011001101100000111010111001101111000101010111111000000000100000110100010110101100111111000000010000000101001010111110101011100011101111101110001100101110101110110111100111111011101111101111110110011001100011001011101000011111100100001100010000010011100100110000000010101100011011011000110010101010011111111010000101100010100111110110111010101100010100010111111101001110110110000001001011100111001001000000111010001000100111010001011000001110001010101101101011000000111101110011011100111001111000010111110101100010101111000111011011010010100011110111100110010011101000011111011011110010100000011000001110010110010010011011101001100000001011110111000011110111100001000100111100010010001100000110010001111011001010110010011100100010101100100001011110011111101110110100010001011101011100100000111001011011000000001000010101011111101010111101001110010111101111100001011000111101111000101000011000001001001100001010110110010111110101001010011110000000100111000100011110000110101000111000001101001000010111011100001001101010111101110100000110101010001111010011100000101111100010000011011111110111001000001010101110000110111110110000100010011100010111011001011010101011110100011010110110110100010001100101010100011100010111000100111111101110100100101000101100011010111111110101010011100010010101000001010000011111001001000101001001100010110000111001001110100000000011000000010111000101111110101110011010001111010111011100101111011011100010101110101111111000001110110000001011001000001101110101010111010001110101111000011000011011011010001001110010100001010100101011001100011010001110001011111110001101010100001111110101101111111111110101000100000011011100111011100101000000011001100010001010100100010101000101011101100101101100111101110000110100000110101001101010110001000010010111100101101001000101001111101010000101010100011001100010011101100110010110010111100001110011101011101100110010110010000011000111111000010001110111111010000101010110111101110010011000011101111111011101001111010001111111101010000011101011010011010010110100101010001010010111010011001100001011001101110010111000000110100000101001010001101001001010000000110001010100010000000000101000111001110111011001100101011100000101111111100110100010100101010010100100100100110100110111110010100010011001001111000101101101010110010011001000100101111011111101111100010110101001000101111000111010100100011100010111000000101010000011100000000011010101110100000000000001000111100001001000110100010100011110111001100110000011101010010100111011110101011100100100111001011001001110010110011110101001101100100011110111101000001000110101111100001001000001010000010011111011111101110011101001111100011001101101100001101101100011111001101100011110001110110110110101011001010000000101101001010011111111000000101000100100111100011101000001111001000111101000100011100111001000001100010010110100101100101110001110000010011001000101001100001111011011001000010000101111000110111000001100001110010010101001100011011000000110000000110100011001100100011010010011000011101110111000011010001110110001010101110101000101111010011011101011000111000010100111100011011101011110110110100000110100110010000010001011110110101111010111011101101110010110100111010001000110111000000011111011111010110011001010100011001111011111110100101100000000100010101011101010101000111000101100010000011111110111100110000100001001000001100011000011110111110111101101111011110110001001111101100001100110001101010101111110001011110000100101111010010111110100101111011010101011101100001101101101001000001110010101000000110001011111010000101101001000101000111010110001001010110100101111011110011010011110010001110100110001000101101011011001011110010101101011110001110101000010110100011010011110101001111001011011110000010111000111011001011000010011100011111010010111100001110001011001110110110100100010110010110110100000100101111011111110011100011011110000111101000110001011101011000101011010111110001101100100100000110010110111010100011001010000000000100011100000000111111101111010010110000110100111011110011011000111110010001000101101000101101110110110110001011101100000101100001001101010000100101011000111001110011101010011111000100000100111001111011001000101101011000010011100010001001111111101010010101101100011111110101110100111100000111001011111001010100001110101010011111001000011101100100000100101010010000100001110101001101100011010010011010100011111000011101000011100110010110100001111101110000100010111100010001010110101001111110001100011100001100001100111110001111011110110111101000110010100000110010100100001110100111000010100011101010111011110010000100100010010100100011111010000101110000001001110000101011101111000100100000010110001000101101010101011010110101100101101111011100100001001010110000111011101110110110100011111111010111011011100101110001110001110000101001000011000000010010010011101000101000111100110000011000000110101011000111001011110001100111100000001111001101010000101000110010001100100010010000101000001101110101001111110100111110001001110110000000101001111100010111110110111110101110110010111000001111000101011000011011100001110001101001010010000000111010100110001111100111101110110000110011110100110010001110111111000010011111000000110000101110100100110111100110001001010100001110100000000101100010100010000111010011101011100110111011011000011000111001011011001110010010001001110100111011100001110011100100101010010011101000011010110110110010000010111100001001100101110000011101011001101010110000000011010000101011001101010101011111111100100111001001101001111111011000100111010101101010110100001001101010001010000000011011000001110001001011010011011011100011000100110001111111100110111101111100001000111110100001101000001111011110110001011001001000000001110001100100001110100001000110000100001111010000010001100010110101001110101110111101001011111001110010010000010001111101001001111110000111010010010110000100111000000110101101111000010111010100010110000101111110001110011100010111110111111100100100110100000110100011101010110011001011010100001000111000101110101111000111010010000110100001000111111101101111000011011111000011011101101111110100011100011000101010111011111101011111101000000011111101111001101100000010010110010000100001110100000101100100101010001111111101101011110011110001010011001111000011010001101110010011001011011101010001101100101010101000111011000011011110110010110100010000101110100100000010011101010010101110110111011101110100000010011111001111010100110010100100001110110111000001111011000110101010001010001010010001111000101111101011001101000001101101101110100110111101111010100110011110010010000110001100100010000101110100110000111010101100011011100011110001100111010110111101000110000011011111001011110001011101110110110100010010011110000110000101110000001100110011100011000101000110101100111011001100010001001100000100110101110110100011010000000010111011000001111111000010001001110010001110101011011101011111110111100001001010001101110000001110011010010110010001101001100011000111111100010111110000000110101011001111011101011111100101010110011011001011111001001011100110000000101110101001001111111011001100101100110111101011001001001111111000111110011100110001100010000100100111001011001110011001111010011110001011000100000011010001111100011100100111110010101111110000101001100011011100000000011001000011110100001000001010100011100010111001001001100110001111111111100010011100011100000000101100000111010100101011011101100010110110111110110111100011011111100110111101101011000110101000010011011111011001011101010000100100100011001000101110101101001010010101010001011000010100011010011000010011011010000001010000011011110001011110011101110110011000100000001000011110001010010101111110001111110011011101100111011101011111000001101110000110011001010100100101111101111010000111000011000100100100001100101001000110010100100010110110101111111000000111001110000111010101100110010110100100010111000100110001100100001001000001010000110001001110001000100111111000001111110011111001111000101101101000000010101010101001101010000110111111011100111010010011010100111111100101010101011011101100101110110001110001011011000100001100001101010011100100111011111011110111011001101010100100001110001000101011110100101101010011011000111100001110111110101110111001110110111011011010001100000000100111000110011010001101111000110010010110011111011110111001010000111111111100010101100011100101110101110011010110101101100101001101010011000000111001111101110110000111101110101011011110011110010010100000000110111010011110011001110100011011110001000001111100000101001110110101011000111001001000100111010110001101000110100101111001011001011101011001110100101000010111101110001000001001001100111101001101001100101111001110100100101000100111110001111111001000110100110000101100101111110111100100001001110101111011011001011111101011011111011101111011000010000000001100110011010111000010101001001001011100111111011111011011000001011111101011101000110111001001011100001100101000001011011011011100011101011110100010001001110111010110000100001100110101011100101010101010100111100110001011100110110000100100110101100111100101110011100000100011000100111110101001000111111110111101010000111110010101100001010100111101011101000001011110101001010000111100111111101111001011111001111110110110011000000100001001100111110001100010010000110100111110010000011010111101101010110101010110101110011011110000110110001001100000101100111011000111100111110001011100011101010010011101101000001001010111011011100100111000010001010101111101001001000011000100111011110100011111111101110101000110111111101111001100111001011101000111001011101010000000001101010010110000101001000111111100000000110111100000110001000110100010001100010100101101110111001001001010100100011000011010100110101010110110010010001001110010110010010110011111110011101000000011110000011011110101110101010010110101010100011011110100001001000111101101010111000000010110011010100000011000000110001101000101010000111011000100011011001001010111101100000110100001001010000001011011101001110101111110100000101110010110101101010111111100011001100011010100000010010100101000000000110011110001101011001101100110010101101000101010110011101000001000000010110011110110101010110010011001111000000101001010010010000011100101001011000110101101110011000100100011011110001110100000001100111001100010011010101001000110010111010000010011011010000110011111111101010001110110100111111111010001100001100011001100000111011001001011100111111011001100011011110011110101011011001100001110001000011100001111010110100000101101011000100110100001100000011011111010010101100011110111010001101011100010101010011100110110101000111100010001000001000000111010110100010000101110000101110001110010001100011101110001000111010001000100001100101011110111100011100100001010001010001111101001111000101111100001010110101100001110001000100001000001111101010100100101110110101001101111111110001001010000000110111011110101101001010000110000101101011100010101101000010000001100110011101111101000101110000010000011100110011011000001010000111100010101001100010011100111100101100000111110001000101000101011000010000110001011111101100011001100111101111010100001000010001010010001111010100011011011001110010000011110111011101011110000001011000111011010010111100000110000001001110010111110010010000101100000001110001011110100000000001000110011111000101111111110001101001001111110100111111011010010011000001111100111111100111101101011110100011110001110110000101101001110001000110000111111011100011001000111110010000000110111011100110111101000100011010011110011110011110100010000001000010101111001110001101010001100101110111010110101011000000100111100010010001111000010101101010000110011011000110111100001011101001110011011000100111010010111111000011100101000000101101110011110000110011111111110101001100001100101010110111110001101101001011110000011101000100110011111000010010001010100010000011000100111011110000110101100001001111110100111000110111011110011100110110110111001001101100110001001101001101110010011010010111001110101100010001100011110010110111011110110110110001010111100011100001011100111100100001111000110010001110110110011111100010000100001001100011111100100001001100011011100101001100010111101100001111011101101010010110100010001000101111000011010000111110110001101000011001110000100001010110011011111010111010001101110101000010111011101011000011000110111101100100110101101000100001001110000001110010101100000101110100010101001001000101001111110010011010011010111101110101011001011000111101010101011101100000111110101011011010101011111111111111110111101110110001111000101100010100111001110000110101010100000011011010101100100100001110010011111101110101111000111100001110100001001010100101000110111110110110101010100100100010001010111010011111001000110001100111011110010101110110100101110101011111110011000110111000000010000110000000001111010011011010110001000110001111111010011011100001111110010010011000110011101010011010010110001010001001100101101100010011000010001100101110011111111110001111111110101101110000001011111000110110110110011001011011001101100010111100011111110001111010001010001000110011011110110001001001110100001000111010001010000000001001001011010111010001101111000100010100111111101000101001101010010010100101111110101010001101010111100001100011010101100011111011111110011100100000010011011000101000001001111011101001110000100100010100111010100100001110010110011101010011001010011100010100101110100110000000011101111001011010110010010011100011101110000000101001111110100111101011100101000111100001111110000001001100100010001110010111010101001011010001010010010111111011001100110011010001011101100011010001100011011011001100110010010111011011110001001011100100101101100111111110000000111001101110110001000001111100100010000000111010101000010100111010110101110010001111101100100000000111111101110000101110101000100111000001101111111101011110001010011010011000100001011000100101001100100001000100001011110010111110110101110010110101111001000010111111010011100101101101110100001000000001111101111111100101101101101001000110101000110011001010101000000011110111101110010100100110000011111100100101011010110001001101100000001111001010111001001011000100000110111101101011101011100011110111011010100101001110100000100010001101001000101011110100000000110100000111010001100010011000101100010011110110111100011011100010100001100001011110110100001011110000100100111010000010110000011011011010101101010101000110101001000101011011101010111010100100101010011111111100110000000110111010101111001001010011111010111001001111000111001110010011000011111000101000001110111001000001100100100011111101010001101110011010111000001001111010010000000011110001011000010001111100010011001001100101011101101000011011010100011101101110010000110010101011110101000100110001101111111001100111111001110000110000011011011110011101010011101011100001001001101011001101011111111110111111001010110100001001101010110111010101101001000011101100101111100011011011110000100010011001011011001000010001001110011111011111101011010011100101110111011001011010001110110000101111001000011011010011110110110010011101011110011010000110111100010111011101011111010000111101011101100000010110101100111100010101110111001111101000011000100001110101101101110100110001110001110000101011010011111001010101111001011101100110110111101001111111000100001100110110101101011010010110010110010110000111010111100110000111110100011101001001000101111000011011101000000011101000000001011100010101001101101110111011001001010001010110100111111011000000100000010011010010011100100111101010100110101010110111101001100011000001011110010110101100011000110000000010101000101001000111111000011111100000101000110111100110011100110101101101101001000101000010110101100001111111101001110010001101001000101001101000111000011111101101100011110100101011100110110110110100000011001011100000110101001011000100100000010001110111001101110011100111000110111010111001000001010100011001000001111001111101001010000101100000100001011001000101011101001110111000111001101011100010110111101110000110001011100110010111001100111100101011100010101011001101000010000110101110001000000010111010100010010011001111101000011110101000010001010110100111011000111001100010100001010101100100111000101010110000001011000000110101110000001000011101100100010001110001001001000111111000101011011101010001111001011001110111111100000011100011001011010001001010101010100011001011111111001010000111011100101011001011100000000110011001011010100111101100101011111100101111101000100101100111111100101011101101100111101011000110111111000111000100110110001100101101011000111110011000100110000110110110100111011111000100000100001110010101101111011100101111101001110000011010011100111000100111000101000001100110101111000101111100000101100100001110110001010111111011110100011001100100011011011010010011011001111100000100011100001000010110100010011000101010100010101010011001010001011110001110101111001001011011001100110111011100011010101001100111011010000011000001101001010101101000100101100001101110110000111100100110110110000001001011010100000010110001101011001000000110001110000110000001010010011100101101111000010001011100011001110110100110111110111100011101001001001110010011000011011101110010001001011110010001100001111011110011010110011010110111110010101001011100100011110101001101001010111010001111011100010101111100011111111010111010011101010000101000111110001111001011111110100011001101111011000010100110011100101101000000100011111000101100000000000010101011010000011001010110110100101000110101110111011001101101010111001100010100001101110011001000000111010000001101101111000101010011111111111011010000001011101111111001111110000100001010110010001110011100001001100110100010011001000100010011011101001110001111001110000000000101011100001101111010000111010011001000111101010000110110010101011000010101110001100110111001111110000001010011101010001111011101010101001011101101010100010011100001000100001111011001101001010110011010001001110100001000001010101111000000011001100111100010100011111001110111001001011111001110101001110001110100110001101100101001011100001111101110100011000111011001110111010111111111011100101001001100111001010111101101001001010110011100000001110111000111110101111001110001000111100101111001000101101010110000010010000111001111001000100100001010101111001111100101001111001101001001001110101001001100001100111001111100011000011001101111001100011010100010010100000110001110010101111011001111100100110110100011100000101010110110101111010111111000101000011010000000101101110101110001010110100101011011101101111001010010010000010001111111001100110011100001101101100111100110011010010110000011011100010011001111100000100010111000101001000000001001001110001101000010110011000100110011010000000110100010110011001101100001001010011000100001011011101110100111010110000001000011101100101101111000110001101011110101010111000100101010010000001101001011111101101001011100100010011001101101111101101010101110010010010111000100000010101000110001001111000010011000101110101100001001010000100001110111011100100100101011001101110101011010111000001110110000000000000001010110110111101011101111001001101100010010010110001010111111010110011110011111101010001000111101101000000000100101111001011000010101100010110110010011011101010110101000110110100101001111100011001001101011101111110111101101101101100010000000001010100001110110000110101000000011101010111011011110101001100011100011001111010101100010100000101011010110111101111101010100000111000010101000010110001101000000010010011110010100101010000000110101100101101001110101010011111110110011111111100111110000111110010000101111011101000110000110010010101110000011101111001111101111010001100010110000101111100110001010101101101010110111111100111010001111011001010001110011011101100000000000100100110011010101101011010100011001110111100000111011000101101001001001110000011100110101110000100101100010101001100010011010011000010101001111100000110100011011001110100100011111101011100111011110110111000110100001110000011010010110101001101111010101010111011111010010100110011000001111110111111010100101011101000011001101011011000110011001100110011100100100110010000100100100010010010111110011000011010110100001101001111001010010011110010101010000101010001111111011001110000100011010011001110001010101111011111000000100011011001010001001010101100100110001100000110110001000110101111011111110100010001010110011011001010110101011010110110010100011000110101000100100010011100101001110000000101100111100110010000011111011111111100111010010101111110110010001001010100111101111011010100101111010011101101101110101111011001011110001100001101010000010100011111001011111000101000000000001110001011110101101101100101001110100000001000101001101111111101110111011001101110101011111101011100101010001001110010101110101101111100110111101111000100001001101011001001101010000101101111100010000100100011011010100010110000010000111010011111000010110100011011110110100111001010010100111000011000100000110010000101010101100000110000111001111001101111101010110011111011000111101001000111000001000100010100101010110001010100011001111101100100101100010101110111001010111001101101000000110101010000000110110100011101101001111001111010110000111101111101011110001100110101000000100001011011011010100111101100010100000101010110111011100100111110100010100111111101101101001100001001111010101000011111100010001010001100101101110100000101011011001001101001011010011010100010101010011101011100010101000111011000110100011101101101001101111101111101010001101101001101101001010010100001000100101000100101001100001010000001111000100100011110001001001101100000111001001101110010100000101101111110001111111110000100000100001011111110110010011100101110100010000101010110101000010100110011010001100000111111011100101010101111000011110111011111001001101010111011111110111011100011010110011000000111011110001101111111100010111001111111000101001111010011101010101000000011001000010101100110010110000000010011000111100110011100111010101000110111011100010000101010000000110111111110000101001100110010100011010101111110111101010110101101000001101001100101100001101111100001011011110110101001111011011010001010100111111100100000100011011001010001000000001001101011000100000101111101110010000011101110111000011100010110011011111111111010001011100000001000011001000010101100010011111001011000000111111110010001111101010001111000000001110000010110101110110111011011001111011101001100111100011000001010000010101110011110011010101101010110101010011101001110100110110001000001100101100011111101010100111100110000001010101110000010101010011110101101000110110100001110010111010101101010111000010000110000100011011100010000001101011000110011101110001000101001101011010000110001011111100000010110010101010000111001100000100100011010010001001111011000001111010110011110111111010101110100010000011100111000111010001011101000100001101110100101000110011111010101111110000001001011000111000100100011110101001101101101111011110000111011001011111111111001100011100010100010111101110110000001000011000000111111011111001010111111110010001000010010011000011011000001110010010101001110011100111011110000100100000111011000111011011110000000011100101101010111101101100011111000011100111000010101100000100101000010011100001100010100111010110111111011011001111010011101101101110100110000011011000001001000001111000101111111110010100011110110100011010010110111011001111101001010010111111100111011110111101000101111100100000001011110111110101000100111111110000000011000100000010001001111110000000010011110001101001010011010101011111110100111111101000111101111100101000100110011011111011001101111110111101000110001101110001100101000010111010101010011111001110011110011000101110100100110100101111111110010110101011011010011000110011111101010100100000000000111110100001101110010011110110000011000001100100111011010000111001110010000010011001111100110110111111101111110111110000000001011100111011100010001011100011000100011000111110101001101001000110110101110000000100111011111011011000001111110110110110000010011000110010110001110010001001000101011110111110101001100111100111111111000011000001100011111100111100001100001101101011100001101010011011100111001110100100111100000000011111111000110011000000111000001000110110110000001111110100010010110100010001100001000010010011100111100011001000110111011000000101000111110011000010011110011010000001001100110100111010011001001001000100001000000100111001100000010001111010011001011100110111111111000110110111100010010011101000000011100010100011100110100011001011010011110011100100011101010001111011111110010101101100110000001101100110010111110101110000010000010110000100110001101101010101101111010011110001001100100001010010110111100010011000000011011101001010001001111001101001110010110001011100111011000101111011100100010011110011100101111111101111001001100100011101111111110100011101000011011111110111011000010110100000010101110010010010100000110111100001000110110111011100110110011110100100100011110000101000111010101101011101010011100011011000001100111000110001010010111001010010010111111011000011010010101010011001011010011100101001011110011100000100010111000000000011001110000111000000110011111111000010110111111100011011110110010100100000111111010011011000001100101000100000110101111111010110010011100000001110000011100110111010011110001001110000101011011001110110100111000111000010110100100011010111110101111111110010010101101100011110001010101001110110100101000010111001110001011111110100110001011110111011011111101011111111001100001111010100110101110101011001001100111101101001111000000010111010111110011100000101000111110001100110010111001010010010001001010101101011101110110010010111101000010010011001000001011101100010111111011111111010001100111110100000000101111111100010100100100110000111000010001100101101001110110001011010011001100111010100111110010001110011001101101000110111100011100101110011100011111000100100110110101010101111000010101011100001110001101001111011000001100000111000101101010100011111001001000100000101010000100100101000000010101110011010100010110101000100000010011000000110000011101101001111101111111000010111000110101000011100001001000000111100010000010001100100000111101101011000011110110101100110111111101001111011010100100000110011110100011100101110110010100011000011110110010111010000011011010111110010101010111111000111100011011110011000011000100100000101010011000010000111100110101001000110100011100101101001000101110000010010000000000101000000101001100010011101000111111001010011111110001010111111001111010110101111011111010101001011010110100110001110101100101011110001100111101001111101111001111100110111110011101111110101110000111011111100111110110001111110110100101010111111110011110100101101111110100101100010111001001111110111011000110001010101101111110111010111111100000000011011000110110011000111110111100100100111010100111011001010011000011000101111110001110101010111000100111011001011101011110010100100111101101001011011001010000111000000100010000010100100000010100110111001011111101101011101011001010110110000101011000011111001110000111000011110010001000010110110010011110010111110001011010000000100010001011000110010010001011101100011010001111000110001000100100000101000100110011011101001010000011101000100111101011101100100000010110000100001001001011011010010111100010110100011101111000010010011110010111000111000001101101110100011110100110110110000101001101101100010100001111001001100010101110110001011001100011001101010010011100101011000100110000101111000010100001000100000010101011110000000100011011110111000010111011101101010101100000111111111100101001101011101110111011101111001100001110010010011001100001001100110111100111111100011011000000000101111100101101111100111010000111111100001010011010100011110100001011011000101001011100001010011111001100010100100111111100101111010010010011010011011101010110100111101001000010110101010100001110110010010110110001111111101110001111011111101101001111011010011000001010100001010011101010001111110011100101000010110100111010100010110111001110000011101011010111101011100010101001110010110100110011000000011101011011011001111011111011101111111111000011100101110011101110011011011000010100000001010100111000011101001101110011001101000000101101100111110110111100101101001101000101110111111000011111111100001101000011101111000000101101101010110001110000000110000101001100000111010110100010101111011000100000111010010111111011000010100101010100101011110111101100011100000010010011100110010111100000111101100001011010000001001000111011011000111000011101010111111110110000101001001011010101010111001101010111110111101111010111010011001010101011011101101100111000001000011110100010100100100011011111001101101011111001011010111100100011110001101100010001100011101011101011101101101110001110011010001010110101010000110001011010101011101010001101100111100100110111010111001010010111110011110010000001011101010101111000011001011101011100110000011011011100110011011110011101110010110000011100101000110100011010101111101001011001010011100010111110111110001011110101111101110000001011001010101111001111010000010110011110111111100100110110110010011001001010011010011010010111100000010000000111110111000110110101010011001010100011100011001001111111101011001111110000100101011001001000110101010111000111010011110010101101001110111100100100010010111100011011010100010100010000000111111101101101011010100010000011010101101110011110101000111010101100100100101100011100011001000110011101101011101111111001101001011101001001001010111010011011010101111110100011000101000001100000011111001011110101100011111101110100111000000001110101101110000010011001001110011101110110100010011011111000100111000110001010011101101010100000101001011110011111101101000010010000100010100101101000000101111111001110001101011011111011111010100011100110010101101010001100100010000110110011101001000101000100110001100111011000011010110001011100110111101101010110010111100000010100111001001101110011100011000010101110111011101100100000010111100100101100100110111010010100110010011101001001010001011000010111001000010011100001011000111010111111001100110110100001110001010111110010000011000011101001101010011010101100111010101110100000010100000101101000010001001010100100101001011001010110011101110100000001100001101100101011001011011011011001110100000101111101111011011010001101001101000111001000110101110101000101100010100010000110001100011110111010111110110100000100100000001000110100100110111011100000001100110100011110101110101100000100111001111001000011110011110000101010101100110001010110100011101001100100111001110000111111101101111000100101011100010010010010111101110100011100001011101110011001001111111001111100000011110000100010010111111001010001110010000111101110101010001101111101110110100011000110010100000000111110001100100101100011110101101101101100001100000111111100110010110100110111000001010101101100010001110000000110000000010011000110101101101011001010001011000111000101011110000110001001000100100101110110110101001001111000101110111011100110110001110110001100111110011001101001100010101001001001101111101100011000110000010010111101001110101001111001110001101100111011010111010111110100100110010010101011011011100111011101110010101000011101101011100111010101110101011111010000011100011110001111101111000101000001111010110100111010001111001011001010110011101011000111111101001001010110100110011000101100110101100011111101100111000111100101100110110010010010010101110000110010011111001111000111011111111001011011000101010101011000101111110001111000110011000110111001000010100110101111100001011110000101011000101110000100111100001111010101100101101110100100011111010011011111000001010011101010100001010111101011000110100101100000110000100101110011100001100101100011011101001001111011001110110110000111011111101100111010001111011111100001111011110011100001001011010011011110001000100001101101011111110000101001010011110111101100111111011011111000000000111101100000001101100001101100100010101101011010101110110010000010100010111111111001111011110000000100101111100011001111000000100110001110111001111001011111100000111000011110001100110111011100110000100011010101101111010101110010011111001011011001111110100100101111010110010101101000111000110011110100100000110001010111101110111100000010001111111000011110011111000001010110000100000110101011101001000110010000100101001111010000111010011101100010101100011000110110011110101010110111000011100111011001110100100010110110101000011100110100111010001000100010001110011110000011000010101010010111101101011101010000110101000001001010000001110111001110001001100111011010001011010101111101011000111101100001101111010001100010111111011101001010010000100001110111110101010110000100001111010011001001111010101100000101101101111101101110100000111110100100010001001001010011110110011100000100010110100011011110101110101101001011111111110001000111110011101000110110000010001100001101111101100111010011001101001001000101111110111011110000110011101101110001000110000100000001100101001101100010110000111010101010000000010101110011110000000111101010010001011110010100100001110001010110010101100010010011001010011011101001010001011110011100111000011010010111011110010101010011101010110101111110001110001101000001111101110011011100111100110110000111110110110011010101111010111010100111101011000000111110010100101111010011101110001101100111011000001010111111001110110111001001101001100110001010101111111001100011100000110010000000000011110110111011000111010110111000010010011100110111011100100111111110101110010100010001111000110001010110010110001001100110000011001001011010001110110101101010011001010010001010010010010101001111001010000001100101110100010001100011011101000110010101010001000100110010000001111001011000110111000010001101111000011010110110010010111110100010010010001010100000110100100010100110010100101111010001111011101000110110101011001001000111010000010110110101010111101100111001101010010001010101111010001100001000010110001110001100101001010100000001011100110111011110100110000111010011101010101010101011001011100101000100001000110001111000111111110111100100011111010010001110010101100111010010111000011001101101010101101011100100010000111011011011000011000100011100011100110110111111110000101111101000100001010010000110110000010110011110010111011111111011101100000101110010010110001101110100010100011001000000110000010010000101100010111100110101101101010100111100101111101001000010111010010010100011000000111000011111111001111001010010101101001110000101011110000110000001011011100110001011101111011101011011110010011111100010011010010001010010011100110011011110001111000010010000111000111001101011101101011011100000110110011111010001101110000011001010100101101010010110110101000111000100010001011100001101010000000000110011001001000110010111001010110010010010111101000011110111000011101101111100010110110011100100101110111110011011111000000111010010010100001010000011001010111101001000000000010000100010101101110111100101010111011101101100101000110100100010001100100011001010000011110001010011010110010110011111111000001000010000001000111100011010000111100101001111100000111011001000111111111001011011010011000011010100101000110011011000101011001111111111010100100001100111011111001011010001101111010110010100011001010000001011010000010111011000000000000110010111100101100011111101001000011011010011111000100111111001001001011111010011000100001111110001000010010111010010110000100010011001011010111101110001100111100111101100101101011111100111101101111011111101110101000111111111000110100010100001111000110001011110100011000000110000110101111001010101100011100011101110101011001111001010101111111111101101100011100011110000111110110110111110111101011100000101111010110010010001010010100001110100000111101000111010011011011110101100100001001011011100100100010010110111011101000010110011011101100100101110001110010010111111010001100000100100100111011110010111000101011001000110110110100111001100101000110101100011001100111100110010010101110000011010011000001001101111011110010010010111111111100110100110010101101001000101100000001101101001000100100001111100000110110011101010111000100011111001110010011100101110101011000010011000110111110101101101100001100010011001001010100011110011001001111111100010101110101010011011001011000101111100110010011001110101001000100000110100000101111111011111011010001011011010011101101110011100100010100100000011001100001110000010011001110100001111100011110011011000011100011010111111101010110011111110000011001110010111011111110000010110100011011011101001111001101010110101111000011110001001001101101100110110011111100101001100101110100011010001000111101100111111000001010010111000111010010000000101010010110010101111101000001100000011110101010011011111010001001011001101011000110101101100001010110000100001111100010010101100101110011101100010010101101111110011001000110110001000010001001001010100000101000101011100000001111000011100010000100000101010101010000001100100110110011111110001100101010110100111110110110010101110010001110111011101101010101110001111000100001011011101110101111011011110010001111111110101001001011010010001001111111100010000011010001100110000010100110000010000100101001010111001001111011101100011011011111100101111001001001100101111100000110110111000010110111010110001010110101111100111100001101001100111111010101110000111000111000110001111000100001111001101001001010100001101101101100111111100111111100011000010110001100010101010111100011000011001100000111111011111101000000110000111110100010000100001101001101011011001000101011011101110111101111011010001010000001000100101101011000111011000000101111111100100000001001101111001100011100011000110010000110001100111000010001011101010110010010010011110001001100001001110001110010010111001110111011000000011100101001110010010010011100110011001111111111100110111011111101011100111100110010011100111111111101001110111001001011000111100010101110111000100000010101111011010110011111010100111000110010101011110011010001101110001011111111000011111111111111111011101100001000101111011001100001001101001110000101100010001001000011101110101100111111111111110010010110101100001011101011101111000001101010000010110010010110000010100111010100000000000011100111101100100101001011001011000100100100000001000000001100001110000111000000010010110110001011000101111110100111001101010010010000111001101101001000000110001011100101111000111010001011110011111111100110110001110000010000111111101110011100000111000111100011001010000111000000011110001101011001000100100100000000100000111100011110010101110001110000100011010010001011001010011001100101011110011001110100001101110111011001001100001010100110100101100001100110001100111010110001001101011111100111111111100011011111111000001100010011101001010101001100010110100111101110101010010011000000100100100001100110011000000011101000101000011101001111001001100011101000010000000111011111001000110000101010000111010100101011011001010000001011110001110111100010101011011011000110001000110010110100110011100111001101101011010011000100010110111000101010010110101000101100000110011101001110010000010001001100111001010110011101011000010110011101001100001000100111000011000010001101011110001110010100101110100110111011110101010001000110000011011001011101101111011100001010100001000011000011000011000101111101001100101011000000011110001110010111010111011110011100011111111011011001111000010110010001010000111110101101011010110100111000110101011000011101001101101011011100001011101100101101000100110000101110110101010011001110011010110010101011100100111011110010010011011000101000000010100000110000100100001000000100001100111111011001111000000000110010010000100101000001001111111110011010111001111111001000101000100000000010111101000001100111111110000101000101111001100100011100110110111001111111000001011101111101010110001110110001110111100010110001010100010101110000100100000000010101001010010111101100001101101001001001100011101110011111101001111101010000110100110101101011000111000100100010010100101000001011011010101000110010111111010101111001111111000010111010110011011110001010100010111000001100001010101010000101100100000011110111111111010010010100000011101101001110100011001011010001111111010011001101011111011000010110110011101111001100100010010011111110111110001000100000100000101000101110010110100001100111111000011101100001011111001011001010101011100110100111100001101111101111010101100010101001110010110010111110000010100111010110000010000011011111111011010011001011111000111001000110110011110100100110000101000001011111101101000001110001001111000101110011010101011110100001010000001111000101000001110110000010010010011011010110010111111111010000010111100100001111010001100101001001111011110100010011110010100111110010111011101110011001110001011110010111100110000001101100010111000000110000001011110110000001010010011101000100100111101010010001011111011000010011101111110100101010100010010100001101011111010001111100101001100111100000110010010000111010011001010110111001000110110101010000000001101100000110101010100111100110100101111101010111111001000010110100010011010001111001010011001011101101010011010100101111000100101101111001101110010010010000010100101000110001110111100100001101010110100110000000111110111111000001000011111110111000011111000111110010011011010010011001110000101010000100110010110100011111101011011011110101110000000001001110000101011111110010111001000100100000001001101111111001011010001011011001100001011001001100011000100001010001011010111000000000110000110111110110010101001111100011100010000000101001111000000000101011000010011111101100100010001110110000001100101010111110000001101001100000010101111010001001010100101100000000011000110000000101001000010110111100111011100100100101010010011001000011011011000011010011100111010011001101110111000111110000110101111010010101111101100100101010010100010110001110001000010011110010101011101111001001011110101010000100100000111110100101101111000010100110101011010111110100110100001111101001111011111000001100110100000001100011101110001111000100011101100111111010111111010110111110111001111001011001010100010001000100000111111111111101110011101010001100011101001111110010011101011100100001111000011111110001100110001010001101010011100011000010010100001000011111101011111010011111110100111000001100111101111011110001111111101001110000001001000000110101101101001000100000110101001100001101011100000101001001010010110010000001110101001101101001001011001100110110000100101111011001010000101011000111011011001101110011101001010011100010111001110001110011101011110100100100000001000100011010101000010001000011010010001110101000000100011111110101100000011000001111101000110011010011000010011111101110111000111010000001000010101010100010110111100101101010011001100001000100010011100111100111011110000011000110100000111011100100110011111001011110101110110011000001111000010001111001010110101011010001001001110110101100010010110101011110111101110111010111001101100110000011111010110110011001011010011100001101011101101001100010101110001011011100001111001000111111101101101100101000000110010100001111111010000001111001111111101001110111010011011011010011111011111111001111111000110001101011010100011111011100100101011000100000111100101101011110011100001100110011000001000100110001010010010101110111111110001010001001011101101100010001010010000110000111010000111110101111001011101110101111100010101011101111100111011100000100000011100011011111111100010101010111110101001001110010001100011110001000000110100010100011001111000011100010111000111101000011000100010000111101000101000011101001010100010010000100100001011010100111101010000101011110101010110001011001100001011111001101001111001100000000010101110110111011100010111110101110000010011011110000111000110100101000000000110001011100100000011011111111010101110000010100101111111000100101001010011111100100111011000101000010100000000001010110000100110101001010010010100011001110110100011100111110011100110011101110010110010110110011101011101001111000111110111011011111000001110100000001111101010111011100010101110000001011111110011100110101001010000010110010110100011111000001011110101110110000011010000111100000101010110000011001101111001111001101000111001101100100011011000011110010011101110001011011000111000111101001100001011111011111110010110101101100011101100000001000110100110000011011110011111011001011110101101101011000111011100111011011111001100101010100001000001110000000010101010010001101111011010100000101110111000000001011101000100100110011101010110110110101011011010111110011100101010001101001110010000100000101010000111100111010100001010110111011101101100100110011001101000111001000010000101010001010111011100001100111010110100111110000011010111000010110100100010001011110001101110001100100110001000010100010001000110011110111010011100011001101000000011001111000011011011101101111001101010010010000011101110001001101001001111101100001100011110001000110100100111101010001000101010101110011101111010100010000000011100110111001001011010111000111101011101001111010010000110001011100101100100101001111000100100100100110101110111111000111100011000000101011000001101100000001100111101111010011001111110011011010011100110010011011001000000010011000101110100010000101001100011100000000100001010011101100110010001110011001101100010111100111101011000111000010001011111111111011111000010110100011010001100101010001001001101111001111010111110000000100011000001001101010000110000100111101101011101001001010010001101011111000010101101100000010001011010110000101001011110101100100010001000001010100001000001001001011111011110001100110000000101001100001100111110000111010100001101010111010010110100011000110000011101010110111000011000010111011110101000000100001100011111010000000001010101100101000011111011011101110001101011011111011111010101101100101100101010011001110011000110110101000001111011001001011000101000111010100111111010101110110111111010011011101101111000110000010110000110001100110000001010001100101000100100001101000001001001000100110110000111111010101011101000011011100000011110101011111010110000110101100110110011101010010010101100010001101111100101101111010111101001000010111100111110101010010000001111110100010001000010000100001100000111001111111011101010000110100110001000001111000000100001111110010010001101010000001001001010101111000001001011110111001100011010010001011000110001110111000101000010010110111110011100000011001000100100000111010100110101000011010001111100100010001010000010000110000100101000111011001001110111011000101100111011010001100101110001101000010111100101111011000101011101110100010111000100101110010010010000001011111101010010100010010100110111000010111011101011101100010011111010001110011011100101110101110110110010011110101111000110111011110101110000111100000000111101101110110000010001101111001011010111110001111010101111001001101000000001111011110010001110000100000101101000010110100011111100000010101100100011100100101010001010010010101011101001001011001010010010101010001100001101001110011010000101000001100101101010100000011110011100110111101010100011100110110110111010110011011101111110101000100011101011011010011110010001000010110001100110001110000011110101111001000110010110000110011110101010111111011000111010101010010010101101010011011111101010110001000010000111001011001111000011010010011110101011010000010101010110101110101001110111001000110111000111001000011011000010000010110111000011001100110001100001111100100000000100110010100110101000101010110011100101001000110001010011010101111111100111011000010001010011111100010001111101110110110110010101010010000110110100000001111000111110110000101011110000000100111000011010001010100011111000010001110011001010111100011100001111100011110010011101011000110011010101100000001001000111001111111011000011000100110110010010100010001010010000001011000110000001101111001000001001110001101110000001110010010111100010100100010001000011001100001100001001001110000001111000100100001111000110010011001000101110111001001001011000111011010101001000011011011001011001001111101011101101100111011001001100011001000111100100001001001011000110010000001011000010110011101010110001111011001100001010001010000001101000011010100111011010010111011111110111000100011010001001010010001001000100001111011011100101100010101010111111100000011000100111110101011110010010100101010100100010100001110100011100011101110111000110010010001100111001111001000111011110101001001101010001110100101100011111001010011000010000100101111101011101010111101000000001000101110010111100001111100010110110101000110100110101110011100111110000110101011011001010000011000111011101000111011101010100110001011010010011111101110011111001011001001111000011101001011011010011111001011100000000010010101100001110100100101110111111001010010101001011000100101100000000010010001011101110011000010001001010000101011010001100001010110000000001111101010010111100010101010110001110100001101010100101111110111110000001001000001110101000101011101010001101010100000010010111000110111010010001011010000100001000010110101100100110111010011000010100010111010010110011111010010111110001010000100001000010000101110010101111101111111110010101111000001101101110001101001001110001010001011100101111101101110110011010011011011100101010010011110010000100100111001100101101100111001010100001100101011010010001010111001011000100010111111110001101110111111100010001111001111110110100101010011110100000001000110101100111100010010100000100110010101111111011001110000001110001000101111110111000010100001001010100111100010011000010101001101110010011000111100010001011101000101011110000000010011001110010000100011100110001000011011100001100000110110110001010010000111001101111000101101111010101010100010001011101000110110011101010111001100000011110000001110001011100110111101110001001110010101101110001111110010110110110001010000111011100110100001110010111101110111001100111001101101101001000011101101101000011111101011101010011101100111111111001001110101100101000011101101011010000100111111000101001010000100111101101101110001111000100000111001110010000001001100000000011001101110011011010010011111111000000011100000100001101101111101010111110100010011000011111000100100010001010001000010001110101110000111001111000001001011111000101101101110010010000010001100011111100000001111001101010110111100111100110010010000010010000011011110110000011001010111111000100000001100011111101101100101100110111010001001111101100110100101110010100010011101000000011110001111111111111011100110111000111001011001101111001000000100100101110100010110010110011100010101010010001000101110101110011010101110011111100011110100011110001001011100000110011101101001101100000011111100001010100011101101010101100110101001100011011111111101101001100100111100011110011110010111100011001001100111010000010111000000011010011011011100101000100101110000010011100110000001010000011110001000010111010000110000100010010000000100000001011111101001111011111101101000011011001111010011100000000001000000101010000001100011011010100001111011111011010100000000010100110011001100000111100000111101110000101111001100110101101111010000010101001000111110110000111101001110001111010100111101001110111011010110010100001000010100110111101111011011111111111000110110001101011000000000100101010000010110011100010101000011000110110111100111110011011101000011001011101001100001100110000101011011110101110110101101101110110000010000100001101110111101010001011110001100011001101111011010101101100111110010000011010111100010100100100001010110000100011010011100011010100001001110110110111110001111100110011010010011010110000000011100011001000110011100100010010110001010010001010101001100110000110011001001000110110101011000110100101100001100010000110110011100000101101111010001010101001000001101000010011011001110001110001110011011100100001001000000000110100101110100111111101000101100000010110001001110111010011100010010101101111111000110001001100101101010111000001111100011001000110010001101100001100010101111001011011110111111110011000101001100100100110001010110110000101101111111011111001101000111000010100111001100110101110101101100010100101100101000111110000001100101100010111111001111101110100011010011100000111000110111110100010110000111010111101011000001110010011101110110110010011000110000000001110110000000100101101101111111101101101011111110000010001101111010000100111101101100110100110111100110111101010001100001100011100110101101010100010100100001000011010100110110110101010001101111111100100100111010010000111000000000100110110111011001110010100101101111001100111001100010111011001011010011001101000110111001110100001010111100011000010000011010001010001110100000110001000011110011101000001100001100000011100011101100100011101001111100011100011010111111100101110000100010110100000011101001111101010101111101101011010111010011110111010001111010100001000111001101101000011001000011000011011101000001111100001011000110101001111011011111001000110010010000110010000000101000010101101110110011000101110001000100100111110010010001011001011010001100110110011010000010011101010000111101110000101111010110110101100010110010110111000000000101010000001000000001000110011010000111010111101100101001110010101110100101000100100101010001101010110000100010100010011101000010000101010100111011001110011110110110100110000101011001000110110010000011011001100100001101000100001111010000111100000100100100010010110010011111011010100010111111011101110111101001111111100010100111101101000110000111100110001010100010101011000011100000010110001100110010010110010011011011010111110110110100110111001101001000100011010101101110101011101001001110000111101010001111110011100000010010001011011100111110110001110011101101110011111101010101001100100100000011010001000110011111100111101111010110110001011101000100000110011010000111011000011111111101011010001100001010000001100011000111100100010110101111001010111110111111100110001000010101010111011000111101010000111000111101011010100101010000001011010000001101110011100001011011010010101100001111001111100001100100110101010111010001011000000100100000011110011000111011101001001010110010100110111101101001011011101001110010000101001010101001110000010000011101110100111001000010101101111100100100010011001101100011001000101101011011101100010111100011000100110110101000101010001101100100000111001111111011001101011001000110010000011101011011010011001000101111010111011110011111100010001100001001000011001110101001001111110111111011100010101100000110000000100100010100101101001110000111100100100110011000101101101101010011000011111111100101100101110100110011101101010011111000101011000110001010101100101011010000111100010111000011010010101100011101001110101010011001001001010101010110101100101101100101111100111001000100111111000100110110011111101011010011110000000010001110110001101110011011110010111000011000010000100001001010111100001000110100100010101001000100011011000000001100000010001110101110001111001010110010111101001110110011110001010101100010000111001111100110100101111101000101101111101111011110110101011110011001000100011000000011110001101100100100100111111111001100000100011001100110011011110011110101101111101101000010000000010111101101000000110101001100100111110001010101011101101100000101011100001010010110100010101100101101101100110101111000010001000100010001101110000101100111100001111010000110110110110001110111000001110001111100100010011101010010010000100011111101101100000011100010100001111001010110110111100100000001010001110101000011110000111101100110001000101101001011111010010101011001010000101100111101110110110100000100011000111010000011011100110000111011101111100110110010000100111001011000111000100010001011101010011110010001101111101011110111110100001010010000010010101010111100001001011100011111100010101100010111111111001100010001100011010000100001011010000001010111110101101100000101110000011011111101000110101010000010010011111100010110110011010000010110001111110011001110110110100011110010101110100010011101111101110001110111101011101101100100111111001011101100111010110111000010011000110100000101100111000101100000011011001110101011101100000111000001010101100111000001111000011010011110100111111111100011100101011000000110110010001001100001001000001110110111101101010110011001000110101011111011001001001101000001010000000001011101010100111010101001111001101110011111001010001000000101101010110110001110000011101010000001110001000101010100011100101111011011110101110110111001000000001000111010010010000001010001101011110011010101111010100101101101001100010101011110011101110000111101011001110000011101001000110011100110000000100111100111000111010000011111100011000101011001101000110101011101101111101110100000111101000101010011011010010000011011101011111000101101111110001110011010100010100010001001101101010001110111011011011010100010101101011001110011100001011010100111110110110101111010000010000000101100101100100011011100010000100011101100110110101010001001011010000110010010010101000100110001010001000110011011010011100011000011110111100110000011001000111110010001010001000010100110011011011111010010100111100011101110011100011011101100110111111010110001000000000110100111001001111100000011111000111000111101100000100000000000100010110100010000010110100011000101100101011001101101110101011001010011010111010111111111000110001100101010011100110010010001110110111101000111010100010111111110011011011010001011101101100000111100001001111101010010010110000111000101000101111000000000010010010100001101111010000111011101000100110110110011101101111110010111010101101111000011100001001010001101101110110010100111100100101010111111010000110000100011110101010010001100000010011010010001111100010100100110110111110110111101011000110101011010110010110001000010110011000110011110001000001101001001101001111000001111101110110101011000100001010001110001011100101101110011111110011001000111000111011101100011011101001111111000001111100011101001001010111101100101000001011111101111001010110010101111101110001010100101011011011101101001011110101100101000010101000111010110010001000101100001011011101111111010111001001001110011001100111011101111110010001000111101100001001111101111110011000011111001000110111011111101110100111001101110100001111100000100111110101101010011011100011101101111110101111100001011111010100011000011111001100110001000011011111011111010001011100110010001100111011000111000010100011010001111000001100111111011100011100100010000111010011000001000010101010010001011001100001110001001100011001111101111101010001011100111111111011011101100110001111111101111100010100010111001100001110110111001101101000111110000011101101010110011101010100001111111100011010111011111011011101110001111001000100110110100111101001010010001101101111110100100101111000101101110111100000011111011111011100000111010011000001110101011111101111001110001000101101101001110111111010011001111011111100100101110001011000111101010000101111100111111110000101000101110111101111100110011100001100011101111101001001001010101011100010101011010111101000101111110011011000000101001101010000000111100000100110111001001110001011100011101001110001010100010000011001011110101111010011011000110110000001101010011100000000001101111100111111010101011011101110111111101010101010100010111000010000001001010101101010111100100000111011100001101001000100010000011000110000101000000001001010111010111010001100110100001011100010000110110110010010110111111010010010100111101001011111000100000011111101000011111100101010101010011011001101010010011011001010101110100011010100110111111111101110101011010100011001010011100011111110110110010111100010010101100101011110111001000000100011101111110010100111011001111111110110011110101101101010100000001111000101100011100100000001010110000010110110000001101010010010101111000110100001001110011110100111001011001100110001101010100100111010010011110001000001110000100101010010100010000011111011000011111010011110100111100010111010101001100111001101010001100000111011000000101011100011110100100001011111001110101110010101010110010111000111001010111000001011110011100000011001111001011000010110001110000111100011001010111010011011000111000101001110101011011011011001011111001101100000000001000011011001011110000111010010100110100001010100101100100101011000011001101110101001101110001001010100011000110110011100011010111110111000010001111111001000001011011101010101011010110000000100101110111001101100101101110111100101010110101001001101011100001001111000011101111111101001111000011100111111001011110100101101011010010111011001011110000111110111110101111001101110100001001010000110111100001010110000111010000110110001110101011010001011000110101111011001000000111010010111001100010101111111101011110111101101110111010110011100011011000011010011001110011100011000110101100010000001000101111000111001010101011000000111110111010100001010110110000110010000010101111111100011110001100011011110110111001010000110100111010101011001101001010010100110010111111011010110111010011001011001110111010101011101010100111100000000110011110001011101011011001100010000111011001000011010011110000110100011111011111010100000001001001010000111010000100101111110101010010000111100011011010110101111010110010010011100110011001100000111100111010011010101001000111001001010010110000100001110100100101101001101101100001100101101111111010010010000010111011001000000001010110110001010000011011110001111001111011010011101000101010100110011010100001101101010100011101000011001010010000001110011101111100010000000100001000000111100110001000110101100011000111101110111110111111001010101100000001110010001111110110000111110010011001001111001000011010101000100110011000000011111110000010011100100101110011011110010111001000001011101100001001110101010011011001000101011100010100011110011111111001001001100110010111111110000000111110000010101111101010001100111110001110101111010100001001111100000111000111010111001010010101100001101110000100110010010010110000001010011111011111110011111100000111000101011000110010011110111101110011000011101110010101110011001000101011010000011000101101000000001101001110000010101111001011001011011001111001111111010111010100010001011110111011101011100100001110010010011111100001000111110010000111001111101110110011111001001100101010101100101001100010011000010101001100100010110101100001110100000111011011010010100010111101000111101001000010110010010110110110010110111001000001000101100011101000111010110110011100110110111001110011010111101000101000101010111101100111111101000010001011100000100000100101100110001111010100100110000011110101010001111011010110011010111110110111101001111010111010001111000100100101000111101111110100100001101101111100111001110000100110010010101111110010101110101000000011001101101100010111110000110000111001100100111011100110101101100011101000000101111000011110001100000010000001010000001110011000001101110101010010101010111100101000100010001110110100000001000011111011111001110111010100011101101001110000101001100100001001100111010111011010100010011100110101100011110101011110010001111000001001111011001100101001000010010010101011100011100111000011100010101100001000011100101110110011101011100100111000010010100100011100000011101100110100100100100100001111000011111000101100110110010110111000001101111110001111100000000101000111000100111111111110111000110101101000101111111010101111110011000001110001110000010011110001101010000011001111101100100011011001101101111000101110000110001100000100011100011100010010110101101010111010111011001010001110100110010001101010011010011101000011000011001100100011110100010000101111001000100001101110110100000010011000100110110011110100000110010101110111000100011110010011110110101001111110000111110000111000110101101010100011011101111011000001111100011010001000111110001111110011010101010101001010010000110010110110000111010101001000110011011111010010100100100011111101001100100011110101111101011110100100110111010000011001101001000110011001111111110011101110010101101101111111110110100001110001101101101000000110011001111110111001001110101110101110101001111010100000011100010010001000000010010000111011001110011001010101111000111001100111010001110000001100111010011110100011000000110101101011000101000100001011001100110011001010011000010000010000101111101011011110111000000111101101011011100101111111100001001100001110111011001000011111001101011110000000100001101000101010010010011011010100001100010110010001110100011110000010110100010010000100100101100011101100000010000000010110001000100100101010000100000010011011010011010110001111010010100110100110000111011011010101100011010000000010001000001101010100011110101100010101001110001111011001110011000000001011011010011010001010111110010011000100010001011100000001010010010110111111011000111101110000010011110010011111110001010110101110010100001010111010100100011111101000101000100001111100100000010111110001101000100010010010000010111000100111101000001011111011000000111100011110101000011000110010000100111001000010100110000000001110000000010010110111110111001101110110101000111100101001101101111010001101010010111101110100001001000011110111101110111100001110000100001100011011001010101111001001100101010100111000011111011010100100110100111100101011010001111001110111001000100011001100100100010101111001101011100100011010101111011001110101010000010111100010110100111110101010001110001010010000110010011001011110111110011010001000000100001001000110000000001001011001110110100100001100001000100111110110100110111011100101001111110110011000001001100111111111101100000000111100011010111000010101001000001111000110010011110101011001110010100100000100101010110010111001001010100110101101001101101001010000010111110011111100111101011111010010011001100111000110100110111001000011000110100101111000100101000001011000011100111000100000100011010101110011001100011111101011000101001100101001111101011000110110100100011001100001100010010100111001011000100011101011010110101110101101100100010111000111111010010110101100010111010011000110100001111100011111011101110011010110001001110010000001000000011011100101100111000110000010100101000110101011111111111001101110101000000101011100110010110100001011000010000010010100110110001110111110111000010100100010011000101001101110001100001100011011101100100111101000001110011100010110110000001111001001001110011000110011111110100000001010011011110000001110001101010111101100111001110010000001100110011000111110110111011000111000001111000000100000111110101011101111111011000111001101110001101110110110001100010100000001111100001110100011011011110001010100110110001101001101001001100100011101101100101001110001100111010100001101000110101111010110110011001111101010001110010010000001100101101101101111010010111011001101000011101001101001110100010001101011100001100101111010110001000011001010100000001000101000110110011010111111001010010100000011110001100010010111000010011100110101111011101001010100000001110110000101111010110101100100011110101001001010000010101101010010010111001011011100000011000010010010110111111010111101001100101010000111110100011100110110000101010101011001010111110010111101101001100010010110110110001011110000010001111101001110011101000110111100111010110010110101111111110001110100101011101001101001111110001101110000111010000101011101100111110111010001010000001001110000011101000100110011110111000011010011101111011011111111011101101010001010001011110101110011100100001001001111010100011011111101110100010000101001111010101001000111000101110100000001101000000101100011000010010101100111001100011101101101101111110111111010111010101000101010110001011010001111010111001010110101011100000010000111111000111111011011011001010011110100010100000010101011111011110000011101110010111101000001101011111111101010111000110111111010111111011010101111011001101100000101111101001010101000111111111010101110000101010101011110101110111101111010101001110011000000011001011110111000110111111010011111101110100111101101010000100110011001100101010010110011011111010110100011011111110111100110001010101011110001111101100011001100001100010001011110000001000100101111001000011111101111000010100010110000100111111000011010100111110011011011010000011010100010111001111001101111110010100100101010001001011000001100110001111001100010010111010000001001110011100111100001011011111000100111110110010110011001001111000111001111001110011101101111000101101100111010111011000001100011001000100101010011001101011010001001010110010001110100011001011111011110010000111110100010001100010101111111001010110110011011000001001111101011011101111011011010001001111000011010100111110111111000011000001011111011100001100001100010101101011000010011000001100111111111101011101010011110011111010001111000000001001110010111011011011101010010100001110001100011100001100111110001000111010010001010111001110101010110111110001000111010010000011000101111011011101111110010110111100000001001111100111100100001101011001011101111111010001101111010101001111111010110100000111011011000111100111011111100011000100001010100111100001111001010111011101000001110110111000011111111011000011110100010111010111010010010001000100010011111110100101010111011101001101010010001011011101010111111101111001110010000011110001110101000100011101001111000100001101110101111000100011100111110011101000100110011011000000011110100100111010101001110111100101110100000111010100011010010110101100001011100010101101001000010000100101001101111010101010011011111001010101010001101011011001100101011111001011110101100110110111011001100000011010111001111110000110011011010011011010100011010001110010001111101101101111010111100111001110100000001100111010100110111001101001111011001010101110000101100111111111111111011111001101000001101101100110001100011000111001101111001111101011111111010101010110001000011111010110111010111000010000110101100001011001011000100011000001100111100000010011101101011100010100101011010110100101101001101110101010101000010001010001101010011001011011101101011001111001000011010101000001100011110111110101010111011110000111000100110100001101101100100100100110101101011010101001000000100001110000011001011000101001000011010101100010110010000100110001001010000100001010100101101101100001101111101110101001100010101110111000100011010001010011001101100010000101101110110010000100110001010011101000000010011110110001001011010000111110011011000100100110100101100000100111100100010000010110111100101101110111010010101011111111100101001001110010111000011000010001000001100011110110111101000110110111011001110101100110000111100000011011110101000100001100000100110110010000001100100000100101001001001101011000110111110111000010001101101000010010001011100101110001101111111101100101110110000000100001001101101100001000011000110111011100101010001101111001111111000011010001000011010001011001100000101110000111110000100010100011000010001000000011011011000111100000111001110111001001111111100000000001111111110110000011111001001111000000100100111111011110101100001010100010001101110110110011101001010010001110001111100100100011000101110100001110111100001100100011110001010010011101111011010111010011100111000001011110101011000110010001101000101111101101010101000101011111111011010010111010100100011110111000000111101111000111000001001011100001000011101100100001101110011101110110011010001101110111011010010000011000101000000110100000001111000010110010011110111101110110100011011101011001100011011100010100010110111111010110010100110010011100110101011101001101001000100000110011111000001000110110000110010111010000011001111100000110101000101101101101100001001000100101110011010001101000111110001000100101101011011111011101100010000001110101011111010000110000111010110101111111010110100001110100001000010010010000000010110011101100010000011001100110011011001010001100001101001110100010101001100111001101010100110000111100101111101011010100010101110110010000100111111011010100000010101000110001111011000110111111011101001101011010100010100001111111001111001010111001100001011000101011100110111001001000011110101001000110011111110000101010010010011101110111111000101110010100000101110011110001000110111001110000100110011000111010111011011011011101001000000110101010111111001100010000111000100001100010100011111101100000000100110001101000101111111100010100101100000001011010110000101110110010101001110000010100111100101111110110010000001011001001011001001100011111111111001110001101100110101101011011011111001110111001111111111001010110100101110111110100001000101110000011011000101101000011010101010010001000110001001010110110011110000010011011000000000000001101011001011111110000101100111100101101010010000010011000011111101000010000101110110110100001000001000111110101100100010110001100010010010010100011110101110000000000001000110001010010001000101001010110000000001100110010111101001001001100000110011100101100011010111001000011000110001001011001010111011110101111111000010001100100010100101001101000001100101101011011101101111001100011110101010011011001001001001000001101001111000000011100010100111010110001110111000010110001100101001010100010100001010101101010110100001111110100100110111101101111010101100101111101100011010001111011100010101111111000010101001000100000111010100101001111000001010011101011001001110010111101100110000010101100110111001100011011111010110000101111111100101000111111000011010111101001011111011010101010110011011111100101111001100100001001101011010101001101010010000010011000101101110000000100101110000110011010001101000001011010010001001001000101011100000100001101011011001001010000100000001000000111110101101001001000000011110011010110111010011111100110010000000100000110110101001001110011000101101000000111110110101000011010000010010101110101000101101111000101100100010111010101110100000001101011101001111000001100110100110101001011011110101110110010010100100010001010001111100101010100111101010011010101100011111000100101001010110110101111111000000110110000011001011000110101110101010110100000001011110110101100011001111110011101010011100011111010010000101101000001111010111001011101111110010101111100101111110111100101111010010100010100001111000000100010111111011100000011110011111111111010110000110010000010011011001100111101010100101011100111001000011101010000011111101000001100000010010111010111101101001000111010011100001110111101010010100000001100000001001011000101001011000111001111010100001000001001110000100100100111100110011001010101011011110001011100111011000110101000101001000110100111010011011001110010101110011011110010000011011010001000100001010110111111101010011100000010100011110000010001100111011000001111000110101011111111111100010101001001111001111010001100101000101100000101101101010110101100110101110101010101110011000110010111011001101001111010100001001100011111101100110110110010011101000111111010000010001001010011110000000101001111001001111101010011001000011010011100010111000001110011111101100110011011100011100100010000110101100101010110100100100100110001000100100000001001111110000110111010100010100001001000011000011110001000111000000110010101100111010110011011111111000110010010000011100000101001011010110100010100011011011000010000101010111010001111101100000000110101010101011011101101001010101111111001000010000101011111100100011010111011001000001111010110001010110010000101011000010010100101101010010011001111000000101101010100100001111110010000000111000010111011010101101000000101110111111000001010101101001111100001100000011001100101010101000100000100100110110101110001011100011011101100111111000111001111001001100011011100011011010010010100001110100100000100100001010110000101100010011000101010111011000011101101001101010101010010000000011111000000110010000110011110111011010110111100110010001111101101110000010100001111111111001110111001101001100010101011011000010001111110101100111010000011011011001111110000000110001111000000000110110011001010110001111011011110000001110111001100111100011011011001110110001101100110110000101110111101111101010110001101010001110101111100010010101010111000101111010100100001011000000100001101001111000100011010010101111111111111100010100001010111110110100000101110111001110000010000111010011000000110010111111010101011010101111001001100011010000000100100101110110111101110101110011001111011011001101000000010000001100100010100101001011011100101110001000000111110010010100101011001000001100001101101100011000100000111101100100100011011111000001010110001101100110010110010000110111110111000001010110001100011110001110010101101000011101111100000111111100101010100100111101100000010101011111000001011110000101101111100101111011110101111111100001111101110101101100100111000100111100001100111100011110111110011010011101110001000001100111100000111101010101110010001001000011011101000001000111010100100111111111010100011101010100011010111110101001011010011110110001101001000101001110110001111100000011010111001001010000000101100100011001110101100011101100010100111010110011010000100111011010011100110101111101001101111000000111100101100011011101101111001010000100111101111100100000000111001110100011100110011000100100011100111101011111001000011010010100111001101000111010101001011101010010101011111110101000010110111111101000011110110011001101111110011011111100110101101001101101011100010111100011001111000001010000100101000101101000110101011011101100110110011011000000100001011000110011011110011111011100001011001101010110111101110111001111110110000110011110100110001000100000000010001110111101011011101001101011110001011111010011000000101011101000100001010001011010000111100100100101110000011110101101001001110000000011001000001000110100110111001011100001111101100100011111100110001011110010000011111000001001100000101101101000110011110010110101000010010001111010100110011101001110101111011010100010101011110110011101011010111111100011001111001101000100001011000001111011000110001101011110111011010100011000110110000111000010010000110100111011010110111110011010000111000101010101110111101101010100100000010011101010011001010011011000100101001011001111010010000110101011110010100111111101011010110110000010000100001111101111101110010101000001000110111010101100100010000011111001100011101011111111000110110001110100110001100110101111110111100110010001100111111111010101011000011110111110011110010111101111001011000111011101000011110011111100010000001110000100111010010011011000110110100010101111010011111000001011110001110111001111001101010100000010101100111110001010101001110001010000001001100001011110001000110001001000110110011110010001100110000000010010010000000111100001101011010011100010110111111001110001101100010001011111111111001100110110000000000000001111011011101011101100100100101001100111010100000100001011110000011010000111010010101101010000111100010000001001000010110100110001111000011000001110001110011100000010100111100101010001111101001111101101000001110000100001110101001001001001010011101101011100111100111100000111100111101000010011101111100111010111111001001110001000100001111111100011001101111100011100100
1011110100111001000110101000000101011100000010000001100011101100010011111010000111000011100011101011011011011111000111110101100110001101111110011001010010100110110100001100011010011001000001101110101001001001000110010100111010010011001100100010000110011110011000011111001011111010000100101011000100011001010111010100110100001001111011100000001110100000110000010111100111000011000000110100110100110101110001011101000101100110111100111010101011010000010000111100000000001110110100100111011110010001101101110001111101010111001110100011110000111000010101110011011111010100001111110110101000111011010100110100100001001110101001100011101010110000101000100100100110101000100100111110001101001100111110000100111110010000110010001000101101001011110010001101101100001111100000010010101010100011101100111000000101011011001010101011111000011011111011011111110010010101010111101011100101110000111100011111011011100101111110100111110110100111001011000011110010101011111000101101010011101000100101100000010100100001101100110101001110001011110100101011100110011010100100111100111001010010010110011010101110000100011000100001100101011101101000000000100111011101010111100110101110110010110100100011000010010100111001110000111110001011110101001010011001010101110000010011110011110100001100011101011010110100000001100010111110001001010111001000110011010001011100000010000010101011110001000010100111010011101000011111110111000010110100111010100101101000010110011001110100111000100110101011011110111100101111111011101101110111101101111010011100010010110011010110110110001000010001001000010110000111101001101101111100101110010110100110110110111101111011110111011111011111100111101111010000001111000110011001110011101001010110001000110001101011000101100100001011000110101100000010001110010101010011001000110111110100001100101000111000000001000000111001100101010110110110010100101110000000000111101111100000100101101111011100101011011000000111010001001010100001001100111111110101010100011001001010101001010101101011011010110010110011100110000011000100000100001111100011000100100100011000010101101100110010011110010111101011110111011011001100110001000010000100110001010010001111100111001100100110000110100011100100101010101111011100011101100110110100111011011001011100111010011111111000000010101111001100001110000100010111010000111001011001010001111001001011100110110110100000000110011110111010111011111010001100111110001111001000001111110110001011110011111000010111011000101001110010111101001011101010010000001000011000000001110000100100010011011000000000111111110110111011101010110001110101101010111101011110101001101111000110011011001101101001001111001000111010011100011101110111001000101111010100011110010000101111010011010101001100000111110100101101110010101110100101101101100000010001000110011001010000001110111001000001011101100111010010100011001000001000110110110000010111111101100000001110011101101101001101111110011000101110100010100001001001001100011110100111000101010111010000100111101101000010111100100101100010101001011100100001101111000010011110001001011111010011110011001101100110111100000010010101110100011110110000110010100100011101011100000110101110000011100110000000010110101010110010101011100110000011010010010110010011000001100010010100010110101100001011101100101000010111000011011000100011110001100101110000111111000011011011000001001100010010001000010010100100011010001111100110000110010111111110110011101001100110010101001110010110101111100000000111100100100100111110101111010111100100011100000000101111111001001000000010111000001000100000100100100001010000101110101010001101000111100000111100100111010100111000101101100100111001000010010010001101000000101110001111010010110111001000111110001110000000010010001000001111001000000010010101001011110100011010101001001100110101000110011001111000101011000100111101001001000001000110110000110110001110110111010101000011000010000010010101001100101111101001011100000000000000101111111111001111111011010000110010111110101000010001011101010110000010110111100000011110101110110101010101111010001101111001100101010100001101001100100101110001011111000101000011110101011001011011100100000001100100000101010100110110010000000001101111110110000100111111010101001110000101101101100101000011101011111101111011111011110101000011110010111011111001110111011110000101110011000111010010010011110011111100100011110010011100110100110101110101011011110101110101110011010010101010000110001001001010001001101001011110101110001011100010001101000010001110001010011100001011101011101001010111101101110101101100101100011000101001001001110000001010001101101100011110100000000110101100101110000010110101001101011010010000110001110100000101101111101100100100000011011011101111010101110110011101000011100000011001101001101110101101110010010111000110001001110101000101010011100100110001101111001111011001110110010111100101110001100010110010110101000101001011111111110010101101010000111101011101101001111100101100000001000010001001111001101010011101011000000001001111010110111101010111111000111110001100101111000101011011000111111101010000110110111010001110110001011001110011001000010010100000111100010000100000011010001011100001111000110110010101101110111111001000110111001100101000010100100011001001101010100111101110011011001110110111101001001001110111101001111011001011100100100111010111111011011100000110000010111110000010110011000001011011111111000001101010110101101001010100111010100010001101101001000110101101010101100010001100111000111111011111011011010001100001100010110011001110111000101000001111001011101000110100101011011110101101010111101001100000011100111101000001110010111110000001001110001000100100011110011001100101100101010001010110010111011011100101000101011001110100110111101110111110001101110101001010100100110110011011111110001101100101110111101011110111000101110111100001010010100100101001011001101011000101010010001110111100011110100110111100010010101101000011001110111000001000011101110110010000011001011000110101000101011111111000110101101111001000000101011001001110100010011101011001010100100011000000010100011101001101110100000010110110010001010000010001001110001101011010111100111000101100111101110101000100110100110011011010010011111001101100011111000001101100011111100011110100100010001000010100001101110101111111111100101111000010000011101001000011010011101010010010011010110000010001001100110000011101101011111101000101010111101000000100110110000110010010100110010001000010010011100101010101001110111000111101110110101101011111101000010111001111111000101001110100000111111011111101000111001010100110111111100110001101110110110010011011010000101011100010000000110010000100001111011010000011011011110000001010110000010011001001110101110101011000100101011111111000111000001101011110010111001100011101111001000111011001111100001100111001010011011111001100110110101101000111011110000111000110101001000011000001101011001101001010001010010000101000001111000101101001101110100000100101001011010100111111101101101010101011100111001110000010010110101110100110100001111110000100001101000001001000000111100110000000000100111000111001011000001100100010001001011001001110000110101011001101111000000100000011010111010000000010011001110010101010011000010110110000011110110000101000100000011001101101101001011101000001001101101010010001101111000111111110001010100111101100101111000000000000010101100101011111001011111001111011110011110100000101100101011101010101010101000010110100100111011011010010101010110010000011001010000110111100111100010001100000110010101110001000100111001100000111110100001111101100111111011011010100011011000110001100101110111000101101111001110010110010100000101101111001000111111101100101010001001001010010011111000101011001011011111001010011110111001100111110010000011100001100011111000001101000111010010000111110011001110110101010110100010000100101001111001110100110000001101100001010000101000011000011100100100100100001100001011010111110011000110000110101101010001001011010000111001001000100010011111000110001101001010111010110101010101010100110000111111111001010100010001000011001010001101101101110111010011101000101101011001111000000101011101111010000010111010100001101101111100001100001001111100100001001100000010001110000101010101100100100011101110110010011100100100000110010101011001010111110011111110011111101111011110000111010100001011001001010011010010100101010100011000000010101101111000001111000010101010100000101000000011100010010111001110011010100001110111011000100001101100100001111100001100000100001011011010111111000011000110110111011011111011100010010111011011010001010101010111000001101000110001101000011000001011110010001100100011110110001101110000111001001001100111010000101010111101101100110010010010001100001001111011010010011111011011111000110100000100110111001100101001101110100011011010011000001100100000100110001101001101010001000011001111001001101001111101010000111110000100101010000000110110011000110111000110110000011010101100101011100100110010100110110010101000100111011101001100010101011100101001111011000111001100001001001110110101111010101111011100000100111110010001001110100111011011000001011110100101011001101000001001100111100100110101010111111100100110111110001000011100101001110111111100000110100110100000000010000010001110110010111101100110110101111010101000001000010111000000011011010001011010101011111110101001110111001000011110110000100101000000000101101100111001110101111011010100110111111000010111000101100001111010111100000110100111110010000011001111010101011001001101100110000000000010110010001111100110101000110000101110111100100100001101001000001110000011111100011100100100011111000011111100010001000101111000111011011101110011101011100101100001100110010000100111011000010111001010111000001010000101011001000001000111011000001001110010000010010010101010111111010010010001001001001101011001011001011110101100001000111010101010010101101000101000001011011110110101100000010110011010010100100001010011000010100111001111010101101011010010001001101111010110001111101110100101111001000011110010010110010001110111001111100101101010011100100111010100101010001100110101001010100011000000111101011011111001111110110011111001001110110001000000000011101110011100010000000001100100100110100100001111000000001000001100101100001010110111010101000100000101100110011100101000000110000011010000000011101111101110011011010001000001100010100001001101100000010011001100011010010111011101010110010010010000001010001110110101100010011110101110101111111110100010000101101110111100110111100000101111000000001101001000111101010110110001100100100001110001000001101000000001111001100111110101111001101110011111101110010110010001110111111100011011101110010001011011100011110010010000011101110001110000101000110101010010010110101000010110100100110110110000101010100111111010110011001011011100110110000101010010111000100011011011100101011101110110100010101010101101101101011100101000011111111011010111111110101100001110001010110010100010001110100110100100000111000110001000110000111101111001101010101011011000110110110001000111101001101110010100111010011101000000011001100110011100110000111110110000111001010000111110000010010110111100001110110101110110010111010101001011111100101011100111100100010101001111111110010001011001011011000001101011001011100110100011110100111110100110111100100101100111010010010011011101100001001000010110000100011001010101000010001000100011010011110001111000011010100011110100111110011100011111010101010010001110001001111011011111001000010100010101101001011001100001110111110110010011100111010001011111000010010010001101101011111111111010000110110001110110011110011111000101101110001110000001000000111100000110100001111000111000001111111100100101111000101010010110110000101100100001110011011011000110010100011011110101111101111000011110110010010111110101010000001110010011111101011101101011101100011110111001110001010001110111110000110011101000001110101101001001000110000001001111111101100111001101101001010110000111110111011111011010110101010011011011100111101001111100000011000001111100111111011011010010111101111000000110100001111101100000111001111000110010111000000101110110010000010010000100101100100100000100010001011111000010000111101111111000111001000111000001101100000010111011010001101010010000110010100011000111111010101011010001111011100110110010011100111101000010111010101010000101010111011010000000000100000100110000011010001111001011101111001111101010001110101011010011101110011011100101000111011100101111011011100111000110100100100010101111011001000011101110111111010001101001011110000110100011010100000110101111100111010111101110111010011101100000010101101100011011011011011011010010000010100010110101000011101101011011011100100011011110001011110001111100101010011001000101100011000111000110100011100101110001011110000001011000011011111001011110111000110111111101001010101100101100101010010000001011111111100010011000100011101111101110111000100010010101111100100110100000101010110110000111100100111010010111110011111101000101100011101110000001111100110101100110101011000001111100111110111001010100110110101101110010010001111001010111011011001001110111110000110010111100001000100010110011110101111011100011010101111111101011001110011011011100110001000111110000110011111100101101000100010001011000100111111100010000101101101110101110001011000101000101000101110011001001001000011001101110100001101001000010010010000010111011011100100111110111100000100001100000101100000010011010100101110100110000000001110111000010110010000111001011010100000110101110110001101001000100100001110111000011111110100010000111000111011010111001111100110101010000011100010010101001110100000110110101011110010010001000110001001101010010111010100111101001001110100010010101110011011010101001111000110000001100101000110000000011111001001111000100100010111010100111011111001011011110110010100000110010011010010000000111100011101001110010010110111101111000010100011010011111001001010010101101010001110000110101100110001000111111000000101011100110101000101011000110111100011001101100111111110100111101101101011100100111111111011001100001001111000011010001100011110111100011011000000011101001001100001000010010001000110000011111010011000011001001010101001100101111110110100011101010101110111011010100000111000001100001000100100011000011101011001110101000010101000011001011101010100001010100111011110111101101110101010111110000101100100110100101110000111111111010110000010011100010000011010001111110001010110111101111111100001110001000001010110111010101011101111110001001011100000110111001101011111110000110111110110110000111111000001010101100100101111010001100100001100011101000111001001111100111110010110101100010111101001000110110101000110110111111101000111111010100011110100011101110111101001000111001101011110010011010101010010000100101000010001001110101100111000111111001000110011000010010101110010001111111001010100011100110101000111001011000010111101011101110111101111110101101011010111010001101001011010110011101110100110100111001000001101100001001100101101000111010101011000100011000110111100000011011100011100101111110000100011011100000001011010100010110110111010111011110010000011111100011110101100110011111010010011001101101011000100011101101011011010100011110110101111110111011011000001111001000100100011110101000100010101010011111110001111001001100100111101000110010100100010011111000110011011101101011111101000100110010101010000101001000111010100001100111011110011100110101000010110011110101101100101011001101110100000101001110000011000100001100001111000000011001101001111110000010101101111101011110100000111110101010100111110000011010110110111010110000110001000010110101101111111100100110111010100000000000101110010111110110000101011100001010001001000010010110111111011111011011000011010100101100000010100100000101111010110010000100101001010011111001110101011010110011000110111111010101111001110101110000111011000001011000000010010000110011011110000011000100000000010010000001010001101110011001001100001100111111001010000110101011011100111111000010111100010010011110010010101100101100011000111001011101011110011011010110110110001001111001100011111010110110010110001110100011101110000101001001100000100110100001110000011010111000110001001111011011100000110111101111100101111010000101100111111111100110010100111101111111111101100001001000011011010100001110110000101110101111100011110001001110000011000000011010101010001000000111001111110111101101001001010011110001111010101111111111010001011010101101000011111111110110111010011010011111101101110010100010000100100011110001101000111111100001011000010001000011101011101001101010111111101001111110110101100110001011001011000010000110000101111110110010101011011000101001101011100100001001111101000001001111110100011001010010001011001100000010011000110111100000101011010111010111100100000000111111010101010010011011001001111111001001110000000101100101111111010111110011101111111011010010000010100000111110010110010011100011100101011100101000001111010111000110011011010011100110111101001011011111111110111010010101110111101010011110010000111011001111010000111010000011100111010100001011011110110001011001001001111101001100010110001111011001011000000010110010010100110001101001010111110001010110010000101111010000100101111101010110000101010100001111001110000001100100110010100001110010011010111000100010111110000001110000101111001001000011010010110110110110111111111000101110111011110011010010011001100011010101111001001101110101001011100000011101001100001101101101100111110000001001000011111100110011101011100010010011001010101000011011011101011110001010001000111010011000001001101001010101010001101011011001110100000110001110011011101110001011010111010100000011101001100110110101001001001001010110001110000101101101111111000101111101100100011010011100101000010110001010110101011110010100000011101111010110110111101110001011011111100011110111000011111100011100101101000111011000000101001101111001110111010111100011010001011010010010000111111010101011111100100010110111000101001000001101010111001001110100111010101111011000011000011011011101100111100010110010100110011001101101110101011000110010001111010010100101000011100111111010100110000101000110110001110010000110101101101010101010111001000111011010011000010100010110101101011011001111110001101011000011001111000110100001011110101100010000011000101001110001001110000011100111000001000101111011110011110101111111000111001100110100110110010111010011001001011110000011101001011010110101010110010001110010101110001011010001011100100001010101111001000111110011111011000000110100111101111001010000001100111101100100001010100100101010110000110011010010001111000000110110100000011111010011100010110101110101000101011111010100101001001000001011100111010010100011010100000100001110110100100110010001101111101010011001111100001001100001010000100100001001010111110101110011110001110010001111010110011100101110100011000011010001100000011000000001011000110100101011101101011001010111110000011100010100100000001110001101000100001010011011000000000001110001101101100011001110101011110010101100010001000001001010100101111110111110001100011101000010010101111000111110001111001001011000010100110001111110101110101011000101000110011001111111101000100111000000010111001000000111010010000000110001011011110010111011001000001110011001010110110100011100100111111110111111101011100011110000001011110010110111001010111101000010101100101111100100101101010001011011100111001100001111111000100011000100110100000111010011001110110111100001001111000000100111000100011011101001101000110111101100000111010001101110111000001000001101000001000101111110011000100000000111001101010101010011010110010100110011000100001101100010010011001000101111000011010110011011101001000011110010110110010001011011000000100011100101000001000000000010000110000011110111011101111110110000101010001000100101101100100110111000100011000101110011101000010000000010111000000011011011010010101101000101100011011111100001111010001001001111100110111101111101001101010110000010000011110100110100110000010010101111101001001001001111110111101001000010101110110010101011111111101101110110000100011110011010101101101100010000111101110001010011100111110010011100100111100011101001011010110001101111101100000101010010101010000101010011111010110101110101111000011100011000110110011111101010111001100100000111111100000011000111000010100011010101010110011011001010110011101001100101001100101011011010111000010111001010111001001110111011110110101110001110110000000011001110010011010011100000100011110110001100011100010010001110000100010101111011001100100010100111011111101000101010111001101000111010010011001000001101101010001111100000111010110110111111111111100100110100010001101011011000001111010111111001010101001101011101010111101110011010100101111010101100000000111110101000110100001010101011000011101010111111100101110011001010010111111101000010011001011111000000110000111111110100110011111111000110100100011010010001000111100100111111010010111111010110011111001001010001000001011001011101110110000010000001101000011100111001111010000101101000110010001101110001010111011011010011001101000100001010111100101011110000011011000110101001111000001111010010100011111111110101001111101011001010010110000010010011010101001010100000101001100110111111111110111010110011011010001010101111101101111011011001111010000000011011001001100100001001110001101011010111110000110010110110111010000000000001010111001011101010000010110010010000001100111110011001011011111111010101001010011110101101101011010111101101000011001011010010110100110000000000100100011111100110011111111111100011001000100000100100010100111111011110101101001101110101110110000100011110010110101101100000010001101101010110100011110111011110110100111110000101010100101111010010000110001000100111010001011101010110011010000001110111010111010111010001010011101101000011111101000000100110001110111000111010010011101011000101001101010000101011001001011100000010101001111110110101001111110110100110001001010110001101010010001000100001010110001100101101110001010101010100100100000011100010100011110100110001000111100100101011100010001001011010111111100011010110001101110001111001101100011011110010001101001011001011010000001110100110000101101011001110001001010101100100101101001001000000110000001001001111000011110110111011000110101011010010110000010011011011000110111000010010100100011110100111001000000000011100111110000110010111101100110101110110100110101000000111100010010110101111111000111011100000111011111000111001111000111001100010010111110000101101000110100011011110100110001100001111100001000100100100111010000001011100100010110001111110101110001111110010111101010101000101000001011111000110100100100100101000010001011000010011011111101110010101010010000101011100111101011010101001100011100100110001001111011111000010011100100000110111101000101111000010111111101100011010110000110100101010000000010111101011011000010000101101100010011101000110001011101100011100011001110000100100100101110000110000100110101101100010000111101110101100111111111010111001110100010111111000110100001100100010000110111010000010001010110010011000010110001101000101001100100001110011001111100000010011110001111001000010000111001011100010100101001000010101100111001010010011111110000100000111001111101111010100000010100010100100001011000000011100110110100000110101010011110011010000001101011010100100011111111111011101000100101001001010111000011111100100000011000010111011010101110111101101000100111011101000110101101000001000011101010101111011000001001010011010110101001001011101010011000110110010011101101000100101100010000111110111010000010111101011101000000111001010001101010000010100001011011010110011000111000110001001000101011100110000010000001111000100111110110100110100111001111110110111010101111001101111001110010111000010011000111001001010110011011111011111000000111110110101100111011111010010010101011111011000100001101111101000011001010101111100101110000111111011101000111110011111011111111101000011011111000011110011011000110100010000101101100110110010011110111111000010010010100111100001100110100000101111010111001110010001000001110100110100011101011101110100001100101001011110100000101000101110001101110110110111100011110011010111000010111001110000001000100111111101110000100110110100111110110110000100110000100110111111101000001101100110010100100100010100100010110101110111111100111000001100100000010011001111000000100011000101011001110011001110000110110001101100001000111010100000101010010011110100101011011010100100001100100000100111000101000010111110010011010111011001010011001101011010100100111111011111011100101001101101110011000111011100100011111110100111010000001001000101011000001111000000000100001111000001010111110001111000011101011010101011100100101010111010100001101110011010101011111101111011000010010011110011010000001101100110100001010000110001000000001111011000000011000001101100110101011111011110000001100110110100000101010101001011010010011001111010001001111001111001100101000101010000101100001010010110100100110010110111110001001101110011011000111101110110010000011011111011010100100001100101010111010001000111111011110001100001000101010010001110111000100101010100110011001011100100101110010100110111100001111000010101010011001011000111101011010101001000110100110110001000111011001001000110000011101100100010110101001111110101011110000010101100001011011001000101100101100100101010011111010000111000101100010100010101001011110010110011001010001110110100100011011010000110101101111110110110100101111100101110100011101001011001010010110000111000111001011101110111011000010111101110001001100010100011010010001100101101001010011100110010010000001010010111100110111101000000111010010000101000111110101011000101101100000100011110010111000110110000100101011100000001110101100000000101000001010010111001000111111110010000011000000001101111101110100101100110110111010110001011001100000011100101001010001010000111101111001101001011001101111111111101001111011010100001110011011110001001001010110111001010110000101000001000010001000100001110100101000001011101001010000000011000010110111001111110100001010110111111011101001001110110101011000100001101111111001011000111010010101001001001000000001110100011000110001000001100000101110010110010011010000100110000100010010111010001011101001001110000010110101101110011000100010001100001001000100001010000001110100100000111011001110001000100001000100010111010010011111011011001011110000100110110010000110001111000111011111101000110001111011000010111001000001111001010001110111111101111100101101100111111110110111011001011010100011100010101011001111001010011100000110001000010001011100011100000110001000000101001110011110110011110010101100100110010100100110010110111010000011001100100100000110000110101011110101010010100001010010101000110100100011110111100110011101011101111000101100010010001001110100111100100111111110101001000110000110001110011010100011101001101100100111110111011111001001001001001100000110101111011000110010000011110010000110000000001100010001111111010100110011010001000101001110110110011101100011011001000000111010010000000110001011111110111000110011100111001000110111010000111010101011001100000011101111100101111001110010011101100000000000000010000010010000010101010100100011110000001001101010010101111100111011101010000110111001000001010110011000101110010111111001001100100111101011010110111100110100101110010010001000001000000010100010010110010110101011101100000110010101111100101100011111011000111101011010000000010010100001000011000000001000101010100101101010111110000111111000111001011010100010000010100001101010000001111100100111010001010010110101000001111100100110001100000001110001101110001110000000010001100111100100011110010011011000111110001001000001100101001011001111001110111000000000001100000111111100011110111011101010101010101100011101011010101011000111001110010111101101101111000010101010000001001101001011011010011001000111110110000000010100111100010100101110001010101110000100011001101111010111101110101010011011000001000001001011001001100010001000011100000011111110000010111011010100110100001001111010110000010111100000110111001101101011011101000010010000010100001111110001101100010101101111001101111011010101010100100011101010100010011101011110010000010010010010100001011110101000100010101011110001010010001101110010110000001000011010110000100101001011110010001100101110010011001010101011000011100100001101110101101100110110101001001010011001101111101111001110000010101000001000111011000101001101101000000010001100011100000110100001000101101000010111010110111110111000111000110111000101100100011111000111011111010000101011000100001000010100000100001110101111011100001100110001100100011000000100010011011010111000111001000010111011011111010111001001111100001101001100000101000010000011001011000001010001000111110011101000101000010100100010101110100100010001001010100011000011001110101111010010001000001011111101010000000000010000110110100100011110111010001100110001110000111111101000101100011001111101011001110001010100010011011110001001001000100111000000100011011010011110000101010001100110011101011000101010011000100111011000011100101101100011100101110001110100000001010001010110111111000011110100101001100001101011111101001010110010100011100010001110000011100001111111111100101111101010110110000010110101101000100110011011100111110100111101100001110110100111110001101101000101101010011101100110000011110101110110001010110101110100101001011011111001100000110110010110111110110101111011011000100100010001001110111000000101110101000101001010011000000110000111000010101010010111111011011000110000111011111111001010011000001110010111101000000010110000010110111001101011001111101001101001101100110000001110011110101010000111000000101110001001100011101011100110010010100010110000110000101111001001011011110110111000110110111010101101100000110000101011000110001000000110001100000010010001001110010101110100010010110100110000111110110000111000111100100110111110011000110010100111000111000001111000101111101101010010000001001010010101110110011000100001101111001111101011100100111111101111111111110011001101111000110110100110110100011111010000110011000010011101011011111000100010101011000000010011010010001111111011110011110110001000010001011000100110110111011011101101111000101100100111101011111010001110010011110110010000001001001101111000011100010011010010110011110000111110111000101010101000010000100011111010010010010011110101100101101011011111000000010101000011100100010111101011111101001010000101101010111101101100010110010010000110011011110001001110111110101010001001000101111010010000101010000110101100101110111001000111000011001110111110010011100110010110110101001111011111000110101011011111100010111000101011000010000010000000011111011000011011001000111011111100110101110101001001101001000001100001001101100010011011011100000111111000000100011100110011110010010100010100111110111111111011110000110101000000101001010011001011100111000110011010000010001101100000101111101101011010100001100001011110000110001001000101000100101001100001111000111100001100000010110000001011100000010001011000011000011101011110001001001010101011110110001101110001111010010001111000111101101010011100101111011001100000111001101010110010101100110100111110010000000010100100010110110101100101110110000110111001010010101010101101101110100101100101010001010111101110101110000111101100100111001100011100110010010010110001100010001110000000100100101111101111001010110101001100100000110100000111100101011010100001101110011010011001011001101101010100010101000001001100010110000001100000110101111110111100101100000010110100010110000001100010000001110011110100011011111000110011111111010110111100100110110000110000110101110111101011100101000000010101111010000000100101101010011111000100011101001111011000100011110101010100010010001000000110000111010110000111010101101100001111100111000100001010100111111000100101100001111000101100111001000000100110001001011011110011100110111101001010000000111001011101001011100100001111101001110110001101100001100010111110111010011001000100000001101110110000000100010001100000111000010110001110111100010010001110110100111001010010010110001001000110111110111011110111011001100101000100101101010000000000111101101100001001101101101100111001000111001111000010100101011011001011111010011000110100011001001100000001000100111000001000000001101000001000111101100110010101000100100100110100111111101011101011111110111001111100010001111011100001110000010001110101110110100110001100111101101111101111111110011011101101111001000000100100000000001111100000110111100111000111100101000100101001000000010001101100010010011111110000101011011001000101100001110110010100110000010010001000100010010000000011111000110011001101101101100001011101000100000101010001100101010000001100001001111101011111110010010100001010100010100000000010100111101111110010010000110111100000100001111010000110101101101000001000111010010011110100100001100010001111100111001100111000110010100111101101110101110101011101100110001001101100101111111001110101000111111001101010110111100110010110010110110010100110001110011011001010001010001010100100011111111111000110111111101000011110001001010110011001101001011011011000101111001111100111111101111000000100000100001010010001010100101011010111000000110011000000110010011010100011000111011101010010100110111010001010010110101101100111000010100110100100111011000011111000111010110110010011000011101001011000011010101100010001101101001011100000000000111010110100001100010101101100100100011001000010101110100100111110000101010110111001001100001000011010111000011000011011000111100101000010000111010011111001010110001101000101100110111000011111010011000001111000001011000001111100010110011010100111000001011111100101110101100011000100001011101010101111000000111101010101101001001110110000000111101000100010000100101111010011111000001111010101011100100010000100010110101010000111000101000001100100111011010001001100001100001110001001101100011111011110011001110010010000101000001100101100001001001000101000011100001111111111101101000110001001001110111000000111000101101111101111010011001100010011100110001010101011011100110101001000010011110101111011111101001111001010010001100110100110100100111100111000000111011001000110101000010000010001000111110011001011100100101010111110010110000111001010110000101011000001010110010101101010100001001011100010111101011100000101100010110100111111001111100000011001000000010111010001001010001011101010110000010101110011100100000111110011000111110101010010101010001000111100101101100111010100110011001111101101010101011000111001100011100101111111010101100000010001100001010111110000010110001111000101010010111010011000101000010110001000010001001111100111111010110100000101000011111001101110000000100001100010111101000111000110001101000101000000011101001001111100010110100111101010101000011111000000101111000010111100001101010001100100101010011110101001010100100111111011110010110000110000101100011011010010101000000011111000110111111110011101010101011010111000001010101001100000101010011101110111000111001001100111001011101111111110111101101111101111100000010010011110111001011101100111101100101110101101000111001110011111011110011010010111111000101001011000100101101111111000011010000100000111110101010001000011001111110011001001101001001001100100000110101110011001110111010000011000011000100100100010000000001010100001000111110111110011011011010000010001000110011000011000100101111111000010000010100000111011001100000000110101101111101010100011110100000100101110101101111010111100101000111001110100011111111011111100001100101001001111101010100001010100001101001000111011101010110110010110110110101101101100101101101010111011111000110101101011000101110110001100010000001010100101111001011101100100101011111110111001000010010100100000010110010100010100001011100011110111100001011010010001101110010010110011110111100110110101000100101111000001111100011000110011111111101001010101011110011100010000001110010000110111000100010100001000000001110111010010110010110001110001111101110010110000100110111001110011010111010110000111001101111000001010100110110101100111100110101001000010001010010011101111011101010110000001011011111011110101100000011001101000010000100011100100111011101101010000010000011000110011000011010111110001100110101111011111010110111000111111010101011101011010001001011001100100110001010000011110100011001110111011011011001101011110001110001100011110000101110110110110011010010001011000011011010001000101011001000100111100000100111000111110011101101100000001011010110011011000001100010101101011010100011110011010101101001110000010011011111011101011010101011110010110100101010110100000100101010100000111101001011001010100011010001100101010001101011100110101001000100010010100110101110110101011110001000011000111011101111001000000011001110101000011000010011100000000111101010011011010010110100000110100011111001101101110100001011100100111111001000111111000100011111001110001111010011011001111100011100110010110010001110101010100010010110110101011000110111111011110100011111001011010001110001001011101111110000101000010001101010111001110110010001101001100110100100100010111111111101000010010000101010001100100010011100011101111110110010100110001110010111111101000000100011001100110111100101010100111110101010111100101001001100111011111110110010110100001110000100101001101000110100101000100010001110111101101110011011101000100011100101111100101111000011000001001010000101011011010000111100100011101110000101100010001101001011101011110110010111110010101100000000100001011000011011101011111000011100010000110101111010010001011101110011001000010000001110111110101110101101010101101100011000100100100101110010111011110100001001101010010100100101100100010100000010010010010000010111000000011000011101001101100110111010100111000110000010100111010111101000101110000100110010110110001000110100011010100101111100110100001000101010111111000000001000011001000001000000010001111110100101011111110100110010100010011010100000010111000111011101000010110010100011101100000001110101000101111111010111011101110000011000000110101010000001011111111111110001010101010110111010100010000011100001110111000010010110011110101110100101001100110010110000010111011010101010001100100100010011000111101101110001101100100000100110110111101111110110111011100001101011100000010100010000100111001001101111000101110101101011110110111011000000100010001010100000010000100010011010001010111001100111001011111001001011001111110000010110110001001011010100001110100111011111100110111010101010010100111101101010010100000010010100010011010110011100110011000000111110110111110011011001011111101001001111111110110101000010101110100101110101110000011001010100001110011100111010010010101101101000001000101111101001111101101111001110001011011101000001011111010011101000010111110011101110001000011010001010001001100111111010110011001010111101011111001010010000110011101101100101111111000111011101001100001110010010001000011000100111100010010011010110111000111001001101010010111000111111100011111111100101011110101011001001100001001111101001110000001001110110110100000011000010011101001001001001111001001101111110110010101010110100011010100100110011010111110010101111101010000101011011110110100100111010110101101000010000011001011110110111011001011111110001100001101110100110001010011101011011010111101110110110100000001010000101010011011011000110111010101101010000111100011011001100000000100000001101100001011111101111100111111000100101101001010000110000111011101011100000001001011110110001110001001111000110011000001111111111011110011100111011110000111000110001100111101110010011110101001001111001000110010110010110111101001110111110100101100000111000101001111010001110101111101111001101001100111000001010000110001110011001101101110000111100110000001000110110011111111101000000100111101000111000000101010001000010110011101000010100001011100110111100001000101100001100001011110011100010111001110010000111111011111111001000110111101010010100110011011010111011001111001110001101000011110001000110011110101000001001010010001110011010000100111000001010111001011001010110110000101000011011000111110101100010101111111100101000010101111100000011101011001000001100100110000100011011011010001010111001001010101101000100010110010010010101111011000010010110111010010001110101000000010011000101101100011010110000011000100010011001101111101010000001100010100100100001010000010001011011100111000011001000100111000100111111111011001101010001001010111001110000011000101111100011000110111001000001111110011011101101001100000111010010001110010010011000110110001110111110011100000010011011010011001111000001011001011000000001111000000011011011001001110110110010100011111011011001011101011111111111000001000011110110010111100010010101101000100110001011011011101101000011010010111001111110011100110001001101111010101010110001001010010001011110011100011110001101001011110001001011100000000011101010101111010111011000100011110111000111010100000011010100100001011000110100000010100100001010011111011001000110101111010100110010010010100011101010011100010000000111111000000001110000011011000010101101111010001111011001010110000011011011100000000010001101101101001101111011101111111001000001110000110000011101001110100000000111100100110101111010000110111100010110000101010111111010111100011101110001001111000010111010010111010100101010001100110001110000111011100011010101001001101111110111101010110111110010011100101011100001111001011101001101101010001101011000110101110111010010010101111011100011100100110100100010011001000011100111110000101011001100111111101100101011101001011011110011000000000110000110100111110101011010110100100010001111110010010110110011000010100010100001001010001000110111010110010101001011000101010111001111000011101010110100010101100101100010110001011101010010000110001110110000101100110011100100001000100001101110001011100111101000111111011110000110001010000010000110001000011110100111110000110101010111011111110100001010000110101011111101101110011011100011001000111110111111011100111001110100110100000110101100011010100011001001110110111011111000010000101111010100001110001111011010010001001111011010001100001110001100000110000000001000001010111011110101001110000011110011110101111000000100000001001100000100011101011100111111111101100011100111110101110100101010101011010000000110100001111111110011001100011011010110001101011001010100010010100100000111101000011110001010001100011101110100011100000010111011010011110001001011111010011001001011001111100110011000111111000010011001100000011101001011100110011011100100101111101000000011111000110101010001110001111111100101101100111100111010001001100000010111111111001001010100001110110110010011110101101000011001010010110111000000110110000100010000011010000110001010110000010010110011101000100001101111010111010000010111010011001100001011000000110010011001011011000001110010001011110011110110100001010101001101101110110011111010100111001110011110011100100011100110110110100010101011011110000010000001111100011000101001000001010110110100000100101010100101011110110110000010111000010110100100010111000101100110110001100011101010000000111111110111001010000111000001111111111010010010000001101011110011101100111110111100001000001001010000101010000101110100100100011101111010110110110111001001000100111110101000101111011111110011100010000011001111011110111100001101010000000000011100000100100101100111110101101100101101011010111111011011101110011010011001010000101000100101001010001011110100011011011111101001000111100011101010000011011100111000010100100000001111001101110110110011001111010001010011110001000110010010111010101111110110100010111010000110100111001011000010000011100100001100001111011110000001111000111111011111010110110111110101101101100110100011001101010010100001101110001110101010101011001100000100111101111011000000000000010100001110101100000001011011100001111011011010110000000001101101111001111101101100001110101010001110011111001000110010101100110010011100010001010001000011100100101110111101011100100101110111010100000100000101100011101101010011110110010001011011110100000111011111101111110100000010001100000100011011110100010111101001100001100111100011011101111000000101110111110010100101011011111100100010000001010010010001010011010000010011110000011000011001100111100101111111101010001101011111110010110100101110110010101100001110110010010011000001110000011000011010001110000101001100000001101001100101000001011001011010000110110011111011111101110100110001001101110100011000010000101001001101100100011001100010011100101100010111011010000001100000100000011110100011000100100100001000101010101110101110001100110001111001010100100101101000111101110010000100100010111010100000110011000100001001111100000000001101110101111100100101100110000000001010000100101000101010011000010001101001100100010001010111100110001001111101100001001011100011011001101000011110100001001101100001000000000100110000010010000000011001100111011111111111110000111001100110111010000101110111001101100000000011011101111100100000100001100010110101111011100101010001001111111001011010101101011101110101010100001011101000011111000100111001100010111101010110111010101111011100101000001101011001110110000010001011001100011010101101010001011110001011010011110110011111010001011000111010110101010111111101010000010111000001111100001101101001000110101010001111010100101100011001101100011111111110011001011001100101100011111110100110000100000100111001111011000100001011010110010111111011101100010000010100001101111100000110010011001001110111011010000010111001010001001100100010100111100100110011010001100100010101100110000110111100000010110111111011011010001110001101101110001001000111011100100111111101011111001111000001110111010101001010111110111000111101101011110000100011000110011101111100010001100100000000111100110111111111001001110101110001101100000011101010111100101000101011000111110000011001001111101001110110111111001101000110010111111011000100101101111010101011010101010101101001000100001110001010111110011011100001101001001110000011100000001011011010110010011101010001100010000010001100010111111110010011110101100010101010101110110110000000100111011000110111011100110111101111000101010111000000011111000100000011001100111000101100011010000010011110111100011111000010010000100001100110101111000000001111000110110101010001001111011100101001111100011001100001111001010100011100001000011010011000010010101110110101110111111101101100000101001011110110101111001000010100101000111010000000000000111110010111000000101100100010011111100100101101110010001011101110001010100011000111110111010110010001000100010100111110100000011011100001110101101000110111111010010001111101101011011101100101001101111110100100101010000111101110001001100010110010111010101111011000111000110101011001000011111001100001001011100000101101101010101011110111000010001000111001000001111110100101100011100111101110111000111011111100010011000001111000010000110111101001100010111110010010000000000100010100011010111011011011101011101000111000011110000000001111001111101010101011111000100011011000101100011010110000000001100100100001111010011011111001010001010001001001011001011101011000111111110100100010010101110011111010000000111000011101001001001111111001000110101011001111011010011001000000011101110011001011010011111100110000000001111000110101101101010011010001010111110011000001111110110011101001000010000000000101101000101101001000111010110111110111101000100001000001010001001101001011111101101010010111011101101010010000100001110011010010010010011110110001101111101100101101110011111011000000000101011011100000101111000101000110110011011110100110101010000011111100010101100111111000101011011111111100001110110010111110101101101001010010001110010011001100111010110010111110010110001001010111100110110010111100010100011111111100011111001001010011100010000000001001110010111101111010000100001100011011001001100100000110011010001110010111110010000011000111000011100010111100000001100111011011011001011111011010100111011100100011101010100001100110010011000100100101100001101100011110001110100001000101010101011101111011101000100100110000001101101011100011010001110111101001111001100110000111011000110011100011110101101101010010101111010010011100000000110100011001111111101101101101011100111111001101000101000110101000110000100101101100100110110101000101110001011110000000100000000110011111110111000000011111010100010011000000111111001111010111100010001010111010111011001001010101111010111011111001111011111000101110111001110010110010101111010111001011000100111100101100110101110101101011101100100110010001000111010101110011101101010100001000000100110111101001100000100111110110110111001110101001111111100111101101100010000101111001011100101101101001101000001001010101001101110110010011100000110101001101000010101100010000011010101001110000100001001001101001101110101011011111001110010010101011011101111010000111010100110111000001110110011111100000001100111100011011110000001101011111001010100111110101111100111010010010110000011101101000010011110101100101001101011100100101100011100010101110000110001001111100000100110110111110000101100001001100001000100101011101101011101000101110101100100111110011111111100100000000000111100101100000110000000111100111101100001111011000100110110101110011011001110000101101110111110000111110110001100001011001110001101000110111010110011111100111010101001101010000100100001100011101110110011101100110010110001000010101001111010000100010110000000111010011011110111100010111110101000111101100111010110010111001110011111010010001111011001101110000000111000010000001101100101100111010111001111010100000111100111111100000011110110011001011010001001000011110010100100011000010000100000001100111110111011011000011100010111100001101110101011001110101111000001000001011011000001110000101000001100110100110101001101101010001000000100111011101011010010111101000000110011000001111001111110000100101111111100111011001010011101110101000010100101101000001101000101111001111101100111001101100111010100011101101010111011011011001101011111100100000101010110101110001010010111011010010101010111101011000111110011010101111111100111000011000111000000001011010100100011010111111011001101111100000101110010010001010011111011010001001101001001010110010101010111110100000110111110001101011010001010001000111110100011110101010001100110111000010111011010000101011001100011011010100110011111100000101100010011111111011111110101101110010110101111011000101111110010001010010011000010000111101111110110001101111010110100110111101100110011101000001100101100001000000010110100110011000101110011011010011100110010010010010010100010110001000011110100001110111100011011011001000100110111101010100111000011011000010010100101010011100101111101000010001111011000100010010110000111111001011110011110000011011101111000110101101111000100111111111000100010001111010011011100001010010011001101100101110000000010111001101101001101001110010000000100110010101111110100111111111110010101101010100011011000001011001110001011001111011110101011010111001111111100001000100111110111001001100000111011011111001111000001101110010001001010001001100110011011010001100101000010011000011000011010010000101111100001010111101110010011111111011101101001110101000101111100101000111100111000011100001110011000101011110010101010101011010110101010111000100010000000000001000100011100101000110111000110001111111011110110011100010110101010001110110100101001001101100001100100100010010001010011001100010110011000100100000110001010000001101000110100100000001000110111010000001111100011001110000011001011000111101010011011100000110011000011110110100111010001111100110111101110001010111001110001011110000110011110100000001010001100010101010011101110011101011011111011110101010010110111011000100000110010010001110110101000111010110001110001001110011100000100000010111100011000010000000000100100001010111010110000111100000100110010000101001100010011010110000111001101010000111101010100100011101101100010100010000100000111001010111111001111100000010011011110011001011100001111010101010011001001101011000010110000011010001111100101010101100000011011010110010101001101000010001001010000100100101000100100110101111110000000100011001111001001110001100100100101101111010010000010101011001110100010010110100111000111000010110101001101110110101000001110101101010011010001100100011111101100110100000000000100000100111111000110011111011011010001101110010110100001100010011110111011000001010110101000100011000011110111001101010001101010011000111100110001110110101110011100001000110101010001111011010010100110000010000111011111000001010110111001110010000010111001010000100000101011011101101100001000010010110100000010110010111101111001111111010100110111000101000000010110001001101101011000000100000011001011101100011101101000000111011001111001011011111100011001110001000111110100100101000000101001100110101011110100111010100011101011010110110011011010100100011100100100100000111101011111100101110100010111100011101111111000011100111111100001111101110110011111101101110011100010001101000001010011101101010011101111001110001000001111001001010000001000001101000000010111110100100101010001100000101110011100001101111000001010101111000001110101001111101000001110110001111101101001111101011100001100111011011001000100001000110100100101001001100110100000001011100010001100100011100011010000000000100111101011001011111110010010011011010010110011000010011000110100000001010001101100111011000111010100001100100111110011011100000010110101100001010100111100101001111001011101011101001011111011010110101010001111010110000100101110110001101110111101111111000111000001100110110000011011001101100101011111010011011011011101010001001010100010100011010101010101000011010110110011010010001010011011110000011101010000111111111100000101010000111001010110000110111000100010000001111000100101011010011100001001101001111101101001101101001011110000010001011010101001010111001000011111010010111110101101001100011101110111000101110100001001101110111111101100110100111001001101111111110111101100000011100111111001010110001010011000000011011001001101111000111000101111010111001010011001010101110011001101111010001000010111100100000010000011111001110001110100010100101110010111011010100000100010110001110011101011001100111101011111101101110110100111000010011100001000101101100100001110011101110010010011101110000101100011100010111011010111110110111000100001110100110011110011010001100010011000011010110000000010010101111010011100001100101000101010110101011100010100110110100101100100000101000000001011110000110001100010110111010101000111000100110111011110111100110010100001101100111010101011101001100011110011111100110100111100010011100000011000111010000110110000100010000000000000111101100101000000001110011111001001000111011100010001001001010101111001111110110101010000001100100010011111011100110110010000010010011000011100110001111010001111111100101100011000100010101100010110001110011100000100011110101110011000010001011100011110111010010010111000010111111101010011101110001100111111100111011110110100111011101110111111100101101111011101011101110011011001111110011010111001111110101000101011101110000101101101001000100001100101001111010111001101001101010100110011010110011101010010010100001011010001000101111001011011110011100000100001110001110100011010000001001111111000110110110111001110011000000111011000100110011110111011101011111001110001010010110111011011101111111101101001001110000101010000100100001001100000100001000001001000000001010011001001001010001011111000001111001001111100001101010110111000110100010110010011101100101101110110010110101100101111011011001100001001111100011010100110100110001100110110001001111011011110110111011000011011110101010011001111100000100100011000010110001011101100111111001000110101101101011101010110001000000111011000111000110101000000010011001001011111101111011000100011101100111111000101101010011010111000000100111001000100011100000000110001100101011011011010000001000101100100010011000101000001101000111110001010011100101110110110000011011001101101111110100101110010111001011010100011001100000110110000001000010101110111010101110010001001011101110111010011011011100011010101100001011011001001011001010000011111110111001110010010110111011110000010011111001010101110110110001011101110111100101001010000010001001110000000001000001100110001011111110001100011110101001100110101111000100101110110001101100101011001011101111001111111111110001010011111000100010101010011010111110111001111100111011001010110101101011010010011000111001010101110111100010101011001010101110001100000000110101001001001110000111110000011100000000010101001100100000010111000100010001001000111000100011111100001111000011100110101111100110011110001100110010011110000000001011110010110010000011011111011001010001011110011100011001111101001110100101011111011010000110101101000110010110011000110101011010100000010110111111110111111000111101010111110100000111110001100101010000100000011100011010010110100010010000010100111011010000000001000000000110010110000010000110100110010100010101101111001101110010110000010000000010110101101011111100000100010001110001101111000010011001111101010011110000000111001111000100100001011001010000010001110111110011101001111010011000111000010001010000111100101100010001111000010011011010010011110110101111101110000010111000101000100011001100000011000100111001100011100110001111001000010010000101111110100100010000100111111111000010101000111010010010101101011100110110000111001100010110001100111001110100101110010000000001001001100000101011111110001101101110111101001111011111100010010000000010111000010010100000111100100100011111000111010010100100111011110101101010010110101000110110010010111101010110110000100011110100010100110001001100110001011000011100101000001100001000010101110110000111011000001110010000011011010010001001101111100101010101110110110110111110101010111010100111001100010001110001010100011011101101000110100010100110111011101110110000001001101011111110001111000010101001001011110111011010001101010100101001100100000001001000000001100101111011010100100011110111101000001001101101100101100000100110101101011011111111101010001110101001000011100011010101000010010110001010110101001011001000111011111100100011110000101100001000010110001011001101101111011011110011010001110100010110010011010100011101110111111001011101111100101110110100100110110001011110011100010011001011101010101110101101000001000101110111010100010101010110111100110011101110001000101100111110111101010110001000000111000011011001011101101111001011001011001001111100001111000100011110011110011001011001000011101000001100111101110000010000101110110001011111001000100110100010000101110001101010011000001001011100000111001101110101110111010111010111100100101110001011111001111101100011011111001101100101011011000001110110011101010101001110100100011100001001011001110111011011110010110011010110101001011001110000111111011010011011110110011100000011010010010100110011011011011011100101110001100111101000011000111001101101010100001100011101111000010111110011011100111011010000011110001001010111111010100010101001010111111001111110101000011110000000101000001010101000010000111100100010001001110011010000100001010110001010011101010000000110101110111000100011001001111110011100000000001000000111111110000011001000110001000101010011111000001100011101000101001000010100011001011010011010011110110110001100101101001001010001011100001010101110001111110001110100100101101000111111010010001011000011011100110001010001110011111000001011000001001000110110110111001101100111101101001101101010110101111100110110101000001111010111110110101111110011011011011000111010110000111001110010110100100010101110010000001011000101100111001010010101110100101100100100110111011001101101110111010011011010101100010010111100010110010001101010011110100101111010101101010000000011110111111101011000100010110101001101111000011100010101001101110101111100001100110111110000111000000010010111111000110011000001010100101011010011011010110111011111000011111100110101100110000000111011001101111110100011010011101010011101000010111100101111011100101000011100111001101000010110100011010100011001111111011000010110110011001011000110011110001001011011101100001010010101010101111110110110010001111101000011000111100011000010011001000011001111110001101101010101011011000001011011111001001101100111011111001100101011010111111010101010010011011011110111010001000111010001010110111100011010110111101101110001111110000111010100011000010100110011100001001101011000111101000100100010000100111100000011110110100100010000110100101110101100101010101000101100100001110111011010111010000011010101000000001001110001011001111011101000011111001111000100001110010011011101001011010010000001000110001100011110100001101011101110110110011010000101000011101010111101011100001000010100010001111100101101100110000010101001000001001101010101011000011010101100110100001011100000100010011001101011110000000110110011100000101010000011011010010100111000111010010111101101000001011101110111000101010101100111000011000000001011000111001010010110010111011001101110111000100111110100111111001101111001111010000110100100111100100111101111101011100011010100011100101100101111101100000000101110100101010001110101011111101100001011010101111101001110110101111101111011101111001111001010010011111101100100010000111100111011110011000001110111010110100001011010010001000101000001111001010000100001101110111011111010001001111010011100001010001111010010000100100110110111000001110110000011111001110110000000010101010010110111100011001010100111001100000111000001101100110101101010000000011111100111001010101001101010111110100101110000001110110100010101110010110101100000001101001111101010100010100010100100011101100111001100010100101100011011111001001100010111111010110000001001010111110010111100011001111100011010111110000100100101001000010101111101110110101000101111010110000001000110011000010001111101011101110011000000111000101001001010001110101000000001001101001100000101000010100011111010111101110100110000011001001111111011100010101110001001110110010101110111011110011100001001111010000111011110111000110000001011000101001011010000011100000100100000110010110101001001101001001101011110011101110011110001110001001000101100000000011100011010100010000000001010001111000111010001000101011101000000110011010110111101100010110001000111010011111011010111001100001001000101100001010010111101101001001101010010011101111010100001011100001011111111001101111000110110011000001100010010011000000100000101110111110000110010101110111010110100000111010001100011010111010011011101110111100010001110011111101111001001100010100001010100011000101011011101110110111110001100111010111000101000101011011111000111010110111110110001100100000100101011111101010000000001010010100110100111101110010000101110111011000111011000010011000011111110110101101011110001110010110101001110100111111110010011101010011001010010111000010100100000100001110101001111001011010100110101000110101011110100110000111111000001111110101111101010111101011010010100101101100010101011100010111001110111110011100110101001100110011100000101111101001001110101110001000100111010110010001010001010110010001010001111000010111010101100110101100001101100000001111110001100000101000001101001111101110100001111100001000000111101101110011111110101001111011011010011100001011010011000100101011001001000101101111011110010101101010101111011110100100001111110111011110101001101011111101100000111100010011011001000100111100000101001010011101011111100100010011001111100101110111010111001001100001000001100010011100001000001100011000111100110011011110101111001011011001011100010110100001010110000101110110111011100010111100111101011010000010100000010100111000010101111100111000110010100111010000100010000100111011001000111010110001010011010000100110111101111101000011000000110100101001111100001110000001010010010010101000001011011010101111111011111011111101100110010111111011011101111001110111110000001110011111011000101100100101111111101000001000111001110011110111001110101011100000001100110000000011010011010011111000110000100001001111010011110011000110100001111101100000111110010100000011000101100100011010111000100100000001001011101000101101100100001000011110010011010111101010011101101100101001110101000111111111100111010100010100111000101100111010001111011001100011010100111011111100100111000110011100001101011100110111101111010111011110100111111001101110101011111011001101110001110111101101000000110101010111011000000000000100110011100100110101101101001000000110100111101011101011111101001111110001010101010100010100101110100000001001011010001100101000011100111100001110110110011101011010101101110101100011111110001101101010100000111110110011100001100111101010111110000010011011011010010011010111000111000000010010110001011110100011110001001100011010101000111100100011000011000110100010011110110111100000111110000111010111001000001011111000000100100010111111101101100110001000111011000011011001010100111001011000010101100001011110100111011011110001000111110100010111111111111011011111011101110011001100110101010011000111111111101101000101011001101000100010010100110000101110101101111001101110101010101101110101111101100101101000111001100010101101011100001000101110100011000101000110100101000001111001000011010000111110111001101001100011111010100100100010101011011111110010000110100011000000011100000100001100000101010110010000001100010000110011111000111110011101010100110010001000100111011000000001001010011101111010111110011111010001100111100010010111110110100001100110000100000111011000101011010010010101000111111001011001010011000110111101110101011001101100101111101010001010101100110010100001110111110111000101101100111111111010110000110010110101101000101110101101100000110000100100010111001100001010000100000011111101000100011110110100111111010101111000100010110111001110101100100000000001100010110000111010001110100101000111001000001110100101111011000000100100110100110011100011011011010111110000010001111100110001001011100001010111101101000000000011011110100110001000100001101000010111101100011001000110000001110100101110110100010010000100011010011101001110001101100000101000111011011111000111101001100101100101100010010100110110010100001001001111110000011011110010011100111110111101110011011111110110010111101000010100010010001111000011111010111000010001110101001111010101010001111100110010001010010001000101010100001001100000001001100000010000110110110010111101000011111010100000101001000010011001100001110101000100101001100110011111000001000010101111111101000110011100000110000001000011011010011001001111111001100101110111011001101101110100101000000100010110011101100010010110111001011011010000111001010100011010110111101000100010001100111100000000000001000001011010100000011011010011101011110010100011011001101010100011000000101101001100111000010001100101110011100110110110000010111100000010001001110110111111111110011110101100100010001010000011010101000110011011011100100011010010100010110110010000010100000101110110000001111001000000110001000011001100000000000011111011100011000100011110011111000100000110101111111110000010011000010110110010000011010001101101100101100100111100000011011011011010111100001001010000011001110010101110000011110011001001001001010010000000011111001011000010111111001111010101101111100110101010011000111000001001000100111110010100000101110100010111010110010111100000001110100011001010110100111110000110010011000010101111000101100010101101100101111110111100011110111101110110101011000000111001101001101000111000010000100000000001111000101000010010000011101110111000001010100000110000100100011000110011011010100000001110100010011110100111111111001101001101100001111100101001001100000011111001010101010010011100111001010100110111001011010000010001011101111001010111101001000100011110111110110000000100000110101100010010101011110110000000110000010010111110011100001110111010001101000111010010010010110101100000010011111111100111100111011100010101001110101101101010101100101111100001010001110010010000011011000111011100010111110100010011010001110011101000001100011100010001101110110110100100101001110100110111101010111000111101000010011010111100001001000010100010100101101011100110110110011110111000100111100101010100101011110010000100110101000100110101111001010101100011110000111100000010001110001001010010011011001010000010010000111010000100011001100000011111101010010100101011110110101100111111100000010011111011111100000110110101010010110001100001111110111001100110000100010000010100001111100110110010100110100100011001101010010010011011111100110010000010011010011011000100010001101010011110011111010010000100110000001010001010001000001001111100000011100101100110100111001101010001111010011100011010101110101110000011110011111101101110100111100010010100001011110001111001011111011101001100010101001100100101111111010000110000000100001010111001101111110110001001010011110010111100111110010011111000110011010110011010011000100100010011111101001001001100011111011101100101100111111000010010000010111101001001100101111110100111100011010100011010000101001101010110000110101011001001100110100001111111010000111111001001001110011001000001101100110001001011111110001111001011111100101001001111000100101001010100010110101001110111000000111001101000010110010100000001111010111010110010000010110111110111110101101101010000000101011001010011111010000100011011001010110111001000000101001000011000010000010010000000000100101000111011011000011011011011110100011101011001101110110110100110011101100001101111100001001011111111001100001110100100110001000011011110101000001010011111010001110110001011010001011000000101011101001001110111010100001000111000001001111100110101011100011000001011000110011110010110101001010100111111101000101000111010110100101100101011001011100010001011101100001100100011000010100111110100001001010011100101001111010000011101101010110001110001000000100010100100000100011100011100011111101011110111111010100101111001101100010000011111000100011010100010001100110001011110010100011110011000111010010011100000001001010010010101001010010111001011000100101110001010001000010101000001010010011100111010100000100000000111100011110011000101100000001100001011001111110110001000000011010011110100111001011100101001000101110001010111110010011111110001110011100011011100100011010011010110111000111100000001111101000110000011011100100001111110010001001111111101011101100111000100000100101001100011000111001000100101010101011100011111100000001001110111000001111100010110101101100101000110001101001000110101100011000101111011011010010111111111001000000010110001001011101101001001000101000100000100100011100100001000000010000101000000111001100111111100100010100101001010100010100010101111000010010001100010000010000011100001111100011100001000100111110111101000011111010001011110100100111111101010010101110100001100000011111110111111111110111111111011111100011010000100111110001101000100000001010011110010011100000100111110100010001110001000001101000101101010010000000110011000011111111110111001101110000010100101001001110000001000100100111011011111001110010001001011000001001110000001110010100110100100100011010100011101011010000010100111000101101110101111100101011110101101000110010010011011110101001100101000001001100001100011100101011010111010100011010010110011011111010011111111001110100011101110101110101000100111111001110100100100100001100000011111010111111101000100110111111101001100100100010111010111011000110000010101011000000010011011011001010000010101111100110110001101111010111101000011011111011011110110100101011001110101001010111111100110010101010010001111000001010111111001101111101000010100011000001110110100011110111100111000100111010011010011011110111010110110010100001111101101111111001011101111101010111001100010000011101101101001111100101100001000110011100000010110100011010001000101100001101010011000110100110110000010000101000011001111011110001001010100111000100001001110110101101100100110100010111011011100101011101001000101101000111010110111011011100100100100101110010000100010010111111010011101010010010000010001101111101010101001101111001100100010101011100100101010111001010100101110001101010000100001011111001001011101111110010001000000111100000011111101100110000000101111101011011101111100100000100001001100100010100100000010111000111111111101010010010010111110100110111000110101100111101100001010011100011000110000000111010110010000110001111011010000101110110110111111101110110001111110001000010100111011011010110101101011000101001101010011111101110101010010011101111111100010111100111011011011110011001111101100100000001111110001011001100100000010001101011100010111001110100001110111100000011101100011001000101110000101000011101011010101110011110101111000100101101100100010010100111011100010010000010011110101001101000111001001111010100000101101001010111001110010101001100101011100010100111101001111101011000111010101000010101111010101101110101101000110110110100000001110000001111000011110100001001010000110001110001111101100011111011010110011001010010110100011001110111010111111000011101010101101110110100110100100111000011001000101111111000011101101011111001100100000100110101101001101111100111100001011010000010011111011010000110100010010010011011001001011010100110111110110100101000000001000111000100110111101001101101111100011010011011100010101111011100101110110011111101110011111110010100011001001110100100101001010001111000000001100010000101011000110100100111111110101000110011100000010011001110100010001011110011110011010100100010100100010011001100111010011000100110000001101111111010100011001001011010100000100101011011100000110011011011100011011101000010101011100111101011010011010011011001110100101111100001100101011000000110111110001101000011001100010100101100111110010010000011110101101101111011100010011010001101110100011100001100000010011100010001010100011110101101010010101111011111011001001011111100001110000110001101111001110101001010111110100111101000100010001111111001110111101011001011101100101111010001001101010111101100111001011111010011111110010011011001101010100000000010011011110101111010110111001010110000010001111001101001100000010110110111110001110101011001001011111100001101011101000001001100110001110100100011100101111110100010101010101010110011111011010111011011000101111011100101001111011001110010111010101011100100000000100100011101000011110111001111110101111111010001000111011100010010000011001110110101001100011101111111001000011011001101101101000111110010000100000100000011011010100101001110100101010010010010001101101111100100000100101111001101111110101001110000100111000001110011011110001000000101111000011110110011101010011111100001100110011110110000010000001001101110111110010011001110100001111100000110111101100111110101001011000000100011100010110111001010010011111111111001111100110111101110001111101111000001001110111100111000001101000111110101010010101100010001011101101111100001000001101100111010001000001100100101111101000001001101000010101100101110110010100000110000001100110100110101001001101000110100101000010100001011110000010100000111010111100111010110110100010010110011010111100000001111001010010010110011100001110010000100101101000010010100101001011101010010001100100110101110000000111100101011010010110110100111101110110110110001011000101100010001011011100111110111000000100001000101010011010010011001111001101111010001001010101110101110101010010011111010101100001010110001111111000010010000010110000111001100111100101111010101100011001010010000111101110010101001110101110001011110011001101100100100110011010101110100100111100001110100100011100101001101011010101110110101010101010011011101110111010010001001101001101001110010100111001010100110100110001111001000111000000011110110000011010110010001000000010010000110100010001000101101111000001000010101110010010001101011001011100100001001111010100010000001101000111111110000111100111100010001101111010111110011000110001110011001000101011000001110100111101110001011101000010111001110100001000110100001010011001100101010100101101111000010101100101110010101000001000110010110000011001000010011011100100111000000100000110101010110100100111111101101110000010100010100010000110101010101111111011110110100111011101100010001000011001100010101101111000110011001001100001101110010010011011110100011100011001111001110111111001011011110011010000001110001000011100011110100100001110011011010010001111000001110100110011100101100000010001110000111110011000111100101011101010000001000011000101011110111011000000100011011001011110010010100000101100001111100101000000101010111101111111101110000111111001000110010100101100000000000011100101111001100010111110011010000101111010111001000011101111000101111111001000101110110001001111100000110000011010011001000100001001010100111001010101001111010011011000100010110111010010111001111101100011110000010101011000010000010101100110001110000011001010010001101000110000010100111001101010100011101001101100010101110001100111000000110000011110010100011110010011010011010100101111100011010001010111000010000100001100000010100110111010111111001001110110010001100101111001000001010000101110111010000100110000000111100001011111111010110011000100001001010111000110010001111010101011110001111101010010010000011000110110000100101011101110110101111101000101011000000000011111010110100000100111100010011101100000010000110010000011101000010011111001101000011110110100111000001011000111100001111011110010110110000111010101110001110101110000110010011000000100101011101001100101010100000100001010110011101111001111100111001100010000110000110111010010001111110011001110011000011000101000000100010000011010110010010001011000000010000110010000001111000100010101110101000000110101101001100101100110101101010111101001100101011101100111100000001111010111101111101101110000111111100001011101000001010111101110111111111011010011101001100001001110010000001111001110010111111100110111001100001000010000101010111010101100111000000001011001011000000001110110110100000111101010000000101011000110011010011111101101100110011000111011100100001010010110010011010000000101011001111010010100010010010100110010101111111011001100101001011010010100111111011001010100110111110001000011111101101011110011100000010100011000110101110110111101011110100010110111011100001010001010011100101110001101110111101100110110101001000000000111101111101011110010000101110000001011001001110010001110110010110010110110000011000000101010100110101011110101010101011111101000101111110110000010110110111101100001010011111110100001010000000101000100011110000011101110111100111010101110101000111010111011001010110010010001110111000000101000101100011011011011111001111111010010000101110010101100110100111101011101010010010011000100110000111000101101110010000110111100011011110011110100010110000010000101110000101001010010010011110111101011000111111011100101101110101011110000001110010101111111001010001010011110001010100100010100011111110011001001011010110111001000100010010110100101011010011001111001101001001010001001011000000010011000011011111101010110111000110100100111010100100000100000001001000110001001100110010011111010000001111001111011011001101001000111100011011000110100111100000101010110001001001011000010100100111011001111000011110011111001001010111000101110011100110001001000110011000001111001010110110100111110111101011101100110010011101111010001011011000100011011010000010110101011100000010100011110000000110100001100110001011010010110100001101100111010111111101100000100011101010000001001100100101010010110010110001001101000110000100111001010010011111100111011000011010000100111000100010110101110011100111011100001111001010100011010001010110001001110100000010010000100000010010001000110111010011000110001100001010011101001010111011010001010011010001000111101110110001010101101110110001010000110001110111110011011100010000110101011111001001011000010101000010111001101101000111101101000111100110010000110000110111010010001000111011110101111000111101010010101100111100010010110000101000001010001111011000110100001100110010111111011110110110101101010100100010001000000101011000101100100010100001100010101111000110011110010101101000000000110101111111010111101100110101000100110001001000001011101000001101101100101000000001101001111100001011110011100001010111111101001001101010111010000001010001111011010111011100110110110100101001110010101001100010011101001011101001000001101110010011101110010111111100111100
1000011111000110111100011110111011110011001010100111100100111100100111011111100001111111101010111010010010010000100100111000101011101010010100101101101100000111111010111101010101101011010001010111111101100001001000001111001110000110000010011110101101001001110001001011011100011010111010111001101101101111001100100010011000101101010001101000111100101101111000011010111011011000011110011010001010100100101111110110101001111010100110100110111111000101010010111000110011000110111000000010010110101010010111000011010001100100111101100111000010100011001111111011101101111010101011000101001111000010110110100000100100101001110000000011111011010110010100000101110000101100000101010001011111101011101110011011111000010011010110100011010100001010011001000000000101011010110111110100100010101010111100011011010111101100001101110100011110001111000101001101100000001000000010111100100101110011100001000111101000001110110100011010111110101010111010110011011000110001101010111111001011000000100001101111011000011101011111110110110111010110011010110110101100011110010100010110110110101111110101010010110101001110000111110010001001000110000001100100100011111001000010110011111110110001110101001001000010100011101010000011111001010000001100101110011011011100010100110000101000010000110110010111100011000100011001010010011001001111001010100011010101010000100110100101110000111000011110011100101000100100111111010000000110010110110010001011100000110101001010000111011011001111001011011010011000001010000011100101101111110001010110001001001110001100010110010110101101100001011100101111001101000111010011000111010100010100101000110000100101111110000111100011111010101010101110111110110011110101000110110010000100111001100100000000111001101100110101001111111011101100011000011010100000000011011000000010010011111111001100100100010010000010101110011100001011000001001000101101110010100111101010111100010011000001001000110100110100010010001011011000010000100011110110110010100001111100100010000001011100111011101010000100001010110101000010010100001101111000011010111111100110111110100000100101010001111111110001110110010000110000111101110011111001011111000111110101010110101010111101101011000110110111011000010011111110001010001011100011001000100010100110010000010000010100111011110111000110010001110110011111010000001111110111011111101111001000011011010010101001011000110100111000010001111101111100011000010010101101100100110101111100101001010001010111011101101011000010111011010001000010010000101001010110000110001011100000011011010100110011101111100001000000101101100101101011001111100000110001010110111100111101001100000100110010110010001111010000111001100101011100101000100100001111001100001001100100000011000010110010000011111110000100010000011111010111100010001000011000011010111100110111111100011010111000100000101100011111000111110000101100100001000011010001011010011010000011010101110110100101111110101101110001101100001100111011010001000100100101110111001100110111001101101011001110101100110011010110110011110110000001101101001011011111000101000000001001001001111101100001001011100001101011000010110111101001100111000111111011011010011100000101101101010100000101000111110101000100101010111011000010101011001001000000111111000100100110010111001100000111001110000111111010101100111011111010010101001001100110010100111111111100110000100111001010010100100110101000110001001110100110010100100000110110110010010110000001111000111011110110110111100001111100011011000111111111011101010011000101111111111110101100110001011100110110110111011001011111001110010100010000000011000001100101100011101100001110101001100000101110111001100110110100000101111010111010101100001010101010001101101110100110110011001000101000101111011101011010001101000100111000110100111110010110000011111101001011000110101101110111111100010010101000000000011010000110010010000101111011101000101000111001110000110110100101100101111001000000101110001100110111000110010101100100110110100000111110001010000011011101100011000010000100011101100000000000111011100000110010100111011111100111010100011001001101000011001001110011010110110111111100010100101110101010100101110110011001101110111001101110110011100001100111110011111011010000011010010111110101001000111001001001011100011101101001100010000111000100110010011101110101000001111101110001001001101000010001101001001011000101001111010010101110110000011010001000111101110111111010100010000100000101011101010111011011011010011100100110011111000011010111111011110000101111101010100011001011110111010100111000101001001111110110010100111001000100010100000000001101100010100111110000111111000101000001111011000000101001101110010001100000011111101101101010101111000010011101101000110100111111111001100100101110000100010000011100100011001100000101110100010100010110011001101110000101000111111100011010001101100100111110100001001110100100111111111110001110111101111001001100110000010110100100001011011011000100001110011010101101000101111011011111101001111001000010101100111011011011001111100010011011010100110001010111111111101100000111111101111001001100110001110011001000001000101001110110011010000000001111100000100110110110111000110110010101110011110011101010000001110000110111000101011000001111001011110011010011110001111111110101001100111100000001111011101101101111100010100111010101011011111110111000000101101001101000110111101001001110011100011011100110000000111111111011010011001011110010011001101111000011001100011111000010101001000111101001110101101010101010110000001000001101110001011100001101010111110100100101011110111101010100100101100110101101101010111000000100101010000001111111001110111000111000001101011111000010001010100010010010100000000001010010111101000011010011101001001001101111001011001010010000010011000001011101100001001110110010111111011010011010100101111010010011010001111011001100111011111011010100000100101011010110111011010110000001110111000110101110001001001000000100101011010100000100001101110110000110010000101100100111011001111011010001111010100000101011011110000111101000101011001101101101011101111111001001111110111011010011101100111110011011110101001000000111100101011100110100111110111110111001000111111010000001000010010010001000001100010010100000001101000110110100001100000111101000000000101010000111101111101001001100111101110101010101000010011111101110011011100011101100100110101110001010011010001110110110000100000011011011000010001010011000010100111101001101100110000010001101101010111110001001001100011111000011111010101001101100101011111100101110001100001100011110110100010100000001110011011000111110101101010111111011100110010111100000110011000110101010001110010110010010101111100000111111110100100001101111101110001111100010100101001111111101110000011011100010011100011011010100001011110001100000110000111110101001101000111010010000101001000010000010101101100100010100100001010010110001100000011000001111000000101100101100100010001000011101001110101101000100011100101001111110110110111110111101111111001000111011011000011111000001010110100111101010000110011001010001011110101111100010100100001001011001100110111111110011111100110110000110101110011000110111110010010101101011101001111101011101111100111111011100111000100000111111100110110100100101100001000110111010100110111010110110110101010010001011011010110100101101111100011111000000101100110101000011001000101100101101111010001100000110100000110110111101011100101001011011110011001101001010001011011100100000110011111010011111010001010000011011100010010010001011110101010011010010011010001011110000101000011110010101000110111000101010011100011101000101101101000100101100111011101110110001010101000001000001111000011100001001110000101011110010101110010001000100100010110011111000101111000000110011100010011101101110000100000010101011001000010000110010010010101111111011000100110010010011011100011000000000110101100001100001111111111111100110101010111011011111010101000111101100110110101100000001010111001011010100111011100110101010100101101001111010011001101001101001011011011000110001111010101000011011000101101010101001111101110001111111001000010110000111111000101110011101100010110111011010001100011000111110110011001101001010010111001001100101101111111111101011111100111110000110000110001110000011110000010111100010011100000110111010010111100101100101100011111100101000110011010111110100001101110110001101001010111000011101001001001110010010011111000001010011011110110110000011101010100001111110110000111010110101010010010100010101111011011011111010100111100000101000000110111111111100111111011111111100001001001000001010101000110101111001001010011000010001110010010100010001010101001011000111011101101000010001010010011110000101101100110001011011010110011011010010100011100110000101111001110101111100011110100001110110110111110110001011010001111110010001101010000101011010111001110011110000010110100011100110011110100111000001010111111110010011000111001100110110110101001001101111101000000110000100000000011011011101000111011010011100011000001100000100111111100111001111000011100000100000011101110101101010010111110011001100011111000100101111100100001010100001010010111111101100111011000111001110001110001110101000110111011110011101101010010010000000001010111010010000100111101110110010111001000001000100001111101000011111100011100000011110111100111111100001011101000010110010000010011001111001001000001111010001100011100001011100101001101000000000011011100011000101011111010000111010100000111100010110111000110110010111001111101010010110001000101001110001000101111111011110010110101111000110111100001011110111100011000100110000100001111110101101101010000000000011010101110010011000100101000001100001010111001110010111100110010001000111101110011000010100100101100101010101001111110101001000001011011001100000110000010100101010110111010111111111010100110110000111101101000010010000101101111100000110110111101011100111100101011001100000100010000110000001111110100100101111010000100010010110000110101111010010101111010010010011111111110100100101100010111110110110000100001101010001010011110011010010100011011011100000001101010100100010100110100011001111010010001110111101110101111100000011001011010100110110010110000011001011000101110101001110010110111101111110011000001100110011110101001100110001001100100100011101000000110001011010101000101001001000010001011111101001001010110111101011000011010101101001101101111011001100011110011011011100101111111100100101000000111010011011111111000111100101110010000010011011111110101100010100111011001110010111010001110100001111001110110010100011111010011001001011100001000000110000001010011101011111001101010001111100001110000111101101011000011101010011100001000001111101001110000111100110110000101100011100000001000001011000010011100001111010100011011110111111001111111101000001100011101011111111110100010000101010100101011001001001011000101000110110011011101101001101101001111110010100011111110100111011000011000111101111110001101101110111001101110010001000010101010100100111101110001001100000011001000100010000100111011111000000011111011111111100110101110000100001100101001110111001011111000011111001000111100110110111100011000110000000110001111101001001001001011111000111110101001011010010000010000000111111101011111001111001111110100101101110111000101000011101010010011110010100100000100110110010010010110000010011000101001011010000011111101001101111111000001001101111010110110100111011111101100101010110101101000001001000100001101110101010010011001111101000001000011001001111110000100011111010111000100011101100100010000010010110011011110101000111100100011011000101001101001101010111011001101010011000110010110000101001110000100001110100011100001110001010110010100101101001100000000111111101100101111001101101110110000001010000111100100011111101110001111110000110001011101011011000100110000110001000110000110000000000000100001011001001001010100011001111010011000100101000100011000111000001100110110111101110011110011101111101000001011000001010100010101010110000101101110100110010111000101011001010110000100010110111110010110100000010000101000011010011010001010000010001100011111110111111001101001100101001000100100000111000011001101111100100111001001101101101010111011111001100000110011011100010111111000001000101010011110000000101011001010011000110000010011010110011010010101101010100000011100111001100110100000010010101111000101111110001111100010101001101011111101101111100001101011101100011111000000101010101111011001001111000101101111001000000011001011011101001000001100111011100001010100010111111000000111101001111011010000000001011010011100010010111111001101101000010100011100100100011011000100010101011100000101100001001111000100001010010001011100010011001111011001010001111000111001101111010000011011010011011111110000101000111001001001110100011010110011111000001101110000110110000011101001001001010111101101000110110011110010110110100100010100101011101011110100000101111001010111011001111010110010110000000000011011100110101111111101101011100001110001000001111101001101101101001111101101111000001101000011111110111011001100010100001110000111000110011011000110000110001011110101110100000100101110111110101001100000101001010111111111101001111001011110100111101100011010010011101000000010101001111011111100010011011101101010100111011001010010000111101001001011110100111001000100101010010010010101011001110110010110110011101100111101001001011011001010101100110101110101110111101000011111101011011010000101010011010101011000001101011110111000101011011101110101110011110000100001101100110010110011001001011000101001101101111100000000100111001100111110001110011111001101011000011010101010010101000100110001101100110011001101011011101000010010110010001100101010101100001001001110001011000100011000000101111011110000010111000001111100010001100100011110111010111001111010000101010110101100010000101100111000100110111100000001001000111001110001110100010011010000110111100010010011000111010011111001100000100100011011010010011100111101110010011010011011111001100100110001011001101100001100110111001101001101000101100110110110110001001100010010011101011100001101001100100000001001100101010101011100000101010011001101001111101111001101111100000100101001000011101011001100100111011010101100110110101001111110010111101001011011000011101100001111100110010000011011011001010011011101100101001100111100000101101000010111011000011101000000110010101001010010111111011110011011011001110001110101111000010011100001111100000110110110001001100001010110011000111001000100001100110001000011110100111100011100100011011001111000000100111110011100011100100101101101111100111110010110000111011110011110100111010100011100000110011010011101011000011100110111111111010110000011110111100101001011011100001010110000000000111001110010010111010100110110011010000000110011010000111001110000001001001110101000011011000011110010101010111001011100011101011101000100010110001010000110000011111100110010010011000111111011010011000010111101011001010001000010101000010011010001111111010111111100100000100011101001100001110011010010100110010000110011010010111000100100010000101101111011100110110111100011011100100110000000010101010000011001111011010101010000101110101101110101010111100110110101001011000010100101101110011010100101110010000010111101010001110010001110111110011111100100100011101001001101110111000011101001001011110101111111101010000001000000001111011111101100110000011110010010101100110010101100100101111011101010010100001010001010001111011011110001101100000111011001111011001100001000100011100011111011000110010000010101010110011001011110001100100100100111000101111101011001010100010110011011011011111001000001101011001110001110001111110100110000100100010111001011111011110000011111100011101010111011101111101011111100110111011111101110100111001010111110000001111100010011110001101001000001111110110101100001001000001101111100111100101101000011010001100101101001111000100000010110011010101101100010111100000100001001110100110010110000011001101010001000111111100100011010010100101111101110100000011000001111111101010011001010101001101010011100101111010010101011000011011101010100001111000111100010101101100011000000110100011110100011100001101011110101101110011101100000110011011011111010011100110011001010100101111111000000000001110001010110011111010100111000001111110010010101111110100000011001111110010010110100001000000111010010010110010111100110101001100000001101101111001010111101010001101111000001111100000110101101101101001000010001010101100011001010111010001100011010111010100111100111111011000110000110101010001001011110100001001110001100000110011001011010101111010001110101100011111001110000010010010001101101011111101000010100000000101000000111111110110010011001101010101001000111100110100011010001011000111010100101010001101110011110010011000011011000000001100101101001001011011000100100000001100100010010101011011010010111001100010011100111111000010001000010111100011011100101111111110001111110011110101110011000100000010110010011101001100000100010000101001011100010110111111110011111100010011001011111001010000010101111010111011101001111100000001101011110001100000100011110100011000000010110101100010010110000110000100111001100110101010010111101100111101110001010101100000001100111100000111000010011100001101101011111100001101101011000101101000111100010000110011000111000100011011001011000110011100101000100001110001100001110110001001111100001111101110011101111110001001111011111111100000110000101011011111111100100100101010011010011000011100101100101000001111110001011011011100100100000011001100111111010011010010111111101110101001011110001101110110100100100101101001111000010111001011100100111000101000001011001111010011110101110011110000101111000100010000100010000001101011011100000000100101001001001011100110001110100111100111100010011101110100110010110100010100011111011010001111001100101010101010100111011100111101000100010010001110100000100011101001100100100011111110000100111000000110011100011000101000001100001000111100010011101111010000010101100110100010011110011101011100110100101110100110111100110010110000011101110000110111100101001001011010111001001111000101111000010101010100010010101001001111011001001100011011000110011000000111001110111010011011011000001011000111101101111100101101001100001100000111000110000010010111101111111000100011100001001111001001010101000100011100100011000101010100001101100111001001101010100011011010100010110000111001101100100100100001100000100010000110001011100100011000001000100100011110000110111110101011011000001001111110001101001101001011011101010101101111101101111010111111100101100001010111110110111101000110111010100000111110001001001100001111011101111010011011010101010000110011000111101000001111110101101000001011110111011010101010100100111001110000001001011001000010001000111010001110011110110010001110010111011100111100110101111000100100001101010000100111011111110101011110000100000001111100101111100111100100010010111001110011110001100101101001011100000100100101101000101110000000000111100000010110000011101110000100001111000100100001100100011110011110011000110011011111101110001011000110010110111101001001101100001011010001100110000111110100101100100101111000010001010010001111001000010001011011110111111001001100001001110010100110011111011100011001001100100011111010110001111011000000101000011001010111011101100111010001010000011010110111001011110111101100000111101001001000000010010001101110110110101000010111100000000010101100111111110100001010001110011100011110011110111101100101110010010011001000110001101100011111111111101101110100111100100001011111110100010000110001100110100110000111111001010000010100011110001000101000011100001100101000010001111000101010000100101110011011101010000001101000101010010101011000000001000100101101101101111001000010101110010011010000001100001110010100001111001000110010010000001010001010010001100000100010010000011001110011111111001010010001000011010000111111001100001100011010111110111000101000010001000100011001011010011000011100010010101111111010100111100011011010101011100111100001010011010000110100110001001111010110001100001010001010011011000011011000001110011001011010110000111110101001001100100111110100100101111110011110110010100010111100100101100101110010111111010110010100100110111010001101000100101101110111100011001101110000110111111110100100100001000110001001100101010100000010001010101001000010000100011010111001010001010101111000111101100011100000111111110010110110010010001110010101011001011000100011101010001101001110001010001111010001001100101001110011110100001011010100100111101111110111000110001001100000010001001011111100111111110011110111010101001110001101000011000100000110011001100011001100100001000011000111000111001110010100110101100111110111100101011011101101001100011111000111110101010000010010111110001110001110100110011101000111100101010010101011010111010000010100001000111001000100101011000001110110111101011110110010111010010000000110111111111101010110111011100110010101010001101101011000110011100000101111000101010101100111010101100000010011001011110000010000100111100000010000000000001010101001100110100010011101100000000100000100010011010000010010011100000000101001101000110111101101010101001101101000111001101000001000101101000000011001010100000100101110011111001010111011010110000100011101000110101011101001001101100000100100001100010000101001110011101100000111001011011100110001010101101111001111000111001110100100110101110000101111000011000010110001111000101100101000010101001100100010011101010111111110101110110000110111100010100000101100010010011101100010110010111110111100001100001001100101111011001111101100000111011110110101100101110010010000110001000101011001101010011110001010001110110010001101001001000000011011010011000001000010110011100100101110010000100000110001000010010010100000111001001001010011101100110110101011011101110101100010101110101010010110110011010011011100111011101110011000011101010110101110111100011100001011111100000001011010100100111111110100100101101001001010110011011000010011100101100000001001000100111101100101111100100100011101110010001001011010001100001001001101011000101001000000011000000010000001000111010000000011011000101110011001100000001110111001111111010011101111110101010011111001111001100000101111111010101100100011111101111001100101000010100110101011101011001011110001000101010101101100000100010011011111010100110000001101110000111011001110010010110110100010001101001010111101110011100010101010111001100011111110100001111111111110001011101000100100010011000101101100010111011010010001110101110101100101101010000111000010000001010011101011011001000010011101010111000001011000011011100010100111011010111000001001111000000111011100111100101011001011111010110010100010011110100110000011010111111100001110101110101111100101010110011011111100010011001100111100001101100101110010011001011011001010111001000010001001111110101010001111001011011101110000011110111000100110011001011100111010001101010111110100100010100110111101001110000010000111010101111111111010000110001101000010010111001100100110010111000111001100010010101000001101010011111011101100110100100001001111010101111100101011000001100011100110101100000011100000110011000001011101110110111001100101000010001100111111111101111110111010111110000111100001001100000101011100001000000101101110001110110010101111111100000110101101111000100111101111100111101000111110111000110110100000011011001111110011100000101000100010000101111000000110001010000001101111110001101011110101100011001111001111010010100011110110110111111011101001111010101011111101001000010100100001001100110100110011000111000110001111110010101000101101100000100011000110110101000111111010001000010111001100110001110011111011110010110010000111110101010001011000101011110011111110110000011000000010101100111000110011010100111101001010011000100110110011010001001100110101110000100100100001000000010001110000100010000001010100100110010000011101010000100101001010010110101000010110011011110111001010001101110101111101111111100101000000000001011001010010111001010101101011100101010110110110111011111111100111001111110111000101111101001011011101100110100111000111111001011101000111000100000111101101010000011001110111011110110000011001011001101001110001000100110000111100111000011001011111110001010011111111000111001110111000000100000000100100110011101001001000100000100111101101100010011011011001100101100110000110111111000100110101001111010000010111101110000000111001101110110011101110100011010010011111010111010111001011000000011000100111100101011111110110111110100011011100000011111100000010011010100011100000101011011111100010111111100010110110101110011100111011110001011111010001000101011011101011000100110001010011011101111010001111010111110001000111111000111111101010011101110110101110001001001111001010110110101111000001000100101010101001011010000011000000101100010011011101110000110001110101000101010100010001101011100100010100101110001001011110011110110000101000111111101111111101111110100000010000101111001100111010101000110101011100110110000101010010101011011010111101001101010001101001010011001101010010000100010110011101000111011011010100011010010010111010100101101110101110110110110111001010000011000100011001110101111101011010101000000011101111010000111111101100010011111010111001101100000100111000000001011010110010101111110010101010101001001010000111010101101100110010010111111100100101110011000111000000011001111101110001110100101101011010110101111111100001111111001000100010011000011100001011010101100101101110010010101100110000101110100111101011011001001000100111010011101010001001000010100011110001010001110110011100000101000111000000110001111001101001100101011010111101110100011110101100100111100001111111011011111000111010000100111001101100100111001101100111101111100001101100000010110001111101100111011011001111110000100111011110010101111001110011001111011111000101010011100100011111100011100100001011111111100011001001011101001110111111100101001110000011010011111000011000110111111100110000110010100010001110100101001011111010111000001001111111100000100100000100011001100011101111001101101111000011000001001011100010110111100000110110010011100011011100110100101011110111101000001000100010101101100110101000011010100101111010010011011001010010100100000101110010100011010010011101100111111111000111101111100110100110011111011101101101001001001100011110010000101000110111101101001010000110000011001001010000000100101101111110000000100011000101010010101100100111011101110000001111100000111101111101000000110000001100000101101011000011110010111001100110101000100111110001110001011100010000010010110011110000011000100111010101010011010100110100000001100000010110010010001100000100110100010100111111000101001000010001010001110110010010110000101101101100110011111111110100000110101101111100000101011010111001100011101001111011110011100111100101010100110101010001100101011100101011000000100011001011101101110001111011111111101011010101100011101101011011000010001100100101011110011010100011001001111100001000000000000101100100111110110000111001100111110100111100011000101100011100000011101000001101000101000110101011101101010001010011101101001110101111010111101100110100101111100111001100010100011011111000110110100010000010111011100010001000000001011101010010011101000000110010000001001101000101010110111100010001111111100000101000100101011010100000100101011111111000111001001101011000100111001100001010111110000111100011101010001111111001011101111010101100001110001100110011011010100101001101111010000111001011110011000101100101011101110010110100100101010011110011111110101000001000111110001010011011100000000100100110110011101111001000001010000110110010011000000001010110101001111000010111011001100100011001100001111010011110001111110010101110110001100000010110100010111011000101110000101000101011000101111111010011011100101111000010000010001011010110000010101010000011000110010110111001011010000111011010110110001101111110100101000011111000001000011011000101111111001100001101110011000001110101111010010101010100110010011111101001100000100110100011000100100100011011111110110000100101101110011001011011100000011110110001010110000010110111000100011100011011000011101101111000111011100111101111111000010110011001110111000001111011110111101000101000001001001000101000101101110101101101110101001010000001101101011111101000110011110010010100100110110001110100110011000010011011111000001001101010001001000111001111111011011100101010001000100000111111001010011111001100111111101001101011110011001101100110011000010111101101110000101101111110000011000111001100010100000010011011100000111011001110101000000011111011101010000101111110000001101110111110110011001001000101101011101101111100110011000110011100001101000111000101110110001001011011010001111010100011110000100010011100000011111010010100100011010111101100111001100011011000011100100010101001110101000100111101011011101100011111100100110110110001111000001001101101011100100000010110001111001100011101001000100010010010100100010010101001110010100101100010011001101110000100001101110100011111101010001010101000110110100010100101010001000100011011101101000001010100111100110101101110100010100111011110110001001100101110001001111101111101001100100010101010110110001011011111110100111110101010000000011100100001011000101101000100000100100011101000100001101101111000111010010001101110100011010111010110101001101101011000011000010001111011010011011101110000101011100010100101001011101001000100000010110101100001000001010000101010110010111000010001100111010110111101111000001111010101001011101010100101001111010100010111111001100100001101100110111110100001111011001111010010101001001000011011000111010001101001001111000111110101010001000111000001101100100111000000101100101001010001110001001100111010100111000110000000111110111010110010001101001000101011001100001001010001000101000110010111111010100110101111110100111000000001001011101110110100111011000010101010000111010110001011000010000010010101101000110110011011000001001111110100000000101101001101101110101001111010110100100111000001010000010101101101101001110110011100100100010101110111011101111001111110110011010101000111110110011111111101011001101110011000100100011100010110100111100110111111010111110000110110001100001111001011101111110110011000001000011000000001010010001100100000100010010010101110101010010111101101111010000110001010000001100101111010101101000011010000011001000100000100101111001111110111111001010110110000001101011011101011110000111101101111000110100000110101010001011010010001110000001001101110101000100101100010101100010100101111111000110011100101000100111011101000101001110101100111001111110111111000011001100001010001101101101111110101110010010101000011101011011101100010000011111101011111101000001011100110100011010110000011100100001100111001000000101101011011101101001111111111011001010110010011111000111010010000110110000100100111111000010000101001100011001000000011010110110110110111011010101100011101110010111011110100101011100010101001111000010111100111100100100110110101110111110010011111101010101111001010110010010001111110111001001011111110111000001001101010010001011000000101000101101011100000100101011111110100100100111001000011001010010110100001000011010010100111110101000010011110001010000000110110001011000110010010001010110001001100010001101110101111010011101110010111011101110101101000010110101001000000110001100111110111010101100100110111000111011011010100100010110001001001000110110111101111111011011011011101001000110011101110110001000011010110101000010010010100100000000011000001011111001110001011001010000000111001110110000110011011000110001000010011100100010111110110010110101011010010000101000101010101010011110110111111001111000010011001001110100101110010010011101011100010110101011010111111101000011001110100000110101010011011110111110100001011010010010000110011010110000101111000101110101010010010101001110011100100110110101010110000011111101011010100010100101101011100100011101011000000111000001011011010101010010001101011011110101011000101001011100110101101110011010000010100010101011110100010010000001010110000100111101010100100000001110111111011110000011111110111001111110110111010010110000100000000110010110000001111001001110011111100011000110011011010011001010100111100010101101101111011000000101101010100101010110101111001000011011001110100110000000000111101111011101001100100101111001000101001010100000110011111111110011101100110000011000100111011101111011101001101001101101110100001000110000011000000000101100111001001110001000100011111011101100100000000101110100101101111110111110111011010101010101100111101010011010001100100011101110000110101001011001110111000011001111100101110100111000110110000100101001010000100101010110101011011010111001111000101001001111011110110111000111000011110110111000010110011001010011011011010110001100000011001100011110010010011110110101110111110011001111011110000110010100011100011011001100101101100011011101011100101001000111001000011000110111000001010000100010010101011110000101001100000100010011000011100001101000000001001011001111110010010011000110011001100100000110000010100100011110011000100101101011011000010000111010000101100110101001011010100110001101111001110101101101101100001101111110010111011010111000110110100001000110000101011100100111011001111110010100100101100000110111110010110000110011110101000110010001001010010001101100000110100010111100110100100000000001110000111001010010100001110011000010001100111011010101111110101000111001101111101011001001001111100000001011111000110111010101011011111000010101010101001011001100111110110100100001011010111100010000111101110101011101000111000000000001011011000010111101110111010001000010111000001011100011011000111001000101001000100111100000000001111101001011010101000110011110110000101101100110100111101111101101101000101010111110110100110101111100001101111010110000001001001000000011100011000011011011001100101000010010111111111011111110101111101101010101110110100111111100000111111100000111011001110111001001001011000101010110011100100111110110010110101111110111000110110111110111000001011011011101101100101110011101101001000111110111100101101011100011111011000001100111111110010110000101111011110111011010110101001011010011010000010100110101101110100010011100001100011010000101111101101101110100010011001000010100011010111001101100110100010101100101011000011010010010010110000100010000011000110110110000011011001111111101101110100000010000001111000111100001111001100111110111101001011111001001011100111011001111001011000110011111101101010010111011010110111001010110001001101110010111001111000001111001101000110100001101110110011110011110110010101111110110100111011000110101100010100000011111100011100000110100010101100111000000101110110101101101101100100101111111001010001011001001000101100110101110100000100101110111100010111100101010111000001001000111010100010000110011001101000010000011011010110100000111111100011100010100100111110100110101111011100110000001000011011001100000101111100110000101011011100011010110001101000100010101111100011000001100000000100111110010010011001111001101111010100001000010111100001011011001100011001010100000101111001001011011001001101111110111000000111101001110100010101100101110011010001001101100110011000001011011001100111101001010000111010100101111010010001000001110001010011000001000011010100000010111101010000011110111100111001010010110110110001100010111010111001001110101001001000100110001111011100011001011101110111100011101000001010111001011101000001010111100011100000111011001101111111111101000010010111110000010001001001001001111111000011010001010111101110111110110100101101000001101000001011011110000110001111101101010010011110000110100011101011100010110010100011101001110001101011101100100010011010010110011100101011100100001000010100011010100111101000010001101111101110000110111001100101110010001100111111001101111010010101000101001000100001000011011010110101011100111110011000100100010100101110001101100010111101010010001100110101000000011110001110111011110111110101101010100000111011110101010010111011101011110100100111110001110010111111011000011100100101000110011010011001110000101011000011010000000011000110000000111111101011111101111011111110101010001101110011011000010000000110011010000001001010100001100001011110000000100010011100110000100011110010001110100001000110000100111011110011011111000110000100111111001110100101100101011010000101101100011011110110010101101111010100100010000000110001011010010101001101101101010110010111111101110011001100101010110100010001101011000001111111110011011110011011000010100000001100100001111111101001011001001110010010111010001010101101010011111101111011111000001011101111100010111111000100001011101011100011110001111111110010110100010010110100111111000011010000000001111110001001110101111110001001100001101101110111101100011100111101110011001111000100111101101000100010111001100011100001000010100011101001111110100010010001001001001011010000110010111111000001101000000001011011001111101111000110101101110010111111000101101110000001011111101111001000011111011000111101011100100010010001111110110100000111011010101100101011000100000001010011101010010011001000111100101001101110010101101000110100000100010100001100110000001110110000101110011001010010011001010100001001100010011010100010010010000001101100111100110110100100111111010010111111110111001001100110010000011100010011000111101101001011000001110011010011000001011000010000010010110110101110001110100110111111011010101111100110100011100100000011100110011110110000100110001111101011010111000110011000001010011110000011010000111101111110010101001001110100001011010101100111010111111111000110111010111001000001011111001001011001011010001001011010001011011000100001111001110001001110101110100011010111101110000111100110001101001111000100111111100001110011011000000101001101001000101000111001000000111000000000100111010101100011101111111010000110010111110000100011011011110000011000001000000001101111001010100101111011111010110101001111100001100010110010011011010011001101101101011000110010000010101001110011100010001000011101000111111101110111100010100110100111010010101010001000000110000011100001010010100000011101111011101111010000010100100001100000110111100110010111110101100000101000010111011101111101011101000111110010110000001111000001010111100100111011111000000001110101101100010001011110111010100110001001111011110011100010100110100101111010111000010101110100100000011110001100100101010000011111100101000110010100101010010101011100110000001010010100100111100111101101010101100111000111000101001001000000101101110000010100010101000111010011010010010010001011011101001000100011100000100000011110100011101110110010100000101110100101001001010111000010100001110101001001001111001110100011010110011110001110101110010111100111011111110000100110110110101101011100010110101011101111010100101001001001111110101010011111101001000111011001111101110101110110110111111100100011011001011101110101111011101010011001100001101000011010010101010101100111111001011100110110001101110100010111001111000000011110000001000101001001000001100010111111110101101011101110111101001001100000001101000100011000111001111101100000001100001110100101010010000001100111101101001000000111010010101000011110101001100010101110101101100101010110111101011011010011011000110101010010010011000000101100111001011111111101010101010101000101011010000001100001001110001100000110100110110010110011101110010101100001011101110010111100100101011001001100000010010000001101110101001100111001011110111010000110111110000110000110111110000100010100000001001100001111101111010100001101111011110111011000101010110010001010000001001011010001111001101101001000011101010001100100011001000001110010001101001000101101000010111100000000010101110001000111010111101010101101011111101011100000111100110100010011111001101001001001001101110001001100000101001101100100100001000101001100001111010111110001001001100111001111110001010100011010000111010111101100001001011000001101110010001100100111010001110101110001101111111011101110110001001011100110001010000001110011000101101100100101011000101100111110001000111100111011110101000011010000001000101111111101011101011010100101000101000111000011010010110011000001101011100001000101101100110101011000001111110100111010010000101111110111111010010101101101110011001000100101100000000011111111000110001011001000000110110101111001111100101110010001100101100111101110001001100101110000111110000111110000011100110111011110011011000011111110001000100000000101001011010010011101000010101100101000100110100010101100101100000100010010000101100000110110010110111101101000110011110110111101001110011111101110010110111100000010110100011110000111110001010000000101010010110001011101101010010111011110110111110101011111110110000111111001000000110110100100101010101110010110100110011110100010001011000110110011010010110010111111010111000101111110101100000001110111000000000011000111011000100110111101001111001101111111010010000011011100001111011000110100110100110101100101110000010011001000110001010011001010010000011010100010110100011001011010000110110010101101111111010010111010011111011010000000010001101110000100010000011010001110001001000110001111010001001100001001000010010111100001010011001000100011011110110111011001101100101101010000011111111010100111101110111110111110101010110100100011110100010110101100101100011110001010011100110010011101100011111101001010100101101010000111111111000011010000111011100111001000100111000000111101000000010110101000101101001011101010111000011111011010110001001100100001001001110011100011101010001111100011001011101000010100001000001101111001100011101010110011000111001000101011110110011001011010101000100011100001001010100110110101011111110100011000010010010001000010001000101010001001100110100000111000000101001100100000111010101110100010010011101101110001000101011101011001110111110001010001101001010010110010110101100001010101101110111111110011100000000100011001100100110010000000001111011100010010110100110010000110111101001001011111100101001101111010010010011101111010111010011011010010111010100110000011111101000101001011111011100100111010101100010011001010010000100101100101111001010101100101010011001001101001000000010010000010101110011001100010111111000100111011101110010111101110001011100011110100100110010010000001011001010001101000001111101000010101001001111100110111001111111011100111011101101010011100101110001011111000011100100111111110011000110010010010001101000000000110001011100100100011111000010111100010000010101111110001000010110011100001011010001110000110101100101111001000011101011011000011010010101100011100010111111101011101001010011110010101111001010011101101001000101010110111101100010010011010111001010100011110010001010001010011101110111011101110000111011010011011011100111101010001110010000101011110011111011011011111010011010000111110010001110011001110001111011101100001000001111010010110111010111111001111100110111100001111000110100100001101010010110001000001100001010001111011111101001110101101001000000000100001010011100100111001011001111010000111001001011000010101001011010011111011001001001010110010000000000110011011110000100011101111111100111001000011100110001001000110110111111111001001010100001011001111010101100011101001111000001111011010111100111000100011001001111111010110001010010000010011000100001001101001010010000000111000110001001110001010000101100110111110001100101001100000010000110101010110111110111011101101011000000001010011010001100000001010110001110111010011111101000011001000100101111011010000000100011101000010110010011011011011001111001000111100110100001101011100001111110101111110100101101111010100011110011001111111100110101010000110001100010101100001011111000110000000000000000011100110001001001011000100000110010101011101010100100001010101101110001011100100101110000001011111100111011111110101011001111001001010000101010010111110111111001111110101110110110101111010011011011100100111010011101101110101010101011011101101001110100000100001101111000011010111101011001110110011010000101101100101110100001110001110101010101001010010110111011001010100101010011010110111111101001111000010111101110101111000011000000111000111001110001110001101011000101110111000000101000110101111101110100011000001101110000000011001100011001010111011100111001000111100101011011010000010101111010011110110000010001101111000110111111101101100000101000010010101001101111010111100101011110100111101000000011001110010000100100001000010110000000101110011110010011100010000010111100010000110101111111010010011110111100110110000010101110101111010010010101000110100110110110011011111101111000101010101111001001010000000010100000101000100111001010111101011000101000111001011011111100001100010100100101101100110111011010000101010101100100110001111000011000100011011001010001011000101011001100111010000001001001011100001110011010001011010001010011110010100011101110011011011100010101100100000111000101001101101010100011100011110100100100110100011001011010010000101100101001101001000111111000110101111111100110000100001010001101000000111001100001001100011110111101011101110011100111010110000010011110000001001100011011010001111011101101100101001110010110110001011000100001111111111111011000101111000100000010011011111011010000100010001001101111110010101000011111011010100100101011000101101011000111111000110111000111110100111001110011110010011011000000000110111000101111110101010011100010110010111110101101000111100010011101100001111110101001111101010101100101110110010101110001111011111000110011011000011010000101000100000110110100010110111010011011010011011110100110001001101001111010011110101100010001100101000111010001100110100010010011111100110110000010000000100001010011100111101111110100110100001101111111001111110101111000100101001010001101111111010000000110110010110001010001001101001110101111111010100111010100100101000100111010011011110010001111101011000110010010010110110111011110110110100001000100101100001001000111000101110010110011111101100100110010110011101010001010000110100001111010011010111000001110001010111111010010010100000110110101100011111000111001000001110011101101000100111100001010000010100111100111001101000000011111001110100011111001010100100111111111010001001011111011001110110101110101010101100010010010001010110110000011011110100011110101010011001010111100010011010100101001010111000111101100000011001110010101011100110011010110111110101001010011001110001111100001110111100100010011100111001101110111100111111101100011111101101111011100100010001010001001010111001110001010100101010111000101000011011000010100010010100000101111100011000001010011111110110111101000001010001010001010110011101101110101100101000110110001100100111100010011010010010000110000111100010110011111100000110001101100100110011110011100001001001010111101110100010111110111001011011000111100010001000000011001001000100000010000010101000000001110101101101010000110111011111110010011100100100101011010011101101100111010011110101000000000110011111100001001100010010100001010100011011100001100100111100011110011011101100000101011011111011111101001100010010110101011011111100001001010010000000111011101011110110011110100101010101100110000000010101011101000101001101001001101100011101001001001110110010101011001010010011000111000101110011011000000010111001101010100111000100001001001100111001001000011010110001000010111000111101111111000000100000110100001111111010010010110101000111010110010110100000110011101000110110100110001111011111110110101111000000101010001000100000100010001110011010110110110110000110100000011000010111110001010100000111111110001100100000100000100101110110000000111110010000100000111010101111101011011111011010000001111010011001100001001110110010001100111011100111010100101011000000001101000100001110010001010111001001110001011101101110100011011000001110001100111111000010101111011110010100110100010001100011101010010000010001011110101111000110011001110111011111010011001010000100011010011000000101101001110101101100011010011000000100110101010111100000011100100000110111000100010011001110010000101000011011111101101011011111101000001011000011010100010100110010111101100010100001111100011111100110110010111011110100111001010110000100010100001001000000011111110000111000101011011110110100010000110000010001101010000010101011001111100001110100111011001011111000000111111011111111011101111101101110011110000000111011000010000011110000010101011110000100001101000100111110100100110111110000010000101011110000111100111111000001011000010100110011111001100100101011000101010011001010111000110000101010000100010111001100000100000100110011011110010001111001001111011011011100110100100111011000101100001111001010001111010011001101000110111001010010011011100110010110101101111000100110000000001001001010110000000010111111111101011010000110000111011011001101010001111101111000010000101010010101101101011111100010100010101110000111100000100001010000011000011101000110111010011001110111100101000110010110010000011000101000111101111100000001011111110011000000011010000111010010000011111100001000110111010000011110001010010010011000110101111111001001000000110110001010010101100100000000011110110000000101110110111000110001001100000011011001100100111100011010100111000110001010000011101010011010000000100101110111001000011100000000011101110011001110011111100111000100001100010101001001100110110100000111100010001011000111000111110101011100000011001111010101000000101011010001100001111100110100110110010110100010001000100111000000001001100001011111011001110111001011100000101001000010100000010100110010111011000011011010011011110001101110000010111001011011011110010110001001000110010111010010001001000101010001010000011101101011010100011111000110001111110001011010100110001110000000101001100011000000110011001110100111010110110100011001111111111111100101111110100011100000011110000011111110100101010111110011001001000101011000101010000101011000010101111101011011001111011011010010001110011110110000011000111010101100010011001111100000001110101010000100001011001101000100100100010010001100001000111000100010011001010011100101111110010000010011101000000000100011010000111011101011011110010010011011110010110000101011000101101111100100100001001001011101110111000100011000111011011011111101001100111001110000001110100100000011000010001100011001111100011011111000011100100111110111110111101110000000011111110111001111011001000010011001110111000101011110010001001011101110000001100101000111000011101001101000011110001110111000011110110011110011010000000101000101000011010010101110110010100001110100100010111111001000111010100111010101000110000010001111001101011010000001101110111000101000000000000110010111010001010010010101001001101111001110100000111111110000010011100110000110111010001010110101111000001111100100011011111010011001011010011110100010111101010011101011110110110011110001110110100110000111111011001100100111000011000000111111110100001011011011111010101010110001110100010011011001011101000010001111111110100011011110111110101101000001101001101000101110000100111011111110000111001000110011001011000111010000000011001000110010011000101101001101010011110101011111111100110101110100000001001011011111101001011010001001000000000101110001110011101000111011000111111001011100001100000001110101000100101110100101100001110001100100000101100100111010010100111010110011010000001001111001111011111000111100000010011000111100010100001010100111111010001010101110010011000001011100000111111010100100011111000111111110110101010110111010110010001100011000101010010011110011000001111101100011011101100110111110001110110000111011000010000010000111011101000100010110110110101101100100110101011101101001000001110111010100100110010110010100011011011011110011101101100100001001111000011101111111011000110000101010100101000110001111110111100000010100101010100000000011100110111110111110101110000110001110001000110101101001110100101101100010001001100000010100010110111011110001010110110101011000100110010010110000000000010110111111011010011111011101011011110001111110001001010010101100110101010011010010001000011010111001111100111110010010001100001000100011110110010011101100001101000110001000001100110111111001110001001010000010100000000000001101110111011001111101010100110001010010100010000110001000001011111100011101111100001110111011101110001111101011010000101010111011110000111111111010110101111001001111101001101000001011001011011000010100111011000100111010000001000011000011001101010100000100101001000100010101011000010010001011000101011111100000010000111100011101001110111011001011101000000011011011101010111001100111010110101110110001111111110110011100011000111000010000110010011110111010100100111011100001011110011101100100010011111101100101100100110100110100110100101010110011101011001101101001000101101010101110101100111110001011101110100101100010100011001010010110010110101100100100000010000011111001100010001010111101000100110011101011001001110101100001010101001011000101111100110010111001010111000100010001111001000010111100001100100011101101100101110111010111011100000001001010100101101110111111111110011100111100001101010110010110111110100001100001000111101000100100011010011101001110100000100010010010110011100110010010011011011011111111001111101010000110101000100110101000000110100100101101001100101001110111001001101100101010001000110110101001101000001000001000100101110011110010010010101101101100010100000111101000000010010010110000001001001100110111011011010011001110111001111000110100000001011011101011011001011100101000010010010111110110000101100010010111000010110110000111010011010111111010100100111111001110110111011010000110100011000001000010110001011101111001011110110110100001111000010111100101010010110100001111000111111000011100110111010010101100001011000111010011000001111111101010011100010001001111110100001000111011111111000010000000110011011110011110100011101010011100011000110000000011111001110100011101110010100101001111101100001001101010110011110001000100010011000000101111011101001010100010111100111000111010000001011111000010101000100101101011011100011001110100011010100100010100110010111010010110101010001000110111001001110010100110100010111000011100010001000110010111111000001101011000101010011011100000101001101111000111010101110011011111101010100110000101100000000000101110011111101101100101100111101000101110100101001111101001010010011011001101100011101110111000111010011101011100111000001001100010100110001001011011111111010111000011101000000110110101011010110001110010100101100011101000100011111000001100111010110000001110001011011111000110100111110010100100011000011100100010110001001101110001001111001110110101111000110110000101101110000001101110110110111001001000111111011011100011100101110010010010011000010111110110011010011001010110000010110111110001110111111101111000101001100011001101010000000111111001101111010011000001001111111100001110011010000011000000110001000100000010111011000100101110010010001110000111100110011010111001101011001000010101010000110100011100010110110011110011001101000001110011010001111100000001010100101000111101100010111101101011000101111100010111011001010111010111011100110011101001111100001010010001101011010001001110100111111011010010010111010101100001111011101011000010000101010101101110101010101001000110010011101010111011011111111011101001011101100100011101010101110101000011010100110110001000011010000001111011001101110011001011010000100000010000110101010111011111011110001110001011011010100000111100111000000011010101101111111101100011100001010101101011111100011000001010001001110111010101100110000101111100001110010011011101001010110010100101011111001000100101100111010101001011000111111000000100011010000101011111101111010101101101011001101011111010011011010010011110110100000001000101011100000000000010001110000001100000110110101100110001100010000101110100011010101000001111000000101110011111111101100110111000111110100001100110010110100111100010100000010111100100101001100100010101110010101110000010101111001101101110110111111101001100010010110010111101101101110010011111011001011110001100010111110010100111001111000011101010101101001001110100011011010010110111101001011010011001000110101110010101101100011001111100110011000111011100110001011101000110100010110011000100101011011110110111111010110111110000110100010101111110110000101111011010001101100111111011101100011100111001101111101110010001111010000110100111011001100010010111000010000010011010100010010110100010101010001001111101111101001011100000000101100001100110001111100001010011111011001011011100101111010001110011111011010001111001111100000111111010000001001000101001101011001001101010111011111101011100101100111110101011001010001000010010100100001101100100001111011001000111111111111011011101010100010101011010111000110011100100011101100110100101000001000011010110010101011100000010010011110001111101011111100001110111111010111110010101010111111101010110111011101000001001100101001010111101000110011011110000010110000111111100001001001000011011100111100000100101011011001001011111101001011011101011111110111001100111011100010101111101111100110101011110101111000101010110100010110110001001010111010101001110111110110001010111110100110011100111010000000110001010000001010011011010001000111111100011000000000100011000100101000111011010100110101001010101110110100011001010011101100001100110010010011001011100011101001001111011101011100111101110011111001010001001000110101100001011010001110111110101101001001110011110111011011010101000011101111000110001010110001010001010101101111110000101101111000100100110000100001011100011010010001001100001110111100111101011000011010100100101110010111101001110011011100001101110011111000101011000110111110110100111111000011011000011111100001001110110011010010100101110110111110100110100110010100011111000011110110100000110011110111110110111111111110011101000011011100101111110000100001100001111111000100001000110100100010111101101110010001011101011001101011100001110000010000001101100001001111100110100000010110001101011011111000000101001110010000101010111111000101001010011000110001111100111111000000011000100001101000110011111101111100011010011000110100010101101011111001011110111010000111000000011101000000000111000010101110101100001110100001100011011011010011111001110000100010000100101111001010011010101111100101000001011111000011101001011001011110101101000011000110001100111001000110010101010011001110001110111001111000000111001110010101101101111110110010110001001011111010110000111010000101100010110101001010110101110110001010101110110000110100001001010100011111100000001110100100101010011010011011010111101111010111011011011110011001000000000000111101111000101000001010001001010111001101001001111010101011000011010101101101010100100001100111110011101011001010000110110011100011111001110101100111101111010001100111100010100010110111010111111000111100001000110011101001101000000000010101110110110011000011110111011100110101011101000101101001110010111100100010110011010111111101111100100000100100111000001000101100001101111011110110101110100101100100011000000010111000101100111010011010010101010101000110110011101111000011000101001000111111100011100111000111001011010001010000001000010001010001101101011110000110100001001100010101111111111000100000011100000011110010001010100101010101111110111100111010000110010001010000100100110000010011011011001111100010100100000001000111101010001101011001010010100111010111010110101100001101100000000111001110111110111010001001011010110001010001111001010001111010111110110101100001010010110111111001110000111000110000001100000001110001110100001101000001100111010001010101110011010101100110010010011010110000101010111001010010000001110110010011011000101100000110000010010101001011110010001001111111010010010010000001111101001001001111101111000000011110010101000100101000000001110011110100011100101100001001011010110100101101011011101100101010101001110001101110100100000110101101001000111000101001111011101110000000000100111111100011010110110000111100110010001011001010000111110010001111111110001010110111010000000101101011011101011011101000001101000101111110011101000110010101011101000011000010100101111010101010101010010100101101100001001100111111100000101110010000010000011100100011010100011101010110001010001011110110001100111001000111100010011101000100001010000100000001100001100011000010000010110101111011101111000111010111111011000111010011100101001100100000001100001101001011110010000100010101100101111100010111101100011111111101011100111001110010001100000110001101010001011111100111011001000111010001111011011100110100100101100101100101001011000101011000011111111110111101010001010000001011111101010010111011010110111110010001110100011101110001010010101100010001011011011110101111110010100111010110110011110010011011111110010110111010010110011110100110011010111110001000100011111001000111101110101001111000010101011010100110001001000111101011110111001010011010011000110110111111000101110100001001011101111100001000001111100000001010010111110010010101010101100100010101110010101100011010100111011010000111101110000110011100101101111000001100000101110010000011011101101000100101001111111100011111001010111010110100110111110111111111011101100110000111001100011101001101101110001110110010000001100111001110011011000000001110000111101110111111111111010000101010101100111111101011111010000100111110010100010111111100001100001100010000101110101000101111111000010001111001110011101100110000110100001010010000001110000101101001011110010100010110111000101001110000101100001110000100111111110101001101100001011101100001110110110011100100000100000011011001100101001010111111100010100101000110100110001010100000111010111110100001101001110111101011011000111100101001011001011011001000100001101101111111101110001000100110011100001000010010001111110101000001100111001110011010101101101001101101001011111001100111001100110010000100100010000010110111000100100000111110101110110001011011111000001110011001010000100111101010101010110111000011010111000111000110001110010001100101111111101110011000100011111100110010110010111001101000010101100111110010110111011110100101001100000111011101101101000010001010110101010101000110100001111100001110101000011010000001001110011010111000011010001100100000001001000010110100111100101101111100010100011011010111001110111011110100010100011010100010011101100000001001011101100011000000000010101101100101111111111011011010001110010101010100010011100011110010101000111101101100000011011100100111000111010101000001000100010001111101110010001011001010111101000011101010110111110100111101111101111111101000101010100001101111111110100010111010110010111001001011011100010110100110011001010010010101110011110000111110011111101011000010000010001111110111011000000001110000101011100110101101110100001000101111011110010101000110010010110111011000011111000110111011110000111011010111110100001001011000110100010010100011110111001111100111000001110011101001100000000110000110010111000001001001000001100001110000100000101111001000011100000100101011011100000100110111110000001110011101110001110101101111110000011111010100100101101110110000101000001110001100000110100101000000010010111010010010010100000100001010010000010100011110000001111100110110001111111011000011111011110100001001010010011001010001111001010000000111001001111010110010011111001001111100101101100100110101010001001111000110000110010110001001100110101001000010000000100010100101111101010101101000111010001011110001010100110011011110010101111101001100011010110001011110000000010111001010111111000011011100000111011110110010110110110001100100110000000111110111111101011010100110000111111001010000011101000001110100101010111101100110010010111101000001011011110110011101010111010000010100001001011100000111110101111010100101010100000100011000001001110000010011101100001011101000001001111000101101101000001000001100100110000010111111110100001010000100000101100001000010001100001111000000100110010011100111100111010000010001101001001001000110100011100000111111011111011100110111111000100011111110001011110100011000001100110110001111100011110001011001110111110101110010010001101000100100001110011110010000001100011011010010110110110110010010101000100111100011110111011110011001001101011110000011000110001111011101100011011010001111101011011011001001111110011101111100100011010111100111111111000101001100010011111101011110000110000101101101001100000010110011001010100111010000010011111010111010011101101010000010110010010100010010110010010111000111111000100011001100011001101110001001000000110100010011001011100110100111101111001000010100101101011111110001100110001001100010010000111001101011011011001100100010111000011100101100111111101001101101101101011100101100001010011011001100100110111111001001100010010110110100111110001010000100001000101111101011111101001110001111010011011011100110100110010010110011010001000011101001111101000011011010011011010011100110111111111001000110010100111100000000100100111011000111011101111111001001111010001000110010101111000111110100000101100000111101100101000111110100110110000101100110011110001100110100011101101000101010110100000110001110100010100100000111010001111110100100011110001010011111011110101111001110011000010011101110101110001000000010010101001110111110011000111100111110001110010010110011111011000100010111101101000111110010111000110010100001101010110010101100000110000101001111110001011000110010100110000100100111011110001110011111101101010101000000100001011000000111001111011001101100111000001110010101011011010000011101011011100001001011001001011100010001101011000111000010111011000111110001011011001110100001110011001111010111101001100111000111010111011011010001001010100110111101111010011011101101100110011011010100101100100110111011110100000110101100110000111011101010100101011010000101001011101111000110100010011010100100000111001011111101100111101011011011010010001010110000110101001111011001010000111010000101000010011101111100101101100000111010010110100000000011101011101100110001010011010000111000000110000100000010111001110010000101101110110001001100001010000011100010100001110110101110001001010100110110001110111011100000011100110101010100100100011100110110100000110001111011110101101000000000111110001111011010010111100000000111000011001001100101111000100110101100100010011111110000110000011011101011010010111110001000001110011100110100001110010110011000011100111010101110001100010100000101111100100100010000101111000000110011101001111010001001101100110101101011111100100111010010111111001111001110011000010111010111110010010010110001100111000111110110011011000011011110010110101111000111011111100010001100011101001111011011100010011000001100100111100111010100110110001000100010101110101101100010101000010101001111010001111101100001011111011001010101111100110110110100101010101101101001100111111001000001001111001100100000010000110001010011110110101101000110011100001101011101101100000001110000000100100111000100001000010110000110000011110100010010010001001011100111010001100101110010110000101111100101110110101011110000101011110001111001000011110010001001111110101000100000001110111100010100101101011000110011010100110110010101011010011100000110001111111000000000011101000001110001010011001100010011101101011101111001111011100101100100100110010101001010000000110110110110111111001111000110010101100101011011010110110001100111100001100110011001101111111110000000000111110110001011110100100000011010011001111011101001000110111000001111101111011111001110010001100100000100000110111101100011111100011000010011110111000110010000000100100110100000001011110010010010111100011101000110011111100000000111000010111110100011101101011100111110110111010000101011111100001100111001100011011101100110110101101000011100011001011100111100100111001111010101111110110010100001011111011001100001011000000011100011001110101100001000011010101000100110010101001111010010010110000111001100010110001110101001010000110011011101001100110011010101001011010011101000001001111000101010111111000110101001101111110010100101110011000001001110111001100100011010000110010001110100000101001001101001011000011111010111111100001001111111110010001001010001111010100010101011100101110111010100101101101010101010100001011101001000000100000000011011000000110111010101100011100100011111111110110100001110001000101010000000000100001011110100100100011111011000111010101001111011010010100100001100010000000111111110110110011010101100101110000000111010100000000111000100100111011001100111100011100100111100010001001111101111101110101111011000010110011010010001000000101111101111010000101000101110011010111111100101100101110001000011011010100100000011001100101101000000001011010011001111001111101000111101010000110100110001000111001001011110111111100010010101011000011010001011001100001110000100010011000000001110011100010110010110011101011010001110100111010110001110100011110101111110011101011100010000111110111010000110110100100011111110011010000101101001100101101010000101111001010101110011000010111111000011110000101001000000100110001101011001110000010101000010001011101000111010110000101100111010010001010000100111011111110000110000110011100000010111111110011001010011011000001010000010000000100001100111101000110010100110001110001100011100000000010011110000111100010001111011101111111110010110010100000111100100110010010111101111001110100001001101000110010001100100000001010110110011001100100100010011100100101101000111011111000110011001011101010011001011100011000100100100101101001011110110111111000111000010000101010000101110111100000011000010101110101111100001001101101100101110101110000001111101001111011000011001111001000101010111000010111010101101101100011000001000100010011000011110101101111011011101101101001111010101101100000010000110110000110011011111011101000011100111001110101101000000100011110101111010101110000010001101011010011010100010001110001001010011011111010010000100010011010111001110001111100010101001110000000010100100110110111110010000111001010000101001001101010000100010101100110001000110011011110110100111110010011001101000001000001110100000010000100001100111011111010001011010010100011111001101110101000111101001110011100011001101001011110001001010101010010110110110001010111000000100010100111010000111110010001101110101101010010011111111100110101111100000110101010001001111110101010101111101101111100010110000110110111111001010001010001001001010000100110110100011001110010100111111001100010111110101101101001010000010011101001011100111001100010100011001110000100000001110010101000101110010010000010100000001100110100010001101011110010000110001111100111111111101101001000101011001100000010000110001010100001101101101011101000001101100100010001011110000000000001101111111110011110100111110111100001010000011110010001101010000100100100000001101000101001000011100100000111011001100101000011101111011110101110011101110000111111011010111000011011010111110100101001111110111001010110000110011011100001100101000000111111101001100000001001110100100111111110101011011101010101110011000000101101101111110111011011001000110101110001111010000101100110111001000111011010101011101111011101100010010000101011100010110011001110010110101001111110011011001100100111011001111101101110111011100100101100100001100111101100100110011110100000001000011110100101110110101010100100011000111010111010010110100110000111010101010001111110101101001000000011110100010010101001111111101111110000100100011011001110100100111110010001000010110110110110010000010101111010000000011111010001000101000011001111111011001011000000100110101100000111101001000101011100010111010011110000101000100011010001110100000011101100001111100111111101101001101011010101100100001110001000000110100100001110110100100100111011110001010000110011001010100101010110000010011110011011111110111110101011110010001101110000110000110110110001101001000111000101011010011001000111000001001110001100001100100100101010110011000000110110001111010100101110001011101010111000011110101001100110000011101101011000011100000100000001111000101100110000100000100000001101000010010111100111111011110111100011010110110001001000100000100011110100101101010001111000000010110100001001000111100110010001001101110001011001000001001010000010001100111111100010101100110100010110000100101001111010101001100111000001000110000111010110100000100000011011011000100101111001111101001011010111100000100100110001011001100101010001011011110011010011001000011110001110111101100101111100110110101011010110011110111110000100101100010001010001111001101010011011010101000000101010111101101111011000111010010010001011010000110000011000010000000001011100100101011010101000011001100011010100000011011001010110100101111110101011111000111101101111011011010100111011010110011000110101100111010000001001111001011000100010110111101101100010100101100001011100101100001111110000100100000000011111001001001001010010011010111001000100111101110000010001001111011101101011011011011000001111111101001110000000110011111010101010100001011111100000111110101100001101111110010011110001100100010000100111101111000010010000111011001010110101011010110101001110111111111100100010001010011011001000010010000100001100010110111010000110011000111001100100000100100110101110011000110000100011100011010010000111001111110111111111000001100011111100001100010011100111010100011000011001101110001110001111010010001100111110100000000111111100001010100011010000011100111001010001010101110011110100110110111011001110010100110011100111111110101010100010001000000110000000001100100001000100010010101110011100011000100000111111001110100010110110011001100111110110010101001011111000000000000011101011101111110010010110110010100010111100111001111111110100111010111111011100111110100001111000010101110011111110011100100010010000010011010000100111101000100001101011101001011011101001110101111111110010111111010001000010011101111000111011011001011111010101110100001100111001000111000001001110101101101101010110110110111101010111010001110110000011110011100001000110011100101100100111101011111111011101000100000101001101101000001110100101010011100101101000011011100011111110100100000001011010011111111000110011001000101010111001001110111100000100111110001100011000101011011011010101011111101111110110110010001000000110011100110011101001001111110010111010011111011101110101000101101010111100101110101100011101001011000011101011000001011000000010110111011100100100111011110010101011010010100001000000100111000001011011011011010100101011010000100110010110101101000000000101000101111101011010001001100111000110100111100100100000000111010001010100001100111101101101001000011000010110100001101101011111111111001101100101010100010100001101110111001010110001011010101100011010001000001111111100011111010010100010110111000100001110111011100110100101110110000101110100101110011110100010001100100010000101011101000010111000000100101001111001111010011000001001111101010011011101101011011101110001011111110000111011100001011111000011010110110110110110101111011010011101100101000001011011111001111000101100010000100110000001110010110010110100111110110111000001100111110101101000110110010010101101110101111101000010001011100010110011100111110100010110100011111000100010010110001000010100101111001000110111100100001001000100100011111110111100001000110111111111111000001001111001110010001101111110111011001001111010100111101011100111111111111111100111110110011001110110100000110011101001100111010101010001001001010100000010000111001110110111100110000100011011000001000001010010001010010100100010101011110110011101100111110111111000011110010110000101100010010000011000011000111011100000011110011010110100101011001001001111111000100111010010101010101000111011100010101011001111010011111100000100001011001110101010110110000110011110110101101111100110001100010011011110110010010000101111000110100111000101111101101010010100011010100110001100010011111110110010010010000101100100000000110001011000001011110111111010001110101000100101010111011010000101110011011001110010101000010101000110010010101000011111010111001001101111011001101110110010010011100011001011010100110110010010010000001010101100011011000101101010010101100110010111110111110001011011001001010100000010110011000100001000001101010011100110010110100111011100111000011010000100100111000001111000011111111101001110110111101101001001110110010010111111000001101101110000001101110101001110111001101010100011001101010100011111001001110100010110000010100000010001110110001100001110111011001001100000001011000111110001110011001011101000010111101110101001001000111001001111111111010110001101010101010001000100011100001110111111000110100011111000001100100000010011101111110100011100111010100111011010001001111100101110001010010100011101001001000111101100001011000100010111000111110001101101101001010000000110001101110101011100100000111001001001111010101011101101111111001111100001011011010100100111010110110101111111011101001101010100001100110110011111110001111101011000001011111101101110101011001101111000010000100111110010000000000101010100111110100001110111110100001110100111111001001001011100111001000010001101110110011111010111001011000100000110011001000111000100101110011011011110101001000000000111110011001101011110001011101110101011000000000011000000000000100101010000101001010011000110111100000111000010101111000010000110100010111100010111101101011000110111010100110011111010110010000000000110000011101100010010101010101101001001100010100000001100111100101010011100000011001111000010101100001101000001111110111001011101010011100101011110101001010000101000110010000100000010101000111100000011011101000101100001101110100110011001111000111001001111011000001010111100011000110010110111010100001111110100100010001011100111001100100010101110111100110000011001110011101101000011101011111001100111011000010010100111011000101100111100001001001010101010001110110010001101011110000110011001010101001001100100111100111011100101100001001110101100111100100000001101101000001010011100111001110100111000101100100110101001111000000011000011001111001111101001100110010000000111011111010101111110101011111110111010100110100101000110100100000000010011010000101111000111001000111001001110111100001010111101000010100101111110010111010100100001011010001110101111000101000010101111111110111100111011100111010100111110010110010111010010010100111001100110100000101111100111010100100100010000010001111110000101010100100101100100001001000010110011011100100010111010101111100011100000100100010011011010011110000101101110101101110111011110110011101011110011011100101111111101001000000100101010000010000101110110000110110010101000101110010111100010100011011101101001000011111001000010001010110101010001011110110001001011000100010010111010000100100111110010001111110101011110111110111101111010010011001110101001001011010001010011101010101101111010111111010011110010000110010100011100011010111001000100000101110000111010001110010000110101111011110011101101110011010101011111011011001111110011100110100100010001010001011011101100001001000100100001101001010101101100111010010101010110110110011010110011100101011101000101011010101001010100101110110000111000010011100001000100110111101111000010000101110010010011100110100000001110000011110011010101111111010111101100001011011100111110010110101000100000000010011010111101000110111101111011101011010001111111101110000110110010101101100001011001011111110101100010010101111011110000101000000111011100011001010111100110101000101101100111110010101111001000011001000101011001010001000000100100111010010010111111111011110110111101000111110001001110101101110100000111110010110010110010011011011100001001000000010110011010101000110100100000100010001011101110011110101110010011110101111100110011111111101100010011001110111010000111001111111001111111011111010111101000101001000000010100001011111111100111000010011101100010100100011001110111001100010010000001001110010111000101001111110110101111111010101001001110100100010110101010000101101110010001011011011111001110001100101011000110000111000110100110001000011010000011000011110001100010010001010100101110101101100110101110010101000010101001111011000101111110011011101110101101011000011101001011000000011000010110110111100001011000100001000000101011100100000010111111100011100000011100011110010011100011001101110001111101111110010001010100010111110000110101010010000000001100000100001100100100100001010100011000001011001111010001010001001001111110011111110110010011011001010101001110101100011100110101000111101000100010110010000110101111010111000111000111001111111
389632600075789962973369064329698943805682049632335312098099953861147516604382866444002231792771589524818710692139393433702445256906249950839217411108523604218579571967730010040641332542806121691388976972797681175406619429284266334266133390263349159293521986597957770933346294128384681595472889351445516352774332462165163049761900636908082651662782624750141241935580131581885031202871409202090535514511238585109664200265221313360685808475842451708427576951431606174021739124171140458861995659685716655225725427753130858163353574397873343789040721499805464366010157748726534718077242344787429023439329047812301124932298042089256785747310934886350666285044898726549816430817805413338727220297685809389524883713560469790936504088149707247429937490781345532032750387307716839320095141531769774880993435346832423365947373360167760169785973021813147193283600476260093262813457513308279979991944476969676410977547418427162597378629969962772718738587298831021600077187804791920067909746226981960300114329683
190892374983563600385024360851159611178730079178657786164376145243284322075913705518621362847920640207899681539098221133391638935505905691943298903412043502688166688020583873369812520243417378336933077589115558026044768751286560888835926536897913044912575799393109903466176585044205485610019623824820197016125129494972029056771938665319219253863060571087751933874131614032023617742121028715218964402478467312092608872282120770953825217492970848457318553032591884565994567334615632730878201508640675052406586733901697149058377773614075770781429623123975004612875302712156717205458979200210666016610001525930698173254241554229981895647364783519480624744921132317306123255985214724382048791170627548943726418414181985727455029964961181383018896076512238328679886513062733682569273783746938962575692828239791107622711374772985359472549030342070773231691928272232772735121664351646896069984101108673329301549440458215061377219851441513660674134179273434526203316443353789989801690003322665141910038731433
1230336009004622314392950114333082143528459405248805539407150227030417706350279647990969128960386861715889832874211976916481415569049114797834012987482779020995917723570540013647507416834535196005298243216764020480288715035259207784391382384103108690276121370832092241121116745776874549968081021217049475703733484816387154087742226234549559800250684493720657760850761566316691307049190048815050155417409221803955536557457029024523254789204402423058534695720922321268124401732565694647959173312856295920204437145161860710900462372724878987019912452590823584403172096896327181987175827713578122884641887588003847327228395138024584165179513636802654025894855324551351922801000291527675950959060283290223290426565538952099456760885275086959633440171171968628109136789721212690732333652318806146702165617796765166544576105962263892662587696902085982557813711129307966768692007872073202018553330279555318886935221553945094233736434643737654743981019584174158191769079366160537738269279868070982803853570396
5406650550482133568430569255056141607129738448944360535560314071912966558369470288953668821073087886944839151966971275573449107361758707699159786540104947013063519446351821803301629486224229972811167329528964098538407667633181249652814270144339702765150303262980341541309821449642772410484200848704709463396273869519408910628393979194042450922237951215179178550522566813730198462953684178081845359189949022573293965281552239029197112502488473108828862059732365884988840645098378271389617428079757072739588318968302851628005842926227776277527120047467537636591671789021869728255961549804327079115413437337974278062179344879943364345670308483527423044041884073868694135982388638698931364078877096155922049558513035622916028414668884085977341965574493392353685847737087017087176230830653312018306776054230939855245998279649045142549025001817906907599965068202276360951840684558928724377174421724026173966353962916036308493082541492709985561779735162053285635239157926475900813834953612516947236323899584
248548503599230432782748191465899197584426543652961653397622342725445003385776776364540836720744418182659433265594975445381090752524947559368364922502199023689801953954394871025312861259109125651450018917623340961431193629854759457285759146799534640260449613590815452873911788356800264778649255482025806669166628636701971162515893479096695003109637508552305495994597878961842221763342300724071374345910391788316805638651230220417500201204043143818113459485050531419365152294915611770335122468842185010561995726157662102839316931192513460843275805269389205667306987281414105145471341821897229673507042697816005968287378291776642574861023503279021400601803580034722869918552205099606207281455654788444322204471508738086963495292188093343574119450727366566110390238140770150789397645239862475644023389288160925752401623984985259755751991146648362401573976645377083502873983423517819444151333593824714484767507364344505398816638994769966181875487981252763358457959452997841691023243851495165986498983403
7376284132824677463762270361437778492491032084229106118062066964878676382048865852692157487100820351269929373896104764658173884781644295860335442133916534898235368903164681543589998241461338367920269219865178435364734506695429982814878787503248872958283454095485838425726284265303777263372960500229881543760856221567089560837285052141460533860397635102636273906956976967481106578366860950473434648329154725258084030139453714574712697612848172219458503174328296640395965024126042082840695446332567847437601263167698425630445371115459350055103584235206205679828619060116963277969413531437483610575168552428061949783898481987408671590253407884130948376327836248662799752469228648828453626550608393379585183499334094655159330538266586096911309107106799185212028892295999659099866861113069248796423502124376542871059601656997594483796663375098597708534010666653255053237299568487770397994227659484044913788387182053614882247703202072532444866287926307275159302818447270607789955081564578424164950739178135
7336058310532889026052276725380909347539149054671231956267412819934652398668745959996213864690273694561532662740061860050661738601454011838516343555837966326167767927786805455733395116730984708204117012058527451595806331532437626036407537998648442473696759002752459099225652448933339351201850261124266224769546848513067543373704038728086718940234259898413128352017689671020430909116431264969692611452223386705376354183858766880512912137414935672509656297361865367829370662742492811413061337295041130131805407675540032942569149803417720650301105367742793614320375127267326203184899869744418100985098922511811860412083004088135303854240180437012179972181567073981766318308853876815695502921071158655574965036871892855737652646805405867718714068252796792149252114918747294816051712941624875787140217031443442080839083164343575591396583265756068728346870089099480169638826358389442568831922806123747462259935343084427353402953535626895667509000744212247797264436517051138511184663322712807598597050627298
6662705195890089325519256478728791142677181099561489061207537475797093773181157357667823126783492228359788746696647971462835953076628552852814830642268586220400376594396029527138969612262535463328462959169348588318026497595531026603949060842061757278181838338725450473928135582362159251192634698507084017412297236454136188507713363019851721960960670492912982476626806216858561118002605819692936491144425680281304465793488116004990090001177119996005462407121293167238442056899232190666724293375731843567962543920662722013167426851918727048493598311591650917879497989114914217455943862160469615600762793828906359104298665264507276973939040671228882906859936459784682347568233852747570564622781351135051177192490118766907098961718868338409375273677543901729653276842515993680896472728630696795385001582779144206478054651091997976424192079410708589544486029487151464020460086636171361928256098068609350095489588451336364266680972387441241025835201426381250011014037871071188849113805795471404802100005384
575295807736931917871814983170039837277413080087830269372382235162592166590294979480876039377617757194867575306841077057580560703666691990138119114356648983403722026252340920701551512496773017361940047984593856150748630236207077663607627318484297911832966231690730584431097047992822077397896383801367627768912668561153197162032591486116778171115835137688482160989948787160812045958122159669130282741076891124608698429028992814877853671082233706088713865539547770746062891459093975370533292714813261463680139429290908159116325908467959935169658620526196371200672784759708573640902400451203386241035405625553218229643767032050132930085580675243672196413616502217886157837997136937558763487841900255434574711629891420367662922432392414192478655280654497811987771202557924394565558183730492747244541464501383145015076531001265609115223639885052964973539051743971709121459775786075027236271093688707331168357833024771766581234939969553499003372682165511872226817278291528527454734690451368825564672318832
7007187232616186957813033720430220640822426399581223960767778466099591300699903747046789567522210020063197026611021811858710554319690113653254861639706389250916331199815402506632288188523130017639335586425095860137537361955060119189143142171109276722827284286392169444978510646138953153306871428127155146708856107659428298727092722557005411976221887443565222456845998305868741972771875783233336715752978373809487353963542227017955875379745615509967456715573623569066272263224079648287624830906620541427706589409231644661041631366833599169143200103724188009957094560547399676470180925295409070353599540521942565481625698644178468882239698082720904648330605672436868999309684462741655447143563425464633618826558114920155363811311388072838860669516775791029854255364235152770133090011492165137326421109523632765428001000794867470939595081943248617309262073696938178717771439463498329040916893423023590820080525254961089402606468789202630372285990641533465130107363919987442060942059225631241962561703036
7243768761112040667577807063047125059722024989514923010862419770554571307368158427014063803164819177621537462770529070435556891167928995839529995350147867017561219479928804033523233304108930276615283754278075480574852810927333035133811194711272895592610706177044651326116984531676936419114169595960031252973853631031650287757342004757201233918167126389114257993348465036686222205223706731581143797237898142170252028860349054780121796702315084944791594137110339327316767563414854102104947699446917893944874069435352495592550649148352854082537513550029408145181270159953687856464814902440294973131941296818606700260441928997573368728713114415733446493214884273228203855381249454348225631716516696826687512591324421021368186764163589701280613493883576767873544328627093794926218160144863559133974500409923057110745223028576350606056970629310609908737560021920711855221929066306999657494262061819460289929723832328346575649089485265064606560483519678601870633293321233285465564075063872957071163171655382
6938194834992532980123596185683650333920679137155156852675889388976527444359225660176803050094819404189657197910534563657105637889108972110554424896415509748964095772756793805807752091549927651565542237455018455824438962689864242413970528633600863096017041786384134446343266579278808843984225911663632219409985314440248881533105452104017510335247151964225587753103019553715239462400156239650775188591767337235055216264866337122185423638920956397071698305213659434804113308992052321137830445758235404875522995630432468909028894728041027383703540710229099354820487195996423021188068655237357129556115651454485305849951171011868532589717307061672213082129601486984204450626260339782677947671329400760668357339410181602075064841585744637798848593763475899573189424771259697857031321396169560516122334379015211735763865259536182257731073016938207627967772273283306467480861769379906842255612421364808126337660331900721589051775124775337515404522072716870895342059029244508512750776959548870720027664126711
1581288569857583537379086645868061022464706857240811527940961634023434165377261647243363309935609424976794189773088946664053581839092979487452944549258782848279328710323690494283205376220135465774992849326374885299307576657972366636866670641003238014499233605975932668241422137367234560317543117111598457835467525921868683518122762251948224457241361554726873977973051381033349733407519096060089282909025613608672403243486784577718037227404428631485891491681394658213018207223423992086592069639404010019351534290358859833373462048524136347355910441704564426440468250138690772348583942537188357837274819516513037340238238237064538091696139240722625135122033666897276809640444810697004906720895221764118953936843012043740348239315423224568404424897061449989505577164378448813254768899777880251677613166980892603991239872063953206162921529233795782280777036363113707443980032449484949020528144577079826665807376357091308624137704234926986768413462037935844638120123702828308440232041158029636341918991467
121179118981904655429064959763651622291821771201003464427482072229481976022122939383755413491879094136969520770231556808867908528927062754541942869215078898325988050189587835917486100261590420402220453827922471429306963895604301466562126046964001005170688168929217411687600471200686549051174453030466750146928170590247346312531673138812604478281168339902987501970058627495051599820051198440822344396489877196042534966644967874737798219280127765259235770527492995195002749245104727137373261403241230043509972733824683569897277129435568420550337173053097309273489602065196344456887075333598043798024627159895928941678970529428156871739223769366171054371567380118588742797966209859419214620154101637713106520437178395601429373099951137336939970656087365460728273393738701377115185462374441004488280100345343334245366139007816132879182004846496206893478178595022309468997055666355684644519679768168037163343436342877690899951109812660014343921341996128559135318375466232376495504268108813786051852872046
148641636581434995304642991091520126106903703275674987012056480048801016724920486098451308433486434074668099877787248426883461932121652124322161739588689291807686262075695273391816697474589255349458917268906561106297527027425768826825762166562333146762484485860580945644332792184589933141372785357135622960678725202354123116394756885879610983424900918257709768064274824602417751861710168718338417429531467536398676509147986410284007113445334942822095815906083309576450196831020644626754579188819927361863085250674465024505039221821405288399704799599904135126545884252206906339102013055078509358235815081407860461175029525391495568087793852944238874266697803214357303018581100041578243090821894743448861163393003458312883370470720839551630647285733122794334814154914166933354532724155853430932422937644992976654493359299512729293790805866439144679678146393535912519381331708784034667658421739950461902772222154849822882628158282624220614468780148673045454352387025201455651585771626057716356245870570
6750251663478424618643235794954499201311993292808097930120798379132008638889878344800186879919145425276728286907640713673215378188930115996246603745572947061367343229142206006113237306715965379642082257687495046501997859103729635348802853556654632828700395891418766896530952717968446490243081576084061100163978389824656095658917122642222518680654822493280772590168811909732429745876186806321293276833651219632711925119925944012909605895726163817494980745104114710265630517814263855180600031203307312517257427168598115718720561648191904699231828646694469166265834283945088581208295471663695924367873947917851763416202526612549177570368286676815456316196275973121245894526359940340934665173576353250614036762014881471134702696105234179716790843336416472183803698504145933785386589418022174099994052951045633177890973640819371919873543619582163684015646216774793086519561775344964333253595039247954496824154656588367502871613737786808834322130963279305587712476107082437085715851788090641126978826857779
862714537637495009897618291737164035928475501289234560158930852650106918746316516014014113236353940425167338750040424777283987564437879750386962724455676259829313187004804009751195596783656315902273072290130014742712339188438188812789982833971227712488524260480365834703402641916304063248389568341685671876624771956319384368233624661971518702897359928854244613821751582232505407650151810857920131820547647312374907424654609868272440766012225076015348212782367308006163146605219654642098057305109881589751910225099174336303314551315646929858590573607828128255364580110794135676856226516135558785550837465538000352402196668945849283478030655411529632338316233131890455501703210488771208486387110477021613046159391076722699583925709264788717707071853160144813191565673533061189239655147122230875696049933430675601674170819787510713613363111306737826747346398958439754615949075698358122842270097237589730134340976337945342964477907860839812220717102510908839215707890672216186501244047926562158518324983
4360426178092586052329284171396121607113585346360302048404809445563739838585134527456682180989770584691641381164039639671567211628865673787037094678176928412128780499734565666849225581642758961305834290712159365044679547135759661072690722273419343739496923937631154604368307613570054756971239643432701662117405966013806234149587129273656765580927077971749734520016791156662418088399500220967114436460109516276586820766012405448445904858532521638877481791648560623732910442164157735791134543926051300240864746670317063055977614662194250555379722505716161346020913997502907313497473155580981698803312717960413100026292609857747840259255475587742419842617958042426162077887211377304143988514519727984996844884989254801950855255231160890625452193955053854445918262506578218650618975908606497808591453830832342072852393407293092855519693687358384135657007719990821063635234603126822056921735475572155199762786788904729636639791147359220488766791435076835536443833925740829134745822414965816342333169786629
766010961450725513021180817427609360513308269416413387477420429106886794254425166629457779193762798233444711839585725197263748480460094294895366650860094002850361994537194133685147738609768857372987428564074522207332135941756595172448337165093768070331940371562165749950386942346339178752457280286456027626056875336666212461355519674439968272786173805983112067646055491823377677358839524473581632786959144739901043744735271609957117598183510353674102751665729839993337904930383960615814263942888118935614198178303367902127231357599542986768986177620268786202558234275618530524574174985441355172154768374086910550222840907960701261975281799124155199546127927976854528775416894028984154980591777933930068146471648119152403568353840760765679229571813452787808603590738092359684182542626628782037521483512267319227983232087967938434616264276408311166169371258247325100642826400545077779930654753855347809574414193907988747342160484201663702661758456127683530956940001678880520558504776757613661116757285
5529657053105738911404398037498245887625960957578734896376277279027609715902963447163167397984859409766680307735009893062514988177037792113028604984456219135884248592295363020874938347453273123485537123869937006807337393334765090224312084995876667740186021589410235633632774344160887936013415224748258702666867651044196338377758920504991952308363275522999134866470798194975063468807350261126116856684471990946260169030266160935159167698965336676044144223162000321216435049979444407191883592096469158334358914776550956601583172620894628345754162238300965686940957860634827915172862192352679186848525003529495651856962285401266863346552642234943205444903470544235365704249584112535120809677020107741572977792176586450842578178396344708235399279047881256690252143534121807896545499642486275051712251875233547086285937333554639364838241044656181746344846724479251703920113686238780014070642533602775305419896014484531199949855352853434569059679022330777180753433781429515717841825028359898625227606409460
0
