100 200000
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooollllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooottttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyypppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiibbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaattttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooootttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeevvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaattttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooosssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaattttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooottttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppphhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrreeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeevvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooollllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiippppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbblllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiippppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooobbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiilllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooocccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooouuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggguuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooosssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssslllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooovvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiibbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiivvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiillllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooollllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyydddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppphhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffftttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyytttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuucccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooouuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiillllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppptttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddduuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyygggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaallllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppphhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyycccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeellllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooobbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeelllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooobbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddduuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuussssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiivvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiibbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiibbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssspppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiillllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaattttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeekkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuullllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooosssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiicccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccchhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvviiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooowwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooollllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooouuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeekkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooovvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaattttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffftttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrreeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooottttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooovvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddduuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeekkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooovvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooossssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooottttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvviiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuubbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiippppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeewwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeellllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuullllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuubbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooottttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyylllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllltttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeewwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeewwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeevvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeellllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooowwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyydddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiillllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooossssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuubbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooossssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppplllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeewwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
j
p
-
b
s
-
-
a
g
-
i
a
-
c
-
t
-
-
-
d
-
a
v
-
-
c
u
-
j
-
m
-
-
f
-
c
-
t
-
h
-
g
-
v
q
i
-
l
-
-
-
a
-
f
-
r
h
-
-
u
-
r
-
q
p
j
-
-
-
n
-
c
t
-
-
c
-
d
-
d
-
f
-
t
p
-
-
e
-
l
y
-
-
j
-
o
a
g
-
g
a
-
-
-
v
-
-
d
-
s
-
o
-
e
v
-
w
-
d
-
d
-
-
w
-
y
-
s
d
-
-
r
-
i
-
h
-
s
-
x
-
p
e
-
-
j
-
s
q
-
-
s
-
k
-
j
-
i
-
s
b
-
x
-
y
-
-
f
-
v
b
v
-
f
-
-
t
u
q
p
r
-
y
-
i
-
-
-
-
-
-
w
m
s
-
-
-
e
-
b
s
-
-
w
r
-
-
s
-
w
y
u
f
-
d
-
-
-
-
j
c
-
e
b
-
-
-
k
r
-
j
-
d
u
f
e
-
m
-
-
-
-
-
d
-
w
-
t
-
l
-
o
-
w
k
o
-
-
t
-
t
-
-
x
-
k
-
x
-
m
-
o
h
-
e
-
-
q
-
w
-
q
-
s
-
y
i
-
-
y
-
s
-
k
-
k
-
j
-
g
-
t
e
-
s
-
f
-
x
d
-
g
-
n
o
n
b
-
-
-
-
-
-
o
-
x
i
h
-
-
-
k
-
e
-
p
-
k
m
-
n
-
-
w
-
e
q
h
-
-
-
j
a
-
-
u
r
f
-
-
-
m
m
g
-
n
-
-
-
j
-
b
-
e
e
-
-
p
-
t
y
-
d
-
c
-
s
-
-
t
-
j
-
p
-
h
t
f
y
-
j
-
-
o
-
-
-
k
-
e
-
o
i
-
-
a
-
c
-
o
-
r
a
-
-
d
-
w
-
n
q
-
-
s
-
c
-
o
-
o
-
q
-
j
-
d
-
b
y
y
-
-
q
-
d
-
-
t
k
-
s
-
-
r
l
-
-
a
t
-
e
-
p
-
-
y
-
t
q
r
y
f
-
-
-
-
-
p
-
u
e
-
-
x
-
j
-
y
-
n
-
l
-
g
-
p
f
g
-
-
-
s
-
q
g
-
u
t
-
m
-
-
-
k
-
a
-
h
-
y
t
g
f
-
f
-
-
-
-
q
x
-
-
n
-
x
-
l
o
s
-
-
-
l
-
i
-
p
-
a
-
o
-
i
s
-
-
p
-
o
-
d
-
e
r
j
y
n
-
-
-
-
-
n
f
-
g
y
-
-
-
t
-
p
-
f
-
w
-
o
e
c
-
-
-
a
-
t
-
b
-
e
-
o
-
v
-
c
-
a
-
p
-
l
-
r
m
e
v
-
-
y
t
-
-
-
h
-
-
k
-
q
k
-
-
l
q
-
-
x
b
-
-
s
r
-
-
y
-
y
-
y
-
t
-
c
k
-
-
s
-
m
b
-
r
-
-
s
-
w
q
-
s
-
g
v
-
-
-
l
-
e
-
b
s
-
a
-
-
h
l
y
-
-
e
-
w
-
d
-
-
e
-
n
-
y
-
d
-
x
-
g
m
-
-
f
-
h
-
r
-
q
-
m
g
-
-
r
-
t
-
i
o
-
-
a
n
c
-
-
-
r
-
s
t
-
-
q
-
x
-
g
c
-
-
d
-
i
-
k
-
l
-
e
-
d
-
i
-
a
-
t
-
r
f
-
v
-
-
j
-
o
-
x
-
i
-
l
-
h
-
e
b
-
-
m
j
i
-
-
-
c
b
-
r
-
n
o
-
-
f
-
n
-
-
y
-
j
-
v
-
u
-
a
-
j
-
s
-
u
-
f
-
i
-
t
-
n
-
c
-
h
d
-
o
-
-
a
a
-
j
-
-
k
-
y
-
n
-
a
x
-
w
v
-
-
-
b
w
l
-
-
-
f
-
n
d
-
d
-
-
q
-
b
-
i
b
-
-
y
-
h
-
p
o
-
n
-
-
r
n
-
-
o
-
d
w
-
-
b
-
k
-
w
-
o
v
f
h
f
-
-
-
u
-
-
-
w
-
c
-
d
-
p
-
r
-
q
-
m
-
u
-
w
y
l
s
-
b
-
-
p
o
-
-
p
b
-
-
-
-
w
-
x
-
x
-
w
u
e
-
-
-
o
-
v
c
k
-
-
-
x
-
s
t
-
-
g
-
v
-
t
-
r
-
m
-
c
-
g
-
i
k
-
-
i
e
h
-
-
i
-
c
g
o
-
u
-
-
d
f
c
e
u
c
-
-
h
-
-
-
v
t
p
-
l
-
-
-
-
p
-
o
-
-
-
f
-
k
-
-
w
f
-
-
s
n
-
l
-
-
e
r
-
-
m
u
-
-
i
-
n
-
e
-
j
f
-
b
-
u
l
-
e
-
-
-
r
-
f
-
y
-
x
-
v
-
n
-
a
-
i
o
d
-
-
w
g
c
w
-
-
p
-
-
-
-
p
-
n
o
-
v
u
-
-
-
k
d
-
k
-
-
e
-
l
-
q
-
a
-
q
-
j
g
-
-
i
g
-
y
-
-
k
d
m
n
-
k
-
-
-
w
k
-
y
-
w
-
-
-
m
-
f
-
p
-
r
-
x
-
i
f
-
-
n
-
l
-
q
-
s
l
-
-
x
-
c
p
-
-
o
-
j
h
-
-
s
k
p
-
-
-
t
b
-
a
-
-
n
-
e
-
e
-
d
-
l
d
-
-
q
e
-
-
v
r
-
-
i
-
h
-
p
-
d
-
a
-
a
-
h
-
i
s
-
-
a
x
-
p
w
q
-
-
-
-
u
-
r
o
-
p
s
-
r
-
l
w
r
b
-
c
-
-
v
-
-
w
d
m
-
-
-
-
i
-
g
-
-
c
x
x
q
-
-
-
-
-
i
-
q
i
x
y
-
-
v
-
-
-
j
v
-
-
j
-
e
-
o
x
-
-
p
-
f
-
r
h
-
-
s
-
l
-
q
f
k
-
-
-
i
f
v
x
-
-
-
b
-
o
-
-
o
-
r
k
-
v
e
-
-
s
-
-
b
h
-
c
o
-
-
-
n
-
f
-
t
-
p
-
l
-
f
-
g
r
-
a
h
-
-
n
-
-
a
-
y
k
-
-
t
k
-
-
j
-
e
c
q
-
-
-
a
-
g
-
l
-
k
-
p
r
-
f
-
-
k
-
r
-
h
-
t
-
o
-
o
-
b
-
a
a
-
p
e
-
-
s
-
-
n
-
o
x
-
u
-
-
l
h
x
-
-
-
a
-
k
-
c
-
o
-
t
c
-
l
s
c
p
-
v
-
-
q
-
-
-
-
y
-
x
w
u
-
-
-
a
-
l
j
-
-
a
e
-
v
-
-
a
f
w
b
-
j
-
f
-
-
-
-
b
t
-
-
w
n
-
t
g
-
-
-
g
-
v
-
x
-
k
-
o
-
f
-
f
-
t
l
p
-
-
d
-
o
-
-
c
m
-
-
f
-
a
q
-
d
-
-
x
-
n
g
-
j
-
-
f
-
q
-
x
t
-
b
-
g
k
-
-
-
o
-
p
l
-
y
-
-
b
-
p
-
g
-
h
-
q
e
o
n
-
-
-
-
j
l
y
-
-
-
t
-
x
-
r
i
-
-
t
-
e
-
a
-
v
-
h
-
t
-
l
-
g
-
y
-
w
-
l
-
g
-
a
n
-
-
x
-
i
-
h
-
t
-
a
-
h
-
c
k
-
-
g
-
v
c
m
-
-
i
-
n
-
-
p
h
-
m
c
q
-
w
f
-
-
f
-
-
-
j
-
-
g
l
l
-
-
-
d
-
f
-
n
i
-
-
l
-
g
-
i
a
-
-
j
-
l
-
e
-
g
p
-
k
i
w
-
-
x
y
f
-
k
-
-
q
-
-
-
-
j
-
e
-
q
-
d
-
h
-
a
-
i
-
k
x
x
-
-
-
i
-
e
-
h
-
y
-
y
-
l
-
g
-
q
-
o
b
-
-
y
-
s
-
y
-
d
-
x
-
l
s
-
-
c
-
j
q
t
i
-
-
k
-
-
w
-
-
y
t
g
-
-
-
p
-
c
v
-
-
e
-
v
c
-
-
a
-
n
-
f
-
d
r
-
-
h
-
y
e
-
c
-
-
i
-
i
a
-
j
h
-
o
y
q
-
-
-
y
-
q
-
o
-
-
-
p
-
t
m
v
-
-
-
v
-
t
-
n
-
d
m
w
-
-
f
-
t
-
r
-
-
e
-
d
n
-
-
c
u
-
-
f
d
j
-
-
s
-
n
-
-
j
-
t
-
k
-
k
-
n
-
g
n
-
x
o
-
-
f
-
-
x
-
c
-
f
-
j
-
a
j
-
-
b
u
-
u
u
-
-
-
b
-
k
-
b
-
m
-
n
-
p
m
g
-
-
s
-
-
o
v
v
-
-
s
q
p
-
o
d
-
b
-
-
k
-
u
-
-
w
o
-
-
w
d
-
-
-
-
r
-
o
-
f
g
-
-
w
-
f
p
-
-
m
-
o
-
q
-
e
-
l
-
d
v
-
-
t
h
-
-
x
b
y
-
-
-
h
-
o
-
x
-
k
-
e
-
v
-
u
-
k
-
c
-
q
-
g
p
j
-
-
-
m
-
p
v
m
g
e
c
l
-
-
u
-
d
s
-
-
-
e
-
-
e
-
-
-
y
-
-
g
-
o
i
p
-
w
p
m
-
-
y
-
-
-
t
-
o
-
-
u
-
b
-
q
u
-
-
x
y
c
-
y
-
-
-
p
-
b
r
-
-
i
o
-
t
w
-
-
r
-
w
-
-
e
-
c
e
-
m
u
-
-
-
b
a
-
-
t
-
h
-
i
-
u
-
k
-
k
-
o
-
i
q
-
e
p
-
h
b
-
-
k
-
-
-
j
-
k
-
p
-
i
-
y
i
-
-
u
a
-
-
p
-
g
-
t
-
k
-
t
i
-
-
r
-
f
n
-
-
l
a
-
-
d
-
r
v
-
-
q
-
x
-
s
-
q
-
y
-
b
h
-
-
k
-
d
-
g
-
s
w
-
d
-
-
f
-
k
-
i
-
f
-
l
-
r
p
k
-
-
w
-
-
i
f
-
-
w
-
y
-
d
-
y
-
y
a
e
w
-
-
-
-
s
-
b
j
-
x
-
-
b
-
t
j
-
-
b
-
k
-
g
o
-
h
-
j
t
-
d
j
-
v
-
m
-
w
d
d
l
-
-
-
d
g
-
-
q
n
p
-
-
w
y
j
a
-
-
r
-
b
x
-
b
-
-
-
y
-
-
-
l
-
n
-
-
f
-
-
-
b
p
-
-
-
y
-
n
j
-
-
f
k
-
-
x
-
l
-
e
c
j
-
n
-
s
-
-
-
r
-
d
-
e
k
n
-
q
-
-
-
b
-
l
-
u
w
-
-
o
-
c
-
x
j
v
m
-
-
q
-
-
-
f
-
e
-
n
m
-
-
o
-
s
-
m
-
c
-
n
h
-
-
b
-
a
-
j
-
u
-
w
-
v
y
-
-
b
-
u
n
l
-
-
-
h
-
s
-
i
-
b
p
q
g
f
b
-
n
k
o
-
-
-
-
-
-
l
v
-
g
-
-
c
-
t
-
u
w
-
-
-
y
-
-
o
g
-
-
e
-
l
-
g
-
j
-
j
v
-
-
r
-
t
r
-
n
-
r
-
-
h
-
y
-
f
-
l
-
w
-
r
m
-
-
e
-
v
g
-
-
g
v
-
-
j
-
l
w
a
-
-
-
o
-
u
-
p
-
h
-
w
-
q
c
-
-
g
r
-
y
a
-
i
-
-
-
n
-
f
b
h
i
-
g
-
-
-
p
-
-
l
-
v
-
n
-
r
-
o
-
n
k
n
g
-
-
-
-
t
-
m
-
t
-
m
a
-
-
g
-
k
-
u
-
w
-
y
c
-
k
-
-
q
-
y
-
u
-
d
-
g
s
-
-
d
p
-
i
-
-
h
-
u
-
d
-
r
-
d
-
g
-
t
s
b
-
-
-
e
q
-
q
-
-
i
t
d
-
-
-
f
-
q
n
-
a
-
s
-
m
-
-
k
-
y
-
t
-
a
-
v
-
x
-
i
-
k
-
q
t
x
d
-
-
-
-
d
-
g
-
k
t
g
-
x
v
j
n
-
-
d
h
o
-
-
s
-
-
-
g
-
-
-
-
e
-
e
-
u
-
l
-
p
-
h
r
-
q
-
r
-
x
-
-
p
s
d
l
a
-
-
-
-
-
f
-
y
-
c
o
-
-
s
-
i
-
i
-
k
-
m
-
o
-
r
-
u
-
e
-
u
s
-
-
g
f
-
-
f
f
-
-
i
g
-
u
-
-
p
r
-
-
o
h
-
-
r
-
y
-
t
-
j
-
u
-
c
-
x
-
d
-
g
-
q
-
p
-
s
-
x
k
q
-
-
s
-
u
-
-
y
-
m
-
e
m
d
-
-
-
q
-
i
y
-
f
p
g
-
-
r
-
p
-
-
-
y
-
n
-
h
h
-
-
a
-
y
f
-
s
p
e
-
-
-
b
-
k
k
-
-
l
x
w
f
-
-
s
-
-
-
-
r
-
n
w
-
e
-
-
d
-
y
-
b
-
j
u
-
n
-
t
-
-
n
-
n
-
j
d
-
g
-
b
w
-
-
-
l
-
n
-
a
-
s
-
s
-
t
-
q
e
-
-
q
s
-
-
x
-
m
y
n
-
p
g
p
-
-
y
-
-
-
-
c
-
p
-
b
-
w
c
g
-
h
n
-
-
y
-
e
m
l
-
-
-
-
-
r
r
-
-
k
-
p
-
p
-
g
-
m
-
p
-
n
-
t
-
t
-
i
-
o
-
x
-
g
-
v
o
j
-
r
o
p
-
-
k
t
-
-
-
-
-
p
l
-
-
b
-
x
-
n
x
-
-
s
-
k
-
y
-
l
v
-
-
m
o
-
o
-
-
k
r
e
-
-
w
-
g
-
-
y
-
o
p
i
t
-
-
-
-
g
-
x
-
e
-
i
v
-
-
x
-
g
-
c
l
c
-
j
-
-
-
u
j
-
-
c
-
j
-
p
-
m
-
q
-
b
-
c
r
j
-
-
k
p
-
-
-
s
i
-
g
-
g
-
b
b
-
-
-
y
-
f
-
i
k
-
k
-
w
-
-
x
-
n
n
-
-
c
j
s
-
p
-
-
-
e
-
t
-
i
-
o
j
-
-
j
y
m
-
-
-
c
-
d
-
b
a
-
-
c
-
i
-
t
a
u
p
-
i
-
-
f
-
d
-
d
g
e
-
-
-
i
-
-
-
c
-
n
-
j
l
-
-
k
r
-
-
c
-
r
-
s
b
-
-
r
v
-
j
c
-
-
-
k
-
g
-
o
t
-
j
s
-
-
-
y
-
h
e
-
u
h
b
h
q
-
-
-
-
-
-
a
-
o
-
y
r
-
j
-
-
w
-
y
-
a
-
n
t
-
-
a
h
-
-
t
-
d
-
f
-
o
-
g
-
o
-
u
-
s
-
n
-
u
-
g
t
-
-
d
-
e
m
-
b
-
n
q
v
-
-
-
-
m
n
-
-
e
j
-
-
n
-
w
-
q
-
n
-
w
v
j
-
-
-
d
-
l
-
x
h
i
-
-
-
f
i
v
v
-
-
-
m
-
v
-
l
i
-
t
l
i
-
-
-
-
-
r
-
u
-
v
-
w
l
-
-
o
-
l
j
-
-
m
c
i
-
w
-
-
f
-
d
j
-
x
c
-
-
-
-
f
-
l
-
v
h
a
-
-
-
t
-
m
h
-
s
i
v
-
-
-
r
-
d
o
n
v
-
-
-
-
i
-
-
m
-
v
-
v
-
c
h
-
-
b
m
y
-
-
q
-
t
-
c
d
-
-
-
b
j
d
c
-
k
-
-
-
-
q
r
-
-
o
-
e
-
o
-
b
-
q
-
w
-
a
-
h
i
d
-
g
-
-
-
u
r
-
-
o
-
v
-
a
-
p
-
u
n
a
a
-
-
-
-
s
-
e
-
f
-
u
o
a
v
-
-
h
-
s
-
-
-
k
-
a
o
-
u
-
h
-
c
-
-
g
-
n
-
m
c
-
-
m
-
v
u
-
-
a
-
x
-
r
p
-
-
w
s
n
-
-
-
p
-
c
-
d
-
x
-
f
-
l
s
a
h
-
-
k
-
-
-
r
-
d
-
q
-
k
-
a
a
-
-
p
w
-
-
w
-
k
e
o
y
-
-
-
-
r
-
x
-
r
-
o
i
-
-
l
-
s
-
a
-
v
-
d
c
-
-
o
s
j
-
b
e
-
-
-
x
-
k
-
-
i
-
g
-
f
l
w
-
k
f
-
-
-
-
g
-
h
b
-
-
b
f
j
-
q
c
-
-
q
-
-
-
q
-
r
q
-
-
i
w
j
-
n
-
c
d
-
-
h
-
-
a
-
l
q
-
-
f
-
o
o
-
-
-
e
-
n
-
j
m
-
c
-
-
k
-
i
-
k
-
l
-
p
g
-
-
l
-
k
v
-
m
-
-
t
-
c
v
-
-
d
-
w
-
u
c
-
-
l
-
r
o
-
-
f
-
r
-
y
-
d
-
h
s
-
-
l
-
n
-
j
e
-
-
c
e
-
-
y
u
-
c
-
-
e
-
y
-
v
-
n
-
t
-
w
-
e
a
-
l
l
-
h
-
-
g
p
-
p
-
-
-
l
-
y
s
-
-
t
-
d
-
y
-
s
b
d
-
-
-
i
-
x
v
-
v
-
v
c
n
-
-
-
a
c
-
-
e
p
-
-
k
h
-
m
h
y
-
-
-
-
-
q
-
e
x
t
-
-
-
r
-
h
-
f
-
l
-
c
-
h
g
-
v
-
-
r
-
v
-
s
h
-
e
-
-
t
g
f
-
-
-
x
k
-
-
a
y
-
-
s
-
f
-
s
-
r
c
-
s
-
r
-
-
f
-
k
-
d
e
-
r
-
-
e
-
g
-
r
-
k
-
l
-
r
-
x
-
n
f
i
-
j
-
o
-
-
-
x
a
-
w
w
-
f
f
-
-
-
p
c
-
m
-
j
-
-
-
l
-
h
-
n
-
q
-
l
-
v
e
-
-
t
-
i
m
-
-
g
r
-
n
i
-
-
-
p
-
n
-
n
-
v
-
q
-
a
-
v
n
-
p
-
-
c
-
i
-
b
-
x
n
-
-
n
-
i
m
j
-
-
-
f
-
e
-
o
q
-
-
m
-
v
k
-
-
h
s
c
-
p
-
-
-
t
-
w
-
n
-
g
m
w
-
t
-
-
-
v
i
q
-
p
-
-
-
j
q
x
-
-
e
-
-
h
e
-
-
d
x
-
-
m
-
g
-
e
-
e
-
l
-
a
l
-
-
y
-
i
-
m
-
b
o
x
c
-
y
-
-
u
p
-
-
q
-
-
-
m
-
q
k
k
-
-
-
t
-
c
-
g
-
c
-
d
-
w
-
m
-
q
m
-
-
m
c
-
-
j
x
x
-
-
-
e
-
r
-
s
-
a
p
-
-
k
g
-
-
j
-
o
-
q
-
x
h
x
-
-
b
-
-
u
n
f
v
-
q
-
-
j
-
b
q
-
-
-
-
e
-
m
o
-
-
v
-
k
-
d
p
-
-
s
d
-
n
k
-
a
d
-
-
w
r
m
-
-
l
-
d
b
n
c
i
v
r
-
t
-
-
o
-
b
-
q
a
-
-
m
-
-
g
-
-
-
-
-
-
-
q
-
-
w
-
u
x
-
n
-
-
j
i
-
-
u
y
m
k
-
-
-
-
r
-
q
-
n
q
-
-
v
-
q
-
c
a
u
-
-
-
r
-
d
-
f
e
s
-
-
-
d
-
k
-
j
-
q
-
k
a
i
y
g
w
o
-
-
k
-
n
-
-
d
-
-
-
-
c
f
k
-
-
-
g
-
d
j
-
n
-
-
-
f
-
r
c
-
-
e
-
v
-
w
-
p
-
m
v
d
-
-
y
-
-
v
-
d
y
-
-
j
i
-
-
f
o
-
-
u
h
s
f
-
-
-
q
-
f
i
c
-
-
-
-
k
-
y
-
e
-
p
-
e
-
n
-
u
t
-
e
-
-
m
-
f
-
p
w
-
-
q
-
k
-
c
-
h
p
-
a
-
o
-
-
p
-
v
i
j
-
-
-
e
s
c
-
-
q
d
-
k
-
p
i
v
-
-
-
-
-
a
l
-
v
u
l
-
t
c
-
-
-
-
p
-
-
n
t
-
-
b
-
m
p
-
-
h
-
l
u
w
-
-
-
a
-
x
-
g
-
v
-
g
-
g
k
-
l
-
-
r
j
f
-
j
-
-
u
-
-
p
-
y
-
y
-
a
y
u
s
-
-
-
q
-
j
-
-
l
c
-
-
r
-
c
-
a
n
n
w
-
c
-
-
-
t
-
-
n
-
h
-
h
s
f
-
-
c
-
v
-
-
w
j
w
-
-
-
e
-
w
-
s
u
-
-
n
-
a
-
t
-
b
-
g
-
u
c
-
v
-
-
t
t
-
-
j
-
v
-
c
-
x
g
-
-
r
-
j
-
g
-
s
-
o
-
i
-
c
r
n
-
-
c
k
-
-
-
h
-
o
-
h
-
e
-
h
q
-
e
-
-
w
w
-
x
-
-
u
-
f
p
q
-
f
-
-
-
m
x
-
a
f
-
-
-
j
w
t
-
-
i
f
-
-
-
c
-
c
u
-
-
y
-
m
v
u
-
l
-
-
-
b
-
u
-
e
r
-
-
o
c
-
-
n
-
t
-
a
-
h
-
o
-
v
f
-
a
-
-
k
j
-
-
d
l
-
q
b
-
-
-
w
-
j
y
-
-
i
-
t
n
-
w
-
-
b
-
d
q
-
-
h
-
h
-
q
-
q
-
l
-
k
-
b
n
t
-
p
-
n
e
-
-
-
-
q
u
-
w
-
g
w
a
-
p
-
-
-
-
b
-
t
-
i
-
p
x
-
-
m
f
-
-
n
-
v
-
h
-
q
r
-
-
t
-
t
-
y
-
p
v
-
-
t
-
q
-
f
p
-
-
u
j
x
-
-
-
k
b
e
i
-
-
-
-
h
-
l
-
b
-
v
-
m
-
r
-
m
j
s
b
w
s
-
k
-
t
-
m
-
-
p
-
-
-
-
-
w
c
k
w
-
l
-
v
j
-
i
-
-
-
-
h
-
d
d
-
r
r
-
-
f
x
q
p
-
-
-
-
-
x
-
-
o
-
d
-
l
-
p
-
w
-
b
t
-
b
t
-
q
-
-
-
w
-
h
k
-
y
l
-
-
k
i
-
-
s
-
q
-
-
o
-
t
d
-
-
m
-
l
f
-
-
f
-
u
-
w
-
d
h
y
-
-
w
-
-
g
a
-
-
x
p
q
-
c
-
c
-
n
-
-
-
u
u
-
w
-
y
-
-
v
j
-
-
b
-
j
-
c
h
-
-
g
-
d
-
q
h
-
r
-
-
f
-
h
-
h
-
t
-
k
-
n
-
t
-
b
-
n
-
i
-
w
-
f
-
y
-
g
-
r
-
g
m
k
d
-
-
-
-
u
-
q
a
-
-
p
-
s
b
-
-
h
-
l
-
v
-
x
f
-
f
-
a
-
-
h
-
i
-
d
-
t
-
o
-
h
-
i
-
g
a
y
-
-
-
y
-
s
d
-
-
k
y
-
p
-
-
k
-
f
-
h
-
c
-
x
-
d
-
o
-
p
-
h
-
e
k
m
x
-
-
p
-
h
-
l
w
-
-
-
-
j
-
g
-
j
j
i
-
-
-
g
-
m
-
g
-
l
i
-
-
g
-
i
q
-
-
h
-
y
f
-
-
j
-
u
f
-
-
m
-
p
f
-
-
k
-
f
-
a
-
k
-
s
-
x
-
t
-
i
-
l
m
-
x
-
-
s
-
s
-
b
f
-
-
v
-
a
-
c
-
e
-
i
-
y
c
s
o
-
-
-
-
w
-
o
k
y
-
e
-
-
-
t
m
-
-
b
-
b
-
t
-
f
-
a
t
f
p
-
-
-
-
x
-
b
j
-
b
-
g
-
a
-
-
y
-
x
-
j
-
f
w
j
-
-
-
w
l
-
-
p
-
n
-
a
i
-
-
d
-
u
-
e
l
-
-
q
-
q
-
d
-
n
h
u
-
-
-
c
-
q
-
c
c
-
-
r
-
j
f
-
-
q
-
w
q
-
f
-
-
h
-
p
-
e
p
h
-
e
g
-
-
-
-
v
-
c
-
i
-
i
-
y
s
s
-
v
-
m
p
-
g
-
-
-
t
d
-
-
-
p
-
l
-
s
-
v
-
p
-
t
-
w
-
j
-
y
-
d
-
g
j
-
-
g
-
j
i
-
-
f
-
d
-
v
-
j
-
v
-
f
b
r
-
u
-
-
-
d
i
u
-
a
p
-
b
-
-
f
-
-
-
s
-
t
-
p
-
r
-
w
q
q
-
i
k
-
f
-
j
-
-
-
x
g
-
t
-
-
-
k
k
x
-
-
-
d
-
o
-
g
-
v
-
m
-
p
u
-
-
r
f
-
-
n
-
s
m
l
e
-
-
-
-
m
-
d
-
f
s
-
-
i
-
o
-
f
-
v
-
l
-
k
-
c
-
r
u
-
-
t
-
v
g
i
d
q
y
-
-
-
-
-
-
l
-
y
-
g
-
w
-
p
-
v
-
k
-
b
-
d
-
a
-
s
-
e
-
e
-
a
-
m
-
n
-
m
-
u
-
t
o
-
-
l
-
a
-
l
-
j
t
g
-
y
q
e
s
-
-
t
-
-
q
-
-
-
-
a
-
j
-
w
-
p
-
w
-
h
y
-
-
y
-
r
w
-
-
m
-
h
-
e
-
t
p
-
m
-
-
n
-
i
-
v
o
-
-
v
s
-
-
k
-
r
k
-
-
w
-
o
-
l
s
-
v
-
-
x
-
d
-
k
t
-
-
g
-
a
-
x
-
q
-
o
-
i
-
p
-
w
-
f
-
g
i
-
-
n
f
-
o
-
-
d
j
-
-
u
-
j
-
v
-
l
-
a
s
-
-
w
o
-
-
w
-
r
-
e
-
y
-
h
-
j
q
-
-
l
x
-
-
w
h
-
k
-
w
u
-
-
-
j
-
c
q
-
-
p
j
-
-
n
-
g
t
-
-
n
-
b
e
-
-
l
l
-
-
i
-
d
w
-
a
i
-
-
-
y
-
y
-
c
d
-
q
-
-
d
-
u
-
m
i
-
-
j
-
e
-
q
-
j
d
-
g
-
s
-
-
w
p
-
-
x
e
e
-
-
r
b
y
k
q
-
e
-
-
-
a
v
-
-
i
-
k
u
n
-
-
-
n
-
y
-
-
i
-
-
d
-
-
y
-
a
-
a
-
t
-
w
-
b
-
h
-
w
-
x
m
-
w
g
f
m
-
j
-
-
-
-
-
x
j
c
n
-
k
-
g
g
f
-
-
u
-
-
-
-
-
q
-
y
-
t
-
k
-
g
-
j
c
-
d
-
-
s
-
s
-
d
-
u
-
h
-
w
-
d
-
s
-
c
j
-
-
c
-
b
-
v
-
m
-
r
-
m
-
b
-
g
-
v
-
e
l
f
-
-
y
-
-
v
r
-
-
d
l
-
-
m
k
w
-
r
j
u
-
-
-
-
g
r
-
u
-
-
-
c
-
u
-
k
q
-
-
c
-
g
e
-
-
p
n
-
s
-
g
e
y
-
-
-
-
w
k
-
-
m
-
m
-
t
t
-
-
s
-
o
-
h
-
m
s
n
b
f
w
-
-
-
q
f
-
-
-
-
t
-
k
-
w
-
-
x
-
e
r
l
-
-
m
-
f
-
-
c
o
-
-
u
s
-
b
-
-
i
b
e
g
-
-
-
-
r
-
a
-
n
f
-
-
h
o
-
-
s
j
-
q
-
-
v
-
r
m
-
-
f
-
r
-
b
-
k
-
q
-
c
-
b
x
-
p
-
y
-
-
p
f
-
r
-
c
q
-
t
-
o
e
-
n
w
-
m
-
i
-
-
w
-
-
-
h
-
-
g
h
-
a
u
t
-
-
-
-
p
o
-
-
h
-
f
-
y
b
-
-
k
-
l
-
d
-
r
v
-
-
i
-
v
r
b
t
-
o
-
x
-
-
-
-
f
-
n
-
o
g
-
-
v
-
t
-
v
s
-
-
g
g
-
-
l
v
-
-
x
-
t
-
o
k
-
-
x
k
m
-
d
-
-
-
t
-
d
c
-
-
i
-
t
-
b
-
h
-
e
-
u
v
-
-
a
-
d
r
-
-
k
s
-
-
c
-
x
t
-
-
r
-
l
-
n
l
o
-
-
e
-
-
p
-
u
-
g
-
j
w
-
-
m
-
q
-
r
y
-
j
-
-
p
-
t
-
v
-
j
-
l
-
o
-
v
-
m
-
n
-
i
-
a
x
l
l
y
e
-
-
m
c
-
-
x
-
-
-
y
-
-
-
h
x
-
v
a
-
n
-
-
-
f
-
n
-
c
-
g
c
-
-
l
-
j
-
a
-
m
p
-
-
t
q
-
b
-
-
o
-
b
j
u
u
-
-
-
i
l
-
-
-
k
j
-
x
x
-
-
-
o
-
a
s
-
v
w
-
-
-
y
q
-
-
m
-
t
-
l
-
a
-
m
-
f
b
s
b
u
q
-
-
y
-
-
-
d
-
-
w
g
-
-
-
e
-
p
o
-
-
u
-
f
-
h
-
m
-
j
-
j
f
-
-
d
-
n
-
b
m
-
t
-
-
e
m
-
-
b
-
m
-
c
s
-
-
n
e
c
-
j
-
m
d
i
-
h
-
-
-
m
-
-
a
-
-
q
-
k
y
j
-
-
-
s
k
g
-
-
-
q
-
r
-
t
y
r
f
q
y
-
-
-
-
-
-
h
-
w
e
-
-
y
-
g
-
x
a
-
-
d
-
u
-
r
-
m
-
m
n
-
-
p
-
c
-
h
-
q
-
r
-
e
t
c
-
b
-
-
a
-
-
p
-
p
q
-
-
o
s
-
-
a
-
a
p
-
x
-
-
w
f
-
r
j
h
f
-
-
-
-
-
w
-
t
-
t
-
o
-
q
e
n
a
-
-
-
-
r
-
o
-
j
e
-
-
p
-
b
-
p
-
j
-
q
-
h
-
h
-
t
r
-
-
e
v
-
p
a
t
-
a
-
w
-
-
-
-
u
c
-
x
-
t
-
-
c
s
-
-
v
-
v
c
d
-
-
-
p
-
v
-
l
-
e
-
e
o
-
-
o
h
w
-
w
-
-
-
i
q
-
-
t
-
n
-
t
-
l
-
o
-
p
-
t
t
-
-
o
w
p
e
e
k
-
-
-
-
-
-
t
-
n
a
-
-
q
-
b
x
l
-
-
g
-
c
-
-
h
i
-
s
u
w
-
-
w
-
-
-
w
h
-
-
e
-
u
-
s
-
r
-
b
-
u
c
-
-
q
m
-
-
y
-
i
-
y
-
y
-
a
-
l
-
q
-
o
-
q
-
u
c
x
-
-
-
t
-
l
-
q
-
y
-
c
k
v
-
h
s
-
-
b
-
-
b
-
-
h
-
h
r
-
-
a
n
w
-
-
-
n
m
-
-
q
f
n
g
-
h
-
e
-
-
i
-
-
i
-
m
-
-
l
-
m
-
v
-
x
r
-
-
l
-
l
-
k
-
c
-
p
-
i
-
u
-
y
-
v
-
i
i
-
-
k
x
p
t
-
-
-
-
v
-
d
b
-
-
n
-
b
-
d
i
w
-
-
n
-
-
x
-
u
-
j
-
o
-
s
-
i
-
m
-
y
-
w
-
h
-
c
-
u
-
h
-
v
-
p
-
v
t
-
-
w
-
j
-
g
-
h
c
e
f
-
-
-
-
y
-
o
b
f
w
-
b
-
-
-
-
r
-
c
-
v
-
r
b
-
q
-
-
k
-
w
-
u
p
-
-
l
k
-
-
f
-
y
-
j
-
v
-
o
j
-
-
j
f
-
-
g
-
o
m
-
-
i
-
m
-
d
-
f
-
b
e
-
-
e
t
-
-
m
-
q
-
v
-
e
v
r
-
-
w
-
h
-
-
w
-
a
p
-
k
-
-
d
-
v
-
e
-
h
-
p
-
o
-
r
o
l
-
-
-
u
-
h
-
u
-
u
j
-
-
a
-
a
j
q
d
-
-
-
e
-
-
t
-
v
w
y
-
-
-
r
m
-
-
g
-
s
-
h
-
f
f
-
n
-
i
-
-
d
n
-
q
q
-
g
-
-
-
a
-
h
p
t
-
-
-
m
q
-
-
q
-
s
x
-
-
v
g
f
-
-
-
l
-
m
-
h
-
k
-
u
-
m
s
d
x
-
-
c
-
-
-
l
-
y
-
l
n
-
-
j
x
-
-
s
-
t
-
f
-
v
-
e
-
s
-
w
-
k
-
q
-
p
-
i
j
-
g
-
v
-
r
l
g
-
-
x
-
-
-
o
b
-
u
-
-
s
-
d
-
a
-
i
-
p
-
w
l
-
-
h
w
-
-
k
-
j
-
k
-
o
-
i
s
-
-
a
-
e
d
b
e
-
-
-
-
e
p
-
-
a
h
k
-
-
-
f
-
n
m
e
-
-
l
-
-
x
d
-
-
h
-
y
-
x
-
j
-
b
-
d
-
w
t
-
-
g
-
m
c
o
-
-
-
u
-
s
-
f
-
i
-
m
-
b
d
j
o
-
-
-
-
a
n
-
-
v
-
q
t
-
i
-
-
k
-
l
s
-
y
-
m
-
-
x
-
q
-
q
h
l
-
-
-
h
-
c
t
o
-
-
-
x
-
j
-
f
d
-
-
h
-
l
h
r
-
-
-
x
-
a
-
u
-
h
y
p
-
l
-
i
-
-
j
-
-
w
-
s
-
r
-
q
-
o
f
-
-
v
s
-
-
j
-
r
-
a
-
n
-
y
n
o
-
-
d
x
-
g
-
-
-
y
o
-
d
-
n
-
-
f
b
-
-
f
-
r
u
v
-
-
-
t
-
o
v
x
b
y
-
-
-
-
-
h
-
k
i
-
i
-
e
d
h
-
-
-
-
n
x
f
-
-
-
n
-
d
g
n
-
-
-
r
-
u
n
c
-
-
h
-
x
u
-
-
i
-
-
j
-
w
-
w
-
g
t
-
-
e
-
k
-
r
x
-
w
-
s
-
-
q
-
x
-
r
l
-
v
-
-
v
-
u
-
c
-
y
-
s
-
l
-
e
-
a
-
l
-
k
c
-
-
a
-
r
e
-
-
b
t
-
e
t
-
-
-
x
y
q
-
-
x
n
-
-
k
j
-
k
-
q
-
-
-
l
x
-
-
w
j
-
-
o
-
h
-
b
-
y
-
f
p
-
-
p
-
l
-
q
-
m
s
-
-
r
-
m
-
i
g
-
-
u
r
-
p
-
-
c
s
-
d
-
a
w
-
-
-
f
q
-
-
i
-
w
-
r
t
-
-
q
a
-
-
h
-
h
k
w
-
-
-
e
l
-
-
o
-
d
c
-
-
b
s
-
-
a
c
d
h
-
q
-
s
-
-
-
-
w
x
-
-
q
k
-
-
y
-
s
n
-
-
h
p
-
-
l
-
q
l
j
k
-
p
r
-
r
-
g
-
-
-
-
-
f
-
v
-
l
-
w
-
c
-
u
-
n
-
n
-
p
n
h
-
-
-
d
-
o
-
p
m
-
-
d
-
l
p
-
-
t
-
o
-
n
t
t
-
-
u
-
-
s
-
s
e
-
v
-
-
p
d
h
t
-
l
-
-
l
-
-
-
b
-
t
r
-
-
e
-
k
-
g
-
o
-
u
y
-
-
h
-
e
q
p
-
e
-
f
-
-
-
s
v
-
-
i
-
d
-
g
o
-
-
q
-
j
-
i
-
p
-
l
-
w
-
p
-
d
-
n
i
-
-
e
-
j
-
m
-
k
g
c
-
-
-
k
b
-
-
s
o
-
j
-
-
x
b
d
q
b
-
-
-
p
-
y
p
-
-
-
n
-
-
w
e
-
c
r
-
-
a
-
-
k
-
u
-
k
-
g
-
c
h
-
-
v
-
j
-
x
-
l
-
b
-
r
b
k
-
-
-
q
t
-
-
q
-
l
h
-
-
h
-
x
-
u
-
n
r
j
-
r
-
-
j
-
-
l
t
t
-
-
-
m
-
h
-
s
-
c
-
q
-
v
-
k
-
p
-
j
l
-
d
-
-
m
e
-
-
t
a
e
r
-
m
-
k
-
q
-
-
-
-
j
-
x
-
w
v
-
j
-
-
v
-
t
w
-
p
-
v
-
o
t
-
r
-
-
-
b
-
i
-
m
y
-
b
l
-
-
-
n
-
t
-
e
v
y
-
-
l
-
-
n
-
r
-
w
x
-
-
y
-
t
h
s
-
-
-
l
-
s
-
l
l
-
-
t
-
t
c
-
h
-
-
f
-
g
-
q
h
-
-
n
b
c
j
-
-
-
b
g
n
-
g
y
a
p
y
-
-
-
-
-
-
-
-
t
-
h
-
e
c
n
c
-
-
-
-
e
t
t
-
k
-
-
x
-
-
j
-
k
-
o
e
-
y
h
-
-
p
-
b
-
-
r
r
-
-
t
-
w
-
f
t
-
-
n
-
m
k
k
-
-
-
b
-
e
-
r
-
p
l
-
a
-
o
h
-
-
u
q
-
-
-
d
u
q
-
-
-
p
-
i
s
-
v
e
b
j
-
-
-
-
c
-
e
-
y
l
-
-
n
-
-
u
f
-
g
x
-
-
-
n
r
o
-
-
-
g
-
i
-
t
y
-
-
s
-
m
-
u
-
a
-
t
-
m
o
-
i
-
l
-
-
y
-
k
v
-
-
e
c
-
n
-
-
f
l
-
-
v
-
j
-
d
-
g
-
b
-
v
g
-
-
x
-
o
e
-
-
w
-
f
-
w
x
-
-
y
-
c
a
-
t
-
-
m
u
-
-
h
-
o
-
h
v
u
-
-
-
r
-
t
-
i
-
b
-
j
-
k
-
b
-
p
-
y
-
v
-
x
-
n
-
i
n
s
-
l
-
-
-
v
k
w
-
l
-
-
-
d
g
m
n
-
-
-
-
i
-
m
-
j
-
e
i
-
-
j
-
j
-
j
-
c
-
a
p
d
-
-
j
v
-
-
g
-
h
-
-
j
-
c
-
d
o
p
-
-
v
w
-
-
-
o
-
b
h
a
o
b
f
l
-
r
-
-
-
r
n
c
-
-
-
-
-
-
-
g
-
p
-
x
-
i
s
-
t
-
t
-
-
s
-
u
-
f
-
s
-
b
-
f
-
y
-
j
-
a
i
v
-
-
-
t
-
i
-
m
r
-
t
-
-
u
-
k
-
n
y
-
y
-
a
-
-
q
-
o
-
r
-
r
-
t
q
c
-
-
y
i
-
-
a
-
-
o
-
e
-
w
q
-
-
y
f
-
q
-
-
c
n
-
-
p
u
-
-
o
-
a
b
-
-
l
v
-
x
y
-
-
-
s
e
-
-
k
-
r
-
t
v
-
p
-
q
-
-
s
r
-
-
g
-
x
-
w
m
-
o
g
-
m
-
i
-
-
-
n
-
i
s
-
j
-
-
b
-
n
-
t
-
p
o
-
k
u
k
f
-
-
-
-
l
v
-
-
-
g
k
-
-
r
w
e
-
n
e
-
l
-
-
-
i
-
m
u
-
f
-
b
-
o
-
-
p
-
-
r
-
u
-
v
-
t
o
-
-
m
-
u
l
r
q
f
n
g
-
x
-
-
-
t
-
m
-
-
-
-
-
d
-
e
-
p
m
-
-
a
-
b
-
m
-
j
-
j
-
w
r
k
y
-
-
-
-
v
-
a
-
q
y
-
-
o
-
c
-
l
y
i
-
d
-
-
h
m
a
u
-
-
-
-
-
y
f
-
x
-
-
y
o
-
-
i
-
j
b
-
k
n
w
-
-
-
t
k
y
t
-
d
-
-
-
c
-
-
-
a
v
l
-
-
f
-
c
-
-
m
-
q
-
u
t
-
q
-
-
f
h
-
-
a
-
t
-
i
-
o
q
-
-
t
-
a
l
-
m
-
-
g
-
p
-
o
-
x
s
l
-
v
-
f
p
-
-
-
-
e
b
-
-
j
-
s
w
o
-
-
-
d
-
i
o
t
-
-
t
j
-
t
l
-
-
-
m
-
-
j
-
v
-
m
-
s
-
w
j
-
-
s
-
l
-
c
-
d
-
l
-
i
-
o
-
n
-
o
-
j
-
t
-
r
-
b
r
-
b
b
-
n
-
-
-
i
-
r
n
-
-
p
-
o
-
a
-
e
w
k
-
-
c
-
-
p
-
m
-
h
-
y
p
-
-
k
-
y
-
n
a
-
-
m
-
j
n
-
-
h
-
y
-
m
p
-
f
-
x
-
i
a
-
-
-
b
-
w
-
n
-
h
e
m
g
-
-
n
-
d
-
p
-
-
-
y
-
x
-
i
-
t
-
s
-
v
c
-
-
o
-
n
b
-
-
v
-
p
-
x
-
b
-
r
-
h
-
s
-
d
y
-
-
s
-
o
-
k
-
s
u
-
l
w
-
p
-
q
y
-
-
b
u
u
j
-
-
-
-
-
-
d
-
p
-
t
-
l
-
r
-
x
-
e
-
i
-
m
s
r
-
h
-
-
k
-
-
s
-
o
-
w
a
-
m
-
j
-
-
k
r
-
-
i
-
q
-
v
-
u
-
a
-
l
-
q
c
-
-
a
-
v
w
a
-
f
-
-
b
-
-
w
-
n
-
d
-
f
x
-
o
-
-
b
-
h
-
u
-
h
-
r
q
y
-
u
y
p
-
-
-
-
-
d
-
k
l
p
m
-
-
-
y
-
f
-
p
-
-
k
-
b
-
u
p
-
q
-
-
x
y
-
-
i
-
w
-
y
q
-
-
c
f
e
m
-
-
r
-
-
-
s
-
d
-
y
p
-
-
w
q
-
-
d
-
v
r
f
-
f
-
-
-
n
-
f
g
n
-
-
-
g
-
v
-
w
n
-
j
-
-
g
-
m
-
t
t
-
-
y
-
k
v
-
-
q
j
-
-
s
i
-
-
p
-
c
m
-
u
s
-
-
-
j
m
-
-
v
-
l
-
a
-
q
-
s
-
c
-
f
-
g
-
k
-
e
-
m
-
x
-
f
-
o
-
d
-
x
-
u
-
y
-
g
c
r
-
c
-
h
-
-
-
c
-
x
-
f
-
b
v
e
-
-
e
-
-
q
i
-
g
-
-
h
-
s
h
-
-
l
c
-
-
k
-
m
-
g
t
-
m
-
-
a
-
c
-
l
-
v
-
e
-
k
s
o
-
-
-
y
-
s
-
h
d
-
-
u
-
t
-
s
t
i
-
-
-
i
-
w
j
-
-
r
t
g
c
-
-
-
-
l
-
n
n
-
-
i
-
r
u
-
-
s
-
d
w
g
p
-
p
-
-
i
-
a
-
-
-
u
-
h
-
a
j
-
-
i
-
c
-
s
-
w
-
r
-
u
k
-
-
l
-
i
-
q
-
b
l
-
-
v
-
i
-
u
-
a
-
o
-
j
c
-
o
-
-
u
-
s
-
m
f
-
-
t
a
a
k
-
-
-
-
d
-
r
d
-
y
x
q
-
-
d
-
x
-
-
b
-
-
q
-
t
-
h
m
-
-
g
-
r
-
k
-
p
w
-
-
r
-
m
j
-
n
-
-
d
-
l
-
c
-
e
-
o
h
-
-
r
d
i
m
x
d
-
-
-
u
-
w
k
i
-
w
-
-
u
q
-
l
-
o
-
-
-
-
-
-
r
t
-
-
i
-
s
-
r
-
l
i
i
o
-
-
r
-
-
e
w
-
k
e
-
-
-
l
-
-
w
-
m
-
s
-
l
-
y
-
h
g
-
-
h
-
s
-
o
t
-
-
t
-
s
-
c
-
r
-
e
-
j
q
-
e
-
-
h
g
s
-
-
-
i
r
-
-
r
u
-
-
b
-
y
-
m
-
t
-
h
h
a
v
-
-
-
-
q
-
g
-
v
-
m
-
o
-
c
-
t
-
h
-
k
r
-
e
-
-
p
-
i
-
x
-
l
-
b
t
-
t
-
b
-
-
j
-
p
-
j
x
y
-
p
a
-
-
u
x
-
-
u
r
-
-
-
-
i
-
h
-
r
-
f
w
-
v
f
-
t
-
l
b
k
-
-
o
-
-
d
o
-
-
-
p
-
-
f
-
r
p
-
-
j
-
e
-
j
-
c
y
-
-
k
-
t
-
q
-
i
g
-
-
n
c
-
-
a
g
q
o
-
-
-
-
n
-
r
-
i
-
l
-
t
-
e
w
-
-
v
u
-
-
v
u
j
-
-
-
p
-
f
-
v
-
s
j
-
-
a
-
y
e
-
-
e
-
m
-
l
-
j
-
f
-
y
-
m
-
o
-
d
-
n
-
x
-
x
-
r
-
p
e
-
-
c
r
-
-
c
-
i
k
-
-
i
-
a
y
-
-
g
-
u
i
-
s
-
-
s
r
d
e
i
-
-
-
o
-
-
m
g
-
-
-
u
k
-
n
-
-
e
-
f
x
-
i
t
e
e
-
-
-
q
-
-
m
-
-
h
k
f
-
-
-
i
x
-
-
t
-
c
-
t
-
o
-
g
k
-
-
h
w
n
-
w
-
-
y
-
-
q
-
m
-
i
c
-
-
h
w
d
-
-
-
l
-
j
-
t
w
s
t
-
-
-
-
x
-
n
-
p
-
l
w
-
m
-
-
u
q
-
-
h
-
w
-
h
-
a
-
s
-
k
h
-
w
-
-
u
-
j
-
k
-
e
-
n
-
q
-
r
-
n
x
v
-
-
w
-
-
s
-
a
c
-
u
-
-
h
d
q
-
v
f
-
-
v
t
c
-
-
-
-
-
k
x
-
-
x
-
u
c
-
-
s
t
-
-
i
h
g
-
-
y
-
-
g
-
x
-
f
-
x
-
u
-
r
u
-
t
-
l
-
j
-
-
g
s
-
-
u
h
s
w
-
-
-
-
n
-
m
-
l
f
-
-
a
-
a
-
b
-
h
o
-
-
y
n
-
y
-
-
d
-
o
r
-
-
i
-
l
-
s
u
-
o
u
u
w
-
-
-
-
-
i
-
s
-
b
-
m
-
r
-
o
h
-
r
o
-
i
-
-
-
y
o
f
-
-
-
q
-
k
-
r
t
-
-
a
u
i
u
-
v
-
-
-
-
u
-
w
-
x
-
o
-
b
-
d
-
x
-
l
-
r
-
j
-
q
-
n
-
o
-
l
-
e
n
j
d
-
-
-
-
b
-
k
-
s
-
d
-
y
t
-
-
k
-
p
n
-
e
y
a
e
-
u
s
h
-
-
-
-
d
k
-
u
-
-
g
-
-
a
i
m
n
-
-
-
w
e
-
-
n
-
-
-
n
-
-
l
-
t
-
s
-
b
s
e
-
-
-
f
-
r
k
-
t
n
-
-
-
j
-
a
-
o
-
q
b
k
x
-
k
-
-
h
-
e
-
-
-
b
-
f
t
b
-
-
-
l
c
-
-
q
-
a
-
g
-
j
-
d
i
-
e
-
-
c
a
-
-
o
b
-
-
o
-
b
-
b
-
s
-
o
-
j
-
h
-
m
-
n
h
-
i
-
-
w
-
u
-
a
y
-
-
j
-
i
h
f
-
p
-
w
-
-
-
a
q
-
-
e
p
g
-
-
-
t
o
-
-
q
j
v
-
-
w
l
-
-
o
-
-
s
-
r
-
i
-
e
-
y
-
g
s
-
a
-
-
w
x
-
j
-
m
-
-
m
-
n
c
f
t
-
-
-
-
r
-
v
b
-
e
-
t
v
-
-
-
l
-
d
w
i
-
f
p
-
p
y
-
-
-
o
-
v
b
-
x
-
-
-
l
-
-
n
-
b
v
n
e
-
-
-
r
r
-
-
-
d
h
h
-
-
-
c
-
x
v
-
-
i
p
f
l
v
-
e
c
-
-
e
r
-
-
-
-
-
i
-
-
e
a
-
-
p
-
n
m
-
c
d
-
-
-
y
-
q
p
-
o
-
-
o
-
h
-
a
k
-
-
m
h
k
-
-
t
-
-
p
-
s
t
-
-
i
-
a
-
h
-
r
-
q
-
t
-
y
-
c
-
k
-
m
l
-
-
d
j
-
-
o
x
-
g
m
b
-
n
-
-
o
-
-
-
h
-
p
-
a
-
c
-
x
s
-
-
q
-
x
-
y
-
s
-
n
-
j
-
t
-
a
-
n
-
m
a
-
x
-
w
-
j
-
r
u
-
-
-
b
-
v
-
u
-
g
-
g
m
-
-
n
d
-
-
f
e
e
t
-
k
-
-
i
-
-
e
-
y
-
-
b
-
k
-
d
-
n
-
k
-
e
n
-
-
c
-
b
-
s
-
a
-
l
-
n
v
f
g
-
-
o
-
-
-
c
e
x
-
-
h
-
-
o
-
a
s
-
-
r
-
d
k
-
k
j
x
-
-
-
l
v
-
-
v
i
i
-
q
e
-
n
-
-
-
y
-
-
-
r
k
-
-
v
-
y
-
l
t
-
-
i
x
-
-
h
u
v
-
-
b
-
-
b
f
-
-
v
m
-
-
f
-
d
-
b
-
w
h
-
c
-
-
p
-
g
-
e
-
t
f
r
-
-
-
u
-
l
-
g
w
d
k
-
n
-
e
h
b
-
-
p
r
o
-
-
-
t
s
-
-
-
-
-
w
-
-
f
-
t
-
b
u
-
t
-
-
q
-
d
d
k
h
-
-
-
-
r
d
-
p
n
-
-
-
v
g
-
-
p
-
x
-
j
-
p
-
q
-
m
-
q
-
a
v
-
-
u
f
v
-
-
-
n
-
p
j
-
g
-
u
-
-
a
r
-
-
k
v
-
-
n
-
s
-
q
-
o
n
-
v
-
u
-
g
-
g
-
-
p
-
j
t
-
t
-
-
n
e
-
-
b
f
-
v
x
-
-
-
s
-
h
e
v
-
t
a
p
x
-
a
-
-
-
k
-
-
-
c
-
-
t
-
k
m
-
-
b
x
-
-
d
m
-
-
s
o
-
-
o
-
r
-
m
-
a
v
c
-
-
-
p
-
r
-
f
-
s
-
s
g
-
-
a
-
a
-
k
-
e
-
j
k
-
-
y
-
o
w
-
-
l
-
a
-
k
-
s
-
n
-
a
g
-
-
a
-
x
-
h
-
l
-
q
k
-
-
o
-
h
i
-
-
a
-
j
b
-
-
p
u
-
-
l
i
-
-
l
-
d
-
i
n
-
u
h
-
i
s
-
-
w
f
-
j
w
-
-
-
-
-
s
-
i
m
-
-
h
-
c
a
x
-
-
-
k
-
g
x
-
a
-
a
-
-
g
-
b
k
p
k
j
-
-
-
e
-
-
u
c
h
-
t
-
-
d
k
-
-
-
-
u
t
-
-
o
-
r
-
k
-
g
e
b
-
-
-
r
p
s
-
t
o
-
u
-
-
-
x
-
g
m
-
-
-
l
-
o
-
f
-
k
k
-
-
r
-
t
-
p
v
-
-
o
-
u
-
q
h
i
-
-
-
j
-
e
-
i
a
-
-
f
i
-
l
-
-
r
-
a
-
a
-
c
-
h
-
i
w
-
-
i
-
i
l
x
w
f
-
-
-
-
-
m
a
-
-
v
w
-
-
v
-
x
-
m
-
d
-
j
-
s
-
h
-
p
c
v
-
x
-
-
-
b
u
t
-
k
d
-
g
c
-
o
-
d
-
y
j
-
f
-
-
-
-
-
k
x
-
-
-
h
-
s
l
-
-
p
e
p
-
m
-
-
-
j
k
-
-
u
g
-
-
y
-
l
-
g
-
b
c
q
-
m
p
-
-
-
-
y
-
p
-
c
p
n
-
-
j
w
-
-
d
f
y
-
-
f
-
-
i
-
-
d
-
u
o
-
-
d
-
q
p
-
-
u
-
b
-
f
w
-
-
e
-
i
-
l
-
y
-
h
b
-
f
-
-
j
i
o
-
h
-
-
-
j
-
a
p
-
-
d
-
k
t
-
-
w
-
q
-
n
-
c
-
j
-
h
i
m
l
-
-
j
-
v
-
-
-
s
v
-
-
o
-
v
-
a
-
s
-
n
f
-
-
q
-
w
e
b
x
i
-
-
-
-
-
v
-
p
-
y
-
h
-
e
-
u
-
f
-
n
-
m
-
r
-
p
-
p
-
t
-
w
-
n
-
y
-
h
-
g
-
a
-
r
-
m
s
-
b
m
-
i
-
-
x
-
-
r
-
y
-
x
-
o
-
u
a
-
-
f
w
c
h
-
-
w
f
-
-
-
x
a
o
-
-
-
d
x
-
-
f
-
-
d
-
l
c
v
-
-
-
l
-
i
-
e
-
c
-
v
b
-
m
-
-
a
-
n
-
s
-
q
-
x
f
j
o
-
-
-
o
-
p
b
-
-
-
o
-
k
-
t
-
i
-
k
-
m
-
j
-
j
-
v
c
-
d
-
-
j
-
c
k
v
-
m
y
-
-
g
-
-
-
c
-
k
-
g
-
e
-
t
-
s
j
-
g
-
-
p
w
-
-
q
-
u
-
n
i
-
h
-
-
o
p
-
-
k
q
-
-
s
-
x
-
c
-
p
-
g
f
e
-
-
-
b
-
u
-
p
-
f
-
v
-
l
-
c
-
t
-
e
-
k
-
p
v
-
-
u
-
r
-
k
p
-
s
m
-
w
-
c
d
-
-
-
-
q
-
f
h
-
-
q
-
e
-
v
-
o
-
o
s
-
-
k
-
a
o
-
-
i
-
e
k
-
s
-
f
k
-
-
k
-
-
q
-
t
-
t
-
w
-
p
c
b
-
-
w
-
-
g
-
t
-
p
-
y
x
-
-
b
h
-
-
c
-
u
h
b
y
e
-
-
-
p
u
q
-
t
-
l
-
-
-
-
-
d
m
u
-
-
-
v
-
k
-
o
h
v
a
k
w
-
g
-
-
-
-
-
-
j
-
k
u
-
b
x
g
u
-
v
-
e
f
-
-
t
-
-
o
s
-
-
-
d
-
-
a
e
-
-
-
d
-
l
q
o
-
n
h
-
-
-
-
q
p
-
-
c
-
g
q
f
b
x
j
-
n
-
-
d
-
-
-
-
c
y
-
f
e
-
a
-
-
-
g
x
j
m
-
q
-
-
-
w
-
-
-
t
-
d
-
d
p
-
-
e
-
l
t
-
-
w
m
-
-
q
-
p
y
-
-
j
-
u
-
p
p
-
-
a
-
d
-
u
h
-
l
-
h
-
e
g
-
v
-
-
-
l
-
d
-
l
a
v
-
-
-
m
-
f
k
-
-
i
t
f
q
-
-
w
-
a
x
d
v
-
s
-
-
-
q
-
t
-
-
-
-
h
-
t
-
s
y
-
-
a
o
j
-
-
-
b
-
f
-
v
-
i
-
y
w
d
p
-
g
-
d
-
-
-
-
p
-
m
-
q
-
r
-
h
l
u
-
o
-
o
-
j
j
s
-
-
-
-
-
q
-
p
-
j
-
p
j
o
-
-
-
u
-
b
h
-
v
-
-
k
-
l
-
l
-
x
-
f
-
j
-
e
y
-
-
b
-
h
-
t
-
n
-
k
o
e
-
-
-
r
h
-
-
p
-
q
-
w
-
g
e
u
p
-
-
o
a
-
s
n
-
-
-
-
t
y
h
y
-
-
-
i
q
s
-
l
-
m
t
-
-
-
-
-
-
q
-
d
-
p
-
i
a
t
-
w
o
-
-
-
y
-
-
h
-
t
x
-
p
m
d
-
-
-
-
t
a
-
-
w
h
-
-
n
-
o
-
a
v
n
-
x
h
q
-
-
v
t
-
-
l
-
-
-
-
v
-
k
-
f
-
r
-
d
-
c
-
j
v
-
-
l
-
p
-
n
-
y
-
v
-
l
y
-
-
a
e
c
-
-
-
k
-
f
-
q
-
c
o
b
-
x
-
-
-
m
-
i
-
w
y
-
-
e
b
g
-
-
-
n
-
f
m
-
-
j
-
r
-
g
-
m
-
o
j
y
-
o
m
i
x
-
-
-
-
-
-
b
-
x
-
l
-
m
-
l
-
p
-
m
p
-
-
d
u
-
-
u
-
b
f
-
i
-
h
c
-
-
c
p
b
t
f
-
c
-
h
i
-
-
x
-
-
-
-
-
y
-
-
o
-
u
-
m
b
r
-
-
-
h
s
-
-
m
-
d
-
e
-
w
-
e
w
-
-
n
b
-
-
o
-
c
-
l
r
-
-
w
-
y
-
o
m
a
r
-
q
d
y
s
y
-
-
-
-
-
t
a
f
i
-
-
r
-
-
-
-
-
m
m
-
-
o
-
u
-
k
-
n
-
o
-
-
x
-
n
-
u
-
p
-
s
-
q
-
k
d
-
e
-
w
-
-
l
j
-
x
f
-
-
-
q
k
-
u
b
d
-
-
n
-
-
-
j
-
c
-
k
-
b
-
n
n
-
-
p
-
b
-
o
-
q
-
j
-
x
-
x
-
b
-
q
-
x
j
-
-
r
u
d
-
-
-
c
b
-
-
d
-
k
-
u
-
d
-
u
-
h
d
-
-
l
-
a
-
a
n
c
s
-
-
-
-
h
a
-
-
w
-
p
r
-
-
s
-
s
-
u
-
q
d
-
-
u
-
g
-
f
-
p
-
a
-
n
u
u
a
j
r
-
m
t
-
-
-
-
o
-
-
-
x
-
-
v
b
-
-
y
-
m
k
-
-
s
-
h
-
a
-
m
-
l
-
s
-
l
y
-
-
u
h
-
g
i
g
s
-
l
-
-
-
-
-
v
-
x
-
p
-
p
h
-
-
g
-
e
-
p
-
g
t
-
-
r
-
k
-
t
-
b
-
f
-
n
-
g
-
e
-
o
-
e
y
k
-
-
-
y
p
d
h
f
-
-
-
f
-
-
-
l
b
-
-
x
-
v
-
e
-
w
-
x
-
c
o
o
t
p
-
d
-
-
n
-
-
f
q
-
-
x
-
-
-
a
m
g
-
-
-
r
-
w
-
u
-
a
-
f
-
k
-
w
m
-
-
l
x
-
-
t
-
m
u
-
-
k
h
-
-
e
k
-
-
x
c
-
-
n
u
c
-
-
i
e
-
-
-
f
s
r
g
-
-
-
n
-
-
r
-
x
-
r
t
-
-
h
p
w
x
-
-
t
-
-
-
p
l
-
x
-
-
m
-
y
-
x
-
e
-
a
b
k
-
-
r
-
-
q
-
f
o
n
-
i
-
-
v
-
o
-
-
a
-
v
-
i
-
g
-
m
-
m
p
-
a
-
-
v
-
x
-
v
-
u
e
n
g
-
-
o
-
s
-
-
v
i
-
-
-
f
-
u
-
q
g
-
-
j
-
a
-
l
o
-
-
f
l
-
h
m
i
j
t
s
-
-
-
h
l
v
-
-
-
-
-
g
-
x
l
-
-
-
-
w
i
-
h
-
-
x
-
w
n
-
-
k
-
v
-
t
-
e
-
o
-
w
-
d
-
o
-
t
-
c
-
x
-
n
-
y
-
x
w
-
m
-
-
k
i
-
-
j
-
b
-
t
-
h
-
v
-
w
u
j
p
k
o
-
-
-
-
v
-
-
-
r
-
a
-
h
l
-
-
j
v
-
-
k
-
m
-
j
-
e
d
-
-
i
-
k
-
f
o
-
b
-
p
-
q
-
-
w
c
y
a
-
-
-
k
o
k
k
-
-
-
-
-
h
-
s
-
w
m
-
-
g
-
e
-
q
i
b
y
v
-
q
q
-
-
-
-
-
w
-
-
s
-
s
w
-
-
e
r
-
o
q
r
-
-
-
-
u
-
k
-
x
y
-
-
b
-
d
m
-
x
g
f
-
-
-
-
x
e
-
q
-
q
-
-
r
-
w
-
y
-
o
y
-
-
m
-
u
x
e
-
p
a
-
-
-
-
r
n
-
-
m
-
w
-
j
-
s
e
-
u
-
-
v
x
-
s
-
-
p
c
i
-
p
-
r
-
g
v
u
k
-
-
i
-
-
-
b
-
-
-
e
-
d
-
v
-
w
g
-
l
i
-
i
-
-
g
-
u
-
j
-
-
c
r
h
-
-
i
-
-
g
-
v
-
k
y
-
-
c
g
-
-
h
-
r
-
v
-
k
u
j
l
-
d
-
-
f
-
-
-
a
-
f
-
q
r
-
-
w
-
j
-
l
-
f
-
e
d
-
-
u
-
p
-
a
-
w
-
w
-
k
i
-
-
a
-
f
-
k
l
n
-
-
-
p
-
i
-
g
p
b
-
-
-
i
-
j
-
c
m
f
-
-
t
-
-
f
-
y
-
e
c
-
-
s
-
x
i
-
-
f
-
k
-
h
y
-
b
-
f
-
-
a
l
v
-
-
-
s
-
d
-
f
-
b
l
x
v
-
f
j
-
-
-
-
-
k
-
h
-
i
-
r
x
-
y
c
-
-
m
e
-
-
-
r
s
-
-
d
-
b
o
-
l
n
-
-
-
e
-
t
-
l
-
d
-
t
-
w
-
q
-
r
-
o
r
l
q
-
-
-
-
x
x
-
x
k
u
d
-
-
i
-
-
-
-
p
f
-
-
n
n
-
-
v
s
e
-
i
s
e
-
d
l
-
-
u
-
x
-
-
-
g
-
-
d
-
-
n
-
r
s
y
-
-
-
o
p
-
-
r
y
-
-
j
-
e
p
-
y
-
-
n
-
h
y
-
-
l
-
v
-
b
o
-
-
t
-
s
x
-
-
d
-
a
-
e
-
w
-
q
-
x
i
-
v
s
-
j
-
-
o
-
-
p
-
q
-
l
-
x
-
b
-
t
-
w
-
x
-
b
-
x
-
w
-
f
-
f
-
t
x
-
-
u
r
a
y
-
k
-
-
-
-
j
-
r
-
r
h
s
-
-
-
w
-
i
-
i
-
b
-
h
-
m
-
v
x
-
-
c
-
y
-
x
-
y
-
c
j
-
-
w
-
s
a
u
-
-
-
o
-
r
x
-
q
-
-
i
-
e
s
-
l
k
-
l
-
-
-
l
-
c
-
g
k
a
-
j
w
-
-
-
-
k
-
a
n
-
g
-
-
q
i
-
c
-
-
h
v
-
-
f
-
o
-
t
-
d
y
-
-
b
-
f
-
w
m
-
c
-
u
-
-
h
-
r
-
c
s
-
-
k
f
-
m
i
-
-
-
w
j
y
-
-
g
-
-
e
-
i
-
j
-
q
c
q
-
y
-
e
-
o
-
n
-
-
u
-
-
r
-
w
-
o
l
-
-
e
-
x
-
c
-
e
-
u
-
h
s
-
-
a
f
-
j
-
-
t
-
g
m
-
-
h
s
-
-
u
-
x
-
g
-
l
g
i
y
-
-
h
-
-
-
s
u
e
-
-
-
p
-
x
t
-
-
x
-
r
-
g
h
-
-
b
-
i
-
n
h
s
g
n
-
-
m
-
o
-
-
-
p
o
-
h
-
-
-
b
-
n
d
-
u
j
-
-
o
l
-
-
g
-
j
o
b
-
-
-
s
j
i
b
-
-
-
-
y
-
-
k
k
-
-
j
m
-
-
j
i
-
-
r
-
v
f
-
-
r
-
t
f
-
-
c
r
-
-
o
-
l
-
o
v
m
-
g
-
-
-
w
m
-
-
d
-
m
w
-
c
c
a
y
-
-
-
y
-
-
i
-
q
-
t
-
-
n
-
i
c
-
a
-
-
b
-
a
-
v
-
n
y
-
j
-
n
m
-
j
-
s
-
-
-
m
b
-
-
s
u
l
v
f
h
a
p
-
-
-
q
e
-
-
y
n
h
-
-
-
-
-
-
-
-
y
j
-
b
l
j
-
-
-
s
j
-
-
-
f
-
s
-
h
v
v
-
-
h
-
-
k
l
v
-
-
-
y
r
-
n
-
-
c
q
-
-
j
-
j
-
c
w
t
-
-
-
d
-
l
-
c
t
-
e
-
-
x
-
o
v
-
-
p
h
-
-
v
-
h
-
b
-
h
-
q
v
-
-
d
-
q
y
e
-
-
-
g
-
m
-
q
w
-
-
e
h
k
m
-
-
-
-
l
-
o
j
-
-
o
c
a
-
w
-
-
-
g
-
o
y
-
-
x
q
-
-
e
-
u
c
-
-
k
-
e
y
-
-
v
-
g
-
a
-
u
-
r
-
h
-
e
-
x
-
g
-
e
t
c
-
-
-
p
-
r
-
p
-
q
-
d
-
y
-
i
-
a
-
a
t
-
-
b
-
m
-
o
-
s
-
f
v
-
-
x
-
x
-
v
-
c
-
o
-
l
-
d
q
e
e
-
r
-
f
-
-
-
-
m
k
-
-
w
-
k
-
c
-
w
l
t
-
-
-
u
-
c
-
g
-
r
-
i
-
p
-
y
-
a
r
-
-
o
-
t
c
-
-
l
k
-
c
-
-
c
w
w
-
-
u
-
-
j
-
m
p
-
-
p
-
f
h
f
-
-
-
r
g
-
-
f
-
e
-
c
w
a
e
y
-
d
-
-
-
y
-
-
k
n
d
-
j
-
-
v
-
b
-
-
-
y
d
-
-
x
y
t
c
-
w
p
-
i
i
-
-
-
-
-
-
w
w
-
-
a
k
g
-
h
-
-
h
h
-
l
u
j
-
-
v
w
-
-
-
v
-
-
-
s
y
-
x
-
f
h
y
-
f
-
-
r
-
-
-
i
-
n
u
-
s
-
m
-
-
h
-
f
-
g
-
f
-
l
-
v
-
o
-
r
-
b
j
r
-
y
-
-
-
k
-
p
b
h
-
-
-
e
-
e
-
w
-
v
y
r
-
g
-
a
-
-
-
b
p
-
h
-
-
x
l
-
-
u
-
l
-
e
-
j
-
p
f
-
-
n
-
j
-
f
-
h
-
d
-
l
k
-
q
-
v
-
-
k
-
r
-
e
-
u
f
-
-
k
d
-
-
q
-
c
g
-
-
c
-
r
t
-
-
d
j
-
-
g
-
m
j
-
-
e
-
k
-
y
g
-
-
g
g
u
-
i
-
e
k
i
-
m
w
-
-
k
-
r
-
-
-
-
d
-
-
k
-
l
j
-
e
-
-
f
-
s
-
x
-
f
-
e
-
k
-
n
-
v
-
d
-
u
-
x
-
m
-
x
k
-
b
-
-
h
v
-
-
g
k
-
-
t
a
o
-
n
-
h
-
-
h
t
-
-
m
t
-
-
-
m
-
m
-
p
q
-
-
o
-
m
-
i
-
i
i
-
-
t
-
d
c
-
-
m
-
y
-
l
r
q
-
r
n
b
-
-
s
-
x
l
-
-
-
-
-
f
n
-
-
l
-
a
-
s
v
-
c
-
-
a
-
g
-
x
y
-
p
o
-
j
-
g
-
n
-
u
-
-
-
v
-
e
-
u
-
h
-
m
-
q
-
x
-
b
q
-
-
y
-
b
-
b
-
w
-
o
r
-
-
r
-
y
g
-
-
o
-
r
-
d
-
k
-
x
-
g
-
t
i
-
-
p
-
d
-
j
k
-
-
w
-
c
r
-
b
e
-
-
-
a
-
o
-
p
f
n
-
-
-
v
i
-
-
w
y
-
-
j
b
-
-
c
-
y
-
l
q
-
-
d
w
-
g
-
-
x
w
b
-
e
s
-
-
f
n
-
-
x
-
-
-
a
-
r
-
w
j
w
-
-
f
u
-
-
v
-
-
b
-
r
w
-
-
n
-
r
y
r
n
l
s
-
o
u
-
n
-
u
w
b
-
-
n
u
-
y
-
-
o
e
-
-
-
-
-
-
-
i
u
-
b
y
i
-
-
-
-
-
-
y
p
-
-
e
j
-
v
-
j
-
-
s
-
o
-
w
-
k
-
y
g
-
s
o
-
-
-
o
h
-
-
e
g
-
-
w
-
e
a
-
y
w
f
-
-
j
e
-
w
-
-
u
-
-
-
s
-
x
-
j
-
i
y
-
-
d
-
c
-
i
x
-
l
-
w
-
x
-
-
d
-
p
i
o
r
q
-
-
-
-
g
p
-
-
-
s
-
x
-
o
-
f
-
n
-
v
d
-
-
w
-
f
h
-
-
v
-
d
-
g
-
c
-
g
-
c
-
v
-
v
k
v
-
c
c
-
b
q
-
-
-
-
-
t
a
h
-
-
t
d
x
-
c
-
-
-
-
i
-
a
-
g
-
q
-
m
e
a
-
-
-
e
-
u
-
q
l
e
-
n
-
g
-
-
u
t
-
-
-
f
-
q
x
d
-
n
-
-
p
-
u
n
q
l
-
c
-
c
f
p
-
x
-
-
l
-
-
-
h
-
k
j
-
-
-
-
-
i
k
-
-
v
w
g
c
-
-
-
-
r
a
-
-
j
-
p
-
u
-
k
-
q
-
r
-
o
-
m
-
k
-
h
-
a
-
a
-
p
-
i
b
h
-
-
e
-
-
j
w
-
-
t
s
c
-
w
n
-
-
-
-
q
-
s
-
f
m
-
-
e
-
f
-
v
s
-
j
o
-
j
-
-
-
k
x
-
-
u
-
s
-
h
r
-
-
c
l
-
-
y
-
d
-
s
-
o
-
w
-
x
-
f
o
-
-
m
-
c
b
u
-
g
-
-
-
u
-
y
r
-
-
f
-
o
p
-
p
j
g
-
-
-
-
r
-
t
-
s
-
e
-
q
k
-
r
-
-
q
-
q
-
r
-
o
-
c
-
s
-
r
-
f
-
n
x
o
-
u
q
c
-
-
-
-
c
m
e
-
-
-
a
r
-
f
-
-
k
r
u
-
-
-
c
-
-
c
-
s
-
b
p
-
-
w
w
-
g
-
-
w
t
-
-
t
-
j
v
n
c
-
-
-
-
d
-
j
a
-
-
s
-
n
l
-
u
t
-
-
d
-
j
-
-
n
i
-
q
o
-
-
r
-
g
-
r
i
-
-
-
k
-
g
-
r
-
g
-
a
-
l
-
f
-
o
-
v
x
-
e
-
-
l
g
-
-
s
-
b
-
f
u
-
-
m
-
w
k
w
o
-
e
-
-
-
-
k
-
k
-
e
-
q
-
j
-
h
g
-
-
n
-
h
-
y
-
s
-
e
-
m
o
d
-
r
-
u
-
-
-
c
m
-
-
q
y
-
-
f
-
b
o
-
c
n
n
a
-
-
-
a
m
-
-
-
n
-
d
-
-
h
-
r
-
p
-
x
-
v
-
s
u
-
-
f
e
-
q
-
-
b
-
r
v
f
-
-
b
-
-
t
-
r
-
r
-
w
-
n
-
g
-
e
-
p
-
o
c
-
w
w
-
-
-
a
-
a
-
s
t
-
b
x
-
w
l
o
-
-
g
-
-
-
-
u
-
k
-
w
j
h
-
g
-
x
-
a
-
o
-
-
-
w
j
n
-
-
-
t
-
r
w
l
-
-
-
h
-
k
-
u
p
-
-
d
-
x
-
l
h
-
-
k
i
i
s
o
-
-
g
-
p
-
-
-
m
g
-
q
-
-
q
-
-
t
n
-
p
g
-
-
-
s
n
-
p
e
-
-
s
-
-
s
q
-
s
-
f
s
-
-
-
s
p
-
n
-
-
i
r
-
-
a
-
a
-
s
-
o
s
-
-
o
n
d
-
-
-
w
-
r
-
c
-
p
-
x
-
p
f
-
p
m
-
-
-
d
-
j
j
-
-
i
-
o
-
v
b
q
-
n
o
-
-
c
-
-
-
f
-
y
-
e
y
o
-
r
-
y
o
-
-
-
l
-
f
-
-
o
-
i
e
-
-
v
g
n
-
d
-
-
-
g
f
k
-
k
-
a
-
p
f
s
t
v
-
p
-
-
-
-
-
-
-
r
p
t
-
-
x
-
-
b
r
-
-
x
-
e
-
l
-
r
n
s
-
-
-
u
-
a
-
l
a
-
-
c
-
o
-
g
i
m
h
-
-
w
h
r
-
-
-
-
j
-
-
g
o
-
-
q
n
-
-
o
-
y
-
c
-
c
-
t
u
a
-
-
-
f
u
a
-
r
g
-
m
c
-
d
-
-
-
-
r
d
-
-
w
-
-
c
-
n
-
x
-
o
p
-
-
p
-
e
-
q
-
h
-
b
-
t
k
-
-
w
-
p
-
e
-
i
-
v
-
u
n
-
x
-
w
-
-
j
-
h
-
q
-
s
-
n
k
-
-
g
-
s
-
t
-
p
q
v
-
-
-
r
-
d
l
-
-
d
-
e
-
t
-
h
-
x
-
h
o
-
-
e
e
-
-
x
-
k
m
-
-
i
-
l
-
u
-
x
-
d
-
m
-
u
-
e
-
f
-
x
-
s
-
i
x
-
f
-
-
d
y
-
-
y
l
-
-
y
-
n
-
g
-
f
-
v
f
-
j
-
s
-
t
p
-
f
-
-
-
p
-
v
-
a
-
e
i
-
-
b
-
l
q
-
-
c
-
l
-
k
p
-
-
b
-
e
h
-
-
x
h
-
-
s
i
-
c
-
-
j
-
h
-
s
-
x
d
c
-
-
-
g
-
e
p
-
t
-
d
-
f
-
-
w
-
w
-
f
o
-
-
f
e
-
t
-
d
-
-
h
-
i
w
-
-
w
-
k
-
x
-
u
-
l
-
r
a
v
f
o
v
-
-
-
-
m
-
-
-
y
e
-
o
x
-
-
-
s
x
-
-
m
-
v
a
-
-
o
d
c
i
-
w
-
a
-
i
u
-
-
-
-
-
g
e
-
-
m
-
i
-
u
k
m
-
a
-
-
-
o
y
-
-
t
w
f
-
-
x
d
g
-
w
-
i
-
-
f
-
-
-
w
a
-
-
r
d
-
-
q
-
l
-
v
-
e
-
m
k
-
-
h
-
t
f
y
w
-
q
-
-
q
-
-
-
i
-
q
w
-
-
p
p
-
h
i
-
-
-
e
-
b
x
b
-
-
-
d
-
t
-
o
-
l
c
-
s
t
-
-
-
e
-
r
-
i
-
a
-
v
-
g
-
e
k
-
r
e
-
m
v
-
w
r
h
-
-
i
-
e
-
-
-
-
-
f
-
s
p
-
-
k
-
w
o
m
-
y
-
-
-
h
-
w
-
f
-
i
-
q
-
e
b
-
-
t
f
-
-
s
-
k
-
m
x
-
-
e
-
r
-
i
-
b
-
u
s
-
-
j
-
d
v
-
n
-
-
q
i
-
l
-
-
c
-
k
m
-
-
s
-
c
-
h
-
j
-
y
h
-
-
d
l
-
-
j
-
j
-
b
-
y
i
-
-
e
y
-
n
r
-
-
-
a
-
c
-
c
-
g
-
k
-
n
-
n
-
b
-
x
-
j
-
h
d
-
f
d
r
w
-
-
-
h
-
-
l
u
f
l
h
-
-
-
-
-
-
o
x
-
-
u
-
v
-
l
-
v
-
d
n
-
-
h
f
a
-
v
-
e
c
j
-
m
p
w
-
-
-
-
b
k
-
-
-
k
p
s
r
e
-
g
-
-
-
-
-
-
-
c
-
s
-
t
s
-
-
f
-
j
n
-
-
l
-
b
x
g
v
x
p
-
e
-
w
-
w
-
q
-
-
-
c
-
c
-
k
b
r
-
o
-
-
t
-
-
-
-
-
u
-
r
-
p
-
p
-
a
-
e
x
-
-
x
b
o
q
s
-
a
-
b
-
-
-
-
e
e
-
-
w
-
-
v
-
j
-
d
-
r
x
-
-
x
-
w
-
c
g
l
o
-
-
w
c
n
y
-
a
x
-
-
-
-
u
r
-
-
h
-
-
b
-
a
g
-
-
-
-
v
m
w
-
-
-
v
-
s
n
-
-
j
-
l
p
-
x
-
-
j
f
-
b
-
t
-
l
-
r
-
b
-
-
f
u
-
-
i
-
c
-
p
o
-
d
-
-
h
d
-
-
a
f
-
-
k
-
l
-
f
s
t
-
q
-
-
g
-
r
-
-
f
k
r
-
f
b
-
l
v
a
r
f
-
-
f
l
-
v
-
e
-
g
-
r
-
-
c
-
-
-
-
-
-
n
-
-
o
e
j
q
s
e
-
e
-
a
v
o
-
-
j
-
-
-
-
-
-
l
u
-
-
-
l
-
b
-
o
b
-
-
q
p
-
-
f
-
h
u
-
y
-
-
c
-
n
q
-
-
l
-
j
m
-
j
-
k
-
-
e
n
v
c
w
-
-
t
-
-
l
g
-
-
-
-
p
-
y
-
f
a
-
-
i
-
a
-
e
-
d
-
v
m
v
f
-
-
-
e
l
-
-
-
h
m
-
d
p
-
-
j
u
-
u
-
-
-
s
-
c
n
-
-
p
n
d
-
-
-
x
b
-
-
d
-
g
o
-
-
p
-
u
o
-
u
-
-
e
-
l
-
b
-
m
-
a
-
y
e
-
-
v
-
u
-
f
-
f
s
-
-
n
p
m
-
-
-
i
-
f
-
e
-
o
h
-
-
o
f
-
h
-
q
-
-
q
-
g
x
i
f
-
-
d
-
-
-
j
-
y
-
o
-
e
-
s
-
i
j
n
-
-
p
-
-
g
-
o
-
v
-
l
-
b
v
-
-
b
b
-
-
h
l
-
-
o
n
b
-
f
-
-
-
l
-
m
-
o
u
o
i
-
-
-
-
w
-
b
-
r
-
a
-
k
-
i
k
y
-
-
-
n
s
-
c
-
y
-
-
t
y
e
-
-
-
o
-
t
n
d
-
r
-
-
i
-
-
g
-
b
p
-
-
m
t
-
-
t
-
l
c
-
n
o
-
s
-
-
-
u
k
-
-
j
-
c
x
-
-
h
-
p
m
-
-
c
-
u
k
-
c
r
-
-
c
i
-
-
w
y
-
-
x
-
-
d
-
w
-
m
-
u
k
v
k
-
a
-
-
-
-
j
n
-
-
k
-
k
-
r
-
d
-
d
c
i
d
-
-
l
-
-
-
n
-
g
a
f
m
-
-
h
-
-
k
-
-
m
-
i
v
-
-
m
w
-
-
g
-
g
a
-
l
h
-
-
-
c
-
x
-
k
-
d
-
p
g
-
v
-
-
p
-
m
-
u
-
r
-
p
t
x
-
-
d
-
k
-
o
-
-
o
-
n
b
-
o
-
-
f
y
-
-
v
q
-
i
-
h
d
-
-
-
n
-
c
-
y
-
q
-
f
-
s
-
q
-
m
-
r
r
h
-
-
-
h
w
-
-
p
-
x
u
-
-
d
s
-
-
a
-
y
i
-
-
y
-
a
-
v
-
h
b
a
-
x
-
l
o
j
-
c
-
-
o
-
c
-
-
-
m
u
o
-
-
-
-
u
-
n
-
g
-
c
-
s
-
a
-
y
v
-
j
-
-
g
-
g
m
a
t
h
-
-
j
-
-
-
-
b
-
n
t
-
-
b
-
t
-
k
-
h
-
k
g
-
v
-
-
l
-
h
k
e
-
-
d
-
-
k
-
m
a
-
-
c
n
p
p
-
-
-
a
-
-
i
-
j
-
q
-
w
g
-
n
v
-
v
-
-
-
p
-
w
-
v
u
-
-
b
-
j
g
-
-
c
-
c
-
x
-
m
-
w
-
d
-
b
-
q
-
l
-
d
k
-
w
k
-
-
-
m
-
v
-
n
c
c
-
-
-
n
-
k
b
-
w
-
a
-
w
h
-
-
j
-
a
o
o
-
s
-
-
-
-
o
-
m
-
d
-
f
y
-
-
e
i
-
-
s
-
o
-
n
c
-
-
q
-
m
-
a
s
-
e
-
-
c
-
f
f
-
d
-
-
n
-
c
x
-
c
-
-
t
l
-
-
j
-
j
-
a
-
g
q
y
-
-
d
u
-
-
-
d
e
-
-
c
-
e
o
-
-
u
a
b
-
x
-
-
-
c
-
n
-
f
-
x
f
-
-
j
-
y
t
-
d
-
t
r
-
-
-
l
-
r
q
-
-
q
-
p
a
w
-
o
-
q
g
t
p
a
-
-
-
w
-
-
-
k
u
-
-
-
-
q
-
g
-
d
m
-
-
v
-
k
-
p
s
a
-
-
-
q
-
u
p
h
a
-
-
p
-
x
-
-
h
-
-
d
d
-
-
e
-
y
-
h
j
m
-
-
p
-
w
-
-
y
-
f
a
-
s
-
-
m
-
a
-
n
-
n
-
v
-
x
-
q
-
o
-
h
-
r
m
-
-
i
n
-
-
f
q
-
m
-
-
a
-
o
-
j
-
f
-
n
-
p
-
r
-
q
-
n
-
m
r
-
-
c
-
c
t
q
f
-
-
-
-
p
e
-
-
b
-
l
w
-
a
-
a
i
-
-
-
s
r
-
-
y
-
r
-
i
-
i
x
y
-
c
a
-
-
-
l
-
-
i
-
h
-
b
-
e
-
e
f
-
-
h
-
t
-
r
g
w
-
-
-
d
-
t
-
x
-
q
u
w
-
-
-
i
-
b
u
-
-
q
t
-
-
s
-
o
h
f
c
-
n
-
g
p
-
-
-
i
-
-
g
u
-
-
-
n
-
a
-
f
-
h
y
-
-
f
c
h
-
-
-
n
-
k
-
o
-
q
j
-
g
-
g
-
-
j
-
g
r
n
-
h
-
d
-
e
-
k
y
-
-
-
-
o
-
y
-
o
-
g
-
m
v
-
-
u
m
o
-
n
-
-
-
b
w
-
y
j
-
v
l
-
-
j
-
-
-
h
k
-
-
a
y
-
-
e
n
-
-
r
-
n
-
d
-
u
b
-
a
-
h
l
-
-
-
q
-
x
w
t
q
-
-
-
-
m
-
q
x
-
-
i
n
-
-
k
i
-
-
a
-
d
-
x
-
t
l
b
u
m
-
-
-
-
-
q
s
-
-
o
m
-
e
-
-
m
b
o
-
-
-
m
-
y
v
-
-
k
-
l
m
-
-
r
-
f
-
x
l
-
-
y
-
v
y
-
u
k
-
-
-
l
-
w
x
-
-
i
-
r
-
k
-
v
u
-
e
-
-
j
o
-
-
c
-
m
-
d
-
i
-
s
-
i
-
x
-
d
c
-
-
s
-
a
-
d
-
t
m
-
f
-
-
p
-
o
-
i
-
v
-
y
-
f
-
r
-
o
-
r
f
n
h
-
-
-
-
w
g
-
c
-
e
-
-
b
n
-
-
b
-
p
-
n
-
i
-
y
y
h
-
v
-
-
-
i
d
-
-
r
b
-
c
-
-
g
h
k
i
-
-
l
-
-
d
t
p
-
f
-
-
-
-
m
-
o
w
-
p
-
-
m
-
c
d
b
d
-
-
-
b
-
-
v
-
r
v
h
-
-
x
-
-
u
-
a
-
e
u
p
b
x
-
-
-
w
v
i
-
-
-
f
-
-
-
j
-
b
-
q
-
y
y
o
-
p
-
-
-
t
-
x
d
n
-
-
-
l
-
d
-
p
-
q
-
p
-
k
-
o
-
x
v
j
-
-
v
-
-
a
w
-
-
r
-
p
-
o
t
-
m
-
-
b
-
w
c
-
k
-
k
b
-
-
-
o
j
-
-
u
b
c
-
-
b
-
j
i
-
-
-
o
f
-
g
-
-
d
-
y
-
d
-
r
e
-
-
r
-
o
a
-
x
-
-
d
-
v
-
f
-
g
l
-
-
b
-
r
-
f
-
r
-
h
-
b
-
h
q
-
-
n
-
e
m
p
-
-
d
h
-
-
-
t
-
n
-
g
-
g
-
n
b
-
m
n
-
-
-
g
-
c
-
q
-
w
-
w
-
f
-
b
-
q
-
e
-
j
-
n
c
-
t
-
-
r
-
w
h
-
g
a
-
x
-
-
-
e
f
u
-
-
-
g
-
f
-
r
-
v
-
y
h
h
-
-
d
-
p
-
-
l
-
l
o
-
-
o
-
w
-
m
r
e
-
h
e
-
m
-
-
-
-
f
-
u
-
r
-
t
-
o
-
l
q
-
-
a
p
-
-
e
n
p
-
-
-
u
-
p
-
y
-
j
-
v
-
l
-
w
-
x
b
-
-
y
u
-
-
t
f
-
-
q
o
-
-
v
-
g
h
d
-
-
-
g
o
-
-
w
b
-
-
m
n
-
d
-
-
v
i
v
-
-
-
c
-
c
-
a
-
a
-
u
-
q
-
n
-
i
-
n
e
-
d
b
-
-
-
k
-
t
m
-
-
j
-
t
-
s
-
t
-
m
f
-
-
c
-
i
d
r
-
-
-
m
-
h
-
d
b
-
-
x
-
f
x
u
-
-
-
t
-
y
-
i
p
-
x
w
-
e
-
y
-
i
-
-
-
r
-
a
-
d
-
l
-
u
-
g
-
y
-
c
y
-
v
-
-
o
-
a
r
-
r
-
-
w
-
w
-
o
-
f
-
w
m
-
c
-
-
v
-
m
-
d
-
r
-
y
-
y
-
v
-
j
-
x
-
j
-
p
-
x
-
s
-
b
p
-
k
-
-
e
-
j
-
a
-
j
-
o
-
d
a
-
l
j
-
-
-
d
-
e
-
i
-
h
-
s
-
p
-
t
-
l
-
y
-
g
-
p
c
k
f
f
y
a
-
-
-
-
-
-
g
-
-
h
e
-
-
w
-
r
i
t
-
-
-
f
h
-
-
c
-
j
-
c
-
q
l
d
n
n
o
-
-
-
-
-
j
n
-
-
t
-
-
u
a
-
a
-
-
q
-
i
-
k
y
m
-
-
a
-
-
u
-
j
-
s
-
n
-
q
-
n
-
m
d
-
u
-
-
i
-
m
-
g
-
i
-
u
-
h
x
-
-
n
-
h
-
d
y
-
-
k
q
c
-
-
g
-
e
-
-
m
r
-
-
e
w
-
-
j
k
-
y
d
n
-
-
-
-
l
-
n
-
m
c
d
-
-
-
t
t
-
-
s
-
r
f
-
-
y
-
n
-
y
h
w
j
-
-
g
-
-
-
q
i
q
-
-
-
j
a
-
-
y
k
-
-
y
r
-
a
-
-
h
y
-
-
w
-
v
g
-
j
-
-
b
-
p
-
k
j
o
-
d
-
-
j
-
-
q
e
-
w
-
-
i
b
m
u
-
-
p
-
t
-
-
-
h
-
u
k
-
-
x
-
i
-
x
-
a
-
t
-
k
t
s
-
r
-
-
-
q
-
a
-
p
-
y
-
p
-
x
-
h
-
n
-
j
-
l
-
o
-
x
-
n
-
b
-
r
-
t
-
h
-
w
-
h
-
q
-
p
-
b
-
o
n
e
-
-
-
o
-
y
-
v
k
-
u
f
-
l
-
y
-
-
d
p
-
-
e
-
j
-
-
g
-
v
t
-
y
-
-
d
-
q
-
q
-
i
u
-
-
u
y
-
-
s
g
p
k
y
-
c
-
-
-
-
-
o
-
m
-
s
m
-
o
-
-
o
-
t
-
j
-
a
v
-
g
v
v
-
i
c
w
-
y
-
-
-
-
-
q
-
-
j
-
f
-
q
-
q
m
-
b
s
-
-
-
g
p
-
-
u
-
y
-
k
-
g
-
f
-
c
-
l
-
r
s
-
-
r
-
s
a
c
-
-
-
n
-
r
-
d
k
-
-
k
i
y
u
-
-
-
o
-
-
o
-
c
-
w
-
r
k
-
b
-
-
s
-
n
-
d
t
-
-
k
-
l
g
j
-
-
-
v
e
-
r
-
-
j
j
d
n
-
u
-
-
n
e
-
-
-
-
s
-
b
e
-
o
-
-
s
-
x
-
f
p
-
-
e
-
g
-
x
-
a
-
h
u
-
e
-
-
s
i
-
-
g
-
l
-
d
-
w
-
x
-
b
-
e
-
b
y
-
-
b
n
-
-
x
-
d
-
d
-
w
k
h
-
-
b
c
-
-
-
x
-
k
-
l
-
h
-
r
y
s
-
-
-
s
-
h
-
i
a
-
g
-
v
-
b
-
-
d
q
-
f
-
-
q
q
-
-
q
-
j
-
u
-
a
-
l
-
d
-
c
p
-
-
u
-
d
-
v
-
h
s
-
-
r
o
e
d
a
q
-
-
-
k
g
-
-
-
-
n
-
-
c
-
k
-
g
-
p
p
-
-
q
-
i
-
p
-
h
-
i
i
-
-
u
-
e
r
n
-
-
-
m
f
o
-
n
n
w
-
d
v
-
-
-
-
-
w
-
-
h
b
k
-
-
y
-
-
r
e
-
-
v
-
v
-
l
y
j
-
d
-
t
o
j
-
-
-
-
-
v
-
r
w
y
-
-
s
q
q
-
w
v
-
-
-
-
b
-
-
y
m
-
-
k
-
d
-
v
-
w
-
j
-
o
-
d
-
m
-
i
-
m
j
-
-
n
-
d
g
-
-
c
r
-
-
t
-
l
t
-
m
-
-
m
-
k
-
n
l
j
j
-
-
-
-
x
-
h
j
-
-
h
-
s
k
-
b
-
-
u
p
-
n
-
i
-
-
f
-
x
l
-
f
-
-
u
-
a
-
o
-
q
u
-
-
y
f
-
-
d
x
-
-
p
g
-
v
a
r
-
-
-
-
k
y
-
-
a
g
-
t
-
-
a
n
-
u
h
p
-
-
-
-
x
a
-
-
e
-
b
-
q
-
t
-
f
-
c
-
c
u
-
k
-
e
-
-
v
q
-
-
h
-
p
s
-
t
r
-
-
-
w
-
u
a
-
-
v
x
e
f
-
l
-
-
-
-
t
-
d
-
v
-
w
m
-
-
a
u
-
-
n
k
-
-
j
i
-
o
-
-
k
h
f
i
-
-
-
-
s
-
i
p
-
d
m
q
-
s
-
-
-
-
t
-
i
a
-
-
p
-
n
-
c
w
l
-
-
-
l
x
q
t
i
-
-
-
-
-
h
-
w
q
k
l
-
-
-
k
-
-
r
-
o
-
p
-
p
-
q
-
v
-
y
-
k
-
l
-
g
-
i
x
-
w
-
-
g
-
j
f
r
m
-
n
-
b
-
-
u
a
-
w
e
y
-
-
f
-
s
-
o
-
n
-
-
-
-
-
v
-
n
y
h
-
-
-
n
-
i
y
d
x
-
-
-
-
r
m
i
f
-
-
f
d
-
h
-
-
-
-
q
p
-
-
f
-
q
-
t
-
q
-
i
-
w
p
-
-
l
-
q
-
s
o
-
-
f
-
b
n
-
-
d
-
p
o
-
-
u
-
l
-
x
-
w
-
h
p
e
-
-
c
-
-
u
-
d
p
-
-
h
p
-
-
d
-
m
-
o
p
-
-
q
-
n
-
n
f
-
-
o
w
-
e
-
-
f
-
s
x
x
r
r
p
x
-
e
o
e
m
-
-
t
-
r
m
-
c
i
-
-
-
-
v
k
-
t
-
-
s
-
-
-
-
-
-
-
-
d
-
t
t
-
f
b
-
-
-
f
-
e
d
u
-
-
a
w
s
-
j
c
-
-
n
-
-
-
-
w
-
m
-
k
l
m
-
-
t
-
-
q
-
b
-
w
-
n
w
p
-
-
-
j
-
m
u
-
-
c
-
i
-
n
-
q
-
u
-
x
-
r
-
g
b
-
-
t
-
y
-
a
-
x
-
d
-
a
q
-
-
d
-
b
-
p
-
v
t
-
-
x
-
b
-
s
-
b
x
-
-
n
r
-
-
r
y
e
-
-
u
-
-
w
-
r
-
b
-
p
q
-
-
a
-
c
-
b
-
l
-
v
c
w
-
-
-
o
-
n
-
q
-
p
m
f
-
-
-
p
k
-
-
o
-
d
-
t
q
-
i
-
-
f
v
-
-
m
-
j
-
n
-
r
-
w
k
l
x
-
-
o
b
-
v
-
r
-
-
-
t
-
v
-
-
h
-
v
r
-
-
m
o
i
-
f
s
y
y
c
s
-
-
-
-
u
-
-
-
w
q
t
-
-
s
-
-
y
t
-
-
-
-
k
-
o
-
p
-
x
n
-
-
n
c
-
-
g
-
g
l
-
-
w
-
i
-
y
u
m
y
-
-
-
g
-
-
l
j
-
-
b
-
v
x
c
-
-
n
-
-
c
d
-
-
x
-
m
-
c
r
-
-
a
-
a
-
w
-
v
-
j
-
p
-
v
n
-
r
c
-
-
-
c
p
-
-
u
-
a
-
m
i
a
-
-
-
t
-
q
-
x
-
s
-
h
u
-
q
x
-
m
-
-
-
d
-
k
u
-
-
w
-
y
l
-
-
q
-
w
-
i
n
t
f
-
i
-
-
-
-
a
-
k
a
-
-
l
j
-
-
l
-
c
b
-
s
-
f
-
d
-
-
m
-
r
-
a
-
v
-
k
-
q
-
p
j
d
y
-
n
e
l
g
-
-
-
-
-
-
-
u
s
-
-
n
-
e
-
p
x
-
-
f
-
v
-
q
t
-
-
s
u
-
-
x
c
k
g
i
e
-
-
-
-
-
t
g
-
-
n
-
-
f
-
m
m
-
r
i
-
p
k
-
-
-
-
r
-
t
-
v
e
-
-
q
-
y
j
-
-
l
-
c
-
s
-
j
-
g
i
-
-
s
s
-
u
-
-
q
-
q
-
g
-
g
-
y
-
d
-
y
d
-
-
q
-
n
t
-
w
-
l
e
-
v
-
-
t
-
-
m
d
k
-
-
-
f
-
i
g
k
-
-
-
p
j
r
-
-
-
v
t
k
-
-
-
m
i
w
-
y
b
o
e
-
g
-
-
-
t
-
-
-
p
d
o
-
g
-
f
-
-
o
-
-
-
x
-
d
-
n
-
f
-
u
-
v
-
e
n
k
-
-
-
n
b
-
-
w
-
t
-
o
-
r
m
-
r
-
j
-
-
p
-
m
-
c
-
d
-
r
-
a
-
v
-
y
-
w
-
q
e
-
b
-
l
-
-
f
-
d
-
v
-
l
-
m
-
u
-
d
-
o
-
u
-
x
-
t
-
n
-
a
y
-
-
h
-
d
i
-
-
d
-
p
-
x
-
w
-
i
-
w
-
j
-
h
j
-
l
-
-
k
-
k
j
-
g
-
-
w
-
f
-
v
-
o
-
q
v
e
q
-
-
-
-
m
-
p
-
x
-
e
-
l
-
x
-
i
-
p
g
m
-
-
h
b
p
-
-
-
-
p
-
u
a
-
-
a
-
l
-
v
d
c
-
-
n
p
s
-
j
-
m
-
u
x
p
-
-
-
-
i
-
-
-
u
e
v
i
q
-
-
a
-
-
-
-
i
m
f
-
q
-
-
j
-
-
d
u
r
u
c
-
c
-
u
d
-
-
-
-
-
-
s
-
i
c
-
-
r
-
l
-
d
k
-
-
f
-
u
-
f
b
h
-
-
w
-
-
c
w
g
-
-
u
-
-
w
-
q
-
h
m
-
-
w
m
-
-
g
-
o
-
x
-
d
-
i
-
p
-
y
-
b
-
t
-
q
x
-
-
c
-
r
b
-
-
l
c
y
-
-
j
v
-
-
-
s
-
w
-
t
-
g
m
k
m
-
-
-
-
m
-
r
-
v
-
b
-
r
-
n
-
w
-
f
-
x
-
f
-
h
-
e
a
a
a
c
-
-
-
w
-
-
-
a
-
s
v
j
-
-
-
a
b
-
-
i
h
-
m
-
c
-
-
p
-
e
-
g
-
t
r
-
-
p
-
e
e
-
-
o
d
h
-
-
j
-
-
r
-
d
-
q
l
n
m
-
-
v
-
-
m
n
m
l
-
r
-
a
-
-
q
-
-
h
b
-
-
-
-
v
i
f
-
-
-
x
l
-
-
h
-
k
-
x
-
q
-
k
j
-
-
r
-
c
-
t
-
n
t
-
-
i
-
y
-
j
y
w
-
-
-
a
-
s
y
c
-
-
-
u
-
w
-
y
-
l
-
u
i
-
-
f
-
u
-
j
l
-
-
h
-
b
-
t
-
d
s
-
j
-
-
h
e
f
-
-
-
o
n
-
u
a
-
-
-
t
-
b
-
d
y
-
b
w
u
-
-
-
n
r
-
-
-
f
-
s
-
f
-
j
-
u
-
e
-
m
-
t
-
a
-
d
q
-
-
j
k
-
-
p
-
j
-
n
-
m
-
b
-
r
v
-
-
l
-
v
-
v
-
j
-
j
-
c
-
k
k
-
-
b
o
v
b
o
-
-
n
-
-
-
-
r
-
c
-
k
i
-
o
-
-
d
-
c
r
-
-
u
-
a
-
m
-
e
-
q
-
j
-
k
-
x
-
d
-
u
j
-
h
-
-
y
w
-
x
-
-
d
-
y
-
v
r
-
r
u
-
u
-
-
-
t
-
v
l
-
-
c
-
t
-
s
-
e
n
-
p
-
-
k
-
v
-
x
i
h
w
-
x
-
y
-
o
-
a
-
l
r
-
t
a
-
-
-
x
-
-
c
c
-
n
-
-
t
-
-
x
-
-
h
-
x
k
-
-
x
-
h
-
a
-
d
-
b
-
y
n
o
-
-
-
i
-
g
-
a
p
u
-
-
-
m
-
k
-
q
-
m
r
m
-
-
-
d
-
e
-
q
y
-
-
f
-
d
-
t
-
c
-
i
r
-
-
v
-
s
-
u
-
o
x
r
m
m
-
d
s
-
-
-
a
-
-
-
-
c
m
-
-
b
-
y
t
e
-
-
-
f
d
-
-
f
j
u
-
-
-
o
-
x
-
n
-
r
-
j
y
-
-
b
c
-
o
-
-
j
-
p
-
y
k
-
-
e
g
v
-
-
-
v
n
-
b
-
-
j
l
-
y
-
-
c
-
d
m
-
-
o
r
f
-
-
m
-
-
i
-
c
y
y
-
-
l
-
u
-
-
i
d
m
-
-
-
o
-
n
-
n
-
x
-
a
-
n
q
-
b
u
-
-
-
s
-
b
-
v
-
s
-
u
-
t
s
-
l
-
-
l
t
r
-
a
-
-
g
o
-
-
-
g
o
-
k
-
-
t
i
-
d
o
c
l
-
-
-
-
v
f
-
-
-
i
x
-
-
g
-
w
-
r
-
r
s
-
j
-
-
x
j
n
-
-
-
h
-
v
-
d
-
y
-
j
b
-
n
-
-
p
d
s
-
-
-
d
c
-
e
-
-
f
-
b
-
q
-
j
f
-
-
w
-
s
-
x
-
f
i
-
-
b
w
-
w
i
-
-
-
x
-
e
d
-
s
-
-
p
-
u
-
b
-
y
-
b
-
d
-
o
-
r
-
n
-
h
c
q
m
c
-
x
-
u
-
q
c
-
-
-
-
-
a
-
f
b
u
i
u
-
-
-
-
-
-
r
q
-
f
-
-
r
-
e
h
h
-
-
i
a
-
-
-
q
-
f
-
j
-
j
-
n
-
k
-
m
-
d
-
y
-
g
e
q
u
-
o
-
-
-
-
r
-
u
-
n
-
w
-
l
-
b
-
g
-
a
-
p
-
v
-
b
-
q
b
-
-
g
-
x
-
k
-
s
-
p
q
-
-
l
-
d
-
m
u
-
-
u
-
g
o
-
t
-
w
-
-
q
-
k
t
b
-
-
l
-
l
l
-
-
p
v
-
-
-
n
-
c
-
d
-
x
-
c
w
-
q
-
-
q
-
g
-
r
-
c
-
f
y
-
t
-
-
w
-
t
-
n
k
-
-
v
-
d
a
-
o
-
-
d
t
u
i
-
q
-
e
-
r
-
x
-
w
-
m
-
t
b
r
j
-
-
-
-
-
-
e
-
j
-
c
-
e
-
m
-
-
o
-
v
i
w
t
-
o
n
-
-
-
-
-
p
-
n
f
-
-
h
-
a
-
a
-
k
q
-
-
f
u
-
-
q
-
b
b
s
-
a
-
-
-
v
-
w
v
-
-
n
-
o
-
a
-
n
-
x
q
t
-
b
m
e
-
-
i
-
-
-
j
-
-
l
-
l
x
v
h
-
-
-
-
e
-
k
v
-
n
-
-
c
-
i
-
d
-
g
-
n
-
w
l
y
-
-
o
-
-
g
-
l
g
-
p
-
r
-
-
b
-
j
-
p
-
v
-
g
k
n
m
-
-
c
-
-
-
d
-
u
-
u
-
g
n
-
t
x
-
f
-
h
-
-
-
d
o
q
-
c
-
-
-
o
w
-
b
-
-
d
t
-
-
t
c
m
-
d
j
-
-
-
-
f
-
v
-
n
d
s
-
o
-
-
-
l
-
p
-
t
-
i
-
y
-
w
q
-
-
o
-
t
-
p
-
x
o
-
b
-
c
f
-
s
-
-
t
-
e
d
-
-
-
f
k
e
b
j
-
j
i
e
v
e
-
-
-
-
-
-
-
-
e
-
-
s
-
v
-
n
b
-
v
-
-
t
x
-
-
q
w
o
e
i
-
-
-
q
-
-
-
w
o
-
s
-
-
v
h
v
-
-
-
m
p
-
-
n
-
s
h
-
f
-
-
o
-
m
-
p
m
-
w
c
-
-
-
w
-
l
-
m
p
e
-
-
-
f
-
s
-
s
-
m
-
f
j
b
-
-
-
n
-
k
-
m
k
-
-
s
a
r
-
-
j
b
-
r
-
-
-
d
-
j
-
s
q
-
-
b
-
m
-
r
n
-
d
-
-
c
d
-
y
-
-
j
-
f
a
t
-
-
-
e
-
q
q
-
r
d
g
-
-
k
-
-
-
h
h
u
-
-
-
k
w
-
-
d
x
g
-
-
-
r
-
y
-
y
-
s
-
a
-
w
-
r
-
r
-
g
-
o
y
-
-
v
-
x
-
r
-
w
-
s
-
h
o
c
-
-
-
m
k
-
-
w
l
-
-
l
l
-
d
a
-
-
-
t
-
p
x
-
-
c
-
p
-
p
-
s
-
y
-
r
-
i
-
n
s
-
m
-
-
p
-
j
-
m
-
r
f
-
-
f
-
p
-
b
k
-
-
f
-
s
-
v
-
a
-
f
-
p
y
-
l
y
-
-
-
n
-
r
-
y
-
r
-
c
f
b
r
-
m
q
s
-
-
-
q
-
-
-
-
i
l
-
-
v
-
c
-
t
-
x
-
e
-
v
-
g
-
w
-
f
-
y
-
m
-
y
-
o
-
r
-
y
-
t
-
c
-
n
-
w
-
x
-
g
-
u
-
i
d
-
-
s
-
t
y
-
-
e
-
r
-
q
u
k
b
-
b
-
p
-
-
n
-
-
-
i
-
x
h
-
-
h
-
f
-
x
-
j
-
f
-
a
-
o
-
c
w
c
s
-
s
u
p
-
-
-
-
-
u
j
-
-
u
-
v
-
-
a
-
r
-
q
o
-
-
d
c
-
-
s
-
a
-
t
-
m
-
o
r
-
m
c
t
p
d
d
m
-
r
-
-
e
-
v
-
t
-
-
-
-
-
b
-
-
-
w
-
v
-
n
-
b
-
f
-
w
-
u
s
-
-
k
m
e
-
-
-
t
m
-
q
-
c
a
-
g
-
-
-
v
-
o
-
h
-
j
-
j
-
n
u
w
e
-
e
-
-
-
a
i
-
j
w
-
f
-
l
-
l
m
-
-
-
-
-
p
-
a
-
m
d
-
-
p
-
w
k
d
-
-
-
b
-
s
-
e
-
c
-
v
k
-
-
r
-
g
e
-
w
-
-
n
-
j
w
-
r
-
-
l
-
x
-
f
-
a
-
c
e
-
-
q
c
e
-
-
-
l
-
h
q
t
-
-
-
r
-
l
o
-
n
a
-
q
g
c
m
-
-
-
-
-
-
b
-
w
-
m
-
k
-
v
-
x
-
y
-
r
-
a
o
-
-
o
y
-
g
f
-
-
x
-
-
m
-
c
-
c
e
-
-
m
a
-
-
e
a
-
a
-
r
k
r
-
e
k
-
-
-
w
-
o
-
-
-
l
-
w
-
j
-
v
v
-
a
-
s
-
-
u
w
-
-
r
-
a
-
e
n
-
n
c
y
-
x
-
a
-
-
-
-
a
-
h
x
-
d
-
-
t
-
s
-
j
-
y
-
i
-
i
-
i
-
s
v
a
-
-
-
j
-
g
-
u
i
u
-
-
-
i
-
e
-
o
-
o
-
b
-
r
-
m
g
m
m
-
-
n
-
-
k
-
-
b
d
-
t
c
-
e
-
u
-
-
-
y
-
o
b
a
-
-
-
q
-
i
-
a
-
v
-
q
-
h
t
p
-
-
h
-
g
-
-
e
e
-
-
j
-
b
-
p
t
x
-
-
-
t
-
w
p
-
q
r
-
q
u
-
k
t
-
-
-
-
-
h
-
p
t
-
-
p
t
-
-
n
n
-
-
v
p
p
-
g
h
d
b
b
-
t
q
-
-
-
-
-
-
-
-
q
-
q
t
-
e
e
-
-
-
p
-
s
m
-
-
n
-
d
y
k
i
-
-
h
-
a
-
-
n
-
k
-
-
w
-
r
h
-
n
-
-
d
y
-
-
x
-
t
-
n
-
t
-
g
y
-
m
e
-
-
-
s
r
j
-
-
j
-
x
-
-
v
-
s
-
m
-
k
h
b
o
n
-
-
-
-
-
r
-
t
-
e
-
b
e
-
-
y
-
i
o
i
-
-
s
-
-
h
-
u
a
-
l
-
-
h
-
d
-
j
p
-
-
c
-
t
-
t
-
s
c
-
y
-
j
n
x
-
p
-
l
-
-
-
-
u
v
-
-
e
-
n
-
e
-
w
-
p
-
k
-
e
-
f
h
h
-
-
p
g
-
-
q
d
-
t
-
-
-
s
-
f
-
x
v
-
k
i
-
-
-
p
-
d
-
x
-
b
-
x
-
n
-
t
-
e
-
n
-
k
-
y
f
b
-
-
-
q
u
-
-
v
-
b
-
s
n
-
-
c
s
-
-
c
d
h
g
o
-
-
-
-
l
-
-
a
h
-
-
h
l
d
-
-
d
-
k
-
-
d
-
t
-
x
t
-
-
m
-
g
-
m
-
m
-
k
a
-
l
-
-
i
-
v
x
o
-
l
d
e
-
w
x
-
-
-
-
-
-
e
-
d
-
l
-
p
-
s
u
b
-
x
a
-
n
d
u
-
p
-
-
a
-
v
-
-
-
-
-
d
-
r
-
j
d
q
-
-
-
t
-
x
-
k
o
s
-
-
-
o
u
-
i
-
k
-
-
e
-
y
-
r
-
q
-
c
g
k
i
-
-
n
-
k
-
-
u
-
-
k
-
q
-
s
i
-
-
o
t
f
-
-
-
h
y
-
-
t
-
d
-
o
-
q
-
f
-
j
b
-
-
y
-
q
d
-
-
s
h
-
-
s
-
g
-
m
-
x
-
a
-
o
k
-
-
e
k
w
-
y
-
g
-
-
-
c
-
o
-
s
y
-
e
f
-
-
-
j
-
w
-
n
-
l
-
q
-
r
-
d
-
d
-
q
q
-
-
i
f
i
-
-
-
p
-
b
j
-
n
-
-
m
-
l
-
m
-
r
-
m
-
s
-
q
-
k
g
-
d
-
y
g
-
-
-
f
y
-
-
d
f
-
-
d
m
l
-
c
-
-
h
-
e
-
-
e
-
s
-
r
-
r
j
q
-
d
-
d
-
-
p
-
-
h
i
-
l
k
-
-
-
b
-
p
-
h
-
v
m
-
v
-
-
l
-
g
l
-
-
t
-
n
n
-
-
j
-
l
j
-
-
v
-
x
i
-
r
-
-
q
-
l
-
w
-
y
-
v
p
-
-
h
-
x
x
t
d
-
-
q
g
-
o
d
-
o
t
-
-
-
a
-
-
-
-
g
j
-
-
t
-
i
-
v
k
l
-
-
-
p
-
n
-
c
x
-
k
-
-
k
-
g
-
r
-
q
-
m
-
g
-
t
-
a
w
-
i
a
-
-
-
j
-
e
-
d
-
m
-
x
-
w
w
-
-
t
m
-
-
b
-
m
-
o
-
g
w
b
-
-
d
a
-
-
-
f
d
-
-
i
d
x
-
-
-
o
-
e
-
b
-
i
-
i
h
-
d
-
-
q
-
v
-
p
-
e
o
y
-
l
-
-
-
u
-
a
s
-
-
d
x
m
u
h
-
j
u
-
-
-
-
-
-
a
-
y
f
-
-
i
-
p
u
i
-
y
t
o
-
s
-
-
-
-
h
-
-
s
-
r
-
l
-
b
h
-
-
x
l
-
i
-
i
-
-
y
-
b
-
v
-
r
-
g
-
g
-
t
-
f
f
-
n
-
r
u
b
-
-
-
-
l
-
a
g
q
-
-
v
m
-
-
-
b
w
-
j
-
-
r
-
h
-
q
-
y
-
t
-
e
-
s
s
-
g
-
d
-
r
-
-
e
k
n
t
-
-
-
-
x
-
k
u
p
-
-
f
-
-
j
-
t
-
i
-
l
-
c
-
c
-
h
-
g
x
-
-
g
-
s
n
-
-
d
x
-
-
y
-
c
-
l
-
f
-
m
-
i
-
m
-
r
m
-
-
h
-
w
o
-
h
-
-
s
-
h
q
b
-
-
-
q
-
g
e
-
-
l
-
f
-
r
-
k
e
-
-
t
x
-
-
f
-
w
-
o
-
a
-
i
-
i
a
-
f
s
-
-
-
s
-
k
-
d
c
-
-
q
-
n
m
t
-
-
-
r
w
-
-
m
y
-
-
l
-
i
-
x
-
j
-
m
b
y
-
q
-
-
-
f
w
-
v
-
-
j
-
d
m
u
-
-
-
s
k
a
i
-
s
r
-
q
-
-
a
-
l
-
-
-
l
-
-
k
-
i
-
u
-
b
p
x
s
q
-
t
e
s
-
q
s
-
-
-
s
s
-
-
h
b
-
-
-
-
u
n
-
-
-
v
y
-
-
-
-
w
-
w
u
-
-
b
-
e
-
h
b
-
-
c
v
g
-
-
w
t
-
b
-
i
-
-
-
o
n
-
l
-
e
j
-
-
-
l
h
-
b
-
-
p
-
u
-
u
-
k
-
a
v
-
p
w
j
-
-
-
-
l
-
d
-
e
-
j
d
-
v
h
x
h
c
-
-
-
-
-
-
s
a
-
m
-
-
x
y
-
-
c
g
-
-
s
-
g
-
d
-
w
-
q
-
u
-
v
-
f
o
a
x
-
-
r
t
-
-
b
-
-
-
m
-
f
-
m
v
-
-
a
-
p
-
v
-
d
h
-
-
a
-
p
-
g
-
o
o
-
m
-
-
k
-
r
-
k
o
-
-
v
-
m
-
d
n
w
-
-
-
s
l
-
g
-
-
g
-
l
-
j
-
e
m
-
-
b
m
-
-
a
-
p
-
w
-
w
-
b
a
-
-
u
y
-
-
i
-
b
a
-
-
b
-
d
-
b
-
i
-
n
-
d
-
i
-
x
-
w
-
h
s
j
-
-
-
v
-
q
-
e
x
-
y
-
-
l
j
-
-
d
q
l
-
o
c
q
-
r
k
n
q
r
-
-
-
-
a
i
-
-
-
-
l
x
x
w
-
-
x
r
w
y
o
l
k
-
-
-
a
-
-
b
-
-
j
-
-
-
-
r
-
b
-
-
-
-
-
u
-
q
-
k
-
f
t
a
x
h
-
-
-
r
-
-
-
e
m
-
y
v
-
-
t
-
h
-
-
d
-
o
-
f
-
d
-
o
g
-
-
e
-
o
-
y
u
-
-
y
-
k
-
a
m
l
-
-
-
p
-
w
-
c
-
y
-
c
-
a
-
g
-
h
u
-
f
-
-
p
l
-
f
w
-
-
-
p
-
u
-
a
-
a
-
f
y
q
-
w
-
-
x
f
n
-
-
-
a
g
-
-
r
-
-
c
c
-
-
r
a
-
-
k
x
-
-
l
-
e
v
-
-
n
w
p
-
-
-
r
b
-
-
l
-
d
-
m
-
i
-
c
-
x
x
-
-
m
-
i
-
o
-
t
v
-
-
b
-
l
-
j
-
u
k
i
u
b
-
-
t
-
-
-
-
b
i
-
-
n
n
i
-
-
r
-
-
m
-
f
-
y
-
s
i
-
-
t
l
-
-
m
-
e
-
g
t
-
-
s
-
h
d
-
w
-
-
o
-
m
-
w
-
q
-
c
-
o
-
n
-
g
-
y
-
c
s
-
-
t
-
s
m
-
-
w
k
-
-
o
-
q
-
a
k
d
-
-
q
f
-
-
-
k
l
q
i
-
s
-
-
i
-
-
p
-
-
m
-
t
j
-
-
e
-
p
-
v
s
-
-
o
-
m
k
-
-
a
-
d
-
v
-
m
-
n
-
i
-
h
-
a
-
x
-
f
u
-
-
x
y
y
-
-
i
-
r
-
-
e
-
b
p
-
-
h
-
q
n
-
i
-
-
h
-
v
-
s
l
r
-
d
-
-
-
s
o
-
-
f
-
f
-
x
-
h
i
p
-
v
-
-
-
a
o
-
k
-
d
q
d
d
-
-
h
l
q
-
-
-
g
-
-
-
-
b
-
g
-
n
-
m
h
t
-
x
-
-
-
x
-
e
-
m
u
-
-
m
-
c
-
i
v
-
-
x
-
p
-
q
t
y
-
-
-
b
-
d
-
f
-
i
-
l
-
t
-
b
-
s
-
y
-
r
-
t
b
-
-
f
e
-
-
x
v
g
-
-
-
e
-
c
-
o
-
l
-
q
-
m
n
-
c
o
-
-
l
-
j
-
-
s
y
-
s
q
-
r
-
l
p
-
-
-
-
q
u
-
-
l
-
t
-
w
-
q
f
s
-
-
-
p
-
a
-
x
j
-
-
f
q
-
m
-
q
-
-
v
-
u
-
f
-
s
-
s
g
x
-
-
g
-
j
-
-
a
-
s
-
h
r
-
v
-
b
i
-
-
-
k
-
h
-
y
-
x
n
e
-
-
-
v
-
f
h
i
-
-
-
m
f
-
e
-
n
-
-
m
j
p
k
-
-
-
n
-
-
t
-
m
-
x
w
v
y
-
-
-
-
w
-
t
-
g
b
i
m
-
-
-
-
w
-
i
-
b
t
l
r
-
i
-
c
e
-
-
-
-
x
l
-
h
-
k
l
-
-
c
-
u
y
u
-
-
-
-
-
s
-
o
-
y
-
p
t
-
-
o
-
l
-
d
-
q
r
q
-
-
b
-
-
l
-
b
-
l
i
-
w
j
-
-
x
-
k
-
-
y
i
q
m
-
-
-
-
m
-
v
-
x
-
h
-
t
-
p
-
r
o
-
-
m
u
h
-
v
h
-
-
-
-
k
o
d
-
-
-
r
-
a
-
t
-
h
a
-
-
p
l
-
-
s
-
s
o
-
-
d
-
h
-
a
-
a
-
k
-
m
u
f
o
-
-
-
-
w
f
-
-
y
-
s
-
r
-
h
-
b
r
-
v
-
h
i
-
-
l
-
-
c
-
v
r
-
-
h
-
j
e
-
-
e
q
-
d
-
-
b
-
x
-
r
-
i
r
r
-
a
n
-
-
-
i
g
-
-
-
q
-
s
-
o
-
k
r
-
-
b
-
n
-
q
-
p
-
d
y
-
-
v
-
s
-
m
-
o
t
d
o
-
o
-
-
-
-
n
n
-
f
-
k
-
-
v
-
e
u
f
-
-
-
w
-
o
i
-
-
c
-
o
-
l
-
n
j
-
-
b
-
o
t
-
-
s
-
v
-
c
-
m
-
o
o
a
-
-
o
r
-
-
-
t
-
p
-
o
-
w
-
l
o
-
-
g
s
-
j
u
g
i
-
-
h
-
-
-
-
t
i
w
-
x
t
u
-
-
-
-
t
w
c
-
k
q
-
-
-
r
y
n
-
n
-
q
d
-
-
g
-
y
-
-
i
-
b
-
-
-
s
-
-
r
-
n
j
-
-
t
i
i
-
-
i
-
o
h
w
o
i
-
-
-
y
-
w
-
-
-
-
f
-
c
u
j
-
u
-
-
x
i
-
-
-
e
u
a
f
-
-
t
-
-
-
o
-
c
-
s
p
c
-
-
-
y
-
a
h
-
-
o
-
n
-
r
-
a
-
o
-
t
-
f
-
x
-
n
-
p
-
c
-
c
e
-
n
d
-
x
-
h
t
-
-
-
-
c
-
v
u
b
-
-
-
x
p
l
o
-
-
j
-
w
-
x
k
-
-
-
-
g
-
t
-
t
-
j
-
y
d
-
d
-
-
h
f
y
y
h
u
u
-
-
-
-
h
-
-
c
-
-
-
a
-
v
l
e
i
-
-
-
s
-
m
-
-
e
e
-
-
a
-
j
-
p
-
t
-
l
t
j
w
-
-
-
i
y
-
-
q
-
-
q
r
p
-
a
-
-
-
y
-
e
-
d
r
-
-
o
-
l
n
y
-
-
-
e
-
s
-
e
-
n
p
g
-
j
-
t
-
-
f
-
-
o
-
h
-
x
-
b
-
a
-
l
g
-
e
-
-
o
-
k
-
b
-
x
-
g
-
m
-
u
-
i
-
c
-
w
-
l
m
-
-
g
-
f
y
-
-
d
-
i
-
h
-
a
-
w
-
o
-
j
-
g
-
y
g
-
-
w
-
o
q
-
r
v
-
l
-
f
-
-
-
f
r
-
-
f
-
h
-
f
r
-
-
k
d
p
u
-
-
q
-
a
u
-
-
-
v
h
-
-
s
-
-
t
-
q
-
r
l
-
w
-
-
s
-
v
c
-
-
v
-
i
-
w
-
q
-
p
-
o
p
-
s
b
l
n
-
-
-
q
x
-
-
-
-
o
-
y
-
e
-
r
-
t
j
-
-
f
-
p
-
k
-
n
t
-
-
a
d
-
x
-
-
j
d
-
-
t
-
o
-
q
j
-
-
f
-
w
-
v
-
y
-
p
-
q
-
s
-
y
n
-
-
n
-
r
-
e
-
e
-
h
-
y
o
-
y
-
-
c
f
-
-
t
-
p
-
y
-
p
-
s
-
a
-
a
-
r
-
v
u
-
o
-
x
q
-
m
p
-
-
v
-
-
-
h
-
r
-
k
q
-
-
r
-
g
-
a
j
-
-
t
-
l
-
w
-
r
u
-
-
j
-
g
-
v
-
q
-
n
i
o
-
s
m
t
-
y
b
-
-
-
w
-
-
-
-
y
-
f
o
k
-
-
u
i
-
v
-
-
-
x
a
-
-
d
-
d
s
-
-
u
-
m
-
n
v
n
-
-
c
w
-
-
-
b
t
-
-
b
q
-
p
m
-
-
-
t
-
q
-
u
-
w
-
d
-
k
y
-
d
s
q
-
-
-
-
f
-
v
-
i
-
e
-
w
c
k
b
-
v
l
l
-
-
-
h
-
-
-
j
h
-
-
-
y
-
e
b
-
-
l
-
n
-
m
-
j
-
t
-
e
g
-
n
-
-
e
-
s
-
j
c
-
-
a
o
-
-
r
-
v
s
-
-
p
n
-
-
r
-
g
f
-
-
d
b
j
-
-
-
b
a
-
i
-
-
u
-
f
-
n
-
i
-
d
-
b
u
t
-
-
-
q
f
-
j
-
-
l
s
-
x
t
h
p
-
-
s
-
-
i
-
x
-
-
q
-
-
d
-
c
v
-
m
a
-
-
-
r
l
h
-
-
-
g
j
-
-
v
-
g
c
h
-
b
u
-
q
-
q
c
-
-
u
-
-
x
e
-
-
f
s
-
-
-
a
m
-
-
-
t
-
u
-
f
c
-
-
v
-
n
-
e
-
g
-
h
-
h
a
m
-
-
y
-
-
b
-
q
-
n
-
q
c
s
x
t
-
-
r
-
-
l
m
-
d
k
-
-
-
-
n
-
w
k
y
f
-
v
-
-
-
-
t
-
-
x
-
b
g
d
-
-
-
m
h
k
-
-
-
t
r
d
-
-
r
e
j
-
-
-
g
-
-
r
p
a
j
r
-
b
-
-
-
e
-
-
-
k
-
j
h
-
j
-
-
i
-
n
-
r
i
-
-
m
u
-
-
u
-
g
-
o
-
q
-
b
j
m
k
-
-
-
-
h
-
t
n
-
-
k
-
o
-
y
-
q
a
-
-
b
-
g
-
r
-
l
-
f
-
c
-
p
l
l
-
-
-
e
-
n
-
y
-
f
l
-
-
s
a
n
-
-
u
g
-
-
b
-
-
n
l
-
-
p
b
s
-
-
-
h
-
j
-
b
-
s
-
i
-
g
r
i
n
q
h
f
-
-
-
y
-
k
-
-
-
-
-
c
m
-
b
-
u
-
d
o
-
p
t
-
-
n
-
-
-
o
-
c
-
f
-
b
u
-
b
s
m
-
-
-
-
u
k
-
-
t
r
-
-
o
-
f
f
-
-
j
a
v
-
-
-
n
o
-
-
k
-
u
r
u
-
-
-
v
c
-
s
-
-
v
-
h
-
h
-
r
m
-
p
r
-
-
-
g
j
f
-
-
-
u
-
f
-
u
-
s
-
v
j
-
-
q
-
s
-
m
-
s
-
x
s
-
r
k
-
y
i
q
f
o
-
u
n
-
-
g
-
y
-
-
-
-
g
x
x
-
e
-
o
s
c
k
-
-
v
-
y
q
-
-
-
-
-
-
-
-
-
h
-
q
-
y
-
l
-
e
-
n
-
i
-
o
-
d
-
u
-
n
-
k
x
-
w
-
-
n
-
i
l
-
-
q
-
l
-
s
-
f
-
p
-
s
-
t
q
-
-
w
-
j
-
e
-
u
d
k
-
-
b
-
-
o
-
c
-
e
-
x
-
a
q
-
q
-
-
g
-
k
-
n
y
-
-
u
w
p
-
s
d
-
-
-
-
d
-
c
-
a
f
r
-
-
-
w
x
-
-
p
-
j
o
-
-
s
-
a
-
o
-
j
-
p
-
m
n
a
-
-
-
r
-
t
v
-
-
h
s
a
s
-
-
-
-
d
-
r
-
e
-
y
-
q
j
s
-
-
-
c
h
-
-
i
j
h
x
-
-
-
-
m
-
t
-
f
-
b
-
p
-
x
-
p
-
v
-
n
-
q
-
v
-
o
-
p
c
x
-
-
-
f
-
w
-
i
-
g
-
u
k
i
-
-
-
q
-
r
-
d
i
-
g
-
n
-
-
d
r
j
-
-
-
w
-
m
j
-
-
q
-
v
t
f
r
-
-
q
o
-
a
-
w
-
-
-
-
h
-
e
-
c
w
-
-
s
-
f
-
a
-
s
-
h
-
k
l
q
-
d
-
-
-
v
y
h
-
v
-
a
-
g
u
-
q
t
h
h
d
-
n
-
-
-
-
i
-
-
g
-
d
-
-
t
k
-
-
-
g
f
-
-
-
k
-
t
t
-
-
q
-
u
y
-
-
x
-
v
-
l
-
l
-
p
-
j
-
b
-
s
n
g
-
-
-
n
-
f
t
-
i
-
-
e
f
u
q
-
v
-
-
-
-
v
-
x
-
k
-
n
-
m
-
i
-
h
-
f
-
l
-
t
-
w
o
-
-
a
-
h
g
-
-
o
-
r
-
e
h
-
x
-
l
-
-
m
-
n
-
k
k
-
-
p
-
q
-
k
-
h
-
a
q
-
-
b
-
i
-
u
-
m
-
w
-
u
-
t
j
-
-
i
j
-
-
s
-
t
-
p
-
o
-
q
v
-
h
-
-
f
-
i
a
-
-
q
g
-
h
l
-
-
o
-
m
y
-
x
-
-
b
-
n
-
-
u
-
s
q
-
-
a
-
p
e
-
-
c
s
-
-
p
-
s
-
a
-
b
t
-
-
q
-
k
-
t
-
c
n
-
-
x
s
v
n
-
i
-
-
r
i
r
g
-
-
-
-
-
-
w
u
-
-
h
d
a
-
u
-
-
i
-
-
y
b
-
-
x
-
j
-
o
-
i
-
j
u
-
e
-
o
-
-
n
-
d
-
d
r
-
-
w
o
o
j
u
s
h
-
i
-
j
-
-
-
-
-
-
-
s
-
m
-
v
t
x
-
-
u
-
-
t
-
q
l
-
-
g
o
-
-
f
b
-
l
-
-
n
j
-
-
a
-
j
g
-
-
r
e
-
-
t
l
-
j
-
k
p
r
-
-
-
h
d
-
-
-
c
-
n
q
f
-
-
-
x
-
h
-
r
-
p
v
v
-
-
-
t
p
f
a
o
-
-
-
-
q
-
-
y
-
p
e
-
e
t
-
-
-
h
j
-
-
v
g
x
-
c
-
d
-
w
-
-
y
-
-
c
q
-
-
a
b
s
-
b
g
-
-
b
l
-
-
n
-
w
d
-
-
-
y
-
-
n
m
u
-
-
-
v
-
p
-
g
-
d
-
e
-
x
o
u
p
-
-
-
-
i
j
-
-
m
-
x
s
n
m
h
-
-
p
-
l
y
-
-
-
i
b
-
-
-
l
-
-
o
-
d
-
e
k
-
-
t
-
j
-
d
-
r
m
-
-
n
f
-
-
s
-
m
-
b
-
r
q
v
-
-
-
o
q
-
-
k
-
f
-
o
-
j
i
r
-
b
-
d
-
-
-
l
t
-
-
k
a
-
-
x
-
i
-
p
-
a
o
-
-
o
-
v
s
c
a
-
-
-
o
j
-
-
-
u
-
g
-
v
-
d
-
n
n
-
-
l
h
-
p
-
-
s
-
x
-
v
f
-
x
-
h
-
f
-
-
f
-
o
h
-
-
w
-
q
l
-
r
q
-
-
p
-
-
q
-
c
-
i
-
f
-
a
-
f
-
l
-
l
-
v
-
u
-
c
-
u
-
o
c
-
h
b
-
u
v
-
-
s
-
l
-
-
-
r
-
o
-
r
-
p
-
x
-
q
-
o
-
p
n
-
u
-
-
d
-
l
-
g
-
w
o
-
-
j
-
y
-
h
-
e
w
s
-
-
-
h
m
-
-
i
-
x
-
v
-
m
-
c
-
t
o
-
-
p
a
-
k
n
-
w
-
-
-
r
-
d
f
c
-
t
h
x
-
-
-
-
-
c
-
c
-
p
s
-
-
r
k
e
g
-
u
h
-
-
n
-
-
-
d
g
-
-
-
a
-
v
-
y
r
-
-
p
-
o
-
k
-
p
-
d
-
a
-
y
-
w
k
-
s
-
-
x
-
q
c
-
-
w
-
m
f
c
h
m
-
r
-
-
-
u
-
-
b
t
-
-
-
f
-
w
-
a
-
b
-
e
-
a
-
g
-
y
-
v
o
-
r
u
-
-
d
-
-
n
-
k
-
e
-
b
-
x
y
d
-
c
-
-
-
m
k
f
a
-
-
-
-
s
r
m
-
-
l
-
-
w
d
-
e
-
y
-
-
p
e
-
e
-
-
h
-
u
-
e
n
-
w
-
g
-
-
g
-
c
-
a
-
h
-
d
a
-
s
-
v
-
-
w
q
-
-
v
-
h
a
-
-
s
-
s
-
i
o
r
l
-
j
-
-
r
p
b
-
-
-
-
-
p
-
a
a
g
-
-
a
-
-
v
w
-
-
d
-
d
-
j
-
e
-
d
-
d
-
s
-
e
m
m
-
-
o
-
-
v
c
d
-
-
-
y
-
b
-
p
-
u
-
u
d
g
e
-
-
-
-
n
-
h
-
b
-
r
-
y
-
y
-
t
-
o
-
y
-
g
-
k
-
u
-
q
-
y
-
g
-
w
e
w
-
-
-
s
d
-
l
-
-
b
-
y
-
h
-
i
-
j
-
f
r
-
v
j
-
-
-
t
b
l
-
-
f
-
l
-
-
g
-
l
-
s
-
j
-
o
-
m
-
p
-
w
p
-
p
-
-
p
-
u
-
j
-
w
-
y
-
m
i
m
a
-
s
-
w
h
-
-
n
-
-
-
-
o
-
e
n
-
-
n
t
h
k
x
-
-
-
-
-
w
-
e
-
i
-
f
-
i
y
-
-
l
-
f
-
m
i
e
o
p
-
-
-
-
h
-
s
d
t
r
v
y
-
-
c
-
-
-
-
v
-
-
w
-
-
p
b
-
-
j
-
n
-
j
x
t
-
c
a
-
-
t
-
-
-
o
-
p
-
c
-
t
-
p
-
j
-
m
v
-
e
-
f
f
-
-
l
-
-
v
d
d
-
t
k
-
-
l
-
-
-
h
-
u
-
q
-
r
-
e
-
t
-
q
j
-
e
j
-
h
k
-
-
k
-
e
m
-
-
-
x
-
-
m
-
m
-
l
f
-
-
p
-
c
-
y
i
x
-
y
-
-
-
e
m
r
-
l
n
-
-
-
r
-
-
n
b
-
-
w
-
p
-
w
-
v
-
n
-
c
-
k
d
-
y
-
-
k
-
m
-
n
-
a
-
w
l
-
-
r
-
r
-
r
-
s
s
c
d
-
k
-
i
k
-
-
-
-
-
x
-
u
-
a
v
-
-
n
-
x
-
e
-
r
-
b
-
s
-
j
v
-
-
u
-
y
-
w
-
u
k
a
-
w
o
-
-
k
y
o
-
j
-
e
-
v
-
j
c
b
-
-
-
-
-
-
m
-
-
m
-
u
-
r
i
p
-
-
t
-
-
d
-
x
a
-
-
m
-
s
j
u
c
l
-
v
-
-
-
-
f
-
s
-
-
r
j
g
-
-
d
e
-
-
a
-
-
i
-
l
-
x
v
-
-
e
-
l
-
q
-
m
-
s
f
w
-
c
-
m
f
-
-
a
e
-
-
-
-
e
-
k
-
o
s
n
-
-
-
o
v
w
-
-
w
-
i
s
-
q
-
-
-
u
-
d
p
-
-
g
-
l
-
g
-
m
-
v
-
f
-
j
-
m
-
k
-
d
-
a
-
r
-
c
i
-
-
b
-
b
-
j
-
h
-
a
-
a
g
-
-
m
-
v
-
x
-
b
-
j
-
j
-
q
-
w
l
-
b
-
y
-
m
-
g
f
-
-
q
-
-
r
-
j
-
u
d
u
-
i
-
-
m
r
-
-
h
j
-
-
r
o
-
-
-
k
o
j
h
-
-
-
-
g
-
d
-
s
-
q
-
q
-
r
p
a
-
-
-
m
-
w
-
h
-
m
-
r
r
-
-
v
o
x
k
p
p
-
-
j
-
-
-
-
-
j
-
m
-
u
-
r
-
l
a
p
e
-
a
-
-
d
-
-
-
f
-
h
v
-
o
-
-
v
a
n
-
-
g
-
o
-
-
g
-
i
-
v
j
-
-
f
-
l
-
x
-
c
-
b
-
u
-
i
-
b
g
-
-
v
-
d
-
a
y
-
-
r
-
b
h
-
-
m
-
w
-
a
n
-
-
f
q
g
-
-
-
m
-
k
h
n
-
-
-
y
i
-
s
-
-
t
y
-
-
u
-
w
-
l
f
-
u
-
-
t
-
s
c
-
-
o
-
r
-
l
-
p
-
n
-
l
q
-
-
g
-
v
-
g
k
o
a
-
w
-
-
k
p
-
u
n
-
-
i
-
x
-
r
-
-
-
t
j
y
-
-
-
-
a
-
w
-
x
-
k
m
l
-
-
q
o
-
-
-
q
s
-
-
g
-
a
-
p
-
u
q
-
d
-
-
f
o
o
-
-
-
u
-
l
-
d
-
e
-
f
p
-
-
k
-
h
-
i
-
w
-
y
-
p
o
-
-
e
-
s
-
v
j
d
-
-
-
w
-
a
e
-
r
-
s
-
x
b
a
-
-
-
-
p
n
-
-
e
-
h
-
e
-
p
-
e
-
k
b
-
-
c
p
-
f
-
-
r
-
b
a
-
c
-
t
-
-
d
-
x
-
n
-
c
-
j
-
g
e
-
c
-
-
f
e
b
-
n
-
-
j
-
s
-
-
r
-
r
-
h
-
b
-
y
i
-
-
j
-
m
-
v
y
p
-
v
-
l
r
-
i
-
-
y
-
-
n
u
-
-
-
s
-
c
-
w
k
u
-
-
-
o
-
q
p
-
-
a
q
-
s
-
-
j
r
-
-
s
e
g
t
-
-
-
-
o
-
k
-
h
x
p
n
-
-
-
-
p
o
g
-
-
j
-
m
-
-
x
-
y
-
o
-
m
l
-
-
l
m
-
-
k
-
s
-
f
-
r
-
h
-
g
-
k
-
c
-
w
j
-
-
l
-
p
-
k
-
r
-
f
-
i
b
-
-
e
c
-
-
h
-
u
-
c
-
h
-
e
r
-
-
j
-
x
-
w
-
q
a
-
k
-
-
n
-
j
u
-
-
y
n
-
i
-
-
x
-
x
-
y
-
q
-
n
-
l
-
o
b
-
-
y
s
-
i
i
k
-
-
t
r
-
-
u
-
-
-
w
u
-
j
-
-
g
-
l
-
a
-
m
g
-
-
n
v
-
o
-
-
m
g
u
-
-
-
u
-
g
-
j
p
a
-
-
-
x
-
i
a
d
-
-
-
i
v
-
-
j
b
-
-
x
-
g
-
d
n
u
-
-
u
-
-
n
-
o
u
m
q
-
-
d
g
-
-
i
n
-
-
d
-
-
t
-
-
k
p
g
-
y
-
-
-
h
j
d
-
-
-
k
-
j
s
t
q
-
r
m
-
-
w
u
-
-
-
-
-
w
-
j
-
k
-
v
-
h
-
s
-
j
y
-
-
a
-
b
-
i
c
-
-
c
s
-
e
a
-
d
-
-
u
-
-
b
-
q
-
v
f
f
-
x
-
-
y
s
-
-
-
a
g
-
c
-
-
h
-
m
-
x
-
y
x
m
y
-
w
m
c
m
-
-
i
a
-
-
-
v
q
-
i
-
-
-
b
h
t
v
-
-
g
-
q
-
q
-
i
g
j
-
-
-
-
h
-
-
-
u
-
-
-
g
-
k
h
q
x
-
-
-
-
j
-
u
-
b
-
n
-
o
-
q
i
-
-
s
-
y
-
k
b
e
-
-
-
l
r
m
u
h
-
j
d
-
-
-
w
-
-
-
-
l
a
-
-
u
-
o
i
-
-
x
n
-
-
b
o
t
-
-
l
-
-
v
-
y
-
h
v
-
u
-
a
-
-
w
-
w
-
b
-
s
-
d
r
-
-
y
-
o
m
-
b
-
-
e
-
p
d
f
-
-
r
-
-
j
k
-
a
u
-
-
-
s
n
-
f
-
-
a
v
-
e
-
i
-
-
w
e
-
-
o
-
w
-
r
-
l
s
-
i
-
-
a
h
-
d
q
x
-
-
w
-
-
-
g
-
h
-
g
-
l
-
a
-
o
-
d
-
e
-
l
-
c
k
-
h
-
-
n
b
-
h
-
o
l
a
-
-
j
-
-
-
r
g
-
j
-
-
n
r
-
-
c
-
x
t
-
-
c
-
b
-
j
-
h
-
n
-
x
r
-
-
f
-
s
-
y
-
l
o
h
-
-
-
l
-
j
c
-
-
p
-
y
n
v
w
p
c
-
x
-
-
d
l
w
u
-
t
-
y
-
-
x
-
-
-
-
-
-
-
m
-
b
-
d
-
k
-
j
-
r
-
d
-
k
v
-
x
y
-
f
-
-
-
p
-
n
-
f
-
m
s
j
-
-
-
j
-
g
v
-
t
l
-
c
-
-
-
v
-
t
-
a
-
w
-
p
-
y
-
m
-
l
-
j
-
l
-
c
w
-
b
-
-
d
-
e
-
n
g
-
-
g
-
a
-
r
-
w
-
x
q
-
-
a
w
-
-
q
-
m
-
h
m
e
-
w
-
-
-
y
l
-
-
q
-
o
-
c
-
v
-
m
y
-
-
b
e
-
-
x
-
s
-
r
n
-
-
a
-
x
-
y
-
v
-
c
q
b
o
-
-
g
-
-
-
b
r
-
-
n
c
-
-
f
-
m
-
i
-
o
-
x
j
-
-
q
-
m
-
a
-
j
-
c
-
v
-
x
-
n
r
-
e
-
-
k
-
y
j
-
l
-
c
-
-
d
n
-
i
-
-
e
-
t
i
-
-
a
-
c
j
v
-
-
-
b
-
x
-
j
-
g
-
y
l
-
e
u
-
-
-
l
-
m
-
e
-
c
-
o
-
v
-
b
-
k
w
t
u
-
-
-
-
x
-
k
-
o
-
w
-
o
-
j
-
e
-
c
s
j
-
a
-
n
-
m
-
-
-
a
-
f
m
-
r
-
-
l
m
-
n
-
-
a
-
y
-
b
-
w
-
s
-
f
h
-
-
j
-
d
-
b
-
p
-
m
x
w
-
-
x
-
t
-
c
-
-
s
g
-
-
m
-
u
-
o
d
y
d
l
x
-
e
-
-
-
m
-
-
-
-
g
-
m
-
y
o
o
-
-
-
p
-
u
-
d
-
l
-
d
-
s
-
v
-
t
-
h
o
-
-
k
-
j
-
n
a
-
-
m
-
f
-
f
-
l
y
i
-
-
-
t
-
s
-
b
-
l
y
-
-
x
q
a
-
-
-
k
-
v
-
f
f
-
-
f
-
q
-
l
-
n
-
l
-
f
-
v
-
k
-
s
u
-
j
-
-
r
-
t
-
g
-
a
-
b
-
e
y
-
-
w
-
m
-
o
-
x
p
-
h
-
-
q
-
u
-
s
-
y
k
q
-
-
-
d
s
-
w
m
d
-
-
k
j
-
-
-
-
i
-
u
-
k
g
-
d
-
-
p
-
k
h
-
-
s
s
c
u
w
-
-
-
n
g
-
y
-
d
-
j
-
b
d
-
f
c
-
x
-
-
-
-
v
-
-
g
p
i
j
-
-
-
-
u
-
-
a
-
r
-
m
j
-
-
g
e
y
-
j
-
-
-
g
y
n
-
-
-
u
-
r
-
k
-
s
-
y
-
t
-
c
v
-
-
v
w
-
-
c
-
o
-
e
-
n
-
p
a
-
-
d
-
w
-
d
t
-
-
r
-
n
o
-
s
-
-
g
-
d
q
-
-
v
h
r
-
-
-
q
b
-
-
i
-
u
-
n
-
o
-
v
-
j
-
v
-
p
-
e
-
g
-
j
b
-
-
x
-
o
-
t
-
f
-
u
-
j
-
x
q
-
-
c
y
-
p
-
x
-
h
-
w
-
-
x
-
y
-
s
-
e
g
-
-
d
x
-
-
e
t
-
t
-
w
-
j
q
-
-
y
-
-
h
q
-
e
-
-
c
-
m
i
-
-
r
-
r
-
n
-
b
-
y
-
d
c
-
-
g
p
v
h
-
a
-
-
w
d
a
-
-
-
s
-
-
-
x
-
v
s
-
-
f
w
-
-
o
-
p
-
v
-
m
i
e
-
-
-
t
d
-
x
-
e
-
-
r
-
h
-
g
-
b
-
y
-
k
-
d
e
m
j
-
-
f
b
-
-
-
n
g
-
m
t
-
-
-
-
r
y
j
-
-
-
a
p
-
-
w
-
r
-
b
-
a
-
r
c
e
d
e
-
d
-
p
e
-
-
-
-
-
-
b
-
a
w
-
-
b
-
k
f
p
-
-
-
m
-
a
-
m
-
v
c
l
g
-
-
-
-
m
q
-
v
-
-
q
e
-
-
d
-
b
-
u
m
-
-
c
-
f
-
o
-
g
-
i
h
-
j
-
-
d
-
a
-
b
-
t
-
j
-
b
s
d
j
i
i
-
p
-
-
-
t
k
-
-
y
-
-
k
-
-
p
o
c
u
-
-
-
-
c
-
-
y
-
r
-
t
-
q
g
-
-
k
-
v
-
h
-
d
-
h
n
-
-
b
g
t
-
-
u
l
-
n
o
-
-
-
n
-
t
-
u
o
x
t
-
-
-
-
s
e
-
m
-
-
-
n
-
l
-
q
-
g
-
e
l
-
m
-
u
r
h
-
-
-
-
t
c
-
-
w
-
s
o
-
-
o
u
-
-
c
-
v
-
d
-
r
i
-
-
x
w
n
e
p
g
p
s
-
-
-
-
-
c
-
-
-
-
j
-
r
v
-
-
e
c
s
-
-
j
-
-
w
-
c
s
m
h
g
-
-
h
d
-
-
l
-
i
o
-
-
b
y
w
u
t
-
-
-
o
-
-
-
-
-
-
p
-
f
-
v
-
p
-
d
k
-
q
p
l
-
-
-
-
y
t
h
v
-
-
v
-
-
h
m
-
-
y
l
g
q
-
t
y
-
m
-
-
g
-
-
-
m
-
-
-
h
y
-
e
-
-
k
-
m
q
-
o
-
-
f
w
t
-
-
f
-
-
c
-
k
-
v
-
d
-
e
-
n
t
e
a
-
-
-
-
n
-
s
-
p
-
o
-
f
-
u
a
o
i
-
h
-
-
-
-
m
-
p
h
n
-
-
h
-
g
x
-
b
-
k
u
m
-
-
-
v
-
j
-
y
-
u
-
-
-
v
f
-
-
a
s
-
-
p
-
q
-
g
-
u
c
-
-
j
q
h
-
-
-
w
-
e
-
b
-
s
-
f
c
-
-
m
x
-
-
s
b
b
-
-
-
f
-
a
w
v
d
-
-
a
f
q
f
b
-
k
-
-
a
-
h
p
-
-
m
u
-
-
-
-
-
-
-
t
-
e
-
k
p
-
-
p
-
m
-
t
-
u
-
b
-
d
-
y
i
a
v
-
c
k
-
-
-
-
-
v
-
p
-
p
v
-
-
n
e
b
-
-
r
-
-
e
f
u
g
-
w
q
-
-
q
m
k
r
-
-
-
x
-
-
-
-
-
a
-
a
h
-
-
s
-
w
t
-
-
a
-
a
-
a
-
a
s
y
-
-
d
-
o
l
n
-
-
-
-
k
-
r
-
h
-
a
-
l
b
o
-
-
-
d
-
e
-
u
-
f
-
s
-
f
n
-
-
q
p
k
n
-
-
m
-
-
-
n
r
-
-
u
-
b
g
-
-
p
-
y
-
j
-
x
-
d
o
-
-
v
-
g
w
-
-
i
-
q
t
-
-
v
-
h
v
-
-
x
-
w
-
a
-
d
g
-
-
t
u
-
-
n
-
y
-
l
-
c
-
n
-
t
h
-
g
c
-
-
-
p
a
-
-
h
-
p
-
a
-
c
i
-
u
-
-
m
-
p
h
-
-
v
-
c
-
b
p
-
i
s
k
f
-
h
-
-
g
s
-
i
t
-
h
j
-
-
-
l
-
v
-
-
-
-
m
-
-
j
-
o
-
j
f
-
-
l
-
t
m
q
-
-
d
-
-
n
-
y
-
h
-
y
-
i
-
c
-
q
-
w
-
k
-
u
-
o
-
w
f
-
-
t
-
m
w
-
s
-
-
p
-
x
-
s
s
-
-
k
-
e
-
x
-
r
-
h
-
q
-
e
j
-
-
t
-
a
-
s
-
g
p
e
-
-
t
-
b
u
d
-
-
w
-
t
-
-
a
-
a
-
f
-
-
e
-
s
-
b
-
d
b
-
u
m
b
-
-
-
-
c
-
n
-
q
-
u
y
-
-
w
p
-
k
-
i
-
-
j
u
-
-
c
-
i
t
v
-
-
-
e
m
-
-
k
-
q
-
n
q
-
n
-
-
w
-
k
r
-
-
u
k
-
-
v
-
l
-
c
o
k
-
-
-
l
o
-
n
-
-
c
-
t
-
b
-
p
-
s
-
m
-
a
j
-
-
l
k
f
-
-
-
b
-
q
-
d
-
f
-
l
k
-
-
b
-
l
w
-
c
-
m
y
v
-
-
-
-
w
h
a
-
-
e
-
-
e
-
k
-
n
-
a
-
r
m
b
-
n
-
-
p
h
-
-
-
c
-
h
-
l
-
j
-
g
u
-
-
q
-
j
-
g
e
d
-
-
-
m
-
x
-
q
-
j
-
h
-
c
-
e
-
d
-
p
-
j
-
u
g
o
-
-
-
r
i
-
-
j
s
-
k
-
-
k
-
k
g
-
d
-
-
e
-
l
-
p
-
g
n
m
-
f
-
i
u
-
-
-
-
b
-
o
f
-
-
x
-
w
-
j
-
y
-
x
-
w
-
b
-
b
b
-
-
n
-
q
-
f
-
o
-
i
-
l
v
-
-
p
b
-
-
u
s
x
-
f
-
a
-
-
-
i
-
g
-
n
w
-
o
q
-
-
j
-
-
c
o
w
-
-
s
-
-
m
-
e
-
v
t
-
-
d
-
a
-
l
-
v
-
u
-
m
-
g
-
p
y
-
-
k
-
j
-
n
u
-
-
j
m
-
b
-
-
q
-
y
-
a
j
j
-
-
g
-
o
-
-
h
b
v
l
-
-
-
-
q
-
g
c
e
-
s
-
-
v
r
n
-
-
-
-
x
-
e
q
-
k
-
-
d
-
l
d
-
v
-
-
m
-
g
s
l
-
-
-
g
-
c
x
-
f
-
-
q
-
d
-
g
-
n
x
-
-
j
w
-
d
h
d
-
h
c
-
-
p
k
v
-
-
-
x
-
h
x
s
-
h
-
-
q
-
-
i
q
-
-
-
x
-
-
l
r
-
-
-
l
b
u
-
-
r
-
-
v
n
l
a
-
-
-
-
j
-
n
-
p
-
l
-
a
m
-
-
q
o
-
q
-
-
i
-
n
u
-
-
y
p
m
-
-
-
f
-
n
-
y
f
-
w
-
-
d
k
-
-
a
-
h
-
t
-
o
-
j
p
-
-
b
i
-
-
n
q
u
m
j
-
-
-
d
r
w
-
-
-
-
-
n
-
r
-
x
i
-
-
y
-
f
b
-
-
o
-
d
-
n
-
c
-
w
b
p
l
-
y
-
-
p
-
-
-
s
-
g
-
v
g
-
-
a
-
b
-
q
-
l
-
f
-
y
-
d
-
f
o
-
-
v
-
i
p
-
-
r
-
j
q
g
-
w
-
-
t
-
g
-
-
x
l
-
-
v
h
-
-
s
-
v
-
b
-
c
-
v
u
u
-
-
t
-
-
l
-
q
l
-
j
-
b
q
-
-
d
-
-
q
-
g
-
b
-
u
-
g
-
s
-
i
-
h
-
o
-
t
-
l
k
q
-
-
-
n
-
e
u
-
b
-
-
c
q
-
-
s
-
d
-
u
-
p
-
p
-
l
j
-
-
g
-
i
n
-
l
-
-
o
t
-
-
a
e
-
-
c
-
i
-
k
-
i
i
-
-
p
-
i
l
-
-
e
-
p
a
q
-
-
c
-
-
m
s
u
-
-
-
e
-
n
-
l
i
-
-
q
-
l
k
-
l
-
-
h
m
p
-
-
p
-
-
f
n
-
-
h
-
a
-
k
-
m
-
h
-
c
-
p
-
c
-
d
-
i
-
q
f
-
-
g
p
x
h
-
-
-
-
q
-
d
j
-
q
x
-
-
l
-
f
-
-
j
-
r
-
n
-
v
b
-
-
g
h
-
-
a
i
-
m
b
f
-
-
-
k
-
-
i
j
x
d
e
e
-
-
-
-
-
p
-
p
a
-
-
-
r
-
g
-
x
y
-
-
t
-
f
-
j
y
y
-
i
-
-
-
m
m
p
r
-
-
-
m
-
v
-
-
a
-
n
-
h
-
r
-
y
u
-
-
o
a
l
d
-
-
q
-
e
-
-
-
w
-
l
-
e
-
g
-
p
-
d
i
-
-
b
-
p
-
l
-
k
-
u
-
h
r
-
-
j
-
m
-
p
-
v
-
i
-
b
r
f
-
-
-
h
-
l
-
y
-
f
-
s
u
-
-
w
d
-
-
s
x
v
-
-
-
p
-
e
-
y
o
i
-
-
l
-
-
e
-
k
-
u
f
-
r
-
-
e
-
f
-
r
-
o
-
u
-
q
-
q
-
d
l
-
m
-
-
g
-
s
-
n
-
c
-
v
i
x
j
-
t
-
o
q
-
j
-
-
-
e
-
a
-
-
-
f
-
w
-
g
-
w
-
j
-
k
w
j
v
-
e
-
o
-
-
-
-
x
-
t
-
v
f
a
b
-
n
f
w
p
m
j
-
-
v
-
-
-
-
-
-
-
-
q
-
b
t
-
-
a
-
q
v
-
-
q
-
h
l
-
w
p
-
s
-
c
v
g
-
-
-
-
-
o
-
l
r
-
-
w
-
t
-
h
-
b
-
m
-
h
-
r
i
f
y
-
-
s
-
-
-
j
-
l
-
x
-
b
p
-
-
c
-
t
-
f
k
-
q
-
-
f
-
c
-
d
-
s
-
m
-
g
-
s
k
-
-
w
k
-
p
-
-
a
-
o
-
f
-
a
-
m
-
r
-
k
-
m
t
-
-
n
-
c
-
c
-
o
-
h
s
-
-
y
g
v
-
g
-
-
m
-
-
w
-
e
-
t
k
m
-
-
t
g
-
-
-
b
-
j
-
b
-
b
-
l
-
f
-
k
-
x
-
g
-
y
-
p
-
g
-
s
u
-
-
a
-
r
-
e
-
w
f
-
-
c
-
b
t
-
q
-
-
j
r
-
-
q
u
-
-
b
-
f
-
u
-
g
-
c
-
f
-
u
g
-
-
f
r
-
-
h
-
g
-
r
-
u
-
y
-
f
x
-
-
t
-
u
k
-
-
w
-
f
o
-
-
d
a
-
-
j
-
o
m
v
-
-
q
-
-
q
-
s
-
m
-
j
d
-
-
y
-
f
o
j
-
m
h
p
-
-
-
-
-
m
-
a
b
g
-
o
-
-
x
q
-
j
-
-
-
h
b
-
n
g
-
r
-
-
-
y
-
l
-
u
-
t
q
g
-
-
-
k
k
-
u
-
h
-
e
m
-
-
-
t
-
a
-
y
t
-
-
c
-
e
q
l
k
m
-
-
-
d
-
-
-
e
-
j
-
i
-
n
-
d
-
f
-
e
u
-
c
e
-
-
-
d
i
-
-
k
y
-
x
x
-
-
-
n
-
n
l
-
-
i
-
w
w
o
-
r
-
p
-
n
s
p
-
-
t
-
e
-
-
k
-
l
k
-
s
b
-
-
-
o
-
-
t
-
-
j
-
t
-
s
-
d
-
r
d
s
w
n
q
r
f
-
-
-
-
o
-
k
-
-
c
-
g
m
-
y
-
-
m
o
-
-
-
-
l
b
-
-
p
b
o
-
y
-
-
-
-
g
-
c
p
o
-
-
-
r
-
r
-
a
-
p
l
-
g
-
-
y
-
l
-
k
-
q
-
o
j
-
-
x
h
-
g
r
-
-
j
s
-
-
-
x
-
h
-
w
x
-
-
v
-
d
-
v
-
h
-
y
o
h
p
-
-
-
n
-
b
-
a
f
-
i
-
j
-
u
-
-
-
v
f
h
-
-
q
-
f
m
-
x
-
x
-
v
s
-
n
-
o
-
-
-
-
l
-
n
q
-
t
v
-
-
o
-
-
p
-
b
-
p
f
o
-
u
-
-
-
l
-
j
-
f
f
-
-
g
-
o
-
m
k
u
-
h
-
-
-
l
f
b
-
-
-
k
-
y
-
k
l
w
-
b
-
s
t
f
-
-
l
-
-
h
-
t
w
-
-
r
-
t
-
-
e
f
-
b
k
-
-
-
-
k
-
s
-
h
-
x
d
w
-
h
-
g
y
-
-
-
d
u
-
a
-
-
-
l
-
p
-
f
g
-
-
m
x
-
m
u
-
m
n
-
r
-
-
-
-
x
-
d
-
j
p
-
-
h
-
m
-
x
a
-
f
-
k
-
-
p
-
k
-
k
-
s
-
f
-
r
n
-
p
-
u
-
-
h
f
-
-
u
-
g
-
y
e
-
-
s
-
e
-
f
-
s
-
g
a
-
n
-
-
i
-
s
-
b
-
e
-
x
-
s
-
a
j
-
-
g
l
-
-
l
-
t
-
i
-
f
-
a
-
k
-
j
-
j
h
w
-
-
-
g
-
y
-
m
-
o
k
-
-
a
-
k
s
-
-
c
x
-
x
-
-
q
m
-
l
-
-
d
-
d
-
q
y
p
-
-
e
-
-
j
k
-
-
k
b
-
g
r
-
-
-
n
o
-
-
r
-
d
-
o
-
s
r
-
n
-
-
f
-
e
w
h
-
-
-
l
-
x
-
b
-
a
-
e
-
k
-
m
-
r
y
-
-
x
-
l
-
r
n
k
-
-
-
v
-
n
-
q
l
-
-
t
-
m
x
-
-
w
c
-
u
-
-
v
b
w
-
-
-
w
-
c
-
j
-
j
-
g
-
g
-
t
e
d
b
-
-
-
y
a
-
o
n
-
-
e
-
-
a
-
g
c
h
a
-
-
-
-
s
-
-
p
u
-
-
r
-
w
j
-
-
i
w
b
-
p
-
-
-
x
-
k
e
i
-
c
t
-
-
-
-
c
l
-
-
n
-
k
-
p
-
r
-
m
-
b
-
l
m
k
-
j
-
-
-
q
-
c
-
m
-
q
-
a
o
e
e
-
q
w
-
-
c
-
o
-
-
-
-
y
r
-
j
-
-
p
-
m
-
p
-
k
i
s
-
-
-
a
o
-
-
k
s
s
-
-
-
m
-
u
-
o
-
y
-
r
-
l
l
m
-
-
b
-
-
i
-
l
-
t
n
-
-
f
d
p
i
-
-
m
-
b
-
-
-
u
-
f
-
k
y
d
-
-
-
y
-
o
-
a
-
b
-
h
-
w
e
n
-
-
s
-
-
o
-
q
d
-
-
u
-
w
-
l
-
v
-
w
c
-
-
x
-
v
l
a
q
-
-
-
n
-
t
w
-
-
-
r
-
n
-
p
-
k
i
l
-
-
w
-
-
r
-
b
-
y
-
g
-
s
-
t
-
n
-
f
-
m
n
-
-
s
-
w
-
w
s
-
b
-
-
n
b
-
-
h
-
a
-
x
-
l
i
-
-
k
-
o
f
u
-
-
-
g
y
-
q
i
d
-
-
-
t
-
-
i
-
n
v
-
p
-
-
k
-
y
-
m
h
-
-
l
-
j
j
m
q
-
-
-
k
f
-
-
o
-
q
y
-
-
-
g
-
d
-
x
-
b
-
d
-
j
s
n
-
-
r
m
j
-
-
-
-
b
y
-
-
l
-
v
-
p
-
n
i
-
-
a
d
n
-
-
r
-
-
w
-
g
-
g
-
j
j
-
-
y
-
d
k
-
-
d
-
g
-
l
-
y
k
-
-
v
x
-
-
k
-
e
-
d
-
s
-
h
k
-
-
h
-
a
-
y
w
-
-
d
a
-
-
f
-
t
-
r
-
r
k
-
-
g
-
y
-
y
-
t
-
y
-
t
j
-
-
w
-
l
s
u
-
-
x
b
-
-
l
-
r
-
r
-
c
-
-
y
-
l
-
r
-
f
-
k
-
d
-
d
-
j
-
m
-
n
-
g
-
b
n
f
f
-
-
-
-
j
-
s
j
i
-
-
v
-
a
-
-
s
-
a
-
k
-
m
f
-
-
y
w
-
r
-
o
e
-
-
-
y
-
b
-
l
-
v
-
a
-
p
-
k
-
u
-
q
-
y
-
i
w
-
-
b
-
p
c
q
-
-
-
c
r
-
-
s
-
j
-
l
-
y
-
t
l
-
-
e
-
m
-
r
t
-
-
f
-
a
-
p
-
t
-
k
-
w
-
m
-
v
r
-
n
-
-
u
-
l
-
s
v
h
m
-
-
-
n
-
-
a
-
g
-
u
-
v
-
u
s
-
-
d
e
-
r
-
g
f
g
-
a
m
-
v
-
e
-
-
-
i
-
-
-
p
x
-
-
s
-
h
d
e
-
-
-
d
-
e
-
s
j
-
-
d
-
w
l
-
n
x
-
-
-
m
-
y
-
e
-
n
-
d
-
c
-
f
-
h
-
q
c
-
-
h
-
o
-
f
-
k
-
t
-
f
-
w
-
v
-
c
f
g
-
j
t
-
w
-
-
-
-
t
-
p
-
f
b
d
-
-
-
q
-
s
-
a
-
y
-
l
-
b
-
v
a
-
-
k
-
b
w
e
-
-
v
-
d
-
l
-
-
x
-
d
b
-
-
k
d
a
-
e
-
-
f
-
o
x
-
n
p
-
-
-
-
j
-
p
-
p
-
h
-
t
-
e
-
m
-
c
r
-
b
-
s
-
b
-
-
d
-
r
-
m
-
n
-
x
e
-
-
c
-
n
-
d
-
t
x
g
-
x
-
-
k
u
-
e
-
d
k
m
-
m
d
-
b
-
-
l
-
-
-
p
i
-
-
-
p
-
-
b
-
x
-
l
-
a
-
a
-
m
n
-
-
j
-
q
-
p
k
-
-
i
-
k
-
k
t
-
-
x
-
t
i
-
-
l
-
e
d
-
-
c
-
w
w
-
-
o
-
s
-
t
s
-
a
g
-
e
-
-
a
-
k
-
-
a
-
q
-
k
b
-
-
k
-
q
p
o
-
r
-
t
u
-
-
-
-
k
-
n
-
l
-
i
e
k
a
s
-
-
-
-
r
i
-
-
k
-
q
-
-
l
-
y
-
n
g
-
d
d
v
-
a
f
h
p
-
b
-
-
-
-
s
-
-
-
-
p
-
d
-
n
-
c
-
y
k
-
-
j
-
t
w
-
-
n
g
-
-
t
-
h
j
k
t
-
-
-
-
i
w
g
-
-
r
-
-
w
r
-
c
-
-
y
k
-
i
-
-
n
-
l
-
a
-
w
-
o
-
u
b
g
s
-
-
-
-
a
-
v
c
u
-
p
-
b
-
-
-
i
-
x
-
w
-
d
-
s
-
y
n
w
-
-
y
-
s
b
-
x
y
-
-
-
-
g
-
y
m
-
-
i
w
k
-
-
-
m
-
v
v
w
-
-
-
b
b
-
-
g
-
o
-
j
h
-
-
v
-
i
o
d
w
t
-
-
l
-
-
-
-
u
-
p
i
-
-
f
j
-
-
x
-
l
r
-
w
-
-
e
-
o
-
p
-
f
d
t
-
g
-
-
i
-
-
q
b
-
k
-
p
-
g
v
-
-
s
-
w
c
-
-
w
n
-
-
-
w
-
y
-
m
h
-
o
-
-
u
-
l
-
g
r
-
m
-
k
p
-
-
-
r
-
p
-
x
-
g
-
t
-
r
-
w
a
v
d
-
-
-
-
k
h
q
-
-
t
-
-
n
-
q
f
-
-
r
k
s
t
b
r
-
-
-
-
e
u
-
r
r
-
-
-
p
-
-
-
q
-
f
-
i
-
e
j
-
p
a
-
n
-
d
-
-
-
k
-
i
e
-
-
t
-
n
-
k
f
a
-
-
-
f
-
q
i
s
-
p
-
-
-
b
f
v
-
-
-
t
-
p
-
v
-
m
-
b
m
-
-
g
i
-
-
e
-
r
f
-
q
-
o
u
-
-
-
n
-
r
-
h
-
q
-
c
h
f
p
g
-
n
-
-
-
-
-
n
-
o
r
-
-
k
-
k
-
i
x
-
-
q
u
-
-
o
-
k
-
y
-
l
-
a
-
u
-
k
g
o
-
-
-
f
-
v
b
-
o
b
j
a
t
-
u
o
m
-
-
h
x
-
p
-
q
-
h
-
o
s
-
g
-
-
-
y
-
-
-
v
-
-
-
l
-
w
-
-
-
n
-
t
-
o
f
-
-
x
-
t
-
u
-
i
-
q
-
s
r
-
u
-
-
y
-
c
-
q
-
i
a
m
i
-
u
-
-
-
-
o
u
-
n
-
-
m
-
l
-
y
v
h
s
-
-
-
-
c
-
x
-
c
f
-
-
f
c
k
y
u
a
a
-
-
h
-
-
-
d
-
-
d
r
y
-
-
-
i
n
-
p
-
a
-
s
-
-
-
-
r
-
q
h
-
f
m
o
-
-
-
-
q
-
x
-
o
e
-
-
k
-
v
m
y
-
-
-
q
-
a
-
c
-
d
n
-
-
q
y
h
h
-
d
q
i
-
g
-
-
-
x
-
-
-
-
t
-
q
-
f
-
b
-
g
-
l
-
c
e
-
t
x
-
-
-
i
-
x
g
-
h
-
-
i
r
w
c
-
-
p
-
-
-
e
-
q
-
e
-
s
w
w
u
-
o
k
n
f
-
-
-
-
-
-
-
l
-
u
-
y
-
n
-
w
x
-
-
g
-
n
-
j
-
m
-
a
-
k
-
j
l
-
u
s
-
h
-
y
x
-
i
-
e
h
-
-
n
-
-
-
-
p
-
i
k
-
-
a
-
n
-
h
-
x
-
m
x
-
g
v
u
h
-
x
h
u
-
-
-
-
-
-
i
-
i
-
t
h
-
-
e
-
r
c
-
-
-
v
-
p
-
k
-
a
-
k
l
-
-
r
-
f
h
-
-
k
-
s
o
-
-
v
-
o
-
y
m
n
q
-
q
f
e
-
-
-
-
-
-
a
-
t
r
g
e
p
-
-
-
-
i
-
v
v
-
m
-
u
-
-
-
m
-
v
i
-
-
a
-
j
l
s
-
-
-
j
g
u
-
d
-
-
-
d
k
-
i
y
-
-
-
s
-
p
-
g
f
-
-
v
-
w
-
y
h
-
-
h
-
g
-
k
w
m
-
c
-
-
i
-
-
f
-
k
i
-
-
j
d
-
n
-
-
i
-
j
-
k
-
d
o
-
e
h
t
-
-
a
-
y
-
-
-
d
b
-
i
-
-
k
-
r
-
a
-
w
-
j
f
d
n
-
y
y
-
m
-
f
-
-
-
-
e
-
k
d
-
j
-
k
-
-
-
g
-
l
y
-
-
q
-
p
u
m
w
-
-
h
g
-
-
-
-
w
-
j
a
-
i
-
-
v
-
k
j
h
w
-
-
-
c
-
-
i
-
p
-
o
-
e
-
i
-
d
n
-
x
m
d
-
-
-
y
-
-
m
-
e
-
l
-
d
u
a
-
t
m
-
-
-
-
y
-
b
-
u
-
x
-
q
-
s
-
y
-
b
p
-
-
m
-
f
l
-
-
l
-
c
j
-
-
u
v
-
k
-
-
w
p
b
-
-
-
q
a
f
-
-
-
q
-
x
-
t
-
y
s
-
p
-
u
-
t
q
d
v
-
v
-
j
-
-
-
-
-
c
d
-
v
h
-
-
-
w
-
p
-
r
-
a
-
g
c
-
j
x
-
f
-
h
i
m
-
c
-
-
-
e
l
-
n
-
-
u
-
-
-
e
-
k
-
e
u
h
-
-
-
r
-
h
-
b
-
h
-
c
b
g
-
-
-
a
-
k
-
u
i
n
-
-
-
l
-
j
-
f
-
y
-
i
-
p
e
c
-
-
-
d
-
g
-
k
w
l
-
j
x
i
-
-
h
k
-
-
-
a
-
-
-
s
-
p
-
g
-
b
y
-
y
-
s
-
c
-
p
-
-
v
q
-
m
-
n
-
-
n
v
-
-
t
-
m
v
-
-
v
-
f
-
a
-
f
-
e
-
q
-
h
-
r
-
k
-
h
s
-
-
a
n
-
k
e
-
-
-
n
-
v
c
-
g
u
c
-
-
-
-
b
x
-
-
u
-
j
p
-
-
c
u
j
-
-
-
o
-
t
-
a
-
c
y
-
-
n
-
n
-
c
-
h
q
-
-
j
w
-
j
v
-
-
i
-
-
k
-
u
-
o
-
i
-
t
e
-
-
l
-
k
-
m
-
m
-
j
-
b
-
x
k
y
-
-
-
n
-
y
-
g
-
a
-
n
-
n
-
x
-
u
-
g
-
r
g
m
-
d
-
y
-
x
-
-
-
n
a
-
w
a
-
f
-
l
f
l
-
-
d
r
-
q
-
a
f
n
-
-
-
-
-
-
-
s
-
n
-
r
-
r
h
n
-
c
-
c
-
b
-
-
-
m
a
-
-
f
n
-
-
l
p
-
-
e
f
-
w
g
w
-
j
-
-
q
j
-
-
-
-
a
-
o
-
r
-
f
-
s
-
c
e
i
-
-
v
-
u
q
-
-
j
-
x
-
-
b
-
m
-
i
x
-
-
a
l
-
d
-
-
v
k
o
-
-
v
n
e
-
-
-
-
c
f
-
-
k
-
x
-
y
-
f
-
w
-
y
i
-
-
x
-
j
-
p
-
p
e
-
r
-
e
-
-
f
-
a
-
a
-
l
p
-
-
r
-
m
-
k
t
-
-
c
-
x
-
k
t
-
u
-
-
i
-
v
-
j
j
-
-
t
-
h
-
u
-
j
-
v
-
k
-
m
h
-
-
l
-
o
-
e
-
k
-
o
-
w
i
-
-
d
-
i
-
k
g
-
-
g
-
v
-
w
-
s
l
-
-
j
-
d
u
-
-
i
f
-
-
c
-
m
-
m
-
o
-
e
m
-
-
w
-
i
-
a
-
g
-
m
-
j
-
t
-
u
-
n
-
d
g
-
b
-
-
q
-
j
-
o
-
v
-
n
n
-
s
w
-
-
-
q
-
x
-
v
-
m
-
y
-
g
o
g
n
-
m
-
-
o
-
-
n
-
-
t
-
w
-
e
i
-
-
q
-
r
g
-
-
w
-
p
v
v
-
-
-
v
-
q
-
u
f
-
-
h
j
o
-
d
-
-
-
l
a
w
p
-
d
-
w
v
-
-
-
t
c
d
r
h
-
r
-
-
-
-
-
-
a
-
-
r
-
d
r
-
e
-
-
c
-
m
-
t
-
v
b
-
-
j
-
i
p
-
-
q
-
s
c
-
-
y
j
-
-
o
-
x
o
x
-
-
-
l
x
d
-
-
-
m
-
n
-
y
k
-
t
-
-
u
j
w
o
-
-
-
-
s
n
-
-
h
e
-
-
q
w
c
l
o
u
-
-
d
-
-
b
i
p
w
-
-
-
-
j
t
e
d
m
-
l
-
x
-
-
-
-
r
-
-
s
-
-
g
r
q
u
-
-
-
-
w
e
q
-
-
-
-
-
s
-
x
v
-
-
u
-
u
c
-
u
j
d
-
k
-
-
h
-
-
-
h
p
-
-
t
-
l
-
x
-
r
-
t
-
g
-
m
b
x
j
-
-
i
-
-
-
e
x
-
-
l
-
g
-
j
-
c
-
c
-
u
u
y
t
-
p
-
j
-
i
-
c
-
-
u
n
-
u
u
-
k
-
-
-
-
-
w
-
o
-
i
-
c
-
b
-
t
-
b
h
-
-
o
-
q
-
x
-
d
s
-
-
v
-
w
-
q
-
m
-
h
h
-
-
b
-
q
-
g
-
y
-
n
-
p
d
-
-
m
-
o
-
g
-
f
-
k
-
f
c
q
r
n
o
-
-
-
-
-
c
-
-
u
-
s
-
x
-
y
v
y
-
-
-
o
-
x
-
x
-
g
-
j
d
-
-
h
-
w
-
g
-
g
i
-
-
b
-
l
-
h
-
x
-
e
-
s
r
o
-
d
-
m
-
-
x
-
n
-
-
i
-
j
-
t
-
p
-
e
-
t
-
q
-
t
x
-
g
h
-
-
-
q
o
-
-
u
n
-
-
q
-
e
-
x
a
g
-
g
b
w
-
-
c
-
-
w
-
k
-
l
-
x
-
-
y
p
-
s
-
-
-
d
-
i
-
p
i
c
s
-
g
-
-
-
-
m
w
-
-
e
-
j
-
i
-
p
p
-
-
a
g
e
d
e
c
-
u
u
-
-
-
i
g
d
-
-
-
-
-
p
f
l
e
-
-
-
c
-
-
-
-
h
-
u
d
-
-
y
-
h
-
r
a
-
t
v
-
c
-
i
-
-
-
l
n
c
m
r
u
-
-
-
-
-
e
-
l
-
-
a
d
-
-
r
w
s
-
-
-
o
-
j
-
l
-
s
t
q
-
-
c
-
-
g
-
q
x
-
-
o
-
t
-
x
b
f
j
u
y
-
-
m
o
-
-
-
h
r
h
v
-
-
-
-
-
-
-
w
-
x
-
y
-
v
-
v
k
t
-
o
-
p
-
-
-
f
-
i
f
-
l
-
-
w
r
-
d
r
-
r
-
-
-
h
h
-
-
h
-
o
h
l
n
-
p
-
o
-
-
-
-
k
-
m
-
g
-
q
r
-
j
-
p
-
-
h
-
c
-
x
-
l
v
y
-
-
-
j
-
c
-
b
-
c
-
r
-
k
-
j
-
h
s
-
-
j
-
k
-
b
-
v
s
-
n
-
-
r
-
b
y
-
-
g
d
d
m
-
-
-
-
t
-
p
h
-
-
g
-
w
e
l
f
-
-
-
-
m
-
v
-
r
-
s
-
y
o
-
-
f
-
r
-
y
-
l
k
-
l
w
r
m
-
u
-
v
-
-
-
-
k
-
f
-
-
t
-
i
p
q
w
p
p
-
-
-
a
-
h
-
-
-
l
-
b
t
-
-
-
k
-
v
-
o
-
p
u
-
-
s
y
-
u
k
w
n
w
l
-
-
-
-
-
-
x
-
-
y
-
r
n
-
d
-
-
f
r
-
q
g
-
-
-
b
-
b
w
-
-
r
-
o
-
i
v
n
l
-
n
-
c
-
-
-
e
-
-
f
o
-
m
k
-
-
d
-
t
f
c
-
-
-
-
i
-
x
t
o
-
v
-
a
x
e
-
v
s
-
r
q
-
o
p
f
k
-
-
o
-
-
-
-
-
-
-
-
-
d
-
w
-
f
c
-
-
l
l
-
t
-
-
a
-
t
-
a
-
j
-
w
-
q
-
d
c
-
-
r
k
u
-
-
-
n
-
l
-
t
o
n
-
-
e
b
-
-
-
e
-
j
-
h
-
l
-
a
s
-
-
e
g
-
-
i
m
-
x
h
a
-
-
a
-
p
-
t
-
-
-
s
y
y
-
v
f
q
-
-
m
w
-
n
g
-
t
c
-
q
-
-
-
-
-
g
-
-
-
r
-
l
-
y
n
h
f
s
-
-
-
-
-
g
-
g
-
h
-
o
-
j
-
c
l
-
-
c
-
g
-
o
-
c
-
p
-
o
o
-
f
g
-
s
-
-
a
-
-
u
h
-
-
t
-
o
r
l
-
-
-
d
-
w
-
c
-
b
-
e
-
s
-
e
-
l
-
l
q
-
-
w
d
-
-
c
-
g
-
u
-
c
m
-
-
q
-
m
-
e
y
-
-
y
-
j
-
v
s
v
-
-
-
e
h
-
-
g
n
n
-
-
i
y
-
-
-
j
w
-
j
v
y
-
t
a
-
-
w
-
-
-
-
p
a
-
-
u
-
c
-
p
t
t
-
-
-
t
-
c
-
q
-
w
-
q
-
s
-
b
-
l
o
i
m
-
-
-
-
c
m
s
-
-
-
b
-
o
-
k
-
y
-
h
-
m
-
n
-
d
-
i
-
p
-
y
o
-
h
r
-
-
v
-
-
a
x
q
-
-
-
i
-
k
-
u
-
y
e
-
-
s
w
-
-
g
-
r
-
q
-
h
-
v
-
h
q
v
s
-
s
-
-
-
-
n
-
c
l
-
v
-
-
e
-
i
t
s
b
-
-
-
s
-
-
l
i
e
-
-
c
q
x
-
-
g
-
-
c
-
-
m
i
-
-
a
-
e
-
c
-
y
-
e
t
-
-
n
-
b
-
t
-
m
-
f
-
e
c
m
-
-
-
o
-
b
c
q
g
m
-
b
-
-
-
-
-
b
-
j
-
m
c
-
-
f
-
e
p
q
-
w
-
-
n
-
j
u
-
w
-
o
-
-
x
-
-
p
-
e
-
t
x
v
-
-
-
n
-
e
q
-
-
a
-
t
-
v
-
i
-
q
-
f
b
-
-
f
-
t
-
n
s
-
-
s
-
a
-
w
-
y
-
c
-
q
-
i
-
s
-
o
-
q
-
e
-
o
-
n
-
g
q
i
-
n
-
n
w
-
-
-
-
v
-
y
y
-
l
-
-
p
-
e
-
d
-
t
g
p
i
-
-
-
-
d
-
m
-
b
-
n
x
k
-
-
-
r
-
f
n
-
-
u
d
-
-
p
g
-
-
m
-
a
-
e
b
k
-
-
-
m
y
-
q
-
f
a
-
-
-
q
c
-
-
q
-
w
-
s
-
v
-
l
-
l
u
n
y
-
-
a
y
-
-
-
-
r
-
b
-
v
j
-
-
j
-
g
j
-
p
n
j
-
f
-
-
c
-
-
u
r
-
-
y
-
-
p
g
-
-
n
-
r
-
j
-
u
t
-
-
j
-
k
m
a
n
-
-
-
-
l
-
r
c
-
-
e
-
a
-
s
-
y
-
v
-
f
-
w
-
n
-
w
y
l
n
-
b
-
-
-
k
-
-
v
r
-
-
p
-
v
i
s
o
-
-
p
u
-
-
-
j
-
q
s
-
-
f
-
-
v
i
-
j
t
v
b
g
p
h
-
-
-
v
u
-
-
-
j
g
y
-
s
-
-
-
r
-
r
-
-
m
-
-
-
-
k
w
-
x
d
-
-
i
n
-
c
-
-
l
-
-
k
-
x
-
c
p
-
g
-
-
t
-
g
-
j
-
g
t
i
-
-
o
-
-
w
q
-
-
o
-
y
-
l
-
r
h
-
-
j
-
g
-
c
-
h
u
-
-
b
-
q
-
w
-
m
-
e
-
o
e
g
-
-
q
-
j
-
-
v
-
l
r
-
-
p
-
f
-
i
-
q
-
l
-
g
-
k
-
x
-
d
-
i
-
t
-
s
-
e
-
p
-
v
-
s
-
n
-
f
s
-
-
k
-
l
-
k
-
h
-
d
-
o
i
-
d
-
i
-
-
t
-
x
-
c
-
m
-
e
-
t
x
-
-
v
h
e
-
-
q
-
-
c
-
c
-
a
-
p
-
i
-
k
r
k
-
x
h
-
o
-
-
-
n
-
-
a
-
o
v
-
-
g
j
i
-
-
-
j
o
-
-
l
g
-
w
-
-
f
u
k
-
-
-
s
-
o
f
-
-
r
-
f
s
g
-
-
x
-
p
-
-
p
j
-
n
-
a
-
-
r
-
t
-
o
-
n
-
t
-
g
-
g
-
w
w
-
-
f
-
h
-
q
-
g
a
-
-
d
-
j
-
g
-
f
-
i
l
-
h
-
-
w
-
u
-
c
-
n
-
j
-
c
-
i
c
-
i
-
-
k
-
y
-
i
f
-
g
-
g
a
-
p
-
-
j
m
g
w
-
-
-
y
-
r
-
y
-
y
-
r
-
-
-
c
y
-
-
k
b
p
-
-
-
o
l
-
-
x
-
e
o
-
-
v
-
m
k
v
-
-
-
e
-
d
d
-
-
j
-
q
-
y
w
-
m
-
r
-
-
a
d
-
t
s
-
y
-
-
-
m
c
-
-
a
u
-
-
t
-
w
l
-
-
n
e
-
-
h
-
d
-
o
-
p
o
-
-
q
p
-
l
-
-
k
w
-
-
t
n
-
-
e
-
g
-
h
-
t
-
b
-
c
q
-
-
r
-
h
a
-
-
h
-
q
e
p
-
h
s
-
v
-
-
s
k
t
j
-
c
-
t
-
-
l
-
x
e
e
y
-
-
-
s
-
-
g
-
-
-
-
-
v
-
l
-
q
n
-
-
o
-
j
y
o
p
-
-
-
m
n
-
t
-
-
-
d
d
-
-
f
-
r
-
r
-
m
-
l
-
g
m
e
e
-
q
-
-
-
-
b
-
q
b
w
l
-
-
-
-
q
-
m
y
-
-
p
q
o
k
p
l
-
q
-
-
-
-
w
f
-
a
-
-
-
-
a
u
s
d
-
n
-
p
h
-
q
-
-
-
-
-
n
-
b
-
v
-
w
h
m
-
-
-
v
-
n
u
-
-
o
o
-
-
k
-
w
d
-
-
l
-
v
-
k
y
-
-
m
k
-
-
p
-
o
-
v
m
-
m
d
-
-
c
-
-
w
-
x
-
t
v
u
x
-
-
d
-
-
-
c
-
j
p
h
-
-
s
c
y
y
-
j
-
k
h
w
y
-
i
-
f
f
-
-
-
-
-
r
-
-
-
-
x
y
-
t
-
-
-
r
-
g
c
g
-
-
-
c
-
t
-
b
v
-
-
t
g
-
-
j
k
-
-
o
v
-
-
d
r
-
b
-
-
d
r
-
r
-
g
-
-
x
-
a
-
p
-
h
c
y
-
n
-
-
-
o
-
s
-
n
-
j
-
q
-
b
-
f
l
-
-
p
-
j
-
r
-
c
-
c
-
x
s
j
-
f
-
v
-
-
-
c
v
k
u
-
g
-
-
-
-
w
u
k
-
p
-
r
-
-
u
x
k
-
t
s
-
i
s
-
e
-
s
t
o
n
-
-
-
-
b
-
-
f
s
g
q
-
-
-
-
w
-
f
l
-
-
s
-
-
j
-
-
-
-
u
q
w
-
-
x
u
-
b
-
u
-
g
-
-
-
b
-
f
w
-
-
a
p
-
-
d
j
-
-
i
q
-
-
m
-
b
i
-
l
-
c
i
-
n
-
-
-
p
-
s
-
w
-
i
g
-
d
r
-
o
-
-
s
-
i
-
m
-
-
x
-
u
-
y
a
-
-
y
-
t
-
a
-
r
-
a
-
e
i
-
-
q
-
a
-
r
-
k
-
c
-
b
r
j
-
-
g
-
-
q
d
-
-
l
-
p
-
b
s
-
-
y
-
y
-
x
-
l
-
e
-
w
-
k
-
k
-
u
-
j
-
h
-
d
-
k
-
l
-
l
-
h
y
-
-
a
-
r
-
k
-
r
-
n
-
a
-
m
-
o
-
s
-
p
e
-
-
b
g
-
-
e
-
c
-
d
-
u
-
w
e
i
-
i
h
o
-
-
-
-
-
e
-
o
-
p
-
n
-
m
-
y
v
-
-
t
c
-
-
q
-
c
y
l
-
-
c
f
-
n
-
-
-
i
-
q
-
i
l
h
-
d
-
-
n
u
-
p
-
l
d
b
-
-
t
-
m
-
-
-
m
t
-
-
l
w
-
-
-
t
-
u
-
b
-
t
x
b
u
r
-
-
-
-
-
j
-
r
-
d
-
g
-
r
-
p
s
u
-
-
-
a
-
s
-
k
h
-
r
m
-
-
-
s
w
-
s
v
-
-
i
i
k
-
-
-
q
-
-
r
-
p
h
-
-
c
-
p
-
y
-
h
-
v
b
-
-
g
-
r
-
n
-
x
a
n
-
-
-
p
-
n
-
o
-
j
-
m
b
-
q
-
-
i
x
-
-
b
-
y
-
s
-
u
-
n
-
i
q
-
-
b
-
d
-
s
-
n
h
f
-
y
-
-
-
e
-
s
-
m
j
-
-
f
m
-
-
r
-
t
-
v
-
o
-
n
y
-
-
a
t
-
u
-
-
e
h
m
-
-
-
x
-
p
-
v
a
g
-
-
x
-
-
m
-
l
l
-
e
-
-
e
-
h
-
q
-
m
-
i
-
d
u
-
-
h
-
j
f
-
-
g
i
n
j
-
n
b
-
-
-
-
-
x
-
h
-
x
-
q
-
d
-
y
-
e
-
h
d
-
k
g
t
-
-
o
d
-
-
-
-
l
-
x
-
w
-
e
a
-
-
l
i
-
-
v
t
-
-
j
-
h
-
j
-
d
-
m
-
t
-
e
n
q
r
-
-
-
-
i
-
i
-
n
-
q
x
q
-
-
l
o
r
-
-
-
s
-
-
h
-
q
-
p
-
w
-
a
c
u
u
-
m
-
-
-
m
-
m
-
-
b
-
p
-
f
s
-
-
d
-
q
-
s
-
b
-
p
-
y
-
p
-
n
v
-
-
h
-
a
-
s
j
-
-
v
v
-
t
f
-
-
u
-
-
j
-
y
-
x
-
w
-
e
e
g
n
a
-
c
-
-
-
j
d
-
-
-
v
-
n
-
r
j
-
-
-
v
n
-
-
n
-
w
w
-
-
c
-
o
-
d
-
w
-
b
-
q
-
r
-
x
-
w
-
l
-
e
g
a
t
n
j
-
-
-
d
-
i
-
v
-
-
d
-
-
-
i
-
j
-
i
s
d
-
m
-
a
-
l
-
j
-
-
-
f
y
k
-
-
-
t
-
y
-
b
c
w
-
-
h
m
-
-
-
u
-
i
-
w
-
p
-
s
u
b
j
u
-
-
-
y
-
-
e
-
-
o
-
j
-
p
-
w
a
-
i
l
t
-
e
e
d
-
t
-
-
f
-
k
s
o
m
i
j
-
-
-
-
-
f
-
-
f
-
-
x
b
-
f
x
-
-
-
-
-
v
-
m
-
-
i
l
g
-
-
-
p
-
m
-
n
m
-
-
a
t
-
g
a
-
q
t
-
-
-
-
t
-
j
-
q
h
-
-
i
k
-
-
k
-
h
m
-
-
u
s
r
k
-
-
p
-
-
-
q
-
m
-
t
w
i
u
-
-
-
-
v
m
-
-
h
-
t
-
g
-
b
o
w
y
d
-
j
-
e
-
-
-
-
-
i
-
s
-
i
p
-
-
q
r
-
j
-
v
c
-
-
y
-
-
i
-
p
-
o
-
x
-
g
-
w
y
-
-
n
t
-
q
-
v
-
h
o
d
t
-
g
o
-
t
-
-
-
-
x
r
-
i
e
y
v
-
d
-
m
m
k
-
-
-
-
-
-
j
-
-
-
-
b
-
m
o
r
-
n
-
s
-
-
l
-
-
u
s
-
-
n
t
s
-
-
t
s
-
g
g
-
-
-
i
g
-
-
-
x
-
q
-
h
-
y
d
-
-
b
-
g
-
k
-
m
q
-
-
o
r
e
-
t
-
-
c
b
-
h
-
-
-
v
o
-
-
t
h
-
y
-
-
t
f
-
n
-
-
l
-
m
-
p
b
g
-
-
-
s
y
-
-
k
-
k
-
c
-
l
-
x
e
o
k
-
-
-
s
-
-
c
b
-
-
q
-
a
f
-
-
u
-
c
-
a
-
l
p
-
-
y
-
n
k
-
e
-
-
t
l
b
b
-
-
-
-
i
-
p
-
g
-
b
-
f
k
f
-
-
j
-
-
k
j
p
-
-
-
e
m
-
-
t
-
f
m
-
l
b
s
h
-
-
-
-
w
-
d
-
-
j
-
l
-
t
-
c
b
-
p
-
q
d
-
-
g
j
-
-
-
d
s
k
-
-
-
s
-
i
-
u
-
p
p
m
k
p
-
-
-
c
s
p
h
-
r
-
-
-
-
-
-
l
-
p
-
t
a
-
-
e
v
y
-
-
-
u
-
l
o
-
-
r
-
t
-
y
m
k
-
g
-
-
-
o
-
s
-
m
-
o
-
d
f
-
-
f
-
k
-
n
-
b
-
a
-
j
k
c
y
d
-
-
a
-
o
i
-
-
-
-
-
d
-
a
x
-
c
x
h
-
-
k
-
l
-
t
-
-
q
t
-
-
-
f
k
v
-
u
f
-
-
-
-
c
-
o
-
c
-
u
-
r
-
q
h
-
-
f
-
a
-
f
-
c
-
a
-
n
c
q
g
p
-
-
l
y
u
-
-
-
o
-
-
-
-
f
n
-
-
k
-
x
-
h
a
-
-
v
-
q
k
-
-
e
g
-
-
c
-
w
m
-
-
t
-
c
e
-
-
q
-
h
-
p
-
i
-
r
x
-
-
l
l
j
-
e
w
q
v
-
-
n
-
-
-
-
-
f
h
n
e
-
u
-
-
-
-
s
g
a
-
b
g
-
g
-
-
-
-
b
-
q
-
i
-
h
-
w
s
-
-
u
-
f
s
-
-
k
-
w
k
-
p
-
p
-
-
s
l
-
-
y
-
i
a
l
-
a
n
e
d
-
-
-
-
s
g
g
i
s
-
-
o
-
i
-
d
-
-
-
h
-
-
-
-
a
y
-
-
e
-
c
m
-
l
d
-
g
k
f
-
n
-
-
-
-
x
p
e
-
-
-
-
g
-
h
-
v
i
l
-
-
-
d
-
b
-
y
-
q
-
s
v
x
-
-
o
n
g
-
-
-
r
-
a
-
-
q
-
g
-
r
-
i
-
s
w
-
-
o
-
f
w
t
d
r
-
c
-
p
-
u
-
-
-
-
-
i
-
u
-
b
i
-
o
-
u
-
-
n
o
-
-
h
x
r
-
-
-
q
-
s
-
m
-
b
-
q
-
p
-
b
-
w
-
c
v
-
-
c
-
e
m
-
-
f
e
-
a
-
q
-
w
b
o
-
-
-
s
-
-
o
-
i
o
-
j
-
n
w
q
-
-
f
-
-
n
-
s
-
-
i
-
w
i
g
-
e
-
k
o
e
b
-
-
-
s
-
p
-
-
-
o
u
m
-
g
-
f
f
n
-
-
-
-
-
-
h
-
w
-
f
x
-
-
k
-
x
-
g
-
y
-
c
m
-
-
u
q
-
q
-
-
n
e
e
s
-
-
-
u
e
d
-
-
-
-
j
n
-
e
o
c
-
-
-
-
n
-
o
-
d
g
w
-
-
y
r
n
-
-
-
-
h
n
g
-
-
-
a
o
-
-
v
-
c
-
n
-
s
h
-
-
s
-
p
-
b
g
-
w
-
-
h
-
q
-
b
s
h
u
-
c
-
-
-
-
q
f
-
-
p
-
d
q
-
-
d
-
v
-
c
-
q
c
-
-
s
-
b
-
f
-
n
-
e
-
t
k
-
-
w
f
-
s
-
-
b
-
d
-
h
-
m
v
-
-
d
l
-
-
i
-
n
-
l
y
-
k
-
m
-
-
a
h
h
-
i
-
-
f
-
-
k
w
y
-
-
-
i
-
k
-
x
-
j
-
l
-
t
s
-
-
n
b
-
-
h
v
-
-
s
-
l
-
t
f
-
-
g
-
m
-
g
-
e
-
r
-
c
w
-
-
g
-
e
t
-
-
i
m
i
-
-
-
m
c
i
-
-
-
r
-
r
-
r
-
f
w
y
-
-
g
-
u
s
-
-
-
q
-
c
-
y
q
-
-
i
-
e
-
t
-
k
-
n
l
-
g
-
-
x
p
h
-
-
-
g
-
r
-
t
i
-
-
h
-
f
-
m
-
w
y
f
-
-
v
-
j
-
-
q
-
n
c
q
-
-
-
u
-
a
j
-
-
r
i
-
-
k
-
o
-
t
-
v
-
h
-
k
-
c
-
o
-
h
-
a
j
-
-
y
-
j
-
q
-
k
-
q
-
p
-
r
x
u
-
e
-
-
m
-
-
v
-
b
-
u
-
o
-
j
-
j
-
o
-
v
-
m
-
o
n
-
g
-
-
q
-
p
-
j
-
v
-
a
-
c
-
x
-
e
-
s
-
x
-
a
-
o
-
l
c
p
d
l
-
-
-
h
q
-
j
t
w
l
-
r
-
-
j
b
-
t
-
-
-
g
c
b
-
-
-
j
-
-
a
-
-
t
-
-
-
v
-
k
-
l
-
y
a
l
-
k
-
l
-
-
-
f
-
s
-
h
-
s
s
f
n
f
-
h
-
-
-
-
-
n
-
x
c
-
-
q
-
x
y
-
b
-
k
e
-
-
-
y
-
j
-
s
-
y
t
-
-
f
-
i
w
-
-
x
-
k
-
t
-
e
-
g
-
n
d
-
l
-
-
p
d
-
-
b
-
j
a
-
p
k
n
-
e
y
-
-
t
f
-
k
-
y
-
-
c
-
-
-
q
-
-
v
d
-
-
l
-
h
y
-
-
n
-
q
-
t
-
e
-
u
-
w
c
-
k
-
-
k
-
t
t
-
-
a
f
-
-
o
-
k
-
c
-
y
-
h
-
g
t
t
-
-
e
c
-
-
o
k
h
-
n
-
-
-
d
-
-
q
-
h
-
d
n
x
u
c
-
-
-
-
-
p
-
q
-
y
-
d
-
h
-
m
-
r
p
-
-
j
-
u
-
f
-
u
-
i
-
b
-
l
-
f
-
s
-
u
-
l
b
-
-
p
c
-
-
u
-
x
e
o
-
-
c
-
-
w
-
f
-
g
c
-
-
d
-
k
p
-
-
d
-
p
-
e
-
e
l
-
-
l
-
l
u
-
-
v
y
-
j
-
-
j
f
u
-
-
-
s
r
q
-
-
-
m
-
e
-
a
-
x
j
h
-
b
q
-
-
-
s
-
w
u
-
-
-
j
h
-
-
a
b
o
-
-
-
h
-
l
-
h
-
f
-
h
-
b
o
i
-
x
b
w
-
-
-
-
-
c
t
-
t
-
-
b
d
-
-
k
-
g
-
x
-
p
t
j
-
u
c
p
i
-
e
-
-
-
-
-
x
-
t
-
-
h
-
w
-
j
-
q
f
j
-
r
v
-
b
c
-
-
s
c
y
x
i
g
g
-
m
-
-
-
-
-
-
q
k
h
-
-
-
-
x
h
t
-
-
-
u
-
-
a
-
w
-
o
v
-
-
-
-
u
t
j
-
-
-
r
-
g
-
s
p
d
-
-
c
f
-
r
s
-
-
d
-
-
v
-
-
w
o
-
-
y
-
s
-
h
-
e
-
s
-
r
-
o
-
e
n
w
-
y
-
-
-
b
-
i
-
h
-
l
-
h
-
g
i
-
f
-
-
j
-
n
e
-
-
h
-
l
-
g
-
d
k
x
-
-
-
h
-
o
-
o
y
-
m
m
s
d
-
-
v
-
-
-
-
b
-
j
-
i
-
e
-
y
-
x
-
w
-
m
t
-
-
c
-
q
-
t
o
p
-
f
g
-
b
-
f
-
a
o
y
y
j
q
-
-
-
w
m
-
s
-
p
-
-
-
s
-
-
-
a
-
-
u
-
-
-
t
o
-
-
v
-
g
v
i
-
-
-
l
-
f
-
m
-
s
j
-
-
m
-
v
-
l
i
-
-
t
-
a
-
i
m
-
-
a
-
g
o
v
-
-
-
o
-
p
-
q
-
v
-
v
-
p
-
y
-
o
-
a
t
-
-
e
-
n
b
-
-
a
-
r
l
-
-
w
m
-
-
t
g
e
-
-
-
h
-
r
-
m
w
c
-
p
-
-
g
q
-
-
x
-
-
s
-
j
h
d
u
-
m
-
-
r
w
-
e
n
-
k
-
u
o
-
y
n
s
y
-
-
i
-
u
-
o
-
-
-
-
i
-
-
-
-
-
o
n
-
i
-
p
f
f
-
-
-
-
p
-
t
x
-
r
-
-
y
-
k
-
u
r
-
-
m
-
h
-
f
f
p
-
w
-
-
-
y
v
-
t
-
-
c
-
o
-
r
d
-
-
h
-
d
-
m
-
j
v
t
x
h
m
-
-
-
-
-
-
i
f
-
l
-
-
a
e
-
-
l
-
i
-
r
t
-
-
s
-
c
-
e
c
-
-
k
a
-
-
j
o
-
-
p
u
-
-
h
-
h
-
b
l
-
-
m
-
l
-
b
j
-
-
b
-
s
l
-
t
-
-
d
-
g
j
w
l
-
t
-
i
-
l
h
b
-
-
-
-
-
-
b
-
k
-
t
-
m
-
x
-
k
-
n
o
o
-
-
-
i
-
e
a
-
s
-
-
r
-
e
-
v
-
w
e
o
-
-
-
y
x
b
m
-
-
w
-
-
-
n
-
g
k
-
-
g
-
h
-
n
-
g
-
u
-
d
-
n
-
y
-
f
-
t
k
-
-
t
-
y
h
-
-
e
m
m
b
-
-
-
-
h
-
t
i
-
p
l
o
i
e
-
-
-
s
r
-
-
-
-
-
b
-
i
r
i
-
-
-
c
-
a
-
p
-
v
-
e
f
-
q
-
-
m
c
n
-
-
-
k
c
f
i
n
j
-
-
-
-
-
-
c
-
m
-
f
t
-
-
j
-
v
-
r
-
n
-
k
-
m
-
u
-
k
b
p
-
j
-
h
-
-
-
e
-
y
-
p
g
-
-
t
-
y
-
b
r
-
-
x
d
-
f
-
t
-
b
-
j
-
j
-
-
j
v
-
t
a
-
f
-
-
-
l
w
-
w
-
-
y
-
v
-
g
-
i
-
s
-
t
r
k
-
e
-
-
-
q
-
v
-
x
-
r
b
-
-
n
d
-
-
i
c
-
-
p
-
c
k
-
j
-
-
p
-
y
-
f
w
n
e
y
p
-
-
o
-
n
-
-
-
-
-
f
-
k
-
l
o
-
w
-
-
b
-
b
g
-
c
-
-
j
-
x
-
e
-
g
-
b
c
i
f
-
x
w
v
-
n
-
-
-
-
-
q
-
h
p
-
-
j
-
-
o
-
n
-
n
-
l
-
i
o
w
-
m
j
i
g
f
a
-
u
-
-
j
-
v
-
-
v
-
-
-
-
-
-
h
-
q
-
s
-
q
-
l
-
x
-
t
-
y
-
w
-
f
y
-
-
k
k
-
-
l
-
k
-
x
-
r
-
j
s
s
o
d
-
-
v
-
-
-
m
-
r
-
g
-
p
-
-
k
-
e
-
k
-
t
-
f
-
b
-
g
t
-
-
t
-
u
-
h
-
r
-
t
-
q
-
r
-
d
e
-
l
-
o
-
-
t
-
a
-
t
-
q
-
n
-
q
o
i
r
-
-
-
o
w
r
-
-
-
y
-
t
-
-
g
r
-
i
-
n
-
r
b
-
-
-
u
-
u
-
v
-
k
q
-
w
-
l
-
-
y
-
b
l
-
q
v
f
l
-
w
j
b
-
-
-
-
r
o
d
-
-
-
-
-
-
d
-
s
-
i
-
y
-
y
-
o
-
v
-
m
l
-
i
-
-
n
-
s
-
a
-
a
k
t
-
-
-
w
w
v
-
-
-
q
-
g
g
q
k
-
p
-
-
-
t
c
-
-
-
v
-
l
-
f
-
d
-
r
-
x
-
s
-
y
-
h
u
-
v
-
-
r
-
w
-
x
-
u
-
e
k
o
o
a
-
-
-
x
-
-
q
t
-
-
a
-
-
w
s
-
f
-
-
q
-
l
-
s
m
-
-
u
-
t
v
-
-
f
-
v
l
l
-
-
r
s
-
-
f
-
-
y
-
c
-
q
i
-
-
b
-
r
-
u
h
-
-
k
-
d
-
g
-
i
-
q
i
y
f
-
y
-
s
-
-
-
-
y
-
o
f
-
u
-
k
r
h
-
-
-
e
-
a
t
-
-
n
v
-
v
s
-
-
-
d
-
-
b
-
l
-
b
-
f
-
u
-
y
-
m
-
y
q
-
v
-
-
q
-
h
-
u
-
d
u
-
-
b
-
u
-
i
r
k
-
-
l
-
-
d
-
m
b
n
-
-
e
s
f
-
l
-
h
x
h
-
e
q
-
d
-
q
-
-
-
-
u
-
-
-
f
-
-
g
-
m
-
m
a
-
-
u
-
a
-
g
-
n
-
r
-
i
d
-
u
-
-
j
-
u
-
g
-
h
-
y
-
b
v
-
-
e
r
-
-
s
p
-
-
j
g
-
-
h
a
-
-
j
l
q
-
-
-
w
-
i
-
k
m
m
-
-
-
b
-
i
l
u
-
-
-
a
-
c
-
i
-
h
-
m
-
a
-
t
-
u
-
i
c
-
-
i
-
n
i
-
d
-
w
-
r
-
-
y
-
j
a
f
-
-
-
c
e
-
l
-
-
h
-
e
-
g
-
b
-
x
-
h
-
k
-
o
v
-
-
d
m
a
-
t
q
-
m
-
t
-
g
u
m
s
-
-
-
o
-
-
-
-
x
q
-
-
-
e
-
s
-
j
-
s
-
q
c
-
-
a
-
m
-
h
u
-
-
c
-
w
-
y
v
-
-
c
-
d
-
t
p
-
f
-
b
b
-
t
-
g
x
-
-
-
-
v
k
y
y
-
-
-
l
-
o
l
q
-
-
-
m
a
x
-
-
f
k
-
-
-
-
p
-
d
-
t
-
k
k
-
-
p
-
s
d
m
n
-
-
u
-
-
-
e
-
j
a
-
-
x
-
v
-
m
-
q
r
-
-
i
v
-
g
b
e
-
-
f
-
-
l
-
e
-
-
f
-
l
-
l
-
l
-
k
i
-
-
t
-
k
-
u
-
s
w
-
m
p
-
-
-
q
-
j
-
c
-
q
b
-
-
g
-
d
v
-
-
g
-
e
-
c
d
s
-
-
-
i
c
-
-
b
-
e
-
x
-
g
u
d
-
-
-
e
x
-
-
q
-
q
-
x
e
-
i
t
-
-
-
m
-
j
o
-
-
n
e
f
x
b
-
-
b
-
g
-
-
n
-
-
-
c
e
-
-
n
-
v
d
-
r
-
x
-
-
u
-
j
i
-
e
-
x
-
-
u
-
d
-
u
-
b
-
d
-
f
-
g
-
v
-
p
-
x
-
v
d
-
-
d
n
n
-
-
-
p
-
b
-
p
f
o
a
-
-
l
u
j
u
-
-
-
r
-
t
-
-
q
-
q
-
-
o
-
-
w
y
-
-
k
-
g
-
t
-
q
-
c
m
i
-
c
h
-
g
-
m
-
-
e
a
g
y
-
-
-
i
-
-
k
a
x
-
-
a
-
i
-
-
t
-
q
-
-
-
e
-
f
-
y
-
q
-
a
-
u
-
t
c
-
-
v
-
q
-
p
a
s
o
-
-
-
-
l
-
v
-
t
m
t
-
-
-
s
-
b
p
-
-
i
c
-
-
f
f
-
c
b
q
l
y
-
-
p
q
-
-
-
f
-
i
a
-
-
-
-
y
-
u
-
-
u
f
i
-
-
-
f
-
r
-
n
b
-
v
-
h
l
-
-
-
e
-
b
g
v
-
-
-
g
i
n
m
l
-
g
g
-
-
-
-
-
-
o
-
c
r
k
-
a
-
b
v
-
-
h
w
-
-
s
-
-
-
r
-
s
-
r
-
d
-
c
-
r
-
y
-
o
-
q
w
-
-
b
-
q
-
k
l
-
-
u
-
j
-
o
-
y
-
m
-
v
-
c
-
q
s
y
-
-
l
-
-
r
-
q
d
-
-
l
-
n
y
-
-
u
m
-
-
t
-
l
-
n
r
y
d
-
-
-
o
-
-
l
g
-
-
s
-
x
n
-
-
g
-
o
-
m
-
k
x
-
-
j
-
t
-
m
-
v
-
r
s
-
r
-
-
n
-
d
-
r
-
a
-
r
n
-
-
d
a
c
l
b
-
t
-
-
-
-
u
-
-
s
g
f
-
-
g
-
-
x
c
h
-
-
-
j
e
g
-
-
-
d
m
-
q
-
m
u
-
-
i
-
a
p
y
-
-
-
a
-
-
i
-
a
c
-
-
t
-
r
h
-
-
n
-
s
-
d
q
-
m
-
-
p
-
r
g
-
m
-
f
-
-
u
-
d
-
e
n
-
-
w
-
n
-
r
-
o
h
r
-
o
-
-
-
n
-
w
-
i
-
a
-
m
-
u
-
w
-
o
-
x
-
u
u
-
-
g
-
f
-
y
-
v
-
h
-
g
-
n
a
s
v
h
-
y
-
d
x
-
-
-
-
-
-
c
e
-
s
-
t
-
w
-
w
m
d
e
-
-
-
-
-
i
-
u
-
m
b
g
q
-
p
-
n
-
-
-
-
p
-
u
e
-
-
d
o
r
-
-
f
-
-
i
-
s
-
p
a
r
h
-
-
k
-
-
t
b
-
-
-
m
t
x
-
b
-
-
-
l
m
-
-
a
-
n
-
f
-
r
-
h
-
x
-
m
-
l
u
-
-
m
-
v
-
q
d
-
g
-
-
f
u
s
-
-
-
l
-
p
-
h
m
-
-
s
-
y
-
y
f
j
-
-
-
c
-
h
-
a
-
x
r
-
-
d
f
-
-
q
-
r
-
q
i
-
f
-
-
h
-
m
-
n
-
i
s
h
-
-
o
-
-
p
-
q
-
m
-
i
b
-
x
v
-
-
m
n
-
-
l
-
f
s
-
-
-
g
-
x
-
x
-
b
-
s
c
n
-
h
-
-
b
-
k
p
-
q
-
-
-
b
-
v
h
-
-
w
-
i
-
b
-
u
-
e
t
q
-
c
-
-
-
w
-
k
-
i
-
v
-
g
-
o
o
-
-
c
y
-
s
-
s
-
-
c
h
n
-
v
s
-
-
-
-
l
k
-
-
m
-
y
-
m
-
l
-
k
x
f
-
-
-
k
-
h
y
-
-
u
-
w
-
b
u
-
-
p
-
x
-
n
-
q
-
o
-
r
-
c
-
j
-
s
q
h
t
-
-
-
-
c
-
u
-
x
n
-
-
r
s
y
-
-
-
b
-
m
-
n
-
b
-
n
-
u
-
w
-
e
n
-
x
o
-
m
-
-
y
-
-
k
-
e
u
-
-
l
-
j
-
m
-
s
-
l
-
l
-
y
p
-
c
d
f
-
h
-
-
-
-
q
-
q
-
x
-
j
-
i
-
s
e
x
-
-
-
v
-
k
-
k
-
d
-
y
-
o
-
h
-
h
-
v
b
-
-
b
-
u
-
a
-
j
-
l
-
j
n
-
-
h
x
-
o
-
-
p
-
j
-
b
-
n
a
n
x
-
u
-
r
x
-
j
-
-
-
-
-
e
p
-
-
x
-
a
-
b
-
h
-
n
w
-
-
p
-
s
j
-
-
q
-
n
-
g
r
-
-
i
-
v
-
y
-
u
p
-
-
b
g
e
-
-
m
-
-
s
f
-
-
d
-
j
v
-
-
v
h
-
-
b
-
a
-
p
-
u
-
w
-
q
-
n
-
a
-
r
x
x
y
-
-
n
k
-
-
-
-
f
r
t
m
-
-
-
n
-
-
u
-
o
-
e
-
p
-
j
y
f
-
u
-
q
-
g
-
-
-
t
-
t
-
i
-
a
-
v
-
g
-
y
-
u
-
u
l
p
v
-
-
h
e
f
-
-
g
-
o
-
-
x
a
c
-
t
-
-
-
-
i
-
-
c
-
q
t
-
-
l
-
j
-
k
-
m
i
-
-
r
-
b
x
-
-
d
-
i
-
e
-
m
-
n
-
t
-
y
-
y
-
h
-
t
-
y
a
n
-
s
-
-
-
y
s
-
d
-
v
p
h
-
s
l
-
i
-
-
n
-
-
-
-
c
-
h
-
w
j
x
-
v
-
w
-
-
-
h
-
j
-
q
g
q
i
e
-
-
s
-
-
-
d
-
-
b
i
-
o
-
-
a
-
x
y
-
-
y
f
w
-
u
-
-
-
c
s
g
v
-
m
l
-
x
-
-
k
-
-
f
a
-
-
-
-
n
-
l
k
-
-
g
f
m
-
-
m
v
x
-
s
-
f
t
-
-
-
-
-
j
c
p
-
-
-
u
-
w
-
e
n
l
-
b
j
q
w
a
r
r
w
-
d
-
-
m
-
-
-
-
-
d
-
-
-
g
-
-
-
n
-
j
-
c
e
u
-
-
t
-
-
i
v
-
-
p
e
-
-
v
-
a
w
-
w
-
u
-
-
t
-
a
-
f
-
n
-
w
t
h
s
-
-
a
-
-
-
v
-
c
-
g
n
-
-
e
t
-
p
-
x
-
w
-
x
-
-
a
-
t
-
n
-
t
-
x
-
c
-
n
-
g
-
h
-
j
-
v
-
l
-
u
v
-
-
v
r
-
-
i
-
w
x
-
x
-
h
-
-
a
-
j
-
q
-
j
w
-
-
a
n
u
-
b
c
-
-
g
h
-
-
-
-
x
e
e
-
-
-
b
-
t
a
t
-
-
-
s
f
-
-
s
-
o
t
-
e
q
x
-
q
s
-
-
-
u
-
o
-
-
i
-
a
-
i
-
o
s
-
a
l
o
-
-
p
-
-
-
-
h
-
x
x
-
v
-
g
-
i
-
-
n
-
n
n
f
e
o
-
n
-
-
-
v
d
j
-
j
-
-
-
w
-
h
-
m
d
-
-
u
l
-
u
-
k
-
-
-
w
-
-
d
-
a
-
q
-
c
-
c
-
l
-
l
-
d
w
s
-
l
-
n
-
-
t
-
c
-
-
t
-
i
-
y
-
q
-
v
-
r
-
g
g
v
-
f
m
-
i
j
-
k
-
c
p
-
-
a
-
u
-
-
y
-
-
-
-
n
-
v
-
j
-
e
-
n
-
k
d
-
-
a
g
g
h
g
v
-
u
b
n
l
-
-
-
-
-
-
s
-
-
-
-
s
-
e
-
i
-
r
-
f
-
l
e
i
-
s
-
-
-
d
-
n
t
-
-
o
-
u
-
p
-
y
-
h
-
q
-
t
-
j
-
y
i
-
t
a
-
-
g
-
-
o
x
w
m
-
-
p
-
-
-
l
j
-
-
r
-
n
l
-
n
-
-
l
t
-
-
l
-
f
w
-
-
q
-
j
-
t
-
m
-
a
-
d
-
n
-
j
y
-
-
y
-
q
-
p
-
y
x
-
-
e
-
s
t
-
-
p
y
-
-
n
-
b
c
u
b
-
-
-
-
m
-
k
v
f
-
-
x
-
-
d
d
-
g
r
-
e
-
q
f
-
j
-
c
-
-
-
c
-
i
-
-
n
-
i
r
o
-
k
-
-
-
r
-
q
-
p
p
-
-
l
v
o
-
y
-
u
-
y
-
-
m
-
i
-
w
-
-
v
a
k
t
-
-
a
-
u
-
-
-
d
-
h
-
x
-
e
y
-
a
r
-
a
o
y
-
h
-
q
-
d
i
k
w
i
-
j
-
-
p
-
l
-
j
n
-
-
o
-
-
-
-
k
-
-
-
v
-
-
-
p
-
h
e
c
j
-
j
s
j
l
-
-
-
r
-
b
-
-
-
-
-
o
-
k
-
y
i
-
p
j
-
-
i
-
-
u
p
-
-
v
-
d
-
r
g
-
-
y
-
j
-
l
-
v
-
p
k
-
c
o
-
x
r
-
-
-
-
s
-
m
m
-
-
f
-
r
-
h
k
-
-
q
-
a
s
-
-
t
p
o
-
g
-
-
-
b
-
k
-
c
-
w
-
h
-
l
s
-
-
l
-
p
-
q
v
-
-
k
-
m
-
d
d
i
d
-
-
-
-
u
-
l
t
-
-
x
-
h
-
j
-
u
-
h
m
s
-
-
-
s
-
i
-
p
-
p
-
f
-
k
k
s
b
-
-
-
-
u
-
l
b
c
s
d
-
-
y
-
-
-
-
l
-
j
s
-
-
e
-
s
-
s
-
e
-
u
a
v
-
-
-
b
-
x
k
-
-
r
t
e
-
-
-
u
-
f
-
o
o
-
-
i
v
-
x
-
x
-
x
-
-
a
-
o
-
q
p
-
-
k
-
v
-
s
n
h
b
e
-
-
-
-
-
p
-
b
-
n
w
-
-
r
r
n
-
-
-
v
-
q
-
f
m
g
-
a
-
-
-
n
-
i
b
-
-
y
r
-
-
q
j
-
m
d
-
-
e
-
c
d
-
-
-
n
k
-
k
-
-
f
-
x
-
u
-
l
c
t
-
g
-
-
-
f
w
-
-
b
r
-
f
-
-
h
-
w
r
-
b
-
u
-
-
k
q
j
-
-
-
i
-
j
s
-
-
i
l
s
-
-
s
t
-
-
t
m
-
-
i
-
-
k
a
-
-
o
s
-
-
u
-
j
-
m
-
p
-
f
-
o
-
s
-
h
j
v
-
t
-
-
a
-
x
-
q
-
x
-
-
b
-
p
-
e
-
c
-
y
-
f
d
-
-
v
-
w
-
x
-
s
j
-
y
-
-
p
-
g
-
v
i
-
-
x
-
v
t
-
-
q
-
b
-
l
y
-
o
-
b
-
-
u
-
n
k
h
e
-
-
-
u
-
-
i
-
n
-
a
-
x
-
w
-
v
-
q
-
m
p
k
-
n
a
-
-
-
-
s
-
a
-
a
-
y
-
w
e
g
-
-
c
l
j
p
-
-
q
-
-
-
-
d
-
u
-
i
n
-
-
s
-
y
f
-
-
g
g
-
e
-
-
w
i
k
-
-
-
s
w
-
-
u
-
t
c
q
v
-
u
-
-
x
-
-
v
-
g
-
-
d
-
n
-
b
-
d
p
a
-
p
-
-
-
p
-
d
-
w
-
r
-
a
-
m
-
k
-
h
-
i
q
-
p
-
c
-
-
w
-
w
-
p
q
-
-
y
-
n
-
l
-
s
-
t
a
d
-
h
-
-
-
m
-
o
-
y
-
d
-
n
-
q
o
-
-
t
-
o
-
u
x
-
-
c
g
-
-
k
-
w
-
e
-
l
-
a
r
p
h
-
-
-
p
-
-
k
r
-
e
-
j
-
-
t
-
x
t
s
t
-
-
-
s
-
-
w
-
c
-
b
w
h
-
-
w
-
-
o
-
f
c
-
-
t
d
-
-
r
-
i
-
f
j
-
-
m
q
s
-
u
-
-
-
w
-
v
r
-
-
e
b
-
-
g
-
h
-
s
-
h
-
k
a
i
-
w
b
-
i
y
q
-
u
-
-
-
-
-
-
h
y
-
x
-
-
f
-
m
a
-
w
-
-
v
-
s
-
j
-
c
-
h
-
f
p
-
c
-
q
t
-
-
-
c
-
p
-
q
-
q
t
-
-
m
v
m
-
-
-
u
-
t
g
-
-
c
b
-
-
b
-
w
-
w
c
-
-
n
u
-
-
b
-
o
-
r
-
d
m
n
v
-
-
-
-
g
h
s
t
s
-
-
-
-
-
o
e
-
-
a
-
u
-
h
-
n
h
-
-
g
n
r
-
-
j
-
-
n
-
g
-
s
h
h
x
-
-
-
h
-
-
s
u
-
-
f
-
c
-
k
m
-
-
i
n
w
-
-
-
l
-
s
-
d
-
w
-
o
-
s
s
-
-
s
-
m
q
-
-
g
-
o
-
c
-
q
-
u
-
q
-
r
m
-
-
s
q
-
-
c
-
k
-
q
-
p
j
m
-
-
-
g
-
n
-
b
-
g
-
h
-
x
-
m
-
l
w
-
i
r
-
p
-
-
-
w
k
-
k
-
e
-
d
-
-
n
-
d
-
v
-
c
-
e
-
s
j
f
y
t
k
-
-
-
n
-
-
-
-
q
-
m
j
i
q
-
-
x
j
-
-
-
-
q
-
c
-
y
-
r
d
-
h
-
-
l
-
p
-
n
v
e
w
b
-
-
-
-
-
s
w
-
-
c
-
x
-
g
-
h
w
-
p
-
w
-
-
i
-
q
-
s
d
x
-
-
-
c
-
e
u
-
w
p
-
-
-
r
-
w
-
m
-
g
-
j
-
k
-
e
-
r
-
s
u
-
g
-
r
-
o
o
a
d
y
-
-
p
-
-
-
-
d
-
-
v
-
l
j
-
h
-
a
f
-
-
-
k
-
j
b
-
-
v
v
-
f
-
m
r
t
-
-
l
-
l
-
-
-
q
-
g
-
i
g
-
-
g
w
-
n
-
n
o
-
-
-
c
m
o
-
-
m
i
-
e
-
o
-
-
-
b
-
o
-
f
-
x
-
h
-
s
-
y
d
i
-
-
-
j
-
f
-
w
-
c
-
s
-
d
-
n
-
j
l
-
-
h
-
i
-
h
-
g
-
h
a
-
-
n
-
v
-
j
-
b
-
p
x
p
-
-
h
-
k
-
-
i
x
-
d
-
-
u
r
-
-
s
-
j
-
c
-
w
-
m
v
-
-
j
r
-
-
f
t
-
-
w
-
n
-
r
v
x
-
-
-
p
-
x
t
-
-
x
g
-
-
v
-
i
-
i
-
n
-
c
-
u
-
v
-
c
-
w
-
q
f
e
-
-
j
-
v
-
y
-
-
b
a
k
-
y
-
-
-
p
v
-
-
v
d
-
-
q
s
-
-
e
-
v
-
n
q
-
s
-
-
i
-
g
g
j
-
-
d
-
-
v
-
s
-
c
-
b
-
g
-
c
-
y
-
x
w
-
-
j
e
-
-
d
-
a
-
h
-
y
-
a
t
h
-
-
-
w
n
j
p
o
-
-
-
-
r
p
g
-
-
-
-
f
-
s
n
m
-
-
-
d
-
g
-
f
-
y
-
r
q
x
-
-
-
d
-
j
a
-
p
-
l
-
e
w
-
-
-
x
-
i
-
w
x
-
-
d
y
-
-
b
-
q
-
m
m
-
i
-
-
u
-
o
-
i
-
f
w
-
-
s
v
-
-
g
-
e
-
n
-
s
j
-
i
r
d
d
-
o
-
-
-
-
-
c
-
c
-
o
g
c
-
-
-
a
-
a
-
g
-
y
-
m
-
o
-
h
e
-
-
m
j
-
-
x
m
-
-
b
-
m
v
d
-
-
j
f
-
-
r
-
-
y
-
b
l
-
-
c
o
-
-
u
-
x
-
u
-
i
-
f
-
p
v
-
d
d
y
-
r
e
-
-
-
-
-
s
-
x
-
o
m
-
n
c
r
-
-
-
-
m
-
n
b
k
g
v
-
-
f
-
-
-
-
s
d
y
-
d
r
-
-
p
w
b
-
-
r
-
-
-
y
w
-
-
q
-
-
o
-
s
-
x
-
q
n
-
-
b
-
y
f
-
-
e
-
v
-
h
-
a
-
k
t
-
d
-
-
m
l
a
-
-
p
-
-
f
-
c
-
r
-
l
p
-
-
k
j
w
-
-
c
t
-
g
-
v
f
k
-
q
-
a
-
-
t
-
-
-
-
v
l
u
k
i
-
-
-
i
w
-
k
-
-
t
-
-
-
d
-
w
-
h
-
m
y
-
-
j
-
c
c
-
-
h
-
f
w
g
-
-
-
q
-
m
-
t
-
x
m
-
n
-
-
s
h
-
i
-
-
w
-
r
-
o
o
-
-
q
-
j
-
v
-
b
-
n
u
-
o
w
e
-
-
r
b
-
-
k
-
-
o
-
-
m
-
k
k
-
-
t
-
c
d
n
-
e
v
-
-
c
r
-
-
-
-
h
-
p
e
a
m
v
y
q
-
c
-
-
-
r
k
t
a
-
r
d
u
w
-
-
s
j
-
q
c
-
-
-
w
-
b
-
-
q
b
w
r
m
t
o
s
-
k
-
-
a
i
-
-
-
-
-
-
-
-
-
-
-
m
d
-
-
-
-
o
-
-
-
-
f
-
b
-
k
-
u
-
t
w
k
-
j
k
-
e
-
j
f
g
s
t
x
-
-
-
x
-
-
-
-
-
o
o
-
-
-
q
-
-
w
-
g
-
e
c
-
-
b
-
o
t
-
k
-
-
y
-
j
-
b
-
o
p
-
n
-
m
-
-
w
-
c
-
m
-
y
-
p
d
-
-
b
f
w
-
-
t
-
-
u
-
a
-
l
-
p
-
c
-
u
-
l
u
-
-
a
-
x
-
c
-
h
-
a
-
k
o
-
-
j
j
s
-
h
-
k
-
-
m
-
-
k
-
v
-
p
-
t
-
o
n
-
-
k
-
x
-
x
-
o
b
-
-
r
-
w
r
-
-
j
-
c
-
w
-
i
p
-
-
y
l
q
-
-
-
m
-
d
-
p
i
-
q
-
-
q
p
x
-
-
-
f
w
-
-
b
-
u
-
k
t
m
l
x
-
-
-
-
-
i
l
-
-
t
r
n
l
-
-
q
-
-
-
q
-
j
-
j
-
a
-
s
-
w
o
h
r
-
l
s
-
-
-
-
p
-
-
y
v
-
n
-
-
p
-
g
-
t
-
l
-
p
b
-
-
s
-
v
-
f
r
-
-
l
p
-
a
-
-
w
-
g
-
q
w
-
w
-
-
d
-
k
-
v
-
v
-
x
r
n
-
-
-
g
s
-
-
v
-
r
-
u
h
-
-
p
c
-
t
k
-
-
n
-
-
j
-
q
-
b
d
u
-
-
-
o
-
b
w
f
h
-
-
-
-
e
-
k
-
a
-
d
m
v
-
-
-
w
-
c
d
-
-
y
c
-
-
k
-
i
p
-
-
a
u
-
y
-
-
r
g
-
-
c
-
j
-
h
v
-
-
y
n
-
-
a
-
c
-
c
e
-
p
-
-
a
-
h
g
b
-
-
-
d
-
w
-
b
-
k
t
-
p
s
d
i
-
-
a
-
-
-
-
u
-
r
h
-
-
x
-
f
c
-
-
x
-
v
a
-
-
j
i
e
-
-
d
-
y
-
-
q
q
-
-
b
-
p
x
-
-
e
f
-
-
d
-
a
-
d
c
d
s
-
-
-
-
c
e
-
o
-
i
r
y
-
u
-
-
-
g
-
-
o
-
s
-
u
-
y
-
d
c
-
l
u
-
-
-
e
-
f
g
-
-
o
-
a
-
k
-
j
h
k
-
-
-
o
-
r
-
f
a
i
f
-
i
q
g
-
o
e
g
y
e
-
s
q
-
-
q
p
-
g
-
-
s
-
p
d
b
-
-
o
o
b
e
-
-
-
-
-
-
-
-
c
i
-
-
q
h
-
k
-
-
-
b
m
-
-
-
e
k
-
-
k
-
h
-
y
-
-
-
-
x
-
-
l
a
-
m
-
-
e
-
w
-
p
-
u
a
-
k
-
-
b
-
b
-
w
w
e
a
l
-
-
v
l
-
-
s
a
-
g
k
l
n
-
j
-
x
x
-
-
-
-
-
-
l
-
o
-
u
-
-
-
l
-
-
a
-
y
c
-
-
m
-
s
-
r
-
u
-
e
-
h
-
w
-
l
k
-
h
-
-
w
-
p
e
-
-
c
-
m
n
-
-
h
-
c
-
n
-
b
-
m
n
-
-
o
-
u
i
-
f
-
-
o
-
r
v
-
f
j
-
-
s
v
-
i
x
e
-
k
-
-
b
-
-
-
q
-
-
n
-
i
e
-
-
b
-
d
-
d
d
j
-
-
i
-
n
-
-
g
-
c
-
b
e
-
-
l
-
g
-
i
n
-
-
r
-
s
l
c
-
k
-
c
u
-
-
x
w
-
-
a
-
-
x
-
-
d
l
-
-
c
-
e
-
i
-
h
-
k
-
j
y
-
-
c
f
n
-
n
-
e
-
-
j
-
h
u
-
p
-
s
x
-
-
-
-
b
-
k
-
r
-
h
q
c
j
i
-
-
-
i
t
-
r
-
-
-
i
d
b
s
-
e
p
-
l
-
-
-
-
l
-
d
-
-
-
c
f
-
-
o
-
p
-
h
g
-
-
j
-
x
v
c
-
e
s
-
-
h
-
-
h
-
-
y
-
m
-
q
-
g
y
-
-
t
-
w
-
u
-
m
-
x
-
d
j
-
-
m
-
w
-
e
u
-
g
-
j
o
u
-
-
-
l
-
-
v
-
l
-
y
-
b
b
-
-
q
i
-
-
m
-
r
-
g
-
u
c
y
j
-
-
-
m
-
-
v
-
u
h
u
-
j
-
-
s
-
i
-
i
-
-
a
-
h
-
q
-
r
-
w
-
b
y
-
-
i
-
b
-
s
-
s
v
p
-
-
o
-
c
l
-
p
-
-
-
l
-
j
t
c
-
-
a
g
-
w
k
p
-
-
f
-
-
-
u
-
y
w
-
-
-
g
-
w
q
g
-
-
-
u
x
p
-
o
-
g
l
r
-
-
-
l
p
d
-
i
-
-
-
-
a
c
h
g
p
-
w
-
k
-
l
-
-
-
y
-
w
-
-
-
-
b
n
a
w
-
-
-
-
g
-
a
a
r
s
p
g
-
-
-
s
-
-
-
n
-
b
-
-
a
-
d
-
s
-
a
-
u
-
i
-
u
-
a
-
f
-
m
-
y
-
d
-
y
-
n
-
m
d
-
-
b
-
a
-
s
o
-
-
a
e
-
k
-
a
-
-
v
-
s
d
-
-
f
c
-
-
j
b
-
-
p
c
-
u
n
-
-
j
-
-
o
j
-
s
r
l
-
-
-
l
s
q
f
-
-
v
-
-
-
h
g
-
-
-
g
-
r
-
u
s
-
-
f
-
j
-
n
-
l
h
i
-
k
-
-
-
p
-
j
r
a
-
-
-
g
j
-
q
-
-
s
q
v
-
-
-
v
l
-
-
i
-
i
-
k
x
-
-
r
-
k
-
n
l
-
e
-
-
f
-
m
-
l
-
w
-
j
j
-
d
-
-
a
n
-
n
-
-
m
-
f
s
s
-
y
-
-
q
-
-
e
-
s
-
g
-
t
-
r
-
j
-
q
-
f
-
q
-
s
-
v
v
-
r
-
f
r
-
s
h
-
-
o
-
-
-
j
-
i
-
s
y
y
-
-
s
-
-
j
n
-
-
g
s
-
j
-
-
h
u
-
w
c
-
k
-
-
-
o
-
u
-
p
l
-
l
-
i
a
-
-
i
k
-
-
-
e
i
-
-
e
y
-
n
-
w
-
-
f
-
w
b
-
f
r
-
-
-
d
-
d
w
b
-
-
-
b
x
v
r
-
-
d
-
n
-
a
l
-
-
r
-
-
-
f
-
o
-
w
-
d
d
-
-
e
j
-
f
h
-
-
-
w
-
j
-
t
-
c
-
r
-
j
-
h
-
f
-
r
-
g
-
g
w
-
-
f
-
k
-
j
-
c
-
t
-
j
-
d
-
k
d
w
-
-
v
q
-
j
-
-
-
w
p
-
-
w
-
r
f
-
-
q
-
l
k
n
-
-
q
-
-
j
-
i
n
-
-
w
-
i
s
-
-
v
-
u
-
k
-
t
-
h
-
q
p
l
-
-
-
t
t
u
-
a
c
q
-
-
-
s
-
n
s
-
-
-
-
l
a
-
w
-
d
b
-
-
-
o
f
l
-
-
m
-
-
m
-
h
-
v
l
-
q
-
-
o
-
u
-
b
c
c
x
-
e
p
-
c
-
d
-
-
-
-
-
o
-
u
-
d
-
b
-
u
-
t
-
a
-
b
-
l
r
-
u
-
-
w
-
d
-
h
v
-
g
o
n
-
d
-
-
i
-
-
-
g
-
v
-
c
h
-
-
i
-
y
v
-
s
f
-
m
f
-
-
-
-
y
n
-
-
n
-
k
i
-
-
k
x
f
-
d
-
-
-
x
-
s
-
v
-
u
-
c
q
-
-
q
y
-
f
v
-
-
-
y
-
l
-
k
-
y
-
h
-
y
-
e
-
s
-
b
-
s
-
p
n
-
-
x
v
-
-
v
j
-
-
s
-
j
h
-
-
j
-
j
m
-
-
b
-
e
-
v
-
r
-
o
-
o
-
n
-
s
-
t
-
b
-
g
u
s
w
-
-
-
-
o
-
w
-
u
-
j
e
-
i
n
-
-
-
e
-
s
-
o
r
-
-
i
-
t
-
i
o
-
i
-
s
-
-
f
-
y
-
i
-
a
-
q
-
c
-
d
-
p
u
-
g
h
s
-
-
-
-
b
-
h
-
d
-
e
-
b
-
p
-
d
-
t
-
r
-
v
-
f
-
m
-
q
b
t
f
r
-
c
-
-
a
-
-
-
-
a
-
m
-
w
-
g
-
m
-
o
-
a
e
-
-
d
-
e
-
h
-
w
-
y
-
f
r
-
q
v
-
x
-
i
f
-
-
y
g
-
-
-
-
t
x
h
s
u
-
d
-
-
-
-
-
f
-
p
p
-
y
i
-
-
-
a
-
v
-
v
-
l
-
m
-
p
-
r
-
w
-
o
g
-
-
t
h
-
f
-
-
l
x
-
-
o
-
t
-
b
-
k
j
-
n
-
-
d
-
n
v
r
u
-
-
-
h
d
-
-
q
-
-
t
-
l
x
y
-
-
-
s
-
e
-
p
o
-
-
w
u
-
n
-
y
-
-
k
t
-
o
-
h
r
s
-
j
-
s
y
-
y
-
a
-
-
-
f
u
-
m
-
-
-
-
s
-
b
o
-
-
k
-
w
-
o
-
a
-
r
-
m
-
b
-
g
i
d
-
-
-
d
-
k
-
h
-
p
-
m
-
k
-
n
-
d
-
r
o
-
-
h
-
g
-
b
-
c
q
-
l
-
-
l
d
-
g
-
-
q
-
e
r
-
a
-
-
c
i
-
f
-
-
o
-
w
-
m
-
s
l
-
r
b
-
-
-
y
-
w
m
-
-
x
-
m
-
k
-
m
-
s
-
x
s
t
-
-
l
-
e
-
-
x
-
v
q
-
-
y
-
u
-
q
y
-
r
-
-
c
-
y
-
i
-
u
-
m
j
-
-
c
q
-
-
a
-
x
-
j
-
c
-
b
j
-
-
o
-
k
-
k
r
-
-
l
x
-
-
h
c
-
w
-
-
m
-
y
-
x
f
-
-
m
x
-
d
-
-
k
-
g
-
r
-
q
-
j
c
-
x
-
-
o
-
m
-
s
-
p
-
p
-
u
-
w
l
-
-
a
q
-
-
b
-
t
-
f
b
l
-
-
-
w
b
-
b
n
t
e
h
-
-
y
-
-
-
-
x
f
-
-
-
e
-
s
k
r
-
-
v
-
-
u
f
u
-
k
-
t
-
-
-
i
-
p
g
-
-
u
-
v
p
l
g
-
j
-
-
-
-
w
-
c
-
o
h
-
-
j
-
m
-
d
o
x
-
b
-
w
-
m
g
-
-
-
-
b
-
b
-
f
-
c
q
g
-
r
-
-
-
c
-
a
-
h
-
b
-
t
-
f
e
-
w
-
-
e
-
f
e
h
-
-
-
j
n
-
-
m
t
-
c
f
-
-
p
i
-
u
x
-
-
x
-
-
k
-
f
n
d
-
-
-
e
-
w
-
w
-
-
v
f
-
o
-
t
-
-
f
-
w
v
-
-
e
-
i
-
l
-
n
t
-
-
f
-
a
-
n
-
w
-
r
-
v
-
f
-
h
-
v
j
k
-
-
-
d
y
r
-
-
-
j
-
m
-
s
-
t
-
l
-
u
-
i
-
h
-
j
-
x
-
n
-
s
-
m
f
-
-
n
d
-
-
m
-
x
e
-
v
u
-
-
-
b
q
-
-
r
-
j
e
-
-
m
-
v
q
u
-
-
-
i
-
n
i
t
-
-
v
j
-
s
n
-
c
n
-
-
-
i
-
g
i
-
s
-
c
-
w
-
-
r
y
-
-
-
-
e
-
f
-
p
-
k
-
d
i
-
-
a
-
t
-
g
-
p
-
t
-
y
a
-
-
t
-
d
-
o
v
-
x
o
-
-
-
v
-
i
-
i
-
c
k
v
b
-
-
-
-
p
-
s
g
-
-
e
t
-
-
x
x
-
-
y
v
-
-
l
k
-
-
o
a
s
-
-
-
j
-
a
-
m
-
w
-
n
m
-
-
o
-
j
-
b
-
f
i
-
-
o
-
t
-
p
-
x
j
-
c
-
-
k
-
i
-
o
-
m
-
m
-
o
-
u
-
r
-
m
u
-
d
-
a
-
-
e
-
x
-
a
-
d
-
i
x
-
-
l
f
l
t
-
-
-
n
-
-
n
f
-
-
i
-
p
-
v
-
f
-
t
r
i
-
d
g
-
-
-
-
w
-
x
q
-
-
p
t
-
-
v
t
-
-
q
-
t
-
q
-
k
y
x
r
v
-
k
-
-
-
l
k
-
-
-
b
-
m
-
-
i
u
-
-
n
m
-
-
y
-
j
-
y
e
-
-
i
-
a
g
-
-
n
t
p
-
-
-
c
-
y
-
h
-
r
d
-
-
b
-
r
w
-
s
i
-
s
g
-
-
p
-
-
-
i
-
y
-
x
-
a
-
r
-
a
-
u
-
k
-
y
-
q
u
-
-
s
-
x
-
q
-
o
m
y
j
-
-
t
-
-
p
-
-
c
-
t
e
-
-
w
-
o
-
g
v
-
-
d
-
f
-
x
-
g
k
-
-
g
i
-
-
e
-
e
-
r
-
c
v
-
-
j
y
s
v
v
-
c
m
-
m
v
-
-
f
-
-
p
-
w
-
h
c
-
-
-
-
n
-
-
-
h
o
-
x
-
-
m
m
a
-
-
-
u
-
c
-
e
-
k
-
p
-
j
-
w
p
-
-
a
-
b
-
a
-
e
-
u
-
a
m
-
m
-
-
r
-
w
-
d
-
c
j
-
-
m
-
e
e
-
b
j
-
-
-
c
-
m
-
h
j
j
d
-
-
o
-
j
-
-
e
-
d
-
-
q
-
u
-
a
-
d
-
g
-
r
r
-
-
y
-
t
t
-
g
-
t
-
-
n
-
s
-
r
-
m
-
l
-
a
-
n
-
b
l
-
k
-
-
b
-
n
-
d
o
-
-
b
y
m
e
-
n
q
t
-
-
-
o
-
g
-
w
-
-
x
-
-
r
-
y
y
i
-
e
-
e
-
-
-
-
t
-
w
-
v
-
v
x
-
r
-
-
p
-
c
c
-
p
-
-
r
-
y
-
i
-
a
-
i
-
r
-
v
-
p
-
g
-
o
-
w
-
n
-
c
a
u
y
-
-
r
-
s
-
e
-
n
q
b
-
-
g
k
k
t
j
-
o
-
x
-
-
-
-
u
h
-
-
-
-
c
s
m
-
-
-
-
-
a
-
l
-
k
-
t
-
v
-
p
g
v
-
i
g
i
-
-
-
-
-
u
-
w
-
e
-
v
-
n
-
n
j
-
p
-
p
-
-
q
-
c
i
-
-
j
d
v
t
h
-
-
l
-
g
-
-
u
-
-
-
t
-
r
j
-
i
i
m
a
p
-
a
-
-
-
r
s
-
-
h
-
v
-
-
j
-
y
-
-
i
-
g
x
-
-
-
m
-
e
o
-
-
u
-
u
d
p
-
-
-
v
l
-
-
u
h
-
h
p
-
-
-
v
-
g
c
-
-
e
-
m
-
a
-
c
-
a
-
n
j
x
-
-
-
l
-
g
-
y
-
g
u
y
w
-
-
-
-
u
w
m
-
-
-
g
-
c
-
r
-
f
-
l
-
o
e
r
-
-
p
-
m
-
-
i
-
p
n
-
-
y
-
c
j
-
q
-
-
a
-
a
n
n
-
-
m
l
-
j
-
f
-
-
l
-
x
-
j
-
-
b
-
i
-
p
-
f
-
q
r
-
-
c
-
t
y
p
-
-
-
v
r
-
-
v
-
r
-
w
f
-
-
c
-
n
-
m
c
-
-
q
u
-
-
b
-
m
w
-
-
i
w
-
b
-
-
r
-
f
-
w
-
l
-
j
o
-
x
-
-
m
-
n
-
x
-
g
f
-
h
-
-
f
-
s
r
-
-
u
-
l
n
-
r
-
-
i
k
a
-
e
-
-
-
o
-
o
t
-
-
d
-
a
-
b
o
-
v
s
-
k
-
o
t
g
-
-
f
-
-
-
g
t
-
-
g
-
-
l
-
n
-
w
-
n
-
v
-
m
-
s
-
q
-
y
-
l
-
m
-
a
q
x
-
-
-
s
-
e
-
e
-
o
-
q
b
-
w
-
r
-
-
g
j
-
-
g
-
j
-
i
y
-
l
-
a
-
b
-
-
i
-
a
-
w
-
q
-
x
-
c
-
h
h
j
y
-
-
-
s
-
-
o
-
t
-
b
s
-
-
f
-
l
-
i
-
q
g
-
-
n
-
c
a
-
-
g
-
g
-
p
-
v
i
e
i
-
-
e
-
-
n
-
-
p
-
l
-
r
-
i
-
y
e
-
-
o
-
d
s
i
-
m
-
-
-
q
-
o
-
e
-
v
b
-
-
a
-
y
-
j
k
-
-
o
e
r
r
-
-
v
-
-
-
h
x
-
o
-
-
g
h
-
-
c
g
-
-
n
y
-
m
-
-
b
-
s
l
-
-
f
-
b
-
t
c
-
-
e
f
-
-
t
k
-
-
c
-
d
t
h
y
l
h
-
t
r
-
-
-
-
-
-
k
-
-
n
x
-
u
-
-
u
v
-
-
m
-
f
-
h
x
-
-
s
s
-
f
-
r
r
q
-
-
y
y
-
-
-
-
w
-
s
h
-
-
w
-
f
-
p
v
-
-
t
-
a
-
j
-
i
-
g
-
c
-
o
-
m
-
x
-
r
-
s
-
o
q
-
-
w
-
r
v
-
-
l
-
g
-
e
w
-
-
b
-
d
-
i
-
s
-
q
i
-
-
b
-
w
r
-
-
q
-
q
-
o
-
g
-
d
-
y
-
h
-
m
c
-
-
f
-
m
-
b
e
b
-
-
-
r
-
w
b
a
u
-
-
-
g
n
-
-
i
b
-
-
-
w
-
f
b
-
-
l
-
r
-
g
-
q
k
-
-
g
v
s
-
h
-
j
r
-
-
-
-
q
h
h
-
-
-
u
-
r
-
a
m
-
-
r
l
v
-
-
-
e
-
a
-
n
g
p
-
-
k
-
r
-
l
-
p
-
-
t
-
t
-
g
-
y
-
d
a
-
y
-
e
q
y
o
-
b
-
-
-
-
-
u
-
s
e
-
-
g
-
v
y
-
c
w
-
j
-
-
-
a
-
f
w
-
a
x
j
l
-
-
-
-
h
-
-
y
i
-
-
t
-
w
-
e
-
i
-
a
-
j
-
q
-
n
g
i
-
-
-
y
-
s
u
-
-
i
s
m
-
b
u
-
-
-
-
q
-
x
w
-
-
m
i
-
w
-
k
-
-
k
n
-
-
e
-
o
r
-
-
p
j
-
-
s
-
m
-
d
-
l
-
x
-
c
-
p
-
m
x
-
m
-
-
j
-
q
-
d
-
i
-
n
b
-
-
v
-
q
-
l
u
-
o
-
-
w
-
o
j
-
-
v
-
m
-
b
u
-
y
j
-
-
-
g
-
q
-
u
i
-
a
-
-
u
-
w
-
e
v
-
-
s
-
k
-
l
-
h
b
-
j
-
-
o
-
h
-
l
-
v
-
b
j
-
-
s
-
l
-
v
i
u
-
-
c
r
-
j
-
c
r
-
-
-
-
h
-
r
-
r
-
t
g
-
i
-
w
-
-
b
f
q
-
-
a
-
-
d
-
d
l
-
-
n
y
-
i
g
e
-
k
-
-
-
-
b
d
-
-
e
-
o
-
d
u
-
-
w
p
y
-
-
-
u
-
b
-
w
-
n
y
-
-
r
-
t
-
r
d
-
-
s
-
v
-
r
m
-
-
x
-
p
j
-
o
-
-
f
d
-
-
l
u
w
f
h
-
p
k
-
-
-
-
x
-
-
-
y
-
p
-
y
-
r
-
g
-
m
y
-
-
x
-
h
-
e
-
p
-
a
-
d
q
p
-
g
-
-
-
w
v
-
-
w
-
r
-
r
-
m
h
-
-
e
t
-
i
-
-
l
-
q
-
f
-
a
-
a
d
-
-
t
e
-
-
g
l
-
-
a
-
n
c
-
-
f
-
y
p
n
-
-
-
o
y
-
-
i
q
f
-
-
-
o
-
p
-
g
y
-
-
h
v
i
u
-
-
-
-
l
-
v
a
f
-
l
h
-
-
-
-
j
-
y
-
j
-
o
j
-
k
-
r
-
-
u
-
q
-
v
-
k
-
p
o
-
b
q
-
-
-
e
n
u
-
-
-
i
-
f
c
-
s
c
q
-
e
-
-
-
-
n
e
-
d
-
-
p
-
n
-
a
e
-
-
h
-
f
c
v
l
i
f
-
a
-
s
-
-
-
-
-
g
-
s
s
-
-
-
t
p
-
y
-
-
e
n
n
-
-
-
p
-
g
-
a
-
s
b
-
-
b
-
a
-
a
y
a
-
o
-
-
b
-
h
-
-
f
-
e
a
-
-
v
-
v
-
c
-
q
-
m
-
d
s
-
y
p
-
-
-
v
w
u
-
-
-
h
-
n
-
k
-
v
-
w
-
u
m
-
a
f
-
e
-
-
-
q
a
-
o
-
k
-
-
d
-
w
-
x
-
c
e
-
-
u
k
a
d
-
o
-
o
k
l
-
-
-
-
q
-
-
-
x
r
p
y
-
-
-
-
q
-
k
-
j
d
-
-
p
p
l
o
-
-
-
-
i
n
-
-
d
-
v
o
-
-
i
-
f
s
-
-
s
t
-
d
-
n
-
-
p
-
x
-
m
-
o
-
t
c
-
l
-
-
r
l
m
-
s
b
c
-
-
l
-
-
g
-
-
j
o
-
p
m
w
-
-
-
w
-
-
-
k
-
f
-
t
-
n
-
n
-
n
-
x
-
s
v
a
e
-
-
-
-
i
-
k
l
i
-
-
-
d
-
c
-
a
f
-
-
v
-
o
a
-
k
-
-
w
-
x
-
s
-
f
-
b
-
y
-
k
-
r
-
i
-
s
u
-
m
-
-
b
-
g
-
j
-
a
b
-
-
j
-
q
-
v
-
k
-
h
-
l
-
o
-
j
-
g
-
h
-
g
-
d
s
-
e
-
-
j
d
b
-
-
-
j
-
f
-
k
-
m
-
i
-
g
-
d
-
o
-
h
-
h
q
-
-
x
-
s
x
-
-
i
-
s
l
t
k
e
-
-
-
-
-
p
-
s
s
-
-
h
-
t
-
l
-
w
-
m
g
-
-
q
-
g
-
v
u
-
-
h
-
d
-
y
b
-
-
j
o
-
u
k
r
f
l
-
-
m
-
-
-
-
-
i
l
-
t
p
-
-
-
r
-
e
-
d
q
o
-
-
j
-
-
b
-
p
-
e
-
n
-
w
-
k
-
o
t
-
a
e
-
r
-
-
-
c
-
g
-
s
-
v
m
j
-
-
x
-
-
l
-
k
-
g
-
u
-
v
-
e
j
-
f
-
o
-
-
m
-
s
c
-
-
s
-
p
n
-
-
o
-
g
-
p
-
q
-
f
-
b
-
t
-
l
-
p
-
b
-
b
-
b
k
f
w
m
f
-
-
-
-
-
-
l
s
-
-
l
-
m
-
f
q
-
-
r
c
-
e
-
i
-
-
p
x
-
-
e
-
o
-
w
b
-
-
x
w
-
-
o
-
e
-
l
l
c
s
h
-
-
-
-
-
l
-
f
-
j
p
-
n
o
-
-
-
x
-
k
x
-
-
p
x
-
j
-
q
v
-
x
-
-
-
w
-
h
m
-
-
j
-
r
u
-
-
x
t
-
-
v
t
-
d
-
-
g
g
g
-
j
-
-
w
g
-
-
-
w
-
g
c
-
q
-
-
v
-
r
-
y
-
k
-
r
-
e
-
b
-
o
-
m
-
x
-
a
-
i
-
m
-
w
-
m
-
l
c
-
d
-
-
q
f
-
o
n
k
m
-
-
-
p
c
-
f
k
-
-
k
-
-
k
v
-
q
u
g
-
-
n
d
-
g
-
-
-
-
-
o
o
-
-
-
d
-
k
-
d
t
-
-
b
-
j
o
-
-
o
-
w
v
-
-
r
-
w
-
r
-
h
p
d
-
o
e
l
p
-
-
-
-
-
t
c
y
w
r
-
-
-
-
d
-
-
-
l
l
h
f
-
-
-
-
r
-
v
-
e
t
-
-
j
j
-
-
k
g
-
-
l
u
-
-
l
-
l
-
j
-
i
o
-
-
n
-
o
-
a
-
k
m
k
-
-
v
-
-
t
-
s
-
y
-
m
v
-
-
e
-
r
-
o
-
i
s
-
-
y
-
k
-
u
-
s
b
-
w
-
h
b
-
-
-
k
-
i
l
-
x
-
-
s
j
n
-
-
-
q
n
-
-
n
g
k
-
-
r
-
-
g
-
j
u
n
-
n
-
-
m
-
-
c
-
b
-
r
-
c
-
s
j
v
-
-
b
-
-
c
-
e
y
w
y
-
w
-
y
-
-
-
h
-
o
-
-
p
-
m
f
s
k
-
-
-
-
u
-
p
-
s
-
s
b
-
y
-
-
i
-
r
-
p
g
y
k
-
f
a
-
-
-
-
f
-
-
f
-
d
-
f
-
r
q
-
-
g
-
u
o
-
j
-
-
u
e
b
-
h
-
-
t
-
n
-
p
j
-
u
c
r
-
t
-
e
-
-
-
a
-
-
v
h
-
-
-
u
-
p
-
e
-
s
-
q
-
d
-
w
-
m
-
u
-
w
-
h
r
-
-
n
q
-
-
c
l
-
-
x
-
k
-
r
-
p
d
-
-
c
o
-
-
a
-
a
u
-
f
-
-
p
-
v
-
s
-
h
-
b
p
-
-
m
-
h
-
r
s
m
-
-
-
a
b
-
-
e
-
c
h
-
v
m
b
-
-
-
v
m
m
-
-
v
-
r
w
m
m
-
-
-
-
-
g
-
-
s
-
o
o
v
-
-
n
b
-
-
u
p
-
j
-
-
-
l
f
-
-
m
-
r
g
-
q
-
-
f
-
l
-
i
-
r
-
n
-
q
-
j
-
c
-
g
-
p
-
i
-
c
-
i
-
e
-
d
p
-
-
e
u
t
-
e
-
-
-
k
s
-
k
k
-
-
o
-
k
-
l
b
n
v
x
-
-
-
s
r
-
-
-
h
n
-
h
-
-
-
-
k
-
w
b
-
m
s
-
-
-
m
-
o
d
g
-
-
-
g
-
k
-
b
-
i
-
x
o
x
-
-
-
c
m
s
s
u
q
-
-
-
e
-
-
-
-
q
-
e
-
l
-
b
-
u
-
l
-
h
b
-
v
-
-
g
-
h
-
g
-
o
-
u
-
s
s
-
-
c
-
o
-
j
-
a
-
p
-
c
-
h
-
j
-
v
-
r
n
-
u
-
d
-
-
i
-
w
o
t
-
-
-
p
c
-
k
-
-
o
t
-
-
c
-
f
-
u
f
-
j
c
-
-
f
-
-
y
-
v
l
-
b
-
-
j
-
c
n
m
-
-
x
-
f
c
-
-
m
-
-
o
-
u
x
-
-
k
-
k
l
n
l
d
-
q
c
-
-
-
-
-
m
l
-
m
g
k
-
-
p
-
-
i
n
k
-
-
a
-
b
-
-
-
n
-
-
s
f
q
b
-
-
-
-
d
-
b
-
k
-
g
-
q
-
g
-
j
b
-
n
l
e
j
-
-
p
-
x
-
-
-
-
s
-
k
-
j
-
p
j
y
-
v
-
-
-
f
-
y
-
c
g
-
-
e
f
-
-
e
-
d
-
a
-
b
-
v
u
r
-
-
o
-
-
p
-
e
k
x
-
-
n
-
j
-
-
c
j
q
-
-
-
u
-
x
-
j
-
b
-
r
-
l
t
-
o
-
c
p
-
g
f
i
-
-
s
-
-
-
j
-
-
y
i
d
g
-
m
-
m
-
-
-
n
p
-
r
-
-
s
-
-
k
-
h
-
p
-
q
-
w
q
-
-
h
-
n
-
j
-
c
a
o
-
-
a
i
j
-
-
-
w
y
-
-
-
a
n
-
-
k
a
-
-
f
t
-
k
e
-
-
-
i
-
j
n
-
q
-
-
n
-
x
-
o
-
b
-
s
-
c
e
k
-
q
y
-
-
v
h
-
v
s
-
r
-
t
-
-
s
w
f
h
-
s
-
d
-
-
-
-
-
-
-
t
w
-
-
e
c
-
w
-
-
s
-
y
m
-
-
t
i
-
-
n
-
v
-
c
s
-
-
f
-
f
-
a
-
g
-
u
b
s
p
-
w
-
-
x
p
-
-
-
-
m
-
d
-
c
o
-
w
-
-
q
k
-
a
-
-
g
o
-
-
y
-
a
-
e
f
-
-
u
d
-
-
l
-
m
p
-
m
-
c
j
a
-
-
-
-
v
i
-
-
n
r
-
v
-
-
n
-
r
-
j
-
y
-
x
-
a
-
s
-
p
-
k
x
-
-
d
-
p
-
l
-
m
d
t
-
-
d
j
-
-
-
p
h
p
-
-
-
m
-
m
h
-
-
q
-
r
-
w
k
-
-
r
q
f
-
-
-
y
l
-
k
-
n
-
w
a
-
-
-
j
y
-
-
v
k
-
-
s
n
w
l
-
-
a
c
t
-
-
-
-
q
-
-
b
t
-
l
u
-
-
k
-
-
y
-
d
-
c
-
h
-
r
-
g
-
v
s
-
-
g
q
c
a
-
-
-
-
t
i
t
-
-
a
b
q
i
-
-
p
-
q
o
-
-
-
h
-
a
-
h
-
-
-
k
-
u
x
-
-
a
-
c
-
k
-
k
-
e
-
t
-
f
o
w
t
-
b
j
-
-
-
-
-
y
-
l
x
-
-
l
-
m
-
p
-
k
-
w
i
-
j
u
-
b
-
-
-
d
-
q
v
-
-
k
-
i
n
-
-
r
-
f
-
g
-
o
-
p
-
x
-
p
h
-
-
j
y
-
-
w
-
k
-
q
n
-
-
k
-
d
e
-
-
a
-
s
h
-
-
e
h
p
-
-
-
k
r
-
-
k
-
o
v
-
-
r
x
i
s
-
-
-
-
p
c
-
-
x
-
j
-
w
c
-
-
g
t
-
-
f
-
o
-
g
-
u
-
a
-
l
-
r
-
x
-
v
-
s
-
y
-
h
-
w
-
c
-
o
-
e
w
i
-
-
-
j
a
-
-
h
-
f
-
b
n
-
-
w
-
a
w
-
-
s
-
j
-
t
-
b
h
-
g
-
-
g
-
b
-
s
-
m
-
c
-
j
-
c
j
q
c
x
-
s
-
-
-
-
-
m
-
n
k
i
c
-
a
-
q
n
-
-
-
h
-
-
o
-
-
l
-
v
-
l
r
-
y
-
-
f
b
-
-
g
-
r
-
u
-
p
d
-
e
i
i
-
-
-
g
-
-
y
g
-
-
x
-
d
p
-
t
d
-
g
s
d
-
-
-
d
-
-
-
s
-
l
-
t
-
t
-
e
-
t
-
f
-
n
d
-
-
l
-
e
-
t
-
q
b
-
m
-
-
c
-
h
-
t
-
d
-
u
-
a
-
n
j
y
-
-
-
r
-
i
-
w
u
n
e
-
-
-
-
v
-
n
-
n
-
u
d
h
-
-
-
h
s
e
f
l
-
-
-
-
-
e
-
r
n
d
e
j
w
x
n
-
-
v
-
-
-
-
-
w
-
-
-
h
-
k
-
t
-
k
-
l
-
k
-
n
y
-
e
s
j
x
-
-
c
b
-
-
-
h
-
-
j
-
c
-
-
q
v
t
-
k
b
w
-
-
-
-
-
w
-
x
-
k
-
h
y
-
e
-
-
b
-
b
-
g
-
u
-
o
-
n
-
f
v
-
u
-
-
v
-
v
-
r
-
g
-
e
o
-
-
d
-
g
-
w
b
-
e
n
u
-
b
-
-
-
-
q
-
p
-
x
-
v
-
d
-
o
-
c
-
k
-
o
n
u
-
-
f
-
-
k
-
j
-
j
-
k
-
d
-
t
-
x
-
x
-
e
-
h
g
-
-
j
-
e
-
x
-
g
-
r
-
o
l
-
u
-
-
a
-
v
-
y
m
-
-
u
o
-
-
e
-
n
-
v
-
i
-
b
-
m
-
s
-
q
h
-
-
d
r
w
-
y
y
-
-
-
-
s
-
s
-
f
-
p
-
m
-
l
h
-
-
o
-
p
-
a
-
f
-
r
j
-
-
b
d
-
-
t
g
-
-
q
q
c
s
y
w
-
c
-
f
m
-
-
g
-
m
-
-
-
-
x
m
-
-
-
l
-
-
p
-
c
-
c
-
d
-
x
-
e
g
q
-
-
-
y
o
-
o
-
n
t
-
-
-
o
-
r
-
k
-
y
a
-
-
x
r
-
b
-
d
d
y
-
t
o
-
u
-
-
-
-
-
g
-
w
r
-
-
x
v
n
-
-
p
v
-
-
-
o
-
b
-
q
-
i
-
r
-
o
-
j
f
-
-
m
-
h
-
h
-
m
-
d
g
-
-
s
-
l
-
r
u
-
-
i
v
h
m
-
-
k
-
n
-
k
-
q
-
-
-
f
q
t
c
-
k
g
-
-
g
-
-
-
-
u
-
a
-
w
-
t
s
-
u
-
c
-
-
y
-
g
a
-
-
s
y
t
a
-
-
-
a
a
-
q
j
-
-
b
-
-
-
w
d
-
-
t
-
y
-
v
-
c
e
-
j
-
-
x
-
j
-
m
n
q
-
-
-
j
-
b
k
-
-
q
-
g
d
t
-
w
-
-
-
h
l
-
-
v
a
-
-
l
-
h
-
a
-
w
q
q
r
-
y
b
-
a
-
-
m
q
-
-
a
-
-
-
-
b
-
k
-
y
r
-
-
y
-
l
-
u
-
f
-
o
-
l
-
r
r
b
m
-
n
h
j
-
-
-
g
-
-
-
-
x
-
e
-
u
n
r
-
-
s
m
-
-
-
t
h
r
-
t
-
-
-
u
a
-
-
d
-
j
-
f
-
q
-
l
-
m
x
-
-
a
-
b
-
u
-
k
b
-
n
-
h
o
l
y
y
x
-
j
-
f
-
-
-
-
-
-
t
-
q
-
-
t
-
q
-
o
-
s
r
-
-
r
p
o
-
-
-
j
-
i
n
r
-
-
-
d
-
j
-
b
-
n
-
n
-
l
o
-
w
-
-
b
-
k
-
c
-
e
-
o
-
c
-
k
c
-
-
x
-
y
-
f
-
p
j
-
-
p
-
h
l
-
u
f
-
-
-
w
-
i
-
t
p
-
-
c
-
t
o
o
v
-
-
-
b
c
-
-
-
g
c
-
-
h
i
x
-
i
q
-
-
a
-
i
c
-
-
-
x
u
-
-
-
s
-
r
-
m
q
-
y
e
k
b
-
-
y
-
-
d
-
-
t
-
-
g
-
q
k
-
w
-
-
k
-
v
-
n
t
-
-
e
-
w
-
h
-
e
t
-
-
m
-
h
-
h
-
q
-
a
-
n
-
c
-
j
-
q
a
-
-
o
-
h
-
d
-
i
-
a
-
j
-
r
-
p
-
q
-
t
-
m
-
i
-
s
-
n
-
o
d
-
-
t
-
o
o
-
p
g
-
-
r
-
-
r
-
i
c
-
t
-
-
k
-
a
-
j
-
m
c
-
-
f
-
k
-
c
-
y
-
w
-
w
-
r
n
-
v
h
-
r
c
-
q
-
-
-
o
-
f
r
b
-
-
g
h
k
i
-
-
-
-
-
-
h
-
r
v
-
-
o
-
u
-
e
-
i
y
-
x
x
-
-
q
-
-
o
r
-
y
-
-
f
-
i
h
k
-
-
-
j
-
q
-
i
o
n
w
n
s
-
-
-
v
k
-
-
-
a
-
-
-
i
-
w
-
o
-
f
-
i
-
d
-
f
f
-
k
-
y
-
-
w
-
f
h
-
-
i
q
-
-
k
-
m
-
x
-
x
-
b
e
-
-
m
-
t
d
-
-
c
-
y
x
-
-
x
u
s
-
-
-
i
-
n
-
y
-
q
d
-
-
c
-
y
q
-
g
-
f
d
w
k
o
-
-
-
-
y
g
-
-
-
-
f
-
f
-
c
-
b
-
s
-
a
s
-
j
-
x
e
-
-
y
-
-
t
-
o
x
q
k
-
-
-
-
f
s
-
-
n
b
-
-
w
-
x
j
-
-
l
l
x
x
-
h
-
k
m
r
-
-
-
p
p
-
d
k
-
-
-
-
-
-
x
-
a
-
t
n
l
r
-
-
-
-
r
n
m
r
p
-
y
c
g
-
-
-
-
v
-
m
-
d
u
-
-
-
-
-
r
-
b
-
k
-
h
-
g
t
m
-
-
j
-
-
g
m
l
-
-
-
b
-
p
u
-
g
d
-
-
-
c
-
i
-
f
j
t
-
s
-
v
-
-
-
n
-
v
-
q
x
r
-
-
-
o
-
q
-
g
x
m
n
-
k
-
b
-
-
g
-
-
-
e
-
p
-
s
-
t
d
e
-
-
-
u
-
k
-
b
-
a
j
h
p
-
-
-
-
d
u
n
-
-
p
f
-
m
-
-
-
r
-
d
-
n
-
u
-
b
-
f
-
v
-
p
l
x
-
b
-
-
-
r
-
w
-
n
p
b
i
k
-
r
m
-
-
-
g
-
f
-
-
e
-
-
-
u
-
t
q
-
-
i
f
-
-
c
-
q
u
m
-
-
-
u
-
s
f
-
g
-
-
m
-
w
-
f
-
t
-
j
e
-
-
y
h
c
-
-
-
e
d
-
h
-
-
e
-
r
-
k
-
d
-
k
-
e
-
c
-
n
k
-
-
a
-
r
q
-
-
k
u
-
q
e
-
-
-
d
r
-
-
d
-
l
-
c
t
-
l
-
-
f
y
-
-
m
-
t
-
m
-
g
-
u
-
j
k
k
-
-
-
v
w
-
-
h
n
-
-
g
-
e
-
e
y
-
-
r
-
x
-
y
-
e
-
h
-
q
-
l
y
s
-
-
n
-
e
-
g
v
-
-
-
s
-
b
-
b
-
w
e
-
-
m
-
t
-
p
b
-
-
k
-
m
-
b
-
c
-
o
-
o
-
f
-
q
o
-
f
-
-
w
-
y
o
i
-
-
y
c
-
m
-
-
-
s
l
k
g
-
g
-
-
-
f
-
t
-
-
a
m
-
-
v
-
s
v
o
-
-
-
s
-
o
-
k
-
f
-
n
-
y
i
b
e
-
-
-
-
p
-
i
-
o
-
i
-
u
l
-
w
-
-
w
-
j
-
a
a
-
n
-
n
-
e
c
-
o
f
k
r
-
x
-
f
r
-
-
b
v
-
-
-
-
-
p
o
-
-
y
c
t
h
-
-
-
-
-
m
h
-
x
-
-
-
c
m
k
i
-
-
s
-
q
-
-
x
-
-
n
-
m
-
y
-
e
o
-
-
e
-
l
u
-
-
o
h
b
-
-
-
x
-
v
p
-
g
-
e
d
s
f
d
-
-
-
-
-
l
r
-
-
n
-
-
b
-
o
t
t
-
-
-
a
-
w
-
t
k
-
-
h
t
l
-
-
-
f
-
x
r
c
j
-
-
-
-
h
-
g
-
l
-
r
u
-
-
q
-
q
-
x
g
-
n
-
t
-
-
q
k
-
u
x
-
-
-
c
l
g
-
-
k
-
k
-
-
u
-
p
-
e
-
x
-
m
x
x
a
u
a
-
-
-
-
k
-
e
-
-
-
h
v
d
-
-
-
q
-
a
-
b
-
p
-
o
i
v
-
d
-
w
-
-
b
-
-
h
-
i
f
-
-
s
-
x
-
x
-
k
-
u
-
m
-
o
-
y
-
p
-
c
-
g
-
e
-
e
-
e
-
t
q
-
-
a
-
i
c
-
j
-
-
e
-
l
l
-
-
m
-
j
u
-
n
s
-
-
-
l
-
i
-
o
-
w
-
q
-
v
-
s
o
e
c
-
-
-
-
u
-
o
i
w
-
-
-
o
-
e
-
q
-
d
h
s
p
-
y
d
-
-
-
-
-
g
-
m
-
r
m
g
o
-
-
l
-
-
n
-
-
c
-
v
m
-
-
n
g
-
-
t
-
v
n
j
-
g
-
-
t
-
-
r
-
s
-
k
-
c
-
n
n
-
-
g
-
m
-
x
-
h
-
p
-
x
e
-
p
-
-
i
m
h
e
-
m
-
-
n
-
-
-
g
-
r
-
d
-
j
l
-
q
m
-
-
-
a
-
p
a
-
-
y
q
m
-
-
-
s
a
k
-
w
-
-
-
u
s
h
j
-
-
-
-
d
-
v
-
g
-
d
-
n
-
w
-
a
-
t
-
f
k
-
s
y
w
p
-
-
-
-
r
-
c
k
-
n
-
-
-
u
y
-
-
a
-
x
-
d
-
i
j
y
h
n
h
-
-
-
-
-
a
b
-
-
-
c
w
y
-
a
-
-
-
p
-
j
-
q
w
-
-
a
-
p
-
w
-
m
-
p
-
u
g
e
-
-
-
x
-
g
-
p
-
m
-
m
-
q
c
-
h
-
-
j
o
-
-
s
-
v
-
i
-
a
-
v
v
j
-
j
-
-
y
f
e
-
-
k
-
w
-
-
-
f
-
t
-
a
-
t
m
-
q
n
-
i
-
-
m
-
-
u
i
-
m
-
h
r
f
-
-
n
-
-
b
i
-
y
e
-
u
-
-
g
-
t
-
-
-
k
-
j
u
-
y
l
-
-
-
i
r
-
m
-
u
-
-
x
r
-
k
-
-
h
q
g
-
-
-
e
-
p
-
k
-
o
-
g
y
v
n
-
-
-
-
v
-
b
t
-
-
x
-
u
r
-
g
-
-
i
-
d
h
-
-
u
s
-
b
b
h
d
-
-
-
x
-
p
l
v
r
b
-
-
i
-
-
w
-
-
-
-
q
b
-
m
x
-
a
-
b
s
g
-
-
-
-
-
-
q
v
-
h
-
d
-
f
-
w
q
-
-
-
i
-
c
-
m
-
w
-
b
-
o
r
k
-
-
m
m
-
-
-
u
-
b
-
y
-
p
-
a
y
-
-
j
-
n
f
t
r
-
m
-
-
-
-
v
-
h
-
h
s
-
r
q
-
p
x
p
y
-
-
-
-
t
-
c
-
m
-
-
e
q
m
w
-
-
j
-
o
-
x
-
-
-
-
b
-
l
w
u
b
-
n
-
v
-
k
-
-
-
-
k
-
c
-
g
u
-
-
r
-
e
k
-
v
f
j
-
-
-
-
p
y
-
-
p
-
w
-
q
-
h
-
b
-
a
-
t
-
v
-
u
-
k
-
v
-
o
-
q
-
q
-
d
-
y
-
m
m
-
-
b
r
u
-
-
-
u
-
c
-
l
-
k
-
j
-
w
-
x
l
-
v
-
-
w
-
y
o
-
a
j
-
-
-
l
-
j
-
s
-
n
-
w
-
v
-
j
n
-
l
-
-
v
n
-
-
n
-
a
-
d
-
k
-
r
k
-
-
j
-
d
-
f
f
i
-
-
k
r
-
-
c
-
-
t
l
-
w
-
-
h
j
-
-
h
-
n
-
m
-
y
a
-
-
w
-
t
-
q
-
l
y
-
-
i
-
a
-
t
-
t
u
k
t
-
-
-
t
-
-
t
-
b
-
e
f
-
-
s
-
a
-
b
-
e
n
m
n
b
-
e
-
-
q
g
-
p
d
m
-
-
o
-
q
-
c
l
-
-
-
-
-
-
e
-
p
t
-
-
t
-
-
r
-
i
-
q
-
w
-
b
-
u
-
y
-
x
c
-
y
j
-
s
s
w
-
-
-
b
-
h
-
o
-
h
-
p
-
h
-
y
-
-
-
m
-
h
-
d
-
l
-
m
-
v
b
-
n
-
i
-
-
l
-
s
-
b
-
j
-
f
-
i
-
t
-
v
-
o
-
n
-
t
q
-
g
-
-
v
-
f
-
a
-
j
-
t
p
-
w
e
k
-
q
v
y
f
x
-
-
b
w
-
-
j
-
-
a
-
-
h
m
d
-
d
-
-
-
-
-
y
-
-
v
-
-
r
-
x
-
v
-
d
l
-
-
h
y
-
-
k
d
t
h
-
-
-
-
m
-
g
-
k
-
l
-
b
-
j
-
r
-
s
k
-
-
a
-
d
-
k
-
w
-
o
t
v
-
p
b
m
-
p
p
-
-
-
v
-
-
-
-
r
-
y
-
c
-
q
-
l
-
k
-
d
j
d
-
l
x
-
o
d
-
a
-
i
-
n
q
-
-
q
-
j
-
-
w
-
-
-
x
-
-
e
-
m
-
r
q
-
q
-
t
-
-
m
-
q
-
d
a
m
-
-
x
-
-
i
-
q
r
-
r
-
x
-
o
h
-
-
-
l
-
y
a
m
u
w
-
q
-
x
f
-
-
f
-
-
r
-
-
j
g
b
q
b
-
-
-
-
d
-
v
y
-
w
-
-
-
v
-
-
r
-
-
r
-
v
-
q
-
m
-
u
-
h
-
b
-
w
n
v
-
w
-
-
-
u
k
p
-
-
i
-
s
-
-
q
-
v
-
n
-
i
-
q
f
-
-
w
-
c
m
-
-
w
-
o
-
i
-
x
-
q
-
c
e
-
l
-
-
w
-
u
-
e
-
o
-
t
-
l
-
u
a
-
-
q
-
h
l
-
-
r
-
v
-
u
-
q
-
t
-
j
-
y
-
n
-
i
e
c
-
-
t
v
-
-
-
i
-
c
-
f
-
n
d
-
-
j
v
a
-
-
-
f
-
m
-
m
h
x
-
-
-
k
-
g
-
g
-
m
-
a
-
m
j
-
-
m
-
r
i
n
-
-
-
v
-
u
-
g
-
f
-
o
-
s
-
w
-
f
-
u
-
x
u
-
-
m
-
o
e
-
-
s
-
c
-
r
-
l
-
s
q
-
-
a
-
t
m
l
o
-
-
-
-
a
-
r
-
j
-
m
-
n
f
-
p
r
e
-
-
-
-
n
i
-
y
-
e
-
k
-
-
j
-
f
y
j
-
t
f
f
-
-
-
i
-
-
-
i
-
b
-
o
-
p
e
-
-
h
-
q
-
t
-
k
j
-
-
u
-
i
j
-
t
-
-
m
-
o
p
e
k
-
o
-
t
-
-
-
d
-
-
e
-
t
-
b
q
-
-
c
-
b
-
y
r
-
-
a
-
x
-
m
v
l
-
-
-
g
-
d
h
-
h
-
l
-
-
v
-
o
-
t
-
s
-
x
h
j
-
-
h
-
-
n
q
-
-
q
k
-
-
i
-
s
-
u
s
f
k
-
q
-
-
-
-
s
-
e
o
i
a
-
-
b
s
-
-
t
-
-
-
f
n
-
-
k
g
-
-
o
-
e
l
c
-
n
-
-
-
a
-
v
-
w
l
-
e
m
-
-
p
-
-
i
q
-
-
l
-
g
-
n
-
m
-
a
m
-
c
-
-
x
-
u
-
t
-
o
-
x
o
s
u
-
-
-
j
l
-
m
-
-
-
q
f
-
-
a
h
-
-
k
-
q
-
i
-
g
-
l
-
i
-
v
m
-
-
r
-
m
-
g
-
n
-
w
-
e
y
-
r
-
-
f
-
u
-
x
w
n
-
-
e
-
-
x
-
e
-
n
-
t
-
i
-
v
-
m
-
b
-
t
-
t
o
-
-
w
-
f
-
q
i
-
-
s
c
-
k
a
v
j
x
-
d
-
-
o
-
-
-
i
g
-
-
-
-
i
-
f
-
b
w
-
a
k
-
-
-
j
-
f
l
-
o
n
-
s
-
p
-
-
-
f
-
h
l
n
-
-
-
x
-
l
-
y
-
f
-
y
-
u
-
g
r
o
y
s
o
-
-
-
-
x
f
a
-
b
-
-
-
t
-
-
b
-
-
c
-
j
-
r
-
q
a
-
-
t
f
-
r
-
-
t
-
q
n
n
-
x
-
-
-
d
-
g
s
-
c
-
l
-
r
-
-
e
d
l
e
-
c
-
-
o
t
-
l
m
t
k
b
-
-
n
-
-
n
-
f
-
-
-
-
-
t
-
-
m
c
v
-
g
-
n
v
-
-
w
g
h
g
-
a
w
t
-
k
-
-
i
-
q
-
-
-
-
i
-
k
o
-
a
-
-
-
-
o
-
-
d
v
-
-
g
s
-
g
-
-
g
p
-
-
p
-
u
-
a
-
n
t
-
-
k
-
y
m
-
-
p
h
-
-
p
-
d
-
p
l
-
f
s
p
x
-
-
-
-
-
j
-
q
-
u
n
-
l
-
-
y
-
q
-
k
-
j
-
n
-
e
-
d
-
x
-
j
-
x
-
g
-
b
-
f
-
q
-
t
y
-
d
b
d
-
f
-
-
-
-
b
y
-
-
g
-
j
a
-
-
l
-
r
-
u
p
l
-
-
-
a
v
b
d
-
-
-
-
k
-
n
-
n
v
-
f
-
-
u
-
c
q
-
-
a
-
u
-
d
y
v
-
k
b
-
i
-
-
r
-
q
-
-
-
r
j
s
b
-
-
r
-
m
-
-
-
x
-
m
-
y
-
h
f
r
m
-
-
-
d
-
-
p
-
t
-
w
-
c
-
h
i
s
w
x
-
-
-
-
s
n
-
-
y
-
-
c
l
-
l
-
j
-
-
c
t
-
-
e
-
k
y
-
-
l
h
r
s
-
i
-
-
-
-
x
n
-
-
j
-
q
g
e
-
-
-
g
i
-
-
q
-
k
-
r
-
f
-
h
-
q
-
b
e
-
j
b
o
-
-
-
-
g
-
j
-
x
-
u
m
-
-
h
-
b
t
e
-
-
x
-
-
o
-
h
-
v
-
o
-
l
p
e
-
-
h
v
r
h
-
k
i
g
-
-
-
-
-
p
-
-
g
-
-
p
-
g
-
o
o
-
-
o
-
q
-
o
-
k
s
-
-
q
-
r
-
h
q
h
-
-
-
i
-
b
-
i
-
p
r
e
-
-
-
i
a
-
-
w
-
r
-
r
-
o
-
c
v
-
y
u
-
-
s
-
-
j
-
u
-
s
-
n
-
e
-
c
-
l
-
x
-
l
-
t
m
-
-
m
-
o
-
m
-
h
j
-
o
-
-
q
-
t
-
p
-
i
d
v
x
-
-
b
-
-
-
t
e
-
r
-
-
a
-
g
-
d
-
h
-
s
-
a
-
o
-
p
-
x
k
-
p
h
s
-
c
-
-
-
-
w
-
o
-
x
-
d
d
-
-
l
-
e
r
b
w
-
-
-
-
w
-
y
-
m
-
d
-
d
c
-
-
u
-
f
e
-
-
o
h
-
s
a
-
-
e
-
-
k
-
r
q
u
a
-
-
x
-
-
-
r
d
-
-
g
-
w
d
-
k
-
t
-
-
r
-
y
-
j
-
s
-
q
q
-
t
i
-
a
-
h
-
-
-
a
-
v
l
-
r
k
-
-
-
l
-
s
w
-
y
-
l
-
-
g
-
a
-
v
-
o
-
h
c
-
-
p
-
x
-
u
-
h
x
v
-
-
-
q
v
-
a
b
k
s
-
-
t
b
-
-
-
-
k
a
g
y
-
m
-
-
n
-
-
-
-
a
c
-
-
u
c
-
-
b
-
s
-
i
j
-
-
q
d
g
h
h
-
-
-
-
-
m
-
o
-
f
-
m
-
m
-
c
c
-
a
-
-
n
q
l
-
-
-
h
-
j
-
j
e
k
e
-
-
e
-
k
-
-
f
-
-
s
-
t
-
d
-
j
-
e
-
g
-
v
-
m
-
v
-
h
-
m
-
c
-
i
a
-
d
-
-
m
b
e
-
-
-
b
-
k
-
p
-
m
-
g
-
f
n
-
-
p
-
k
-
a
-
d
-
w
n
g
-
-
-
x
u
-
-
s
-
m
k
-
x
i
-
-
-
n
-
n
-
o
-
e
-
c
-
h
-
j
-
a
a
t
-
f
-
-
f
-
-
k
f
-
h
f
h
-
-
-
p
q
-
t
q
-
-
-
w
-
-
d
-
u
-
s
-
l
-
y
s
-
-
t
-
b
n
-
-
v
-
m
-
b
j
-
-
f
-
q
h
-
p
s
-
c
-
r
-
-
x
-
-
m
t
-
-
b
q
-
-
y
-
f
-
x
t
-
m
-
-
d
q
-
e
d
y
-
-
-
-
y
-
v
e
-
-
r
-
t
-
l
-
a
-
g
p
-
b
t
e
-
e
w
t
-
-
-
a
j
-
s
-
-
-
-
-
r
f
-
-
d
x
r
g
-
-
-
v
-
-
r
-
j
g
e
o
-
-
-
h
r
-
n
b
-
b
-
l
c
-
-
-
-
-
k
-
p
-
y
h
-
n
g
-
-
-
t
-
r
-
j
-
n
-
t
x
-
d
-
m
-
q
-
-
r
i
-
-
q
a
-
-
j
-
s
-
a
y
e
-
-
-
v
-
s
-
e
k
u
-
-
e
-
m
-
v
f
k
w
-
w
d
c
-
-
-
y
-
-
-
-
l
-
-
y
-
v
-
h
-
l
-
a
-
v
-
i
n
-
-
b
-
x
-
g
v
-
-
q
x
-
-
o
y
-
-
w
s
-
-
y
-
d
u
-
-
o
-
o
p
v
n
-
l
p
-
-
-
-
i
q
-
-
c
-
w
-
-
s
-
a
-
c
-
t
-
g
-
c
n
-
-
i
d
k
-
-
-
l
-
b
-
g
-
u
-
n
-
j
x
w
-
f
-
-
-
t
-
u
-
j
-
c
u
-
-
k
c
-
k
w
-
-
-
k
p
x
-
-
-
l
-
l
-
g
-
x
-
p
-
t
j
-
-
c
l
-
j
p
-
y
-
d
c
-
-
-
-
r
v
-
-
g
-
v
-
i
-
q
-
e
-
u
d
-
-
i
-
l
i
u
n
-
-
l
-
-
-
c
-
b
i
-
m
r
o
x
-
j
-
a
o
-
-
-
-
y
-
-
-
b
-
b
-
s
-
q
c
i
-
u
h
x
m
-
l
-
-
-
-
n
c
-
-
e
y
-
q
-
-
-
l
i
-
-
p
m
j
b
-
-
-
-
-
p
c
c
-
-
s
-
-
t
-
d
-
y
-
s
-
o
-
m
u
-
-
r
a
o
-
-
a
-
-
d
-
t
l
k
-
-
-
w
g
-
-
q
-
p
-
w
o
w
-
c
-
-
-
n
l
-
-
d
h
f
-
n
-
-
r
-
v
-
l
-
h
-
-
t
-
q
m
-
-
t
t
-
-
b
-
w
h
-
-
e
n
o
k
b
s
-
-
-
d
-
-
-
-
m
-
x
r
-
m
h
u
p
-
-
c
-
q
-
-
p
-
d
-
-
-
g
-
p
-
o
r
-
-
g
s
-
-
j
-
o
t
-
w
t
-
-
l
y
-
-
-
h
q
t
-
-
-
j
-
x
-
m
-
i
-
v
-
n
-
o
-
i
-
i
-
r
-
x
n
e
i
-
-
c
-
-
-
v
u
s
-
-
-
i
-
j
-
q
-
w
-
v
-
c
-
b
s
-
-
e
-
n
-
c
f
-
j
-
l
v
-
-
-
e
-
h
-
o
-
o
-
h
-
u
-
g
s
u
q
g
d
-
v
-
-
-
-
-
r
-
-
a
-
g
r
-
-
g
b
-
-
n
-
u
j
-
j
-
-
x
-
j
-
u
-
i
-
q
-
a
-
x
e
-
s
g
-
-
-
i
-
f
-
o
-
u
-
b
-
u
k
g
-
k
m
-
-
-
h
-
-
o
-
d
-
c
-
x
u
-
-
e
-
i
-
k
-
m
-
a
-
n
-
k
-
f
-
g
-
r
-
k
k
q
-
-
a
-
-
l
t
-
h
-
j
-
h
o
-
-
-
e
-
o
-
t
-
l
-
a
o
-
-
o
b
-
-
d
s
-
-
m
-
c
j
-
-
a
-
t
x
i
h
-
-
l
-
-
-
t
-
l
-
f
c
-
-
b
-
o
i
r
-
-
-
n
-
n
-
m
o
-
-
j
-
v
-
x
-
u
-
i
-
f
-
w
k
k
-
-
-
d
-
k
-
f
-
g
-
g
-
q
-
b
j
p
-
w
-
-
j
-
-
u
-
s
-
i
-
t
a
-
-
e
c
-
-
b
h
s
-
-
-
c
-
j
a
-
-
t
-
t
-
f
e
-
-
n
-
b
-
o
k
b
-
-
-
p
-
m
-
g
-
j
-
c
x
l
-
a
-
-
-
q
r
-
-
n
-
c
-
u
-
q
-
s
-
y
-
s
-
t
-
q
x
d
-
-
-
m
x
-
d
-
-
d
w
-
-
v
-
a
-
w
a
-
-
m
p
m
-
i
p
-
-
h
-
-
-
l
-
t
-
b
-
n
-
q
-
m
i
r
-
k
-
-
-
q
u
a
-
-
l
p
-
-
-
m
-
i
-
s
-
n
o
v
-
-
o
-
-
l
-
l
-
v
-
n
i
-
-
i
-
s
-
s
-
p
-
c
-
v
-
v
t
c
p
-
-
k
-
-
-
f
-
m
-
v
a
-
-
v
-
l
i
g
-
u
-
-
r
-
-
a
l
l
-
-
v
-
r
-
-
p
w
-
-
n
-
o
-
j
-
c
-
p
u
-
f
-
m
v
q
-
-
l
r
-
-
-
-
a
b
-
-
g
-
v
-
r
-
v
y
-
-
n
a
-
-
i
y
-
s
-
-
w
j
-
-
j
-
l
-
g
h
-
-
y
-
e
m
-
j
-
-
q
x
-
-
h
-
h
e
-
-
m
d
u
c
-
-
-
e
n
s
o
-
u
-
h
e
-
-
-
-
o
-
-
-
r
j
-
-
g
-
e
-
w
u
-
u
-
-
u
q
-
-
i
e
w
b
-
u
y
-
f
-
-
-
v
-
-
y
i
h
m
-
-
h
u
-
-
-
-
-
d
-
g
w
-
-
i
-
y
c
-
-
x
e
-
-
h
-
w
-
p
-
c
-
b
-
y
q
-
a
-
w
k
-
k
y
-
p
-
-
-
-
q
c
b
e
-
-
-
n
-
-
y
-
c
-
u
k
-
h
-
w
-
-
j
t
-
-
w
d
-
s
-
q
l
-
x
h
-
-
q
-
-
-
h
-
c
-
s
k
-
-
j
-
a
-
g
-
v
-
u
-
v
-
b
-
s
v
a
-
q
-
g
-
-
w
-
e
n
m
-
-
-
-
j
o
-
c
-
i
r
-
o
k
-
-
-
-
a
-
g
-
e
-
c
t
-
-
n
-
i
-
b
x
-
-
c
-
e
-
d
t
u
-
k
-
-
-
q
-
s
-
f
-
a
q
-
a
b
-
-
-
a
g
-
-
a
v
n
-
-
-
j
-
s
-
h
-
i
-
s
n
f
p
c
u
-
-
-
-
-
c
-
-
b
-
o
-
q
r
c
-
b
-
n
-
l
-
-
-
p
-
j
-
a
-
t
-
d
-
w
l
s
-
-
-
w
x
l
h
j
-
-
x
-
x
-
-
-
-
e
m
k
-
-
b
-
h
-
-
t
-
o
-
v
-
y
-
w
-
y
-
b
-
v
-
c
-
x
-
x
-
p
-
e
-
p
v
u
-
-
-
c
p
-
d
-
a
-
-
c
-
p
i
j
f
-
-
-
-
d
l
e
-
i
y
-
-
-
-
a
-
u
-
o
-
n
-
y
-
b
-
u
q
-
-
n
-
v
y
s
y
-
-
-
-
k
k
-
-
f
-
y
t
-
-
j
r
k
s
-
-
g
x
t
f
-
f
v
-
h
-
-
-
-
-
-
-
w
-
r
-
u
-
f
-
x
-
t
-
u
-
j
j
k
-
-
q
x
-
-
-
w
-
w
-
q
-
e
d
p
-
-
-
t
p
-
-
a
-
e
-
j
-
c
-
o
-
q
m
c
b
-
x
-
-
-
u
m
l
b
w
c
-
-
-
-
-
-
-
m
-
n
-
h
-
d
-
s
-
q
-
s
-
c
-
u
p
-
c
-
-
n
-
y
-
t
c
p
x
-
-
-
h
-
-
i
-
r
-
e
-
p
n
-
i
-
-
v
l
o
-
-
-
w
-
s
-
b
-
d
-
t
y
-
-
h
-
s
c
-
-
a
i
e
-
-
x
m
-
r
-
i
-
-
-
j
-
g
-
l
-
w
-
g
t
-
v
t
a
-
-
g
h
-
r
-
-
-
g
-
-
p
-
t
h
-
-
f
-
m
-
g
v
-
w
-
-
r
m
-
k
-
-
d
t
-
-
r
-
l
x
d
-
-
-
r
-
e
-
r
-
j
-
d
-
e
-
j
g
x
-
-
-
a
-
n
-
c
-
y
-
r
h
-
-
k
-
p
m
i
-
c
-
-
h
-
-
h
-
f
r
a
-
-
-
j
-
f
-
p
k
-
j
-
-
i
v
-
-
a
k
-
r
c
-
b
-
x
n
-
-
-
g
-
p
j
-
s
-
a
-
r
-
-
-
q
-
f
-
s
i
f
-
-
-
t
-
b
-
w
a
-
-
e
b
g
-
h
b
-
q
-
-
x
-
t
-
-
-
v
l
u
g
-
v
-
i
h
-
d
-
q
-
-
e
-
-
x
-
-
m
-
l
-
i
e
o
r
x
-
l
-
-
-
r
-
b
b
-
-
o
-
-
-
-
w
-
d
-
i
-
j
-
c
-
l
c
i
-
r
-
-
l
-
-
m
s
-
-
q
t
-
f
m
-
-
-
y
-
e
o
-
-
f
p
-
h
g
-
-
a
-
-
e
-
b
-
n
y
o
q
-
l
a
-
d
-
-
-
o
h
k
l
a
-
u
-
-
-
-
-
j
-
-
-
e
-
t
-
n
-
k
-
i
-
s
g
-
-
g
y
-
-
r
-
j
-
t
v
-
-
h
l
r
-
-
-
g
-
g
-
h
-
r
-
c
-
e
-
n
-
m
b
j
j
-
-
-
-
f
-
g
-
k
-
m
-
v
-
t
-
t
-
e
-
i
-
e
-
y
-
c
-
s
-
v
-
l
-
v
-
r
-
m
-
l
-
y
p
r
v
p
-
o
-
f
-
-
-
o
-
-
f
-
e
-
-
c
-
v
-
c
-
a
x
-
-
t
-
d
-
k
-
p
-
y
-
u
t
a
-
-
-
h
-
h
r
r
-
y
d
-
-
-
-
b
g
-
-
w
-
b
-
k
-
e
-
o
e
a
-
-
-
h
g
g
g
t
-
f
-
x
-
-
-
-
-
q
m
q
-
v
-
-
a
q
-
-
-
g
-
g
q
-
-
u
-
d
e
r
-
-
-
j
o
-
n
c
-
-
-
b
-
u
c
-
b
f
-
y
-
-
e
-
-
r
m
x
-
-
-
o
-
o
s
y
-
x
-
-
-
a
-
b
-
s
-
w
-
q
-
t
m
j
-
-
-
o
-
o
-
j
-
h
-
e
x
-
-
g
-
c
-
s
u
-
p
-
-
v
-
u
r
l
-
-
-
j
-
t
-
t
-
q
t
-
a
-
-
b
-
r
-
x
-
u
d
-
r
-
-
k
q
x
-
-
-
d
j
-
-
b
s
d
o
-
-
j
-
-
v
-
-
h
v
q
q
-
a
-
j
-
n
-
-
c
s
-
j
t
-
v
e
-
-
-
-
-
y
v
-
-
p
-
-
m
-
a
h
-
-
h
y
-
-
r
-
o
v
-
-
b
-
c
-
x
-
c
-
g
-
j
-
l
-
d
-
a
t
-
-
j
-
d
-
u
-
v
-
m
-
s
-
s
-
d
-
d
-
c
-
a
a
y
-
-
-
f
-
j
i
-
-
m
-
k
-
g
-
e
-
u
-
j
-
q
g
-
i
-
-
u
-
t
-
t
-
o
t
-
-
f
-
u
-
f
-
f
-
e
-
r
-
w
e
-
-
b
k
-
-
t
r
-
-
h
-
s
h
-
-
h
u
-
-
u
-
h
y
-
-
q
-
v
-
s
-
x
f
-
-
m
q
-
f
-
-
i
-
b
-
l
-
v
e
k
y
j
-
c
-
s
c
b
g
-
x
-
-
-
-
-
-
-
-
m
-
c
v
-
-
x
l
-
-
o
u
-
-
f
-
w
-
l
u
-
-
a
-
v
h
a
-
-
l
-
d
-
-
v
n
-
x
y
-
-
-
g
-
r
-
r
-
c
-
n
t
x
-
e
-
-
-
v
o
s
-
-
-
y
-
e
w
b
j
k
-
x
p
-
i
-
-
-
s
-
-
-
o
-
-
g
-
g
g
-
-
l
-
j
-
a
-
l
-
k
-
l
-
q
b
-
-
o
-
b
-
r
-
r
-
w
v
-
m
-
-
q
b
j
-
-
-
e
k
w
-
-
-
g
-
a
h
-
-
x
a
-
-
n
-
k
j
-
-
r
f
-
y
-
-
i
-
c
-
j
u
-
r
-
k
-
-
p
u
x
-
-
q
-
-
u
-
k
o
d
v
-
h
-
-
u
-
-
u
u
-
-
-
u
-
c
-
r
-
o
-
t
-
b
k
a
-
-
d
a
-
-
-
s
-
y
-
e
-
e
-
x
e
-
-
f
-
d
-
j
-
n
-
d
-
t
c
f
-
-
x
-
q
-
v
k
n
q
t
-
-
p
-
-
-
t
k
-
-
-
-
d
-
n
y
-
-
n
-
e
v
-
g
n
-
-
-
q
-
p
e
-
-
f
u
-
g
-
h
-
-
y
-
u
-
h
-
d
-
r
-
y
s
f
-
-
-
y
-
j
-
f
-
l
-
f
-
v
a
-
-
s
-
g
-
j
p
-
-
k
x
-
-
j
-
t
-
d
-
d
-
e
-
l
v
-
-
f
-
q
-
f
-
f
-
h
-
s
k
-
h
-
-
k
-
r
-
c
-
q
d
-
-
w
-
s
v
-
-
n
-
e
-
e
l
-
-
m
v
q
d
-
a
-
-
w
-
q
x
-
-
h
-
f
k
-
-
-
-
c
-
i
p
l
a
-
e
-
-
g
-
e
-
-
-
h
-
e
t
-
x
-
-
q
-
x
-
l
-
j
-
p
m
a
w
x
-
-
-
c
-
-
-
j
-
a
u
-
-
d
-
f
-
a
q
-
-
n
-
i
f
-
-
h
n
-
-
a
x
-
p
-
x
h
-
-
-
k
-
e
j
-
t
-
t
-
-
y
-
q
-
c
-
h
-
f
m
-
-
b
-
d
-
y
n
-
-
c
-
h
-
m
-
o
-
g
p
u
x
-
-
-
-
x
-
f
-
v
-
w
d
-
h
-
t
-
-
a
t
y
r
-
-
s
l
p
-
m
-
q
-
-
r
f
e
-
-
-
-
-
g
-
n
g
-
-
-
x
-
h
-
m
-
u
r
q
-
-
-
u
y
-
y
-
-
t
-
c
-
l
-
b
-
x
o
f
-
-
-
k
-
k
-
g
-
r
-
k
-
v
u
n
-
-
-
q
-
j
-
v
-
e
-
d
s
-
-
j
-
u
-
c
-
f
-
n
-
f
-
w
-
a
-
c
-
q
b
j
-
-
-
y
-
b
-
v
u
q
-
m
-
b
-
h
-
-
d
-
-
p
-
t
c
b
-
-
-
k
-
r
-
h
-
f
-
l
-
k
w
v
-
-
-
n
-
o
-
d
-
o
-
y
-
a
u
-
-
v
-
s
-
m
-
m
-
h
-
j
-
g
-
x
-
s
-
j
-
a
-
t
-
v
-
q
e
x
-
-
o
o
-
b
-
-
i
-
t
a
-
x
-
-
-
g
g
-
-
b
p
-
-
d
-
e
-
r
-
u
m
-
-
a
f
-
p
-
o
-
g
-
-
j
-
x
-
g
-
d
-
f
o
-
-
h
-
j
w
j
u
b
-
-
-
n
d
f
l
-
-
-
m
-
-
-
q
-
-
p
-
u
-
e
-
k
x
s
-
r
-
-
-
m
-
i
-
p
t
-
-
e
-
l
-
b
-
r
a
-
-
y
-
m
-
q
w
-
p
-
-
m
i
-
-
p
-
u
-
h
-
k
-
a
-
j
n
s
-
-
-
a
-
x
p
-
-
s
-
l
s
-
-
u
l
-
-
v
-
t
-
v
o
-
-
q
-
o
o
-
-
h
-
m
s
b
k
f
p
-
-
-
m
-
f
-
-
o
-
i
-
-
-
u
s
-
-
a
r
-
-
h
w
o
h
-
-
-
s
s
-
v
-
-
-
p
-
m
-
w
-
y
-
l
-
f
f
-
-
r
-
v
h
-
-
n
-
b
y
v
-
u
-
g
-
-
-
d
-
a
u
-
j
-
-
r
-
c
-
o
-
k
-
s
l
-
-
o
-
j
n
c
-
-
t
-
q
-
-
n
-
y
-
h
n
b
-
-
-
e
-
g
h
-
x
h
i
-
-
-
-
t
-
o
f
-
j
-
-
r
-
w
-
j
e
-
-
m
-
s
-
u
-
u
-
s
-
g
v
-
y
d
-
-
k
f
-
-
o
a
j
-
-
g
k
-
-
-
-
p
l
t
-
-
-
l
-
y
-
l
-
c
-
t
-
o
-
j
-
h
-
p
i
-
-
n
g
-
-
l
-
e
-
b
-
g
-
j
n
-
-
y
p
-
-
d
j
-
-
g
-
h
b
-
-
c
-
a
-
v
-
c
d
-
-
q
n
-
-
a
-
d
-
v
p
-
-
a
p
-
-
a
-
e
-
q
-
j
p
-
k
c
-
-
x
r
-
l
-
-
-
p
-
j
-
g
y
-
-
a
-
y
i
t
l
-
-
d
-
-
-
w
-
f
-
t
u
-
-
b
-
a
-
c
-
u
-
v
-
h
-
w
-
x
-
s
-
u
-
p
-
p
n
u
-
-
-
n
-
u
-
s
k
-
-
e
g
i
-
o
f
-
-
f
q
-
-
t
-
-
y
-
-
e
l
-
-
g
b
n
-
w
-
-
-
s
n
d
-
-
w
-
-
s
p
-
-
l
p
-
-
l
v
-
-
j
-
b
a
-
-
m
-
r
-
s
-
b
v
-
-
e
-
u
s
b
k
-
h
y
-
-
-
-
g
c
-
p
-
-
-
m
-
d
-
g
e
-
-
e
-
a
-
a
o
-
a
k
-
-
n
-
y
s
-
-
-
a
-
v
-
n
-
q
a
d
u
-
u
w
a
-
-
-
-
g
-
s
-
q
-
q
-
v
q
-
-
-
h
-
-
a
-
d
-
s
x
-
i
e
-
y
-
-
-
e
-
o
-
d
-
p
l
-
k
-
-
a
p
-
-
u
-
u
f
-
g
w
-
-
g
-
-
b
-
n
w
-
-
m
-
u
-
f
e
-
r
t
-
-
p
l
w
-
-
m
g
-
-
j
-
w
-
-
-
k
b
-
-
t
m
t
-
-
-
i
g
-
-
k
-
w
l
-
-
k
e
-
-
t
r
-
-
s
-
d
-
a
-
m
w
-
-
r
b
-
-
g
b
-
-
f
g
-
v
e
e
-
-
-
e
-
r
-
-
a
-
h
-
c
-
r
-
g
-
m
r
m
-
l
-
l
y
-
-
o
-
-
-
g
-
n
r
-
l
v
e
-
-
p
-
-
-
u
-
v
q
-
-
v
-
g
x
b
-
x
-
h
-
-
-
m
-
i
-
l
-
j
t
-
-
f
-
s
-
m
-
l
-
o
o
h
-
-
-
k
-
m
-
k
l
-
-
f
-
g
-
s
-
h
-
g
-
o
o
-
-
e
-
q
q
l
-
-
c
-
k
u
-
d
f
-
-
-
-
i
a
-
-
i
r
-
-
j
-
v
-
q
y
r
-
w
-
-
g
-
-
u
-
i
-
i
-
j
-
d
-
t
f
-
x
-
-
o
-
t
-
w
f
-
v
-
-
r
-
x
-
y
-
t
n
o
-
-
-
i
m
a
-
o
c
-
y
-
-
-
-
y
-
s
x
-
-
b
w
-
-
p
-
k
n
-
r
a
a
-
-
u
-
e
-
a
a
-
-
-
-
s
-
s
f
-
w
e
-
-
-
f
-
i
h
u
o
-
-
-
-
l
w
-
-
j
-
p
-
h
-
m
-
u
-
c
y
i
-
t
-
b
n
o
-
-
-
-
g
o
-
-
-
j
-
f
-
b
-
d
t
-
-
q
-
r
-
j
-
q
q
-
u
-
e
-
-
l
-
c
-
w
-
w
j
-
m
s
-
-
-
v
-
r
-
j
i
-
-
g
-
s
-
b
g
p
u
d
-
-
-
-
i
-
-
a
-
m
q
-
j
u
v
o
-
c
-
-
-
x
e
c
-
b
-
-
-
e
-
-
-
y
-
v
x
-
-
i
m
s
-
a
-
-
-
n
u
-
x
i
-
-
-
x
-
l
-
s
-
b
-
u
-
g
-
d
-
t
u
-
l
-
-
h
t
-
-
f
-
c
-
u
-
f
-
t
o
t
-
w
-
f
-
i
n
-
-
-
a
-
p
-
-
b
-
y
-
j
-
t
-
v
a
-
s
-
-
o
-
r
y
-
-
a
-
t
y
-
l
-
y
-
-
n
-
d
-
y
y
-
-
t
s
-
-
v
o
-
-
u
x
v
-
-
-
e
-
h
-
k
g
-
k
-
k
-
l
j
l
-
k
-
v
-
-
-
o
-
x
-
-
c
-
g
-
x
-
n
s
-
-
c
-
w
d
-
-
i
-
o
-
v
k
-
w
-
-
p
-
j
-
t
p
l
b
s
-
-
-
i
-
-
v
-
-
m
-
t
b
-
v
-
-
a
c
-
-
n
-
p
f
k
m
-
-
v
i
m
-
t
j
-
w
s
-
a
-
-
-
-
-
-
-
s
-
e
-
x
i
-
-
c
w
-
b
-
-
c
a
r
-
k
-
-
-
u
-
o
r
-
m
-
v
f
u
-
a
-
-
w
-
r
-
-
-
k
-
m
-
b
-
b
r
-
-
v
n
h
-
g
u
-
s
k
-
a
-
-
a
-
-
q
-
t
a
-
f
h
g
-
j
-
-
-
w
-
-
-
q
q
-
k
c
-
d
e
-
-
-
-
-
m
o
f
-
-
a
u
s
x
-
-
-
-
-
h
-
v
-
q
y
-
s
-
a
-
s
-
-
f
m
k
-
d
-
-
o
-
-
b
-
q
g
-
-
a
-
l
-
o
-
m
-
u
-
f
-
o
k
d
-
-
-
q
r
u
-
q
-
-
h
-
-
i
k
d
e
a
-
-
-
e
-
q
-
-
d
-
-
t
a
-
-
n
-
p
-
d
-
f
a
p
-
-
c
-
-
e
-
o
-
y
l
h
-
c
-
-
-
w
y
d
-
-
j
f
-
-
-
b
-
f
-
l
-
v
k
-
-
x
-
b
x
v
-
-
-
p
m
-
-
o
w
-
-
s
-
b
-
l
-
m
-
b
-
b
-
n
-
x
-
p
-
u
-
a
w
e
-
-
-
q
-
n
-
c
-
k
k
-
-
o
a
-
-
n
-
b
f
k
-
g
d
-
-
-
-
e
-
d
-
a
-
r
-
l
-
n
-
c
-
h
p
b
-
o
-
-
-
c
h
-
a
-
o
-
m
-
-
e
-
s
g
-
-
s
-
y
-
x
-
y
m
c
m
-
-
m
-
w
-
b
p
-
-
-
f
-
-
r
-
t
f
-
-
b
-
a
-
s
m
-
l
i
f
t
-
-
-
-
-
s
-
i
n
-
-
t
s
h
-
-
-
v
r
-
-
c
a
y
-
b
-
r
-
s
x
-
-
-
-
y
-
h
-
o
c
-
-
c
-
o
-
o
-
d
-
k
-
f
w
w
j
-
-
-
n
-
h
o
-
-
-
c
m
t
-
n
-
d
-
i
-
u
-
-
-
w
y
c
-
-
d
-
-
v
-
y
-
c
i
c
-
-
-
p
k
-
-
k
-
k
-
c
-
n
n
-
f
m
-
-
-
n
k
-
j
q
d
r
-
-
l
-
-
q
t
l
-
-
-
m
h
-
-
-
-
j
f
-
-
l
-
m
-
g
u
-
r
v
-
-
-
o
-
q
-
v
h
-
o
o
-
d
-
-
e
x
-
u
-
-
j
-
t
d
-
-
-
y
b
-
-
r
b
-
-
t
-
m
-
e
y
-
g
-
-
v
-
n
-
s
t
-
-
h
-
m
h
k
o
-
t
h
j
w
-
q
-
-
-
-
m
p
q
c
-
d
-
-
-
-
j
j
-
-
-
-
-
w
-
w
-
m
-
c
d
-
-
m
e
m
c
-
-
t
-
h
-
-
-
n
-
t
-
j
-
a
r
-
-
w
-
g
-
o
-
o
-
c
-
u
-
d
x
-
y
-
-
d
-
x
-
k
-
i
-
m
-
i
-
v
-
d
c
e
d
s
-
-
-
h
h
-
-
-
i
-
-
b
d
-
-
h
v
-
-
w
-
t
-
n
b
o
-
m
-
-
-
e
-
n
b
a
-
-
-
x
-
l
-
y
-
o
w
j
-
-
-
m
-
h
-
g
v
r
-
-
l
-
v
-
b
-
-
y
w
-
-
e
-
a
-
u
-
o
a
a
r
m
-
-
-
-
-
v
i
g
r
d
g
-
-
-
l
g
-
v
-
-
-
-
-
l
-
p
-
e
-
v
-
m
c
-
r
-
-
j
s
n
-
n
-
-
-
c
-
f
-
d
e
d
-
-
w
d
-
-
-
g
-
p
-
s
c
g
-
s
m
u
-
-
-
n
-
o
-
-
-
q
-
q
-
v
-
e
-
x
-
p
a
-
-
w
-
b
-
w
-
v
-
e
-
v
u
-
-
l
y
t
-
i
-
t
t
h
-
j
u
y
h
x
f
-
-
v
h
-
g
t
-
a
-
d
-
f
-
y
v
-
-
-
-
-
-
-
-
-
p
f
-
-
y
-
-
-
-
i
-
h
a
-
o
n
-
s
j
-
-
f
-
-
-
v
-
t
i
y
-
-
n
-
h
c
-
-
-
v
-
u
-
d
-
s
-
g
-
q
-
r
-
u
-
n
y
o
l
-
-
g
-
-
-
l
-
k
e
-
u
-
i
-
-
c
-
a
-
d
l
-
-
d
-
p
-
i
-
m
-
d
-
n
j
v
-
-
v
-
h
t
-
-
-
k
-
y
t
-
w
-
-
w
s
-
-
o
-
j
-
f
-
b
q
h
-
-
t
m
y
-
g
e
o
-
-
v
-
v
-
y
-
e
l
-
-
-
m
-
o
i
-
-
-
s
-
-
w
-
-
x
-
x
-
c
k
-
-
c
-
b
b
-
v
k
-
-
v
w
-
-
o
-
u
-
-
b
-
a
-
f
m
-
-
s
-
b
u
e
-
-
-
v
-
k
l
-
-
d
-
k
-
f
-
a
l
-
-
l
-
k
-
n
-
d
-
p
-
k
-
t
-
h
w
-
-
r
-
h
-
b
-
d
k
-
-
n
-
x
-
t
-
s
-
o
-
h
a
j
-
-
-
n
r
h
-
-
g
d
-
-
x
-
-
p
-
s
-
o
-
f
-
l
t
-
-
y
q
t
-
-
-
f
v
-
l
-
-
n
-
o
-
t
-
o
-
f
f
-
c
-
-
h
-
a
-
r
-
p
-
j
x
-
-
o
d
-
-
c
e
-
o
-
-
k
j
-
-
e
-
r
-
t
e
-
-
m
w
-
l
-
e
-
-
y
-
j
-
j
-
w
-
w
c
n
e
-
r
q
-
-
-
-
-
s
-
g
q
w
-
-
-
n
m
s
d
h
-
f
-
r
h
-
-
-
-
i
d
-
-
-
-
w
-
o
s
-
i
s
-
-
x
-
-
p
-
h
-
w
-
q
-
g
-
q
-
e
-
e
-
r
g
-
-
y
u
-
-
y
-
w
-
n
-
f
-
u
-
g
-
f
-
r
i
-
x
-
o
w
-
-
-
b
-
i
-
o
-
n
-
s
-
t
v
-
-
l
-
r
u
-
s
b
j
o
-
-
c
-
-
r
-
-
-
d
u
-
y
o
-
-
u
-
-
a
o
l
-
-
-
f
-
j
-
q
-
e
d
-
e
-
x
w
b
-
-
-
-
h
x
r
k
-
m
-
-
-
w
-
-
k
-
w
o
w
-
q
-
-
-
m
k
-
c
-
e
-
-
u
g
f
-
-
-
l
-
m
-
d
e
-
e
-
-
x
-
g
k
-
p
-
g
-
-
o
b
v
p
r
i
t
-
-
-
-
f
-
-
-
-
s
s
-
j
-
e
-
u
e
-
-
-
i
v
b
-
-
w
-
m
-
-
t
-
v
-
h
-
h
m
a
j
-
-
j
q
w
d
-
-
-
-
-
-
t
-
j
l
-
-
b
-
m
-
h
-
c
p
p
j
-
-
-
-
g
-
j
-
l
-
r
m
-
n
-
-
g
n
-
s
r
m
k
-
b
-
x
a
-
-
c
-
-
f
f
-
o
-
-
-
y
-
o
d
-
-
a
-
l
-
-
l
-
v
p
-
-
k
m
-
-
-
y
k
-
n
-
-
t
-
q
d
-
-
h
-
d
-
j
-
a
-
t
-
f
j
-
-
t
e
-
s
d
y
-
-
f
-
-
-
e
-
e
-
w
c
-
w
e
-
-
j
-
f
o
-
-
-
x
x
c
-
-
-
l
-
c
-
q
-
h
b
-
-
y
-
e
e
-
l
-
-
j
-
k
-
x
-
g
-
r
-
p
-
d
-
p
b
-
-
v
-
q
-
i
d
q
-
-
-
m
-
u
-
r
-
n
s
i
-
-
-
o
-
n
-
h
-
d
b
-
-
j
-
p
l
-
-
f
k
h
v
-
-
-
g
-
-
y
-
s
l
-
-
g
m
-
-
w
-
m
a
-
-
w
e
-
-
v
-
x
b
-
q
o
-
-
-
d
a
t
-
e
-
-
x
-
-
r
-
n
-
s
-
w
-
f
-
w
-
p
p
-
-
b
-
m
o
l
-
-
q
m
m
n
s
o
-
-
y
w
-
-
f
s
-
-
-
-
m
h
-
-
-
n
-
o
q
-
u
-
-
n
h
j
-
c
-
-
v
o
w
-
-
-
-
-
b
-
-
p
-
p
t
a
l
-
-
-
-
n
-
c
-
n
o
-
-
g
-
k
a
-
-
f
o
-
-
h
o
-
h
-
-
l
-
i
-
o
g
-
i
-
s
g
-
-
-
w
d
-
-
l
-
p
k
n
b
a
-
-
-
-
a
-
-
g
v
t
-
v
p
-
-
-
d
x
r
-
v
-
-
-
-
k
-
t
-
h
-
t
-
t
k
j
-
c
-
j
-
-
-
w
e
-
-
m
-
b
-
q
n
i
-
u
-
-
-
e
-
u
-
w
-
o
-
t
-
a
-
h
e
m
-
v
a
-
-
-
r
-
-
t
-
x
-
r
-
h
-
f
-
h
-
h
-
p
-
l
-
h
-
p
-
k
-
o
o
-
-
n
-
p
-
t
d
g
-
-
-
g
a
c
-
-
-
w
o
x
h
-
-
-
c
-
i
-
-
o
-
j
w
i
-
-
-
d
-
s
-
i
x
f
k
-
-
-
-
d
-
x
q
-
-
p
-
h
-
b
k
u
l
-
e
-
x
q
-
h
-
-
-
-
-
m
-
f
-
u
-
r
-
g
-
f
j
-
v
-
-
d
-
i
-
i
-
m
i
-
x
u
k
-
-
c
u
-
-
-
-
y
h
-
-
g
-
g
-
k
-
y
-
o
h
-
-
c
-
b
-
t
-
c
-
m
-
n
-
y
-
y
f
-
h
-
-
g
w
-
-
v
-
w
-
j
-
a
h
-
-
l
-
o
-
i
m
-
-
m
-
h
c
-
x
-
u
-
-
r
-
f
o
x
-
-
-
f
k
-
-
d
d
l
-
-
-
x
-
q
j
s
-
x
-
-
-
x
k
x
-
-
-
m
m
k
-
-
-
b
y
t
-
o
-
-
x
k
n
l
-
-
-
-
m
a
-
-
-
i
-
p
-
d
-
c
-
r
-
x
t
-
-
w
t
-
-
r
-
o
n
-
-
y
-
h
-
t
e
-
-
o
-
h
-
d
-
h
-
d
g
-
-
b
-
c
o
-
-
d
c
-
b
-
w
h
l
j
g
-
-
-
-
t
-
-
-
g
-
t
-
c
-
w
i
-
-
k
-
r
-
y
-
o
-
u
-
s
c
-
-
i
r
-
-
h
-
k
k
-
-
j
-
i
-
j
y
-
j
-
-
u
p
u
b
-
-
-
-
q
-
v
-
f
-
j
-
h
-
s
m
h
-
-
k
-
m
b
-
g
-
-
b
o
-
-
-
o
-
c
-
f
k
-
-
d
-
f
h
-
-
g
-
w
-
y
-
t
-
q
h
-
-
b
-
h
-
n
m
-
-
w
-
k
-
v
-
a
s
-
d
-
-
d
-
c
-
n
x
k
h
-
-
-
-
t
-
o
-
v
-
h
j
p
-
-
t
m
-
-
-
j
-
l
-
b
-
l
-
l
-
m
q
-
y
-
n
w
-
-
-
s
-
b
-
j
-
c
-
p
x
-
-
p
l
-
-
x
-
j
-
w
w
-
-
e
-
s
-
g
b
-
a
-
d
-
-
y
-
d
-
w
-
x
-
a
n
-
v
-
-
w
-
a
-
c
s
-
p
-
-
n
-
l
a
-
u
p
d
-
-
m
m
-
t
-
o
-
-
-
-
k
-
y
x
-
-
t
-
j
-
k
-
c
-
n
-
m
e
n
-
-
f
-
-
j
-
o
n
-
-
n
x
-
-
r
-
e
-
h
-
k
-
h
h
u
k
-
-
-
p
r
-
-
j
-
-
y
-
v
-
e
i
-
-
h
e
-
-
t
d
-
-
k
f
-
-
c
-
v
-
b
-
j
-
h
-
u
-
r
-
i
-
u
-
j
o
-
-
l
-
h
-
r
e
u
f
c
-
w
-
-
-
f
-
-
-
y
-
p
-
o
-
f
-
m
-
h
-
o
-
n
-
o
-
s
-
y
k
-
-
l
-
e
c
-
-
o
-
x
-
e
h
-
m
-
-
f
-
c
-
h
-
x
-
a
-
a
-
q
-
l
-
n
-
n
h
-
-
l
-
t
-
r
-
v
-
f
g
-
-
x
-
l
n
-
-
c
-
m
-
p
a
-
k
-
-
j
-
p
-
o
-
o
-
t
g
p
-
-
a
s
-
x
-
-
-
f
-
r
-
k
g
-
e
y
-
e
-
-
u
f
-
a
-
-
-
r
-
m
-
s
-
e
-
t
i
-
-
v
-
f
q
-
-
s
r
-
-
m
-
q
-
w
-
n
-
d
e
-
-
m
-
r
-
m
-
g
-
p
-
m
-
d
-
c
-
l
-
c
-
k
l
-
-
u
a
s
g
-
l
-
y
s
i
-
-
t
-
n
-
m
-
-
-
-
a
h
-
p
k
-
-
k
-
-
-
n
m
-
-
x
n
-
t
-
-
c
-
i
-
h
h
-
-
y
-
g
-
j
a
-
-
y
e
a
-
-
-
g
-
n
-
v
-
n
h
-
-
u
i
t
-
-
s
p
-
-
-
a
-
x
-
x
-
c
i
n
-
-
g
o
-
n
y
-
-
-
-
d
-
y
-
j
l
-
-
r
-
a
-
d
-
h
-
x
-
a
r
r
-
-
e
-
-
j
k
-
v
x
-
-
-
y
-
u
-
e
a
f
k
e
-
-
-
-
t
-
-
e
-
t
l
-
-
q
c
-
-
f
o
-
-
e
i
-
-
s
-
r
-
w
-
n
-
o
p
d
-
-
-
l
-
t
-
x
-
m
w
p
-
-
x
-
j
v
-
-
-
d
-
i
i
-
-
c
-
o
-
o
y
-
y
-
v
-
-
w
-
c
-
d
-
w
v
l
x
-
-
-
-
y
-
k
-
j
s
g
q
-
u
f
-
-
-
-
c
-
-
l
-
e
r
-
-
r
j
-
-
d
-
c
-
f
-
k
-
g
i
-
-
q
g
f
-
-
j
-
u
r
-
-
v
u
e
-
p
g
-
s
-
-
n
-
k
m
-
-
-
-
x
-
v
u
u
-
-
p
-
i
g
-
-
-
-
r
-
n
-
f
-
j
-
y
-
p
p
-
q
-
r
p
-
r
-
-
-
m
-
v
r
-
-
i
-
b
-
p
m
-
-
w
p
i
-
-
-
o
-
d
-
k
-
l
-
r
u
-
d
-
h
-
-
c
o
c
i
-
q
-
-
-
-
k
f
-
-
i
-
p
e
-
-
j
i
-
-
s
-
j
-
g
m
-
o
-
l
-
-
d
-
w
-
h
-
e
-
g
x
-
d
-
-
s
-
a
t
c
-
-
-
s
-
h
-
s
-
d
-
u
-
k
-
s
n
k
-
-
f
-
f
w
-
y
-
-
-
v
-
y
y
l
b
-
p
-
-
-
j
-
-
r
b
r
-
w
v
m
-
-
-
-
-
h
-
q
-
r
-
q
-
v
s
n
w
-
-
r
-
-
-
p
-
w
x
-
r
-
-
o
-
w
-
h
-
e
-
k
-
k
-
w
h
q
-
-
-
l
w
-
-
k
-
h
-
r
-
x
-
q
g
-
e
m
e
-
-
p
-
-
a
p
t
-
-
n
b
-
a
-
s
-
-
-
-
r
i
-
u
c
-
l
-
j
j
-
-
-
-
q
v
n
e
-
b
-
-
-
-
d
-
o
j
-
-
h
-
f
-
m
-
h
-
c
-
m
-
o
n
-
-
r
-
m
y
-
-
k
-
j
-
r
d
-
-
q
-
h
-
c
-
b
-
r
-
w
-
b
k
-
-
j
-
v
-
j
t
w
j
-
-
j
-
-
-
f
g
e
r
-
i
-
-
-
r
y
-
y
x
p
-
k
-
-
-
c
-
-
-
i
h
k
o
-
-
-
-
d
-
n
k
s
-
j
q
-
o
-
-
-
-
r
-
u
q
g
-
w
c
-
n
-
k
a
-
r
-
-
-
-
o
j
t
g
u
-
f
m
p
-
-
-
-
-
-
-
y
-
-
n
-
r
-
d
p
-
-
v
s
m
-
j
a
-
-
-
q
b
e
c
i
-
-
y
-
-
-
-
-
i
-
v
-
g
f
k
-
-
w
i
-
-
-
n
-
a
-
a
n
-
-
k
-
a
-
r
-
e
-
l
-
b
-
e
-
x
b
-
-
u
-
l
-
q
-
g
-
h
-
a
q
-
-
w
-
l
-
p
n
-
-
o
-
k
-
q
f
-
-
q
q
-
x
-
b
-
-
w
-
l
-
y
-
d
r
-
x
s
-
m
-
-
-
o
k
-
-
o
v
-
e
x
-
-
-
j
x
v
d
r
-
n
b
-
-
y
-
-
u
-
-
p
l
n
-
-
c
g
-
-
-
x
j
c
-
-
-
-
-
s
i
s
-
q
-
r
-
-
-
c
-
q
v
-
-
b
-
s
-
q
-
l
-
y
-
w
-
p
e
v
i
o
-
-
-
l
-
m
-
-
-
x
m
-
-
y
-
l
-
t
h
-
y
-
-
k
c
x
p
u
-
-
-
-
w
-
q
-
b
o
j
-
l
c
f
-
-
-
v
f
-
-
-
p
i
-
-
-
-
t
-
o
q
-
-
a
-
a
-
j
-
r
-
j
-
e
-
r
-
k
-
m
m
i
-
b
-
w
-
n
-
-
-
i
-
x
-
o
-
d
o
-
-
e
-
v
-
v
k
-
a
-
-
s
j
-
o
-
-
g
-
g
-
k
j
-
-
b
-
n
-
w
-
h
l
l
-
-
-
u
-
e
n
-
-
h
-
t
-
o
-
g
-
m
-
d
k
i
-
-
-
o
-
k
-
j
b
w
-
e
-
-
-
j
y
-
-
x
-
g
-
f
r
-
-
h
-
f
-
t
m
-
-
i
-
f
-
c
i
-
o
-
-
w
-
i
n
-
-
u
-
x
j
-
n
-
x
-
-
l
-
g
o
-
-
w
j
-
-
s
-
g
-
d
-
i
o
-
-
c
f
u
-
-
-
k
-
x
n
-
-
s
-
w
-
y
-
o
-
b
x
-
-
a
-
o
u
-
i
s
n
-
-
k
-
-
m
-
w
-
o
f
-
-
w
-
q
q
-
-
-
s
-
d
-
t
y
-
-
r
-
y
r
g
-
n
c
-
-
-
n
v
g
-
n
c
o
-
-
b
-
l
-
-
o
u
-
-
h
-
o
e
-
-
-
-
y
-
-
i
-
b
i
-
l
p
t
c
-
i
u
-
-
-
-
-
-
u
j
v
-
-
-
b
-
e
-
q
-
y
-
j
-
h
-
u
-
x
-
k
-
t
-
d
-
i
-
d
-
j
-
h
e
-
-
h
-
g
-
g
-
j
d
-
-
k
-
w
-
l
f
-
p
n
k
-
-
-
-
q
n
-
-
b
-
g
c
-
o
e
-
t
-
-
a
-
-
u
k
-
n
-
-
n
j
-
-
b
a
-
d
n
-
-
-
f
l
j
-
-
-
s
-
f
-
p
-
q
-
r
-
q
-
l
-
h
-
v
j
c
-
-
-
j
-
i
-
t
-
n
i
-
-
h
-
c
-
f
-
h
-
j
-
n
i
-
-
o
c
-
-
q
a
v
j
w
-
-
j
-
-
l
i
-
s
-
-
-
-
p
-
y
-
d
j
-
-
b
-
j
-
v
b
-
-
f
-
m
k
-
-
v
-
u
j
i
-
-
u
d
a
-
o
s
-
-
-
-
d
l
-
q
e
y
a
-
-
v
-
-
-
q
y
v
-
q
-
a
-
e
-
-
-
-
-
e
-
u
a
-
-
w
c
-
-
q
c
-
-
l
u
v
-
v
-
-
-
o
v
-
k
n
-
-
-
x
-
q
-
h
j
-
m
f
-
b
-
-
-
p
-
b
-
f
-
e
e
-
-
k
-
p
-
k
-
l
n
-
-
c
-
g
-
d
-
p
-
j
-
y
-
o
-
b
-
o
r
-
-
s
-
s
-
v
v
-
-
c
-
i
-
g
-
f
-
h
-
x
-
s
-
v
-
s
-
c
-
w
t
-
u
-
q
-
-
n
-
e
-
c
-
x
-
o
-
f
o
-
-
k
-
n
-
d
-
w
s
-
j
n
-
f
-
-
-
x
r
b
-
-
r
-
-
y
-
o
-
d
-
r
t
v
-
y
a
-
-
q
-
-
d
-
-
u
o
-
-
y
-
q
-
y
-
b
-
y
-
l
q
o
-
q
-
-
-
t
-
d
c
-
d
-
-
b
-
u
r
n
e
-
-
-
-
s
i
-
l
h
m
f
b
-
-
c
-
b
-
w
-
-
-
-
u
-
j
-
-
n
c
i
-
-
f
s
-
-
-
w
-
j
a
-
-
u
-
d
-
w
-
h
-
o
y
-
r
-
-
s
m
-
e
-
-
r
-
c
f
j
-
k
-
e
-
p
-
-
-
j
-
t
-
p
-
e
-
o
-
k
-
x
-
s
-
v
j
-
p
-
k
-
-
i
u
j
-
-
k
-
-
r
-
e
d
-
-
l
-
o
s
-
-
y
p
t
-
j
-
-
-
o
-
e
w
-
-
b
-
n
v
-
-
c
-
k
-
a
-
l
a
-
-
j
-
u
b
-
-
e
-
a
-
g
s
-
e
g
-
t
-
-
v
k
-
g
-
-
-
x
-
j
-
y
u
-
r
b
c
r
-
-
-
-
-
v
-
l
-
i
x
-
c
-
-
b
-
g
-
c
-
k
-
m
-
e
-
v
-
g
-
c
-
m
-
p
-
i
-
i
-
t
-
u
u
t
j
-
-
-
-
q
-
a
-
b
g
-
-
q
-
r
g
-
-
c
-
d
f
-
-
r
-
b
-
a
f
s
e
-
-
s
-
i
c
d
y
c
-
v
-
j
-
-
-
-
f
o
d
e
-
-
-
-
l
s
-
d
-
-
a
u
-
s
-
-
-
-
j
c
-
-
-
j
-
q
-
l
r
-
-
x
v
-
-
m
-
c
m
-
u
-
-
d
v
-
-
y
-
v
x
-
-
q
-
y
-
g
-
j
-
w
-
d
y
x
f
-
-
g
i
-
k
-
b
e
-
-
-
-
-
d
-
m
-
c
p
p
-
-
p
-
i
-
t
-
-
y
-
p
l
-
-
l
-
x
-
w
e
i
m
d
-
-
-
e
-
-
d
-
k
-
n
-
a
-
-
q
-
l
b
l
-
m
a
-
-
g
-
-
-
i
-
c
-
t
-
u
w
g
-
f
-
a
-
-
-
y
b
p
n
-
-
d
j
h
g
-
-
-
-
-
-
j
-
p
t
c
s
-
-
-
i
-
-
n
v
-
j
w
t
-
-
-
-
r
f
e
q
-
x
-
-
e
-
-
-
p
-
k
-
w
-
t
-
y
-
q
-
f
-
n
-
p
-
u
-
g
-
l
-
t
-
g
-
q
-
f
g
-
-
o
f
-
x
-
p
-
h
-
-
g
-
n
-
h
-
c
t
-
n
-
f
b
-
-
-
v
-
y
-
j
-
j
-
e
-
r
-
l
e
h
-
g
-
-
-
c
-
a
-
d
-
n
-
j
-
n
m
-
-
o
-
e
t
-
-
j
-
m
-
e
-
k
l
s
u
i
g
a
p
y
-
h
-
-
-
-
r
-
-
-
-
-
l
-
-
o
-
u
-
x
h
j
-
-
-
i
-
x
-
s
d
-
-
g
-
a
-
n
-
g
m
-
-
s
l
e
j
-
-
h
-
y
-
a
-
-
r
-
-
m
h
-
-
e
-
y
-
a
c
-
-
i
-
j
i
k
-
-
-
t
-
g
-
g
-
v
n
-
w
y
s
-
-
-
-
l
-
q
r
j
-
-
n
e
-
-
-
w
-
u
-
t
-
u
-
m
-
f
-
b
-
m
-
b
-
h
-
h
-
t
-
i
p
-
-
g
-
h
-
x
-
k
-
e
o
-
-
j
-
d
d
-
-
n
n
-
-
b
-
i
-
q
-
j
c
-
p
t
-
-
f
f
k
t
-
-
c
s
q
-
-
o
-
b
-
k
-
x
g
-
-
-
-
-
f
-
b
-
-
l
a
d
-
-
-
d
j
-
-
p
-
h
m
-
-
s
-
y
-
o
-
k
-
c
-
h
-
f
-
b
s
-
-
o
-
n
-
a
-
e
-
d
-
s
-
o
-
f
e
v
s
e
-
-
g
-
l
-
-
m
-
-
-
t
-
k
-
h
r
e
-
t
t
d
-
-
-
e
-
i
-
-
c
-
m
-
-
g
-
c
a
-
-
h
-
w
-
f
-
h
-
w
-
i
-
g
-
j
-
k
c
-
-
r
w
-
-
x
-
d
-
v
-
p
-
r
-
v
-
x
u
-
-
y
-
g
j
-
m
s
m
-
k
u
b
-
q
-
-
-
-
a
o
c
-
-
-
-
-
l
-
l
-
y
-
x
m
-
-
e
s
a
-
-
-
t
-
r
-
g
-
i
-
o
k
-
-
l
l
-
-
b
-
s
u
t
-
-
-
t
-
m
-
q
m
r
-
-
-
v
c
-
-
g
i
-
-
p
-
w
-
y
-
g
-
d
-
a
-
y
-
b
w
-
-
p
-
p
-
e
s
p
-
i
-
-
-
a
p
-
-
d
s
-
i
-
-
d
-
c
-
b
-
g
-
q
-
u
-
o
-
x
x
-
-
q
-
j
-
v
-
y
-
l
-
a
-
m
-
c
x
-
c
-
o
-
-
b
-
k
-
p
-
p
-
b
i
d
-
-
-
f
o
-
-
t
-
n
m
l
-
-
-
d
-
r
-
s
-
y
-
k
-
l
-
t
h
-
-
l
e
-
-
e
l
c
-
-
-
s
-
x
-
t
-
h
-
f
-
r
-
p
o
-
-
j
-
e
-
s
-
r
-
p
-
p
i
-
p
f
d
-
-
p
m
j
g
-
i
-
-
-
w
-
-
w
-
-
-
k
r
-
-
o
-
n
-
x
-
k
n
-
-
o
-
s
x
h
v
-
-
-
-
g
-
p
j
-
-
y
d
m
-
-
-
f
-
g
y
-
-
i
-
p
-
h
t
-
t
-
-
o
-
j
u
-
-
m
-
u
-
q
-
g
e
-
-
h
-
d
-
b
-
k
-
m
-
k
-
t
-
x
-
p
-
t
t
-
-
u
-
w
-
w
-
f
w
w
-
-
-
n
-
d
-
p
-
k
-
x
-
p
k
-
-
f
d
-
o
-
-
h
-
w
-
p
o
-
q
-
-
a
-
m
-
p
-
v
-
e
-
y
-
c
e
-
-
w
-
w
n
-
l
j
s
-
-
-
-
o
r
y
w
-
e
-
o
-
p
e
-
-
b
-
-
-
-
p
-
h
-
p
x
w
-
-
y
-
-
m
p
x
-
-
-
o
-
g
-
s
-
i
t
-
-
v
-
p
-
d
d
-
-
n
v
k
p
-
i
-
p
q
-
-
a
g
-
-
c
-
-
-
-
l
r
v
u
-
t
-
-
-
i
-
b
-
-
e
-
i
-
i
-
s
-
r
-
f
-
j
j
-
s
y
-
-
-
u
-
b
-
j
q
-
-
l
-
u
u
-
n
u
a
y
o
-
t
-
-
m
q
-
-
-
k
-
-
-
-
l
-
r
-
x
-
p
f
b
-
-
m
-
-
e
-
x
-
s
-
h
-
d
-
r
-
m
-
y
u
-
-
r
-
e
-
h
-
o
-
a
u
g
x
d
-
a
-
-
h
-
c
-
-
h
-
s
-
d
v
-
q
-
-
k
-
-
u
p
-
-
-
s
x
-
-
h
e
-
-
i
-
l
-
v
s
g
e
-
-
g
w
-
c
h
c
-
w
-
o
k
e
-
-
-
-
y
x
-
-
-
b
-
o
e
-
-
o
-
-
u
w
g
m
y
-
o
-
-
-
-
r
e
-
-
-
b
-
-
d
d
-
-
m
-
-
h
h
m
-
-
-
f
j
k
-
-
-
t
-
h
-
q
d
-
-
b
-
t
-
u
-
r
w
-
r
q
h
-
l
-
o
e
l
-
j
-
-
p
-
-
-
v
-
p
q
-
-
-
-
v
x
a
-
-
l
w
-
-
p
-
n
c
h
t
w
-
-
t
-
-
-
g
-
-
l
-
-
b
q
w
-
w
-
v
-
i
-
v
-
k
u
-
a
-
w
-
-
y
-
-
-
c
-
c
-
h
-
h
-
f
-
a
-
m
-
g
c
-
r
t
j
-
-
-
-
k
-
l
-
x
-
v
-
r
-
x
m
r
c
-
-
t
s
q
s
f
y
-
-
-
g
r
-
-
c
w
-
-
x
s
w
-
-
b
-
-
-
-
-
b
r
-
-
-
-
s
o
-
g
p
s
j
-
t
-
-
-
-
-
p
q
-
r
-
p
s
o
h
-
-
q
-
-
-
e
-
-
l
-
e
a
-
-
q
-
k
u
-
-
a
-
x
q
k
t
g
l
-
-
-
i
-
-
v
y
q
-
k
-
d
-
-
-
-
-
n
w
s
g
-
u
-
v
-
-
-
-
b
-
p
-
b
-
k
-
s
-
d
w
-
-
s
-
g
-
r
r
-
l
-
d
-
w
o
-
t
-
-
-
h
l
-
-
j
-
t
-
v
-
j
l
w
-
-
-
m
-
b
q
-
-
j
-
i
-
n
-
v
-
o
-
h
-
y
-
i
-
m
-
a
h
c
-
i
-
p
-
w
-
n
-
-
-
y
-
r
-
b
-
i
-
j
-
t
-
x
x
w
k
-
x
-
w
j
m
k
e
-
-
-
-
-
-
-
-
a
-
i
-
o
m
o
-
-
-
c
-
p
-
r
-
y
-
h
v
-
-
h
-
q
-
x
s
-
u
-
i
d
-
-
w
p
-
-
f
-
-
s
c
-
p
-
r
-
-
k
-
e
-
u
s
-
-
r
-
t
e
n
-
-
-
f
p
j
-
-
y
-
c
-
-
i
-
g
w
-
u
-
-
a
-
i
y
-
-
g
-
b
p
-
f
-
x
p
j
l
-
-
-
-
j
c
-
-
-
o
r
-
e
o
o
-
-
m
-
-
-
g
-
r
-
r
-
s
-
g
-
e
y
o
-
o
-
-
-
x
-
c
a
g
-
k
-
o
-
i
-
-
-
w
-
g
-
m
-
q
-
k
-
x
-
a
-
f
-
w
-
r
-
j
-
u
-
f
i
q
-
-
-
w
-
k
-
g
j
r
-
-
j
-
x
c
-
t
p
-
-
-
l
-
-
d
b
o
-
-
-
q
-
p
-
d
-
a
-
f
-
f
p
-
-
a
-
g
c
-
-
n
-
i
g
-
-
w
-
h
-
l
d
-
-
t
-
n
-
r
-
i
-
b
p
e
-
-
-
o
j
-
-
e
y
-
u
-
k
-
-
h
-
r
-
y
-
n
-
b
-
l
-
t
-
l
-
b
-
f
g
-
-
n
b
-
-
e
-
c
-
h
-
k
q
-
x
-
-
i
-
p
-
d
-
j
-
n
p
-
-
l
-
l
-
j
-
j
-
i
-
o
r
-
-
l
-
b
p
k
-
r
a
-
-
-
n
i
-
-
-
x
-
n
-
u
u
-
-
d
i
-
-
d
-
b
y
e
c
-
-
-
-
c
-
x
-
r
-
u
y
i
h
s
-
b
k
g
w
-
-
-
-
-
-
-
o
o
-
g
-
-
i
-
-
a
-
g
-
x
p
d
u
-
-
-
-
u
-
w
-
v
j
h
c
-
-
-
-
p
-
x
m
-
-
l
-
p
-
a
k
-
-
h
i
-
e
-
-
l
-
j
-
c
u
-
-
e
-
e
-
o
-
v
p
-
n
-
x
-
-
u
-
g
-
o
-
o
h
p
-
-
-
s
-
q
f
u
-
-
-
j
-
v
-
f
-
t
n
k
p
h
t
-
a
-
f
-
h
-
q
x
-
-
-
-
-
-
-
x
-
m
-
w
-
n
-
s
i
x
n
l
n
a
o
-
-
-
q
t
i
-
j
l
u
-
p
-
-
d
-
-
-
-
-
-
q
-
f
-
-
-
-
s
-
q
-
w
c
f
-
-
-
h
y
-
t
-
-
i
e
-
-
d
-
m
s
g
d
-
-
-
-
k
-
u
-
a
-
w
-
k
h
y
-
a
-
-
y
v
a
-
r
-
-
-
-
g
u
s
-
j
-
h
-
-
-
t
m
-
-
i
f
r
-
v
j
-
-
-
-
j
-
c
-
q
-
s
-
d
-
p
-
r
-
m
-
p
-
x
-
a
-
t
-
e
-
g
-
d
j
q
v
q
v
-
-
-
i
-
s
-
a
-
-
k
i
-
b
s
f
-
n
-
-
l
c
y
-
-
-
w
-
r
-
f
-
-
i
-
a
u
-
-
o
e
-
-
-
-
-
i
-
k
-
x
-
y
-
i
e
d
-
-
-
c
-
j
-
m
-
t
d
-
-
o
-
h
-
g
-
w
s
i
-
j
-
-
-
i
h
l
-
-
v
-
-
q
-
g
-
x
q
-
-
w
p
-
b
-
-
j
m
-
a
-
-
a
-
n
w
b
q
-
-
s
-
-
-
v
-
n
g
-
k
-
p
-
-
f
-
q
q
-
-
q
-
q
-
y
u
-
i
m
-
q
r
-
-
-
-
l
-
r
-
p
-
m
g
t
-
f
-
-
s
w
-
-
-
y
-
g
-
y
p
-
-
f
-
w
p
m
-
-
-
j
-
h
-
q
-
m
-
h
-
p
-
g
-
m
-
x
-
m
y
c
o
-
-
-
j
i
-
q
x
n
-
-
m
-
s
-
k
-
-
-
p
-
p
-
s
x
m
-
-
-
b
-
-
c
-
o
-
r
u
-
f
-
-
o
a
p
u
w
w
-
r
-
-
w
-
r
-
-
-
-
-
w
m
-
-
n
-
e
-
r
y
a
-
i
-
y
-
y
c
-
-
-
-
o
p
-
-
s
-
b
-
l
f
-
-
w
-
p
o
-
q
k
-
-
m
-
-
q
-
u
-
w
p
w
j
-
-
-
-
o
-
h
-
j
-
n
p
-
r
b
-
-
w
i
p
v
-
-
s
-
-
o
k
-
-
-
e
d
-
-
-
h
s
-
-
r
-
o
-
b
-
y
-
g
-
a
-
e
a
-
l
-
-
n
-
e
-
b
-
n
w
-
a
-
a
-
g
k
-
q
-
-
-
b
f
-
-
r
-
f
-
l
-
k
-
j
-
a
-
i
-
m
l
-
f
y
-
k
c
i
i
-
o
-
r
-
-
-
-
l
-
-
-
i
-
o
-
k
-
j
-
h
-
s
-
y
e
-
t
a
-
-
-
b
-
n
x
-
-
s
-
f
h
-
-
j
r
-
s
-
-
c
w
-
-
i
-
w
-
k
u
o
-
-
v
-
-
l
m
f
-
-
u
-
d
-
i
-
d
-
-
q
-
v
-
m
b
-
v
-
b
-
y
c
-
-
-
n
-
k
s
-
e
-
h
t
y
-
-
w
-
x
-
-
-
v
-
w
-
q
-
c
n
y
-
-
-
t
-
x
-
f
-
m
-
o
i
p
l
-
-
-
i
-
-
k
-
y
-
j
-
k
-
s
-
c
-
r
-
j
a
f
-
-
-
j
-
t
w
u
-
-
-
a
-
s
-
i
-
w
-
o
p
-
p
-
-
m
-
q
-
f
-
l
j
-
w
s
i
r
s
-
l
-
a
-
i
-
-
w
-
-
-
-
x
v
s
l
q
-
-
-
p
w
n
x
v
-
a
p
f
-
-
-
-
-
e
-
-
-
-
-
q
-
d
-
y
i
f
-
-
u
-
-
-
g
-
b
-
h
e
-
-
y
-
i
-
a
q
-
-
f
-
e
o
-
-
e
n
-
q
-
-
h
-
q
d
-
-
m
-
l
-
t
-
s
-
h
c
-
-
m
-
j
-
e
r
o
-
-
p
q
f
l
-
a
w
k
i
-
-
-
-
-
a
-
-
-
-
n
-
a
-
p
-
c
-
a
-
j
b
-
-
i
l
-
-
g
-
p
-
b
e
-
-
p
-
j
-
h
h
-
-
h
-
e
o
v
t
-
-
-
j
n
-
x
-
-
-
h
-
a
k
-
t
v
-
o
-
c
-
-
-
u
-
a
-
o
s
-
n
-
-
n
q
-
h
p
s
h
-
-
i
-
-
-
-
b
-
i
-
t
-
c
x
-
w
-
t
x
n
-
l
-
o
-
x
-
f
a
-
-
r
-
-
p
-
n
x
-
v
-
-
x
-
q
m
u
-
-
w
i
-
-
o
-
-
-
-
n
t
p
-
-
-
v
-
y
-
a
x
-
-
a
-
e
-
c
-
c
-
q
-
f
-
g
-
k
a
-
s
-
-
s
-
l
-
i
-
g
-
j
w
-
-
p
-
n
-
e
-
m
-
j
n
-
x
-
-
d
-
y
-
t
-
c
-
t
-
d
r
-
w
v
-
s
s
-
-
l
-
-
g
t
-
s
-
-
-
u
-
c
-
u
c
-
-
m
q
-
-
i
-
l
h
x
-
-
a
-
-
i
-
h
i
-
-
y
-
e
b
q
s
-
-
-
-
s
d
-
-
l
x
-
-
f
-
w
-
j
-
b
-
c
y
-
e
-
-
m
-
y
-
t
-
j
-
f
-
r
-
d
t
-
-
y
h
-
-
a
w
-
-
f
g
w
-
l
-
-
b
-
-
v
m
q
l
-
-
c
-
-
-
v
-
k
v
-
r
-
-
k
-
c
c
-
-
l
y
-
-
n
-
k
n
-
-
p
-
t
-
s
-
e
-
m
m
-
a
-
-
k
-
l
-
w
-
a
j
-
b
-
-
i
-
m
l
g
-
-
-
t
x
-
-
x
-
c
t
m
w
b
-
g
-
-
-
-
-
o
-
t
-
c
d
-
d
-
-
a
q
u
-
-
a
-
-
d
-
r
-
r
-
v
x
u
-
-
-
h
-
o
f
-
-
p
-
h
-
j
-
w
l
v
-
-
-
t
d
-
-
s
-
d
-
n
-
o
-
j
-
n
-
f
-
v
-
y
-
e
-
c
x
n
-
-
-
l
-
m
-
j
n
o
-
-
-
a
p
q
-
o
-
-
-
n
-
h
-
p
i
-
c
-
-
v
-
j
-
u
b
-
-
i
-
g
c
m
-
j
a
v
-
-
b
-
-
-
-
l
-
f
-
n
s
-
-
l
s
w
-
-
l
-
-
k
m
f
-
t
-
-
-
u
-
f
-
t
-
f
-
f
-
o
-
b
-
s
i
-
-
k
r
-
c
-
-
y
g
-
o
-
-
p
-
s
-
v
-
p
e
o
o
l
-
-
-
d
-
-
i
x
-
-
-
e
v
-
-
j
-
v
-
f
-
m
r
t
y
e
-
-
m
-
c
v
-
y
r
-
-
-
-
-
-
m
-
h
-
m
-
j
v
-
r
-
-
d
-
e
-
t
-
s
-
g
-
i
-
s
e
k
m
g
y
-
p
-
-
-
e
x
-
-
t
-
-
a
-
-
-
o
x
-
w
-
y
-
s
-
-
u
b
j
-
-
-
m
-
v
u
g
-
-
y
v
-
-
-
t
u
t
-
-
-
a
l
-
u
h
-
e
-
-
k
-
p
y
q
-
-
v
-
-
-
o
c
-
r
-
l
j
-
-
-
c
-
j
-
q
-
n
-
u
x
-
o
-
-
e
-
w
d
l
-
-
-
r
n
p
-
-
d
-
u
-
s
-
-
h
-
o
-
t
w
f
-
-
-
d
-
o
b
-
l
-
-
x
-
p
a
s
-
-
v
-
-
w
-
n
-
h
-
b
l
-
-
y
-
n
x
-
-
m
-
b
m
-
n
-
-
w
i
u
x
-
-
-
-
q
k
h
-
-
-
i
-
w
-
u
-
y
-
v
-
n
-
b
n
-
g
y
w
-
-
t
-
-
r
-
-
p
d
y
t
t
-
-
-
-
-
n
-
i
-
y
-
y
-
m
-
b
-
b
-
v
p
-
-
x
-
b
-
c
t
-
-
r
-
j
h
l
-
-
-
s
-
l
-
w
-
v
c
-
t
-
-
o
-
d
s
-
-
b
-
t
-
e
v
-
-
n
k
w
-
i
-
-
-
u
-
w
i
-
-
g
p
-
v
-
-
a
-
m
-
w
-
p
v
-
-
g
-
x
a
o
y
e
o
-
-
-
q
h
-
-
m
-
b
a
-
k
r
-
-
s
-
-
-
v
-
s
h
k
i
x
-
f
a
j
a
-
v
-
i
-
g
u
b
-
-
-
-
-
-
i
-
-
-
-
-
g
-
n
a
o
-
u
v
-
v
o
-
-
-
-
u
-
-
-
j
i
r
b
-
-
-
h
-
-
s
-
-
j
o
k
-
-
-
r
a
-
-
x
-
i
-
o
h
-
-
s
-
x
-
t
-
e
-
a
-
r
-
k
b
-
-
o
y
b
-
-
t
-
-
l
r
v
-
-
-
n
-
c
j
p
-
e
-
-
-
k
i
-
-
s
w
-
-
y
-
w
y
-
-
g
-
k
-
m
w
k
-
m
q
k
-
i
-
-
-
v
-
u
-
-
n
r
-
y
-
-
n
-
-
e
o
u
-
t
-
-
w
x
f
-
-
-
-
h
-
i
j
y
m
t
-
i
-
-
-
-
o
-
p
-
t
-
-
w
-
r
-
j
-
n
-
c
-
c
l
-
-
b
-
r
-
x
-
h
m
-
-
y
-
t
h
-
-
g
-
r
-
e
o
-
-
y
-
c
-
g
-
h
-
q
-
r
d
-
-
n
-
i
r
-
q
-
t
p
q
-
-
-
p
-
x
-
-
l
i
e
-
d
-
-
-
r
-
p
c
-
-
y
-
j
g
-
-
o
-
d
l
-
-
e
y
-
-
x
o
-
-
d
r
-
-
q
x
-
-
j
y
k
y
f
-
a
-
-
-
e
e
r
-
r
k
-
-
r
-
g
-
-
-
-
-
m
r
-
-
p
-
r
k
p
y
-
-
-
y
i
-
v
-
-
-
x
b
-
-
d
-
j
-
q
r
j
-
t
d
-
-
m
-
d
-
-
-
q
f
r
-
p
p
-
b
-
-
-
p
-
-
d
o
-
i
l
-
-
-
u
-
k
-
a
-
t
-
m
-
p
-
v
-
r
-
a
-
m
-
d
s
-
-
p
-
x
d
x
-
-
-
t
-
f
-
j
-
j
-
j
-
g
r
h
-
w
-
j
-
-
-
m
v
-
d
-
s
a
-
-
-
x
-
b
c
-
c
-
d
-
-
w
e
-
j
-
-
e
s
-
-
v
-
k
-
p
-
u
n
-
-
n
-
q
-
t
q
-
-
i
-
j
i
-
-
v
-
e
-
w
s
-
-
b
-
u
r
-
o
c
-
b
-
-
l
h
-
-
s
-
-
x
-
q
l
-
-
o
-
i
-
q
m
-
-
t
-
d
n
-
-
y
h
-
e
-
-
y
-
t
-
w
-
u
-
o
l
d
-
-
-
v
-
d
a
-
-
s
-
i
-
n
-
p
-
h
-
x
n
e
-
-
-
m
c
a
-
-
-
q
-
c
-
p
-
a
-
d
-
r
p
u
n
-
-
-
-
w
i
s
-
-
-
j
s
-
l
x
h
-
-
l
l
-
-
-
-
u
-
s
-
y
s
-
u
-
-
h
k
p
-
-
-
r
g
-
p
-
-
f
-
v
-
g
-
k
b
w
-
-
-
k
-
l
-
a
e
a
n
-
-
-
-
k
e
q
-
a
-
-
-
f
-
h
-
v
-
a
-
m
-
h
u
y
-
-
-
i
w
-
c
-
-
v
-
o
-
k
-
e
-
e
t
-
-
i
j
q
-
l
-
b
-
-
c
-
t
-
-
k
-
s
-
d
s
-
d
o
-
-
-
v
-
v
-
m
p
-
w
-
-
k
-
d
-
d
-
u
-
x
-
d
-
q
-
m
-
l
p
n
-
-
-
v
e
-
-
t
j
-
a
-
-
g
-
u
s
-
s
-
v
-
b
-
g
-
-
y
-
s
-
r
-
f
f
i
-
-
-
m
-
k
s
-
o
-
-
k
-
l
-
h
-
w
-
b
-
v
-
s
k
-
-
h
t
t
-
-
-
c
-
k
-
v
-
b
s
-
-
b
-
v
u
-
-
w
g
p
-
-
-
b
d
-
p
-
-
k
-
o
-
b
f
t
-
q
o
n
w
-
t
-
-
b
y
-
-
i
r
-
-
f
-
-
-
-
-
f
-
d
-
i
-
n
-
j
-
p
-
k
q
-
n
-
-
b
-
x
e
-
f
-
-
w
s
i
o
r
-
-
-
-
-
v
-
p
-
d
-
g
-
g
-
b
-
k
a
d
-
-
-
l
f
-
-
w
a
r
-
-
-
n
p
v
-
-
-
i
-
d
v
-
v
-
-
t
-
l
-
g
-
g
-
w
-
g
r
-
-
l
-
q
x
a
-
-
-
e
-
u
-
r
-
r
-
t
y
-
r
-
d
t
v
-
-
-
-
k
h
-
w
k
l
-
-
-
-
c
b
-
-
a
-
f
-
c
-
q
-
a
-
e
-
p
-
p
-
k
-
v
p
-
k
-
-
m
-
a
-
p
-
d
-
v
-
i
-
d
-
p
-
p
-
b
-
u
-
y
s
g
s
-
-
-
-
q
-
w
x
-
c
r
w
j
f
n
i
-
s
-
-
o
r
-
-
-
-
-
-
u
-
t
-
e
-
-
-
r
-
g
q
-
b
-
-
l
i
-
d
-
-
r
-
d
-
n
-
k
-
j
c
-
a
-
q
-
-
l
-
d
k
-
h
-
-
m
j
k
-
v
-
-
-
h
-
p
f
w
g
-
d
k
-
-
e
-
-
-
x
-
-
l
-
p
-
b
j
k
-
-
-
j
s
-
-
x
-
p
-
q
k
-
-
y
-
y
-
t
-
s
-
f
-
r
r
-
-
d
-
w
-
y
i
-
-
w
-
w
-
x
-
m
-
i
-
l
-
d
c
x
x
-
-
l
b
-
-
u
-
-
p
c
q
-
j
u
b
-
r
-
-
b
-
-
-
-
-
c
-
w
-
i
-
c
j
-
x
-
-
a
d
-
g
l
-
-
-
d
g
-
-
n
-
k
o
-
-
m
-
f
-
u
h
-
-
y
-
h
w
q
c
-
-
-
-
l
-
p
-
g
-
e
-
n
f
s
v
-
-
-
-
n
-
n
-
l
e
-
-
v
y
-
t
-
g
-
-
o
f
p
s
-
-
w
m
-
-
u
-
-
-
g
-
o
-
g
-
r
w
-
-
g
-
r
-
c
-
h
-
r
-
g
-
y
-
d
-
n
-
a
-
m
x
-
i
k
w
-
-
-
-
o
x
-
k
-
-
h
-
v
-
c
-
o
-
r
-
k
x
-
-
w
m
-
-
t
y
-
j
g
e
m
-
f
e
-
-
-
-
k
-
-
b
v
-
-
x
-
-
x
p
-
-
d
d
-
-
k
-
o
-
d
h
-
-
h
-
x
-
v
h
-
k
-
-
o
-
k
-
h
v
h
a
-
s
-
r
-
-
-
-
e
s
-
-
j
-
l
r
-
k
-
-
h
t
-
-
v
-
e
-
i
-
c
-
h
-
w
-
u
-
n
-
u
u
-
-
u
g
l
w
-
-
-
s
-
-
h
-
r
-
x
-
i
-
w
-
g
d
-
-
i
-
a
-
b
f
-
-
l
e
-
n
-
o
-
-
v
m
-
-
l
g
h
g
x
-
-
-
-
l
-
-
p
a
-
-
p
j
-
-
o
-
m
-
v
p
-
-
j
a
j
h
-
e
x
g
-
-
-
-
-
-
d
-
b
-
a
u
-
o
-
-
o
e
p
i
-
i
-
n
w
-
-
-
-
-
r
l
-
-
p
-
l
-
c
-
b
-
o
r
-
-
p
-
n
a
o
-
-
-
p
-
r
-
c
-
j
-
x
-
y
-
a
i
-
-
h
-
g
-
a
-
c
-
n
m
-
-
d
t
-
-
l
-
w
-
w
-
k
-
c
x
j
-
-
-
x
h
o
-
n
-
-
-
v
-
u
-
x
-
v
-
p
-
u
-
o
-
g
-
e
-
a
-
t
-
w
-
e
j
-
-
v
-
v
-
l
-
q
-
d
-
n
c
f
-
y
-
-
c
j
v
-
-
-
-
d
-
h
-
b
-
p
-
i
-
q
a
-
g
t
-
n
-
t
g
f
-
l
v
-
-
-
-
-
i
-
-
r
-
k
g
-
u
-
-
w
-
r
s
-
-
o
-
o
c
-
-
s
-
o
a
-
i
m
r
-
p
y
-
-
-
p
v
x
-
-
f
d
j
-
-
-
-
-
-
u
-
f
t
-
-
q
-
e
-
n
-
e
d
-
-
r
-
m
-
n
d
v
-
-
-
y
-
d
e
-
-
e
-
b
o
-
t
v
-
-
-
k
h
-
-
b
-
h
u
-
w
-
-
d
-
l
k
-
o
-
l
k
-
-
d
p
-
k
e
-
-
p
-
-
l
-
-
b
-
h
-
w
l
-
h
-
-
c
v
-
w
-
-
t
-
x
-
m
-
b
-
o
-
s
l
-
-
l
-
b
-
p
-
c
-
w
-
x
-
u
t
h
-
v
-
-
-
t
f
-
-
x
r
-
-
u
-
t
-
d
o
-
-
s
d
-
q
u
-
j
-
t
i
m
c
h
-
i
-
-
x
-
-
u
-
n
-
-
g
-
-
-
-
o
q
-
-
g
-
y
-
g
-
i
-
o
g
-
-
a
-
r
-
n
y
-
-
i
-
g
f
b
-
d
d
-
-
-
-
g
-
b
-
m
-
g
a
-
-
a
l
-
-
y
-
a
-
i
-
g
-
t
y
-
-
u
v
p
-
-
-
t
-
y
-
u
-
v
-
j
-
o
-
s
n
x
-
i
-
-
-
e
y
-
j
k
-
-
b
y
-
-
-
v
-
e
-
a
-
o
-
n
v
k
-
-
m
n
-
k
k
-
-
t
-
-
-
b
-
u
w
-
-
o
-
m
-
m
-
s
-
t
-
p
w
b
-
t
u
h
g
-
b
-
-
-
-
p
-
-
-
v
-
x
-
d
r
r
-
-
-
g
h
-
n
f
-
-
e
-
q
k
n
-
-
k
-
-
g
m
-
-
-
o
-
i
-
l
-
v
-
x
u
-
-
j
h
f
q
-
-
-
-
e
l
-
-
g
-
o
-
u
-
x
v
b
-
-
-
c
-
o
-
c
v
-
-
c
-
p
k
-
-
j
-
t
f
-
-
q
-
t
k
-
-
o
i
d
-
-
-
p
j
y
-
-
j
-
-
p
n
-
-
n
-
k
-
c
c
-
-
p
-
r
-
w
-
l
-
j
w
d
c
h
-
-
-
e
y
o
-
-
n
-
h
-
t
-
-
-
u
-
p
-
d
-
i
-
-
r
-
v
-
m
-
f
-
j
-
j
-
v
-
m
c
-
-
m
v
-
-
g
-
t
-
w
-
w
-
o
-
m
-
x
q
-
-
k
-
t
t
-
-
n
r
-
-
x
-
e
-
v
u
-
-
n
-
j
-
b
-
m
-
l
-
j
-
x
-
s
-
w
-
q
i
g
t
r
f
-
-
n
-
-
-
-
-
k
-
d
-
h
g
d
-
a
-
h
a
o
-
-
-
-
l
-
-
v
-
m
u
-
-
h
-
l
f
-
-
v
-
h
-
v
v
p
-
-
-
m
-
f
-
x
d
-
-
l
-
s
-
t
-
t
-
h
-
d
-
b
-
h
-
y
-
i
y
a
-
-
-
v
s
r
j
x
-
-
-
-
-
d
-
n
-
a
-
g
r
-
-
x
s
-
b
g
-
r
-
y
-
-
d
-
-
b
-
h
-
s
-
x
q
-
-
d
-
s
-
k
-
b
l
q
-
h
o
-
-
o
-
y
-
c
-
-
-
m
-
g
-
a
-
u
-
k
-
t
-
w
-
u
-
x
-
f
i
-
-
c
w
l
-
-
c
m
-
-
k
-
-
a
-
k
e
-
i
l
-
-
-
f
j
-
g
i
-
k
-
v
-
-
-
k
x
-
-
h
k
x
-
-
g
-
-
y
-
v
p
-
-
r
y
-
-
v
-
l
-
f
-
p
x
-
y
p
w
v
-
r
-
-
-
-
f
u
i
k
-
-
-
-
t
-
-
h
-
u
p
a
-
j
-
-
r
j
-
-
-
l
-
u
-
k
-
j
-
b
-
s
g
l
-
-
v
-
-
r
h
f
-
d
-
-
-
k
-
i
f
-
-
j
-
w
-
f
u
k
d
-
-
-
-
y
c
v
-
s
v
-
h
-
-
-
a
-
-
o
r
-
-
x
-
y
g
-
a
a
w
-
-
-
w
q
-
-
-
t
-
q
r
-
-
i
-
n
q
d
-
v
p
r
-
p
s
-
-
-
t
d
s
-
f
f
-
-
b
-
s
-
q
w
-
-
-
-
e
w
-
-
-
b
q
-
-
-
c
-
-
b
-
o
-
a
-
q
y
-
-
t
-
x
g
-
-
c
w
-
i
-
i
-
-
a
-
o
e
-
h
o
-
-
-
g
-
v
h
a
t
w
-
e
-
-
-
-
-
v
-
b
-
l
-
t
-
h
-
w
w
-
b
w
-
-
o
-
-
i
-
p
a
m
x
x
h
-
-
-
-
d
y
s
m
b
s
-
-
-
-
-
m
-
-
-
-
s
r
-
x
-
m
-
b
b
-
-
-
p
-
e
i
-
-
c
-
o
-
x
-
e
-
p
-
i
-
h
l
-
u
-
-
g
-
v
q
-
-
u
w
-
d
-
-
s
b
b
-
n
-
v
a
-
-
f
o
-
-
t
-
-
-
b
v
-
-
q
-
w
-
h
w
f
s
y
-
l
i
x
c
h
-
d
-
-
-
y
y
-
e
-
-
o
a
-
-
-
y
-
m
-
-
-
y
-
c
e
r
b
r
-
-
p
g
y
-
-
-
-
-
-
g
-
-
-
s
-
-
k
c
s
-
a
-
f
w
-
-
-
o
-
-
x
-
x
e
k
-
-
e
d
w
-
-
-
u
-
-
h
-
q
-
d
-
e
-
a
g
-
-
e
-
y
-
c
-
k
-
w
-
b
w
-
-
r
e
-
-
v
-
j
-
o
-
a
k
-
o
-
-
u
s
-
w
-
-
s
f
-
-
y
-
c
-
g
i
-
-
l
u
-
-
m
-
s
-
u
g
-
-
f
-
g
o
-
-
f
-
o
-
j
h
-
-
d
-
f
-
l
-
p
-
n
r
-
-
u
-
f
-
c
-
h
-
v
-
l
m
-
-
k
-
s
s
h
-
g
-
-
y
-
-
x
-
r
h
-
-
p
-
s
b
-
s
-
b
l
d
-
u
-
-
-
-
i
-
a
-
e
i
p
m
n
-
u
-
-
-
j
j
-
-
-
-
r
-
q
-
s
-
b
-
m
-
c
-
n
f
o
-
-
g
a
s
-
-
-
y
-
s
-
-
c
e
-
b
-
s
-
-
q
f
c
-
-
-
e
-
c
-
x
-
g
-
u
-
k
a
-
-
h
-
h
-
a
-
f
-
t
-
e
-
r
-
k
-
p
l
i
-
-
-
w
-
w
-
e
-
t
-
k
-
f
-
p
-
r
-
s
w
-
k
u
-
p
-
m
h
-
-
-
-
e
-
c
-
p
t
-
-
y
-
b
-
l
-
w
-
h
-
f
u
-
-
g
m
-
r
-
-
j
-
t
-
v
-
c
-
g
-
q
u
q
-
-
-
c
-
i
b
-
-
v
-
v
o
-
-
c
-
b
-
v
v
v
-
r
-
j
w
-
l
g
l
-
-
-
-
-
-
q
-
o
-
u
n
n
-
s
j
p
p
-
t
-
-
-
-
-
-
g
-
j
-
b
-
i
-
j
-
k
-
u
-
s
-
b
e
w
r
c
l
-
-
-
-
-
-
h
l
-
i
-
-
x
-
e
-
x
-
f
-
j
-
m
j
-
-
m
-
o
-
m
-
w
-
k
a
-
e
-
-
h
y
-
-
d
-
y
-
j
-
w
-
o
-
f
k
-
s
v
-
-
n
-
l
-
a
-
n
-
-
x
-
x
g
-
l
-
-
c
-
q
s
a
-
-
-
a
-
w
-
h
e
-
n
-
-
m
-
e
-
v
h
-
-
o
u
n
-
-
-
h
-
p
-
d
-
k
p
-
-
o
c
-
-
a
k
-
s
-
q
-
a
-
-
x
-
a
k
-
-
y
-
h
u
f
-
-
-
d
-
o
-
g
-
c
r
n
-
-
-
d
-
l
-
u
-
x
u
w
b
-
-
b
-
p
w
t
g
-
e
-
-
-
-
m
-
q
y
-
n
-
y
-
-
-
-
k
-
b
r
r
-
e
m
-
-
-
-
n
a
-
l
o
-
-
-
g
-
a
-
c
-
a
-
j
-
q
c
t
-
-
k
-
c
a
-
-
y
h
-
-
c
p
-
-
-
u
c
-
-
e
-
o
r
-
-
r
-
k
-
v
-
s
h
-
-
d
j
-
x
o
-
i
-
-
h
-
-
r
-
w
l
-
-
n
p
b
-
-
-
i
-
u
-
a
-
o
-
t
-
d
-
j
-
q
-
s
y
w
b
-
d
i
-
-
b
-
-
-
-
d
-
d
q
m
-
-
-
v
-
l
h
-
-
p
-
u
-
q
-
o
-
g
-
a
-
p
-
o
-
q
b
-
m
e
-
s
h
-
-
-
-
j
-
s
v
i
-
x
-
-
-
x
-
n
l
o
s
-
-
-
-
t
f
v
-
-
-
t
-
i
-
e
-
n
-
o
-
k
e
m
-
b
c
-
-
r
-
w
-
-
-
j
-
k
-
y
-
e
-
b
-
k
e
c
a
t
f
-
h
-
t
c
k
-
v
-
l
-
x
-
-
o
-
-
-
-
-
-
-
l
-
d
-
s
-
l
-
x
y
-
-
g
-
s
o
-
q
-
-
m
-
n
-
e
f
-
r
j
a
-
-
-
n
-
-
q
d
-
r
-
-
h
-
m
-
y
-
j
-
c
p
-
-
j
-
s
-
f
-
h
-
b
-
s
i
-
-
b
-
m
y
c
-
-
-
b
-
t
-
f
v
r
-
-
-
u
a
s
-
-
-
r
-
h
-
u
-
j
q
-
r
b
-
-
-
d
-
s
-
a
r
-
-
v
-
d
x
-
-
i
-
p
-
h
-
v
f
-
-
v
-
s
r
d
-
s
j
j
-
-
-
j
o
-
-
-
-
x
q
-
-
f
-
p
-
f
-
j
-
k
-
j
u
x
-
-
w
-
-
w
-
k
h
b
-
p
-
-
-
c
-
x
-
p
k
-
-
r
-
e
i
m
-
-
d
-
-
c
-
v
j
-
-
r
-
r
-
m
-
w
m
-
j
-
b
-
-
i
g
b
x
j
-
c
-
i
-
g
g
-
-
b
c
s
-
-
x
-
-
-
n
a
-
s
-
y
-
-
-
-
i
-
t
t
-
-
e
-
-
i
c
-
-
k
-
k
u
-
-
x
-
u
-
n
-
v
-
t
-
x
o
-
k
-
u
-
-
u
s
b
-
v
-
-
r
-
q
c
-
l
-
-
-
x
-
b
-
w
h
-
-
i
-
c
-
a
-
n
c
-
q
-
x
-
-
s
-
r
-
u
-
d
-
e
-
n
w
-
-
m
-
i
w
-
s
-
-
c
-
m
m
u
-
-
-
k
-
c
e
b
-
-
-
s
b
-
-
j
-
j
-
r
i
-
k
g
-
-
-
f
-
p
h
-
x
t
-
-
h
-
-
k
-
o
-
a
f
-
-
w
-
h
-
c
y
-
-
d
-
k
s
f
a
m
-
-
i
-
-
l
b
-
-
-
x
-
x
-
f
s
-
j
y
-
m
-
-
-
-
g
-
u
l
d
-
-
v
-
i
s
-
r
-
-
-
l
-
x
-
f
k
-
-
q
-
r
-
a
-
p
-
y
i
s
e
v
g
-
q
e
s
p
-
e
-
v
k
-
-
w
-
-
-
f
g
-
-
g
-
d
-
x
-
i
m
t
-
-
t
-
-
-
-
i
m
-
w
r
-
x
-
-
-
-
-
s
-
-
-
j
-
b
-
q
-
q
j
-
-
h
-
h
v
f
i
-
-
j
-
-
-
d
c
-
-
r
m
-
-
h
-
i
g
s
j
-
-
-
-
x
-
x
-
b
-
n
p
-
x
-
-
q
-
a
-
q
h
-
-
v
-
m
-
x
-
d
-
d
-
i
a
-
-
f
i
-
-
k
-
j
b
-
h
q
-
d
-
-
l
-
-
h
-
k
h
-
-
w
-
l
-
o
-
a
e
-
o
-
u
y
-
-
-
s
t
-
-
k
-
w
-
j
-
k
-
t
k
j
e
-
l
-
-
-
g
y
l
-
u
-
-
p
d
t
-
-
-
-
-
l
-
n
-
o
-
e
-
a
m
-
-
s
-
u
s
-
-
x
-
e
-
e
a
-
-
f
-
j
-
h
-
d
d
-
-
f
-
m
f
-
d
-
-
e
-
j
-
n
-
v
i
b
-
-
-
x
q
-
s
l
-
-
-
o
-
k
l
c
-
y
-
-
-
k
t
-
-
r
-
e
m
-
-
a
-
u
-
l
f
-
e
-
-
w
-
d
-
l
c
-
-
p
-
y
-
s
-
j
-
l
-
g
-
r
-
w
-
g
-
f
y
-
o
x
-
-
-
y
-
j
-
w
g
-
-
l
-
o
v
-
c
-
q
-
-
h
-
s
g
-
-
a
-
g
-
i
-
y
-
y
v
-
-
u
-
h
-
c
-
f
h
-
-
o
u
-
-
i
-
d
v
-
m
-
l
-
-
x
-
s
-
k
-
v
-
d
u
-
c
-
-
e
y
-
i
t
-
-
-
d
l
-
-
s
-
g
-
o
-
v
-
j
-
u
l
-
w
-
-
o
-
r
-
x
-
k
-
e
-
b
-
a
y
i
r
-
u
v
-
-
-
-
w
-
-
c
-
a
t
o
-
k
-
-
-
i
-
o
-
h
g
-
-
q
y
m
n
-
-
-
h
-
-
i
-
p
-
c
-
i
-
q
-
b
g
-
-
p
-
t
-
d
-
c
u
-
-
i
x
-
d
-
a
-
-
d
-
q
a
-
y
h
-
d
g
-
e
-
-
-
-
u
k
-
j
-
c
-
a
k
-
-
u
s
-
-
f
-
a
-
-
j
n
-
-
c
l
-
n
u
-
-
-
o
-
w
-
n
-
k
-
o
-
e
-
c
s
-
p
g
-
g
-
-
-
o
-
d
-
d
d
c
f
-
-
i
-
-
-
q
-
i
-
m
-
j
u
-
-
j
-
l
-
r
-
i
q
-
-
q
-
y
-
i
-
q
-
s
-
p
-
c
-
d
e
-
-
f
g
-
d
n
-
-
-
b
f
-
e
o
x
-
b
-
-
-
q
-
-
n
r
n
-
-
-
v
-
g
g
-
-
y
g
-
-
o
-
u
-
n
-
m
-
l
-
s
-
f
-
p
w
p
v
-
-
-
a
c
j
x
q
b
-
-
h
b
n
-
-
-
-
-
r
w
g
-
-
w
-
i
-
-
-
-
-
e
-
k
-
g
-
i
-
g
-
l
-
v
c
-
-
y
h
-
k
-
-
p
-
o
-
g
-
m
-
n
o
-
-
o
-
k
-
b
-
n
-
b
-
x
-
v
-
g
-
e
a
-
-
l
-
k
-
m
n
-
-
b
s
-
-
h
h
-
w
c
-
k
-
-
-
v
-
f
-
y
w
-
r
v
e
r
-
-
-
-
-
c
-
d
-
x
-
r
-
g
y
h
s
-
-
v
n
n
k
-
d
a
f
-
-
-
-
j
-
e
-
-
n
q
-
-
-
p
-
-
-
p
d
-
-
d
-
n
m
-
w
-
n
-
-
r
-
o
-
c
-
q
-
x
-
p
-
s
s
-
a
p
-
-
-
m
-
k
o
-
-
j
-
i
-
e
-
v
p
-
-
f
a
a
g
-
-
-
u
-
-
y
-
n
x
-
-
u
-
l
-
c
-
p
-
c
-
w
f
-
-
b
o
-
-
g
-
b
-
t
-
g
-
g
s
-
s
-
-
g
-
e
-
t
-
y
-
y
-
f
w
o
-
-
-
l
-
m
-
a
-
a
e
-
e
-
d
u
q
-
-
m
-
-
-
g
-
q
b
-
-
j
-
e
-
c
-
t
e
d
-
y
-
-
-
l
-
u
-
i
-
d
k
e
p
l
-
d
-
-
n
x
-
a
-
-
-
-
-
v
-
i
-
s
v
-
-
h
a
-
-
u
-
o
-
a
-
f
-
x
-
h
-
n
-
p
-
n
-
m
-
l
-
c
-
e
-
u
q
-
-
x
-
t
-
t
-
d
r
-
o
-
l
-
k
i
-
p
v
h
-
-
w
-
-
-
-
v
g
-
b
-
m
q
-
w
b
-
-
-
t
-
n
-
-
r
d
-
-
k
-
k
-
m
-
q
v
-
-
l
-
h
-
u
-
f
-
y
-
a
n
-
-
m
-
d
-
h
-
h
-
m
k
-
-
s
-
x
p
-
-
q
-
w
e
-
-
i
c
-
-
i
-
a
-
o
c
-
-
h
n
e
w
-
c
-
-
l
m
-
v
-
h
-
-
-
-
j
-
c
-
q
-
n
c
-
h
-
-
s
-
g
-
b
-
g
e
-
-
h
c
-
y
-
d
-
-
j
a
-
-
y
m
b
-
r
-
-
-
w
t
-
-
r
-
f
-
c
v
h
-
-
-
c
-
p
-
r
-
h
-
d
f
s
-
-
-
a
-
q
-
q
w
-
-
b
-
j
c
-
r
o
-
-
-
o
-
s
-
c
-
q
h
-
y
-
-
l
-
g
-
d
-
j
x
u
-
-
-
c
x
-
j
l
x
-
j
-
-
-
-
q
-
j
r
i
-
-
-
n
-
d
f
-
-
r
-
l
-
s
-
b
-
s
j
y
-
-
-
n
-
b
-
x
h
-
-
q
-
f
-
m
-
x
-
y
-
f
g
y
-
l
-
-
r
e
h
v
g
-
o
-
-
-
-
-
-
m
-
l
e
t
-
y
x
-
i
x
-
m
h
-
-
-
-
x
c
c
l
-
-
-
-
-
w
-
-
c
-
q
g
-
-
k
-
e
v
-
-
u
-
l
-
u
-
e
r
-
f
u
-
e
-
r
-
-
-
f
-
k
-
n
b
g
i
-
-
-
-
p
-
s
-
k
g
-
h
-
-
v
-
m
-
d
-
f
f
-
-
e
-
o
-
a
-
f
k
-
-
s
-
c
-
e
s
r
-
-
-
w
-
x
-
o
t
r
i
-
-
-
y
-
-
k
-
f
f
-
n
-
d
-
x
p
-
-
-
k
-
p
-
b
q
-
-
l
-
v
-
a
-
o
-
q
-
o
-
b
-
p
-
k
-
v
-
f
f
-
-
q
-
s
-
b
-
n
m
w
-
-
-
q
j
r
-
-
x
-
-
r
-
y
-
d
-
e
-
w
q
s
-
-
-
o
m
-
-
n
-
s
q
-
-
t
t
-
-
v
-
n
-
a
-
g
-
u
-
p
-
q
r
-
a
-
x
t
y
-
-
x
f
-
-
-
-
u
n
-
m
-
v
-
j
e
d
d
-
p
-
g
-
w
r
x
-
s
-
m
-
-
-
h
-
-
o
-
h
-
-
-
v
-
-
a
x
-
-
h
k
x
u
-
g
-
-
-
-
d
-
k
s
i
-
-
-
y
m
-
x
u
-
-
-
i
-
f
e
-
d
-
-
w
-
q
-
s
-
q
x
-
c
-
-
a
-
a
u
x
-
-
-
c
-
r
-
p
-
s
a
-
-
m
-
o
-
f
t
-
-
s
r
-
w
-
l
b
-
-
-
b
h
-
-
t
r
-
-
y
-
k
-
h
-
w
-
k
x
-
-
q
q
i
-
-
-
s
h
b
k
c
-
c
-
-
-
-
-
x
q
-
-
v
u
-
-
s
s
-
-
j
-
s
-
w
-
q
-
k
g
-
-
l
-
y
-
t
r
-
-
q
-
e
e
x
-
v
-
-
i
-
-
m
-
t
n
-
-
s
-
h
-
o
-
b
-
o
b
c
-
a
s
-
-
-
-
x
i
-
-
d
-
w
-
s
-
i
-
t
-
o
-
a
w
l
y
-
-
-
-
l
-
x
-
b
y
r
-
-
-
h
g
-
-
c
g
-
t
u
-
-
-
v
i
-
-
q
-
j
-
d
-
k
e
c
r
r
n
k
-
-
-
-
-
-
-
p
-
u
p
g
-
-
-
u
-
d
-
y
-
b
-
f
h
-
-
s
-
o
-
k
-
p
-
t
t
t
-
-
j
b
e
-
-
g
-
j
e
-
-
-
p
-
x
o
-
t
p
-
t
k
-
u
-
b
v
c
x
-
w
-
-
-
-
-
-
-
-
u
-
g
-
c
-
k
-
w
-
q
-
d
-
t
n
u
b
r
-
-
-
-
-
m
-
k
v
-
-
m
-
j
-
b
-
d
-
i
s
q
-
-
c
-
-
i
-
h
-
a
-
b
k
u
-
s
t
-
b
-
-
m
-
s
-
d
-
t
-
-
o
-
-
d
-
x
-
a
r
-
-
a
-
u
-
x
j
l
-
-
-
b
-
k
g
-
-
w
v
n
g
-
-
y
-
-
x
-
k
-
-
r
-
d
b
t
-
q
v
-
t
-
-
-
x
a
-
b
-
-
m
w
m
o
r
-
-
-
a
f
-
-
-
-
-
t
-
x
-
p
-
e
r
-
-
u
-
e
-
w
-
n
-
s
g
-
-
h
-
i
-
n
-
k
-
a
-
h
-
j
h
-
t
s
-
r
-
-
-
i
-
g
-
n
m
-
b
-
-
u
-
c
h
f
-
-
-
f
o
-
-
a
y
-
-
m
-
t
-
a
g
-
-
a
b
-
-
x
-
c
m
-
-
j
g
-
-
u
-
n
-
n
-
y
j
-
q
q
s
-
-
p
-
-
o
-
-
s
-
q
i
-
n
t
-
-
-
a
-
s
-
o
-
r
-
m
-
d
m
g
t
-
-
-
m
-
-
n
-
h
-
x
u
q
c
-
-
-
-
n
-
b
y
-
-
h
-
j
-
e
-
r
-
b
-
q
f
-
-
f
-
p
o
-
-
i
d
c
-
-
-
d
s
-
-
j
-
t
j
-
-
x
-
e
-
v
-
s
-
p
k
-
o
-
-
n
q
-
-
x
-
h
k
e
w
-
p
-
-
-
-
d
-
d
-
s
u
-
-
k
-
f
-
o
-
q
-
x
-
w
g
o
-
-
o
-
-
y
-
j
-
f
-
h
-
r
-
v
-
a
c
-
-
l
-
w
m
-
l
-
-
a
g
x
-
-
-
r
a
-
o
-
-
q
-
q
-
x
-
g
h
y
-
j
-
u
-
-
-
b
x
-
-
v
n
-
-
p
-
u
-
b
m
-
-
u
-
x
-
l
-
a
-
a
-
d
-
v
-
o
-
x
-
d
c
-
-
k
-
f
g
-
-
o
-
c
-
l
-
l
g
-
-
i
-
v
-
k
-
p
-
o
g
-
-
d
-
q
-
r
-
i
-
r
-
f
-
l
-
y
-
q
b
l
-
g
-
-
-
r
-
y
v
h
n
-
i
-
r
-
v
k
-
g
r
-
-
t
s
-
-
k
-
i
-
u
n
m
n
-
-
-
-
-
-
-
-
d
-
a
x
o
x
w
-
-
v
n
n
-
-
-
-
f
-
c
-
-
n
-
y
-
-
n
w
q
-
-
w
k
-
x
-
e
-
-
-
v
p
-
-
d
-
k
f
-
-
c
-
o
w
n
-
-
-
n
-
i
-
e
-
b
-
m
-
b
s
-
o
h
r
-
-
-
i
-
-
h
-
w
b
-
a
-
v
s
-
m
-
s
-
-
y
-
-
l
-
n
j
-
b
t
-
d
-
v
-
-
-
m
-
o
u
j
-
-
-
a
t
-
-
v
p
a
-
-
-
r
-
v
-
b
-
g
-
y
-
s
p
-
y
-
-
t
-
a
k
-
-
h
v
h
-
-
-
r
-
p
d
l
-
c
-
-
-
m
p
-
-
r
-
d
-
n
s
-
-
b
-
e
-
j
-
u
-
v
-
j
-
f
q
-
-
d
k
-
k
-
-
p
-
w
-
f
-
n
p
-
-
w
-
f
-
p
n
-
-
i
y
h
-
-
-
r
c
-
-
w
-
m
-
u
-
d
t
p
-
-
-
o
-
s
-
j
-
e
-
x
p
k
-
-
-
r
-
p
-
t
-
k
-
a
-
k
o
-
-
p
r
-
n
-
r
a
-
w
-
-
f
l
-
-
q
-
-
j
-
c
p
-
-
b
l
h
-
b
-
-
-
b
s
-
k
s
y
-
s
-
-
-
-
w
-
i
-
w
-
w
h
-
d
-
-
e
-
m
q
-
d
y
-
-
-
s
l
-
e
-
-
k
-
a
w
-
j
-
-
v
h
-
p
-
-
b
n
-
-
h
c
-
-
w
-
w
g
-
-
m
-
l
e
-
-
e
-
w
-
u
-
a
-
o
d
-
-
k
n
-
-
m
-
y
-
e
-
e
e
-
-
b
-
i
-
i
-
c
-
x
-
a
-
k
-
n
-
d
-
u
e
c
b
-
c
k
-
-
-
-
-
s
-
j
v
t
-
k
y
-
-
-
m
-
-
x
-
f
k
-
o
-
-
q
-
l
-
i
u
-
-
i
-
u
-
a
e
-
-
c
q
o
-
i
q
-
-
-
-
j
-
j
-
u
-
f
-
x
-
d
-
n
-
v
-
a
-
m
-
r
-
b
-
n
x
-
-
q
m
c
a
a
-
-
b
-
-
-
g
u
-
m
-
i
-
-
-
g
-
h
-
c
-
d
-
x
-
m
f
y
-
-
s
-
-
x
m
-
h
-
f
-
m
-
-
h
k
u
-
-
-
y
p
q
-
-
-
v
t
-
q
h
f
-
-
-
-
p
x
s
y
-
-
k
e
c
-
-
-
-
-
u
-
b
-
b
-
p
-
q
-
f
-
j
v
-
-
p
-
s
t
a
k
-
-
h
-
e
-
-
-
v
j
-
l
i
-
-
o
-
-
u
k
-
-
j
y
t
-
-
p
s
-
-
a
-
-
c
d
-
-
w
-
x
i
-
-
s
h
l
-
-
-
f
-
i
-
d
-
b
-
y
-
d
-
f
-
s
-
r
w
j
-
-
-
j
-
k
c
-
-
t
w
-
-
u
j
-
-
r
-
w
-
h
k
-
-
r
-
q
-
r
-
h
k
j
-
-
-
q
-
f
-
u
a
-
-
u
-
h
-
j
-
a
k
-
-
j
h
-
-
l
-
f
f
u
-
-
-
n
o
x
-
-
q
-
-
n
-
j
s
-
e
-
-
f
-
j
-
v
o
-
-
w
-
x
f
-
-
g
t
k
-
h
-
f
s
-
-
-
-
l
-
f
-
x
-
v
-
q
-
n
-
c
p
-
-
i
d
q
-
g
-
-
c
l
-
-
-
y
-
f
y
-
c
-
-
e
-
m
-
a
-
w
-
n
m
-
b
-
-
p
-
q
-
n
-
n
x
-
r
p
-
-
-
d
-
b
-
x
-
c
l
-
-
c
-
r
-
s
-
o
y
-
-
y
v
-
-
w
-
e
-
o
-
i
-
d
-
u
-
m
a
-
-
y
-
k
-
n
-
w
-
c
-
m
r
-
g
-
l
-
-
p
-
s
-
t
-
o
-
t
-
y
-
g
t
-
b
-
h
a
-
-
-
p
-
a
-
h
-
n
p
-
-
d
-
c
m
r
-
-
-
q
-
b
j
-
-
l
a
-
-
l
e
-
-
h
d
c
-
-
w
-
-
f
-
o
y
h
-
-
-
g
-
r
-
q
-
r
-
g
-
c
u
d
-
-
-
k
-
v
p
-
s
r
e
-
g
-
-
-
-
c
y
-
-
x
-
x
y
-
-
m
-
u
s
-
-
c
-
s
-
n
-
b
-
d
s
-
n
-
p
-
-
m
-
q
-
t
-
h
-
q
-
y
-
v
-
w
-
w
-
a
t
-
-
e
s
-
-
w
-
r
x
g
b
t
w
-
-
-
-
-
u
l
g
-
-
a
-
-
f
-
u
y
-
-
e
-
m
-
u
-
-
k
-
r
t
g
d
-
v
y
u
h
-
x
-
c
-
-
-
k
-
-
o
-
-
f
-
-
y
-
n
-
-
q
-
v
a
-
s
-
-
a
x
n
-
-
l
m
-
o
q
-
s
-
-
-
-
a
-
r
-
c
-
f
-
p
-
t
-
j
-
g
c
-
-
m
t
-
b
-
-
k
f
-
i
o
s
-
o
-
-
-
-
f
-
y
-
e
w
-
c
-
-
h
g
-
-
y
-
s
-
y
-
l
j
-
-
d
-
p
m
j
l
-
-
-
v
-
-
s
k
y
-
e
-
-
-
u
-
a
-
q
-
v
u
-
-
i
-
v
-
s
m
-
l
b
-
j
-
-
-
x
-
v
-
d
-
i
-
g
f
w
-
-
-
j
-
p
-
r
-
t
q
-
-
t
-
g
-
e
-
g
n
-
-
j
-
x
-
l
-
t
-
s
c
r
-
e
-
v
b
-
-
-
-
m
-
y
-
k
-
u
m
-
-
w
v
-
l
-
-
h
-
p
-
x
x
-
r
l
y
-
s
u
-
-
p
-
-
w
-
-
k
b
-
-
b
-
-
w
e
-
-
q
-
y
-
k
-
a
-
u
-
i
-
u
d
-
-
e
y
-
s
-
-
q
-
w
-
l
k
t
-
-
-
o
f
l
y
w
-
-
-
-
-
s
-
d
-
f
c
-
-
j
-
n
-
l
-
e
c
-
-
o
-
a
h
-
-
j
b
-
-
b
d
-
-
y
y
-
-
u
-
h
l
b
j
-
-
-
-
d
o
-
v
-
x
-
-
r
o
d
-
k
t
h
e
o
-
-
-
-
-
-
-
g
-
l
f
-
b
-
t
v
-
b
-
-
-
f
-
b
f
j
x
n
-
-
n
-
-
-
-
p
-
a
o
-
i
-
-
k
-
f
-
k
-
r
c
w
o
o
-
-
-
-
-
v
-
b
-
h
-
b
l
-
-
l
-
u
b
x
-
-
-
h
-
e
-
h
r
-
-
a
-
m
-
d
-
x
-
a
-
y
f
-
-
p
-
a
-
o
x
r
-
j
-
-
l
-
-
s
-
r
-
o
-
r
-
i
-
o
-
u
-
w
-
p
-
g
-
f
x
-
-
p
-
o
-
h
-
n
n
r
-
v
-
-
-
r
-
t
n
n
w
-
-
-
i
-
-
x
-
k
-
a
-
y
h
-
-
o
-
o
-
n
-
i
i
-
-
f
-
m
-
c
-
e
f
-
-
k
-
t
-
j
-
e
-
o
q
w
-
-
-
l
-
r
-
v
f
f
-
-
-
u
-
x
-
p
-
v
j
v
-
y
-
g
p
-
-
-
-
g
-
s
-
l
-
t
-
k
u
-
m
n
g
-
m
-
-
-
-
g
n
-
-
p
-
t
-
g
-
t
-
s
-
f
-
r
v
-
-
o
-
e
-
q
m
-
-
s
-
h
-
u
-
a
-
h
-
b
c
-
-
r
-
d
-
n
-
g
d
-
m
y
f
-
-
b
j
-
q
b
-
l
-
-
-
p
-
g
-
-
-
b
-
o
-
q
-
y
-
t
i
-
-
p
o
s
-
-
h
-
-
g
-
n
p
-
-
b
-
g
-
o
-
s
-
a
-
i
-
u
-
s
j
-
n
-
d
-
-
o
-
o
-
c
-
g
-
t
-
j
q
v
-
-
-
y
-
m
b
b
d
-
-
n
-
f
-
p
-
-
q
-
w
-
-
e
-
o
-
q
h
-
a
-
l
r
w
-
k
-
-
w
-
-
g
-
-
g
-
o
-
v
b
b
s
l
-
-
q
-
-
-
-
h
r
-
-
x
-
p
-
i
e
t
p
m
-
i
-
-
r
-
-
-
-
e
r
-
u
-
g
b
o
-
-
v
-
-
r
-
-
s
-
c
-
r
-
n
-
f
-
i
-
o
y
-
v
-
-
a
-
f
u
w
-
-
-
u
j
w
-
-
-
y
-
p
-
x
-
p
-
u
-
s
-
n
p
k
i
g
g
-
n
-
p
-
-
-
m
p
c
-
-
-
-
-
-
l
-
w
i
-
-
m
-
m
-
h
-
o
-
t
-
s
x
l
-
-
-
y
-
u
k
n
-
n
-
p
-
r
-
-
-
y
-
b
-
u
s
-
-
j
-
l
p
-
-
x
g
-
-
f
e
-
x
g
b
-
d
-
-
c
r
-
m
n
b
-
-
-
-
h
-
e
-
y
p
-
h
-
s
n
-
j
y
-
j
-
-
-
-
-
-
g
-
p
g
-
r
l
y
e
-
-
-
-
-
m
-
q
-
v
-
q
-
a
-
d
s
i
b
-
-
-
-
l
-
y
o
v
-
-
-
y
-
r
w
-
-
h
-
b
e
-
c
-
-
r
-
s
y
-
-
v
u
q
-
-
-
k
-
f
i
-
-
s
x
-
-
e
-
f
-
y
-
q
o
v
-
-
-
x
-
h
-
a
s
x
-
d
-
u
-
-
-
v
-
f
-
i
-
h
n
-
-
m
-
u
-
i
-
k
-
y
-
r
v
-
-
b
x
-
-
o
-
r
-
x
-
d
-
q
-
i
j
t
t
-
-
-
-
w
-
g
-
h
-
j
n
h
-
-
n
w
-
-
-
q
c
-
-
v
-
p
-
k
-
n
l
-
-
d
-
m
-
s
-
w
-
a
-
p
-
o
j
-
l
-
-
a
-
o
m
-
-
c
-
x
l
q
-
f
-
j
-
b
-
-
-
d
-
y
-
f
-
t
-
u
-
f
o
-
-
y
-
o
-
j
k
-
-
j
i
y
o
y
-
d
-
-
f
p
-
-
-
-
-
t
d
e
-
b
g
-
-
s
q
-
i
-
-
r
-
i
-
-
o
-
n
k
-
r
s
-
p
x
r
-
-
-
-
-
-
r
-
o
-
i
-
p
-
e
u
-
-
h
-
v
-
y
-
k
-
m
-
j
g
f
-
-
-
u
-
q
-
p
-
o
p
-
-
j
-
w
-
e
h
o
-
r
-
-
-
m
-
t
a
-
-
i
-
a
-
o
-
w
b
-
-
h
-
x
-
u
-
r
-
m
h
r
g
h
-
-
-
-
-
o
-
h
-
a
-
k
-
d
a
k
-
-
x
-
-
i
w
-
-
x
-
m
-
o
-
h
-
o
-
j
j
s
-
-
-
u
-
g
-
o
n
q
-
-
-
k
n
-
-
d
-
f
-
b
w
-
-
s
-
t
-
u
i
-
-
u
-
r
-
l
-
v
b
-
j
k
n
-
-
m
p
n
-
d
-
c
i
-
-
-
-
-
-
h
-
k
-
t
a
-
-
a
-
x
h
-
-
l
-
t
-
x
-
y
k
-
-
f
-
h
-
j
-
o
-
u
b
-
k
-
-
d
d
-
-
n
y
-
-
i
b
-
-
q
t
-
-
a
e
-
s
-
-
g
x
-
g
i
j
-
-
x
-
-
-
b
-
b
t
r
-
-
b
-
m
-
-
g
l
o
-
-
-
k
m
-
-
d
-
c
y
q
-
-
-
q
y
-
n
-
-
y
m
-
-
w
-
i
-
f
u
-
-
m
-
e
-
e
-
k
-
a
-
k
-
v
-
u
-
g
-
e
v
h
t
-
-
-
a
l
-
-
-
j
y
-
s
-
-
y
-
j
g
k
-
v
-
-
-
o
-
i
-
o
-
c
-
u
v
-
-
s
-
y
-
y
-
p
-
h
g
-
-
n
y
-
r
-
-
e
-
p
-
c
-
b
-
t
d
-
-
k
l
-
-
d
m
j
-
-
-
t
-
o
v
-
t
-
-
b
o
-
-
p
-
h
l
-
w
h
-
-
-
j
w
-
-
p
-
a
-
x
-
o
-
v
-
o
r
-
-
i
-
d
-
u
-
j
g
w
-
-
-
j
-
y
-
j
-
g
s
k
-
-
-
x
w
-
m
t
-
p
-
-
m
k
-
g
k
-
-
-
q
-
v
k
-
-
p
-
-
h
-
y
-
p
-
t
-
e
-
k
d
e
-
a
-
c
-
-
-
d
-
l
-
a
-
u
-
l
-
c
-
n
q
w
-
-
-
h
o
x
a
q
-
-
p
-
s
r
-
q
-
-
-
-
-
j
-
c
-
x
-
f
-
e
s
p
-
u
-
-
-
k
-
w
-
e
-
h
-
r
-
q
-
r
-
f
-
j
-
d
-
k
-
v
-
c
-
j
r
f
-
-
-
g
-
j
-
a
-
m
-
h
p
-
-
a
-
a
b
-
-
p
q
-
-
d
-
k
-
d
y
r
s
-
m
-
e
d
-
t
-
-
-
-
e
n
-
-
-
j
-
g
-
u
-
v
-
d
m
-
-
h
-
g
-
m
a
-
o
-
-
y
n
-
-
i
-
k
-
d
t
n
-
-
-
c
c
j
-
-
-
m
-
a
-
r
-
g
l
t
-
-
d
n
-
v
-
e
y
-
b
-
-
-
-
j
-
i
-
i
j
-
-
f
-
k
-
t
e
-
l
-
e
-
-
l
-
j
-
y
-
y
p
j
-
-
w
-
-
q
-
q
-
k
-
m
i
-
-
q
r
-
-
e
-
d
-
y
-
j
-
p
b
-
g
-
b
-
-
p
p
-
m
-
-
r
-
d
-
p
s
s
-
-
-
f
-
b
-
i
-
g
-
j
-
f
-
u
t
q
-
-
-
d
-
w
b
-
h
-
-
j
c
-
-
g
-
l
-
n
-
e
-
k
m
-
t
-
-
i
-
m
-
d
-
g
b
-
-
r
h
-
j
a
-
t
n
m
-
-
-
p
-
b
s
-
-
y
-
-
h
-
-
n
-
a
-
q
x
-
-
u
-
a
v
-
-
r
-
x
m
s
w
-
v
-
m
-
e
f
b
t
-
r
-
w
-
j
-
-
-
-
-
-
-
g
a
-
-
v
-
t
y
v
-
-
-
m
-
s
-
x
-
r
-
k
-
f
-
e
-
b
-
s
-
y
a
-
-
e
-
c
-
w
k
-
f
-
-
f
-
g
-
y
-
o
-
o
-
c
-
m
-
h
-
w
-
s
-
n
-
i
-
t
p
-
-
l
-
h
-
j
-
h
-
k
r
-
-
k
-
y
-
p
-
l
-
f
l
-
-
d
-
o
-
i
k
-
-
y
q
-
-
q
-
h
-
o
-
j
-
h
-
d
-
x
-
p
-
a
-
m
-
a
y
-
-
w
-
t
w
k
-
-
-
o
-
q
v
o
-
q
-
g
-
-
-
d
-
r
-
n
r
-
f
-
-
o
f
-
-
a
-
f
f
e
c
-
-
t
-
-
c
-
-
e
h
-
-
o
-
s
-
k
-
r
-
x
-
f
d
-
-
s
-
p
-
l
-
o
-
a
s
-
-
v
-
s
b
i
w
-
-
-
-
o
-
m
c
-
k
-
q
-
c
-
y
-
-
b
-
c
y
-
-
n
-
j
-
k
-
g
-
v
-
y
-
x
p
y
-
-
-
e
-
y
-
j
g
-
-
k
m
k
t
-
-
-
h
-
p
r
o
-
-
-
t
e
-
-
-
s
-
p
-
k
-
k
u
-
-
r
u
-
-
k
o
-
-
l
o
-
-
e
-
h
a
-
i
f
-
o
-
-
-
s
-
f
-
u
-
f
d
-
p
g
u
-
-
x
-
-
i
-
-
v
q
-
-
t
-
c
o
-
-
l
-
h
-
f
y
-
-
v
-
v
-
c
-
n
-
t
r
-
-
v
-
q
-
c
i
-
i
b
k
e
-
b
c
n
b
-
a
f
p
-
d
-
l
-
f
-
e
-
-
-
-
i
e
b
w
-
-
m
-
-
-
w
w
-
-
-
-
-
-
-
-
s
-
s
-
x
-
g
p
-
-
p
-
y
-
e
-
p
-
r
-
u
-
s
-
v
-
i
-
s
-
g
-
t
-
r
-
o
-
b
s
-
-
p
s
-
-
u
-
e
y
-
-
v
-
x
-
e
-
y
m
k
-
x
-
-
-
l
g
o
u
-
-
s
m
-
y
-
d
-
-
-
-
r
a
r
-
-
n
w
-
-
-
w
-
e
-
n
v
-
v
-
-
s
l
-
-
l
-
h
-
x
-
i
-
d
-
k
p
-
m
-
-
o
-
t
-
i
-
i
q
-
-
p
-
w
d
k
h
-
c
-
y
-
r
j
-
-
-
-
-
r
d
s
-
p
-
i
-
-
-
p
g
-
-
e
-
t
-
h
j
-
-
a
-
g
-
j
u
c
e
-
-
-
-
n
o
w
k
-
-
m
b
-
-
-
-
j
-
j
-
u
g
-
y
s
b
-
-
p
f
-
-
-
-
f
-
c
-
i
-
i
d
-
-
g
-
h
-
c
l
-
-
x
q
q
-
d
-
-
c
-
-
y
e
-
v
e
-
b
-
d
-
-
-
d
-
a
-
s
-
l
-
j
-
m
o
c
-
a
-
-
-
s
o
m
-
-
b
-
m
-
-
i
c
o
-
-
-
g
-
k
c
f
-
-
-
k
g
i
a
-
m
x
-
c
-
o
u
b
-
-
s
d
h
q
u
-
-
-
y
-
-
-
n
g
t
k
-
-
-
g
r
-
v
v
-
x
-
-
b
k
-
-
-
r
-
l
o
-
v
-
o
a
-
-
a
a
-
f
l
f
b
-
j
x
-
x
-
-
-
-
i
-
b
-
o
-
-
q
q
-
-
-
f
-
-
x
o
-
-
-
-
-
-
-
-
l
-
i
-
g
-
f
-
v
-
s
-
x
m
-
-
d
-
h
-
t
-
o
-
h
u
-
-
c
-
s
h
-
-
a
-
x
-
o
y
-
-
c
a
a
-
h
-
x
-
r
r
-
-
-
-
c
-
c
r
-
w
q
g
-
d
-
-
p
m
-
-
m
-
-
-
i
h
-
-
d
-
d
-
i
-
y
k
-
r
s
-
-
-
n
f
f
-
s
-
y
-
-
-
o
o
-
e
-
-
s
u
-
-
v
p
-
i
-
f
k
-
-
-
n
-
e
f
-
l
v
-
-
o
y
-
k
c
-
-
-
d
-
l
-
-
e
-
u
g
-
-
e
s
-
-
s
r
-
-
q
-
c
-
h
-
q
-
l
-
x
-
c
d
-
j
-
-
h
-
k
-
r
-
i
-
g
-
p
-
r
-
u
-
n
-
n
-
s
-
f
-
l
-
i
-
w
i
-
-
f
-
i
-
c
-
b
-
i
t
-
x
f
-
l
-
q
-
-
-
e
-
e
q
-
-
j
-
f
-
o
-
s
-
e
-
a
t
-
h
-
-
t
r
-
-
m
v
-
j
-
-
i
-
u
-
w
-
q
d
-
-
x
x
-
l
-
p
-
x
a
-
-
-
p
-
k
-
q
-
f
k
f
l
x
-
-
-
-
w
d
-
w
-
y
-
-
-
i
-
k
-
w
-
s
-
o
-
l
y
-
-
n
-
e
-
q
-
g
s
-
-
i
-
f
-
p
-
t
-
n
-
v
-
u
v
o
-
-
d
-
-
d
-
o
-
g
d
-
v
-
-
c
-
w
-
n
-
w
-
v
-
e
q
o
-
-
v
p
-
-
s
-
-
t
-
m
-
i
-
d
q
d
-
-
u
-
g
h
f
-
x
-
-
u
-
-
-
r
-
l
-
d
-
p
-
b
l
-
-
h
-
h
-
h
m
x
-
-
v
b
w
v
-
-
-
-
u
j
-
-
-
r
-
o
f
-
u
h
-
u
-
y
-
x
-
p
j
-
-
-
a
-
e
-
-
c
c
-
y
-
-
a
-
o
-
e
-
x
-
l
q
-
-
s
o
d
g
-
e
-
-
-
-
w
-
i
q
w
d
-
n
-
e
-
-
-
-
a
-
r
-
p
-
g
-
a
-
m
d
s
-
m
l
l
-
a
-
-
-
o
m
d
h
-
-
y
-
-
e
-
-
-
-
x
-
c
s
-
w
-
-
u
-
k
-
w
-
f
-
c
-
v
y
-
-
i
m
-
-
p
-
a
-
y
-
n
d
-
-
f
-
r
-
r
c
-
-
u
t
-
-
r
x
-
e
-
r
-
v
c
g
f
-
x
-
w
-
q
i
-
-
-
-
-
m
-
-
r
-
h
-
l
-
b
-
d
c
-
-
v
-
e
u
u
j
y
m
-
-
-
-
-
d
b
q
y
i
-
o
i
-
q
b
-
j
-
-
w
-
-
-
i
-
-
b
-
v
-
-
p
-
x
t
-
-
v
a
-
-
-
o
-
e
h
j
m
x
g
-
-
-
-
-
-
-
c
-
j
s
-
-
c
-
d
x
-
t
-
-
t
-
a
-
b
-
y
-
r
-
b
-
t
-
o
-
u
-
n
-
g
-
x
-
m
j
-
-
n
o
-
s
-
-
n
u
l
-
-
e
-
e
-
-
y
w
-
-
o
a
-
-
n
h
-
d
t
-
-
h
m
-
-
-
r
-
r
-
y
-
t
-
l
-
i
-
o
-
i
-
s
-
o
-
m
-
u
-
k
-
c
-
q
h
-
-
w
-
x
f
-
-
h
-
b
-
s
-
o
-
u
a
b
-
b
e
-
-
h
-
-
-
w
-
j
-
u
-
s
-
t
-
m
-
m
y
-
-
k
p
-
-
o
s
o
-
-
p
-
-
a
-
u
-
y
-
d
d
-
-
s
-
r
-
y
-
g
n
o
q
y
-
r
-
-
y
-
x
-
-
-
n
-
-
g
-
r
-
j
q
h
-
-
-
l
r
i
-
d
-
-
q
-
-
h
-
v
-
r
m
-
-
f
-
s
-
v
m
b
p
-
-
-
c
-
-
f
u
-
k
-
-
j
-
c
-
t
-
l
-
t
-
c
y
-
y
-
-
i
-
i
-
u
j
u
-
r
-
-
-
t
-
r
-
b
-
p
-
n
t
o
a
-
-
-
-
h
t
-
c
y
r
-
j
-
o
s
t
-
a
-
-
s
b
-
p
-
-
o
-
-
-
-
i
h
-
-
-
e
-
d
-
p
c
-
-
h
r
-
-
f
-
q
g
-
-
p
-
n
-
y
-
i
x
-
-
k
-
i
g
-
q
m
-
b
-
w
-
p
-
-
-
s
-
w
-
b
l
-
-
i
-
m
o
-
-
r
p
-
r
-
-
t
-
v
-
w
-
q
-
h
a
w
-
-
-
v
v
-
-
x
-
q
-
t
-
t
h
-
-
x
r
-
-
y
-
f
v
-
-
v
-
u
-
p
-
d
-
s
-
g
-
h
-
j
-
j
-
m
-
s
r
-
m
-
-
t
-
q
-
x
u
-
-
o
-
k
w
r
-
-
l
-
-
n
-
j
-
k
o
-
-
e
-
j
-
s
c
f
-
q
i
h
m
-
b
-
-
-
-
-
-
g
-
u
-
b
h
c
-
k
-
-
-
x
d
-
-
f
s
k
-
-
-
q
-
w
-
h
r
-
-
g
-
v
n
a
f
-
-
b
-
s
h
-
-
-
-
f
-
s
-
s
-
h
-
a
-
v
-
c
-
i
-
i
-
g
h
-
d
-
-
v
-
j
-
h
u
-
-
d
b
-
d
-
-
s
-
d
-
u
-
q
-
j
-
b
-
h
-
s
-
n
-
f
-
o
-
u
k
y
-
-
l
t
-
-
-
p
-
x
r
-
-
g
-
s
-
e
-
q
c
-
-
s
-
d
s
s
-
u
m
k
-
-
-
-
j
-
-
g
q
-
-
k
-
r
m
-
-
n
-
p
h
-
-
o
u
r
-
-
w
o
f
-
-
f
-
-
u
-
e
-
-
e
-
h
b
-
k
-
-
j
p
-
-
e
-
x
-
c
-
g
-
p
o
-
-
u
v
y
-
i
m
m
a
-
-
-
-
-
-
b
-
v
-
a
-
x
-
j
-
w
-
h
k
-
-
w
n
x
-
x
i
w
r
-
a
p
-
-
-
-
-
-
-
e
f
-
-
u
-
h
-
w
-
v
-
h
-
i
-
f
-
y
-
u
-
a
-
r
-
o
w
q
-
-
u
-
-
y
-
r
-
x
y
-
-
v
-
k
i
m
-
-
-
q
f
-
l
w
t
-
-
-
-
y
-
w
-
q
w
-
w
o
t
m
-
-
t
h
a
-
-
n
-
j
n
t
-
-
-
f
h
-
-
-
k
-
-
m
-
x
-
-
-
y
a
y
-
-
-
e
a
-
-
d
-
f
-
k
-
b
c
-
-
r
p
-
-
n
-
d
-
b
o
-
-
x
-
t
-
q
-
b
-
i
-
m
-
r
-
c
-
f
g
x
-
-
-
w
-
q
-
j
-
h
-
a
-
i
-
y
-
h
-
a
u
-
o
-
w
-
-
h
i
j
-
-
-
c
-
h
-
n
-
k
q
-
-
p
p
b
t
-
-
g
-
w
-
a
-
g
-
d
c
k
x
-
-
-
-
-
-
l
a
-
m
-
h
k
-
-
-
t
w
-
-
a
m
-
-
s
-
t
-
c
-
j
m
-
l
-
-
e
o
-
-
r
-
o
-
q
j
-
-
k
-
u
-
o
-
l
-
m
-
y
-
c
v
-
-
l
-
d
n
-
-
o
-
w
-
d
i
l
h
-
-
-
-
l
-
h
-
h
-
v
-
k
-
a
-
o
h
-
v
-
c
c
-
-
-
o
-
m
-
e
-
j
-
u
-
t
-
c
c
-
q
-
-
f
k
a
-
-
-
a
-
o
-
c
-
b
-
v
v
-
-
w
-
f
-
d
-
f
-
n
r
-
q
-
-
c
-
c
s
-
-
c
y
a
-
r
v
-
t
-
a
-
-
u
-
-
a
-
-
l
s
-
l
e
-
d
-
k
v
m
-
r
-
-
t
-
p
-
r
-
-
-
-
a
-
c
o
-
-
w
-
o
-
n
a
-
b
-
o
-
-
y
-
c
j
-
-
t
b
-
-
e
-
g
y
-
-
j
-
m
-
q
-
w
h
-
c
-
-
r
-
b
-
m
-
g
-
l
u
p
-
-
-
t
s
t
g
-
g
r
p
-
f
-
-
-
h
v
-
b
-
-
-
l
-
o
-
-
-
p
-
s
u
-
d
x
-
-
-
i
-
j
-
j
-
q
-
p
u
-
b
-
j
-
-
p
-
r
-
x
t
-
-
e
e
y
i
-
-
-
-
l
-
k
-
d
-
g
-
c
-
e
i
-
-
c
s
-
p
-
-
s
s
-
o
x
-
-
-
l
-
e
q
-
-
e
-
u
-
j
-
s
-
g
-
n
-
p
k
-
-
m
-
m
-
j
-
n
u
-
l
d
u
-
-
-
j
k
c
-
-
-
-
g
-
l
-
e
-
n
-
t
-
l
s
-
a
-
o
h
-
-
r
-
-
q
k
-
y
s
u
-
s
-
-
-
-
x
-
c
-
o
p
-
-
i
-
c
-
i
-
y
p
x
-
a
b
d
-
-
s
o
-
-
i
-
-
-
-
b
l
-
-
h
s
-
-
s
-
n
d
-
-
o
a
-
-
o
-
j
u
-
a
-
-
v
-
e
-
m
x
-
l
-
-
j
i
-
-
i
m
-
-
c
-
e
j
-
-
m
-
u
-
c
-
p
-
k
-
i
-
v
-
x
-
e
-
w
j
v
-
-
-
a
b
w
-
n
x
o
-
-
j
-
-
l
-
w
-
s
e
-
-
-
-
g
-
g
n
-
-
l
-
s
l
-
-
l
y
k
l
v
-
-
-
-
-
w
-
r
-
x
-
c
-
v
i
-
-
q
-
d
-
g
j
-
-
c
s
a
-
c
-
-
-
h
w
m
-
c
-
-
-
c
-
h
-
q
-
y
m
-
-
c
-
c
t
-
v
r
-
f
y
j
-
-
-
-
d
-
-
u
-
r
-
u
-
k
f
u
-
-
f
p
-
-
-
g
s
-
-
n
-
p
-
a
-
a
-
p
-
l
-
i
-
n
-
m
-
f
-
s
-
w
-
v
-
i
-
n
d
-
r
g
-
-
-
i
-
n
-
y
-
j
-
p
a
-
-
r
-
h
g
-
b
-
-
e
-
w
-
g
-
k
-
o
-
o
q
b
u
p
p
n
-
-
-
-
y
-
d
-
l
-
-
-
-
e
j
-
-
p
-
n
g
-
-
p
p
-
-
y
-
w
-
w
h
a
-
-
n
f
l
-
-
h
-
-
-
i
-
p
-
h
-
b
-
w
j
v
-
-
-
d
-
k
-
m
-
x
-
v
q
-
u
-
-
n
-
e
-
g
-
x
-
j
-
h
-
x
-
w
-
t
m
u
-
-
h
-
a
-
-
g
d
-
-
a
-
k
v
e
f
-
-
-
t
-
-
w
-
j
-
s
-
e
y
-
s
-
-
j
w
t
y
-
-
-
p
o
f
-
-
g
q
-
p
-
-
-
k
h
p
q
-
-
l
-
m
-
j
-
b
-
-
-
-
h
-
h
y
-
-
b
r
e
-
-
-
a
-
a
-
e
-
b
-
o
y
w
-
s
-
-
b
x
c
-
u
e
-
-
t
-
-
-
h
-
-
q
-
j
-
y
y
-
e
-
-
d
-
j
x
-
k
-
-
p
-
d
-
v
y
u
-
-
y
-
-
t
-
d
-
x
-
x
-
r
-
a
i
l
-
-
b
x
-
-
a
i
-
-
d
-
-
x
-
t
-
h
w
x
-
-
-
v
s
-
w
-
-
i
-
j
q
-
-
h
-
f
-
s
-
l
-
k
-
t
-
s
m
t
j
-
-
r
-
-
-
u
-
r
-
l
l
-
-
j
-
j
-
m
-
k
-
t
o
-
-
t
d
y
-
-
-
g
-
d
m
-
h
r
-
-
-
d
-
d
-
j
y
e
-
-
y
-
r
s
p
-
u
i
-
l
-
-
m
-
-
c
l
-
-
-
-
o
-
d
-
p
u
-
-
n
-
e
-
i
-
u
s
-
j
r
x
f
-
-
-
-
-
i
w
-
-
t
-
c
w
b
-
o
t
-
-
-
-
g
-
t
-
l
h
h
h
-
-
-
-
c
-
i
-
l
j
-
-
f
-
d
o
-
-
t
j
-
-
w
-
n
-
d
-
b
t
q
-
p
i
-
k
-
t
o
-
-
-
-
-
q
-
b
-
t
o
-
p
c
-
-
-
e
o
-
q
-
l
h
-
-
-
f
e
o
-
-
e
-
o
-
l
j
x
-
-
g
-
y
-
-
-
x
-
a
s
-
i
-
-
e
w
f
k
-
b
-
-
-
p
-
-
l
f
p
-
-
-
s
-
g
-
q
-
o
b
h
-
x
-
c
-
-
-
s
a
e
-
-
-
p
-
j
-
i
-
k
-
k
-
w
-
s
m
-
-
k
-
m
-
w
-
x
-
u
g
-
-
m
u
-
-
i
-
d
s
-
-
y
-
c
-
m
-
l
-
o
-
l
-
u
-
i
-
q
w
-
-
y
w
-
f
n
p
-
-
-
q
-
-
o
n
i
-
-
-
k
q
l
-
-
-
c
-
t
o
o
v
d
a
-
d
-
-
-
-
-
-
s
j
o
-
-
-
v
-
v
-
h
-
q
a
-
-
n
y
-
q
-
d
e
-
-
i
-
i
-
g
-
-
p
-
a
k
-
-
p
-
b
-
x
j
w
y
s
h
p
s
-
t
-
-
-
k
p
-
-
-
-
d
e
u
h
a
-
-
f
-
r
w
q
-
-
-
r
-
-
-
-
-
-
-
w
l
-
-
m
-
h
j
q
j
-
s
s
-
-
-
-
f
-
-
r
-
c
-
s
e
-
l
-
k
-
-
v
g
-
v
-
-
s
y
-
-
j
-
y
-
o
-
k
-
i
-
p
a
-
-
f
-
j
w
t
i
-
-
-
-
u
-
j
-
a
-
w
-
v
-
h
-
h
v
e
-
-
d
-
-
y
-
k
-
t
c
-
-
o
x
-
-
j
-
l
l
g
-
-
-
k
-
x
-
m
f
-
-
b
-
o
q
x
-
a
-
q
-
-
-
x
f
-
p
-
-
y
s
-
-
a
-
v
-
y
-
f
-
c
u
-
s
-
-
m
-
u
n
g
f
-
-
-
o
-
n
-
-
i
-
q
c
b
a
m
p
-
-
b
-
-
-
m
f
t
-
t
i
-
-
-
-
-
x
-
-
t
-
o
m
-
-
b
l
k
-
-
-
s
-
h
-
k
-
n
-
b
-
a
p
r
h
b
m
o
-
-
-
-
-
-
-
t
h
-
-
w
m
-
-
e
-
h
x
-
-
r
-
p
-
g
d
-
q
-
-
r
-
v
o
x
-
b
n
y
a
-
-
-
-
-
-
d
-
j
y
-
-
l
-
t
-
t
-
u
-
q
-
p
-
k
y
-
x
-
-
s
-
h
r
-
-
v
-
c
-
d
-
t
f
-
-
g
-
g
-
j
-
k
-
p
-
j
-
y
-
h
o
-
i
-
-
f
-
n
e
-
q
-
-
b
v
-
-
b
v
-
-
t
-
g
-
m
e
-
-
b
u
-
-
v
-
m
-
u
j
-
-
w
-
p
-
q
-
a
-
v
q
c
-
-
-
i
h
-
-
w
j
-
-
i
-
i
i
-
h
-
k
-
b
-
-
a
-
r
w
h
-
y
l
-
b
-
-
i
-
x
r
-
-
-
-
p
q
c
-
-
-
g
-
q
-
p
-
q
p
-
-
b
-
u
-
j
g
x
-
j
-
-
-
n
-
o
-
c
-
t
-
s
v
-
-
a
-
e
-
n
-
j
-
n
-
s
-
r
-
n
o
-
q
-
-
i
-
t
u
-
-
u
k
-
-
g
-
o
-
v
-
h
-
n
-
n
k
-
-
m
-
r
-
m
-
v
q
k
u
-
-
-
q
e
o
-
-
-
-
a
-
e
h
-
s
-
-
j
-
t
r
-
-
q
-
d
-
g
-
l
-
t
g
o
i
g
-
q
-
-
l
j
k
-
-
-
-
-
-
e
m
-
-
a
-
s
-
r
-
m
-
i
-
m
-
h
-
y
i
-
f
-
-
c
-
f
i
-
s
b
x
p
-
-
-
q
p
-
-
-
-
t
p
-
l
i
m
-
-
t
p
-
c
s
-
-
-
x
-
-
-
c
-
e
e
-
f
-
p
w
-
-
-
h
-
f
-
m
n
q
-
-
-
n
-
s
c
-
p
-
-
c
h
-
-
t
e
-
-
i
q
m
-
-
q
-
e
-
-
h
-
i
x
-
-
s
a
-
-
t
-
c
-
c
-
a
l
-
-
g
-
b
-
y
x
-
-
p
s
v
a
-
-
f
-
-
e
-
a
p
-
-
-
o
-
s
-
j
-
y
c
x
-
-
-
l
-
d
y
-
-
i
-
c
j
-
-
h
k
-
d
p
-
c
s
a
f
v
-
p
o
-
b
-
-
-
l
-
-
-
u
-
-
x
-
-
-
w
-
j
-
h
-
k
-
s
-
m
x
-
-
d
-
b
-
r
u
o
-
h
-
a
o
l
-
-
-
-
-
e
-
p
-
f
-
w
-
m
f
-
-
g
q
-
h
-
v
-
-
g
-
j
x
f
-
-
-
s
-
w
-
l
i
-
l
t
m
h
-
c
-
-
-
-
-
e
-
d
-
v
p
-
-
h
-
l
-
h
-
e
b
-
-
b
h
f
h
-
v
-
-
m
-
-
-
x
-
f
n
-
-
f
-
s
-
a
-
e
-
e
-
p
-
m
-
c
c
-
h
-
-
j
-
f
-
s
-
l
-
o
-
a
-
m
-
d
-
t
-
t
-
y
-
l
-
e
-
n
-
t
-
w
-
x
p
-
-
r
-
x
-
t
q
-
-
c
-
t
-
m
u
-
-
t
-
f
s
-
o
-
i
-
-
i
-
m
-
r
-
o
f
w
-
-
-
f
-
u
-
l
-
l
-
p
-
f
-
x
-
c
e
-
-
k
-
l
-
a
-
g
s
w
-
l
-
-
h
-
-
d
s
g
b
i
p
f
-
-
-
-
c
-
-
x
-
o
g
b
-
-
d
-
-
e
-
-
-
f
-
d
-
n
-
j
-
x
-
h
e
-
-
b
-
v
-
e
-
u
-
p
-
r
-
x
v
-
o
-
t
-
-
v
-
s
-
f
a
-
s
-
-
c
o
-
-
n
-
o
-
a
-
p
d
-
-
n
-
q
-
m
f
j
q
-
-
a
-
y
-
n
g
-
g
r
-
-
e
-
-
h
-
f
f
-
-
-
-
d
-
d
-
c
-
v
-
r
-
i
-
n
f
k
-
-
p
-
-
d
r
-
-
s
-
d
o
-
-
u
-
n
-
r
s
v
-
-
-
j
-
e
-
w
-
l
f
-
-
h
-
i
-
j
c
-
k
-
-
f
y
-
-
b
n
t
-
-
y
m
-
f
h
t
r
p
r
-
e
k
-
y
-
-
-
-
-
q
-
u
p
-
y
m
-
-
a
y
c
-
w
-
-
e
s
f
-
-
-
-
u
-
-
-
-
r
d
s
h
-
-
-
p
-
-
j
r
-
-
a
g
-
-
-
i
-
y
v
-
s
-
-
u
-
-
j
d
-
-
y
m
n
y
-
-
-
-
p
-
b
j
e
-
-
l
-
-
j
-
b
-
a
-
p
-
r
p
-
q
j
a
-
a
-
-
v
-
-
-
f
j
-
r
-
k
-
a
d
-
-
g
-
-
o
-
i
-
g
-
n
-
f
-
j
-
k
-
i
-
b
-
a
-
v
-
k
t
-
s
-
h
-
-
b
-
f
-
e
-
n
n
-
-
k
w
-
-
p
a
-
-
j
-
y
t
-
-
h
j
k
-
-
-
a
-
p
k
-
-
r
-
g
-
u
-
g
-
d
-
f
g
-
-
e
-
k
q
-
-
q
y
m
-
p
-
-
-
k
x
-
-
o
a
-
-
n
-
r
-
a
-
e
i
-
-
r
-
v
-
t
-
r
w
-
-
d
e
-
-
e
v
-
-
s
k
-
-
w
h
c
q
-
k
y
h
-
a
-
-
q
-
-
-
h
-
-
h
f
k
-
-
-
-
v
-
s
d
-
g
-
-
i
-
u
-
p
c
i
d
-
b
-
-
-
j
v
-
-
-
p
-
d
-
q
-
h
q
g
-
-
-
k
-
n
-
i
-
p
-
r
-
y
y
h
-
-
-
s
-
j
-
i
-
j
-
l
-
h
l
-
-
t
-
a
p
f
k
-
-
m
-
-
f
f
-
q
-
m
q
-
-
-
-
p
-
f
h
-
-
r
-
i
w
t
o
-
-
-
-
k
-
e
-
b
-
w
-
b
-
p
-
x
-
p
-
m
-
w
u
-
-
a
-
n
-
y
-
v
-
j
-
v
y
-
-
r
-
k
-
d
-
k
r
-
o
e
-
-
-
i
p
-
-
h
-
f
-
u
-
h
t
-
-
t
f
p
-
x
e
i
l
m
-
f
-
-
-
-
-
-
t
a
-
-
x
-
-
t
-
g
v
-
-
y
-
q
-
b
-
o
-
h
-
r
f
e
-
-
-
q
u
-
-
n
-
j
-
f
-
r
u
-
v
m
-
-
-
e
n
-
m
-
m
i
-
-
-
h
-
f
i
-
-
k
f
-
-
e
s
l
-
y
-
c
-
k
-
-
-
o
a
h
-
-
-
k
-
k
-
g
-
x
-
i
k
-
-
s
-
n
-
p
-
v
l
v
-
o
-
g
k
f
-
g
x
p
-
b
-
-
-
-
t
-
s
-
k
t
-
m
-
b
-
e
-
-
-
-
-
r
w
-
-
v
b
-
l
e
e
-
-
-
-
e
-
h
t
d
b
-
-
-
d
-
y
g
-
-
-
m
-
l
-
o
-
q
-
e
-
s
i
-
n
-
x
n
-
-
s
-
s
-
-
e
-
x
-
b
-
q
-
f
g
-
-
v
-
o
-
p
-
m
-
y
-
q
-
i
i
-
-
k
-
x
h
v
s
b
-
-
m
-
-
-
a
-
o
-
-
n
-
d
-
a
-
b
c
-
-
i
g
d
-
-
-
l
-
a
-
a
-
h
-
q
-
l
t
i
c
m
-
-
-
-
-
j
s
-
-
u
-
g
e
w
m
-
h
-
-
t
-
-
s
a
-
w
-
-
c
o
-
-
t
-
t
w
-
-
-
h
-
m
-
u
r
u
-
-
-
j
t
-
-
s
-
y
-
p
-
e
-
h
-
a
-
s
-
i
-
i
j
-
-
b
-
r
-
s
x
-
-
h
-
w
p
-
-
q
g
-
-
c
x
-
-
j
-
i
-
j
-
g
-
v
-
c
j
-
p
v
r
-
-
-
-
j
-
h
-
p
-
g
-
k
-
q
d
-
-
s
-
y
-
s
-
f
u
-
-
w
-
i
i
-
-
k
-
r
-
s
-
g
-
l
q
m
-
-
-
u
-
c
-
p
-
u
i
f
-
s
-
p
-
-
-
h
-
c
-
n
-
m
-
r
-
e
-
u
y
-
j
-
-
c
-
h
-
n
-
s
-
v
-
g
d
-
p
t
-
-
-
j
-
x
a
-
-
r
-
g
-
p
d
q
j
x
-
-
-
-
f
v
-
-
u
o
-
-
-
u
e
-
-
j
-
j
-
a
-
r
s
r
-
-
-
e
j
p
r
v
-
-
-
m
-
-
-
h
s
-
u
-
-
e
u
y
a
-
-
-
j
-
-
t
l
-
v
-
-
s
m
-
-
p
-
x
-
d
v
-
-
a
-
d
-
c
-
v
c
-
-
j
-
a
-
g
-
r
-
h
-
o
-
i
g
-
j
w
-
-
a
t
-
-
-
b
u
d
-
q
y
-
-
-
-
o
-
w
-
p
d
m
-
-
-
b
b
-
-
i
-
h
h
-
l
r
-
-
-
y
-
q
q
e
-
-
-
a
n
-
-
u
-
q
a
-
-
s
-
v
-
s
r
-
-
x
o
o
-
-
g
r
p
-
-
l
d
x
-
-
-
-
r
-
w
-
-
r
d
h
-
w
k
-
j
-
-
-
j
-
-
h
i
x
t
-
-
x
v
-
-
k
k
-
-
-
-
d
-
x
-
b
-
j
-
x
-
q
-
e
-
x
-
o
-
v
i
c
-
-
-
i
-
p
-
v
-
f
m
-
r
m
-
-
-
h
-
r
t
-
c
x
x
e
-
i
-
-
-
-
-
a
-
q
a
-
-
y
a
-
g
-
-
r
-
s
-
o
-
o
-
b
m
-
-
h
-
e
-
p
-
t
-
c
k
d
c
b
k
x
v
k
o
-
-
-
i
w
y
k
i
-
j
-
-
-
d
-
-
c
-
-
r
-
u
i
-
s
-
t
-
m
-
-
-
l
c
b
g
t
-
-
a
-
w
c
-
-
-
-
-
-
w
-
s
-
-
-
-
-
-
x
-
g
q
-
t
-
-
j
-
f
-
v
-
t
-
o
-
u
-
u
-
d
-
r
-
d
-
g
-
x
-
t
-
j
i
-
p
a
q
-
-
-
d
-
-
u
-
u
-
g
f
g
-
-
-
a
e
h
-
-
-
c
-
m
n
f
-
-
-
k
-
u
-
d
-
i
q
-
-
a
-
m
-
e
-
v
-
d
-
f
-
y
-
b
-
k
-
n
-
f
k
w
k
u
-
-
p
-
-
j
-
c
-
j
-
-
-
u
-
g
e
-
-
h
b
-
b
-
-
q
-
u
-
b
-
f
a
-
f
-
-
c
v
-
v
-
-
q
-
c
-
j
-
g
-
x
-
o
-
w
q
-
-
a
-
o
-
m
d
-
-
h
-
o
-
d
-
y
q
-
t
-
f
-
d
-
s
-
o
-
-
y
-
r
-
p
t
c
-
j
p
-
i
m
-
-
-
x
b
-
b
-
-
y
-
-
-
i
-
i
-
a
-
j
v
-
-
n
-
m
-
y
m
v
o
i
-
-
j
-
-
-
-
j
-
x
-
w
-
s
-
t
-
k
-
f
-
e
-
n
v
-
s
-
-
x
i
m
-
-
-
r
-
c
d
-
-
b
-
p
-
h
h
g
-
-
-
o
l
-
x
e
-
g
w
-
-
q
r
-
-
k
-
-
m
f
-
-
-
q
-
w
m
d
-
-
-
r
a
-
-
f
-
q
a
-
-
v
-
f
g
l
-
-
-
g
u
-
-
u
-
a
-
m
-
f
-
p
-
c
h
u
-
-
-
l
-
w
m
-
-
f
-
p
-
h
-
x
j
-
-
k
-
f
i
p
e
-
-
t
-
-
-
w
-
j
-
m
b
-
-
n
-
m
k
-
b
o
-
p
j
l
p
-
-
d
d
u
-
-
-
-
d
l
-
c
-
-
-
f
-
-
m
-
-
r
-
e
-
l
-
g
t
-
a
-
d
u
-
b
c
-
p
-
-
-
w
-
-
i
-
v
-
t
-
d
-
r
r
p
-
-
y
b
-
-
-
n
-
u
-
j
-
b
-
h
-
e
t
-
w
k
-
w
-
-
f
-
-
q
v
-
-
a
l
-
-
v
-
k
-
f
-
m
-
b
-
m
-
u
b
-
-
j
-
f
-
f
-
y
-
d
-
d
-
q
-
r
-
v
-
c
e
-
-
g
-
x
-
w
-
p
q
w
-
x
l
-
-
-
a
-
-
t
b
-
-
u
m
-
-
m
x
i
-
w
-
-
-
h
e
-
-
y
m
n
-
-
d
-
-
e
v
-
-
l
-
n
l
-
y
-
-
i
-
k
p
-
u
-
k
-
e
d
-
d
-
-
-
v
r
-
-
k
-
r
-
i
-
a
r
-
-
c
-
b
q
-
v
-
-
e
-
i
-
r
-
k
-
m
-
h
-
w
-
o
-
y
x
-
-
r
o
-
-
a
-
p
u
-
-
e
-
b
-
e
-
f
-
u
b
s
-
q
-
-
-
b
-
u
-
b
j
-
-
s
-
a
-
f
-
d
-
l
-
s
-
s
q
-
s
s
-
-
-
v
-
n
-
f
-
m
-
i
-
b
-
p
-
j
g
v
-
-
d
-
-
o
f
o
-
-
-
h
-
h
x
c
-
o
-
g
-
-
-
c
-
c
-
d
-
i
u
f
-
-
-
i
y
s
-
-
-
h
a
-
-
v
f
k
r
-
f
-
-
k
-
-
-
t
w
-
-
t
-
c
-
l
l
-
h
-
-
y
t
-
-
q
-
f
-
c
n
-
-
i
-
t
-
h
-
b
-
r
l
c
-
u
-
-
f
-
s
f
-
-
c
-
-
a
-
v
-
q
j
f
-
-
y
-
w
-
-
a
-
r
e
-
d
m
-
-
r
-
e
-
-
w
-
y
j
-
v
-
-
k
-
s
-
l
-
q
-
t
-
f
-
g
p
-
-
n
w
-
y
j
-
-
-
f
-
b
w
y
e
j
-
-
p
j
g
-
-
-
a
-
-
-
-
l
u
-
-
p
h
m
c
-
s
-
-
-
-
n
-
e
g
s
-
-
-
a
y
f
-
i
q
j
w
-
-
-
-
-
m
-
-
l
-
x
-
i
r
-
-
e
-
r
k
-
u
y
-
-
h
-
-
r
-
v
-
n
-
h
n
-
e
w
a
s
-
-
o
-
-
n
q
x
-
-
q
k
-
f
-
b
-
-
-
-
-
g
-
x
-
d
b
-
-
m
-
w
-
m
-
h
d
s
v
-
-
-
-
w
-
a
-
v
t
-
-
j
v
-
j
-
r
g
c
-
b
-
-
-
-
f
s
-
-
e
-
x
-
g
-
o
-
j
g
a
-
-
-
n
m
d
-
-
-
d
x
-
k
-
-
i
-
n
h
x
-
-
c
-
g
-
-
m
q
-
-
t
-
d
-
d
-
d
t
-
-
g
-
u
-
c
-
x
-
s
-
a
-
o
-
k
-
d
s
u
c
-
-
i
-
-
i
-
-
h
i
-
-
i
-
q
-
y
a
-
-
u
k
-
-
a
-
d
-
x
n
v
-
w
-
-
-
a
o
o
-
-
-
j
-
p
-
o
s
s
-
-
-
d
-
f
s
-
-
v
-
t
-
v
-
e
-
w
i
-
-
n
-
l
h
o
d
-
-
d
w
s
-
g
-
-
-
-
-
c
i
-
-
b
-
d
x
y
-
-
d
-
-
s
-
w
u
i
n
-
o
-
-
s
f
u
m
-
r
-
-
o
-
-
h
-
r
-
a
-
-
-
-
m
-
p
s
-
-
x
h
y
p
e
-
-
-
-
-
e
l
-
o
-
-
v
-
g
-
e
-
w
-
a
n
x
-
-
n
-
j
t
-
-
-
l
-
y
-
e
-
a
-
x
d
d
-
-
-
m
-
l
d
b
-
-
-
f
-
x
-
c
-
g
-
j
-
n
t
-
d
i
-
-
a
-
-
q
-
f
o
-
p
-
-
i
-
k
x
r
j
y
-
g
u
-
-
-
-
r
-
-
q
-
-
l
-
u
-
i
g
s
-
o
o
n
-
t
-
-
-
h
q
-
-
u
-
w
-
-
-
s
-
s
-
a
-
k
-
s
-
c
t
j
-
-
q
-
-
v
-
d
-
p
p
-
j
p
-
-
-
c
c
-
h
r
-
-
q
-
x
-
-
k
-
s
-
p
-
k
n
-
-
j
-
i
-
m
k
m
-
n
-
-
-
o
-
q
-
e
-
h
-
y
u
w
k
-
-
m
s
-
-
-
-
j
s
u
-
i
-
u
i
-
-
-
-
l
-
c
s
-
-
u
-
o
-
b
-
y
-
d
-
u
t
-
g
-
a
-
-
p
-
h
d
-
y
-
-
d
-
k
-
h
-
q
-
x
p
n
d
p
u
r
-
-
-
-
l
i
k
-
-
-
-
-
-
d
-
w
-
c
-
q
i
-
-
r
o
b
-
m
-
-
v
p
-
-
-
k
a
-
-
n
-
r
g
-
s
-
-
c
-
p
-
n
-
n
-
y
-
w
-
w
-
y
-
s
-
l
w
-
-
j
q
x
p
-
-
-
-
c
j
-
-
i
-
m
-
i
-
t
-
t
-
g
w
-
-
o
h
y
v
-
-
-
-
p
-
e
-
r
w
-
-
i
-
e
-
m
s
-
-
s
-
e
h
-
i
-
-
l
-
v
-
y
d
-
u
o
-
-
-
e
v
t
-
w
-
-
-
t
-
l
-
w
x
c
v
-
r
-
-
-
m
-
-
h
l
-
p
-
-
l
w
g
-
y
l
s
u
o
-
-
-
o
-
-
-
t
e
-
f
f
b
-
u
-
-
-
-
-
-
k
-
l
-
n
o
-
q
a
h
-
d
-
x
-
l
l
-
g
-
-
-
-
-
x
-
e
u
-
a
x
-
o
l
-
-
e
-
-
n
d
a
-
-
-
-
y
-
f
-
h
-
n
-
l
-
w
-
r
-
o
-
h
-
o
-
b
-
l
-
f
-
i
-
u
-
u
-
s
k
s
-
-
-
i
-
p
-
i
m
-
f
w
-
-
k
-
-
m
-
p
-
c
b
j
-
-
-
k
-
e
l
-
e
e
f
-
-
t
-
u
-
-
-
g
-
l
-
o
-
n
-
k
y
-
r
-
o
m
-
o
-
t
f
-
-
-
l
-
-
x
-
c
-
e
-
s
-
w
-
w
-
p
-
o
-
q
q
o
-
g
-
g
-
-
-
g
-
u
q
-
-
t
p
i
-
-
-
t
-
t
l
w
-
-
-
p
o
h
-
-
k
-
y
-
x
-
-
b
-
w
-
r
n
-
-
r
-
q
-
t
-
f
o
-
m
d
-
-
-
w
-
o
d
-
-
c
-
c
i
c
-
m
-
-
e
-
-
h
-
y
k
-
-
l
-
b
-
l
-
v
-
u
j
r
-
-
c
x
l
c
v
-
a
-
n
-
-
r
k
x
-
-
-
-
-
-
e
-
-
w
-
s
-
j
-
m
-
y
j
-
u
-
-
i
-
x
-
k
-
j
t
-
-
a
-
k
l
-
-
l
i
-
p
n
e
-
-
m
r
j
g
s
-
-
-
-
-
-
-
h
-
m
-
p
-
y
-
a
-
h
-
b
-
r
c
-
-
m
-
l
-
r
-
p
c
-
a
-
-
a
-
u
-
b
-
h
h
-
e
f
-
-
e
-
-
y
o
e
-
l
l
-
u
-
-
-
-
g
-
q
-
i
j
-
-
t
x
-
-
t
-
x
-
r
-
y
f
b
-
n
-
-
v
-
-
a
-
h
-
j
-
w
-
l
-
o
-
w
-
i
-
d
-
t
o
e
-
h
q
-
-
-
-
e
-
v
p
v
-
a
-
-
-
m
-
m
-
f
y
-
-
y
-
k
-
g
-
h
e
-
f
-
-
n
y
s
-
-
w
-
-
v
-
c
y
-
-
v
-
l
-
s
-
y
a
-
w
-
r
-
-
s
y
h
-
-
f
i
n
-
-
-
-
q
j
a
-
i
-
-
a
-
-
m
-
n
-
i
-
l
-
g
-
d
-
r
-
s
s
-
-
q
-
e
-
c
j
o
-
-
r
-
-
x
-
c
-
u
-
f
-
n
o
-
-
i
o
c
u
-
p
-
i
p
-
-
-
-
-
w
t
-
y
m
-
a
c
i
-
n
p
-
-
h
-
-
-
-
-
g
-
o
x
-
-
a
m
-
-
k
-
e
d
-
o
v
-
-
j
-
-
n
u
-
p
-
h
q
-
-
-
p
-
j
h
-
-
l
k
-
h
t
l
-
-
g
-
-
-
m
t
m
-
-
-
c
-
g
-
l
f
-
b
-
r
-
u
-
-
w
-
c
f
-
-
u
f
-
-
b
-
b
-
e
f
-
-
u
k
y
j
h
-
-
-
p
-
s
-
k
-
-
v
i
-
w
-
-
-
g
r
w
-
-
-
e
-
l
-
n
q
n
-
a
k
-
-
e
-
-
t
-
a
-
-
r
-
b
-
x
-
c
-
d
-
p
-
m
-
l
l
-
-
t
w
-
-
l
-
r
-
x
-
e
-
a
-
l
-
x
-
g
-
w
b
a
-
-
-
n
-
c
-
f
-
p
i
-
-
c
a
-
r
q
-
r
-
y
-
d
-
q
-
-
-
l
o
-
u
s
-
-
-
o
l
-
-
f
m
-
-
q
-
w
-
m
-
s
-
d
-
i
r
-
g
b
-
-
p
-
-
d
u
-
p
-
-
p
m
g
v
-
-
j
-
-
g
-
-
c
-
d
c
-
-
g
-
n
-
k
-
x
-
v
l
-
-
f
u
-
v
v
-
-
-
b
-
k
-
u
v
u
a
h
-
-
h
-
-
-
u
k
-
-
-
k
-
u
-
y
o
-
-
q
-
j
-
w
-
d
s
u
-
-
-
a
-
c
-
j
u
-
-
m
-
p
-
e
x
-
-
m
-
b
q
-
-
t
-
f
-
r
-
k
-
a
-
c
-
i
-
w
j
-
-
y
g
j
-
-
-
a
-
f
-
t
-
o
d
v
a
-
i
-
-
n
s
v
-
-
c
-
-
m
-
-
-
e
s
-
-
s
k
-
-
y
a
-
-
m
f
-
-
g
-
q
-
t
-
b
f
-
-
h
d
-
-
l
-
j
-
k
p
c
-
-
-
o
h
-
-
m
-
u
l
f
o
l
p
a
-
-
-
-
h
-
r
-
-
i
a
f
-
-
-
-
-
t
e
-
-
k
-
l
-
u
t
y
-
-
x
j
-
-
-
o
-
r
-
g
c
o
s
-
-
-
x
-
-
r
-
r
c
w
i
-
-
d
l
-
-
-
-
f
-
a
h
-
m
-
r
-
-
c
-
n
-
p
-
u
i
-
-
p
-
f
-
n
-
l
-
v
-
l
-
k
-
s
d
m
-
-
-
p
-
s
-
w
-
p
q
-
-
s
-
f
-
q
-
k
-
g
o
-
-
s
-
d
-
h
-
p
r
f
-
-
-
a
-
l
k
-
e
-
-
p
-
k
-
w
c
d
-
r
-
k
o
-
-
x
-
-
f
-
-
t
r
s
-
-
-
y
-
p
j
-
-
d
g
x
-
-
-
q
-
p
-
k
t
-
v
-
-
v
-
x
-
t
-
p
k
y
-
p
u
-
-
-
v
-
l
-
-
n
-
c
-
h
-
t
-
s
c
-
k
-
-
b
c
a
d
w
w
a
x
u
r
-
n
-
-
-
w
f
u
v
-
u
-
-
-
y
-
s
-
-
m
-
-
v
e
n
s
y
-
-
-
-
-
-
-
-
-
-
k
i
g
-
-
-
-
i
-
b
-
l
f
m
-
-
-
s
i
x
v
u
o
-
-
-
u
-
-
-
d
-
-
r
-
w
p
-
-
v
-
y
r
c
-
-
-
t
k
-
e
c
-
-
e
b
-
-
-
h
-
h
-
b
a
-
-
t
-
s
d
-
e
b
-
-
-
n
-
p
-
h
-
r
-
t
e
b
f
y
f
-
-
-
-
-
c
s
-
-
-
g
-
i
-
h
-
q
-
t
-
l
o
-
q
-
-
a
e
n
-
-
q
-
-
e
-
m
-
r
h
-
-
j
-
y
d
-
-
m
-
q
-
o
-
c
g
-
o
-
-
p
-
g
m
r
-
w
-
-
-
v
-
t
-
t
-
y
l
b
-
-
-
y
-
b
s
-
-
k
-
k
x
f
t
w
-
-
-
-
-
q
-
i
h
i
n
h
-
-
-
-
-
b
-
j
-
f
-
s
-
f
v
-
c
l
-
f
-
s
-
d
w
-
-
-
-
y
-
v
-
p
-
v
-
r
-
a
-
c
-
q
-
t
-
l
-
h
-
l
-
w
-
c
w
g
-
-
-
n
-
p
-
a
-
u
-
n
o
e
-
r
k
-
-
y
-
-
i
-
-
y
-
x
-
w
s
l
-
o
s
-
-
-
v
-
-
a
-
t
-
i
-
j
-
k
-
u
p
-
-
f
k
-
-
g
-
t
-
d
f
-
-
f
-
w
e
d
p
-
-
-
g
n
-
-
-
m
o
c
-
-
-
i
-
j
x
-
n
-
-
j
-
m
-
n
-
e
-
o
y
d
-
i
-
-
-
d
-
x
u
-
-
i
-
d
-
w
-
h
v
-
f
-
h
-
-
w
-
n
n
-
a
w
-
-
-
f
-
o
-
n
f
-
-
l
u
-
-
u
-
v
-
x
-
m
-
b
-
f
-
q
q
-
-
q
-
u
-
x
w
s
-
t
b
j
-
e
-
-
-
h
-
-
-
k
t
-
-
c
-
c
g
j
h
-
-
f
-
-
-
d
c
-
b
-
-
g
a
-
-
h
-
o
-
w
-
e
-
h
-
t
-
d
-
p
r
-
-
p
v
-
-
j
-
k
-
b
m
y
p
-
r
-
b
-
-
-
-
h
b
c
-
d
t
-
-
-
-
i
-
o
-
v
-
i
-
n
j
-
g
-
-
j
-
n
-
b
-
a
-
u
-
v
u
-
-
s
-
u
-
g
-
i
-
d
-
u
-
n
-
e
-
l
h
q
-
u
-
e
c
-
m
-
-
-
-
r
-
o
-
o
-
w
-
n
o
b
-
-
-
e
-
b
-
b
-
v
-
q
-
j
-
o
b
j
-
-
-
d
-
p
-
l
u
t
l
-
-
-
-
f
-
i
-
k
-
i
-
x
e
-
-
w
m
y
-
-
-
o
l
-
-
d
-
w
-
i
r
-
-
b
-
r
-
e
-
b
-
l
-
j
-
t
g
k
-
-
-
j
-
s
-
m
w
-
-
h
c
h
-
-
i
-
o
v
-
p
-
-
-
k
-
w
-
t
s
n
-
f
-
q
-
-
-
y
c
k
-
-
-
o
-
d
-
h
v
b
q
-
f
u
-
-
-
-
c
-
-
x
d
-
u
-
-
y
f
e
-
-
h
-
-
y
-
y
x
-
-
e
-
e
-
o
w
-
t
-
v
l
-
o
-
-
-
d
-
s
m
y
w
-
-
-
-
u
g
-
u
y
-
-
-
i
s
u
-
-
l
-
h
-
x
-
-
n
-
d
-
w
-
u
-
i
-
m
j
x
x
-
-
-
-
w
-
v
-
l
-
b
-
j
w
-
y
u
-
a
-
w
-
-
w
-
-
m
q
l
-
-
-
f
-
v
-
s
f
-
-
f
p
m
i
-
-
-
v
-
-
p
-
f
-
k
-
t
-
r
-
u
b
-
w
d
-
-
-
a
-
b
-
p
i
-
k
-
-
l
x
-
-
p
-
b
-
b
-
m
-
w
-
e
s
-
-
h
-
u
-
h
f
-
-
e
-
n
-
d
-
t
-
g
j
-
-
h
q
n
-
-
-
i
-
g
l
g
-
-
a
-
-
m
-
a
-
y
-
a
q
-
-
j
-
f
k
d
h
-
-
h
-
-
-
q
-
v
-
p
u
-
s
w
-
-
x
i
e
e
-
d
x
-
-
-
-
f
-
-
o
-
k
-
-
g
-
s
-
a
w
-
-
m
-
u
-
w
q
u
-
-
-
r
-
r
f
-
b
p
-
v
-
-
-
l
-
h
j
v
-
t
-
-
-
y
-
i
-
g
-
d
h
y
-
-
-
v
t
h
-
-
x
-
-
x
o
v
p
-
-
-
-
v
-
w
-
g
-
q
-
c
-
y
-
f
-
c
-
k
u
-
-
w
-
m
-
n
o
-
c
y
-
-
-
p
r
w
-
-
-
w
-
p
-
r
-
t
-
s
-
d
-
c
-
q
-
a
-
d
-
p
-
f
s
-
g
g
-
-
a
-
-
d
-
c
-
h
u
-
q
-
h
k
-
-
-
j
f
f
j
-
-
y
s
-
-
-
-
q
-
h
-
a
-
s
-
b
h
-
-
b
-
d
-
a
e
-
a
j
-
-
-
p
-
j
-
t
-
r
q
-
j
-
n
-
f
-
-
e
-
o
-
y
-
q
u
-
-
u
q
-
-
l
-
o
n
-
-
q
-
k
-
h
-
q
-
v
-
b
-
n
-
h
-
v
-
x
-
p
c
k
-
l
-
-
-
t
-
t
h
-
g
d
-
q
-
u
-
x
-
-
w
-
a
-
-
c
-
e
-
l
-
n
f
-
t
-
-
g
-
g
-
q
-
a
-
j
-
t
-
x
-
e
-
a
-
q
-
t
o
-
-
u
n
g
k
a
c
v
m
d
a
-
-
-
-
-
-
-
-
j
-
-
-
u
-
w
h
-
-
u
-
i
x
-
v
-
-
s
-
o
p
-
n
-
-
o
l
-
-
a
b
-
-
p
-
d
-
a
-
y
-
y
-
u
-
j
-
y
-
e
-
o
-
f
-
d
q
-
s
-
n
-
g
-
u
-
s
-
p
-
-
b
l
-
-
j
-
a
-
y
-
d
-
b
-
t
-
i
-
o
-
o
-
b
-
f
y
-
-
g
b
s
-
-
a
-
-
e
t
-
-
k
-
m
j
a
-
-
-
s
-
q
-
t
-
l
-
v
-
l
-
w
-
u
-
i
c
-
-
q
-
y
-
t
-
o
-
r
y
-
-
f
-
t
-
e
-
p
-
c
-
p
f
a
d
q
f
h
b
-
o
-
w
s
w
-
i
q
-
r
-
n
y
w
f
-
-
p
-
-
-
-
m
f
x
-
-
v
-
-
g
d
-
-
-
v
b
-
-
-
-
-
-
-
-
d
-
s
r
-
-
g
-
-
-
o
x
h
-
-
-
e
y
-
-
n
-
g
q
-
c
x
-
-
-
u
r
-
u
e
-
-
u
t
-
-
-
x
p
-
y
-
-
e
-
x
c
y
-
-
c
-
j
i
-
-
y
w
o
-
g
-
n
l
k
-
-
-
d
-
-
o
-
-
i
-
b
m
-
-
p
-
-
c
-
s
c
g
-
j
-
-
w
-
j
-
-
x
-
x
o
-
h
-
-
r
-
p
c
u
p
-
-
-
u
-
-
j
-
n
-
s
-
d
-
s
-
s
-
j
-
d
o
-
-
x
-
g
-
e
-
a
w
k
-
-
-
b
b
e
-
-
-
o
-
q
u
-
v
x
w
-
-
-
t
b
-
-
-
f
-
o
i
-
w
x
w
-
-
-
o
-
-
v
-
v
a
-
-
r
-
k
y
-
x
-
-
k
-
v
-
i
-
w
-
w
-
t
u
-
-
d
-
u
-
c
-
c
-
y
-
n
-
l
-
c
e
-
w
-
y
-
-
i
k
-
-
g
-
e
-
e
u
-
-
h
-
i
-
u
c
u
-
-
-
a
-
y
g
-
c
f
s
-
r
b
-
r
v
t
y
-
-
-
-
l
n
-
-
-
f
-
-
-
-
x
-
i
k
-
-
a
g
-
-
e
-
p
-
u
-
n
-
p
-
r
e
m
-
-
-
o
-
i
-
p
-
p
k
i
-
-
-
m
-
f
-
m
-
c
-
h
-
r
n
l
-
-
m
g
y
-
-
-
-
x
-
g
-
p
f
p
-
w
-
o
i
-
s
v
-
-
u
-
-
-
-
h
-
b
-
l
-
a
-
h
v
p
c
-
-
-
x
l
-
-
-
d
-
n
-
l
c
-
-
v
-
v
-
e
-
g
-
q
-
w
-
r
n
-
-
v
t
-
-
m
v
-
-
s
-
n
-
i
-
o
-
a
-
b
a
-
d
-
i
-
-
k
y
-
-
d
-
e
-
x
-
p
-
i
-
l
a
-
-
g
y
w
-
-
k
-
-
b
-
c
-
b
-
r
q
-
l
-
j
h
u
-
-
d
j
-
e
p
-
-
-
-
b
-
-
v
-
y
k
-
-
v
-
i
-
u
-
c
-
q
-
o
x
g
-
-
-
y
-
j
-
h
-
j
i
-
-
f
-
p
r
-
-
h
g
-
-
h
a
d
i
-
-
-
l
-
-
g
-
h
-
l
-
v
-
d
b
-
h
-
j
y
t
-
-
-
-
p
g
s
-
-
-
c
b
-
g
-
-
v
-
x
u
-
-
s
x
-
-
b
-
p
-
g
-
j
-
v
-
q
-
r
-
r
-
q
-
w
-
l
-
l
-
x
-
j
s
-
-
c
-
s
-
a
t
-
-
i
s
-
s
-
-
u
-
a
y
-
-
q
-
x
-
m
-
i
-
e
-
k
x
-
m
-
-
w
p
-
-
j
-
b
q
e
-
-
-
a
q
-
r
i
-
k
-
-
-
o
g
-
b
-
-
s
f
-
k
-
-
k
-
l
y
-
-
q
-
k
s
-
v
-
-
p
o
-
d
-
-
a
b
-
-
e
-
m
-
y
-
x
p
-
-
m
x
-
c
-
c
-
a
-
c
-
d
v
k
-
-
-
v
d
d
-
-
-
-
p
w
-
p
-
-
n
-
d
-
e
y
-
g
-
w
-
-
t
y
-
-
w
l
-
y
-
-
b
q
-
-
t
-
d
-
l
-
l
d
o
-
-
-
f
f
-
s
a
-
-
f
-
-
m
b
-
-
q
h
e
-
y
-
s
j
-
-
-
b
-
j
-
-
x
-
w
o
-
-
j
k
-
m
e
b
-
e
-
-
-
-
r
-
q
l
-
-
g
-
p
-
l
-
b
-
a
-
c
-
b
-
a
-
s
o
c
m
w
-
a
-
-
-
-
u
l
-
q
-
-
n
d
-
l
-
-
-
j
-
c
-
t
-
r
-
v
m
-
-
a
p
b
-
-
-
x
-
j
x
-
-
h
-
h
-
l
-
b
-
r
-
r
-
u
-
d
m
-
g
-
o
-
-
v
l
-
b
c
-
j
-
-
-
t
p
-
-
q
-
s
-
l
-
c
k
m
h
-
l
-
-
e
-
-
-
b
-
h
f
-
-
c
-
h
y
-
-
x
o
i
-
-
-
j
w
-
-
u
-
r
-
y
-
j
u
-
-
f
-
j
-
c
-
d
-
v
t
-
-
t
-
f
-
x
-
d
x
-
-
r
-
d
-
n
-
b
-
b
f
-
-
q
-
w
-
f
-
x
-
m
-
y
-
g
-
a
-
n
-
j
-
e
b
a
-
-
-
u
n
-
-
r
y
-
-
c
-
p
-
k
r
j
-
x
-
-
-
b
r
-
-
o
-
o
-
o
h
y
-
u
-
-
-
e
-
l
-
e
e
-
-
o
a
-
-
h
l
y
h
g
-
-
-
-
-
l
-
d
-
r
-
p
-
w
-
i
v
u
-
i
-
-
-
y
o
f
-
-
-
w
-
n
a
-
-
x
u
-
-
p
o
-
-
w
-
e
-
e
v
-
-
t
-
r
p
-
-
w
-
i
q
-
e
-
-
l
-
v
-
b
-
h
j
v
-
-
-
s
-
i
-
t
-
x
-
l
-
b
s
-
-
c
-
h
-
h
l
-
g
-
-
r
-
r
-
d
-
d
w
-
m
-
-
l
-
t
-
b
-
q
-
r
d
-
-
s
-
w
d
-
j
-
h
-
l
-
-
h
-
v
-
p
-
d
-
b
-
t
-
v
-
l
-
o
-
a
x
k
w
-
-
l
-
-
p
-
-
r
-
v
b
t
-
-
-
q
h
-
l
j
-
s
-
-
-
b
m
f
-
-
-
h
-
b
-
o
-
o
-
t
o
k
f
-
-
b
-
-
-
o
c
o
-
-
-
s
-
j
k
-
f
q
d
-
-
l
s
-
g
d
-
-
r
u
c
-
-
-
q
-
-
v
r
-
d
-
p
-
k
-
-
q
-
-
t
-
p
j
k
-
-
-
-
k
n
-
-
a
-
d
-
b
v
-
-
m
v
m
m
-
-
d
-
-
o
-
-
f
-
f
w
-
-
b
-
f
-
f
-
e
-
t
j
-
j
-
-
p
j
-
-
i
-
k
y
-
u
-
r
-
s
b
-
-
-
o
f
-
-
i
x
a
b
-
-
n
-
-
-
r
x
-
q
-
-
r
j
w
-
-
-
e
c
-
-
t
-
s
-
p
-
u
-
g
-
r
p
-
r
-
o
-
-
b
w
-
f
i
-
-
-
d
q
-
n
o
e
-
-
-
-
f
-
b
-
v
g
b
-
-
-
e
-
b
e
-
-
m
i
m
-
-
-
t
-
e
-
r
-
k
-
c
-
n
-
u
-
o
-
e
k
u
o
-
-
-
-
y
b
-
-
l
-
e
-
o
-
l
-
j
a
-
-
w
-
r
-
r
-
s
u
b
-
-
o
d
t
-
-
-
-
c
-
r
-
x
-
l
i
-
-
i
-
a
x
w
-
-
j
x
-
-
-
c
-
m
w
-
f
-
y
-
h
x
-
-
-
k
t
s
-
-
w
-
-
t
e
-
m
-
-
m
l
-
-
r
-
m
x
-
-
n
n
-
-
h
-
d
b
-
-
a
w
m
-
-
-
a
-
i
-
a
-
l
-
e
o
-
-
v
-
j
w
-
-
w
-
o
-
b
q
-
l
-
m
-
-
m
-
j
-
j
v
c
o
-
-
-
-
t
-
u
-
v
k
-
-
g
b
u
v
f
f
w
-
-
-
-
-
e
a
i
d
e
-
-
p
-
-
-
-
c
x
-
-
-
-
b
f
-
-
v
-
m
-
s
-
n
-
q
j
-
q
-
-
s
-
i
-
v
v
u
-
q
g
r
-
-
-
-
m
-
c
-
-
m
-
i
t
y
-
-
-
h
-
i
l
p
g
-
-
i
-
l
-
-
-
o
r
-
-
p
-
x
-
u
v
-
-
k
-
d
-
r
-
e
-
s
-
w
-
b
-
l
-
r
-
y
y
-
-
j
-
m
i
l
-
-
-
k
-
i
-
b
a
b
k
n
-
-
-
k
r
-
g
-
-
v
-
-
-
u
b
-
-
s
-
b
-
t
-
t
-
d
d
-
-
d
-
j
-
s
m
-
-
i
h
b
f
p
d
-
-
k
x
-
-
-
-
j
g
y
a
k
u
d
k
w
o
-
-
-
m
-
-
t
-
u
n
-
s
i
-
-
-
-
-
g
y
-
o
-
-
-
-
v
-
-
f
v
i
-
-
b
n
l
-
-
e
-
-
t
r
-
r
g
h
-
-
-
-
n
a
-
f
-
-
-
-
c
-
k
x
-
l
-
-
q
n
-
q
j
-
-
-
-
-
h
-
m
k
-
-
o
-
x
-
l
q
-
q
-
u
-
-
w
x
-
-
l
e
p
-
-
-
e
-
s
-
f
n
-
-
v
-
n
-
l
r
w
-
-
-
l
-
r
-
a
-
n
-
y
-
x
j
-
-
e
-
d
-
j
i
-
-
r
-
h
u
w
-
-
-
m
s
-
-
q
-
t
-
l
-
k
-
m
f
-
n
p
r
-
-
m
-
-
-
s
-
y
n
x
-
y
e
s
c
-
-
-
f
-
-
-
-
j
-
l
-
s
-
b
v
-
f
-
-
s
-
x
-
d
j
-
-
t
-
g
-
n
-
e
-
a
r
-
r
-
f
-
-
y
-
b
-
u
-
l
-
a
a
i
-
-
-
o
-
s
v
-
m
d
o
-
-
-
-
c
-
t
c
-
-
o
-
k
-
f
k
q
d
-
-
-
m
p
-
m
-
-
f
-
o
-
-
i
-
i
-
s
-
f
-
o
s
j
-
-
-
b
-
s
h
-
r
f
-
p
-
-
-
r
-
h
-
t
l
l
c
-
d
-
-
u
-
-
x
-
d
l
s
-
k
-
c
k
-
-
b
m
-
-
-
p
-
-
-
m
a
-
-
h
-
d
-
v
-
l
-
o
l
-
-
x
h
-
-
p
a
j
q
-
v
-
m
-
d
-
-
s
-
-
a
-
e
k
-
d
-
-
-
f
-
x
-
x
x
-
a
-
-
p
-
r
w
o
-
b
-
-
-
i
i
c
-
-
-
x
p
-
-
a
c
c
y
-
a
u
-
-
-
p
-
-
-
q
-
q
w
l
h
-
q
j
-
t
-
-
-
w
-
-
-
f
-
h
p
b
-
g
-
-
-
o
q
-
b
-
-
y
-
a
-
e
-
q
l
-
-
q
-
o
i
-
-
q
-
y
-
d
-
w
c
-
-
i
-
m
h
-
-
s
m
-
-
d
-
q
r
-
-
x
r
u
-
x
-
r
b
-
-
-
-
n
-
h
d
o
d
-
-
-
-
b
-
j
-
d
-
g
q
-
-
p
x
-
b
e
l
-
-
u
-
-
-
b
t
l
-
c
-
-
-
w
-
i
-
a
g
-
-
q
-
j
-
k
-
q
j
-
-
r
y
-
-
f
-
w
-
l
-
n
l
-
-
e
-
f
r
w
-
-
-
i
x
r
-
w
-
-
s
-
-
y
-
j
d
-
-
i
-
t
-
l
-
j
-
g
-
b
f
-
j
e
-
-
f
-
-
o
-
x
o
s
-
-
-
f
-
y
f
m
-
-
-
g
-
u
f
-
-
a
t
t
x
p
-
i
-
-
-
-
-
e
-
t
-
e
i
-
-
h
-
g
w
-
-
l
w
p
j
-
-
-
e
-
-
f
a
-
-
x
-
s
d
-
-
y
y
l
-
-
t
-
-
s
-
i
-
y
-
w
w
k
-
-
-
l
-
b
-
k
-
w
e
-
-
k
h
c
-
u
-
-
-
i
e
h
i
q
-
d
c
-
l
-
-
-
-
q
-
-
s
r
-
-
-
m
-
u
-
y
-
f
-
g
-
m
-
o
-
p
-
t
-
k
d
-
-
y
-
k
h
w
x
-
c
-
g
d
-
-
-
v
-
-
-
c
i
-
-
p
-
d
v
-
-
m
v
-
-
j
-
b
b
-
-
a
-
r
-
p
j
-
-
f
-
i
-
e
d
-
-
k
k
w
i
-
l
-
e
-
g
d
-
-
-
b
-
s
-
-
-
p
-
m
-
w
-
s
-
g
u
p
m
r
-
-
j
-
d
-
w
i
-
h
-
-
-
-
o
-
-
u
v
-
-
c
-
d
s
s
-
u
-
-
w
k
b
-
-
-
u
-
-
q
-
d
v
-
-
o
y
h
v
-
b
q
-
-
-
-
-
y
-
o
q
-
u
-
-
e
m
b
-
-
-
i
-
i
-
l
-
i
-
n
-
v
-
h
-
u
-
p
-
e
b
-
-
k
q
-
-
p
d
-
p
-
-
h
-
u
-
j
-
j
y
-
-
u
-
b
w
-
x
-
u
-
-
d
-
r
-
h
m
-
-
p
-
p
d
-
-
w
-
n
-
o
-
g
-
c
e
-
-
u
p
-
-
d
-
d
-
c
-
t
-
a
k
-
-
g
n
-
-
g
-
p
u
-
-
v
-
n
-
c
p
c
-
l
-
f
h
l
f
i
-
l
i
-
q
g
-
-
-
-
b
-
v
-
r
c
-
-
i
x
-
d
-
o
-
-
-
-
-
-
m
-
-
t
-
j
u
-
-
r
a
-
-
c
-
u
c
-
-
e
-
l
k
-
u
-
-
g
-
m
c
p
-
-
-
h
g
i
b
-
-
-
-
f
-
k
x
-
-
i
-
y
-
m
a
q
-
-
-
s
q
-
-
r
-
e
-
d
-
k
t
-
-
e
l
-
-
y
-
v
-
t
-
y
-
h
-
q
v
u
f
-
-
-
i
-
-
s
h
-
-
j
p
-
x
-
y
-
-
h
l
-
-
d
-
v
-
i
n
-
d
-
r
-
-
q
-
t
-
f
-
r
m
-
-
w
-
c
-
h
x
-
-
f
p
-
-
y
m
-
-
o
-
o
w
-
d
-
-
g
-
k
-
e
-
t
-
n
-
h
d
-
-
j
i
r
g
i
-
-
-
o
d
-
-
c
-
c
-
-
-
a
-
r
-
r
-
o
-
b
t
a
c
-
-
-
-
q
n
h
e
-
-
-
r
-
s
-
-
b
-
e
-
p
-
n
-
w
g
-
-
r
-
j
-
d
b
r
-
o
-
-
-
j
-
i
-
a
h
-
-
u
o
-
-
s
r
-
-
u
-
g
-
q
-
b
-
t
a
j
-
-
-
u
l
-
t
-
w
u
-
-
-
m
-
e
-
l
-
t
-
v
-
f
-
x
-
d
-
r
p
d
r
-
-
l
f
-
-
-
-
s
a
-
-
b
f
o
d
-
h
-
-
x
-
x
-
-
-
i
-
m
v
-
-
w
-
n
-
x
-
m
f
-
j
-
-
h
-
n
u
o
-
-
-
u
g
k
y
-
-
-
-
h
r
v
d
q
-
-
-
-
-
i
-
x
-
a
-
r
-
q
-
m
h
p
-
f
-
-
f
-
f
-
r
w
-
-
-
g
d
q
-
-
v
-
b
-
-
e
u
-
-
q
-
t
-
h
-
j
b
-
-
f
-
i
-
p
-
i
-
x
-
l
-
x
-
n
-
m
-
c
v
-
-
s
-
v
-
m
-
b
-
u
-
j
a
-
-
p
-
j
f
-
-
x
-
w
a
-
-
e
-
c
-
o
f
j
-
-
-
t
-
h
-
v
t
t
-
-
-
p
y
-
-
i
-
b
v
p
g
w
e
-
-
-
-
-
-
s
-
w
-
y
n
-
p
-
x
-
-
h
w
-
h
-
-
v
-
h
-
l
-
f
-
b
-
g
-
d
-
u
t
-
r
c
-
-
-
g
-
d
-
s
-
r
-
a
-
h
-
f
-
d
p
-
-
t
-
c
-
w
w
-
-
b
-
m
-
n
-
g
h
-
o
t
h
e
-
c
l
-
i
t
-
-
s
j
u
-
-
-
-
-
-
-
-
s
-
x
-
q
t
-
-
a
r
-
-
s
-
x
q
-
-
m
y
a
-
c
r
-
-
-
-
k
w
c
x
-
-
-
-
l
-
p
-
a
g
-
o
-
-
m
l
l
-
-
-
g
-
u
b
-
h
x
-
-
y
-
i
-
r
-
-
l
s
-
-
h
-
l
-
l
u
u
w
f
-
-
t
-
-
-
-
b
b
j
w
-
-
-
-
q
-
h
c
-
w
-
-
g
-
v
j
-
-
e
-
l
a
-
-
c
-
s
-
i
-
j
-
u
c
-
q
p
-
-
i
-
-
l
d
-
v
-
-
s
-
u
h
-
o
-
a
-
-
o
-
q
-
u
-
p
-
v
-
j
-
u
-
g
-
q
-
c
b
-
-
o
-
n
-
f
i
-
-
h
-
p
-
k
n
g
-
-
-
k
-
k
g
-
-
r
-
g
-
c
c
-
-
h
-
u
t
-
-
k
-
u
-
y
s
-
-
n
-
e
-
w
o
-
-
o
-
f
-
i
-
y
-
t
-
f
b
-
k
-
-
v
-
a
m
-
d
l
i
-
l
y
-
e
-
h
w
-
-
k
-
-
-
y
-
g
l
-
f
-
-
-
-
i
c
v
-
-
-
p
-
t
-
y
i
h
-
s
-
-
-
l
-
x
j
-
v
-
-
d
-
p
-
e
-
a
d
-
w
-
r
-
-
v
-
p
-
n
-
d
t
q
-
-
j
-
j
-
-
q
k
m
s
-
-
-
-
t
-
y
v
h
c
o
-
-
s
-
-
-
-
r
-
h
y
j
-
-
-
s
j
-
c
-
-
p
t
l
t
e
p
-
e
w
w
-
q
t
-
-
i
-
-
-
-
-
-
-
r
-
i
-
-
h
-
y
-
o
r
-
-
k
b
-
-
l
d
-
-
u
o
-
q
u
-
c
i
u
-
q
-
-
o
-
o
-
-
-
q
-
-
r
-
u
-
l
-
a
-
x
e
-
-
v
-
r
y
-
-
m
-
r
-
e
-
k
-
c
-
k
y
-
v
o
-
n
-
-
e
-
-
v
-
p
-
y
-
x
-
n
-
x
j
-
d
-
u
v
-
-
l
y
-
k
c
c
-
-
-
-
-
k
-
v
t
-
-
u
-
l
-
b
-
w
-
c
-
f
-
x
e
-
-
x
a
-
-
s
d
-
a
g
-
n
-
c
-
d
-
-
b
-
-
h
-
r
-
m
f
-
-
v
-
p
-
g
j
l
-
-
d
-
-
g
v
-
-
r
-
f
-
y
k
s
-
-
-
v
p
e
-
-
p
p
w
-
j
r
q
-
-
-
-
-
-
k
-
k
-
d
e
-
-
x
r
d
-
-
-
h
i
c
-
-
j
l
t
-
y
v
c
-
-
-
y
-
-
-
g
-
g
a
n
-
-
-
-
j
-
b
-
f
-
h
c
-
-
i
y
f
-
-
-
m
-
w
i
v
-
-
-
f
k
i
-
-
a
-
-
w
f
-
c
-
-
l
-
k
u
l
-
-
-
n
-
c
-
k
-
o
-
x
b
j
o
-
-
-
-
k
-
f
-
u
o
-
-
q
o
y
n
-
-
-
g
-
n
-
d
g
-
c
-
-
-
p
-
f
-
i
l
-
u
-
-
e
k
-
-
u
-
a
h
-
o
s
a
-
e
-
-
x
v
y
l
c
-
-
-
-
-
-
-
x
-
r
-
n
-
a
-
k
-
r
-
q
f
b
w
-
-
-
i
-
q
d
-
-
e
-
-
h
p
u
-
-
-
k
-
v
c
l
-
-
-
k
-
h
-
e
i
m
n
x
-
-
-
-
-
t
-
e
c
p
-
-
o
-
-
h
-
s
-
m
-
b
u
-
t
-
-
o
-
v
-
h
c
-
-
u
-
j
-
r
y
-
y
-
-
g
b
-
-
i
-
m
l
-
l
-
e
s
-
-
-
j
-
t
-
c
q
-
-
r
-
y
-
p
l
-
-
n
-
l
-
t
-
f
-
j
-
f
-
s
-
e
-
w
-
i
s
n
-
g
-
k
j
j
-
t
g
-
-
-
e
-
-
-
-
t
w
-
-
d
-
n
c
w
-
x
x
-
e
a
-
-
-
-
-
t
-
t
i
-
-
v
-
s
-
w
h
-
-
d
q
-
-
i
n
b
-
k
-
c
i
-
-
-
-
g
n
h
-
-
i
-
s
g
l
i
k
c
-
-
h
-
r
-
-
-
-
k
q
-
a
-
-
-
-
h
-
m
-
m
t
-
-
g
-
r
-
g
t
e
-
-
i
x
-
-
-
l
-
r
-
c
-
a
-
f
-
c
-
v
b
-
t
k
-
t
q
-
-
-
-
y
-
g
-
h
-
p
o
-
p
-
u
-
-
u
-
r
-
l
-
g
x
-
u
-
-
c
-
p
-
k
r
-
-
f
-
n
-
g
-
o
d
-
-
e
a
h
b
-
-
j
a
-
e
-
r
-
-
w
-
j
q
-
-
-
d
k
-
i
-
-
-
p
-
y
w
q
k
-
-
r
-
j
r
-
-
-
-
j
-
o
-
h
n
-
d
-
-
a
c
a
-
n
-
-
-
e
-
m
-
q
-
e
-
r
-
f
-
l
-
h
-
e
-
n
-
l
-
c
-
y
-
y
-
e
-
u
-
g
r
c
-
-
-
l
-
n
h
a
e
-
s
-
-
-
-
y
-
e
v
s
-
g
y
-
-
-
k
-
-
y
t
-
-
j
-
c
-
e
-
b
-
o
m
-
l
-
l
t
-
-
-
q
g
-
-
e
r
-
-
b
-
j
-
h
-
a
-
e
v
-
e
-
o
-
u
-
i
n
b
-
-
-
-
g
y
-
n
-
-
y
-
y
a
-
-
i
-
e
t
s
-
j
m
b
-
y
y
-
-
-
-
-
-
t
-
j
m
-
p
-
a
g
f
-
-
-
-
l
-
c
-
w
-
y
-
d
g
q
-
-
y
-
-
n
-
v
-
c
-
i
c
-
-
k
-
r
-
j
-
l
-
u
-
l
-
h
-
w
-
f
w
-
-
s
-
x
m
p
-
k
-
u
-
-
-
f
b
a
l
-
-
-
g
-
-
m
-
e
p
-
-
a
-
w
-
w
-
i
j
-
-
p
-
x
-
q
v
u
i
-
-
-
-
a
-
w
-
t
-
u
v
f
-
r
-
j
-
l
x
-
-
-
-
q
h
-
h
-
-
i
-
i
x
f
e
-
-
o
-
-
y
n
c
w
-
h
-
-
-
v
n
-
s
-
n
i
-
-
q
-
-
-
w
-
-
p
-
w
s
-
-
g
-
m
-
g
h
y
-
f
-
-
-
s
v
-
y
u
-
-
r
-
p
-
-
p
-
e
l
-
c
f
-
-
v
-
-
a
n
-
-
d
u
-
-
d
-
d
s
m
f
-
-
-
-
u
-
g
-
w
-
u
-
e
-
w
i
-
-
u
-
l
-
a
t
-
-
c
-
x
h
s
-
f
-
d
-
-
-
j
-
v
-
l
-
b
f
-
k
-
-
r
-
w
-
q
-
x
-
t
-
w
i
-
k
-
-
h
e
-
n
-
-
n
-
w
-
o
-
g
-
f
-
r
-
q
-
c
e
-
-
a
-
k
u
g
p
-
-
-
k
-
-
r
-
g
-
h
-
a
c
e
-
u
-
-
-
g
-
q
-
b
-
a
-
r
-
y
k
w
-
-
j
-
-
u
-
l
-
j
a
-
p
d
-
-
o
-
t
b
i
-
-
-
-
r
-
l
x
u
-
-
j
-
-
h
-
c
y
t
k
n
e
-
-
-
r
i
w
c
-
q
o
-
-
-
h
c
-
-
-
-
-
l
i
-
-
-
-
o
-
r
-
c
n
-
-
b
k
-
x
-
-
e
-
n
g
-
-
f
-
g
-
o
o
j
-
-
k
u
r
-
-
-
q
r
q
c
-
-
-
-
-
k
-
s
-
g
-
u
d
-
-
w
-
k
p
-
-
m
-
y
-
h
v
-
j
t
-
-
-
d
q
i
-
k
-
-
-
l
-
y
-
t
-
o
-
r
j
-
s
-
s
c
w
c
-
-
n
o
-
-
c
-
-
h
-
x
-
u
-
-
-
j
-
y
f
g
-
e
-
-
-
o
a
j
c
-
-
t
t
-
-
o
-
c
-
-
-
s
-
p
-
p
w
k
-
-
-
p
-
i
w
-
-
t
e
-
-
y
d
k
-
-
-
t
-
s
-
q
-
c
-
c
-
v
-
i
v
-
b
o
y
-
-
r
-
p
-
-
-
o
-
h
-
j
m
-
-
f
-
u
-
j
o
-
v
-
r
-
-
x
-
d
t
-
k
-
-
g
-
h
-
d
-
m
-
d
-
g
-
r
-
a
-
i
-
t
n
b
-
-
-
d
-
y
e
-
-
n
-
f
-
x
s
j
c
t
-
-
-
u
-
-
q
k
-
h
e
g
r
v
-
-
-
-
-
-
-
q
p
-
-
g
-
m
o
-
t
l
h
c
-
-
g
i
-
-
j
-
e
-
i
-
r
-
-
-
-
p
-
n
q
-
-
k
-
y
-
k
-
y
-
a
g
-
t
-
r
-
-
v
-
f
l
v
w
-
y
-
-
-
-
q
-
h
-
a
-
i
-
c
-
k
i
-
f
m
-
-
q
-
-
v
-
j
-
p
w
y
-
-
-
y
h
-
-
m
-
l
-
x
-
k
-
c
-
e
o
-
l
-
-
f
-
o
k
t
-
-
h
-
y
w
-
-
r
-
-
n
f
q
r
-
b
-
h
-
-
u
s
-
n
-
-
-
-
a
-
x
-
g
-
l
-
i
-
t
o
e
-
-
-
j
-
i
-
r
l
-
-
m
-
o
q
-
t
k
-
-
-
b
-
a
-
x
-
a
s
r
-
-
-
f
-
p
u
-
h
c
-
u
-
-
-
q
-
p
-
f
q
-
-
e
-
a
-
y
d
t
-
-
-
g
i
-
-
i
d
-
i
-
-
h
-
f
-
p
-
m
-
s
a
k
w
-
-
-
-
y
u
o
j
-
-
-
e
-
-
a
-
e
-
k
-
q
-
x
-
h
k
-
-
m
j
q
-
-
-
b
-
y
-
t
i
-
-
j
-
c
m
-
-
p
-
g
k
p
-
-
-
d
-
x
q
s
-
-
-
g
s
y
-
-
-
h
y
p
-
-
-
s
-
c
-
g
j
y
-
-
-
h
y
x
c
d
-
-
-
l
-
-
-
m
-
s
m
g
-
-
-
m
l
c
-
-
-
t
-
w
l
m
n
x
b
e
-
-
-
-
-
-
b
-
a
-
-
w
-
i
-
t
-
i
-
c
-
y
m
u
d
-
-
t
-
-
f
-
q
-
-
f
-
b
w
v
h
-
-
-
q
-
o
x
-
y
-
-
-
r
-
h
-
f
-
g
-
g
u
p
n
-
k
-
-
-
-
p
-
c
-
m
-
v
-
i
c
-
a
-
-
c
-
w
p
-
-
s
-
w
-
v
m
k
-
-
w
-
-
n
-
u
-
p
g
-
-
n
-
i
-
s
i
-
-
n
x
n
j
-
-
d
p
-
-
-
-
t
-
r
-
e
-
u
t
-
-
s
-
p
-
h
-
d
-
p
-
j
-
y
a
r
-
d
a
-
-
-
g
y
-
-
-
q
-
y
-
q
h
-
-
w
a
j
g
h
t
-
-
d
-
d
m
-
-
-
x
q
-
g
o
-
t
-
-
-
-
s
-
i
u
-
-
y
a
-
i
-
-
-
-
j
-
t
n
m
-
-
v
-
e
-
-
e
-
b
-
n
-
f
o
q
-
-
-
d
t
-
r
-
l
-
-
e
t
i
-
-
-
q
-
l
-
u
-
x
-
n
-
x
-
j
v
a
-
x
-
-
n
-
-
o
-
s
b
-
-
n
b
-
-
f
-
y
-
f
-
x
x
r
-
j
-
-
-
t
-
e
-
j
q
v
-
-
-
o
l
s
n
-
a
-
-
-
y
o
-
-
-
u
u
-
i
-
-
n
-
a
-
g
-
j
p
r
-
q
u
y
-
-
j
-
-
-
-
i
-
i
-
b
-
e
v
-
-
q
-
b
-
t
-
a
-
l
-
w
-
c
-
m
-
s
-
v
-
m
y
p
-
-
-
j
d
-
w
-
-
t
-
k
-
l
-
k
-
u
-
w
-
w
h
n
l
p
-
r
f
-
g
-
g
-
-
-
-
x
-
-
-
u
a
-
-
u
-
n
u
-
-
n
-
g
-
d
-
g
-
u
-
u
-
q
n
-
-
x
-
o
-
x
p
-
-
l
-
v
-
h
-
c
l
-
-
t
-
g
-
m
-
d
w
n
-
e
-
-
x
-
-
d
-
a
-
l
k
-
-
s
-
v
-
i
e
-
g
g
-
g
a
-
t
-
-
-
-
n
-
g
-
u
-
p
-
x
o
g
-
-
-
r
w
i
-
l
d
-
p
i
l
f
w
-
p
s
-
-
-
-
-
-
-
-
-
n
-
r
h
w
w
-
-
-
s
j
-
c
-
-
-
f
y
l
-
-
-
f
-
u
-
q
l
-
-
c
v
d
-
-
x
-
l
y
-
-
-
r
-
g
-
w
e
m
u
-
-
-
-
h
-
m
-
n
w
o
-
g
-
-
-
d
a
-
-
f
-
s
-
p
-
p
c
f
f
-
-
-
h
v
-
-
i
-
-
p
-
p
o
b
-
-
-
e
-
f
h
b
-
-
a
o
-
-
-
c
-
y
t
-
-
o
-
b
-
v
-
b
p
-
c
w
-
-
-
m
-
r
-
j
o
s
a
-
y
-
-
j
-
i
f
-
-
-
-
f
-
q
-
k
-
x
-
y
i
q
g
-
-
v
-
-
o
-
-
b
e
r
-
-
-
i
q
-
k
a
-
-
b
-
v
g
-
-
-
r
-
i
u
-
-
s
-
r
a
g
p
-
-
-
-
w
-
u
-
n
-
i
-
v
-
h
r
-
-
h
n
d
y
-
-
-
-
t
j
-
-
c
-
w
-
h
-
j
-
a
-
d
-
r
-
m
w
-
-
f
-
e
-
c
w
-
o
-
-
t
-
s
r
a
-
o
-
c
-
-
-
n
-
x
-
v
-
q
o
-
-
b
o
-
-
i
-
k
-
f
t
-
-
a
-
j
-
r
-
g
-
t
-
f
-
j
-
x
n
f
d
-
b
-
-
-
-
h
-
f
-
k
-
d
-
t
-
m
u
-
h
s
-
y
-
-
-
a
-
v
o
-
-
g
-
m
u
f
-
-
g
p
-
-
-
t
y
-
-
f
-
e
-
f
-
p
f
-
-
t
-
i
-
p
-
o
-
t
-
q
-
b
-
e
f
i
-
-
-
u
-
v
-
o
v
-
-
k
b
w
-
-
-
g
-
q
-
v
-
d
l
-
-
c
-
v
-
d
j
-
u
-
-
v
-
f
-
t
-
w
-
f
-
t
v
a
-
-
a
b
-
q
j
-
-
-
l
-
-
y
-
p
-
g
-
x
-
g
b
-
-
c
-
e
u
-
-
v
-
w
-
g
q
-
-
w
-
f
-
d
-
o
-
s
-
b
u
-
-
g
-
h
-
f
t
-
-
f
-
c
-
o
-
e
-
h
-
v
-
f
-
g
c
-
-
r
-
n
f
-
-
r
-
d
-
n
-
x
g
-
-
s
-
n
b
-
v
-
i
-
-
h
-
s
q
-
g
o
-
-
-
l
f
-
m
c
-
-
-
v
v
-
-
e
-
r
s
-
e
-
-
l
p
-
-
i
-
s
-
g
-
f
-
s
f
r
b
-
-
-
q
-
-
m
h
u
-
-
-
c
-
p
-
k
-
k
-
b
-
a
-
d
s
n
l
-
-
h
-
-
-
a
-
g
-
j
-
v
-
d
-
o
-
w
-
v
-
b
-
l
t
-
-
m
-
k
-
l
-
j
-
a
g
e
-
v
m
-
p
l
-
-
-
-
-
p
i
-
i
u
-
q
-
p
-
y
-
-
e
-
r
-
-
j
-
n
g
-
u
q
-
-
-
r
-
u
-
l
-
v
-
v
-
h
-
g
-
w
s
-
-
t
b
o
-
-
-
r
-
x
-
l
-
w
w
q
i
-
x
-
-
-
-
p
-
g
-
n
-
f
-
l
-
l
-
b
e
s
m
-
-
o
-
-
-
q
-
e
c
-
-
j
-
o
-
m
-
u
q
k
n
e
d
-
t
e
d
-
-
-
e
-
-
-
-
-
-
w
-
t
o
x
-
-
-
e
-
g
-
s
-
o
i
-
-
u
-
g
o
-
-
j
-
s
v
-
-
n
s
-
-
j
-
g
-
k
-
v
-
h
-
b
-
j
u
-
-
d
o
u
-
-
-
p
-
v
-
n
-
f
j
y
-
-
k
q
-
-
-
t
-
v
-
f
-
n
-
c
-
e
-
g
-
d
-
b
f
-
-
e
-
i
-
c
h
u
o
-
d
-
-
t
a
-
-
-
-
s
-
j
-
u
m
n
l
-
m
-
-
-
-
h
o
-
v
x
-
-
m
-
-
c
-
j
g
-
-
u
-
q
-
r
-
a
r
d
-
i
-
-
-
s
g
-
s
-
-
p
-
a
-
u
-
b
-
n
-
c
-
b
-
x
-
u
-
r
-
t
-
x
i
-
d
d
-
v
-
-
-
n
-
e
-
i
-
i
l
-
-
a
l
-
-
h
-
w
c
-
o
d
-
-
-
p
-
o
e
-
-
n
v
i
-
i
-
-
-
n
-
q
e
-
-
t
-
k
k
s
-
-
-
a
-
p
-
y
-
i
-
s
-
m
-
a
-
k
r
-
t
e
t
-
-
x
b
-
-
-
j
-
-
u
-
a
m
s
c
-
f
c
-
-
-
-
-
k
-
a
-
w
-
l
-
n
-
h
-
v
-
b
-
t
-
e
-
r
-
p
-
p
-
q
-
l
-
w
-
s
-
s
-
x
-
v
p
-
d
-
-
a
-
x
-
e
f
-
t
-
-
f
-
n
-
s
-
q
-
u
-
k
-
d
-
g
-
o
-
s
w
-
b
t
-
h
-
g
-
-
-
j
l
-
-
u
-
l
-
d
-
x
-
p
u
-
q
-
a
-
-
u
-
d
-
j
i
-
b
-
-
s
-
n
-
h
-
t
n
-
s
-
-
k
s
l
-
g
-
-
x
-
b
-
d
-
-
i
q
-
-
b
-
j
-
f
-
u
-
k
-
y
a
v
-
-
-
l
-
c
-
v
-
q
-
v
-
m
-
h
-
o
-
a
i
x
-
-
-
d
-
y
-
o
q
-
-
g
g
-
-
c
-
n
-
k
-
c
-
x
-
q
-
m
-
i
f
-
w
-
v
-
-
u
p
-
-
v
b
-
-
i
-
m
v
-
-
u
-
s
-
o
s
-
-
h
-
x
-
v
-
l
e
-
w
-
-
u
n
n
-
-
-
w
-
f
-
r
-
g
t
-
-
v
g
g
-
-
-
v
-
c
d
-
-
k
b
-
l
-
-
n
-
u
e
-
-
n
d
-
-
y
p
w
g
m
-
g
u
-
-
-
g
-
-
v
-
-
i
-
-
q
-
t
k
-
-
f
f
-
-
x
-
d
j
j
-
p
-
p
-
-
w
u
-
-
i
k
-
p
-
-
t
-
-
r
-
o
-
p
-
j
-
c
-
h
-
u
-
r
-
g
-
g
d
-
-
c
l
-
-
r
-
i
-
c
s
-
-
h
-
t
-
b
s
-
v
-
q
-
-
d
f
m
a
-
r
y
o
-
-
-
-
l
-
-
-
x
-
h
-
c
-
w
f
-
o
-
-
f
-
x
c
a
-
-
i
-
s
-
-
y
-
b
-
a
-
l
-
n
b
h
-
-
-
d
-
c
-
a
-
j
g
p
-
v
x
j
-
-
-
m
u
-
-
b
-
i
-
-
-
i
-
a
-
s
-
x
-
q
-
i
-
p
-
v
-
y
t
-
-
u
-
n
g
n
n
-
k
e
-
g
-
r
-
o
j
-
-
-
-
p
-
-
-
s
u
-
-
g
j
e
-
-
j
-
j
-
f
-
-
c
-
m
-
f
-
r
-
r
-
c
-
r
-
j
-
q
-
w
-
q
-
k
-
f
-
u
-
v
-
o
n
i
-
m
-
-
f
-
-
h
v
-
e
-
-
e
-
d
-
s
-
c
-
f
-
k
-
a
e
-
-
x
-
y
-
l
-
e
-
l
-
d
-
l
-
e
-
i
u
a
p
q
k
p
-
-
x
-
-
-
-
k
-
a
-
-
-
j
p
-
a
-
-
f
-
n
m
-
-
u
-
x
c
-
n
g
-
d
l
-
-
-
e
t
-
-
-
q
-
y
u
-
-
u
k
-
-
q
-
v
-
r
-
q
-
o
w
o
y
-
g
s
p
-
-
-
-
-
o
-
-
c
-
s
-
i
-
m
-
s
-
q
-
r
-
c
-
n
-
x
x
a
-
-
-
s
t
-
-
x
-
y
-
u
-
k
s
-
-
k
o
-
-
m
n
x
-
-
-
d
-
j
-
y
-
c
-
h
d
f
-
x
-
-
-
y
v
-
-
h
-
g
-
i
i
-
-
c
o
y
-
-
-
m
x
-
y
-
o
-
e
-
-
o
e
-
u
-
v
-
-
h
-
u
-
w
-
r
o
n
-
v
-
-
-
n
-
a
-
d
-
k
m
s
-
y
o
-
-
j
l
-
-
-
x
a
h
-
f
m
-
r
h
-
t
-
e
k
f
-
-
r
x
-
k
-
-
-
-
q
b
t
-
-
-
-
-
-
n
x
-
-
-
g
-
a
m
-
-
w
c
d
-
-
-
r
g
l
p
-
-
-
-
x
w
-
-
t
-
p
i
r
-
-
q
-
-
r
-
d
-
h
-
a
-
s
s
d
-
-
-
m
-
u
-
v
-
e
-
m
-
h
-
r
v
q
y
-
-
-
-
k
f
-
-
w
-
o
s
-
o
-
-
n
k
-
-
e
o
-
-
o
h
-
-
a
w
-
v
-
-
c
-
m
-
w
k
-
t
-
g
-
a
-
k
-
-
i
-
f
-
b
-
i
-
q
-
n
-
l
-
o
-
g
-
p
-
f
-
k
m
h
-
-
e
-
-
g
-
n
-
o
-
e
-
p
-
j
a
b
-
w
h
-
e
-
-
o
-
-
-
v
y
v
n
l
a
-
-
j
o
-
y
-
-
-
-
-
-
e
r
-
b
a
-
-
-
q
o
-
q
u
x
-
-
-
-
u
-
p
-
s
-
q
y
i
p
-
-
-
-
n
x
-
-
u
-
b
-
o
-
p
-
y
-
l
-
g
-
u
c
w
i
-
-
w
-
-
-
k
-
g
-
b
-
a
-
u
-
h
-
g
-
b
i
-
-
k
-
l
-
u
n
k
-
-
-
b
p
f
i
-
-
w
e
-
v
p
-
-
-
-
a
-
-
c
-
n
-
i
-
c
l
-
e
-
-
v
-
a
h
-
-
m
e
g
-
-
v
-
n
-
-
k
-
e
-
t
d
c
-
-
r
-
-
s
-
d
-
t
i
w
-
-
-
y
n
u
-
-
-
j
b
-
-
u
-
w
-
c
-
a
r
-
o
-
r
-
-
v
n
o
o
-
v
w
-
-
j
-
-
w
-
-
k
-
n
-
-
j
-
a
u
b
-
-
-
y
-
y
-
o
a
-
s
-
d
-
-
h
-
w
-
o
-
u
-
s
-
y
-
o
u
e
-
-
-
i
-
o
x
o
-
-
j
r
-
-
-
t
-
i
-
u
-
m
-
t
-
k
y
-
p
-
-
x
a
-
-
f
q
-
-
c
-
n
-
d
d
-
-
c
-
p
-
v
q
-
l
-
-
h
t
-
-
b
t
-
-
b
-
j
-
n
-
i
-
w
-
j
-
m
f
u
-
-
p
-
-
j
-
y
g
-
f
-
s
-
u
v
-
-
o
s
-
g
b
-
-
t
-
t
-
j
-
y
-
-
t
g
e
y
f
-
-
k
-
-
n
-
a
a
m
-
-
p
-
-
-
b
-
-
-
c
-
l
-
d
-
x
g
-
j
-
-
k
-
w
-
w
-
y
-
j
-
s
-
l
-
c
-
s
-
e
-
a
-
r
i
r
-
-
s
-
-
x
-
w
-
e
u
-
-
r
-
t
-
y
-
n
-
g
-
b
i
-
j
-
-
e
o
o
e
-
-
-
b
-
-
d
-
p
s
-
-
d
-
p
k
w
d
b
-
-
b
x
-
f
-
x
-
-
u
-
k
b
-
-
-
e
-
-
-
c
-
i
h
-
-
n
-
c
-
i
-
i
-
r
-
h
l
-
-
t
-
g
-
d
v
-
p
-
e
-
-
q
-
i
-
e
e
l
-
-
-
u
-
p
-
m
-
r
-
e
j
-
-
r
-
r
-
y
b
c
-
x
-
-
-
e
-
w
-
r
a
-
w
-
-
n
e
-
-
s
-
u
-
j
s
h
w
k
-
-
-
i
n
f
-
-
r
-
-
-
g
f
-
o
l
l
-
-
-
-
-
k
-
c
-
c
-
m
-
k
-
x
-
q
-
a
-
b
v
e
-
-
-
c
x
v
h
i
-
-
t
-
x
-
-
-
-
f
w
-
-
m
j
-
-
e
-
d
-
o
-
l
-
y
-
m
-
s
-
k
q
-
c
x
-
w
-
-
-
p
n
u
-
j
-
k
v
n
-
c
d
-
-
-
-
-
-
n
-
o
-
f
-
b
-
h
-
n
a
-
-
k
-
n
-
w
w
d
-
-
p
-
v
-
-
p
-
a
-
l
-
k
-
g
f
m
-
-
e
-
-
o
y
-
-
r
r
-
-
d
n
w
-
q
h
-
-
-
-
b
-
f
-
d
-
l
-
k
b
t
-
l
-
-
-
j
w
-
j
-
u
-
f
o
-
o
a
-
-
-
-
w
c
v
a
-
-
c
-
o
-
-
g
-
x
-
-
w
s
-
-
q
-
j
-
o
j
v
-
-
o
-
s
l
r
-
h
m
m
s
-
u
b
-
j
-
-
-
w
p
y
k
l
o
-
-
e
m
-
-
-
-
-
c
-
e
k
d
v
-
-
-
-
-
a
-
-
-
x
r
-
a
-
-
k
-
-
-
v
-
-
u
-
b
o
q
-
-
p
u
u
-
-
-
-
r
-
f
-
r
f
-
-
x
x
-
m
-
-
e
-
p
-
d
-
r
-
c
-
v
-
w
-
t
-
l
o
-
h
-
-
f
-
i
-
i
-
j
q
-
-
t
-
v
-
j
h
-
-
a
-
w
-
y
-
p
-
c
m
f
-
-
-
h
-
c
w
-
-
u
-
g
-
y
-
k
a
-
-
c
-
v
-
n
n
-
v
-
c
-
-
b
-
o
-
m
-
w
-
o
n
-
-
s
p
-
-
a
-
j
j
-
-
y
-
w
-
x
-
s
-
w
-
o
-
w
-
t
-
l
-
x
-
r
-
d
-
m
c
-
-
a
r
v
f
-
w
-
-
k
-
v
-
-
-
r
-
f
-
b
-
e
g
i
-
-
-
x
-
k
-
l
-
g
x
-
s
n
-
-
-
w
-
u
g
-
b
v
-
-
t
g
-
-
-
k
-
m
-
v
r
-
-
h
n
-
-
v
m
a
v
x
-
-
-
-
r
-
-
g
-
w
-
q
b
q
m
-
-
a
-
r
c
-
-
o
r
t
-
e
u
-
-
-
-
-
-
s
-
k
c
-
-
m
-
w
j
-
-
r
-
i
-
f
-
r
y
-
g
j
c
o
v
-
-
-
u
t
-
-
s
t
-
-
-
-
b
w
-
-
t
-
-
c
-
p
-
k
-
p
-
u
-
e
-
t
-
o
-
l
s
g
t
-
-
-
-
k
-
n
-
w
-
s
-
i
-
l
-
v
l
-
-
u
-
b
k
-
m
-
-
j
-
y
e
b
v
u
v
-
-
-
-
-
v
-
n
-
p
-
-
n
-
g
-
m
-
c
-
r
r
-
-
l
-
v
-
k
-
a
-
a
-
h
-
r
-
c
-
b
-
q
-
d
-
c
-
c
-
p
a
-
-
t
-
o
-
g
-
e
-
y
m
-
-
f
-
d
p
-
-
s
n
u
-
a
n
-
-
q
g
s
-
-
-
-
-
v
-
r
c
d
r
d
c
-
u
-
b
-
-
-
-
-
-
p
-
f
-
a
-
s
k
n
-
-
y
-
i
-
y
f
-
g
i
-
b
-
-
-
-
f
-
o
y
g
-
-
-
v
a
-
-
l
s
-
-
b
-
i
-
a
-
y
-
t
-
h
-
d
-
i
i
-
-
s
x
y
-
d
c
p
-
-
-
f
-
d
-
l
-
-
s
-
-
y
n
-
s
-
-
u
q
-
g
-
-
e
-
g
-
t
w
-
-
c
-
q
-
c
t
s
-
h
-
-
-
b
-
s
l
-
t
i
l
-
-
n
-
n
-
v
-
-
e
o
-
-
-
b
-
d
o
-
-
l
d
-
-
y
p
-
-
c
-
i
-
s
-
k
-
g
-
q
-
o
v
-
-
p
-
r
-
e
-
h
-
k
p
g
-
-
-
n
-
m
-
c
i
x
-
a
-
-
-
q
-
x
-
t
k
-
-
i
-
k
-
r
-
f
-
q
-
b
-
n
-
d
o
-
b
j
-
s
-
-
-
m
-
y
-
g
-
u
-
v
-
v
-
v
-
e
-
h
-
c
-
q
-
d
a
v
-
-
-
j
-
b
f
m
h
u
-
s
-
-
-
-
-
a
o
t
-
-
-
d
s
s
l
q
-
-
i
-
b
-
-
-
e
n
a
-
-
-
-
q
-
g
v
-
-
g
-
g
-
m
-
f
-
r
-
o
-
s
-
j
o
w
-
-
-
a
-
f
y
-
-
r
-
g
-
i
-
d
k
-
-
m
-
u
j
c
-
-
-
k
-
p
-
f
x
s
-
-
-
o
-
f
-
m
-
s
-
v
-
i
-
p
-
a
-
f
y
-
d
-
m
s
-
-
-
m
-
h
w
i
v
-
-
-
-
i
-
h
e
-
-
q
-
y
-
p
j
c
-
r
p
-
o
-
k
b
-
-
x
i
-
-
-
-
m
-
k
-
c
-
-
r
d
-
-
t
-
k
y
u
-
-
b
-
-
h
i
-
-
s
-
v
-
j
i
-
-
r
x
f
-
-
-
g
-
o
-
b
m
-
-
o
-
g
-
y
v
-
x
-
w
-
-
r
u
-
-
j
-
b
i
-
-
i
-
u
-
d
-
v
s
i
b
-
q
s
w
q
-
v
-
t
-
-
-
-
-
u
-
-
-
l
m
l
f
-
-
-
-
f
-
p
g
e
m
o
-
p
e
-
-
-
-
c
a
-
-
-
-
i
j
e
-
-
r
-
q
-
-
j
-
e
w
-
-
y
-
d
-
i
-
o
-
o
-
a
r
-
-
q
-
i
-
t
-
p
-
v
-
c
-
y
b
-
-
d
-
w
-
y
-
h
-
h
k
-
q
-
b
-
-
m
-
x
-
q
k
-
-
a
o
-
-
m
h
j
-
-
v
-
-
m
-
g
-
l
-
p
-
u
-
w
-
e
-
b
-
s
f
-
-
x
k
-
-
j
-
n
j
-
-
p
y
-
-
j
-
w
-
s
-
y
-
h
-
f
x
-
-
a
-
n
-
f
-
n
-
s
-
g
w
d
d
-
n
-
b
c
-
-
-
-
-
i
-
s
-
f
w
-
-
s
j
-
-
c
-
k
-
j
q
-
-
k
r
s
n
-
-
-
-
k
-
q
-
p
-
a
q
-
-
o
-
a
j
-
-
m
u
-
-
t
u
-
-
k
-
e
-
n
p
w
u
-
d
-
-
-
-
e
-
m
-
f
i
-
n
n
g
-
-
k
-
-
c
-
c
-
-
d
f
v
p
-
u
-
-
y
c
y
-
-
-
g
-
-
-
d
a
-
-
o
n
-
b
x
-
y
-
-
-
o
-
k
-
d
-
u
-
j
f
-
-
m
y
o
k
-
-
q
-
w
-
l
-
-
e
-
n
-
-
s
-
g
a
-
-
u
q
-
i
-
f
-
n
m
-
-
-
a
-
o
u
r
f
-
t
-
-
g
-
-
-
j
-
b
-
e
-
r
-
g
r
d
-
k
-
-
-
p
-
t
-
d
-
j
-
o
w
r
-
-
-
u
-
r
e
-
-
c
i
-
-
f
-
v
j
-
-
w
-
b
-
q
-
j
-
o
x
y
u
-
g
e
f
b
-
-
-
n
o
-
-
i
-
-
-
-
e
-
-
d
d
-
w
-
-
y
-
l
-
s
-
u
i
-
-
p
-
f
v
-
-
i
y
x
-
-
-
s
-
w
-
l
-
n
q
-
-
l
-
e
-
m
b
p
u
-
-
-
-
m
-
j
-
j
-
n
-
y
-
o
w
w
n
l
-
h
-
w
-
-
h
a
q
-
-
-
e
u
-
-
q
b
-
-
-
-
-
l
-
u
-
f
-
q
d
-
y
c
l
-
-
-
-
x
-
m
-
a
h
-
-
r
-
v
-
m
-
j
-
l
m
f
-
o
o
-
b
w
-
x
w
t
-
-
-
-
-
-
c
-
-
l
q
-
-
k
-
u
-
i
-
j
-
e
-
j
-
v
-
d
-
x
-
f
g
-
h
a
-
-
a
d
-
-
-
p
-
h
-
q
-
w
-
h
c
-
-
a
-
i
-
l
h
-
-
l
h
m
-
-
h
-
y
o
-
q
-
g
w
-
e
-
j
a
k
-
-
-
-
-
-
r
-
v
-
o
-
y
-
w
-
o
-
r
i
-
-
k
-
b
-
x
-
q
-
b
-
d
-
t
-
t
-
n
-
k
-
p
-
p
-
k
p
-
-
w
-
e
-
b
v
-
-
s
w
-
n
-
-
w
-
a
k
g
-
-
-
p
-
k
-
i
-
r
b
-
h
u
-
-
-
m
-
c
-
e
-
a
-
x
-
s
t
-
-
h
v
d
-
-
r
o
-
f
-
-
q
r
-
l
-
-
-
s
f
g
-
-
-
j
-
d
y
d
-
-
-
o
-
u
-
h
-
g
w
-
-
u
-
t
-
q
g
t
-
-
l
y
-
-
t
-
-
s
i
-
-
v
e
-
-
e
-
b
-
e
k
-
-
g
-
i
f
-
-
x
k
-
-
g
-
l
x
-
-
m
i
-
w
-
f
-
a
b
r
c
-
h
w
-
-
a
-
-
-
q
l
-
-
-
-
t
v
-
-
y
y
y
-
-
s
-
i
-
-
o
-
h
-
v
-
t
-
d
-
q
v
-
j
s
l
n
-
-
d
s
e
-
-
v
-
-
s
-
-
y
e
-
-
-
h
-
-
b
a
-
-
f
-
h
-
a
-
r
-
h
-
q
y
-
-
b
-
s
-
t
x
-
-
q
-
w
-
c
h
q
-
-
-
l
n
-
r
-
-
x
-
n
-
q
-
s
-
q
x
n
-
-
-
q
-
x
-
c
k
-
-
k
-
s
-
j
-
t
w
x
-
t
-
b
-
-
s
a
-
n
-
-
t
-
h
-
y
a
-
-
c
i
l
-
-
-
-
u
y
-
w
-
-
f
-
b
m
t
-
-
-
j
-
k
n
-
s
-
-
n
q
w
q
-
-
-
n
-
-
w
q
d
-
-
-
f
d
-
-
r
t
-
-
m
y
-
-
q
s
h
-
u
-
-
s
v
p
m
a
q
r
-
-
w
-
-
-
-
-
-
-
n
i
f
u
-
-
i
u
-
-
-
-
s
-
r
-
q
-
c
-
y
-
m
-
o
q
g
-
-
-
t
-
l
a
-
-
k
i
d
c
-
-
-
-
c
-
j
-
q
-
j
-
b
-
a
-
w
j
e
a
q
-
-
-
-
r
y
-
-
-
h
-
y
k
g
-
-
b
-
w
-
-
y
-
x
-
m
x
n
-
-
-
c
-
t
i
-
-
u
-
u
b
x
o
-
-
v
-
-
-
m
-
p
-
h
-
w
c
-
h
s
-
-
-
l
-
u
-
p
-
t
-
y
-
v
-
a
-
f
-
s
j
u
w
-
-
-
l
-
r
-
-
o
-
o
n
t
-
-
-
x
-
l
p
n
n
k
f
a
-
-
-
-
-
-
-
o
s
m
-
o
-
-
v
-
v
k
-
-
-
p
-
w
-
v
j
-
-
u
-
l
-
n
w
-
-
d
v
-
-
x
-
q
-
h
-
d
l
-
-
m
o
x
-
-
-
j
a
y
-
-
-
y
j
-
-
t
h
-
-
y
d
-
j
-
-
a
-
y
g
-
u
-
-
c
m
s
-
-
i
-
a
-
-
s
p
h
-
-
-
y
m
-
-
i
-
r
-
r
-
r
p
-
u
-
-
c
-
r
-
u
-
x
-
p
-
s
d
-
-
r
-
e
-
a
-
p
-
y
b
l
i
i
-
-
-
-
-
l
-
p
-
j
-
l
-
e
-
s
-
s
-
f
n
o
-
-
-
q
-
m
-
r
-
s
-
g
-
o
-
u
-
e
-
d
-
p
h
y
-
b
-
s
-
-
-
g
-
r
y
p
-
-
c
f
-
-
j
-
-
d
-
l
-
a
-
k
r
-
-
v
-
o
-
y
-
p
-
g
-
p
r
j
-
n
-
-
-
s
-
h
y
-
-
p
-
h
-
n
w
n
-
-
-
d
u
-
-
w
-
w
n
-
j
-
l
-
-
j
-
l
t
f
-
-
g
g
j
-
-
p
-
-
-
o
f
-
-
d
-
b
-
i
h
-
-
o
-
o
-
y
-
e
-
p
-
u
-
h
-
t
-
f
-
c
c
-
-
l
-
a
-
k
-
g
h
-
-
b
-
r
-
e
-
k
-
t
-
r
-
h
-
h
-
d
-
n
-
r
-
y
g
-
-
q
-
o
o
-
-
l
-
n
-
d
-
u
b
-
g
v
d
x
-
o
-
-
q
-
-
-
h
-
-
r
-
i
-
e
-
t
j
-
e
-
r
-
y
n
-
-
w
-
-
l
q
-
-
k
-
p
-
s
-
n
s
-
-
u
-
t
-
j
l
-
-
e
q
-
g
-
-
r
-
c
-
t
y
-
o
-
-
l
-
o
-
h
-
x
-
r
d
m
-
o
-
-
-
g
-
l
-
i
-
e
-
t
-
f
-
d
p
-
-
u
-
g
g
-
n
-
p
-
-
s
m
-
-
e
-
g
-
e
-
l
-
u
-
d
-
p
-
x
-
b
q
-
-
p
-
m
-
i
f
-
a
-
v
-
-
p
-
r
y
-
v
-
-
r
-
x
-
p
-
i
-
p
-
s
w
y
-
y
-
-
-
p
-
g
-
c
-
p
i
-
p
w
-
-
d
-
-
h
-
n
-
l
-
c
-
p
-
w
-
e
s
-
-
r
-
t
-
k
-
m
-
q
-
k
-
y
-
u
-
k
-
g
m
-
-
c
-
n
-
s
-
o
-
f
l
m
-
u
-
-
-
q
-
n
-
g
-
v
-
c
f
-
-
b
-
x
-
t
-
c
-
a
-
l
-
x
-
n
-
r
-
c
s
s
s
y
-
r
-
-
k
-
-
-
b
-
o
d
t
h
-
-
-
b
-
-
-
h
l
-
-
h
-
d
s
-
u
h
y
-
-
-
-
h
n
l
b
-
-
x
-
-
-
j
-
a
-
d
h
e
o
n
-
-
d
g
q
-
-
-
k
k
-
-
-
-
-
b
-
a
-
y
-
b
-
t
i
-
-
k
m
-
-
k
d
l
-
v
-
m
j
-
-
-
x
u
-
-
-
k
-
v
-
d
-
y
-
r
-
c
-
r
m
t
-
s
-
n
-
w
-
-
-
p
-
j
-
r
-
b
j
-
k
-
-
q
-
c
-
n
-
l
-
p
-
d
-
y
-
c
-
d
v
v
-
-
-
d
-
p
e
-
-
l
d
r
-
c
x
-
-
-
v
d
-
-
e
e
-
i
-
-
w
a
p
-
-
-
-
u
-
r
-
s
-
l
-
p
-
q
f
-
y
-
o
-
-
e
-
f
-
n
-
s
-
f
h
-
-
y
j
p
-
d
-
-
-
l
-
t
n
-
l
-
c
r
-
-
r
-
m
-
-
u
i
-
v
-
-
w
q
-
o
-
-
x
-
d
g
-
j
-
-
l
-
u
-
c
-
j
j
-
-
q
-
x
-
e
-
v
-
o
-
x
c
-
-
x
-
g
-
e
r
-
-
m
-
j
-
a
-
a
-
b
-
s
-
p
-
u
-
l
i
q
-
r
-
-
v
r
-
k
f
-
-
-
-
n
k
-
-
w
-
t
-
y
a
y
s
-
-
-
u
-
-
g
h
u
g
-
h
-
-
c
j
t
j
y
-
-
-
-
v
w
-
v
-
-
-
-
j
-
-
h
-
b
-
o
-
w
-
k
-
j
-
p
-
l
-
q
o
j
q
-
-
-
-
y
b
q
a
-
-
u
-
-
x
f
f
-
-
-
n
q
m
s
-
-
-
-
-
d
-
g
s
-
f
-
b
-
e
k
g
-
l
h
-
-
-
-
-
w
-
l
m
i
-
-
t
-
g
b
-
-
-
l
n
-
-
l
-
j
-
c
-
l
-
s
o
-
-
d
-
x
-
v
-
w
-
k
-
d
-
n
-
a
-
k
-
i
-
j
-
m
-
g
-
f
-
k
-
u
-
b
-
s
-
m
-
s
-
d
y
-
o
j
h
-
e
g
-
-
n
v
r
-
r
-
-
-
-
-
-
b
h
-
-
f
-
y
-
y
e
-
-
p
-
r
-
d
o
-
v
-
-
y
-
n
-
o
-
i
e
s
-
n
-
l
p
-
-
-
i
-
-
v
u
-
o
w
-
w
y
-
-
f
-
-
-
x
-
y
-
t
o
-
-
x
-
i
a
-
-
y
u
-
-
a
-
v
-
w
-
a
-
m
-
g
b
-
e
-
-
b
i
-
-
w
t
v
-
r
f
k
x
c
-
-
-
l
-
u
-
-
x
o
-
m
-
-
g
-
o
e
-
-
-
-
-
f
i
-
a
-
-
b
-
q
i
-
n
-
-
c
-
l
-
s
-
q
-
d
-
d
s
-
j
-
-
b
-
x
-
e
u
-
-
o
-
p
y
-
-
s
w
-
-
w
-
n
-
p
-
r
-
k
-
m
-
c
-
m
-
l
l
v
d
-
-
f
-
-
-
l
-
p
-
l
p
-
-
u
-
n
-
j
-
k
-
q
-
j
-
n
u
-
w
-
-
l
f
-
-
n
-
l
-
c
-
f
-
q
u
-
-
j
-
a
-
v
-
l
-
m
-
g
-
q
x
-
-
p
-
w
-
d
-
x
-
l
g
-
-
n
m
-
-
x
-
e
-
y
b
f
e
p
-
y
d
-
q
-
f
-
-
a
-
r
-
d
g
-
-
-
-
-
-
f
m
-
p
-
-
u
-
m
-
p
-
s
-
x
-
q
-
b
-
n
-
w
-
b
a
d
-
-
-
l
-
y
-
j
-
p
r
q
r
-
k
-
-
-
a
-
-
n
-
n
d
-
o
x
-
-
-
h
-
q
j
-
-
n
-
a
q
-
-
l
i
s
-
-
m
-
-
k
-
a
-
p
-
i
-
g
-
g
-
v
-
q
m
-
n
y
d
g
-
-
-
o
d
-
-
t
-
-
-
f
-
j
-
b
d
-
r
-
a
s
n
-
-
-
-
i
-
t
-
v
w
f
-
-
d
r
n
c
-
b
-
-
-
-
-
g
-
j
-
k
r
-
h
-
k
-
-
y
-
x
s
-
-
t
i
-
m
-
o
c
f
n
o
-
d
p
-
-
-
-
-
-
-
g
-
e
-
e
c
w
-
y
-
g
-
e
b
-
-
e
-
s
-
-
-
t
-
b
c
-
-
d
-
k
-
n
h
-
-
r
-
f
k
-
-
v
-
t
f
-
-
e
-
u
-
y
o
q
-
c
e
v
-
k
w
-
-
-
-
-
h
-
q
-
-
i
-
r
n
-
-
o
r
s
j
-
t
-
a
-
h
-
c
-
-
b
j
-
l
f
j
-
i
-
-
-
-
e
-
-
o
k
-
-
-
y
u
-
-
s
-
s
-
c
-
d
d
o
-
-
-
w
o
-
-
r
-
g
-
a
-
x
-
b
c
-
-
j
y
-
a
-
-
d
l
v
-
-
t
-
-
p
-
o
-
u
-
g
-
s
-
t
a
-
c
b
-
-
-
p
-
t
-
y
v
-
y
-
-
o
-
v
-
m
a
-
-
u
-
v
-
b
-
s
g
e
q
p
-
-
-
x
-
-
-
d
j
a
-
-
-
l
-
p
n
-
h
e
-
-
-
k
p
y
-
-
-
j
-
x
s
-
s
-
-
a
b
-
l
-
-
f
i
-
-
x
w
m
-
v
-
-
-
r
-
i
-
c
m
-
-
e
t
-
-
q
w
-
-
f
-
a
-
f
-
x
-
k
-
o
y
-
a
-
g
-
i
-
-
q
h
-
e
v
g
-
-
-
s
-
q
-
-
m
q
-
w
-
-
f
t
-
-
v
-
q
-
r
-
h
-
u
-
v
-
l
-
f
-
q
-
r
-
o
q
-
-
k
x
d
-
-
-
k
-
r
-
x
w
u
-
m
t
g
-
-
b
-
-
-
-
n
-
g
f
-
-
i
-
l
m
-
-
q
-
v
-
q
-
y
q
-
-
a
-
m
-
g
-
i
-
w
q
q
w
-
t
-
-
-
-
q
-
o
-
i
-
t
j
-
-
j
t
i
-
r
-
-
-
g
m
-
-
k
t
-
j
-
-
x
-
u
-
j
-
g
-
j
k
-
b
-
f
-
q
t
-
-
-
e
-
v
-
g
-
w
t
f
-
-
-
s
-
w
-
u
-
q
t
a
-
k
s
-
t
-
-
-
-
k
-
t
-
n
-
c
-
e
-
n
-
b
-
g
-
c
-
i
x
-
-
i
-
j
-
f
v
-
-
t
-
b
-
p
u
-
-
c
-
q
-
d
-
w
n
e
-
-
-
j
p
w
-
-
-
u
u
-
-
b
-
c
-
t
-
h
-
b
-
x
m
y
-
-
-
u
-
o
-
i
-
i
-
w
-
w
-
o
-
n
s
-
-
h
e
-
-
d
-
s
-
o
-
s
-
f
-
c
y
-
-
h
a
-
i
m
w
-
-
-
g
-
r
o
-
-
-
p
s
g
-
-
-
l
-
p
w
-
-
h
-
t
-
o
-
q
-
t
i
-
o
-
h
-
o
-
-
g
-
i
-
s
e
-
-
v
-
o
-
a
-
g
b
x
-
-
-
e
-
m
-
i
-
c
-
v
-
w
-
m
y
c
-
-
-
w
-
v
-
h
-
h
-
i
-
h
-
l
-
r
-
b
x
-
c
-
-
y
-
j
-
h
-
v
-
h
x
i
-
t
-
-
-
n
a
-
p
-
-
y
u
-
-
d
-
m
r
-
g
a
-
-
-
k
k
-
e
-
c
-
-
b
-
c
c
-
-
a
-
h
-
a
-
p
h
-
i
-
-
g
-
r
-
r
-
w
v
-
-
h
-
h
y
-
-
d
n
-
-
u
l
-
-
m
-
v
-
n
-
e
-
e
-
g
-
r
-
p
-
r
-
x
j
i
-
-
m
v
-
-
-
g
-
f
-
l
-
n
-
p
-
g
c
-
h
a
y
-
-
-
-
i
-
t
-
b
e
-
-
e
-
f
x
m
-
t
-
-
i
d
y
-
-
l
-
-
-
d
-
v
-
x
-
u
-
f
i
-
i
s
-
k
-
-
-
u
-
x
p
-
-
a
-
n
g
-
u
-
-
a
o
k
-
-
-
h
-
b
v
-
-
o
-
u
-
r
o
-
-
u
-
x
-
i
r
t
-
-
j
e
-
-
-
a
-
c
-
e
y
-
-
t
-
n
-
d
-
f
-
e
-
p
-
k
l
-
-
i
-
l
-
m
-
m
-
l
t
k
-
-
-
d
-
l
-
n
-
q
-
w
-
r
-
t
-
n
m
-
-
p
s
-
-
x
q
i
-
-
-
f
y
-
x
-
-
l
s
-
-
q
-
k
-
u
-
y
-
y
-
q
k
-
-
y
j
k
-
r
-
m
-
-
j
-
-
p
-
t
-
n
-
v
v
-
-
m
-
w
-
x
y
r
-
-
x
-
-
q
-
y
-
x
-
g
-
r
-
b
j
-
-
x
-
t
-
u
p
-
-
w
h
-
-
f
y
-
-
y
-
e
-
y
-
m
i
-
-
g
-
m
-
c
-
a
-
l
-
p
h
g
-
-
h
-
-
e
f
-
-
v
-
c
-
k
-
r
-
p
-
m
f
-
-
e
k
j
b
-
-
-
-
v
-
u
-
e
-
e
-
b
-
v
-
w
v
v
s
-
w
-
j
-
-
-
-
w
-
v
x
-
b
-
-
g
-
u
-
y
-
l
k
-
r
-
c
s
-
y
-
j
c
s
-
s
f
-
-
-
-
-
-
d
-
b
-
g
-
p
l
-
e
q
t
-
-
-
y
-
-
v
-
x
-
d
-
j
u
-
-
j
c
m
w
-
-
-
a
-
-
f
-
n
-
k
g
-
-
i
-
b
e
-
-
l
-
l
-
n
s
-
-
x
-
i
-
h
j
d
-
u
-
-
-
g
-
x
o
-
-
f
-
v
-
b
-
d
-
l
-
b
-
i
-
h
-
b
-
s
q
e
-
-
m
-
-
o
-
u
-
r
t
-
-
g
-
p
-
d
-
h
-
s
-
k
u
-
k
-
-
a
-
k
n
b
-
-
-
c
-
s
-
e
w
-
a
b
-
-
-
k
r
-
-
c
-
b
-
v
-
b
-
w
e
y
y
s
c
i
a
-
-
-
-
-
-
-
-
c
-
a
s
-
-
j
c
f
t
-
-
-
f
l
-
q
-
q
-
-
d
-
n
s
-
-
-
t
u
-
e
-
-
d
-
h
-
o
-
o
k
w
-
-
a
-
-
g
-
f
-
k
e
-
-
v
-
h
j
-
b
-
j
-
-
s
-
b
-
v
-
a
-
j
v
-
-
j
-
b
s
-
-
m
f
-
-
b
h
c
k
-
-
-
-
r
v
-
-
h
-
l
u
-
-
l
-
q
b
-
-
r
c
-
-
h
-
e
-
t
-
g
x
-
i
p
n
-
-
f
h
f
-
d
w
h
-
-
d
p
b
-
c
-
p
b
-
-
h
-
s
u
-
q
-
-
u
-
-
-
c
x
-
-
e
-
-
-
-
-
-
o
-
m
p
-
l
t
-
n
i
-
-
j
-
g
-
-
-
u
-
a
-
w
w
-
-
l
-
p
j
-
-
w
-
c
-
a
-
v
-
k
-
x
q
f
-
-
q
a
-
v
-
q
g
e
-
-
-
-
-
v
d
-
-
i
k
r
-
-
-
s
w
o
t
-
-
-
q
-
-
i
t
-
-
w
r
x
-
-
-
x
g
-
t
c
w
-
-
-
-
v
-
n
-
n
-
h
n
-
-
i
-
f
s
r
-
t
-
-
-
f
j
-
f
-
-
t
-
k
-
c
p
m
p
a
-
y
-
t
-
-
-
-
o
-
-
w
-
w
c
l
-
y
-
-
e
-
-
p
-
v
j
-
-
c
-
o
-
x
-
q
-
k
s
-
v
d
-
-
-
n
-
f
-
a
u
-
s
n
i
w
-
a
p
k
-
y
-
-
-
-
e
q
o
-
t
-
u
o
r
b
u
-
-
-
b
y
v
-
a
e
-
v
-
-
i
-
s
k
f
-
-
r
-
-
-
-
y
-
p
x
s
j
-
b
-
v
-
i
-
r
m
-
c
-
-
w
s
n
p
-
-
-
-
w
-
e
-
b
i
t
x
d
u
-
-
-
c
b
-
-
-
-
-
-
-
-
-
k
-
-
f
-
c
-
-
x
x
-
v
-
t
v
-
-
-
s
-
-
-
c
l
o
u
-
u
m
-
-
-
n
-
v
-
-
-
-
-
k
a
-
a
-
-
m
-
w
o
-
-
m
-
s
-
w
-
o
-
w
-
g
n
-
d
i
p
-
-
-
-
e
-
w
-
y
-
h
-
e
q
-
-
h
g
r
q
g
-
-
a
-
-
-
-
d
h
-
-
g
n
-
o
-
-
a
a
d
-
m
-
j
-
-
i
-
-
m
j
-
-
j
-
d
s
l
-
r
g
-
h
u
-
a
-
-
-
r
-
-
-
s
-
b
-
w
-
y
-
e
-
w
-
f
a
-
-
c
q
l
k
q
s
-
-
-
-
-
-
q
-
j
-
f
-
i
o
-
-
m
o
-
-
x
-
d
-
k
-
v
-
s
r
-
e
v
-
g
-
-
m
-
h
-
-
h
-
h
-
m
g
-
-
p
-
w
f
-
-
q
-
c
-
y
-
k
g
-
-
t
-
g
q
v
m
-
-
-
-
a
-
g
h
-
-
w
-
i
w
-
-
d
r
-
-
n
-
v
i
-
-
r
y
y
p
r
u
-
u
-
-
-
k
-
p
-
-
n
-
t
a
-
-
c
v
-
-
e
-
-
-
y
v
r
-
-
-
h
h
-
-
m
n
-
-
f
-
w
n
-
i
-
p
a
w
w
b
-
-
-
-
v
y
-
w
-
-
a
-
-
u
-
-
c
-
i
x
j
-
-
-
a
x
b
-
-
m
-
j
-
-
g
-
v
-
o
-
j
-
k
-
c
m
v
-
-
c
-
e
-
-
m
m
-
g
-
-
b
u
s
a
l
-
t
-
-
-
-
-
q
x
s
s
-
v
a
r
h
-
-
-
g
-
-
l
-
-
d
w
i
-
-
-
y
k
-
-
v
-
-
-
c
q
-
a
-
t
-
m
k
-
-
p
-
v
v
-
-
f
-
-
k
-
c
-
l
-
k
-
y
-
j
y
c
-
-
-
b
-
q
u
e
q
-
-
i
r
-
-
-
-
o
-
i
-
m
-
d
-
c
t
-
-
s
-
v
q
-
d
-
-
d
-
g
-
v
x
-
-
p
p
-
-
x
-
m
-
g
-
b
-
n
-
y
-
h
-
b
-
p
-
k
-
r
c
h
k
-
-
e
-
-
-
a
n
-
m
n
-
-
w
-
-
n
-
x
-
q
-
f
-
n
-
s
e
-
-
t
-
q
a
h
l
-
-
-
-
r
-
u
y
-
-
c
-
c
q
u
-
-
-
r
o
-
-
c
-
e
-
b
-
g
-
v
-
n
-
t
-
y
-
j
a
u
f
e
a
-
-
w
-
s
-
-
-
-
m
-
-
c
-
a
-
a
-
t
g
-
x
-
p
a
-
-
-
i
-
u
m
-
-
y
w
-
-
t
-
c
-
n
-
a
-
i
-
x
-
x
-
u
-
n
-
g
-
b
x
h
m
h
-
d
-
-
h
c
-
-
-
-
-
g
y
j
q
f
-
-
-
s
-
p
v
-
-
-
-
d
e
w
-
-
k
b
-
-
q
-
-
m
-
o
o
-
o
-
-
n
-
n
-
u
f
-
-
u
d
-
-
x
-
o
-
p
j
y
m
d
f
i
k
-
-
l
-
-
-
h
-
s
i
q
e
x
l
-
-
t
-
d
k
-
o
-
-
-
k
k
n
-
s
-
d
-
-
-
-
-
-
-
c
w
-
-
j
-
-
-
q
r
t
-
-
-
k
-
-
o
-
p
-
b
-
m
-
k
-
c
-
i
-
k
w
c
f
-
y
-
-
-
i
o
-
-
m
-
-
k
d
s
f
-
o
-
f
-
-
-
-
v
-
k
v
l
o
-
f
j
k
-
-
-
-
-
-
q
-
c
g
-
-
i
-
x
-
v
-
s
-
f
-
a
-
m
g
-
-
t
-
u
c
-
-
a
t
-
-
c
-
d
-
b
-
a
-
f
-
i
s
-
-
u
-
p
-
p
-
p
-
e
q
-
b
-
v
-
-
w
-
s
-
q
h
-
-
j
-
b
y
n
-
x
-
d
p
-
-
-
-
r
b
q
-
-
e
-
c
-
-
x
-
m
-
h
-
b
i
y
i
p
g
p
f
u
-
-
-
j
-
-
n
-
-
c
-
-
-
o
-
-
-
g
-
g
f
j
-
-
-
l
l
v
-
k
-
v
-
-
-
h
-
f
t
-
x
-
-
c
-
q
-
p
-
u
t
a
b
i
-
-
t
-
-
w
n
-
a
-
k
-
-
p
-
g
-
i
-
r
-
-
-
m
d
-
-
k
-
l
-
d
-
j
-
e
p
-
-
m
-
x
g
-
-
i
y
c
-
-
-
j
-
r
-
f
-
f
k
-
-
q
-
u
s
r
-
-
-
e
-
e
-
g
-
o
u
h
-
-
b
-
b
-
-
g
-
s
-
j
-
i
-
l
-
r
l
-
c
-
v
-
-
q
y
b
v
n
-
-
-
-
-
j
-
n
-
x
-
f
-
u
-
l
-
r
-
u
-
n
-
c
v
h
-
s
-
-
e
-
-
q
-
j
-
i
-
n
f
l
-
n
d
-
f
j
-
-
-
v
b
-
-
-
q
c
-
-
-
y
u
c
-
h
-
e
-
-
w
-
v
-
-
v
o
l
s
-
-
-
v
-
m
-
-
y
-
j
x
-
h
k
-
o
a
j
-
t
-
-
-
-
n
-
i
g
m
-
-
-
i
-
j
-
r
d
f
-
-
u
-
u
k
v
-
-
i
-
-
y
g
-
-
v
-
-
-
m
o
-
-
s
e
-
-
t
g
-
-
f
-
g
-
a
-
x
-
s
-
m
j
-
-
l
-
p
-
d
p
-
-
b
e
-
l
-
p
h
-
-
-
n
-
p
-
s
q
-
-
h
-
h
-
s
u
-
-
q
-
e
-
b
-
c
a
e
k
b
v
-
-
-
f
-
-
b
-
-
b
b
-
a
-
m
-
i
-
-
g
-
-
i
-
l
f
q
-
j
r
-
-
x
k
-
-
-
-
n
-
j
-
e
-
f
-
h
-
g
-
l
l
-
g
-
-
y
-
i
-
v
s
-
v
g
i
-
d
-
-
-
u
-
-
k
j
s
-
-
o
-
s
-
c
-
-
s
-
s
-
d
-
x
-
j
-
j
-
r
-
b
-
m
-
l
h
n
c
-
-
-
n
b
-
s
-
-
-
j
-
r
-
g
j
u
-
-
-
f
-
c
-
m
-
i
-
d
-
c
-
x
-
m
-
g
m
c
-
y
-
u
-
-
-
e
j
t
w
s
d
u
-
x
-
u
-
n
-
-
y
-
-
-
-
-
-
m
-
k
r
-
k
-
-
u
-
b
-
i
-
s
-
w
-
m
m
-
-
m
-
a
-
f
-
x
b
-
-
u
-
h
-
r
-
a
-
i
-
p
-
g
v
w
-
-
x
-
w
-
-
o
r
-
-
b
-
x
-
p
-
n
-
i
s
-
d
-
-
i
t
-
-
a
-
a
-
e
-
b
o
-
l
-
-
k
-
p
-
f
-
y
-
q
l
-
-
e
v
e
l
l
u
-
-
p
-
-
-
-
c
-
-
y
y
-
-
q
t
v
-
g
-
-
l
-
-
b
-
a
-
d
h
-
-
b
x
-
-
t
-
l
c
-
f
c
-
-
w
d
w
-
-
-
-
a
-
y
q
x
j
k
v
e
-
y
-
-
i
-
n
-
-
t
v
-
y
-
g
-
r
c
-
p
f
k
p
x
k
-
-
x
-
-
-
-
-
d
-
-
-
-
r
-
-
y
-
e
o
-
u
x
n
y
-
d
-
l
-
n
-
d
d
k
i
-
-
-
-
-
-
-
o
w
-
-
m
c
y
q
q
-
-
-
o
-
-
-
i
g
-
-
-
x
x
-
-
-
-
s
g
-
-
l
-
v
-
c
-
d
-
a
-
s
-
i
-
k
b
n
-
-
c
-
-
i
-
c
-
y
-
r
-
y
q
-
h
r
-
-
-
u
-
f
-
c
-
n
-
q
-
d
-
h
-
x
-
f
j
-
-
n
-
t
r
-
j
-
-
e
-
p
-
u
-
w
c
-
y
m
p
x
u
-
-
-
-
-
-
s
-
p
-
o
-
f
-
u
-
v
f
-
-
d
-
l
-
m
-
s
-
l
-
d
-
c
-
p
-
i
v
-
s
-
-
c
-
f
d
f
-
n
s
-
t
-
-
k
r
-
-
g
-
-
-
b
q
m
-
-
-
p
-
t
a
-
-
w
-
t
-
f
-
v
-
m
-
t
-
t
q
o
-
-
s
-
w
-
h
x
o
-
-
-
-
j
y
q
-
s
-
-
-
x
l
x
-
-
m
s
c
-
-
-
e
-
-
a
-
v
t
n
p
-
-
k
e
-
-
a
w
m
-
v
j
h
p
y
-
-
c
-
e
-
-
q
-
-
j
-
-
-
-
g
-
f
-
-
-
v
-
v
-
b
-
t
-
e
e
r
-
-
k
i
-
-
-
o
-
n
-
b
y
-
-
p
-
n
i
-
t
d
-
q
-
-
k
-
-
a
-
i
-
p
v
-
r
-
-
g
-
y
-
q
s
-
-
j
m
-
d
-
-
b
o
-
-
c
s
e
-
-
-
h
-
w
e
t
-
g
-
m
-
b
-
-
-
n
-
c
d
-
-
r
-
b
i
n
-
-
b
-
-
s
w
-
-
k
-
y
-
l
-
s
-
a
n
-
-
e
v
e
d
-
-
d
m
-
-
-
-
c
-
p
-
a
-
t
-
o
-
g
-
d
-
x
-
b
-
o
-
j
-
n
-
n
-
l
-
g
-
h
f
x
-
-
-
r
-
s
-
l
-
d
g
j
u
s
-
l
-
-
i
-
-
u
-
-
-
g
-
u
-
o
-
v
v
-
c
-
-
t
-
m
n
-
-
c
j
-
t
p
f
s
l
l
-
-
-
u
-
m
p
-
-
-
-
l
-
-
-
h
-
r
-
u
s
j
-
-
a
-
-
i
-
c
k
t
-
-
-
e
-
y
j
-
b
-
-
l
-
m
p
f
-
-
j
-
c
n
a
g
m
-
t
-
-
-
-
s
-
-
l
y
-
-
-
y
n
-
-
x
-
e
-
q
-
u
-
o
-
u
-
r
-
f
-
x
-
t
p
-
r
-
-
t
-
a
-
b
-
u
-
j
-
w
-
k
-
q
s
-
-
o
-
b
s
u
-
t
f
-
-
-
-
t
-
x
-
a
-
c
-
e
l
-
-
a
-
a
k
-
-
r
t
y
t
-
-
p
y
-
p
y
-
-
h
u
-
f
-
n
-
-
-
-
-
m
-
p
-
q
-
g
-
v
-
g
-
p
-
d
d
-
-
d
-
s
-
y
-
t
-
l
-
k
-
p
-
s
-
s
-
m
-
e
-
n
h
-
-
o
-
l
-
y
i
-
-
v
-
w
-
h
x
j
-
-
-
y
-
o
-
t
-
j
p
-
-
e
l
-
-
e
-
c
-
c
-
q
w
d
-
-
i
-
-
k
-
j
-
y
i
p
s
-
-
m
-
-
p
-
d
-
b
m
-
-
h
h
-
k
-
-
n
m
-
-
-
f
-
p
-
q
b
d
-
-
-
t
-
v
-
n
-
p
-
d
-
s
-
m
-
v
-
o
c
f
b
-
-
j
-
-
e
-
-
r
-
y
i
y
-
x
c
s
-
-
-
-
-
i
t
a
-
p
-
-
e
-
-
w
-
t
-
x
-
h
c
-
-
h
-
q
-
n
-
x
-
q
m
-
-
f
-
k
-
o
-
n
i
l
-
-
-
n
-
d
-
m
s
-
-
m
-
p
-
k
x
r
-
-
-
f
w
c
-
-
-
y
-
x
y
-
q
-
o
-
-
r
-
y
k
-
-
q
-
t
-
s
w
-
-
v
-
p
-
c
y
-
-
w
t
-
-
u
-
e
-
q
x
-
b
p
u
-
f
-
-
-
-
x
-
a
-
n
-
j
-
l
t
-
-
n
-
s
-
m
-
t
-
t
j
-
-
n
o
q
-
q
-
-
-
f
-
u
-
r
-
y
-
m
-
v
-
t
-
n
-
c
-
h
p
-
-
x
m
-
-
h
-
q
k
-
r
-
-
l
-
g
-
l
e
-
f
-
k
t
-
-
-
d
f
-
-
f
d
-
-
u
h
-
-
u
-
c
o
-
-
d
h
-
-
k
u
n
-
-
-
w
-
w
-
r
-
u
t
-
f
p
-
-
-
o
-
o
w
-
d
-
w
-
-
a
s
-
d
-
-
d
-
w
l
c
-
-
-
j
-
n
-
y
-
x
e
-
o
i
-
-
-
f
-
f
-
p
u
-
f
-
-
h
-
u
-
x
-
w
-
x
-
p
t
-
-
s
y
-
-
l
-
t
-
u
-
u
-
p
w
r
a
-
f
r
m
-
-
-
-
c
s
-
-
l
-
-
-
s
-
f
f
h
-
-
-
k
-
m
d
-
-
p
-
f
-
c
-
x
v
o
j
-
-
c
-
-
-
t
-
y
-
f
b
p
-
i
-
h
-
-
-
o
-
t
l
-
-
f
-
y
u
u
-
i
-
-
-
n
-
u
-
p
-
r
-
n
-
b
-
d
h
-
x
i
-
f
-
-
-
f
-
u
-
h
f
q
-
m
-
-
e
-
-
e
-
k
-
q
p
g
m
v
b
-
-
-
b
-
-
-
-
e
m
-
-
a
-
y
-
w
-
e
-
r
h
-
j
-
-
d
-
g
s
-
a
d
w
-
-
-
-
e
-
e
-
v
-
e
o
-
-
f
l
e
q
d
-
-
-
-
-
r
v
-
x
-
-
h
b
-
-
y
-
v
-
i
-
w
-
g
c
-
y
-
-
q
-
w
-
d
j
-
r
-
u
-
-
a
-
u
j
-
-
u
-
y
-
b
o
i
-
-
-
h
-
s
-
e
-
x
r
-
p
c
-
e
-
a
i
-
-
k
e
-
-
j
-
-
-
o
-
e
-
f
p
r
-
-
-
y
r
-
-
h
-
f
-
g
-
a
-
v
-
w
-
v
c
j
-
h
-
-
-
f
-
t
-
h
-
x
i
-
m
-
-
y
-
d
-
h
-
j
-
g
o
-
-
r
m
-
j
-
h
-
l
m
-
-
-
r
-
d
-
h
b
-
q
-
-
t
-
r
-
w
-
e
x
g
-
-
-
w
-
a
-
c
t
t
-
t
d
h
h
-
-
-
-
-
a
-
-
a
-
m
-
c
d
-
l
-
-
v
-
f
-
c
-
b
-
b
-
x
-
b
n
-
b
w
-
e
-
i
p
-
-
d
-
e
-
-
-
i
b
-
-
i
-
e
-
d
i
k
d
x
-
-
-
d
-
-
-
r
s
-
-
v
-
p
-
h
-
p
-
s
t
g
-
x
q
-
-
q
-
-
-
h
-
u
o
-
-
s
-
g
c
k
-
y
b
i
-
a
-
h
-
y
a
-
-
-
-
q
b
-
v
-
o
-
n
d
-
t
g
o
-
-
n
-
-
c
m
c
-
-
-
-
-
-
-
h
-
r
-
q
-
l
-
j
-
a
o
-
-
k
k
-
j
-
-
b
-
f
o
-
a
-
h
t
-
h
-
-
-
w
-
o
-
k
-
a
-
b
-
w
-
y
-
j
-
v
-
h
-
o
-
c
k
s
v
h
c
o
-
g
-
r
q
-
-
-
-
-
-
n
-
-
-
s
-
d
-
x
-
p
w
-
-
v
l
-
h
-
-
s
w
u
w
-
-
b
c
n
-
-
a
-
-
-
-
m
-
j
s
-
-
d
v
d
l
l
-
p
-
-
-
-
-
u
-
a
-
x
b
-
-
y
-
a
l
-
-
k
-
o
-
d
-
q
-
u
k
-
-
x
c
-
i
w
-
n
b
-
c
-
-
-
-
v
-
q
s
-
-
f
-
b
-
o
-
i
i
f
-
i
-
-
-
p
c
-
f
-
h
-
-
h
-
h
-
t
-
o
h
-
k
-
-
g
i
-
-
h
t
u
-
h
-
s
-
q
-
-
g
-
t
a
-
c
f
-
-
-
-
f
g
-
-
p
-
e
q
-
v
j
-
x
v
-
-
-
-
w
-
x
-
n
m
-
m
-
-
u
-
y
c
-
-
v
-
b
y
-
v
-
r
-
-
o
y
u
q
-
-
m
-
g
-
-
l
w
t
-
b
x
r
-
-
-
-
-
f
-
-
q
-
r
-
a
o
o
-
-
-
c
-
e
-
n
-
w
a
w
-
-
-
i
m
t
-
-
e
s
-
-
e
-
-
t
-
v
-
e
o
-
-
r
-
o
a
m
o
x
q
-
q
-
-
h
y
-
-
-
-
r
-
-
-
n
-
w
-
k
-
k
-
g
-
i
-
a
-
y
-
n
x
j
-
-
j
-
-
x
-
q
-
s
-
g
u
-
b
-
-
e
-
v
c
h
-
-
i
-
-
q
i
-
-
o
-
u
a
-
-
e
-
v
-
f
-
o
-
s
-
t
j
e
f
-
q
-
-
-
-
u
-
b
k
-
v
h
-
t
f
-
l
-
-
-
-
s
-
r
-
k
-
p
d
-
f
-
g
-
k
-
-
u
-
e
-
k
o
-
-
g
-
w
-
n
-
l
-
g
-
r
-
i
-
f
-
p
x
-
i
j
-
-
-
d
-
v
-
l
-
c
a
-
-
n
i
-
-
h
-
l
-
t
-
p
o
-
-
b
x
-
-
a
-
q
-
q
-
f
-
x
y
-
-
h
s
-
-
b
-
j
-
h
o
-
-
l
-
x
m
-
-
p
-
u
-
r
-
j
-
i
l
q
-
y
b
-
m
-
-
-
h
f
-
-
-
h
-
e
q
-
v
-
-
w
w
-
-
q
-
q
-
f
-
y
e
-
-
k
q
o
-
-
-
y
-
d
-
p
-
i
d
u
-
-
x
-
-
e
d
-
-
c
j
-
m
-
o
-
-
r
-
d
a
-
-
f
-
c
-
b
r
r
-
-
-
v
m
-
-
w
k
-
l
a
u
-
d
-
-
a
-
-
-
x
p
-
-
t
t
-
-
b
d
-
-
a
h
y
-
-
-
w
-
b
w
r
-
-
-
s
r
-
a
k
b
o
-
n
-
-
-
i
-
i
-
-
u
-
-
d
-
n
-
o
-
h
-
t
d
-
p
d
-
-
k
-
-
p
g
h
-
v
-
-
g
-
-
y
-
y
-
h
-
e
-
a
-
b
-
a
i
-
-
v
-
e
-
l
-
r
-
j
q
-
-
o
v
-
-
u
-
q
h
-
j
-
x
g
-
-
p
h
t
k
-
-
-
-
-
k
n
k
f
o
f
-
k
-
-
-
-
-
-
v
-
i
-
w
-
k
a
-
-
w
-
m
-
o
-
q
c
-
-
j
-
x
-
y
r
-
r
-
-
j
-
b
p
w
-
-
-
w
s
k
-
-
-
w
f
-
l
p
-
-
-
d
-
f
-
q
o
-
-
m
n
-
-
u
-
s
-
l
-
x
-
d
s
-
-
b
-
r
n
f
i
-
-
-
-
r
-
p
-
q
-
p
-
d
f
f
-
q
u
-
-
l
-
r
t
-
-
-
-
d
a
p
-
u
y
-
k
-
l
q
-
-
-
-
e
j
-
-
s
-
-
o
n
-
-
d
-
u
-
c
x
-
-
i
-
s
-
e
-
v
-
r
-
m
-
i
-
n
-
j
o
-
j
-
d
-
-
l
m
o
-
-
-
k
n
o
-
-
a
-
e
-
-
w
-
o
-
c
-
d
m
-
-
x
j
-
f
v
w
l
v
-
-
-
c
-
-
x
-
-
-
w
-
e
t
-
-
n
q
-
b
-
a
-
-
j
-
e
-
u
-
p
-
r
-
x
-
a
-
a
k
-
-
a
g
-
t
o
-
e
-
-
u
i
n
l
a
-
-
-
-
-
-
m
u
-
-
u
-
v
-
q
d
q
-
-
-
d
b
r
-
-
-
i
-
p
-
s
-
h
d
-
s
o
-
p
-
-
j
n
-
-
f
t
n
-
-
-
-
p
-
t
-
u
-
g
-
q
r
l
-
r
r
-
-
n
-
m
-
-
g
u
-
k
c
-
u
u
-
-
a
-
b
x
g
-
-
w
-
g
-
-
-
-
i
c
k
-
-
-
-
m
-
s
-
m
-
o
k
-
-
m
-
h
-
a
-
n
-
q
-
b
d
-
w
j
-
-
-
j
r
v
-
-
-
m
g
-
x
x
-
-
-
d
e
-
c
n
-
-
-
b
-
m
-
r
-
h
-
f
-
k
-
b
-
d
-
d
g
b
-
-
-
x
-
v
-
m
-
j
-
o
g
l
-
-
-
x
-
f
-
i
v
-
m
k
-
r
-
j
-
-
-
v
-
m
v
-
-
j
-
c
g
-
i
-
-
b
-
k
t
i
-
c
u
-
-
-
-
o
y
-
-
c
-
b
v
-
-
e
-
p
-
b
n
-
-
r
-
r
s
-
-
k
-
w
-
j
-
r
-
m
n
g
v
-
-
-
-
a
e
-
-
r
-
i
s
-
-
k
l
-
-
q
-
w
-
f
-
h
-
q
g
h
-
-
-
e
-
q
-
o
p
-
-
x
-
g
-
j
w
-
g
-
-
s
-
a
-
c
k
g
-
-
-
t
-
q
d
-
g
l
-
-
-
g
f
t
b
c
-
-
-
-
-
j
-
m
s
n
-
j
-
-
-
j
e
-
e
-
-
s
-
q
-
u
f
-
l
-
-
i
-
b
l
-
-
u
e
u
-
-
-
t
k
-
-
w
-
r
-
q
-
m
-
m
-
j
k
-
-
j
-
w
f
-
-
l
-
c
-
l
-
q
-
c
k
-
r
-
k
m
-
p
-
-
-
s
-
l
-
p
-
x
k
-
-
a
b
-
-
t
-
k
k
f
-
-
j
x
q
l
-
-
j
t
-
-
s
-
n
-
n
-
h
g
-
-
-
-
-
t
-
c
-
b
-
c
y
r
-
e
-
-
-
g
-
u
-
m
-
d
-
t
-
f
-
v
-
q
-
w
-
f
-
g
-
r
o
-
-
h
-
s
-
v
l
n
x
-
-
u
k
-
-
-
-
p
-
i
-
d
-
f
-
m
n
-
-
j
-
r
-
f
g
a
w
m
-
v
-
x
s
q
-
r
-
-
-
m
d
d
s
-
-
-
-
-
-
-
r
-
-
q
f
u
-
-
-
t
q
-
q
h
-
m
-
-
-
w
-
q
-
j
-
e
-
o
q
-
-
g
-
f
h
-
-
y
l
-
-
p
n
-
v
-
m
x
-
-
-
c
-
g
-
a
-
d
-
j
-
c
-
e
x
t
h
-
-
-
-
t
m
-
-
k
n
h
-
-
h
-
-
s
q
-
-
v
b
-
w
n
u
g
-
k
-
u
r
-
-
-
w
u
-
s
-
-
-
-
-
i
-
i
p
-
-
a
k
w
i
t
-
-
w
-
-
-
i
w
-
e
-
c
h
-
-
-
-
n
-
p
i
-
-
w
-
n
-
q
v
-
-
w
s
-
-
o
-
s
-
n
-
i
-
a
-
r
-
i
-
c
-
e
-
d
k
-
m
-
-
w
-
p
-
p
h
v
-
q
-
-
f
-
b
s
n
-
-
g
-
-
-
w
-
m
-
m
-
c
-
k
-
x
-
b
-
e
-
w
-
x
o
-
-
p
-
x
-
w
-
s
-
t
x
o
-
-
-
t
-
l
g
-
-
b
y
-
-
s
l
q
m
i
d
t
-
-
e
-
-
-
-
-
-
s
-
w
-
a
-
v
-
c
-
e
v
-
-
s
u
-
s
q
k
-
-
c
-
-
n
a
p
p
-
l
o
r
u
-
j
s
-
-
-
-
-
-
y
w
-
-
b
-
-
-
h
-
-
i
-
c
-
h
-
v
-
n
-
m
-
j
-
r
-
t
-
j
-
s
d
-
q
-
-
p
-
n
-
l
-
j
-
p
-
d
w
-
-
y
h
-
-
w
-
w
-
t
-
y
c
-
-
q
r
-
-
l
t
q
t
-
-
-
-
d
-
m
-
k
-
g
-
h
-
w
b
-
p
t
o
-
-
l
-
-
j
-
e
-
g
h
-
-
-
m
-
v
x
-
t
-
-
u
-
o
y
-
f
t
-
-
a
-
-
e
p
-
-
p
-
p
g
m
j
-
-
-
-
y
q
-
a
-
-
x
-
u
-
v
r
h
j
-
-
t
b
-
-
y
-
-
e
c
-
-
j
d
-
e
-
-
-
r
r
-
k
-
q
v
b
-
-
-
n
-
-
q
y
f
-
-
i
x
-
-
e
y
t
w
i
-
-
m
-
-
-
-
-
h
-
p
-
j
-
n
-
a
-
y
-
k
-
r
l
-
-
q
k
x
r
-
w
-
-
n
r
-
-
w
-
-
-
u
a
j
k
-
-
t
-
s
l
o
-
-
-
-
-
d
-
p
-
i
u
-
w
k
k
d
x
-
q
-
-
t
-
-
-
-
-
h
m
-
-
x
-
u
-
j
-
r
f
j
-
-
k
-
-
h
-
a
q
-
-
m
-
x
-
y
-
q
j
b
-
k
-
-
-
e
-
o
b
-
b
-
-
t
v
-
f
-
s
-
-
n
-
m
-
u
c
-
-
a
g
-
-
p
-
f
j
-
-
k
v
-
-
i
g
-
k
v
-
-
-
s
h
-
d
-
v
-
o
b
-
r
h
o
-
-
-
-
a
g
-
-
n
a
a
-
-
j
-
-
v
-
i
-
w
t
s
-
c
-
-
k
-
-
t
-
-
b
-
e
m
m
-
-
i
-
-
y
-
q
-
f
-
q
f
q
o
-
-
s
-
-
d
-
-
f
f
-
e
h
-
-
-
b
w
-
v
-
-
j
l
p
-
-
-
m
-
p
-
q
b
-
n
-
-
v
u
-
-
h
-
k
-
e
f
h
p
g
-
-
s
-
e
-
-
n
-
-
-
w
-
l
-
y
-
m
-
d
g
f
-
-
d
-
k
-
s
u
-
f
-
-
-
a
-
h
r
-
j
t
v
q
-
-
j
-
-
q
-
-
l
-
-
u
-
w
a
-
f
m
e
s
-
-
-
-
s
d
-
c
-
-
q
r
-
-
-
q
g
-
l
n
f
a
-
r
-
-
-
-
-
p
-
y
o
-
t
d
-
-
e
-
-
n
s
-
j
m
w
-
-
r
g
u
-
-
-
y
-
-
-
i
e
-
l
-
-
x
-
x
b
-
-
p
d
t
-
-
p
u
-
-
y
-
-
w
-
w
-
c
w
-
h
h
-
-
b
-
-
l
w
-
-
k
j
-
-
x
-
v
-
d
-
b
e
h
-
-
-
f
f
-
-
x
-
t
-
r
k
-
-
o
-
r
t
-
l
-
-
s
m
-
w
d
h
a
t
-
l
d
-
w
u
-
q
j
q
-
y
-
q
r
b
m
h
-
u
-
-
-
-
v
-
-
-
r
-
-
-
-
-
q
-
-
-
-
-
e
-
v
-
b
-
l
-
j
-
d
x
-
-
d
-
y
-
g
-
b
-
k
n
y
t
-
w
-
-
-
-
j
-
c
-
e
i
i
g
-
-
-
j
i
-
-
h
s
a
-
-
v
-
h
-
-
k
-
-
o
x
v
u
c
-
-
o
-
-
-
-
b
-
k
e
c
-
-
w
-
i
-
y
-
-
l
o
-
-
e
l
-
-
p
-
n
-
r
-
h
-
f
u
-
-
s
t
-
-
k
-
s
-
l
-
p
-
k
-
e
-
k
-
f
b
-
u
-
-
i
-
f
h
-
-
m
d
j
r
-
-
-
-
i
-
s
-
j
n
c
-
-
-
n
-
c
-
v
-
v
f
-
-
w
-
b
c
a
-
r
k
-
-
-
q
h
-
-
-
r
-
m
-
h
l
-
-
j
-
k
-
k
-
w
k
-
-
n
-
v
a
-
y
-
-
q
-
b
-
y
-
b
i
-
f
-
b
-
-
t
-
w
-
e
p
w
e
-
-
-
i
i
-
-
n
-
o
-
g
o
m
-
-
-
x
h
-
-
i
-
y
d
-
t
s
-
d
-
-
-
-
k
-
o
-
a
x
-
-
k
w
g
u
c
-
h
g
-
-
-
-
-
h
-
-
x
-
a
e
-
o
s
-
-
-
k
-
g
-
r
-
p
-
l
-
b
-
a
-
y
-
k
t
-
-
s
p
-
-
u
o
s
-
-
q
-
-
c
k
-
-
a
-
g
-
s
o
f
a
-
-
-
-
g
n
-
-
m
-
l
l
-
v
-
-
o
-
s
-
t
-
t
-
c
-
l
-
q
-
c
k
-
-
c
-
q
-
p
d
-
-
f
b
-
-
e
-
i
n
-
d
a
-
k
y
-
y
-
-
a
-
e
-
p
-
-
c
-
w
-
-
v
-
f
g
-
-
b
-
c
-
h
h
-
-
m
l
j
y
p
u
-
s
x
-
i
-
c
o
-
-
-
g
-
-
-
-
-
-
i
-
s
p
-
-
i
p
i
-
-
-
b
g
-
-
c
d
-
o
-
n
q
-
r
s
q
-
-
-
k
d
q
-
u
i
-
-
n
-
f
-
-
-
-
q
q
o
-
-
-
-
s
b
-
-
a
a
d
-
-
g
-
-
a
-
y
o
-
-
p
-
c
-
t
q
s
-
-
-
u
-
n
-
w
-
h
-
p
n
-
-
b
-
t
a
-
d
n
-
-
-
m
d
b
-
-
b
-
-
t
-
o
-
o
a
e
-
-
-
t
k
-
-
w
-
f
-
h
w
j
-
-
o
q
a
-
-
i
-
i
-
-
l
-
-
h
-
y
-
a
-
v
e
-
-
v
h
-
-
d
-
b
u
u
-
a
-
-
-
i
-
h
-
v
i
-
h
-
y
-
x
-
-
l
-
e
-
y
n
-
-
j
-
f
-
e
-
a
-
y
d
-
-
y
-
g
-
c
e
-
-
f
-
r
-
w
-
p
o
u
-
i
-
-
-
e
-
t
-
e
o
-
f
-
l
-
-
b
-
p
l
-
o
-
-
p
r
l
-
-
l
-
l
-
-
b
-
n
-
y
-
r
-
h
t
-
-
m
-
u
-
j
-
h
-
d
-
t
-
m
-
m
-
k
n
-
-
t
-
l
-
f
-
s
-
t
g
n
-
-
-
c
-
f
a
-
-
g
-
y
q
-
-
x
-
a
-
h
n
-
-
w
m
-
a
o
b
c
-
-
-
s
m
-
-
-
-
j
f
-
-
d
n
o
h
h
-
v
u
x
-
-
-
-
-
y
-
-
-
p
-
f
-
c
-
v
-
d
-
a
a
-
-
r
-
f
e
-
-
e
-
d
-
c
-
i
-
n
-
u
-
n
c
-
-
d
-
k
-
t
-
k
a
-
-
m
o
f
-
v
i
-
-
-
-
a
t
-
-
l
-
p
-
p
-
u
-
k
o
t
-
d
-
-
-
w
-
l
-
f
n
-
-
w
-
w
-
l
-
w
-
g
-
o
-
c
-
r
-
d
-
i
-
o
-
s
y
-
d
-
-
f
-
w
b
r
c
f
-
-
-
-
-
m
-
n
-
p
q
-
-
p
m
-
-
y
-
f
-
b
r
f
w
-
-
-
-
g
-
t
-
h
x
i
-
-
-
h
k
-
-
n
-
h
u
-
-
l
m
-
n
r
-
-
-
t
v
h
-
c
-
-
-
i
-
p
-
x
-
s
-
k
-
q
r
-
-
e
-
n
-
r
-
q
-
c
-
x
j
t
-
-
-
k
x
u
-
g
-
-
-
d
-
i
e
x
-
t
-
o
-
r
-
-
g
-
-
u
-
q
-
t
v
-
-
f
-
d
o
-
-
p
c
-
v
f
-
-
-
o
-
g
g
-
r
x
-
-
-
t
-
w
-
b
w
-
-
a
-
u
-
j
h
x
-
-
-
j
-
k
-
o
n
-
r
-
-
v
-
s
-
m
e
b
c
-
-
-
-
w
b
-
a
-
-
x
-
q
-
c
-
m
g
-
-
k
-
t
j
-
c
-
-
f
-
p
e
h
-
o
c
-
c
-
e
-
-
-
y
-
-
b
-
u
-
r
a
-
m
-
-
o
-
w
-
r
s
a
-
-
-
w
o
-
q
q
-
-
-
k
-
f
-
w
-
d
v
-
s
-
-
r
q
-
-
k
-
u
m
f
x
-
-
-
-
x
e
d
-
-
-
a
n
b
-
-
-
o
-
u
-
q
l
-
u
-
-
g
-
k
g
-
-
b
-
b
x
-
-
a
m
b
y
o
-
-
-
l
n
-
-
-
u
-
-
f
-
v
-
e
o
-
-
v
-
l
-
a
o
-
q
-
-
r
-
n
b
u
-
-
k
-
-
t
-
x
n
w
-
-
-
w
-
g
h
v
-
-
c
w
-
-
r
-
-
k
m
-
-
k
-
d
-
g
g
q
-
-
q
-
-
y
k
v
-
-
-
h
w
-
-
m
-
v
-
k
-
n
-
i
-
t
-
j
-
m
-
l
j
s
c
a
-
-
-
s
-
-
-
y
-
i
-
d
j
-
-
a
-
i
-
r
f
-
-
o
-
a
-
l
-
i
-
k
-
f
m
-
-
n
u
r
-
-
-
q
l
q
-
q
o
a
-
i
j
-
-
-
o
-
-
-
-
a
-
q
-
d
-
o
-
c
-
i
-
c
-
i
-
g
-
w
-
p
d
-
g
-
-
v
t
-
-
r
i
-
-
a
-
y
q
-
-
j
f
-
s
-
u
a
-
-
g
-
f
-
-
a
-
t
m
-
b
-
-
y
-
w
-
e
-
j
-
c
-
q
h
a
v
-
w
-
-
-
c
b
-
c
-
-
h
-
u
u
-
-
-
k
c
-
-
f
-
n
n
-
k
l
k
-
i
x
-
r
x
-
m
-
-
u
-
-
-
-
d
-
-
v
g
m
e
-
-
-
m
a
d
g
-
n
-
-
p
x
-
-
-
-
i
j
u
-
-
-
-
k
-
v
m
f
-
u
-
-
v
-
q
w
-
-
-
e
r
p
-
-
-
t
u
x
s
-
-
l
-
-
-
w
-
n
-
g
q
y
-
-
-
v
x
q
t
-
-
-
-
k
-
h
-
y
y
-
-
l
-
u
-
a
-
l
-
m
-
t
-
c
-
y
-
l
-
w
-
r
-
f
l
-
-
f
-
f
t
t
-
-
x
-
-
i
-
w
t
-
-
c
p
-
-
i
f
f
q
-
-
-
l
-
-
c
-
y
y
-
m
k
-
-
-
r
-
b
g
d
o
f
-
-
s
-
-
h
-
-
-
u
-
w
-
n
-
v
-
q
g
-
-
t
-
w
-
k
-
j
-
q
-
r
i
-
a
-
h
p
-
-
-
h
-
x
-
y
-
a
-
y
-
u
-
u
w
-
-
q
-
w
-
q
-
n
-
j
-
p
-
v
-
f
-
q
b
a
-
r
-
e
-
-
-
l
-
h
y
-
e
c
-
t
-
h
-
-
-
w
v
-
o
-
-
l
j
-
-
v
c
i
b
-
-
p
-
-
-
x
d
f
v
f
s
-
-
-
x
-
-
-
-
h
-
u
n
p
d
g
-
-
-
-
-
e
-
k
-
o
-
g
f
-
-
a
q
-
-
g
c
-
-
k
e
e
-
-
-
o
-
j
-
c
-
i
v
x
-
-
u
-
-
l
-
j
t
-
-
p
-
x
-
l
-
b
-
h
w
-
-
k
-
e
f
g
l
-
u
-
-
b
c
-
-
-
s
-
-
m
-
a
-
r
-
w
-
h
-
s
-
t
j
-
e
-
-
k
o
w
-
-
-
d
-
j
-
i
-
b
-
i
-
a
-
j
s
-
-
s
f
-
i
-
w
u
-
-
-
r
-
j
-
k
-
x
-
n
-
s
-
v
-
n
-
c
-
m
-
r
-
p
-
c
p
-
p
-
-
d
-
t
-
l
-
s
-
w
y
-
-
y
-
v
r
m
t
-
-
m
t
i
-
-
-
s
i
q
u
-
-
g
-
-
-
q
c
-
-
-
h
i
-
u
-
m
-
a
a
e
-
j
-
-
j
w
-
r
-
-
-
d
-
b
-
d
t
-
-
-
-
x
v
-
k
n
-
-
-
l
u
-
f
n
-
i
-
-
-
v
-
f
-
e
-
u
-
w
-
w
r
k
u
b
-
-
t
-
-
-
f
-
-
a
p
-
q
-
-
y
a
-
-
i
-
d
-
t
-
s
-
f
-
h
q
-
-
v
g
-
h
-
-
l
m
-
-
v
t
c
d
-
x
-
-
-
-
c
-
n
n
a
-
-
-
x
-
p
-
i
h
u
-
-
-
m
w
-
-
s
-
j
-
v
-
a
-
t
t
-
e
-
-
i
n
-
-
p
u
-
e
-
w
a
p
-
-
v
-
-
-
q
a
-
-
u
-
v
s
m
-
-
-
n
-
y
n
-
-
h
-
i
-
l
k
-
-
j
l
-
-
p
-
n
c
-
-
n
-
i
v
-
-
f
-
i
o
w
d
-
p
-
o
-
v
-
w
-
-
-
-
w
-
l
-
k
-
m
-
q
-
r
-
u
-
g
-
c
j
t
f
-
r
-
s
-
-
-
i
-
-
c
h
-
-
p
-
h
e
-
-
q
-
e
a
t
-
-
-
g
a
-
a
-
s
-
-
d
q
-
-
y
-
x
a
-
i
-
-
q
e
d
o
r
-
y
-
j
d
r
-
m
-
-
-
l
-
w
k
v
-
-
-
-
n
-
-
-
p
-
k
y
-
-
-
m
c
-
s
-
-
t
-
l
f
a
j
-
b
-
-
i
f
-
-
p
k
-
-
-
-
b
-
l
k
-
c
-
-
m
-
w
-
l
-
s
-
n
-
y
-
c
l
h
-
-
m
r
-
v
-
h
v
-
w
-
-
k
-
-
j
-
k
-
-
c
-
w
-
h
-
p
-
j
-
n
-
u
-
l
-
m
-
a
p
-
-
i
-
h
-
v
p
c
-
y
-
-
-
m
j
k
w
x
r
t
-
u
-
-
-
-
e
-
-
-
-
m
-
s
-
r
i
-
-
x
-
l
-
a
-
x
-
a
-
e
-
r
f
-
p
-
-
p
-
x
w
-
-
g
-
b
-
t
-
w
-
v
l
-
-
g
i
-
-
i
-
d
-
b
-
x
-
s
-
g
x
-
-
n
-
u
-
d
-
q
d
d
-
i
b
-
-
-
-
c
-
h
-
a
-
v
-
h
-
n
-
u
-
s
-
k
s
-
-
u
-
y
-
m
-
y
-
d
-
g
-
b
-
l
m
-
h
c
-
s
e
-
v
-
-
c
v
-
-
-
-
i
-
w
-
c
-
q
-
d
-
a
-
v
-
x
-
a
-
i
-
l
s
-
-
e
s
-
-
c
s
-
a
-
e
n
c
r
s
-
-
-
f
-
-
-
-
n
-
e
-
q
-
l
i
-
-
m
n
-
y
-
-
e
-
b
-
h
b
t
-
-
-
o
t
b
s
-
j
-
-
-
-
p
-
n
d
r
t
-
-
n
-
a
-
-
-
j
j
-
-
c
-
m
-
k
-
h
u
-
-
a
f
q
k
p
-
-
-
g
-
-
-
m
-
d
-
s
a
-
j
-
-
i
-
g
x
-
-
p
j
-
-
k
-
s
-
e
-
k
-
t
s
j
-
l
-
-
n
y
n
t
-
j
-
s
-
d
-
m
k
-
b
k
s
l
e
-
-
-
l
y
-
g
-
-
-
-
t
-
-
b
-
o
-
-
-
p
c
n
-
c
-
-
-
f
k
-
-
-
-
n
n
-
-
c
-
b
-
q
e
-
-
m
-
j
-
o
y
-
-
t
c
-
-
u
-
c
c
-
-
g
-
f
m
u
i
a
-
-
-
-
j
-
g
-
-
f
k
-
k
r
v
o
-
-
-
j
-
-
-
f
-
q
-
b
-
v
-
j
-
o
x
-
-
k
m
-
-
u
-
i
c
-
-
l
-
q
-
l
p
-
-
a
-
a
-
u
-
b
-
f
-
f
a
-
-
q
-
l
e
-
-
t
-
c
r
j
-
-
-
n
-
v
-
a
-
n
-
q
a
-
-
c
k
i
-
-
f
p
-
-
-
l
-
s
-
u
-
k
-
h
-
j
-
e
g
-
-
j
u
-
-
f
-
u
-
o
q
-
-
p
p
t
t
-
-
g
-
-
x
e
-
-
r
-
x
y
-
-
c
j
i
u
h
-
-
-
-
o
-
-
e
-
j
-
k
-
-
i
-
s
-
b
a
b
q
w
t
-
a
r
q
-
a
-
-
u
-
-
s
j
v
-
s
i
m
b
-
d
-
-
-
-
-
-
-
-
i
-
y
-
n
a
-
-
-
h
-
n
-
-
d
-
-
q
-
p
-
i
i
-
-
n
-
h
-
e
-
u
-
i
-
g
x
-
v
-
-
o
-
x
-
o
-
g
-
h
-
y
-
t
-
r
f
p
-
r
-
-
h
-
-
g
-
n
-
k
-
t
a
-
-
w
-
n
-
a
-
y
-
r
j
-
-
o
-
d
w
j
s
-
-
-
-
d
i
-
-
x
-
d
-
w
-
c
-
j
d
-
-
d
-
h
i
-
-
p
-
t
-
u
-
b
w
-
-
t
k
-
-
f
w
w
-
-
-
j
j
-
-
b
-
e
j
d
-
-
-
q
r
-
-
l
-
f
-
c
-
b
p
-
-
y
-
b
i
-
-
c
-
u
-
n
-
i
c
-
p
-
-
t
-
a
-
y
t
-
-
g
-
j
-
m
j
-
-
w
-
e
r
-
d
l
-
-
-
j
-
w
r
s
-
-
u
q
-
o
-
-
-
x
-
h
-
d
c
b
d
-
-
-
r
-
-
h
l
-
l
-
-
a
-
c
-
i
-
x
-
a
-
p
-
n
-
e
-
w
g
-
-
q
g
-
j
-
y
-
-
w
d
-
d
t
h
t
-
-
-
-
-
i
-
j
-
y
p
-
-
o
x
-
-
p
j
p
-
-
-
q
-
e
-
h
-
a
x
c
e
-
-
-
-
j
-
x
-
r
-
h
r
-
-
y
-
i
j
f
-
n
-
y
-
-
f
s
-
-
u
-
-
b
-
r
-
f
-
n
-
j
-
m
-
d
-
j
y
-
s
-
-
h
s
-
-
v
q
-
l
-
-
f
-
j
p
-
-
w
-
d
-
r
-
o
-
t
-
s
-
q
-
u
-
f
-
b
j
-
-
u
-
f
o
u
l
-
-
b
h
n
-
m
h
-
-
d
l
n
m
i
-
b
-
-
o
-
a
-
-
j
-
-
-
-
-
-
-
f
j
-
o
-
-
w
-
e
-
v
-
i
-
o
-
m
-
s
-
j
s
-
q
-
-
u
e
-
-
s
-
d
-
b
-
i
-
i
l
-
-
g
-
b
f
-
-
i
-
t
d
-
s
u
-
-
-
q
-
t
-
w
-
j
i
-
-
w
-
m
v
-
x
-
-
y
v
-
-
b
-
e
-
v
-
g
v
-
q
v
-
-
-
c
-
l
-
f
-
x
-
l
-
e
-
l
-
c
-
i
f
k
-
-
-
p
t
l
-
-
-
f
j
e
-
k
w
-
-
-
-
l
-
q
-
g
-
e
-
x
-
e
-
r
-
i
-
t
-
b
y
-
-
m
w
-
-
o
-
p
-
x
-
v
-
c
-
l
-
m
l
-
-
a
d
-
-
y
-
f
l
-
-
b
-
n
p
-
x
-
j
r
g
a
-
-
h
-
-
s
-
-
-
h
-
v
-
p
-
n
-
h
-
h
-
n
-
e
h
w
-
-
j
c
-
t
-
o
-
-
-
l
-
v
-
p
-
d
h
-
o
r
e
-
-
-
b
n
-
u
-
-
-
f
f
w
-
-
p
-
p
-
-
i
-
u
-
u
-
g
f
y
-
-
-
h
f
-
h
-
-
q
m
-
e
-
-
r
o
-
-
g
-
r
j
-
-
h
i
-
-
o
-
l
-
p
-
q
e
-
r
y
-
-
-
x
s
-
r
-
-
l
f
-
-
c
-
h
-
t
-
c
-
e
-
f
-
a
l
-
-
q
c
b
-
u
u
j
-
-
e
-
w
-
-
j
s
-
k
-
g
r
-
-
u
-
c
-
-
-
-
k
t
-
-
l
-
a
-
c
-
e
-
s
u
-
q
e
-
-
a
y
d
-
g
-
-
a
o
-
-
-
-
i
-
y
q
-
-
b
-
n
m
-
-
w
-
w
-
r
-
k
-
u
g
m
-
-
-
k
-
b
e
h
e
g
i
-
-
e
-
q
-
-
-
-
-
y
-
y
-
d
-
i
-
p
-
y
-
s
-
a
-
r
i
-
w
r
d
d
-
-
u
-
-
-
-
w
-
b
-
v
-
c
u
r
-
h
-
w
-
-
-
u
-
o
-
y
-
k
-
l
-
o
-
d
-
f
h
d
q
-
p
-
-
v
i
-
-
h
-
x
-
y
-
-
-
o
y
-
l
-
-
e
-
b
-
o
-
u
j
v
-
-
-
y
-
b
r
-
-
h
f
-
-
j
-
s
-
t
-
t
p
g
-
-
x
-
x
n
i
-
j
i
-
d
-
m
-
-
-
-
l
-
-
d
d
o
-
h
-
-
-
h
-
i
-
h
t
-
-
d
-
h
-
c
a
c
i
-
-
-
-
u
-
n
-
g
c
-
-
q
-
p
-
u
e
-
m
-
-
u
o
-
-
j
e
-
b
r
-
-
i
-
-
t
k
-
-
k
i
v
-
-
-
n
-
n
f
m
-
f
-
-
-
j
-
s
-
o
-
v
y
-
p
-
-
h
-
w
k
w
-
o
k
-
-
t
e
-
f
-
-
-
-
f
-
q
-
p
g
u
t
-
-
u
-
-
w
l
-
-
-
i
g
d
-
-
-
g
-
l
-
c
k
-
a
-
-
e
o
-
s
h
-
-
-
i
t
-
-
w
-
n
u
-
-
x
g
-
-
c
-
n
-
b
q
-
-
x
-
y
p
-
-
c
y
-
q
-
-
q
y
-
-
t
-
o
w
l
h
-
-
g
-
c
-
-
-
s
h
-
j
-
-
d
-
x
-
y
h
-
-
s
q
-
-
w
a
h
-
s
-
-
i
u
-
e
p
-
-
q
t
s
-
-
-
-
-
x
q
-
b
-
-
n
-
i
-
k
-
r
f
i
-
-
-
y
-
j
-
u
d
n
-
-
-
f
-
r
-
t
-
a
g
-
-
e
-
c
-
k
-
u
-
n
-
y
-
i
-
y
-
c
-
p
-
d
-
l
-
t
s
c
m
-
-
-
-
l
-
g
-
p
-
u
-
o
p
-
-
h
-
i
w
-
d
c
-
-
-
k
o
v
n
t
v
-
-
g
i
-
-
-
-
r
t
-
-
b
-
-
-
t
-
t
-
l
-
p
-
w
-
x
a
-
-
m
-
b
-
e
-
t
-
y
-
p
p
-
f
g
-
v
-
y
-
w
p
b
-
-
s
g
y
-
-
-
-
-
-
o
d
-
t
e
-
-
-
s
-
r
-
d
u
x
-
-
-
r
x
-
-
t
-
f
b
-
-
q
-
e
-
g
-
g
-
l
-
x
-
t
-
r
-
o
-
v
-
c
-
u
-
i
i
o
q
-
-
r
-
a
-
x
k
-
-
-
g
-
-
c
-
d
-
a
-
p
-
d
m
u
d
-
p
-
-
w
-
-
-
k
-
v
-
p
-
l
-
w
-
p
q
-
-
t
t
-
-
k
-
c
-
o
m
-
-
x
u
-
l
-
x
r
-
-
-
i
-
p
-
c
e
o
-
x
-
-
-
j
-
q
-
v
-
q
-
u
-
x
-
f
-
r
-
a
-
f
-
s
-
b
-
g
-
y
t
j
-
-
-
b
-
u
-
c
-
v
n
-
-
h
-
g
-
f
-
g
-
f
-
n
-
q
l
-
u
e
-
-
-
t
v
g
-
q
-
-
-
k
-
y
-
v
-
k
-
m
-
d
-
a
h
v
-
-
-
c
-
j
-
u
-
a
-
l
k
a
-
-
-
c
-
u
-
h
-
g
-
n
-
t
-
q
q
-
-
i
q
-
-
h
p
-
l
i
-
-
-
e
l
q
-
-
-
e
-
d
q
s
-
t
-
d
u
-
-
-
-
d
-
h
-
i
-
l
r
-
p
-
-
c
-
u
-
s
a
a
-
-
j
i
-
-
-
o
d
f
-
d
-
-
p
-
-
y
-
h
-
s
-
b
-
q
j
-
o
-
v
-
o
-
-
y
-
p
-
n
-
q
b
-
-
p
-
h
-
r
-
s
-
p
-
y
-
v
-
u
m
-
y
-
p
-
-
n
-
x
l
-
-
y
-
m
u
-
-
a
b
-
-
q
-
o
-
p
-
f
-
n
-
q
-
p
-
g
b
n
-
-
n
-
-
a
-
j
-
s
-
v
d
e
-
-
g
p
-
-
x
-
-
f
-
p
q
-
-
y
v
-
-
q
s
-
-
l
p
v
-
-
-
n
a
-
-
r
-
o
b
g
-
-
l
n
-
-
m
-
-
k
-
r
-
h
-
f
r
-
-
i
-
j
-
o
-
i
-
h
-
y
w
w
e
-
-
-
-
k
r
f
-
-
-
f
d
-
-
p
-
e
w
-
-
f
-
i
-
h
y
-
g
w
x
-
-
r
-
g
-
h
f
-
h
d
-
d
-
f
-
c
r
-
-
-
c
-
-
-
-
g
-
g
-
i
-
m
t
f
-
b
-
-
r
p
-
-
-
i
-
s
-
u
-
x
-
g
o
-
-
q
-
o
-
i
-
r
-
k
j
e
-
e
-
-
-
m
-
x
f
-
-
w
-
x
n
-
s
-
-
y
-
v
-
l
j
u
m
q
-
-
w
o
-
-
-
-
j
-
k
i
-
-
-
j
-
h
-
u
-
n
y
a
q
g
a
-
x
-
j
-
w
-
-
r
v
a
-
-
-
q
h
-
q
-
l
-
-
y
p
-
q
-
-
-
s
i
t
-
-
r
e
-
-
-
-
-
x
y
-
-
i
o
x
-
-
-
-
e
-
m
-
i
f
-
l
-
-
q
-
b
k
-
-
j
-
p
j
r
-
-
v
-
-
p
-
q
-
j
-
s
-
p
-
t
-
f
-
q
c
-
-
x
v
w
v
-
-
w
r
-
-
-
-
v
f
-
j
-
-
k
-
u
-
e
c
-
x
-
-
d
-
y
-
u
-
i
-
d
-
w
r
-
-
a
p
-
-
r
-
x
v
-
c
g
-
-
-
m
-
s
-
g
-
y
-
m
s
c
-
-
-
m
-
y
-
h
-
d
-
j
k
-
-
i
-
l
-
f
-
f
-
o
-
x
-
b
-
b
q
-
-
a
u
t
-
f
e
j
u
-
-
-
-
t
j
-
l
-
s
-
-
u
-
-
-
w
-
p
-
g
-
v
-
e
-
x
-
i
j
o
-
-
-
x
r
x
-
x
q
-
i
-
p
-
-
-
-
c
m
g
-
g
q
-
-
s
-
l
-
-
-
h
-
n
-
k
-
d
g
-
h
g
m
i
m
-
-
n
u
-
r
-
-
-
-
-
-
s
o
-
t
a
-
-
-
u
-
v
-
v
-
y
-
t
m
-
w
-
j
-
-
g
-
f
w
l
-
-
n
-
-
y
w
u
-
i
-
-
-
a
-
c
-
m
-
v
-
v
-
t
-
m
v
-
-
u
-
p
h
-
-
k
-
r
-
g
b
-
-
t
-
b
o
c
-
-
-
j
s
-
u
-
-
l
u
l
r
a
f
-
v
t
j
-
-
x
-
-
-
-
y
-
b
-
g
-
-
-
-
w
a
-
v
-
y
-
i
-
-
o
m
-
v
-
-
h
m
y
-
-
b
-
-
w
-
o
-
n
-
g
-
p
-
h
o
-
d
-
-
m
n
-
-
k
-
q
-
y
-
t
u
-
-
j
g
-
f
-
b
l
-
b
-
-
-
e
-
n
-
t
-
s
-
o
m
-
-
q
x
-
k
-
-
r
b
w
-
-
-
p
-
w
-
f
-
q
s
-
-
n
i
-
-
p
n
-
-
r
-
m
-
j
s
y
-
-
-
c
-
l
l
-
f
l
i
h
-
f
j
-
q
j
m
-
e
-
-
-
-
-
-
l
y
-
-
-
-
y
-
j
p
g
i
-
-
b
e
-
k
e
m
-
-
s
-
-
-
w
p
m
-
-
k
-
b
-
-
-
-
c
-
c
c
q
l
-
-
-
-
c
-
d
-
s
-
v
i
-
-
h
-
n
-
p
-
k
-
w
x
-
-
h
-
b
l
-
-
e
-
e
-
y
-
k
v
-
-
x
-
o
i
u
-
s
-
-
-
d
y
j
q
j
-
-
m
-
-
-
-
a
-
n
-
r
l
d
-
-
-
g
q
-
-
w
-
k
-
u
-
f
-
w
-
w
s
e
-
-
b
-
x
x
-
-
-
l
-
f
-
e
-
f
-
y
l
-
-
o
-
x
k
-
l
-
-
u
k
-
-
g
-
g
-
n
o
x
-
-
-
k
h
-
e
-
-
u
l
k
-
l
-
-
-
k
-
u
f
-
-
d
-
w
-
q
-
d
-
b
c
-
w
a
-
c
e
j
y
i
s
-
-
k
w
-
-
h
-
-
e
n
o
-
-
-
-
-
b
-
-
-
j
-
g
-
-
b
-
f
-
a
-
g
-
c
h
-
w
-
-
w
-
i
x
g
-
-
-
f
-
n
n
-
-
a
t
q
-
-
-
q
-
e
d
x
-
u
b
-
-
-
-
m
-
r
-
e
h
-
n
-
-
a
-
a
-
c
-
b
f
-
-
x
-
n
-
h
s
-
h
a
-
b
d
-
-
-
-
a
-
i
-
i
-
b
-
u
-
h
-
f
-
h
-
k
-
e
i
-
-
v
-
a
-
a
x
-
-
l
-
k
-
c
-
n
-
x
-
s
-
v
a
-
-
c
-
y
-
o
-
g
-
m
c
d
t
-
-
-
-
b
u
-
x
o
x
s
o
-
-
-
-
-
-
g
s
-
x
w
-
-
-
f
-
s
-
h
i
-
-
y
u
-
h
o
t
-
d
-
-
i
-
-
-
t
n
-
-
b
b
c
-
-
-
a
-
o
w
-
-
e
-
f
w
-
g
-
-
v
i
a
p
t
-
o
u
o
n
-
-
-
a
-
-
p
-
-
-
-
-
i
-
w
k
p
i
-
-
-
m
-
d
-
-
p
q
u
-
x
-
-
-
e
-
l
i
-
p
-
-
c
-
c
-
q
v
-
-
p
-
m
-
j
-
p
h
-
-
x
-
t
-
f
-
o
c
-
e
h
-
-
-
u
f
w
-
s
-
a
-
-
-
j
-
t
i
-
e
-
r
t
-
-
i
-
s
n
u
m
-
-
-
v
f
-
-
-
-
j
-
j
-
l
-
s
-
q
-
g
x
k
-
l
-
-
-
t
-
w
-
n
-
t
s
-
-
r
-
i
-
b
-
p
-
e
d
-
c
b
-
-
o
-
-
i
e
-
-
k
-
i
-
c
-
t
-
u
-
c
r
g
-
t
-
f
-
-
-
j
t
c
-
-
-
a
-
v
r
r
-
-
-
m
g
-
-
p
t
j
-
-
-
o
r
i
-
a
-
-
f
-
g
-
o
-
-
k
p
-
-
s
i
b
-
c
-
a
-
-
s
f
-
v
-
-
-
r
-
u
-
e
-
e
-
m
-
x
-
u
x
-
j
-
i
-
-
g
g
-
l
-
-
d
-
k
-
t
t
-
-
x
-
b
-
p
w
a
-
-
-
e
f
-
-
h
-
h
-
e
-
s
-
j
r
-
x
-
-
n
-
g
-
k
h
a
-
-
-
b
f
-
-
l
-
q
-
d
v
w
-
-
u
v
r
-
-
e
-
-
k
-
-
a
h
-
-
l
-
l
-
r
-
r
-
w
l
-
-
l
-
x
-
m
-
d
-
e
m
-
r
-
j
-
-
a
-
j
m
-
-
c
m
-
-
c
-
n
t
-
-
n
-
c
f
-
-
m
-
p
-
o
i
-
-
n
-
i
-
a
b
-
v
-
-
e
-
w
a
-
-
b
w
-
t
-
-
d
r
-
y
i
-
-
-
g
-
r
-
k
-
q
u
f
o
-
-
-
-
m
-
k
y
e
-
-
d
-
f
-
j
y
-
-
k
-
e
e
-
s
-
n
-
-
-
g
-
i
-
b
-
g
q
n
-
g
-
n
l
-
-
p
n
a
y
-
-
n
-
i
-
-
-
e
-
-
-
o
f
-
i
-
-
p
-
s
-
i
-
b
-
n
-
c
-
u
-
g
-
n
-
p
p
-
-
j
-
p
-
p
y
-
-
s
-
s
-
a
-
w
-
j
-
q
-
k
r
-
-
m
-
p
-
s
m
p
-
-
y
-
e
-
-
h
-
q
m
-
-
s
-
y
-
d
-
i
b
m
y
-
a
-
-
-
-
y
j
d
g
-
-
-
-
m
-
i
f
-
v
-
-
t
-
a
-
u
-
p
-
b
-
t
-
l
m
-
-
a
-
c
-
t
-
x
-
g
f
-
-
m
-
j
o
-
-
n
-
s
-
e
-
f
-
b
-
y
-
d
r
t
-
-
e
t
-
-
n
-
-
e
-
d
-
c
-
f
-
v
-
r
n
-
j
-
k
n
k
-
-
x
-
-
-
l
-
b
-
p
-
n
-
u
-
r
g
-
-
g
r
-
p
-
f
-
-
u
-
b
-
m
-
b
h
d
f
b
w
-
-
-
-
-
-
y
-
d
-
i
o
-
-
m
o
c
-
-
x
d
-
-
-
n
-
m
-
a
-
n
-
k
-
x
-
e
-
g
-
q
-
d
-
s
c
-
e
-
-
q
q
-
i
i
-
w
q
-
-
-
-
p
-
f
-
h
-
w
-
w
-
g
-
u
a
-
-
l
-
g
-
g
m
h
o
-
k
-
-
-
-
j
-
k
-
g
q
h
-
h
-
-
-
p
h
i
n
-
g
-
p
r
k
v
-
-
-
-
-
l
-
-
-
d
-
r
-
j
-
i
-
e
-
b
-
g
-
t
n
-
-
u
-
o
h
-
-
l
-
w
-
k
i
s
x
-
-
p
-
-
i
q
-
-
-
l
b
b
-
-
-
g
-
a
a
-
-
a
y
-
-
m
d
o
-
-
-
b
a
-
-
s
-
i
-
l
v
-
-
v
-
b
-
r
-
u
l
-
-
p
-
n
-
u
-
r
-
t
-
f
g
y
v
-
-
j
d
-
-
-
-
t
-
l
-
n
-
k
o
-
m
-
u
-
-
s
-
c
-
i
-
e
-
y
-
c
-
e
-
i
u
-
-
b
e
i
-
-
-
n
-
t
-
e
-
w
-
m
l
-
-
o
-
p
-
x
q
i
-
-
-
f
-
g
-
w
-
r
q
-
-
y
-
x
-
e
-
r
-
d
-
d
-
l
-
e
k
-
-
q
-
h
-
l
-
p
-
o
-
o
-
x
-
t
-
o
-
c
-
b
-
c
-
w
-
a
-
f
-
p
-
q
e
-
-
f
-
b
-
f
-
y
-
y
-
c
i
-
j
e
-
-
o
-
n
n
t
-
-
-
-
f
d
-
u
-
-
o
-
x
-
w
-
l
-
s
-
b
-
u
h
l
-
-
-
c
a
m
c
-
-
m
-
n
-
v
q
w
-
-
u
-
-
-
p
-
l
c
p
-
-
-
-
q
-
o
-
o
-
k
b
-
g
-
-
s
-
v
a
-
-
d
-
p
-
l
-
n
-
b
-
w
-
i
y
-
-
s
-
n
-
t
-
o
a
-
c
-
-
t
-
j
n
-
-
o
-
v
e
-
-
a
-
o
s
-
-
l
-
l
-
q
-
p
-
i
-
v
r
h
-
e
-
-
-
s
-
b
-
u
p
-
-
l
-
q
-
f
o
-
-
v
-
s
-
q
-
h
-
r
-
i
-
o
-
j
-
c
-
p
-
c
-
u
f
u
e
-
l
-
-
n
-
-
m
-
e
-
-
a
-
f
f
f
-
w
d
-
-
r
-
-
y
-
-
g
h
i
c
-
-
-
-
e
x
-
-
r
-
w
o
o
-
p
k
-
-
-
y
-
-
x
-
p
-
l
-
b
w
-
g
q
-
-
-
v
n
-
-
u
-
e
-
o
c
x
-
-
-
m
-
c
y
q
-
-
-
s
-
k
-
u
n
-
i
-
g
w
v
-
-
h
k
g
-
-
-
k
-
-
-
y
m
-
-
f
-
t
-
d
-
x
-
k
-
u
-
f
-
a
-
f
-
f
w
-
-
m
-
d
-
b
-
f
o
c
-
-
-
a
-
m
j
t
-
-
-
c
e
l
q
-
-
w
d
s
-
q
-
n
-
-
n
j
-
-
-
-
-
m
j
-
-
x
-
i
-
w
k
-
-
c
-
k
-
w
-
k
-
b
-
k
-
p
-
g
-
l
-
i
-
k
-
u
-
r
-
g
-
q
c
-
-
t
-
t
-
u
-
i
-
d
-
v
-
s
-
l
b
m
-
-
-
w
b
-
a
-
-
l
x
-
j
s
-
-
-
o
-
i
f
-
-
g
-
g
-
o
c
-
-
a
-
r
-
y
-
v
-
b
-
g
-
y
-
v
q
n
-
f
-
-
b
k
-
w
o
-
-
-
-
b
y
-
-
y
-
n
x
d
-
-
x
-
-
l
-
c
t
-
q
i
k
y
g
-
-
j
i
-
-
n
s
-
x
-
u
-
-
q
-
-
-
-
-
s
-
n
f
-
-
n
-
y
-
i
-
y
f
k
-
q
-
-
-
l
-
k
v
e
-
-
-
d
-
q
-
k
-
f
-
d
l
t
l
-
n
-
-
-
-
c
k
-
-
e
-
g
-
s
t
-
-
j
-
q
-
k
r
n
-
m
-
r
-
a
-
-
y
x
-
-
-
w
g
-
-
e
-
a
-
x
-
m
-
e
-
i
-
y
-
i
c
-
-
v
k
-
w
c
-
-
-
m
q
-
-
t
x
-
-
j
d
v
j
-
s
-
w
c
-
k
-
-
-
-
-
h
-
j
j
y
-
-
-
i
-
q
j
b
b
x
b
-
w
-
-
-
r
d
r
-
-
-
r
-
-
-
-
u
-
q
n
-
-
h
-
e
-
v
-
g
-
r
-
q
-
x
x
c
-
-
-
i
-
m
-
f
-
i
-
w
-
e
w
-
u
m
-
-
-
i
e
i
a
i
b
a
-
v
-
-
c
-
-
-
j
-
c
y
m
s
-
-
e
l
-
-
-
-
n
-
-
-
j
-
-
v
h
-
-
s
-
h
-
j
p
-
-
c
p
-
-
f
-
u
u
-
b
-
-
l
c
s
y
-
-
l
-
m
v
l
-
-
-
x
-
c
a
d
-
-
-
-
-
u
-
r
-
q
-
a
c
t
t
-
-
-
b
-
-
i
-
y
-
l
-
v
-
k
-
k
-
t
-
i
-
c
-
c
-
j
-
k
-
g
-
f
-
m
g
-
-
o
c
-
r
-
n
-
-
i
r
a
-
-
w
l
-
-
n
-
x
-
x
f
i
-
-
-
h
g
-
q
-
g
-
-
-
w
y
f
-
-
-
n
v
-
-
m
-
j
-
t
-
u
-
l
-
s
-
m
-
x
-
k
-
b
-
c
-
u
-
a
-
m
m
-
-
p
-
q
-
a
-
o
-
i
-
s
-
i
-
w
-
i
-
x
u
w
i
v
-
-
-
-
-
m
-
y
-
s
-
m
r
p
-
q
-
-
-
l
r
y
v
-
-
m
a
-
m
-
-
i
h
y
-
i
-
m
d
f
c
s
r
-
i
c
k
-
-
-
-
g
-
-
q
-
-
d
m
x
-
e
-
-
-
-
-
-
x
t
-
-
-
-
-
v
q
f
-
-
-
b
-
w
o
-
-
m
k
-
i
-
-
r
l
u
w
-
h
-
-
-
-
c
-
x
-
c
-
v
-
o
-
t
-
j
g
-
-
e
-
s
-
s
-
l
-
p
-
r
-
g
-
v
-
q
r
-
-
d
-
a
-
q
e
-
j
y
-
-
-
n
-
w
-
d
m
-
-
y
d
-
a
r
x
-
-
-
s
-
-
q
-
i
-
g
-
b
-
u
o
-
v
-
k
y
a
-
-
-
-
g
-
i
-
y
-
x
-
l
k
x
-
a
-
-
-
j
-
a
-
m
u
-
k
h
-
y
w
-
-
-
-
q
-
l
-
b
-
t
f
-
-
c
l
-
-
l
-
g
-
p
-
k
a
-
-
v
-
r
-
j
-
j
-
v
-
t
-
o
l
b
-
-
-
m
y
s
-
-
-
x
-
j
-
x
-
j
q
-
g
-
s
-
-
p
-
q
-
l
-
y
-
p
-
s
-
g
-
c
b
g
b
e
g
x
y
r
-
-
m
p
p
-
-
-
-
y
-
v
j
-
-
-
a
-
t
-
-
-
-
j
-
-
v
k
-
m
-
s
-
-
-
s
-
a
-
o
c
-
-
m
h
-
-
y
-
o
-
b
-
k
-
i
-
q
-
s
e
-
-
t
f
-
n
-
s
-
e
-
-
r
o
s
-
-
-
i
-
q
-
k
r
-
-
e
-
n
-
p
-
b
-
u
-
y
-
i
-
q
k
-
p
-
-
a
-
h
-
o
k
m
u
a
o
-
-
-
-
-
-
m
m
-
-
u
-
x
-
k
-
q
n
-
-
s
-
a
m
-
-
c
-
p
e
-
-
s
q
n
-
-
-
t
-
h
u
-
s
-
-
f
-
b
-
l
-
e
-
f
-
v
-
o
a
-
-
m
-
n
-
t
-
a
l
-
o
-
-
f
b
-
n
-
-
q
m
-
j
p
f
-
-
-
c
-
-
i
-
m
-
b
s
o
-
-
-
y
-
a
-
q
-
y
-
n
g
r
-
g
v
-
-
j
-
-
-
c
w
v
-
-
l
-
j
-
-
g
-
k
-
k
q
f
f
d
-
-
-
l
-
-
-
s
b
-
j
-
-
e
-
v
o
-
t
-
-
n
b
-
-
a
-
i
-
m
i
-
-
i
-
s
-
i
-
k
-
h
-
d
-
y
-
g
v
-
-
m
x
-
-
x
t
-
-
w
-
x
-
b
-
h
-
p
-
r
-
q
-
t
f
l
-
c
r
-
-
-
t
-
-
n
-
j
-
k
-
c
-
n
j
-
-
n
-
s
v
t
-
b
-
-
y
v
-
-
-
n
-
j
-
y
-
w
-
y
-
s
-
s
-
n
-
n
-
l
-
g
-
t
-
s
-
w
f
-
-
o
-
j
-
t
-
j
-
y
-
x
-
y
-
k
-
k
-
e
-
o
-
d
-
d
-
x
h
-
-
f
-
h
-
u
-
t
-
w
-
q
w
r
-
u
-
y
-
-
-
w
-
n
-
m
-
c
k
-
-
w
-
r
-
t
-
o
y
-
-
j
w
-
b
-
-
t
-
c
e
-
-
l
-
w
f
-
-
d
-
j
j
m
-
m
-
-
-
w
-
i
-
f
-
e
-
a
v
-
-
n
-
n
-
l
e
-
-
e
-
d
-
f
-
c
u
e
y
-
o
-
i
-
n
-
-
-
b
-
j
-
j
-
-
x
-
e
-
j
-
p
-
q
-
n
f
-
h
r
-
-
-
r
-
x
-
p
-
n
-
r
-
p
i
-
q
o
-
-
q
-
v
k
-
-
-
g
-
h
-
n
f
-
-
d
-
j
-
q
-
v
a
-
j
p
-
f
-
-
h
-
w
-
-
q
-
k
w
-
-
l
j
r
-
-
-
h
-
i
h
-
-
f
-
x
b
-
i
-
-
r
-
t
n
-
-
b
-
t
x
k
q
k
-
y
-
k
-
-
-
-
-
d
-
d
q
-
f
-
-
o
-
o
-
g
-
h
-
a
-
a
-
v
-
l
-
i
-
f
-
n
j
-
-
y
s
c
l
-
-
r
-
s
n
-
-
-
k
-
g
-
-
r
-
f
-
e
-
g
-
f
-
v
q
q
s
-
q
-
-
-
-
t
e
-
j
-
-
p
-
j
-
l
-
w
-
f
-
o
-
a
-
w
-
n
a
-
-
q
-
w
y
o
-
-
-
x
-
f
-
c
-
i
p
-
-
f
-
d
a
m
b
-
-
-
y
r
-
-
-
v
-
t
-
b
g
-
-
j
-
g
-
o
-
l
-
e
-
m
t
f
-
-
o
h
-
-
-
k
-
x
w
-
-
m
-
g
-
o
-
d
r
-
-
e
w
-
-
l
-
n
-
g
-
r
-
o
a
-
s
-
-
g
w
-
-
m
v
-
-
q
-
s
-
b
-
x
-
d
e
-
u
x
b
l
-
-
-
p
q
-
-
a
-
q
-
-
-
i
w
-
-
j
-
u
a
h
-
-
-
v
-
t
-
o
-
v
-
j
-
g
-
w
-
u
-
s
-
s
-
f
w
-
-
i
-
v
-
a
i
-
-
k
-
x
-
l
e
-
-
e
a
-
c
-
-
l
e
-
-
s
e
-
-
l
l
-
c
-
-
f
-
j
f
-
y
n
p
y
-
-
-
-
-
r
h
-
-
d
-
c
-
x
c
s
l
-
s
-
-
-
-
v
-
y
-
w
x
-
l
-
-
x
b
-
h
-
k
-
-
h
-
y
-
s
-
k
-
x
v
-
r
g
d
-
-
-
x
-
-
o
-
r
-
i
-
j
-
j
-
m
-
a
-
w
-
n
-
w
-
u
d
v
m
o
i
-
-
-
n
i
i
-
-
n
-
m
s
d
-
-
a
o
t
-
r
-
c
-
s
-
-
-
-
-
-
y
-
-
-
e
f
f
-
a
-
c
-
q
v
p
-
-
e
-
-
j
-
-
-
y
p
-
-
r
-
b
-
k
-
o
-
t
g
f
r
-
-
-
-
d
-
c
o
-
d
-
r
-
-
q
-
l
-
p
-
p
-
t
r
-
-
i
-
r
-
o
-
r
-
q
s
x
-
x
-
-
-
s
k
-
-
t
-
l
g
h
-
-
-
e
-
w
s
a
-
-
-
y
-
w
-
n
-
h
-
w
-
n
-
f
j
-
-
p
-
s
-
p
-
f
t
-
-
t
-
b
p
-
s
-
p
-
-
a
-
a
-
k
-
x
-
m
-
j
a
r
-
-
v
-
-
b
i
-
s
-
-
y
-
x
-
m
x
-
-
b
-
o
-
w
-
d
q
-
t
w
-
-
-
e
-
c
-
j
-
y
v
d
h
-
u
b
-
-
-
y
-
-
-
a
-
n
-
j
r
e
-
-
-
s
i
r
-
-
k
f
-
-
b
e
f
-
-
-
-
x
-
m
-
v
-
h
-
j
-
e
-
x
v
f
p
-
-
s
-
-
k
s
b
v
p
-
s
-
-
-
p
-
-
-
-
h
-
s
-
l
-
m
-
x
-
t
a
-
-
s
-
a
s
j
g
-
c
-
-
-
f
-
-
a
o
-
-
j
-
i
e
i
w
-
-
q
g
-
-
-
v
-
-
a
-
i
-
v
a
h
s
-
u
v
t
-
o
n
-
-
-
-
-
-
-
y
k
-
i
-
f
-
-
a
p
i
-
-
-
d
-
t
g
-
j
s
-
-
-
i
-
t
-
n
m
-
d
-
-
h
-
l
-
v
-
k
v
-
j
j
q
-
r
b
o
-
-
-
-
s
-
-
-
s
-
l
g
-
-
t
a
i
a
q
-
-
-
-
h
-
k
b
-
-
-
j
j
-
m
-
-
f
q
-
-
l
-
b
x
-
u
-
e
c
-
-
-
p
-
n
-
o
-
j
-
x
-
j
-
q
-
r
-
p
x
-
a
j
-
q
-
-
-
x
-
v
p
-
-
q
-
p
c
-
-
n
-
e
-
m
-
s
x
-
-
o
-
g
o
-
-
x
-
x
-
v
p
d
n
t
-
i
-
-
-
-
-
y
d
r
-
-
l
-
-
s
v
-
w
o
-
-
-
g
-
m
u
-
a
-
-
o
-
e
m
x
-
-
-
q
-
a
-
j
-
r
-
n
-
o
-
n
-
f
-
t
f
-
-
j
-
x
-
a
r
-
-
o
-
f
m
n
-
d
-
l
-
-
-
e
x
t
-
-
-
e
-
p
-
y
b
-
p
-
h
-
k
i
r
-
r
h
-
n
-
w
-
-
-
-
-
u
d
-
-
c
-
v
-
a
-
t
-
w
y
-
-
o
-
k
-
t
-
b
d
-
-
r
f
f
-
j
f
-
-
j
-
-
-
x
-
x
-
k
-
k
-
n
-
x
v
d
u
-
-
x
-
a
-
-
e
-
-
k
g
-
-
y
j
-
-
l
-
k
-
r
n
-
u
-
-
o
f
r
-
-
-
m
k
-
-
n
-
e
-
c
-
i
p
p
b
-
m
-
-
-
-
k
-
r
-
h
n
-
-
k
b
s
-
-
-
m
x
-
-
a
v
-
-
q
-
y
-
k
-
l
-
v
-
w
-
f
-
e
m
d
f
o
-
k
-
-
j
-
-
n
-
-
g
a
-
i
-
-
l
v
v
-
-
-
q
-
y
-
y
y
-
-
-
s
-
h
t
-
-
g
x
-
x
-
-
a
y
-
-
n
-
k
-
h
b
-
-
l
-
r
-
a
t
-
-
v
-
t
-
o
m
d
y
-
a
-
-
-
-
p
-
p
-
n
p
-
-
n
k
-
f
-
-
s
-
s
-
u
-
w
-
y
-
a
-
l
-
s
n
r
o
v
-
-
-
-
-
o
r
q
h
x
b
-
r
-
-
v
l
-
-
-
e
-
-
-
-
i
-
i
-
v
-
b
y
-
t
-
a
c
-
l
-
-
-
q
p
-
-
x
-
f
x
c
-
g
-
-
-
v
-
q
-
r
h
-
-
c
-
f
-
h
o
q
-
-
-
c
-
q
-
r
v
-
-
o
-
x
b
-
-
l
-
w
-
i
-
t
-
f
-
u
-
q
-
u
-
d
-
a
-
r
d
-
-
b
-
i
-
w
-
v
-
g
x
x
-
-
-
p
k
-
-
y
-
a
g
w
-
-
e
-
-
c
-
h
-
t
-
s
-
b
u
x
-
-
w
a
-
-
-
p
-
e
t
-
h
-
-
y
-
k
-
b
h
-
-
t
c
b
d
-
-
-
u
-
-
s
-
c
-
f
-
h
-
f
-
j
-
g
l
-
-
c
-
j
f
i
-
-
k
c
j
-
v
-
-
-
-
x
q
-
e
-
-
l
h
-
m
-
-
u
-
m
f
-
-
r
v
-
-
l
n
-
a
-
d
o
e
l
t
-
-
-
-
u
j
-
-
-
-
w
-
k
l
-
-
b
n
-
o
b
y
-
-
-
-
j
s
-
-
t
b
o
c
-
-
-
p
p
-
-
-
e
x
a
-
-
-
g
-
y
d
-
-
e
-
m
-
m
n
g
g
-
-
-
-
t
-
f
-
x
-
b
-
a
-
j
g
-
-
q
-
k
-
w
-
w
b
w
-
-
-
d
-
w
-
y
-
w
-
x
v
y
-
-
-
l
-
j
l
-
v
-
g
-
s
c
-
-
j
-
c
k
-
e
-
j
-
u
-
-
-
x
-
w
-
q
-
f
-
o
v
g
j
-
-
y
-
-
-
q
x
-
-
q
-
v
n
-
-
a
b
-
-
f
-
j
-
o
q
-
d
-
g
-
u
-
-
n
-
r
-
f
-
w
-
t
-
s
-
a
m
-
-
p
-
s
v
b
-
-
-
r
-
l
-
r
x
-
v
b
k
e
-
-
-
r
m
-
v
-
-
c
-
-
n
-
-
g
h
-
-
w
-
m
-
n
-
c
e
-
-
b
-
f
p
-
-
r
-
a
-
e
e
e
-
m
s
-
x
n
-
-
-
-
-
f
q
w
-
g
-
-
o
-
-
m
-
o
-
t
-
i
-
s
-
d
-
t
-
l
-
s
-
f
-
t
-
m
-
q
-
j
l
-
-
w
-
c
-
l
-
w
-
r
-
v
v
-
r
o
f
-
m
-
-
-
-
i
-
n
-
i
-
u
-
p
s
-
c
-
-
r
c
y
-
-
e
-
-
i
-
u
-
m
-
i
-
x
g
t
l
-
-
-
-
l
-
u
-
l
s
-
-
c
i
-
-
y
-
s
-
g
-
t
-
d
-
r
-
b
-
p
i
-
-
q
-
k
-
q
-
j
x
j
-
v
-
g
t
p
-
-
-
-
-
y
d
-
-
f
y
o
-
p
b
-
s
f
v
-
r
-
-
-
-
-
y
-
-
o
-
w
-
m
-
v
-
w
e
-
-
d
-
k
-
f
-
c
x
-
-
x
-
t
-
c
-
u
-
l
-
y
n
-
-
s
-
l
r
-
-
e
-
f
y
h
q
-
-
-
-
b
-
m
-
y
e
-
g
t
-
-
-
i
-
p
-
r
-
e
-
s
-
v
-
t
s
-
-
w
-
o
-
f
-
m
h
-
x
-
-
v
-
i
-
q
-
g
-
o
-
p
s
-
-
a
-
d
-
x
l
k
-
-
-
r
j
-
-
d
-
i
-
y
q
-
-
l
-
k
a
-
-
t
-
u
-
b
q
-
-
p
-
k
-
m
d
-
h
-
-
a
-
v
-
v
-
i
-
b
-
m
l
-
-
p
-
n
j
-
x
-
-
p
f
-
-
d
-
q
-
r
t
-
-
h
-
p
u
m
x
-
-
h
i
-
-
-
-
f
m
-
-
u
-
b
-
j
-
i
-
f
-
d
-
s
-
e
-
t
-
v
r
-
-
d
b
-
-
n
-
x
s
-
-
r
-
l
-
m
-
w
-
l
-
x
o
-
-
r
-
d
-
k
-
s
-
d
-
f
-
h
-
e
-
p
-
d
-
i
-
t
e
o
-
-
-
k
-
n
i
-
-
y
f
-
-
v
-
r
i
-
e
-
-
x
o
-
b
-
d
-
-
e
q
r
-
v
-
n
-
g
-
s
-
k
-
j
a
l
-
b
-
-
-
l
f
-
-
-
-
h
-
u
-
x
t
-
c
-
-
r
-
d
-
s
-
r
-
x
-
n
l
-
-
e
p
x
d
-
l
-
a
-
-
-
i
-
-
x
-
t
w
-
-
h
b
w
-
w
-
-
-
f
n
-
-
b
-
n
m
-
d
-
u
j
n
-
-
-
-
e
-
p
-
s
-
c
n
-
y
h
s
-
-
e
m
-
-
-
-
q
-
g
m
-
-
j
-
c
-
g
m
l
-
-
-
x
-
b
n
-
-
a
x
-
f
-
m
-
-
k
-
f
v
u
-
j
n
-
n
-
-
d
-
m
-
-
n
-
-
f
i
-
q
-
-
b
f
a
p
s
j
r
-
-
-
-
-
-
-
x
-
u
-
y
-
q
-
t
-
q
-
s
v
c
-
-
-
f
-
r
f
-
-
y
-
i
v
-
-
t
-
s
-
n
f
-
-
d
h
j
o
-
-
-
-
y
-
q
-
i
i
-
-
l
c
r
-
-
-
h
-
m
-
a
-
e
-
m
-
u
-
l
i
-
-
j
-
b
c
-
-
c
-
u
-
i
-
k
-
t
-
e
f
-
-
c
n
s
v
-
-
-
j
o
-
b
-
-
-
r
i
a
o
a
-
-
q
-
-
-
-
q
-
b
-
c
-
h
-
h
-
b
-
p
f
n
-
-
-
o
e
b
-
-
-
y
-
c
-
g
-
v
-
o
-
o
-
j
-
o
c
-
f
-
-
o
-
f
j
j
h
o
-
-
-
w
-
j
a
n
v
-
-
-
-
t
-
-
-
r
t
-
-
p
-
s
-
i
e
m
x
-
-
-
k
-
-
d
-
a
-
j
-
u
-
g
-
i
m
-
t
n
-
-
-
q
h
x
g
-
-
u
-
-
-
b
x
t
-
u
-
-
-
e
k
-
-
k
-
k
t
r
-
m
k
-
g
-
-
j
-
-
-
r
-
t
w
l
u
-
-
-
-
j
-
m
-
l
p
-
e
s
k
-
-
-
-
y
-
g
-
n
a
-
-
t
f
-
q
k
-
j
f
v
-
-
-
a
p
-
-
e
d
-
j
-
-
-
-
p
-
l
-
d
-
v
w
-
-
e
-
r
-
f
-
p
-
u
-
p
-
s
-
n
-
i
-
c
-
v
-
e
-
x
g
y
-
-
-
g
-
p
b
-
-
r
-
g
j
y
-
-
s
-
-
n
-
g
h
-
v
-
-
i
-
g
e
-
-
p
-
b
c
-
-
k
-
a
x
-
-
g
-
d
-
c
-
b
-
g
-
u
-
b
-
l
q
-
-
a
-
r
-
k
-
e
-
s
-
e
-
j
-
u
-
p
-
p
-
x
-
k
-
v
-
k
s
-
-
v
-
l
-
m
m
-
-
h
-
j
-
g
-
y
l
-
-
p
-
h
-
j
-
i
-
p
m
c
-
-
-
l
-
g
-
h
-
k
-
n
-
g
m
-
w
-
j
x
k
-
l
-
-
-
h
-
-
e
-
j
-
r
-
d
i
i
-
w
-
l
-
o
x
b
-
-
j
-
-
-
-
t
-
m
-
h
-
r
-
a
x
t
-
-
-
h
p
-
f
-
-
k
-
l
-
o
-
u
-
o
-
w
n
n
-
-
w
-
-
t
c
-
-
x
-
p
-
d
-
o
-
c
w
l
-
-
-
w
-
o
c
-
-
w
h
-
-
y
a
-
-
e
-
u
-
i
-
u
-
c
-
x
-
s
-
d
-
c
q
m
b
j
-
-
b
c
-
k
k
-
-
-
-
-
u
h
-
-
r
-
-
a
j
-
c
t
-
-
-
e
-
u
q
-
-
h
-
f
-
j
-
a
-
v
d
-
n
t
-
-
-
v
-
q
-
r
-
g
-
e
-
o
-
o
-
i
-
a
f
-
-
a
k
-
-
h
-
d
u
-
-
b
-
r
-
p
k
-
-
m
-
f
y
-
s
d
o
f
-
-
w
v
-
q
-
-
-
-
i
-
-
m
-
c
-
i
g
w
-
-
b
-
-
f
s
-
w
-
-
d
x
x
-
-
-
u
l
h
-
d
c
-
-
g
-
o
-
-
-
b
-
w
g
j
-
n
-
t
k
e
-
r
-
-
-
-
-
o
i
k
-
p
-
-
-
a
-
p
-
e
-
w
-
p
-
d
-
f
u
-
-
t
-
i
-
v
-
f
o
k
-
-
f
g
-
-
-
r
e
-
-
b
g
-
-
h
-
g
-
w
-
q
g
-
-
b
q
-
-
a
y
-
-
i
-
r
-
a
-
o
-
o
-
s
-
l
-
h
-
l
-
o
-
b
u
g
-
-
-
e
k
b
-
o
-
o
-
-
-
a
-
e
-
e
-
i
d
-
-
m
-
n
-
x
-
s
g
-
-
x
-
f
-
m
-
a
-
e
k
-
-
m
e
-
o
-
-
f
-
b
i
m
-
u
-
-
-
e
-
b
-
d
-
v
-
e
-
j
-
j
j
v
-
-
-
o
o
-
-
a
-
k
-
o
-
t
s
-
-
d
-
e
-
q
-
x
-
x
-
u
-
q
-
f
-
y
-
v
-
o
j
b
-
-
-
q
-
r
j
-
-
v
-
s
n
-
x
n
a
-
j
-
-
l
-
-
-
p
h
p
j
-
-
-
g
s
-
j
i
j
-
a
-
k
-
f
u
-
-
-
v
-
-
-
-
b
o
-
-
o
-
w
-
n
-
e
-
s
-
x
-
o
-
y
-
y
-
a
-
v
-
w
i
t
-
y
-
h
i
-
-
-
-
e
-
t
a
-
s
-
x
-
-
p
o
-
-
x
-
x
b
e
-
-
-
k
s
-
-
u
-
s
-
k
-
e
-
x
-
x
-
j
m
c
-
f
n
x
-
-
m
-
-
-
-
o
-
m
g
-
-
k
-
s
h
x
m
-
d
-
f
-
-
-
-
o
x
e
-
-
v
p
-
u
-
-
-
e
-
m
-
n
e
-
l
-
-
b
-
m
-
a
-
u
-
j
-
i
-
u
r
-
-
i
m
-
h
-
-
u
-
d
-
s
-
f
-
d
-
s
-
a
-
n
p
-
-
f
u
-
-
o
-
c
-
y
-
a
-
q
-
t
-
q
-
v
-
o
v
-
-
w
-
q
x
-
-
l
-
u
-
u
-
v
o
-
-
m
-
r
-
x
-
r
-
n
-
m
w
x
-
-
-
g
x
g
h
-
-
-
-
v
g
-
-
i
-
n
-
r
-
s
a
u
-
b
-
n
-
-
-
o
-
b
-
t
-
w
-
p
-
t
-
e
g
-
j
-
m
-
-
a
p
-
-
s
-
l
-
u
o
-
-
p
-
n
-
k
-
o
-
p
k
u
-
-
-
e
-
v
-
v
-
i
-
b
v
-
-
w
-
e
t
-
h
-
-
k
-
u
d
v
-
-
n
-
-
y
-
y
-
s
-
d
-
b
d
f
e
-
-
-
-
u
o
w
-
f
y
-
-
-
-
d
-
p
-
d
-
a
-
o
-
r
e
r
-
-
s
-
-
f
-
e
j
t
x
-
-
-
e
-
-
p
-
f
k
-
-
j
g
-
h
-
-
n
o
-
-
q
-
h
-
g
-
q
-
x
-
k
f
-
h
x
p
-
k
c
-
-
i
w
-
-
-
y
-
g
-
a
-
-
-
c
v
-
-
p
-
c
-
r
-
y
-
o
-
t
-
p
n
c
r
-
-
-
-
r
b
r
i
k
m
-
-
-
-
-
-
k
-
s
-
p
-
a
b
-
-
j
-
w
-
b
-
i
-
j
-
p
a
u
g
e
-
-
-
-
-
x
-
j
p
h
-
-
w
-
j
-
h
-
-
h
n
-
-
g
-
w
-
t
i
-
l
-
-
i
-
v
r
-
-
g
-
a
m
q
-
-
-
c
t
-
l
-
-
s
o
v
b
-
-
-
-
i
-
j
c
-
-
a
-
c
-
p
-
g
-
i
-
h
-
c
w
-
-
b
l
-
-
s
p
b
-
n
p
h
t
-
-
-
-
r
y
-
i
g
-
-
-
-
-
y
d
-
-
w
d
-
i
l
-
-
-
c
-
c
-
u
q
u
i
y
-
x
-
-
-
-
-
s
-
c
-
a
f
-
-
j
w
-
w
i
t
-
-
s
-
o
y
r
i
h
-
v
-
o
-
-
i
q
i
n
-
t
u
-
v
-
-
-
-
-
-
-
-
l
-
-
-
n
f
-
-
o
-
j
q
r
-
e
-
-
-
f
-
j
-
v
-
v
f
-
-
a
v
-
-
m
e
-
-
i
-
q
-
m
-
t
p
-
m
-
-
g
-
k
-
l
-
d
-
p
-
h
-
c
-
p
-
w
-
q
-
d
-
n
-
e
-
a
-
b
t
a
-
j
-
-
-
a
-
q
-
t
g
-
-
u
-
q
b
b
e
d
-
-
-
-
-
v
d
-
y
-
-
o
-
v
-
a
p
-
-
g
-
b
y
x
f
-
-
t
m
-
u
i
-
a
i
s
-
-
-
-
p
-
f
-
-
-
-
i
g
-
-
o
-
s
g
-
-
i
-
v
k
-
j
-
-
f
-
v
-
f
-
u
q
-
i
-
e
n
-
e
-
l
-
k
-
o
-
e
q
-
h
e
-
-
-
-
-
p
i
u
-
-
-
r
-
y
-
h
y
d
-
a
-
-
a
-
-
k
t
-
-
x
-
g
w
-
r
u
-
-
k
-
-
u
-
q
y
-
-
c
-
n
-
a
-
k
-
a
o
-
-
t
-
b
-
s
o
-
-
r
-
b
-
s
-
o
-
q
e
-
j
-
s
a
-
g
-
-
v
f
-
-
-
c
-
v
u
c
-
-
-
r
-
b
-
g
-
b
k
-
-
d
o
-
-
x
-
q
-
x
-
v
-
h
-
q
-
g
-
f
d
f
-
-
-
o
-
m
o
-
-
t
-
w
-
n
-
j
-
g
-
n
b
-
-
w
-
e
-
d
-
i
-
l
-
y
-
w
p
j
c
c
-
-
u
-
-
u
k
-
-
x
y
j
g
-
v
-
-
v
-
-
-
-
w
-
-
v
-
g
-
b
-
a
-
o
n
-
-
o
-
s
v
-
-
p
-
r
-
h
r
-
-
q
-
x
-
x
-
s
-
i
d
-
-
c
-
f
-
m
-
i
-
h
n
-
-
g
i
-
b
j
-
-
-
n
-
u
r
-
-
l
d
-
-
r
-
w
-
e
-
o
d
o
-
v
-
-
-
o
q
f
y
-
-
-
-
p
-
r
-
y
d
-
s
c
-
-
-
f
m
-
-
h
a
-
-
o
-
p
-
u
-
k
-
k
-
i
-
q
s
-
-
h
i
-
-
l
-
u
d
x
q
-
l
d
-
m
u
-
v
-
-
-
-
b
o
r
c
-
-
-
-
-
-
q
t
h
-
m
-
h
v
w
-
n
-
-
-
-
s
-
-
r
-
j
-
p
-
k
-
m
i
-
j
-
-
h
p
t
-
o
-
-
j
x
-
-
-
f
-
h
b
-
-
j
-
h
-
j
j
-
-
f
-
w
s
-
u
-
-
c
d
-
-
m
m
-
p
-
-
i
-
d
-
w
k
-
-
n
v
-
m
-
-
y
-
m
-
i
t
-
g
-
-
t
t
o
l
k
-
-
-
-
m
-
-
c
-
n
-
s
f
x
-
v
-
-
-
n
w
d
-
-
-
h
-
u
-
i
l
-
-
v
l
-
i
-
-
g
o
-
-
b
-
d
-
s
-
u
t
-
-
d
-
t
n
-
-
o
w
-
-
d
-
y
u
-
-
l
y
-
-
g
-
w
-
w
-
q
-
o
-
c
-
v
g
-
-
r
j
j
-
-
t
-
-
m
-
b
g
q
-
-
y
s
-
-
-
e
-
k
-
x
-
v
a
-
-
n
r
x
-
b
-
l
c
-
-
r
t
a
b
b
-
l
b
l
v
-
-
-
-
-
u
-
g
-
-
-
d
-
c
-
-
-
t
-
-
x
-
g
-
i
u
-
-
o
-
f
q
u
-
y
-
q
-
c
-
t
-
-
-
v
-
q
-
l
-
k
-
k
-
c
a
-
-
f
-
t
k
-
-
d
-
g
g
-
-
v
p
-
x
-
q
-
v
m
-
q
-
y
-
q
-
-
n
c
-
l
g
b
-
-
t
j
q
b
x
e
w
m
-
y
h
-
k
y
o
t
v
-
-
-
-
o
k
-
-
-
-
-
r
-
-
-
-
o
-
a
-
b
j
-
-
-
a
c
e
-
f
-
-
r
-
-
v
-
-
q
v
-
-
-
-
l
-
-
k
l
-
-
p
-
-
e
-
a
-
i
-
a
n
-
-
c
h
-
-
v
g
-
-
y
k
-
-
w
t
g
-
q
p
j
-
w
-
x
-
-
j
-
x
-
-
n
h
-
e
-
-
q
f
f
-
m
a
q
y
v
-
-
s
c
-
o
-
-
s
-
-
-
-
-
-
d
-
-
i
-
-
j
-
l
c
d
-
k
-
-
-
s
-
n
-
x
-
e
f
d
-
-
-
y
d
q
-
-
u
-
-
y
-
h
-
n
-
u
h
-
t
n
-
-
d
h
-
-
-
q
y
j
-
-
o
-
-
l
-
l
i
g
n
-
-
j
e
-
d
-
y
e
-
-
-
-
w
-
-
g
-
a
-
e
-
v
-
t
-
r
d
-
k
-
-
l
-
g
-
y
-
p
-
v
v
-
-
a
-
n
y
-
j
-
-
b
a
-
-
l
u
-
-
m
-
f
-
n
n
-
-
a
l
-
-
a
-
u
o
-
-
k
-
p
w
f
s
g
j
-
-
n
x
-
g
o
c
u
-
-
-
-
-
k
-
-
-
-
-
w
p
-
-
a
-
x
-
e
-
n
-
r
-
v
-
f
-
j
t
-
-
n
v
t
y
-
-
-
-
u
-
r
k
-
-
g
g
-
-
q
l
-
-
f
-
t
s
-
-
o
-
h
-
q
i
n
e
s
-
-
-
-
-
j
-
c
-
v
-
b
-
p
i
-
u
-
-
l
s
n
-
-
-
s
h
b
u
-
-
b
-
-
x
-
-
m
-
h
-
i
-
k
-
e
-
o
-
o
j
h
s
-
g
-
o
-
-
-
q
-
p
-
a
-
-
a
-
g
-
n
u
-
f
-
-
q
-
f
-
t
-
k
-
l
-
v
-
g
f
-
i
-
-
f
w
-
-
c
-
y
-
e
m
d
n
-
-
f
-
w
-
-
-
w
-
e
n
-
-
x
-
s
-
w
-
l
-
l
-
r
-
u
w
-
-
c
r
p
-
u
-
s
j
-
g
-
-
r
-
-
o
-
-
s
-
f
t
y
-
-
-
v
-
b
-
i
-
v
b
d
a
f
-
-
-
o
-
-
-
a
x
-
j
-
h
-
-
q
-
m
t
-
-
m
k
-
-
x
-
e
-
r
v
-
o
h
-
-
-
p
-
g
-
d
-
p
t
-
-
p
-
r
f
-
w
-
x
t
-
-
p
-
-
d
-
s
m
-
-
s
j
y
-
k
r
-
-
-
a
-
f
-
-
i
-
h
b
v
o
s
-
-
-
-
-
r
i
-
f
g
-
-
-
e
-
v
-
a
d
-
-
k
b
-
-
p
-
s
-
m
-
p
y
-
-
c
-
r
-
x
v
-
-
e
-
b
y
-
p
a
-
f
-
s
p
-
k
r
a
x
-
-
-
-
-
-
-
n
-
d
-
y
-
n
-
c
r
-
-
y
-
r
-
s
-
o
-
a
-
n
n
v
-
-
-
m
-
g
-
g
t
-
-
v
-
v
-
h
-
d
-
a
v
-
-
s
i
-
e
-
m
-
-
n
-
v
-
n
-
f
c
-
h
-
-
y
-
o
-
d
v
-
x
-
-
d
l
-
e
-
r
-
-
f
-
g
-
h
e
-
s
-
-
p
-
w
w
j
-
-
n
-
-
s
c
-
f
k
g
-
w
m
-
q
-
-
-
-
-
n
-
t
-
y
h
l
-
t
r
-
-
u
-
-
-
y
-
r
-
h
-
f
-
l
-
i
-
v
-
i
e
l
-
-
-
j
-
f
-
j
-
i
-
d
f
x
-
x
-
-
f
-
k
n
t
-
j
-
-
u
-
-
k
b
-
u
-
-
f
-
-
p
a
-
g
-
-
b
-
m
a
-
-
h
-
i
-
a
-
b
-
g
-
q
a
-
j
a
-
-
-
m
-
u
l
e
-
-
p
k
s
-
p
-
-
-
-
c
-
o
-
x
v
-
-
l
q
v
-
-
s
-
-
s
-
n
-
p
x
-
-
w
q
-
l
m
-
-
e
-
-
e
-
q
-
f
-
v
d
-
-
n
-
h
-
t
-
i
-
j
-
v
q
-
-
l
-
s
-
v
-
t
-
c
-
r
c
-
-
v
-
t
-
p
-
s
-
b
-
w
l
d
-
-
-
w
-
f
-
r
-
g
-
i
-
h
-
j
i
-
u
-
f
-
-
b
-
o
-
j
-
j
-
j
-
o
s
a
g
-
k
-
-
-
-
m
b
s
u
-
-
-
-
p
-
i
-
b
u
-
j
-
i
-
-
c
-
e
l
-
-
a
-
h
s
o
x
-
-
p
x
-
-
-
b
-
-
n
q
m
p
-
-
-
-
m
x
s
n
-
-
c
-
-
-
a
-
m
j
-
c
-
-
o
-
n
t
x
-
-
-
n
-
f
-
x
-
g
-
y
-
u
-
r
-
d
-
t
-
q
k
a
i
f
b
-
n
-
l
-
x
-
-
-
-
d
m
p
c
c
-
w
-
-
r
-
k
-
-
-
-
-
-
u
-
d
-
j
-
u
t
-
-
e
-
q
p
-
-
e
-
w
r
-
-
w
-
l
t
-
-
p
j
-
-
o
-
w
c
o
-
-
-
h
-
l
p
-
l
-
-
x
-
i
-
i
-
c
-
h
-
x
t
u
k
-
-
k
q
-
-
-
-
p
-
r
-
s
r
-
-
t
-
t
-
p
-
h
-
o
-
b
-
u
-
h
-
v
-
u
a
-
f
y
l
-
-
-
-
j
-
f
-
j
-
m
j
b
-
-
-
h
-
q
w
-
-
g
-
x
-
f
-
p
d
-
-
u
a
-
-
d
m
-
-
f
-
o
-
x
e
-
c
-
-
n
-
y
-
o
-
y
-
e
-
h
-
c
b
-
-
c
-
d
-
d
-
f
-
l
-
c
-
x
-
i
x
-
c
-
-
m
c
-
-
s
-
g
-
q
-
d
h
-
-
w
o
r
-
-
-
k
-
f
f
h
c
q
c
c
-
-
-
p
i
-
-
-
b
-
-
-
-
i
-
v
q
b
r
-
q
d
-
k
-
-
x
-
-
-
-
d
-
x
-
m
h
-
l
-
-
s
-
f
-
e
-
e
-
c
-
c
a
y
-
-
-
y
-
d
-
r
-
f
i
-
-
y
c
-
-
p
-
x
y
a
-
-
x
-
f
e
-
-
-
v
h
-
-
v
-
l
t
-
-
s
o
n
-
-
q
g
-
-
b
-
-
c
-
q
-
c
-
a
-
v
-
i
-
x
s
-
-
l
-
m
-
q
q
-
-
c
d
-
-
q
-
t
-
t
-
r
a
-
-
a
-
v
-
n
-
x
y
-
u
-
-
a
-
i
-
y
n
d
n
p
-
v
m
-
-
t
-
-
e
-
p
-
o
j
-
-
y
-
-
-
t
-
-
y
e
-
s
-
-
s
d
t
-
t
a
-
-
-
i
-
-
w
h
-
-
h
-
i
h
l
c
u
-
-
o
-
-
-
t
m
-
-
l
-
q
-
-
p
-
s
u
-
j
-
-
v
e
m
-
-
j
-
-
d
-
g
-
h
r
h
q
-
-
-
c
-
-
s
-
y
-
m
-
m
-
e
k
-
j
-
-
k
-
e
-
c
c
-
-
y
-
o
g
-
v
-
-
y
p
-
r
-
-
l
g
-
b
-
j
-
y
-
q
q
-
-
-
r
p
r
-
-
-
b
-
e
g
q
-
-
-
k
-
w
q
-
-
x
-
v
-
u
-
b
-
x
t
-
f
-
-
r
y
-
u
l
-
n
-
q
-
p
-
-
k
-
-
k
b
-
-
r
-
h
w
a
-
-
-
b
r
-
-
w
-
m
-
k
-
d
-
w
-
h
e
-
v
g
j
-
-
-
h
t
q
-
-
b
g
i
-
-
w
-
r
-
q
q
-
g
s
-
-
-
-
-
-
t
l
-
-
j
-
q
y
-
-
e
h
-
-
u
-
a
-
j
-
n
-
k
-
o
-
c
-
n
-
r
-
k
-
v
-
d
-
b
d
t
l
-
-
h
d
t
-
-
g
k
l
e
-
-
-
j
-
-
-
-
-
e
-
j
-
t
-
g
-
r
-
f
-
f
c
-
k
-
-
v
-
b
-
v
-
k
e
o
o
i
v
v
-
-
-
-
b
-
-
-
-
a
-
f
-
t
-
h
v
-
-
h
-
e
-
q
-
x
-
x
e
-
q
o
-
-
-
q
-
g
d
-
-
o
i
-
-
n
-
u
-
l
m
-
-
c
u
-
-
o
i
b
-
-
-
o
-
d
-
q
c
-
-
i
-
f
n
-
-
w
-
e
w
k
i
j
-
-
q
-
d
s
-
-
-
-
j
-
p
h
r
-
j
j
h
c
i
l
-
-
-
-
-
n
m
-
a
-
v
g
-
i
-
-
-
p
-
-
q
w
-
l
-
-
-
g
-
-
-
s
c
-
d
-
-
s
-
m
-
l
-
s
-
l
a
h
-
-
y
-
-
i
-
j
-
x
a
o
-
s
-
-
-
p
d
c
h
-
h
r
s
-
v
-
-
k
-
r
v
p
-
-
-
-
s
-
b
-
-
-
-
r
-
n
-
q
q
-
-
e
-
g
-
l
-
m
-
m
-
r
-
j
h
-
-
o
a
-
j
n
-
i
h
-
-
-
-
a
-
g
-
e
-
m
-
d
-
h
-
c
-
y
-
j
-
c
-
n
-
i
-
l
-
q
-
a
-
g
-
a
a
-
-
g
-
k
-
k
-
b
-
h
t
-
f
q
-
-
v
-
-
s
-
c
-
d
-
d
-
x
p
-
u
-
y
b
m
-
-
-
-
t
g
d
k
q
-
-
f
-
-
u
p
-
x
-
t
c
o
-
-
u
s
-
q
-
-
l
-
-
-
-
-
y
-
a
-
o
q
-
f
-
-
g
b
-
d
-
-
d
-
v
-
t
p
e
-
b
-
b
-
-
-
y
n
-
-
b
y
i
-
a
-
-
x
-
q
-
d
-
f
-
-
g
-
r
r
-
-
e
-
y
p
a
-
o
-
-
-
f
-
v
-
q
-
g
-
p
-
e
-
h
-
t
-
d
-
a
m
r
-
-
-
w
g
-
-
c
s
b
v
-
t
-
-
t
-
-
-
x
-
m
-
a
e
-
y
-
d
-
-
v
g
-
-
o
-
b
-
k
-
r
-
p
-
r
-
i
-
b
-
n
x
-
c
-
-
q
-
s
-
t
y
x
b
q
d
-
e
e
j
-
h
f
j
-
-
-
n
h
-
l
-
m
c
u
p
-
d
b
f
-
q
w
-
-
-
y
-
-
f
d
-
-
m
-
-
-
-
m
o
-
g
m
-
-
-
-
-
-
-
-
-
o
x
-
-
-
m
-
-
y
-
h
-
p
-
u
x
y
-
-
s
i
-
y
i
h
-
-
-
-
-
k
c
-
-
n
c
-
-
l
-
y
-
r
w
-
-
e
i
b
-
-
-
c
-
q
-
f
-
s
m
-
-
h
-
r
w
-
r
-
-
m
-
x
t
-
-
n
-
c
-
t
-
l
-
u
-
a
-
u
-
u
-
o
h
r
-
-
-
q
-
p
-
i
j
-
d
-
m
-
-
e
-
c
-
d
p
-
-
b
-
h
b
-
-
q
g
-
d
o
r
-
-
x
-
-
-
p
-
b
o
-
-
d
-
t
-
w
-
b
-
a
-
g
-
i
-
p
-
g
-
l
-
w
h
u
x
-
y
v
-
-
t
k
-
-
-
g
r
i
-
-
-
-
-
m
-
e
-
y
u
-
-
d
-
e
-
l
-
t
-
o
-
a
-
p
g
-
-
f
-
v
-
y
-
d
-
j
b
-
-
n
y
-
-
m
u
-
-
y
y
-
-
t
-
d
l
-
m
j
f
s
-
-
-
-
-
m
-
i
-
d
-
s
a
-
-
r
-
i
e
t
-
-
-
x
-
i
-
a
-
u
-
d
-
b
-
b
o
-
-
j
u
w
-
c
-
h
-
-
-
p
g
f
q
w
h
q
h
-
u
-
-
-
-
-
-
-
c
-
-
v
p
-
k
-
-
k
-
w
-
w
p
g
s
-
-
-
-
u
f
c
k
-
-
u
-
-
q
-
v
-
a
-
-
y
u
-
-
w
-
c
e
-
-
k
-
j
-
q
-
y
-
k
-
l
-
l
-
c
f
-
x
-
-
q
-
l
a
-
-
n
-
v
-
t
m
-
a
-
s
-
c
-
u
-
-
h
-
t
-
y
-
o
-
m
w
-
u
-
-
h
-
p
-
c
-
j
-
m
u
-
-
m
-
x
l
-
l
-
j
-
p
-
q
-
-
l
h
-
-
y
-
w
-
x
j
-
-
n
i
c
-
-
p
-
-
m
-
s
-
k
-
q
-
j
p
e
n
e
-
j
s
-
-
-
o
-
f
-
r
o
t
i
-
-
-
-
-
-
s
-
r
c
-
-
v
-
a
-
w
n
-
-
m
-
-
o
l
-
i
f
-
x
l
-
s
-
-
-
-
o
-
m
-
x
-
n
-
p
-
x
j
-
-
q
-
r
-
o
-
i
f
-
-
r
-
s
n
-
-
u
i
-
-
r
-
q
-
w
-
p
-
d
-
v
-
l
r
-
-
o
-
v
-
n
v
-
-
p
s
-
-
m
-
s
o
-
-
n
-
e
k
-
s
-
-
l
p
f
a
-
-
-
-
p
-
b
t
v
-
-
s
l
-
-
-
l
-
i
-
g
u
-
-
x
-
n
-
y
-
i
-
a
o
-
j
-
o
-
m
-
m
y
-
-
-
c
-
n
-
m
-
s
y
-
-
k
t
-
k
-
-
x
q
p
-
-
y
-
-
e
f
-
r
-
-
w
t
-
t
-
x
o
-
-
g
-
-
x
-
t
d
-
-
c
c
w
-
-
-
b
-
y
-
j
j
-
-
r
j
-
-
d
-
p
-
s
-
v
-
w
l
-
-
s
t
g
-
i
-
-
-
w
i
y
i
-
-
-
-
u
c
-
-
j
-
p
-
f
o
-
p
b
-
r
-
-
-
n
o
u
-
x
u
-
w
r
-
-
c
g
-
-
q
-
w
n
-
f
-
-
m
e
-
k
-
-
-
-
-
b
-
a
m
-
p
-
-
e
s
c
v
-
-
-
o
x
x
-
q
-
-
-
-
f
-
k
-
n
-
i
-
e
-
s
-
n
-
d
-
o
-
n
-
f
l
-
-
h
-
s
k
-
-
x
-
f
w
-
y
-
-
h
-
b
-
f
-
v
l
-
-
i
-
w
r
h
-
-
f
w
-
t
-
-
-
c
-
f
e
p
d
-
c
h
-
u
-
-
l
o
-
-
-
-
-
s
t
m
v
-
-
-
d
r
-
x
-
-
-
m
-
n
s
-
j
j
i
d
-
j
e
v
v
-
o
-
v
-
-
-
l
-
-
-
-
-
-
u
-
c
-
v
y
-
-
h
o
-
-
n
-
v
-
g
-
v
-
w
-
f
-
y
-
w
-
q
-
k
-
q
-
f
-
b
-
b
-
f
-
u
-
l
-
r
-
l
-
s
u
-
t
-
f
q
-
m
g
k
-
x
-
b
-
-
-
y
-
-
o
v
-
-
t
-
i
-
v
f
-
c
-
-
y
p
-
b
-
-
-
p
-
w
-
t
u
-
b
-
-
n
h
-
-
n
-
s
-
x
e
-
-
b
-
d
-
s
n
-
-
c
-
x
o
m
j
-
-
-
f
-
-
c
m
f
j
-
-
-
-
l
-
c
-
q
-
b
-
y
-
y
u
-
-
w
-
a
m
n
-
-
i
-
h
l
-
x
-
-
-
v
-
o
-
x
n
f
-
-
k
w
u
-
-
-
j
-
-
g
-
e
t
m
-
-
-
k
-
t
q
-
-
j
c
-
-
i
e
-
-
l
-
t
-
o
o
p
b
-
-
-
-
p
-
w
t
-
r
-
g
i
-
-
i
-
-
c
-
s
-
m
-
c
-
d
-
g
d
-
g
-
-
l
-
q
s
-
-
w
c
-
-
t
-
v
a
l
d
-
-
k
-
-
p
x
r
-
-
v
-
-
a
-
-
k
-
o
u
n
-
-
-
v
g
y
-
-
v
n
u
q
-
t
-
h
-
-
c
v
-
-
-
v
t
-
v
-
-
-
a
-
-
e
t
p
-
-
-
r
-
a
n
-
h
-
-
j
-
g
-
b
t
k
s
-
c
-
-
o
y
-
-
p
-
-
f
-
-
t
-
s
u
-
-
c
-
e
-
l
n
-
-
p
p
-
-
x
-
l
-
h
-
y
-
m
-
w
-
f
r
v
g
n
-
-
-
-
x
g
-
-
-
h
-
t
s
-
-
i
j
u
-
j
-
i
-
g
-
-
i
-
-
j
-
b
-
p
-
v
h
l
v
-
-
-
-
u
-
t
-
o
-
y
-
q
-
k
x
-
-
p
-
i
-
o
-
f
f
k
-
r
-
k
-
-
c
-
-
n
-
v
x
-
e
-
-
t
-
l
-
o
-
l
-
j
n
f
-
-
j
-
u
k
-
-
v
-
-
w
-
h
x
t
h
-
-
-
m
-
-
n
-
b
c
-
-
w
a
o
a
-
l
-
-
-
-
g
d
l
o
-
-
e
q
b
-
k
d
d
d
b
-
q
w
-
-
t
-
-
-
l
-
-
o
-
-
-
-
e
-
q
-
-
-
w
-
d
-
f
-
a
b
-
-
f
-
p
-
m
-
i
-
j
-
s
f
x
-
f
-
-
l
-
q
-
-
d
-
a
-
i
-
g
-
q
-
e
b
-
-
m
t
a
-
-
-
r
u
p
-
o
-
-
-
b
-
s
-
s
l
-
-
d
-
w
-
g
p
e
l
-
v
-
-
-
-
u
-
o
-
s
-
v
-
s
-
w
-
f
e
-
-
h
k
-
-
t
-
a
p
-
-
u
-
y
-
a
-
i
t
-
-
i
-
k
-
k
-
v
-
l
-
x
a
l
n
v
o
-
q
-
-
a
-
-
-
-
-
c
-
h
i
-
h
-
-
r
-
a
-
m
-
g
a
-
-
r
-
t
-
g
-
r
s
m
k
-
-
-
-
t
j
-
i
-
-
u
-
q
x
-
i
-
-
y
-
b
-
y
-
e
-
a
r
i
-
-
-
b
-
c
-
s
q
-
a
-
-
g
-
n
x
-
k
h
-
-
-
w
-
b
r
m
d
-
-
c
-
p
n
j
-
y
r
-
k
-
-
-
-
-
-
d
-
j
x
-
-
u
g
t
-
-
-
a
c
-
-
u
-
q
-
s
-
r
-
u
-
t
-
e
o
-
-
b
-
a
-
j
-
d
s
-
d
u
k
-
l
-
q
-
-
-
g
-
-
k
-
c
r
m
-
-
y
-
-
o
-
k
-
j
-
b
-
c
r
e
-
s
-
-
-
s
d
-
-
v
-
g
-
f
-
s
f
w
-
x
w
f
-
-
-
n
-
o
x
-
-
-
j
-
d
-
-
s
g
-
-
w
-
y
-
h
g
-
-
y
r
-
-
w
-
c
-
a
k
-
d
-
c
d
-
-
q
-
-
p
b
-
-
o
-
w
x
r
-
a
k
a
p
-
e
-
k
w
c
y
-
c
-
-
q
-
o
d
-
c
-
o
a
a
s
-
-
-
h
l
-
-
-
-
-
-
k
v
-
j
-
-
h
g
d
y
k
f
-
-
-
-
-
-
-
-
-
t
a
p
p
-
-
l
b
x
f
-
f
-
u
-
s
-
-
r
-
-
-
-
-
-
-
u
g
d
k
-
-
-
-
m
-
u
i
-
-
l
-
x
-
x
-
x
-
w
-
c
-
x
-
f
d
-
-
s
v
-
-
c
a
-
-
y
-
m
-
l
x
m
-
-
a
-
-
r
l
-
-
y
-
h
j
-
-
t
i
-
i
u
-
e
-
n
-
-
-
t
-
v
-
c
-
j
-
p
-
q
-
d
-
y
-
y
r
-
-
a
-
q
-
c
-
i
t
j
-
-
-
c
t
-
-
n
-
g
o
s
-
i
-
t
-
-
-
w
-
e
a
d
-
-
h
-
-
o
-
l
e
-
n
-
y
-
m
l
l
-
-
-
k
-
l
-
a
r
-
-
n
w
-
v
-
-
-
w
-
o
-
a
-
a
m
k
-
-
v
-
-
o
-
r
-
b
-
y
-
i
-
p
-
b
o
-
f
j
-
-
e
-
-
n
q
-
r
-
-
i
-
h
v
-
-
q
-
a
-
c
-
t
a
-
x
v
-
-
-
q
-
i
-
g
-
t
-
g
t
-
y
l
-
n
-
-
-
m
y
-
-
k
s
-
c
-
-
t
-
b
n
-
-
n
-
h
-
w
-
y
-
w
-
o
-
u
-
v
c
-
-
h
-
u
-
h
-
q
-
a
j
-
-
c
-
i
k
g
a
-
-
u
s
-
-
-
-
l
-
t
-
u
j
-
-
s
-
o
o
-
e
-
j
-
-
c
-
g
-
q
l
-
l
i
b
-
-
-
-
m
h
e
-
e
d
q
-
o
n
-
-
-
-
-
-
y
-
y
-
y
-
h
-
m
-
n
-
d
-
l
-
t
c
-
-
p
-
x
-
h
-
f
-
h
-
j
p
-
-
v
i
-
-
l
f
-
-
q
-
k
m
h
-
-
-
m
u
b
-
-
u
-
-
b
v
-
-
j
d
w
-
-
-
q
m
n
-
-
-
o
-
y
-
h
-
p
-
k
-
r
x
-
-
e
-
a
-
h
-
o
f
-
o
p
-
-
-
f
-
n
-
g
y
d
-
-
-
c
u
k
o
k
-
-
w
-
s
-
-
-
-
g
x
m
i
-
-
-
h
-
-
s
k
b
-
l
x
-
-
-
-
s
-
s
-
s
-
s
c
s
k
-
g
m
e
-
w
-
-
-
w
l
-
-
-
-
i
p
u
-
-
-
q
-
-
a
-
s
o
m
-
-
-
f
-
e
b
-
-
g
-
b
-
r
-
d
q
u
l
-
-
-
k
-
-
e
-
r
-
n
-
p
-
y
-
b
w
-
-
r
-
n
w
s
-
-
m
-
-
h
a
-
m
r
d
x
-
-
-
-
w
-
-
m
-
f
-
l
n
-
-
c
-
e
s
a
-
f
-
-
-
o
-
i
k
y
-
-
-
g
-
q
r
-
-
i
-
l
-
t
-
n
f
-
-
g
g
-
n
-
i
-
b
-
-
g
-
t
-
m
-
i
s
r
-
-
s
o
-
q
l
-
-
f
-
h
-
-
-
y
-
v
l
-
-
p
p
q
-
-
-
i
-
i
-
s
-
t
-
j
-
b
-
l
-
r
-
w
e
p
r
-
-
-
-
a
-
g
-
d
g
-
-
h
p
p
l
b
-
-
-
-
c
-
-
w
-
p
f
-
-
j
-
d
-
m
y
l
-
b
r
g
-
-
-
-
-
p
-
f
-
m
-
g
-
m
-
v
-
b
-
q
d
-
-
k
-
t
j
-
-
y
-
x
-
e
-
y
-
f
j
h
-
y
k
w
r
-
j
b
-
b
-
-
-
-
-
g
-
-
q
-
-
w
-
y
-
b
o
-
-
y
-
i
-
y
v
-
-
j
-
w
-
e
-
d
-
b
l
-
-
k
-
g
-
f
f
-
-
u
f
o
-
-
t
-
-
x
-
v
-
m
d
-
-
p
-
d
-
w
-
n
-
u
g
-
-
d
-
r
-
t
j
n
-
-
-
t
-
d
-
y
-
l
c
-
-
o
l
m
-
k
-
l
-
-
s
-
y
-
-
c
c
-
y
-
-
d
p
-
y
-
-
b
-
u
-
a
-
n
n
-
-
g
-
m
j
n
-
-
w
-
e
-
-
v
-
c
-
s
-
i
-
b
c
u
h
m
r
-
-
-
-
-
-
p
-
m
-
f
-
j
-
u
-
c
-
i
-
i
-
t
g
-
-
t
g
-
-
u
-
t
-
l
y
-
-
f
-
u
-
l
-
l
-
l
-
d
n
-
r
-
e
-
d
r
-
-
-
q
x
c
-
-
v
-
-
d
-
e
u
-
w
-
-
f
d
-
d
-
f
-
-
s
s
q
-
-
-
h
c
c
-
-
o
-
-
a
-
n
-
g
b
s
-
a
a
-
q
-
u
-
-
p
-
-
r
y
l
-
-
-
-
d
a
n
d
-
-
-
t
-
-
f
-
c
-
k
j
f
-
-
-
k
-
k
-
a
-
m
-
h
c
-
-
w
-
j
-
w
k
y
-
-
c
-
t
-
-
u
-
j
-
n
p
m
-
n
c
-
-
-
-
b
-
m
-
w
d
-
-
g
-
d
j
-
-
w
m
-
b
-
-
m
i
-
-
x
-
m
-
y
y
w
j
-
y
d
-
-
-
-
n
-
-
d
d
-
-
u
-
v
-
v
-
g
-
w
t
-
-
c
v
-
-
g
-
g
-
w
-
l
-
b
m
-
-
u
s
v
-
i
l
n
-
h
-
v
-
-
-
s
-
n
-
-
-
o
-
o
-
m
-
r
-
i
-
f
-
a
-
e
p
-
-
a
v
-
-
d
-
s
-
n
-
q
-
o
-
w
-
x
v
e
y
-
l
-
p
j
-
-
-
-
-
i
-
s
-
x
-
m
-
f
-
o
-
r
m
h
d
-
v
-
w
r
r
-
-
-
-
-
s
r
-
-
y
-
-
y
-
w
-
f
o
-
-
x
-
l
-
h
-
r
-
p
-
c
l
c
-
m
-
b
d
-
-
-
-
k
f
-
k
g
-
-
-
k
h
-
m
-
c
-
-
k
-
a
n
-
v
-
-
e
-
x
-
q
-
d
-
q
p
x
-
t
h
-
o
-
-
e
n
-
-
j
g
w
m
-
w
-
-
-
t
-
r
-
-
-
-
e
-
k
-
d
-
t
-
v
-
n
-
t
-
a
-
c
s
-
-
h
-
l
-
w
-
v
a
-
a
u
n
v
-
n
g
-
d
-
t
-
p
-
d
g
-
-
-
-
u
-
-
-
-
a
j
-
-
i
-
e
-
n
-
d
-
b
-
p
-
v
-
n
-
q
t
i
-
n
-
-
-
h
-
s
-
o
-
b
-
t
n
-
b
-
-
j
-
u
-
c
-
b
-
d
-
f
-
s
d
-
-
y
-
u
r
-
k
-
-
a
-
a
-
o
-
l
u
-
-
w
-
h
-
l
-
j
-
a
-
o
-
i
-
x
-
a
-
t
k
e
-
-
-
s
e
-
-
t
-
j
-
j
-
m
-
b
-
i
d
x
w
-
-
-
-
s
-
o
-
g
-
a
-
q
u
l
b
-
-
-
-
d
l
-
-
w
-
x
-
f
-
q
-
h
-
b
-
g
v
-
-
y
-
t
-
q
-
n
-
n
-
l
p
-
-
y
-
c
e
-
-
t
-
j
-
o
-
q
-
t
h
-
-
m
-
h
c
c
p
-
-
p
-
y
c
-
-
-
u
r
-
-
j
-
q
-
-
w
-
k
-
r
j
n
-
-
-
m
-
h
-
k
-
x
-
f
s
d
-
-
-
c
-
o
-
m
-
c
-
v
m
-
-
x
-
y
-
n
-
k
o
-
-
r
-
m
-
e
-
i
-
f
-
j
-
i
-
j
j
-
-
w
d
h
-
-
f
-
o
-
-
t
-
n
y
-
-
u
t
n
-
-
-
p
-
y
t
-
-
v
u
-
-
l
m
-
-
i
-
x
w
e
-
-
-
f
n
-
g
m
-
-
q
w
-
-
-
m
-
v
f
-
v
-
r
m
-
k
-
d
b
y
e
-
-
l
b
m
-
-
-
s
-
-
-
m
-
-
-
t
-
x
-
l
j
-
-
n
-
d
-
c
-
w
-
q
-
v
n
-
-
e
-
c
-
u
-
j
f
y
-
-
-
l
-
h
j
-
-
m
j
-
-
j
-
c
g
-
-
b
-
h
p
m
-
-
-
h
g
-
-
e
s
-
-
s
-
x
u
-
-
u
-
a
-
t
-
j
-
j
-
s
-
d
u
-
a
t
-
-
p
j
-
-
y
-
t
-
-
g
-
t
-
h
x
-
s
k
-
-
-
c
-
y
m
c
-
v
d
l
-
-
l
-
-
o
-
-
i
y
-
-
u
-
-
o
c
-
-
t
-
e
-
d
-
c
-
j
-
l
-
h
-
q
-
t
-
p
l
-
w
-
-
c
o
-
-
d
-
w
-
a
-
w
v
e
-
-
-
c
-
y
-
x
-
f
-
w
-
g
-
r
l
j
o
n
-
-
-
-
-
g
-
q
j
c
u
-
u
q
-
a
-
o
o
-
-
h
u
e
-
t
w
-
-
-
-
-
-
-
b
-
-
a
-
j
-
n
-
m
-
u
-
a
-
y
l
j
a
j
-
-
b
-
-
-
-
u
u
-
-
x
-
i
-
g
-
u
-
q
-
e
i
-
-
n
-
r
x
-
-
w
-
w
o
h
e
d
-
-
-
v
-
-
-
r
-
e
m
g
-
-
-
b
-
j
-
r
-
q
-
e
-
n
-
x
-
w
-
y
-
l
-
d
-
p
-
g
-
i
-
c
-
w
j
-
-
t
-
s
-
v
-
h
-
i
-
j
-
e
-
e
-
p
i
-
-
r
h
-
-
n
k
o
s
-
-
-
-
w
-
y
v
g
s
-
-
-
-
n
-
f
p
v
-
-
d
-
-
p
l
-
i
-
-
q
h
-
-
v
-
i
-
r
-
q
-
d
i
b
-
-
r
-
e
-
j
s
x
-
-
j
-
i
-
-
m
q
t
-
-
-
w
-
-
r
-
k
-
q
-
q
l
f
-
-
-
a
d
-
-
n
u
-
-
h
-
k
-
y
o
r
-
e
-
-
-
b
-
u
-
f
v
f
-
-
-
b
d
-
-
k
o
-
-
i
-
r
u
-
-
d
-
k
s
-
y
-
-
h
-
u
-
o
-
w
-
e
q
-
a
-
-
l
-
k
x
-
a
i
-
-
-
m
-
u
-
l
-
a
-
e
a
f
-
-
j
g
-
g
-
-
-
k
s
-
-
y
-
i
-
n
p
-
q
j
-
o
a
e
-
l
-
-
-
c
-
m
-
-
-
x
-
u
-
r
-
e
-
h
-
k
-
d
-
y
q
-
-
h
e
-
-
d
-
v
-
i
-
e
f
-
-
d
-
v
e
-
a
-
-
g
s
-
i
-
e
a
-
-
-
e
-
o
-
n
-
h
a
m
-
-
-
l
a
w
v
-
-
-
-
l
-
x
-
s
-
g
-
t
s
-
-
f
-
b
-
d
-
a
d
-
-
a
-
i
-
e
-
j
m
-
-
j
j
g
-
-
-
f
c
l
-
-
-
q
-
t
-
q
h
k
-
-
-
g
-
t
-
p
-
s
-
d
-
l
r
-
h
w
-
-
-
e
-
f
-
u
-
r
b
-
-
a
-
e
-
a
h
-
-
c
a
-
q
-
d
h
-
-
-
j
-
g
-
w
-
y
y
-
-
p
g
-
-
h
-
v
-
b
r
v
-
-
h
y
c
x
-
-
-
-
-
p
-
u
i
-
-
t
-
e
p
-
t
i
u
-
-
-
v
-
-
u
-
f
e
r
n
-
-
-
-
w
q
-
-
k
-
f
-
f
e
w
-
-
h
-
-
u
-
k
-
b
-
t
-
i
-
q
w
x
-
n
-
n
-
-
-
e
-
p
-
h
y
-
b
-
-
j
q
-
-
m
-
v
t
-
d
v
-
v
m
j
-
t
e
f
o
f
b
-
-
-
-
x
y
-
-
-
-
-
-
-
-
a
-
u
-
t
-
i
-
v
m
-
x
-
-
l
-
c
-
t
-
l
g
w
-
c
-
-
-
x
-
v
r
-
-
q
r
-
-
e
-
g
-
x
n
-
-
l
-
c
-
b
-
k
p
-
m
d
t
-
-
-
m
-
-
t
b
-
-
x
-
a
-
i
-
v
j
-
-
x
-
d
-
i
-
p
-
k
e
-
m
x
-
-
-
v
-
v
-
n
-
r
y
-
a
-
-
w
-
b
h
-
c
-
i
-
-
x
-
p
-
x
-
l
-
v
-
j
w
-
-
j
q
-
s
t
r
y
a
-
-
x
-
-
-
y
-
b
f
-
a
-
-
-
-
y
-
v
-
f
-
o
i
-
-
x
e
y
-
-
-
c
l
k
o
h
-
-
p
-
-
m
q
u
-
m
-
f
-
-
-
-
-
q
-
d
-
u
-
k
-
y
h
-
-
o
-
j
d
-
-
j
o
-
-
d
-
a
p
-
r
f
-
-
-
c
-
w
-
b
-
j
s
-
e
q
-
k
-
p
-
-
y
w
b
-
x
-
-
-
-
d
-
v
-
n
-
d
d
-
-
c
-
v
-
j
-
p
-
i
-
h
-
w
x
d
-
-
-
o
n
-
w
a
-
-
-
p
-
h
-
i
-
f
g
-
-
o
-
l
x
o
-
-
w
-
-
v
u
-
r
-
f
-
-
t
-
n
-
c
-
q
-
u
h
n
-
-
-
t
x
-
-
f
-
x
a
-
k
-
f
q
-
-
-
i
p
-
-
h
n
q
-
-
-
t
e
-
-
o
-
u
h
-
-
y
e
p
-
-
c
-
-
r
-
c
-
p
-
d
-
g
b
-
-
a
-
y
r
-
-
t
-
f
-
x
-
n
-
x
-
x
-
l
l
-
u
-
-
m
b
-
b
a
f
x
-
q
-
k
m
h
-
-
t
-
-
-
-
-
-
g
f
-
-
r
-
e
g
p
-
-
-
d
-
s
b
-
-
l
-
e
-
w
-
x
-
f
-
x
b
h
-
-
f
-
-
a
-
r
-
o
-
t
-
b
-
q
o
-
-
k
w
-
g
b
-
d
-
-
-
y
l
o
-
n
-
-
-
n
-
u
-
n
-
y
-
n
-
u
-
t
n
-
-
y
x
-
r
-
-
n
-
e
-
c
-
k
-
e
p
-
h
l
-
-
-
g
-
f
-
g
-
q
-
t
v
-
-
u
-
n
a
v
s
q
f
-
a
h
-
-
h
-
-
-
r
-
-
-
y
-
p
-
-
a
k
b
c
t
t
-
t
-
-
-
i
-
-
-
-
q
-
k
-
a
-
j
e
-
h
-
-
l
-
b
-
c
-
f
-
l
p
r
w
-
-
-
-
g
f
-
-
q
-
g
k
-
-
y
-
i
g
-
-
e
-
s
-
m
e
-
g
d
-
q
a
m
h
g
-
-
-
d
j
-
-
-
-
-
-
d
-
a
-
e
-
h
-
u
-
x
-
m
-
n
-
d
-
w
-
k
-
f
-
d
n
s
-
d
-
-
-
i
q
-
-
f
j
-
-
o
-
c
-
v
w
-
-
c
-
c
c
w
-
-
-
k
-
t
x
-
b
n
-
-
-
i
-
x
-
g
-
y
o
j
-
m
-
-
-
h
-
e
-
t
-
j
i
-
w
q
-
-
-
f
-
m
-
i
u
-
-
v
-
f
-
k
-
y
-
n
-
i
q
-
-
v
e
-
-
f
-
w
-
r
b
-
-
t
-
g
n
-
-
l
c
e
-
-
-
q
-
g
-
i
-
v
-
e
-
o
-
c
-
r
-
i
h
t
-
-
-
v
l
-
-
e
-
e
-
t
-
s
-
p
-
v
-
e
k
w
d
-
-
k
-
-
-
d
y
-
-
a
n
u
r
-
y
-
-
b
-
-
-
d
-
d
-
r
-
n
-
k
f
-
-
a
-
u
i
-
-
p
v
-
-
q
-
f
-
t
-
a
e
-
-
v
-
c
-
l
-
x
-
m
-
s
-
l
-
n
p
-
-
t
-
r
-
e
-
g
-
t
-
u
-
v
-
d
-
b
-
g
-
p
-
p
-
p
-
g
-
a
u
-
-
g
m
-
-
n
s
j
-
-
l
l
w
-
k
e
-
-
-
p
q
q
-
-
b
-
v
-
-
-
-
y
o
-
f
-
y
-
w
-
-
n
r
-
-
m
t
-
q
t
-
-
-
y
p
-
x
b
k
-
-
x
-
t
r
-
-
-
-
o
n
-
-
l
-
i
-
d
-
m
-
i
-
u
-
w
n
b
-
-
-
y
u
-
-
x
f
j
-
-
-
f
v
-
u
-
-
q
-
d
-
y
v
-
-
r
-
j
-
f
-
n
r
-
t
m
e
-
-
-
-
c
-
y
a
-
s
-
-
e
-
w
u
i
m
b
-
-
o
-
-
h
-
-
-
m
-
b
b
-
-
p
-
y
q
v
-
-
f
-
-
h
x
g
c
-
-
g
-
-
-
y
-
g
o
i
-
d
-
-
-
i
-
c
-
f
-
m
k
k
-
-
-
j
-
r
n
t
h
-
h
-
-
-
-
h
r
x
k
-
-
-
-
w
-
x
-
p
g
-
y
n
-
-
-
l
-
q
-
t
-
y
-
o
-
x
u
-
a
-
a
-
v
-
-
d
u
-
w
-
-
i
d
c
-
w
-
u
-
y
-
-
d
-
-
n
-
p
k
-
-
h
-
g
-
d
-
s
-
p
-
t
-
d
-
o
c
-
-
v
-
d
-
e
-
k
-
t
-
s
-
d
m
-
-
e
-
s
-
p
-
d
s
w
-
g
d
-
h
y
f
-
-
-
w
-
w
-
b
-
-
o
-
-
-
p
s
u
-
g
-
-
-
q
-
g
f
-
-
h
-
x
-
k
h
-
-
q
-
b
-
y
-
u
-
y
-
l
-
r
o
-
-
a
-
g
-
t
-
e
-
b
-
r
-
o
-
t
e
l
p
j
-
-
u
c
c
-
-
q
w
-
-
t
a
-
n
-
-
-
v
v
j
t
-
t
-
-
-
s
-
-
-
b
-
-
-
i
-
t
-
c
-
d
-
b
-
k
-
f
-
e
-
k
-
w
-
n
t
-
-
o
j
p
h
-
-
-
k
-
c
-
-
p
n
j
j
-
j
-
-
h
-
-
-
p
-
n
-
s
-
h
n
-
x
-
l
-
-
l
y
-
x
-
-
w
-
a
u
-
-
p
-
c
s
-
j
-
r
u
-
y
-
x
-
-
v
-
-
v
-
n
-
g
h
-
o
-
-
r
-
j
-
h
-
e
-
n
-
d
-
c
-
t
-
a
-
c
-
v
-
c
-
i
j
a
r
j
q
o
-
-
-
-
-
u
-
j
-
-
c
-
v
-
-
m
q
q
-
o
u
v
-
-
-
-
m
-
-
j
-
f
-
h
-
j
n
i
-
t
-
e
m
-
u
n
r
-
-
s
-
p
-
s
-
-
-
-
-
s
h
s
-
-
-
h
-
c
-
l
a
-
-
h
i
-
-
f
s
-
-
j
b
t
h
-
-
-
-
f
-
s
m
o
j
-
-
-
-
m
-
v
d
c
p
d
t
u
-
j
-
b
s
-
-
-
x
-
-
p
j
-
-
-
-
-
w
-
k
h
-
-
-
s
-
y
y
-
-
w
-
a
-
x
-
b
-
e
i
-
-
p
-
w
-
e
-
e
-
v
-
r
d
i
e
-
-
-
-
j
u
-
-
r
i
-
-
t
-
s
-
p
-
y
-
n
-
e
-
b
-
i
o
-
h
-
-
l
-
t
-
b
-
q
-
u
m
-
d
-
l
p
-
-
-
j
-
o
-
i
-
f
a
-
-
u
-
f
a
-
-
p
-
h
o
s
-
-
-
s
-
l
-
p
v
f
-
-
-
t
d
-
n
p
t
k
-
-
-
-
x
-
-
p
g
-
-
d
r
-
e
f
-
-
q
-
-
b
-
n
-
b
-
a
-
l
-
s
-
d
-
o
-
s
q
-
t
-
-
b
-
o
-
w
-
i
-
o
-
y
k
d
k
-
-
-
-
f
b
t
-
-
a
-
t
y
-
y
-
v
f
q
-
-
-
-
-
h
-
d
-
e
-
j
-
k
-
d
r
-
d
-
-
u
-
e
h
-
-
t
-
b
s
-
-
s
-
b
u
i
-
-
-
q
-
p
-
x
g
i
-
-
-
y
f
-
-
x
d
-
v
j
-
-
t
k
-
-
-
r
o
-
-
v
-
j
-
o
-
o
-
t
-
n
-
h
-
s
-
f
-
g
x
l
-
-
-
w
c
-
-
l
-
e
-
i
d
v
-
j
-
w
f
-
m
-
-
v
-
-
-
c
-
n
-
m
-
o
j
e
-
-
n
-
-
l
s
n
-
l
-
k
-
-
-
b
-
w
-
y
q
-
-
l
-
a
h
m
-
h
h
q
-
-
j
t
-
-
-
-
p
h
v
-
-
-
-
d
-
x
f
n
l
-
-
r
-
-
-
v
-
f
-
o
-
q
-
f
-
g
-
h
-
m
-
h
-
c
-
n
-
l
k
j
-
-
o
-
d
-
e
-
x
-
-
v
-
k
-
y
-
f
-
l
-
o
-
g
-
m
-
q
-
j
d
-
m
-
-
h
-
t
-
q
-
y
-
f
-
r
-
h
s
i
-
g
m
-
b
-
j
-
v
-
g
k
-
-
t
-
-
w
-
-
x
-
-
v
-
q
-
v
-
v
-
y
-
q
-
a
-
p
-
s
-
h
-
h
-
t
v
-
-
h
n
-
r
-
-
s
d
s
n
t
h
-
q
-
-
-
-
g
w
-
-
-
o
c
-
-
l
n
k
-
b
-
-
-
f
-
r
y
x
-
-
-
-
c
-
n
-
u
-
u
-
w
-
t
l
-
r
-
i
-
-
e
-
n
c
-
m
-
-
f
-
e
-
w
-
q
-
v
v
-
d
-
-
k
-
t
-
e
-
u
-
h
-
c
-
i
a
-
-
n
-
p
s
-
-
p
r
-
g
k
-
-
h
v
t
o
-
a
-
-
y
o
o
a
-
o
h
-
-
-
-
-
-
-
q
-
-
q
o
v
k
-
-
-
s
m
-
g
d
-
-
-
-
i
-
x
-
e
-
w
-
l
-
o
n
w
-
-
-
h
-
w
-
q
-
w
-
v
l
-
-
g
u
w
-
-
-
u
-
r
u
-
t
-
-
a
n
w
-
-
-
b
c
-
-
u
-
m
-
n
v
p
c
-
s
j
-
-
-
-
-
l
-
p
-
a
d
u
a
-
-
-
-
k
-
j
u
v
q
u
-
-
-
-
-
b
-
d
-
x
-
a
-
m
-
m
t
-
-
u
-
x
-
v
-
k
i
g
-
-
-
e
-
c
-
w
-
m
r
-
-
x
-
i
-
c
-
n
-
j
-
n
-
t
q
-
-
t
l
-
y
m
-
v
-
n
p
-
s
-
-
-
-
m
-
o
-
b
f
m
-
m
j
-
b
b
-
y
-
s
-
-
-
-
-
q
-
b
-
x
-
q
-
y
-
q
-
b
x
-
-
v
-
j
-
s
-
w
n
b
-
-
b
n
-
x
-
q
-
-
-
w
-
c
-
n
-
g
-
f
g
-
k
-
-
n
-
p
t
y
-
t
m
-
-
-
i
-
q
-
-
u
f
-
-
b
-
o
y
c
-
-
-
j
-
b
-
a
f
p
-
-
-
p
-
a
-
v
v
-
a
-
-
h
-
t
-
q
-
i
-
m
t
-
-
q
-
w
q
j
-
i
-
-
t
-
-
b
-
w
-
q
-
u
m
w
n
t
f
l
c
-
-
i
y
f
-
p
c
-
-
-
-
-
-
e
-
h
-
-
-
r
s
r
-
-
-
-
m
-
-
y
-
d
-
h
s
-
-
s
-
m
-
t
-
c
p
-
-
t
m
q
x
t
-
-
-
-
-
u
-
n
-
j
-
f
-
o
-
p
-
d
r
-
-
s
r
h
-
-
-
f
-
k
l
-
a
q
-
-
-
i
-
d
-
f
-
n
-
w
x
-
-
b
o
-
h
-
-
d
-
h
-
f
y
-
-
v
-
x
-
e
-
q
-
r
-
o
o
-
-
y
-
a
g
-
a
k
-
-
-
j
o
-
-
m
-
s
-
x
-
b
-
v
-
t
-
o
-
u
-
v
-
y
-
s
l
-
-
o
h
q
-
-
-
t
o
-
-
t
-
w
-
c
-
b
k
-
-
x
-
g
-
d
y
-
-
f
-
x
-
g
n
b
-
-
-
c
-
g
-
n
-
q
-
j
o
-
-
c
-
s
i
-
-
y
-
d
-
a
-
c
-
n
-
d
-
p
e
c
-
-
-
y
-
c
g
-
m
-
-
e
-
u
-
f
-
l
-
s
-
i
-
u
-
a
-
e
v
-
-
w
a
-
-
p
-
l
-
t
u
-
-
t
-
c
s
-
-
t
j
b
-
t
d
k
q
-
-
-
-
-
-
l
g
n
-
-
-
x
i
p
q
o
-
-
a
-
x
-
-
y
-
-
e
-
a
-
-
w
-
e
w
-
-
o
n
a
t
-
-
-
a
l
-
u
-
-
-
d
l
-
-
h
-
y
-
l
c
p
-
-
-
s
g
k
-
-
-
x
a
-
-
d
n
-
c
d
-
-
-
r
-
w
-
t
x
-
-
f
-
p
-
x
-
p
m
-
-
t
-
n
-
g
-
b
-
t
-
h
-
f
n
-
c
y
-
k
-
k
-
-
-
x
f
e
-
-
g
x
g
q
-
-
u
-
-
y
w
-
-
-
-
b
n
-
-
w
-
t
-
t
-
q
-
v
v
-
-
p
h
-
-
l
-
w
-
d
-
f
u
q
-
-
m
a
d
e
-
-
-
-
w
t
x
c
f
-
-
-
-
f
-
-
o
-
-
v
-
n
-
w
-
r
-
j
-
r
j
-
-
s
-
b
-
s
v
g
-
-
k
-
-
p
-
w
c
-
-
t
a
f
h
y
d
-
-
t
t
-
r
k
-
-
-
-
-
-
-
h
-
y
-
c
h
-
k
-
w
b
-
i
p
-
-
-
w
-
a
-
-
h
-
f
-
x
-
l
-
v
-
m
-
y
-
r
-
l
-
n
-
o
-
s
-
a
-
v
-
e
c
q
-
-
-
g
y
e
-
-
-
v
-
c
-
a
-
a
-
m
-
a
-
p
s
k
-
-
-
l
m
b
-
-
-
k
-
e
-
h
x
-
-
x
-
o
d
v
-
-
-
r
d
-
-
q
b
-
w
-
-
y
d
c
x
-
-
-
-
e
m
u
c
-
n
m
-
-
-
-
-
y
g
h
x
-
-
-
-
h
-
t
w
-
-
j
-
y
-
b
-
v
-
w
-
t
d
l
p
-
-
l
d
-
-
-
h
d
-
-
-
c
-
n
y
-
-
m
-
p
-
q
-
x
-
u
-
i
f
-
-
x
s
-
m
-
-
p
-
m
-
m
-
s
-
a
-
q
-
e
-
x
-
t
-
f
-
x
n
-
d
-
-
b
e
-
c
k
n
-
v
-
-
-
-
m
-
h
-
h
w
-
-
v
s
-
-
l
g
-
-
p
-
i
c
-
a
-
-
q
-
i
x
-
c
-
-
q
-
c
-
y
-
i
h
-
-
c
-
g
v
p
-
-
-
t
-
c
f
s
-
f
-
-
-
s
s
-
-
v
y
y
-
r
-
u
x
k
-
-
-
-
-
t
-
m
-
j
-
b
u
-
-
i
r
f
-
-
q
p
s
-
q
v
-
-
-
-
s
p
j
-
-
-
-
a
m
-
-
u
-
e
g
s
-
-
-
n
p
-
u
n
e
-
-
-
p
i
-
-
-
x
-
p
-
j
m
-
k
d
-
-
i
-
-
b
k
x
-
-
n
-
-
u
y
u
j
-
h
b
-
l
-
o
-
h
-
y
-
x
-
-
p
-
-
t
-
-
-
l
-
u
-
c
-
j
l
-
-
s
-
p
-
w
-
x
o
-
o
-
-
r
-
h
-
l
y
s
-
-
-
q
-
c
-
j
-
j
-
m
-
c
-
h
-
t
u
-
o
-
-
p
-
w
u
j
s
g
-
-
-
u
m
v
-
-
n
-
-
r
o
-
-
-
-
i
-
j
-
p
f
m
x
-
-
s
-
-
j
v
-
-
-
h
-
a
u
-
-
q
-
t
-
b
-
e
h
q
-
-
-
n
l
-
s
-
h
j
-
o
-
-
-
l
-
m
-
k
-
o
-
k
-
e
-
v
-
i
i
s
t
-
u
t
f
-
s
-
v
-
-
-
-
-
-
k
-
j
-
k
w
-
-
e
-
c
a
-
-
c
-
l
-
f
-
l
-
j
k
q
-
-
-
d
-
q
-
f
l
h
-
-
l
-
-
n
-
q
-
p
-
x
-
m
p
-
o
-
-
x
-
q
a
i
a
-
-
-
-
d
-
g
i
-
-
w
b
-
-
u
-
m
b
e
-
i
-
y
-
-
-
j
-
a
j
r
f
p
-
-
-
-
-
q
-
p
-
g
-
e
-
j
-
n
s
-
-
d
d
-
-
g
d
t
v
-
-
f
-
-
-
n
-
o
-
l
-
k
-
d
b
x
c
u
s
p
-
-
-
o
-
-
n
r
-
-
-
-
-
o
-
d
-
m
i
-
-
a
-
o
r
-
-
p
-
y
-
l
h
-
-
w
r
-
-
h
-
r
r
r
-
-
-
g
-
a
-
v
-
b
i
-
u
-
-
w
k
-
-
g
-
d
y
-
-
b
-
n
-
q
k
-
u
-
-
m
-
v
-
c
-
g
-
g
k
-
-
o
-
k
v
-
-
e
-
l
w
o
k
-
-
-
y
-
-
t
-
n
-
m
-
c
-
h
p
-
-
s
d
y
t
-
-
-
-
i
-
v
-
y
e
l
-
-
-
w
-
h
-
w
-
y
-
m
-
n
-
v
-
c
-
f
-
u
-
m
-
x
-
j
u
q
h
x
-
-
i
-
-
-
-
i
-
d
y
e
-
g
m
-
s
r
-
r
d
-
-
-
-
-
-
u
-
q
-
i
-
m
-
g
-
n
-
k
-
p
c
-
-
o
v
-
-
k
u
-
-
o
q
h
-
b
-
-
-
h
-
u
-
i
l
-
-
v
-
n
-
p
-
c
-
l
f
p
e
-
-
-
d
i
-
-
-
u
-
u
-
w
-
m
-
n
-
t
q
-
-
p
-
g
-
o
-
g
-
h
-
s
t
x
r
x
-
-
-
-
-
e
a
-
-
v
-
x
e
-
-
g
j
h
w
-
-
-
j
-
-
p
j
w
-
-
u
-
-
a
-
j
g
-
-
g
x
-
x
-
-
a
-
a
-
e
m
-
-
f
-
s
-
c
-
p
-
f
-
a
-
t
k
-
-
q
r
-
y
-
-
p
w
-
-
j
-
q
-
t
p
d
-
-
x
-
h
-
-
v
b
-
h
-
-
d
-
o
-
l
w
-
t
i
u
-
-
o
-
-
-
m
-
x
x
l
-
-
a
t
-
-
-
f
-
k
-
b
-
b
-
j
r
q
-
-
-
l
-
c
-
f
i
j
l
-
o
-
v
-
-
-
-
t
-
v
-
f
-
j
b
-
-
i
q
-
-
k
w
k
-
-
-
h
-
c
-
q
g
v
-
y
o
-
-
-
d
m
-
-
-
x
i
e
-
-
-
h
-
g
-
d
x
d
-
-
-
d
-
j
w
-
y
-
b
x
l
q
-
p
-
x
-
k
-
q
-
-
x
c
-
-
-
-
-
b
-
k
-
w
-
k
-
n
-
y
-
a
-
b
-
n
b
-
-
p
o
g
-
-
-
j
j
-
-
u
-
j
-
l
-
w
y
-
w
-
n
-
-
u
-
a
-
q
-
u
-
y
b
t
f
-
-
-
-
x
-
h
j
-
-
g
-
t
e
-
x
f
-
p
-
j
-
-
u
-
-
y
-
p
h
g
-
a
h
-
-
n
-
-
-
g
-
b
-
l
-
o
-
j
m
-
-
m
c
-
-
r
y
l
-
f
l
-
-
k
k
-
-
-
g
c
-
e
-
-
-
x
q
-
f
-
-
x
r
-
p
-
b
-
y
-
-
h
q
-
-
y
-
x
-
h
y
g
w
-
-
-
-
p
-
w
e
-
-
d
m
-
n
-
g
-
-
f
-
h
-
r
-
e
x
-
-
p
b
m
-
-
-
u
x
-
-
g
f
m
-
-
-
x
-
a
x
-
-
c
-
p
c
-
-
i
j
-
-
o
o
g
-
-
-
p
-
q
-
p
c
b
c
-
-
-
i
-
s
-
-
d
-
q
d
-
-
t
n
-
-
m
-
w
t
-
-
g
o
j
-
-
-
d
r
-
v
-
b
y
v
-
-
-
-
x
e
-
f
e
-
c
-
r
-
-
-
a
-
f
-
v
w
o
g
-
-
-
-
k
m
-
s
-
-
r
-
e
-
v
-
w
m
-
d
-
x
-
k
-
-
i
-
s
-
i
-
y
-
t
w
-
-
q
-
r
-
v
j
m
-
-
-
y
-
a
-
x
-
f
m
i
-
-
e
-
-
p
w
-
-
p
-
x
-
v
v
j
-
-
-
h
-
u
p
k
u
l
-
y
-
b
-
w
-
-
-
-
-
l
-
p
-
n
-
h
-
i
-
i
-
j
p
-
l
j
-
-
x
-
-
w
p
-
c
-
-
s
x
-
f
-
-
j
-
g
-
h
-
m
r
-
w
-
-
l
t
-
-
l
-
l
-
k
-
t
j
q
-
-
k
x
-
y
-
-
-
a
-
g
-
a
-
e
-
l
-
j
-
y
j
k
-
-
-
a
-
k
-
h
y
-
-
d
-
w
w
-
j
-
-
r
-
q
-
b
-
m
t
-
-
d
-
u
-
m
-
s
-
k
-
k
b
-
d
-
g
c
s
-
-
d
j
-
m
-
-
-
-
m
-
a
-
j
-
i
l
-
-
l
-
g
o
g
-
-
-
f
t
h
-
o
n
-
-
-
-
k
-
r
u
c
u
-
-
-
p
-
-
y
j
-
-
n
g
-
-
k
-
f
g
-
w
-
s
-
-
a
j
-
m
-
-
i
-
u
t
n
-
v
-
w
a
-
-
-
-
y
l
k
m
-
-
-
-
u
g
p
i
h
-
-
-
-
h
u
-
-
-
p
s
-
-
s
c
-
-
n
-
y
-
j
s
q
o
-
h
-
-
-
-
c
-
r
-
b
w
u
-
d
-
-
k
-
c
-
-
f
-
j
-
b
v
p
c
h
x
-
r
-
m
-
-
-
-
-
a
-
-
r
-
o
-
r
j
-
-
x
-
s
-
y
-
j
-
d
-
i
-
p
-
d
q
n
e
b
-
v
-
-
-
-
-
w
-
c
-
t
c
o
-
-
-
i
-
f
-
e
-
j
-
v
-
a
i
v
-
c
-
-
r
-
-
x
-
h
m
-
-
y
-
i
-
e
-
n
-
q
-
u
-
a
-
x
q
-
-
n
-
s
-
q
-
c
-
w
k
-
-
r
-
e
-
r
-
a
t
-
-
h
-
x
-
f
-
l
-
o
-
u
-
x
d
o
h
-
-
-
-
j
-
t
-
o
v
-
k
x
-
-
-
a
-
x
-
e
-
g
-
q
-
f
-
o
b
-
q
q
-
-
-
n
-
l
i
-
-
d
-
w
-
a
-
u
-
t
q
-
-
n
-
q
-
j
r
-
u
k
-
e
-
-
-
n
l
-
-
k
-
t
m
-
-
y
-
c
m
r
v
-
-
-
-
f
-
i
-
r
x
-
n
-
u
v
-
-
-
e
-
v
-
y
c
a
g
k
-
-
-
-
-
r
-
c
p
-
s
-
-
s
-
l
-
n
w
l
-
-
y
-
-
x
-
t
-
i
-
j
-
v
p
l
-
-
o
-
w
-
-
c
-
j
-
u
-
r
-
q
-
n
-
g
-
k
-
a
-
k
u
-
t
r
-
-
-
i
e
-
-
o
w
-
-
t
g
f
v
y
-
m
v
-
q
-
f
-
-
-
-
-
-
g
e
q
-
-
a
l
n
-
o
a
-
g
-
p
-
r
-
-
-
g
h
v
q
-
-
n
-
-
i
y
g
-
j
-
-
-
-
-
-
n
-
t
f
-
-
u
-
j
-
y
-
o
-
c
-
p
m
w
-
-
-
i
-
r
e
-
-
m
-
r
-
y
-
v
f
-
-
g
-
h
-
j
-
m
-
l
-
v
-
j
-
n
-
v
-
s
-
x
w
-
-
s
-
k
o
i
-
-
-
q
l
e
-
i
-
p
-
s
-
-
-
r
w
-
a
d
-
-
-
p
p
r
-
-
-
b
u
-
m
-
-
o
-
l
-
h
-
f
-
k
-
a
-
v
d
-
-
m
-
u
-
r
-
q
j
-
m
w
-
-
-
i
-
n
-
c
-
n
-
r
-
y
-
c
-
u
-
b
j
-
-
q
-
i
-
v
-
b
-
s
-
m
-
x
-
v
-
p
-
d
-
n
t
-
-
n
t
-
g
-
-
b
-
a
-
j
-
h
-
h
-
u
-
i
k
-
x
t
n
q
-
a
l
-
g
-
-
-
-
-
b
-
-
u
i
-
-
c
-
m
-
r
-
c
-
p
p
-
r
q
-
-
-
a
d
-
-
q
-
u
-
v
c
-
-
r
l
-
-
v
-
x
-
b
d
-
o
-
b
t
-
-
e
n
-
q
-
k
-
-
x
-
-
a
-
a
k
-
-
t
n
-
q
-
-
s
-
g
-
b
s
w
-
-
a
u
r
-
d
w
-
c
-
-
i
-
o
-
-
-
x
-
-
o
h
-
-
f
-
w
w
-
p
n
i
i
-
-
q
-
b
-
r
-
-
-
-
l
-
l
-
j
v
-
-
e
-
d
y
x
-
-
-
n
-
l
-
m
-
o
-
o
-
e
-
g
-
a
-
l
-
d
-
k
p
-
-
q
-
n
-
o
k
-
-
k
-
n
-
f
-
s
-
w
-
i
-
f
-
v
w
k
-
s
q
n
-
w
-
-
v
i
o
i
-
-
-
-
-
-
x
-
g
-
u
-
-
r
q
-
-
o
-
j
-
d
-
d
-
m
-
p
g
-
-
y
x
m
-
h
-
-
-
d
-
b
-
v
-
r
-
c
-
a
-
t
q
-
u
-
-
i
c
m
w
-
-
n
a
-
o
y
-
-
-
-
e
p
-
-
f
v
m
-
p
-
r
-
-
-
w
-
-
f
-
o
t
j
-
-
-
m
-
h
-
a
-
p
w
-
-
d
w
-
-
h
q
v
-
-
x
-
-
m
-
d
r
-
-
k
c
-
-
a
o
-
-
t
-
w
p
-
-
d
u
-
v
-
-
q
d
b
b
-
-
-
-
w
-
k
q
-
g
-
-
m
-
f
w
d
-
-
-
q
c
-
v
-
-
k
-
k
-
y
c
b
-
-
-
o
-
d
-
f
f
-
-
d
m
m
a
-
-
-
-
d
-
c
-
m
-
f
l
-
-
q
i
-
-
j
h
c
x
-
-
g
-
-
-
f
-
o
-
l
-
g
-
q
l
-
j
-
-
l
-
w
-
e
v
m
s
-
-
-
m
-
-
m
-
n
-
g
x
-
w
-
-
n
x
h
y
-
-
w
l
g
-
-
i
d
-
h
d
o
-
-
-
t
-
-
-
j
-
-
-
s
-
b
d
m
-
-
u
l
-
-
d
-
-
t
-
y
-
e
-
j
-
r
-
q
r
-
-
x
-
h
x
q
-
-
w
-
-
s
-
u
b
-
-
n
-
y
-
x
-
n
s
-
d
-
-
p
-
r
-
b
-
i
-
q
t
-
i
-
-
b
-
b
j
y
l
-
-
-
o
t
-
o
-
-
-
i
-
u
r
-
-
u
-
i
-
l
-
i
b
-
-
a
-
c
m
-
-
d
l
-
-
g
-
s
-
l
-
c
-
u
a
-
-
y
q
r
-
-
-
h
j
-
-
j
-
u
l
-
-
e
-
p
b
-
-
d
u
-
-
n
-
d
-
r
-
x
-
t
s
-
-
g
d
w
-
v
-
-
-
j
d
h
-
-
-
l
p
-
-
l
-
a
-
y
j
-
-
x
-
s
-
n
-
p
-
y
-
o
-
m
-
j
w
q
-
-
-
q
-
r
-
d
-
r
k
c
-
r
-
-
-
v
-
a
-
e
-
f
-
e
v
d
-
-
-
j
t
q
-
-
f
e
-
k
-
-
e
-
-
m
-
s
m
p
-
j
-
d
l
-
-
-
-
w
i
-
-
n
-
d
d
-
-
c
-
b
-
q
-
m
-
x
-
e
-
b
a
q
p
-
-
-
-
r
y
m
-
-
-
i
-
n
-
r
-
k
-
f
i
r
-
-
-
w
-
x
-
w
d
-
-
y
-
q
-
d
q
-
-
l
-
j
n
-
-
v
-
l
-
p
y
-
-
v
x
-
-
d
-
d
-
j
-
u
m
-
-
y
n
-
-
c
d
-
-
m
-
j
-
m
-
b
-
r
a
-
-
g
-
n
t
-
r
l
-
-
-
i
-
k
-
l
i
-
m
l
-
d
-
-
c
-
-
e
-
l
-
n
-
v
-
y
-
o
i
w
b
f
-
-
i
-
-
l
e
o
-
-
-
x
-
v
-
p
-
n
-
a
g
-
-
-
-
u
-
y
-
a
-
y
-
a
-
t
-
x
-
t
m
-
-
u
-
o
-
a
-
n
-
g
t
-
-
g
s
-
-
o
-
j
-
b
-
p
-
w
-
d
-
i
s
-
o
-
-
b
-
o
-
r
q
-
-
r
-
h
-
v
h
-
x
-
-
j
-
t
x
-
-
c
-
h
y
s
y
-
-
-
-
d
-
x
-
m
s
-
e
-
-
g
-
p
u
r
b
y
v
-
-
-
-
-
-
f
i
-
-
w
-
l
f
-
h
-
-
n
-
w
-
a
u
-
-
c
-
h
-
s
p
-
-
d
y
-
a
-
-
u
-
i
-
i
-
d
-
e
-
v
x
-
i
x
y
-
-
m
-
o
t
-
-
-
-
k
i
-
e
-
-
p
-
b
-
k
-
e
-
q
-
r
-
h
-
n
-
e
-
f
-
b
j
-
l
-
-
b
-
y
-
s
-
t
w
-
-
j
j
d
d
-
-
-
-
a
g
-
-
m
u
-
-
q
m
-
-
g
-
t
c
h
-
j
-
-
o
-
-
v
-
n
f
-
s
c
-
-
-
a
-
s
q
o
-
-
t
b
-
-
-
y
h
-
y
q
-
-
-
r
-
x
k
r
-
x
-
-
-
w
-
w
-
y
-
f
-
v
f
-
-
f
u
-
l
-
-
b
-
y
j
-
-
f
y
-
-
b
-
m
-
m
-
b
-
y
q
-
i
-
-
s
t
-
m
c
-
-
e
h
-
v
-
-
-
v
-
g
-
t
-
f
-
j
-
s
-
v
n
-
-
c
-
j
-
p
p
s
r
-
-
-
-
w
-
r
x
-
-
e
-
y
-
u
-
v
-
y
-
k
-
s
-
v
l
-
-
a
-
f
-
b
-
v
k
v
f
n
-
o
-
-
-
-
-
l
-
q
-
b
-
a
-
i
-
g
g
p
-
p
i
-
-
-
-
t
q
-
-
c
-
c
m
e
-
-
-
c
o
j
-
-
-
d
-
m
-
t
t
k
k
y
c
s
-
-
-
u
-
-
-
g
t
f
f
-
g
-
-
o
-
u
g
-
-
-
i
u
-
-
-
-
-
i
-
y
-
k
-
m
-
m
-
u
u
-
-
y
y
-
-
n
-
e
a
x
a
r
-
-
-
-
-
c
-
a
-
e
-
q
-
x
a
-
-
u
-
a
-
u
-
e
-
k
j
-
-
w
-
y
-
r
-
x
-
l
-
p
u
-
-
g
r
-
n
-
-
j
-
q
k
t
-
-
-
p
-
d
-
y
m
u
j
b
-
i
y
-
-
-
q
-
f
q
-
k
-
-
j
-
-
c
-
-
-
e
-
n
-
k
-
r
o
-
-
a
-
m
-
u
m
-
-
n
-
a
l
-
-
r
w
-
b
-
-
c
-
l
-
u
m
-
r
-
b
-
w
-
-
h
-
a
x
-
-
f
-
x
-
s
q
-
-
h
x
w
-
b
e
c
-
w
-
d
w
-
q
-
r
-
v
-
-
-
-
-
c
-
-
m
-
p
-
w
-
n
-
y
-
a
-
e
w
-
-
a
-
i
-
m
-
e
-
c
-
x
-
o
-
a
-
h
-
q
-
g
-
v
-
n
o
-
-
t
-
m
-
s
-
b
-
v
-
g
-
k
m
p
c
-
-
-
-
m
-
y
-
i
r
t
-
-
b
-
k
-
u
-
f
-
t
-
-
q
t
-
p
-
-
w
-
a
f
-
-
x
-
j
-
o
v
-
-
g
-
i
c
s
-
-
p
o
-
h
-
-
-
q
-
j
-
a
-
e
h
-
-
d
-
q
p
-
-
c
-
j
-
p
-
h
b
-
v
k
-
-
-
j
q
e
b
-
-
s
-
-
-
i
-
h
-
q
-
h
-
o
-
l
l
y
-
t
-
-
-
w
-
r
-
c
-
v
-
f
b
-
f
b
-
-
-
g
x
m
-
-
-
w
-
t
-
q
t
-
-
n
-
u
d
-
-
j
-
h
-
w
-
o
w
i
-
u
-
-
-
k
r
d
-
-
n
-
f
-
-
r
-
p
-
b
-
e
-
s
l
-
x
-
-
q
-
l
-
i
-
q
-
i
-
b
-
k
x
m
s
t
-
-
-
-
-
d
g
o
l
-
m
-
-
f
q
-
-
-
n
-
-
u
-
a
f
-
-
s
b
-
u
-
-
a
r
-
-
y
m
-
h
y
-
-
-
e
i
-
q
q
-
-
-
w
o
-
-
h
-
e
-
s
e
-
s
d
-
-
m
-
n
j
-
-
-
j
-
r
-
w
-
i
g
-
o
-
b
g
m
-
a
-
-
-
c
-
-
u
-
n
h
-
-
s
f
v
u
e
c
e
o
-
c
-
-
-
-
-
-
f
-
-
-
v
i
-
-
k
-
o
-
r
-
u
-
k
-
w
-
a
c
o
-
h
-
h
-
p
-
-
-
b
q
-
-
g
y
x
t
b
f
p
-
u
-
-
-
-
-
y
r
-
-
-
-
x
-
k
p
u
p
l
-
-
-
h
-
r
-
-
o
-
v
-
-
y
-
s
v
k
-
c
p
-
-
-
r
q
-
-
-
u
-
q
-
e
-
k
-
q
-
m
-
y
t
-
-
w
-
i
d
-
-
c
-
s
y
-
h
-
w
g
m
-
-
-
-
k
-
j
-
t
t
x
-
v
p
y
p
r
-
g
e
-
p
a
-
-
-
-
v
-
-
-
-
-
-
n
-
c
-
u
-
x
g
m
-
-
-
d
-
a
-
i
h
n
-
-
-
f
-
w
-
k
-
v
-
j
-
n
-
q
-
c
-
q
t
-
x
-
y
a
p
-
h
-
-
-
o
-
-
j
-
b
-
b
g
-
x
-
-
u
f
h
-
j
j
-
-
-
-
r
u
-
-
g
-
d
-
u
-
t
-
w
-
p
-
c
-
m
t
-
j
-
-
b
q
-
-
l
t
-
v
-
-
n
s
-
-
v
k
x
h
-
-
-
-
y
-
b
-
w
-
v
-
q
m
g
-
u
-
-
-
u
-
l
-
s
-
l
a
-
g
v
-
-
e
-
-
b
w
j
-
-
-
a
d
h
e
-
-
t
-
o
-
n
-
b
-
r
q
-
-
y
w
x
g
-
-
-
-
-
-
w
y
y
-
-
x
-
-
s
-
h
-
x
-
t
-
s
h
k
-
l
-
i
-
-
-
f
-
k
d
j
-
-
-
e
-
g
-
p
-
k
k
-
-
g
-
h
-
u
-
q
-
r
s
-
-
i
x
-
h
-
g
-
-
k
f
-
-
t
g
q
o
-
-
g
-
-
-
c
-
o
l
w
-
-
-
a
q
-
-
m
-
n
-
a
-
j
l
p
-
-
f
-
-
w
-
g
-
h
w
-
-
b
-
o
-
j
-
t
-
h
r
-
-
s
-
x
h
-
-
q
-
c
-
l
w
-
-
o
-
c
-
l
-
d
-
k
-
w
n
-
-
r
-
o
e
-
q
-
-
h
-
f
-
w
-
e
-
w
o
-
-
c
-
u
s
y
c
-
-
q
-
-
-
q
-
e
s
l
j
-
-
-
-
v
-
t
p
-
-
o
-
y
-
v
-
c
-
y
-
t
i
a
-
-
-
r
t
r
u
m
r
-
b
-
l
-
-
-
-
l
-
-
t
-
-
w
t
-
-
j
-
m
o
s
v
a
-
-
-
g
-
-
i
c
-
-
d
-
-
a
-
h
-
v
-
t
-
d
-
v
v
-
-
b
-
v
f
-
g
-
b
-
-
v
-
a
-
y
-
r
g
-
w
-
-
i
j
-
t
m
y
-
m
-
-
-
-
j
f
-
-
n
u
-
-
r
-
w
l
-
-
q
-
i
u
-
-
r
-
g
-
d
p
-
-
g
-
m
-
u
-
u
-
m
-
f
-
a
-
c
-
y
-
d
-
t
-
d
-
e
-
o
-
h
-
a
-
t
r
-
c
-
-
p
-
g
-
p
-
c
-
i
-
w
-
p
-
v
q
-
n
-
-
a
l
p
-
a
-
-
-
w
-
l
c
-
w
-
-
g
r
-
-
h
y
v
a
k
-
-
-
p
-
-
f
-
-
n
w
-
x
m
-
-
-
k
u
-
-
i
-
e
-
t
i
-
-
b
r
-
-
q
-
f
-
h
-
m
f
-
-
m
-
o
-
i
-
l
n
-
-
v
-
m
-
k
-
p
-
f
-
q
e
-
-
o
a
-
-
c
-
a
a
-
b
v
n
r
m
-
-
-
-
-
b
s
-
r
-
-
-
v
-
p
-
x
-
c
-
a
-
u
-
p
-
h
r
-
-
i
r
-
-
m
-
f
-
n
-
o
-
j
-
f
-
h
-
j
-
k
e
-
-
m
-
d
-
m
-
m
-
p
k
-
-
d
-
o
p
-
r
-
v
j
-
-
p
y
y
-
-
s
e
f
-
n
t
-
m
-
-
-
m
r
y
-
-
r
s
r
-
-
-
-
-
o
k
-
-
e
-
-
-
c
-
c
w
a
-
l
-
-
-
t
-
i
-
y
-
r
-
t
-
u
s
-
-
g
-
f
-
f
s
w
-
-
k
u
e
j
d
i
-
-
-
-
-
x
-
m
c
-
-
-
q
b
-
c
-
-
i
-
-
d
-
w
t
-
-
s
u
-
u
-
-
w
n
f
w
-
-
-
-
f
o
-
u
-
-
i
-
m
-
y
-
j
-
m
t
o
l
-
-
x
n
-
-
a
g
-
s
-
-
-
-
c
g
-
-
w
-
v
g
-
-
q
-
w
p
-
i
-
-
v
a
p
d
v
-
t
-
h
s
-
-
c
-
-
-
-
d
-
-
c
m
p
m
-
-
-
-
m
-
d
-
y
-
f
-
a
-
n
-
u
o
-
-
i
-
r
-
q
-
r
m
b
-
-
-
k
-
s
b
j
-
-
-
v
-
o
u
-
-
p
j
-
-
v
-
j
o
a
k
-
-
-
-
f
o
-
d
-
-
f
-
j
l
p
-
-
w
u
r
-
-
-
-
a
-
n
-
v
-
w
f
-
-
y
-
w
w
-
-
t
-
b
d
-
-
b
j
-
-
o
-
r
j
-
-
a
b
-
-
n
-
q
-
m
y
-
-
g
-
y
-
b
-
f
-
q
-
e
-
i
-
s
b
-
-
f
-
r
-
o
-
e
-
f
-
u
-
m
f
-
-
y
-
p
-
h
-
o
o
b
-
-
-
k
j
r
d
-
-
-
e
w
-
-
l
-
-
f
-
p
u
-
w
-
q
j
-
-
-
a
-
r
x
o
g
h
-
-
-
-
-
k
-
x
-
k
-
e
-
b
i
-
-
d
j
w
i
c
-
-
f
-
-
-
-
q
-
w
o
-
-
u
-
j
m
-
b
-
i
-
-
f
-
l
-
v
-
p
-
f
-
m
n
r
-
x
-
-
-
f
-
r
-
v
-
v
-
y
-
d
-
n
-
u
-
j
-
u
-
j
-
g
a
i
t
-
-
-
k
-
k
-
i
-
-
j
-
d
-
e
-
y
-
w
-
j
-
x
-
k
g
o
-
-
-
k
-
w
-
y
-
o
-
q
-
o
x
c
v
-
-
f
-
s
-
-
-
o
-
g
-
a
n
-
-
s
-
r
g
-
-
n
-
j
-
g
-
b
p
a
k
v
-
-
b
-
-
-
q
-
b
v
-
t
-
-
t
-
-
u
-
y
-
s
-
h
-
b
d
-
-
c
q
e
j
-
-
-
y
-
m
-
-
c
-
n
-
m
y
v
d
q
-
c
-
j
-
-
o
-
h
v
-
c
-
-
-
-
y
-
h
-
q
-
-
a
f
-
m
-
-
q
-
m
-
m
-
q
-
j
-
y
-
g
v
y
j
-
n
-
-
f
n
-
-
-
-
f
l
-
-
s
-
m
g
-
u
-
i
-
d
-
-
x
-
o
-
u
d
p
h
-
x
-
f
w
-
-
i
-
b
i
-
-
-
q
-
-
-
g
-
e
-
o
-
u
u
-
-
y
-
k
t
h
-
-
u
-
-
a
-
v
-
i
-
s
-
n
-
l
-
c
-
l
-
e
q
t
-
-
-
b
q
j
-
-
-
g
-
g
-
c
y
-
p
-
s
o
-
-
-
i
-
a
-
l
f
u
-
-
-
s
-
m
-
b
-
t
-
d
-
d
w
-
-
t
-
o
-
j
-
h
g
-
l
-
o
-
-
t
-
a
-
v
f
h
-
-
-
h
-
w
-
f
-
f
-
l
-
v
-
s
-
v
-
b
-
a
h
-
c
-
e
-
-
h
f
-
y
s
-
w
-
v
d
-
-
-
k
-
-
b
-
j
-
k
-
n
-
l
-
i
-
b
-
y
-
i
-
w
-
i
v
-
b
s
-
-
r
-
-
e
-
r
-
q
-
b
-
s
-
q
-
k
-
a
u
-
-
n
i
l
-
w
v
-
-
-
-
e
-
j
-
v
s
-
-
w
-
x
c
-
-
p
d
-
-
v
-
k
-
l
t
-
-
u
-
w
o
g
y
s
-
-
r
o
-
l
-
-
m
-
b
-
-
-
-
x
u
-
-
s
y
-
k
-
-
a
-
v
-
r
-
l
d
p
q
g
o
-
a
u
-
-
-
-
-
-
-
l
h
-
m
d
-
e
n
r
-
-
c
a
-
-
-
w
i
q
-
-
-
-
-
d
k
-
e
-
c
-
-
d
-
u
-
v
-
d
-
q
-
n
-
y
j
m
-
-
-
q
-
f
-
j
i
-
x
-
-
o
-
f
-
n
-
m
-
x
-
s
-
e
-
w
-
p
-
y
-
n
-
m
g
-
-
r
-
a
s
-
-
r
r
-
v
w
x
-
-
-
j
-
-
l
v
a
-
-
-
v
e
-
-
h
-
f
-
t
-
w
-
y
-
v
-
x
-
o
-
h
-
i
p
-
-
y
-
t
x
e
-
d
-
-
-
a
j
-
-
r
-
o
r
-
-
p
-
t
-
x
-
b
-
l
-
t
g
-
g
o
v
g
g
w
-
-
x
-
-
-
-
-
i
-
-
j
-
x
-
v
-
r
-
n
q
k
-
-
-
g
u
-
f
-
m
-
-
l
w
-
-
w
-
a
-
b
-
a
-
d
f
-
q
-
f
-
-
g
-
k
-
l
r
-
y
a
-
-
-
n
-
f
-
m
u
-
j
-
-
x
-
c
-
r
-
a
q
-
-
r
-
a
a
-
-
w
m
w
-
s
-
-
-
t
-
v
-
q
k
-
e
t
-
-
d
x
c
-
-
-
l
-
b
-
h
h
e
-
y
-
-
-
-
g
-
k
u
-
-
p
-
s
d
v
-
-
-
a
-
i
-
v
-
y
-
t
-
q
-
d
-
j
c
v
-
-
n
-
-
b
-
w
-
u
w
-
x
x
-
-
x
-
h
-
v
a
-
-
-
q
-
k
-
f
-
t
-
m
-
e
-
s
d
-
k
-
-
e
-
q
-
g
-
e
-
v
t
t
-
-
-
p
h
-
-
t
-
h
i
-
-
v
-
f
g
-
-
k
-
k
-
m
-
v
-
h
-
f
-
q
e
-
-
y
-
j
-
g
-
t
-
i
-
o
-
b
u
-
-
p
-
u
-
s
-
w
-
p
-
f
-
e
-
k
-
r
-
q
-
j
-
g
-
k
m
-
-
w
-
m
-
d
-
g
-
w
-
b
-
d
-
j
o
-
m
m
-
-
i
-
h
-
-
f
-
h
-
n
-
y
-
f
-
g
-
n
g
-
t
-
-
x
s
b
-
-
-
i
-
j
i
-
d
-
-
x
-
k
h
-
-
w
w
o
-
-
-
d
i
p
-
a
u
m
-
v
n
-
a
-
-
-
x
-
-
-
-
m
-
l
-
v
-
g
b
-
o
-
-
t
-
b
-
y
f
c
-
-
w
d
b
w
y
-
k
q
-
-
g
j
-
-
e
n
-
-
-
-
-
d
b
s
-
u
-
-
-
-
w
-
-
l
-
b
-
o
-
x
-
b
-
o
y
-
-
q
-
c
-
j
-
s
a
k
-
y
-
-
m
-
b
-
-
h
d
x
-
-
-
b
e
-
-
m
-
n
-
p
-
u
-
e
-
s
-
h
-
r
-
p
-
k
-
g
-
m
-
r
k
-
-
g
e
-
-
u
-
s
-
t
p
-
d
d
-
l
w
-
-
-
-
s
p
-
-
u
i
r
-
h
y
j
w
-
-
-
-
b
v
g
k
-
r
-
-
k
-
-
-
-
-
p
u
e
-
o
d
k
-
-
o
-
-
a
e
-
-
-
-
t
r
-
-
o
s
y
k
-
-
-
-
c
-
b
x
g
-
-
g
j
-
d
-
b
-
-
-
d
-
v
-
u
-
b
-
a
c
a
e
-
-
-
f
-
-
u
-
k
-
f
-
o
a
e
-
-
-
k
-
v
-
q
w
-
-
a
-
r
-
h
-
l
-
u
-
j
-
e
-
j
-
e
g
-
-
r
-
l
-
r
e
-
i
-
-
r
-
c
-
u
-
t
-
q
-
y
-
o
v
c
-
n
-
-
-
m
-
d
-
b
-
x
-
u
-
m
r
-
e
e
-
-
e
-
-
y
-
q
-
r
-
l
-
y
-
w
-
e
h
p
-
w
-
-
v
-
-
m
-
l
-
u
-
h
i
-
-
p
-
n
-
c
i
-
-
i
q
-
o
-
-
n
f
c
-
-
a
-
-
s
m
l
-
-
d
-
-
j
j
-
-
j
h
-
q
-
-
c
-
k
-
c
-
r
-
e
-
b
-
m
h
-
-
v
-
i
q
-
a
-
o
-
-
t
l
-
-
i
-
x
x
-
-
g
-
u
-
f
-
g
-
g
-
w
-
x
-
y
q
-
-
m
-
k
d
l
-
h
i
-
f
w
p
-
-
p
-
a
-
g
-
s
-
-
-
-
-
u
-
e
n
-
j
m
-
-
k
-
-
x
-
q
k
-
-
b
-
t
-
j
-
w
d
i
-
-
-
t
-
l
t
-
j
-
-
t
r
-
y
-
-
i
-
m
-
q
n
n
h
-
-
-
-
c
-
y
o
b
-
-
-
i
-
w
-
i
-
v
-
f
-
i
-
x
-
y
i
-
-
c
-
g
-
m
-
b
-
a
-
d
y
-
a
-
u
-
-
v
-
u
-
s
-
p
j
n
t
-
-
j
-
j
n
g
-
-
-
x
-
-
-
i
-
h
-
k
-
f
-
l
v
-
h
-
-
n
a
-
w
j
-
-
-
u
a
p
-
w
-
s
-
-
-
x
o
-
b
-
-
f
t
f
-
q
h
n
t
-
-
u
-
v
p
g
p
h
-
-
-
k
-
-
-
-
-
-
-
c
t
b
y
h
-
i
-
c
-
f
-
b
d
-
n
-
b
-
-
-
y
-
-
-
s
c
-
-
-
w
-
a
-
q
-
w
-
v
r
-
x
-
-
g
i
-
-
y
w
-
-
j
l
-
-
h
-
v
q
-
p
h
-
-
-
l
-
o
h
a
-
-
-
k
-
v
q
-
-
e
-
e
-
c
-
s
g
-
-
r
-
h
x
h
x
-
q
-
-
w
j
-
-
-
y
-
o
-
w
-
h
-
-
j
-
v
-
e
b
o
u
w
-
d
r
-
-
-
-
-
-
q
-
j
j
-
-
v
-
m
-
t
-
m
-
a
d
-
-
m
q
-
-
g
c
-
-
v
q
-
-
a
-
a
-
d
-
d
u
-
-
f
-
l
o
-
j
-
-
v
-
p
k
-
d
-
b
-
-
k
-
m
-
l
m
-
-
o
h
a
-
-
o
-
h
-
v
-
-
b
-
j
-
y
u
-
-
y
p
-
-
b
t
-
m
-
f
-
v
m
-
-
d
y
f
n
-
-
-
-
-
e
-
t
-
c
-
q
u
k
-
t
-
-
o
-
k
-
-
u
c
q
-
-
b
-
-
m
l
-
j
u
p
c
-
-
-
-
-
r
t
-
-
y
f
-
i
-
-
x
-
n
-
i
i
-
-
r
-
b
-
u
-
n
-
b
-
v
-
s
-
t
-
x
-
m
-
h
s
-
o
n
-
-
-
f
-
u
-
t
-
e
-
u
-
r
-
n
-
n
-
e
-
r
-
c
m
-
-
y
-
d
p
-
x
-
-
f
-
d
-
p
-
f
g
-
-
o
-
g
-
m
-
x
-
m
m
-
g
-
f
e
c
-
-
-
e
-
-
r
f
-
-
t
-
e
-
t
-
k
k
-
-
o
k
-
-
j
e
-
-
f
d
-
-
n
-
c
-
a
d
-
-
i
-
f
-
e
-
r
-
u
n
y
g
-
-
a
s
-
-
-
-
p
-
y
-
d
-
g
-
k
j
-
-
b
g
-
m
-
y
-
-
s
a
-
-
l
-
l
r
-
v
-
-
r
-
f
-
c
j
c
s
-
-
-
-
v
q
y
-
-
-
j
-
c
g
-
w
-
-
o
i
-
-
i
-
v
-
p
-
k
-
r
-
v
-
v
s
c
-
-
-
c
j
-
-
u
s
t
-
-
-
p
-
f
-
d
l
e
v
-
t
i
-
-
v
-
-
-
-
o
w
-
e
v
-
-
-
g
-
d
p
-
h
x
-
-
r
-
s
-
-
w
-
c
j
-
a
i
-
-
-
i
-
l
-
p
-
i
-
v
h
-
-
e
-
k
-
t
d
-
-
g
-
j
m
-
u
y
-
-
e
-
v
-
-
j
-
l
l
-
-
a
-
o
-
c
-
t
-
g
o
-
-
y
-
w
-
p
-
d
k
s
-
-
q
-
-
t
-
c
h
-
p
x
-
-
-
q
n
-
b
-
-
v
a
p
-
w
-
w
-
-
m
s
-
-
e
-
p
-
-
m
t
-
b
-
-
e
r
-
x
-
-
k
m
-
t
-
-
n
-
d
-
c
-
f
y
i
-
-
i
-
o
-
-
v
-
o
-
j
-
o
l
-
-
b
v
-
-
f
k
f
-
g
-
r
q
o
-
-
-
c
-
-
-
k
-
u
c
-
j
-
-
a
p
-
-
k
p
-
-
w
-
e
o
-
j
c
-
m
v
-
i
-
-
-
-
o
-
r
-
v
-
u
-
j
-
q
-
j
-
v
-
l
-
e
-
m
-
e
k
-
-
e
-
w
-
b
-
q
b
o
i
-
-
-
-
h
v
-
-
b
b
-
f
q
t
i
-
-
-
p
-
s
-
e
r
-
-
t
-
-
-
j
-
y
-
m
-
f
-
c
-
d
-
r
-
m
q
-
c
-
-
u
d
d
-
p
-
-
j
h
-
-
-
d
y
-
o
-
s
-
e
-
-
k
y
m
-
-
-
x
-
w
-
k
-
u
-
u
j
n
-
t
-
-
-
a
-
c
-
x
y
-
-
e
u
i
-
-
-
l
-
g
-
n
-
h
l
-
-
b
-
p
m
-
-
l
-
n
-
v
-
m
t
y
-
o
-
-
-
o
-
q
f
-
-
g
-
r
b
-
-
a
-
o
s
-
-
k
-
l
-
r
-
i
-
g
-
n
-
v
k
-
x
-
-
h
-
q
-
e
i
-
-
i
e
-
-
n
-
i
-
f
-
h
x
-
-
k
-
b
-
q
-
v
-
e
-
p
-
i
-
x
u
-
-
x
c
-
-
m
h
-
-
u
-
o
c
-
-
a
n
-
j
-
h
-
-
n
-
w
-
v
-
v
-
u
-
d
-
s
-
m
-
l
i
-
l
-
m
l
m
-
-
s
-
v
v
s
-
y
-
-
m
-
-
w
a
-
-
-
c
-
h
-
v
-
x
-
-
u
-
u
-
l
-
g
a
-
m
-
e
f
-
e
m
c
-
-
b
-
w
-
-
b
c
-
-
-
-
r
-
b
-
k
-
w
-
e
n
-
l
-
-
f
n
n
-
-
-
t
t
t
-
j
-
-
u
u
-
b
w
-
-
-
h
-
-
h
v
-
-
t
q
-
d
s
j
-
-
-
v
-
-
i
-
f
-
s
-
n
-
m
-
l
h
-
-
p
-
a
-
t
a
-
-
f
-
c
m
p
-
-
-
i
-
r
-
w
-
a
t
-
-
y
-
e
-
d
q
-
o
-
-
j
-
y
-
c
-
p
m
-
-
p
-
n
-
y
-
t
-
u
-
u
-
h
h
-
c
-
-
w
h
-
-
j
-
j
-
l
-
r
-
a
q
-
-
m
b
-
v
t
-
-
-
w
-
s
-
s
-
o
-
t
-
u
s
-
-
f
w
-
-
r
-
q
-
w
m
-
m
a
-
-
-
u
-
f
-
y
-
c
g
-
-
r
-
h
k
-
-
c
a
n
-
-
r
c
x
-
-
-
e
m
y
-
-
-
-
y
x
-
-
g
-
h
-
s
-
d
s
-
f
-
-
j
j
-
-
e
g
-
-
f
q
-
-
f
u
-
-
t
k
-
-
j
-
p
-
f
-
c
-
m
-
b
-
y
e
k
-
-
j
-
-
m
e
g
u
-
-
-
-
f
-
c
-
o
d
-
-
g
-
l
-
l
-
l
b
-
-
t
-
d
-
n
f
-
g
-
-
s
-
s
-
k
-
l
-
q
u
m
-
w
h
-
j
y
w
-
-
w
-
-
-
p
d
-
a
-
c
d
-
-
m
-
c
b
-
s
-
-
a
-
-
-
v
-
-
b
-
i
t
-
-
t
-
x
n
m
-
-
-
c
-
g
-
h
-
w
-
o
-
u
d
-
p
-
s
l
g
q
h
c
-
c
-
-
-
i
-
n
-
t
-
g
-
-
-
-
a
-
-
r
k
n
-
-
d
s
u
-
o
-
-
w
-
-
-
x
-
v
-
c
-
e
i
x
u
-
n
-
-
-
-
m
l
-
-
g
-
k
q
x
-
-
u
-
-
u
-
j
-
i
-
d
-
q
-
v
-
w
f
-
x
k
-
f
-
d
-
-
-
y
b
-
j
-
-
v
k
l
-
f
-
-
-
v
-
a
a
-
-
c
-
k
-
h
-
q
f
-
-
r
-
e
-
h
g
-
-
h
-
a
v
-
-
c
-
o
s
a
-
-
-
t
-
b
f
p
i
-
-
-
y
-
-
k
w
-
-
s
x
-
-
r
a
-
-
r
-
v
-
g
-
o
-
j
-
w
-
f
g
-
-
f
-
g
-
a
-
x
-
m
m
-
d
r
-
c
-
-
-
i
u
-
-
d
-
s
-
k
-
q
y
-
-
p
-
l
u
-
-
h
-
v
-
b
y
p
q
-
-
-
-
p
-
o
-
g
-
m
-
i
-
v
-
w
-
y
-
t
-
t
o
-
-
q
-
b
-
g
-
w
-
n
e
-
-
t
i
d
d
-
-
t
-
-
-
g
b
-
-
w
-
i
g
-
-
r
-
w
r
-
-
g
o
-
m
-
-
u
e
f
-
-
d
m
-
-
-
a
-
o
x
-
l
p
r
v
-
t
b
o
-
-
h
-
-
m
h
-
-
-
-
-
-
h
-
x
-
w
-
o
-
u
-
w
-
n
c
-
-
t
-
b
-
m
-
f
p
-
-
w
-
u
m
-
-
q
k
-
d
-
-
h
-
w
-
o
-
h
x
s
f
-
n
-
-
-
-
n
d
-
-
v
o
w
-
-
-
q
j
s
-
-
-
m
f
-
-
u
-
d
-
n
k
-
-
j
d
-
-
u
s
-
l
-
-
r
j
-
-
i
-
q
-
v
-
w
-
u
-
u
-
g
-
v
x
-
-
m
-
g
-
q
-
o
-
b
q
j
-
-
g
-
r
-
-
g
-
d
w
-
u
-
-
j
o
-
c
-
-
r
-
s
-
l
f
q
-
-
l
-
-
v
-
c
-
w
w
-
-
g
-
j
o
-
-
t
h
-
e
-
-
b
-
d
-
o
-
r
y
-
-
m
-
v
g
v
-
d
h
u
-
-
g
-
-
-
u
h
v
-
n
-
-
s
y
-
-
-
-
e
-
h
-
s
-
x
-
l
-
d
c
-
-
n
i
m
-
-
-
o
-
k
-
i
-
v
-
x
o
l
-
-
-
h
-
a
-
w
-
h
-
j
-
b
-
t
-
y
c
-
-
k
g
i
b
k
s
-
-
-
-
-
-
b
q
o
s
-
a
-
-
-
-
o
b
g
q
-
s
-
-
-
g
-
-
m
-
g
-
r
-
m
-
m
-
b
-
d
-
d
-
k
-
s
-
d
-
d
o
-
-
p
-
p
f
-
-
l
-
b
-
x
u
x
-
-
-
k
-
q
-
b
-
x
d
q
-
-
-
q
-
x
t
k
-
-
-
i
-
k
i
h
-
q
-
p
-
t
-
-
y
-
-
p
-
c
-
i
w
g
-
p
d
-
k
-
-
-
j
-
a
-
q
-
m
-
i
n
n
-
-
-
-
w
w
w
-
-
k
-
-
i
k
-
l
-
m
-
-
n
-
o
d
y
-
-
-
g
-
u
-
m
-
t
b
g
-
-
-
c
r
-
c
-
-
w
k
e
-
-
-
f
s
e
-
-
-
d
-
x
t
-
-
v
-
y
j
-
h
-
w
-
-
a
-
a
-
b
-
t
u
b
-
v
q
s
f
-
-
-
-
-
-
m
-
d
-
o
-
d
-
h
s
-
-
u
d
-
-
n
-
u
b
-
v
-
s
o
i
x
-
n
-
-
-
-
-
m
-
c
-
u
-
r
x
m
y
-
-
c
t
-
-
p
-
-
y
m
-
n
u
f
p
-
-
o
q
-
a
-
-
-
-
o
-
-
e
-
-
i
m
e
a
y
-
-
n
-
-
-
x
-
-
n
l
c
-
-
-
p
m
-
-
p
k
-
h
-
u
-
-
b
-
i
-
q
-
p
-
q
-
s
n
-
p
-
-
i
a
p
c
-
-
-
-
g
m
l
-
p
-
b
w
-
j
-
-
-
-
w
-
x
x
-
-
s
-
h
d
-
-
l
-
f
-
m
n
j
r
-
f
c
-
-
-
-
v
p
-
v
x
-
-
-
-
r
-
w
o
-
q
-
-
m
-
x
-
q
v
-
l
-
i
-
-
x
-
t
-
i
-
k
s
-
g
q
-
-
-
k
-
j
-
c
a
l
-
-
-
v
w
-
-
k
-
g
-
u
a
-
h
k
v
-
v
-
-
-
-
u
-
j
-
l
-
j
f
l
-
-
-
y
d
-
o
-
-
y
m
-
i
-
-
p
d
-
-
r
-
x
-
m
-
c
u
-
-
d
-
v
g
-
-
t
l
-
n
-
-
m
-
q
m
-
p
-
i
-
o
-
-
l
-
f
l
-
-
y
t
-
i
o
-
-
-
f
g
-
u
-
-
o
c
-
k
-
d
y
-
u
-
o
-
w
-
-
o
-
-
s
-
p
b
-
-
o
-
j
-
f
-
q
m
-
-
e
f
c
t
-
-
m
-
-
h
-
-
l
n
o
-
s
-
-
e
-
-
p
-
v
-
e
-
j
m
-
n
-
-
m
-
f
n
s
-
m
-
-
u
-
p
-
-
h
-
h
r
g
-
n
-
-
y
-
w
v
-
-
-
l
-
l
t
-
d
-
-
y
-
c
-
y
q
a
r
r
-
-
-
e
r
d
-
-
-
x
-
o
-
-
-
h
-
e
i
l
-
-
-
d
y
-
-
t
-
h
-
q
j
-
-
v
-
q
-
f
g
-
y
g
-
-
f
-
-
f
-
h
-
l
-
g
b
o
-
-
w
-
-
y
-
v
-
a
-
y
-
l
d
-
-
k
u
-
-
i
x
-
-
d
i
-
-
d
-
x
-
p
-
x
m
d
-
m
u
-
-
-
-
c
-
a
-
y
a
n
k
x
-
-
-
-
-
k
-
j
-
k
-
t
w
-
-
y
q
g
-
x
-
q
-
-
-
k
-
x
-
i
-
v
-
n
p
-
-
a
-
s
s
o
b
-
-
-
m
-
-
n
-
x
-
l
-
h
-
e
-
g
w
-
o
-
-
y
q
v
-
-
-
t
-
n
-
i
-
l
k
-
-
g
-
l
-
y
e
-
a
-
-
l
b
-
-
a
-
m
-
o
-
t
-
a
-
q
-
p
-
j
-
i
k
-
-
a
-
u
-
g
-
k
-
e
-
d
-
x
-
w
-
d
r
l
-
-
-
g
-
k
h
-
-
g
-
a
-
j
-
t
-
v
s
-
-
y
-
l
t
g
y
-
o
-
t
-
t
f
-
-
-
b
-
-
-
j
w
-
-
o
-
f
d
j
-
e
t
-
f
a
-
-
-
e
-
-
-
t
-
m
-
e
-
v
y
-
-
b
-
h
-
t
u
-
-
v
c
c
p
-
-
-
b
-
-
h
-
s
-
w
-
r
e
m
-
-
r
-
-
t
w
-
-
b
-
k
-
w
-
q
-
o
g
-
-
o
-
e
-
n
-
k
-
k
n
-
n
c
-
x
-
-
p
-
-
e
e
-
-
p
e
i
w
-
-
-
s
p
-
l
q
r
v
-
e
k
-
-
-
-
-
-
-
w
-
p
-
p
-
h
-
q
-
h
-
j
-
u
n
a
-
-
x
-
-
d
-
n
n
k
-
-
-
l
-
j
-
e
-
c
-
c
-
i
-
y
n
-
-
o
-
i
-
k
-
q
-
v
-
a
v
d
-
i
-
-
l
-
-
y
d
k
p
y
-
-
-
-
-
s
d
r
q
-
-
j
-
i
-
-
-
t
d
k
-
-
-
j
n
-
-
a
i
-
e
-
-
m
-
n
-
f
u
-
-
s
-
i
b
-
-
r
-
l
-
r
p
-
-
y
-
p
-
x
f
-
-
i
h
-
-
y
q
-
-
s
-
v
-
v
r
k
-
-
v
-
-
t
-
p
-
l
u
-
-
b
v
y
-
-
-
e
u
-
-
g
f
-
o
-
-
j
d
x
-
-
-
u
-
v
-
t
-
v
-
n
-
y
-
x
-
k
-
l
-
y
-
t
-
p
-
g
-
r
-
v
-
x
c
-
o
k
-
-
-
o
-
p
-
y
-
n
u
-
-
o
y
v
f
i
-
-
s
n
-
o
-
w
-
s
-
-
h
-
-
o
-
s
-
-
-
d
-
f
l
-
-
l
p
-
o
b
-
p
q
-
-
-
-
e
-
x
-
r
-
j
q
-
-
o
f
s
k
b
-
-
-
-
v
d
k
p
-
s
-
-
-
m
q
-
m
s
-
-
-
f
-
-
l
j
-
h
-
o
-
-
b
-
y
u
-
-
-
u
-
o
-
d
d
-
-
x
c
-
-
d
e
m
-
-
a
-
k
w
y
u
-
-
-
-
-
c
-
b
b
-
-
t
-
y
-
c
a
-
l
-
-
x
p
-
n
l
-
-
-
t
y
-
-
i
-
m
-
c
-
y
-
v
-
i
-
a
-
f
-
g
s
-
i
-
-
l
-
b
i
-
-
y
-
f
-
s
o
p
-
-
c
-
n
-
-
m
-
r
-
t
-
g
-
n
e
-
t
b
l
-
a
t
j
q
v
-
-
-
-
j
d
-
a
-
-
t
-
w
-
-
-
-
-
w
-
j
-
p
w
-
b
r
-
-
-
j
-
e
-
h
d
-
-
t
-
k
m
q
-
-
-
u
-
r
-
x
-
c
-
b
g
p
-
-
-
r
-
y
-
g
o
c
-
-
-
l
f
-
n
-
-
b
-
b
-
a
-
x
-
w
v
-
x
e
n
-
-
-
-
n
x
-
-
f
-
b
-
p
-
f
y
-
-
a
-
u
-
h
b
-
-
g
-
d
-
x
-
n
k
-
u
-
-
b
-
u
-
r
-
n
-
k
-
m
-
p
-
l
a
f
u
-
-
-
u
-
-
g
-
y
-
a
x
-
-
n
g
-
f
n
t
b
-
-
o
t
-
k
-
e
-
-
-
-
b
-
-
n
a
-
r
-
i
-
-
x
-
t
q
-
f
-
-
k
-
c
-
m
i
-
-
v
-
h
o
k
-
i
-
e
-
-
-
h
-
y
-
a
w
-
d
i
-
-
-
m
q
h
-
n
-
-
q
-
-
d
p
-
-
f
e
-
-
w
-
c
-
e
h
-
w
-
-
w
-
u
-
o
-
o
-
a
-
o
q
q
-
-
-
m
-
t
-
m
-
j
-
q
-
m
-
i
-
t
w
-
-
w
c
-
d
-
-
y
-
o
-
e
-
a
-
u
-
c
-
q
s
-
-
c
-
k
-
y
-
s
-
g
q
-
-
t
i
-
y
-
-
o
-
q
b
-
-
f
-
g
i
k
t
-
w
f
g
r
-
-
-
-
-
-
-
j
r
-
-
v
-
h
a
-
-
m
l
-
-
d
-
a
-
p
-
u
g
-
v
-
j
m
-
-
-
k
y
-
-
f
c
-
-
f
-
w
-
j
q
-
n
c
a
g
-
-
-
i
d
-
-
-
-
m
u
-
e
-
-
f
-
l
k
-
u
-
-
e
-
c
-
e
-
d
n
-
j
-
-
h
-
o
-
u
-
a
h
s
-
h
s
-
-
j
t
-
b
-
-
-
-
x
u
s
m
-
-
o
a
p
-
-
-
-
-
n
-
n
h
-
-
h
-
f
-
d
-
c
-
p
-
e
-
s
-
b
-
r
-
g
-
c
-
n
d
-
-
o
-
t
-
k
-
f
-
m
-
r
-
l
-
y
f
-
-
e
-
y
-
u
-
r
-
p
-
d
-
y
-
l
-
l
-
p
l
-
-
p
-
h
-
p
y
-
a
-
-
i
-
h
-
f
-
k
j
-
-
e
-
q
k
-
-
n
-
u
-
u
-
e
-
a
f
b
-
-
-
q
-
m
i
-
l
-
h
t
-
-
x
-
b
-
-
a
-
g
j
u
k
-
-
s
-
-
-
u
g
-
-
k
-
x
-
t
m
-
-
g
-
c
-
e
-
i
d
-
u
n
l
-
j
-
a
b
-
m
-
t
c
b
v
-
-
-
-
-
-
s
-
-
e
c
n
-
-
-
-
j
-
d
-
y
-
c
p
-
-
i
-
i
-
y
-
y
o
-
a
f
-
-
y
-
-
u
-
p
f
e
-
j
-
-
-
d
f
-
-
s
-
p
k
o
h
-
-
-
w
-
u
p
h
-
-
a
-
-
k
i
-
m
i
-
c
-
-
f
-
f
-
v
a
g
j
-
-
-
-
x
-
f
r
f
-
-
c
-
j
-
-
-
-
r
-
p
-
u
r
j
b
-
o
m
-
d
k
b
b
-
-
-
j
-
-
u
x
-
-
-
-
e
-
o
-
-
-
y
-
a
-
t
-
p
l
r
-
m
w
-
g
-
s
-
-
v
h
m
i
-
q
-
-
-
-
-
t
-
-
g
-
u
b
h
x
-
-
-
-
g
o
w
-
-
-
i
-
g
-
v
-
i
v
e
-
-
d
-
g
-
i
m
-
a
c
s
-
d
-
-
v
-
-
-
-
q
-
p
-
k
k
-
-
f
o
-
i
-
-
s
s
-
h
-
-
g
-
r
-
a
-
f
-
s
-
b
-
y
-
f
-
v
m
q
k
d
-
-
-
-
-
w
-
k
o
-
d
h
q
p
b
-
-
c
g
h
-
h
-
i
v
-
j
-
-
m
-
c
p
-
-
-
-
c
p
h
-
-
-
n
-
-
e
-
-
-
-
s
-
q
r
-
o
b
-
d
-
-
-
j
-
a
o
-
q
-
-
t
-
m
-
a
-
n
-
s
-
g
-
t
-
l
-
x
-
m
-
b
c
-
-
y
-
q
-
f
-
i
-
f
-
p
-
e
e
n
v
p
-
-
-
-
-
k
y
-
-
j
-
f
-
m
a
v
-
d
-
-
-
r
-
x
-
g
e
s
w
-
-
b
-
q
-
v
-
-
-
g
-
y
-
r
v
-
-
b
-
l
-
p
u
-
-
w
-
i
q
-
b
-
-
r
-
i
-
r
-
e
-
x
-
g
e
-
-
c
j
-
-
s
-
y
-
c
-
i
i
-
j
-
-
q
-
d
-
q
-
q
-
t
-
f
-
l
-
p
c
m
g
b
-
-
-
n
-
-
-
s
p
-
-
w
-
b
-
r
l
-
-
o
v
-
-
x
-
f
-
d
-
e
o
w
-
o
-
i
-
j
-
-
-
q
k
-
-
x
-
q
-
t
-
r
-
m
r
-
-
d
-
v
m
-
-
n
l
b
-
n
-
-
-
h
n
-
-
g
-
k
a
-
-
c
-
f
-
u
-
v
a
-
-
f
d
-
-
q
u
-
-
y
-
r
-
r
-
o
-
y
-
k
-
e
u
-
-
t
-
a
-
c
-
b
g
p
-
t
-
-
-
m
d
-
-
m
k
y
-
i
-
v
v
d
g
-
-
-
-
-
-
n
-
h
-
h
-
l
-
u
-
p
-
j
-
q
-
m
-
w
n
b
-
-
-
b
-
u
b
a
c
h
-
-
n
h
-
-
h
-
j
-
-
s
y
-
-
-
-
k
-
p
-
b
o
x
-
-
-
h
p
h
w
-
-
x
-
h
-
-
-
u
-
k
-
o
v
-
j
-
j
-
-
x
-
x
-
w
f
-
r
k
-
-
-
m
-
c
-
s
-
k
m
w
-
r
-
c
m
-
s
-
-
-
-
b
d
-
-
n
-
g
e
-
w
-
-
i
-
r
-
a
-
l
-
h
-
q
-
q
-
o
-
b
x
-
h
s
b
q
-
y
-
d
-
-
-
-
-
e
s
q
-
-
-
e
-
j
-
i
-
w
e
l
-
-
j
g
-
k
f
-
-
-
-
o
l
-
-
t
-
g
-
b
-
h
-
s
-
o
s
-
g
r
n
-
q
m
-
j
v
-
-
-
-
-
-
q
-
y
-
n
-
l
-
m
u
e
v
-
-
-
q
-
-
l
-
y
q
-
-
m
w
n
-
-
-
v
-
v
w
-
-
e
-
b
-
d
a
-
w
o
q
f
a
-
y
-
r
-
g
-
-
-
-
-
q
r
-
x
-
-
l
w
-
m
-
-
g
-
-
p
a
b
g
-
t
f
-
-
-
-
-
b
-
u
-
m
-
l
d
-
-
g
-
c
-
x
-
m
-
j
-
t
-
u
-
p
k
-
-
c
p
-
-
q
r
-
h
o
-
-
-
s
-
t
-
y
-
p
-
l
-
k
-
s
e
u
c
x
f
s
n
-
-
-
-
-
-
-
y
-
-
p
-
v
s
-
w
r
-
-
-
b
i
-
-
e
-
r
-
b
-
p
-
e
-
r
-
j
-
a
e
-
-
n
-
g
-
s
-
t
-
k
-
u
y
b
s
l
-
-
a
-
-
-
h
-
-
y
t
-
-
x
-
b
s
x
n
-
-
f
u
w
x
-
k
-
-
j
k
-
-
-
-
-
b
e
-
-
-
v
-
m
-
b
h
-
-
d
-
i
v
-
t
r
-
-
m
-
p
-
k
-
-
m
d
q
c
o
-
-
-
-
l
-
v
i
-
-
-
h
d
e
-
t
c
-
-
-
-
w
k
t
-
-
y
r
d
-
-
q
-
q
-
y
-
m
w
-
r
-
-
c
t
-
q
-
-
o
-
-
i
-
-
o
y
l
d
-
-
-
-
x
u
-
-
d
-
l
-
l
-
w
k
-
p
-
h
-
-
h
d
-
-
c
-
g
v
w
r
-
r
i
-
-
-
-
b
-
f
-
-
r
-
n
-
y
-
k
o
-
-
n
-
h
b
-
-
h
l
-
-
h
-
a
q
-
-
n
-
s
-
c
-
u
-
v
-
x
-
d
h
-
-
s
w
-
-
j
-
q
-
c
-
k
g
-
-
n
-
a
h
-
h
-
k
-
-
a
-
w
-
i
i
x
-
-
-
c
-
n
-
k
-
m
-
t
-
o
d
-
-
l
-
l
-
b
-
n
-
v
-
u
-
y
-
a
s
-
-
f
-
e
-
m
o
-
c
-
-
y
-
p
-
d
t
q
-
a
-
-
-
e
-
h
v
s
-
-
p
c
l
u
l
-
w
-
-
-
x
i
-
d
-
-
-
s
d
-
e
-
-
s
x
-
-
-
e
c
t
-
d
x
y
q
-
-
-
e
-
d
e
-
-
-
g
-
-
-
-
c
y
-
-
y
-
e
g
s
-
-
-
w
-
w
-
t
-
x
-
m
j
-
v
s
-
-
-
u
-
n
-
y
-
w
h
-
-
t
v
-
-
l
q
-
m
-
-
j
r
-
-
o
-
e
-
a
-
g
-
a
-
y
-
s
q
-
l
-
t
-
-
p
q
f
-
-
-
k
g
-
-
s
e
l
-
y
-
l
y
-
-
-
-
w
i
d
r
-
-
-
y
-
-
o
-
c
r
-
-
x
k
-
-
q
-
u
-
k
u
j
-
-
-
x
m
-
-
i
g
-
j
-
-
e
-
c
-
f
s
-
v
t
-
m
x
-
-
-
w
-
-
j
-
y
m
-
u
k
-
h
-
v
-
-
-
m
b
j
-
x
y
-
-
-
-
k
v
-
-
r
-
y
-
h
x
-
a
-
-
h
-
x
l
-
-
v
-
d
-
a
x
-
f
u
e
-
-
-
-
i
d
x
-
-
-
f
-
h
-
p
x
-
c
-
o
-
o
-
-
v
q
-
l
-
-
p
-
m
k
i
w
b
-
-
-
-
-
i
x
x
i
c
-
-
o
-
-
d
-
-
x
u
t
-
-
-
-
v
b
m
-
-
-
e
-
s
-
i
-
v
-
h
d
q
p
s
c
o
-
r
-
-
-
-
-
-
-
o
c
-
-
s
n
e
-
-
w
-
-
o
u
m
-
-
-
e
-
h
-
r
-
j
-
l
q
-
-
r
u
u
-
-
s
-
-
a
d
p
-
w
-
e
-
t
-
-
-
x
-
l
-
g
s
-
n
g
-
-
-
n
-
a
-
y
-
f
-
x
-
u
h
-
p
-
y
-
-
p
-
b
b
-
-
j
-
h
b
-
-
h
j
-
-
w
-
p
-
i
d
k
-
-
-
v
-
o
-
a
-
c
c
i
b
-
-
-
-
h
-
d
-
q
u
-
u
v
-
x
-
-
u
m
-
m
-
-
-
s
-
x
e
p
-
-
j
-
-
t
-
j
-
g
i
-
-
e
-
y
p
v
-
a
-
-
-
u
-
u
-
l
-
w
o
-
-
h
-
o
-
w
-
i
-
i
j
-
-
x
-
p
-
n
b
-
i
a
-
-
s
-
-
h
e
-
g
q
-
-
-
d
k
-
-
j
-
r
-
d
p
-
o
-
-
v
-
k
-
o
-
t
c
-
-
i
i
-
-
f
-
q
-
e
v
m
t
-
-
-
-
c
-
f
-
r
-
f
-
y
h
w
b
-
-
n
m
i
-
m
c
-
t
d
-
y
-
-
-
-
-
-
-
a
-
g
a
o
-
-
g
-
-
j
-
b
-
w
-
v
g
-
-
q
b
-
k
-
m
-
-
t
-
b
-
k
-
v
-
p
h
e
-
p
x
-
-
-
-
j
-
r
-
b
d
-
i
d
u
g
-
a
r
y
-
l
v
l
-
-
-
-
o
-
b
-
-
c
n
p
a
-
m
q
d
-
-
-
-
-
x
-
-
u
-
-
-
w
-
-
k
-
-
d
-
m
m
-
q
v
-
-
-
b
y
-
-
s
-
t
-
a
-
j
y
-
-
m
-
q
-
i
-
v
a
-
h
-
-
o
-
g
j
-
-
i
-
n
o
-
-
n
t
-
-
l
e
e
o
-
-
-
-
e
n
n
e
f
-
-
-
y
k
-
-
q
-
-
-
i
-
w
c
v
b
-
-
-
y
j
-
-
-
o
-
u
u
-
-
x
-
c
r
-
-
q
d
-
p
-
-
v
-
a
-
x
-
w
l
-
-
k
-
j
-
j
-
d
-
f
-
u
-
u
-
k
-
p
-
h
-
l
-
n
-
t
-
c
-
c
-
s
-
t
-
g
-
q
-
x
m
-
y
-
a
-
-
i
-
u
-
n
y
-
-
n
-
u
-
i
-
k
h
x
w
f
-
-
-
b
-
k
-
-
-
e
-
d
-
d
p
-
-
j
p
-
-
y
-
l
e
-
-
r
b
-
-
m
-
e
-
i
-
i
t
g
h
-
-
-
-
b
-
n
-
t
j
-
a
j
-
-
-
m
-
e
-
w
-
l
q
r
-
-
-
d
-
f
t
-
u
-
j
-
y
o
-
-
-
f
-
t
-
l
-
m
-
h
o
y
-
-
-
c
-
t
-
i
-
q
-
v
-
q
-
t
a
p
-
m
-
-
-
l
-
a
n
w
-
i
-
-
-
n
w
-
-
a
-
k
-
v
-
k
r
-
-
x
q
-
-
w
-
u
-
u
-
p
-
b
-
k
-
o
-
h
u
-
-
d
-
d
-
c
-
m
c
-
-
b
-
v
b
c
-
-
i
-
-
a
-
s
s
b
-
-
-
r
-
n
k
-
s
-
x
-
t
-
-
g
-
g
-
o
-
a
-
u
-
v
-
q
-
g
-
d
-
v
-
x
-
d
-
o
-
x
-
o
k
-
-
j
-
a
b
-
-
c
-
a
j
-
-
i
-
b
-
m
n
-
-
s
-
g
-
g
x
-
-
c
-
r
-
q
-
m
-
d
-
b
q
-
-
i
-
k
-
f
p
-
t
s
-
-
i
y
-
-
-
l
n
j
-
-
r
-
o
m
-
-
-
a
h
a
n
-
-
-
r
t
-
-
-
q
r
-
-
e
s
-
x
d
-
b
y
-
-
-
-
d
-
e
n
-
s
-
c
-
-
k
-
m
-
a
-
h
-
o
-
y
u
x
b
-
n
-
-
q
-
-
-
q
s
-
-
g
y
r
v
-
-
-
-
q
-
y
a
-
-
g
-
a
d
-
-
k
l
u
-
-
-
p
-
q
h
-
y
-
-
s
-
r
-
e
-
t
-
e
t
-
-
c
f
-
s
-
-
t
i
-
-
f
-
x
y
-
-
e
h
c
-
g
n
j
h
s
-
w
w
-
-
-
l
s
j
t
-
x
-
-
q
-
-
p
-
-
j
n
-
f
-
-
d
p
u
-
-
b
l
-
-
-
-
j
l
y
-
-
-
-
-
n
o
h
-
l
-
b
-
s
-
-
-
-
-
v
q
o
-
-
-
n
-
k
-
e
t
-
v
i
m
-
k
-
-
c
-
-
-
f
-
h
-
b
-
i
d
y
-
-
-
h
-
o
-
x
-
n
b
-
-
v
-
u
-
p
o
-
h
f
r
-
-
-
-
u
-
r
-
g
-
c
-
k
-
m
-
n
-
a
-
l
-
c
-
v
b
-
-
f
-
n
-
n
t
a
h
c
-
-
r
-
-
w
-
-
t
-
-
c
q
-
-
e
-
p
s
-
p
-
-
u
j
x
-
-
-
k
-
i
-
f
-
y
-
l
-
m
-
u
-
w
s
-
-
b
-
q
-
b
-
r
-
s
-
s
-
t
q
-
-
b
-
l
u
-
m
-
-
p
-
s
-
i
-
d
j
-
-
r
s
i
-
u
-
i
-
b
-
-
-
h
-
o
p
-
v
-
l
-
-
x
-
k
x
q
-
-
-
u
q
-
-
t
p
-
p
-
k
-
-
l
-
y
-
c
t
d
-
-
-
q
-
a
-
p
-
a
f
-
r
-
t
-
-
n
-
d
-
n
-
d
-
a
s
y
-
-
-
x
-
g
-
r
-
f
-
b
-
g
-
l
-
o
-
l
-
v
o
-
s
q
-
b
-
-
-
w
r
q
-
n
-
y
-
g
-
-
-
u
f
w
-
-
q
-
-
h
-
c
g
-
j
-
-
i
-
g
-
a
i
-
-
e
-
l
-
o
-
m
r
-
-
o
-
n
-
v
-
j
-
y
m
-
r
-
-
j
-
h
-
y
-
p
-
q
-
x
-
r
-
s
-
s
-
p
-
j
-
i
q
n
-
-
-
m
g
k
-
-
-
g
-
n
-
s
-
o
h
-
-
l
-
m
-
c
s
a
-
-
-
l
n
-
y
-
-
t
-
j
p
-
k
-
t
-
k
-
-
m
-
d
-
k
-
q
-
x
-
n
v
-
-
x
-
g
c
-
-
m
-
b
-
c
d
-
n
-
-
k
-
x
-
p
-
g
e
n
-
-
-
c
-
u
-
f
-
i
-
v
a
c
-
-
-
r
-
f
-
v
-
x
-
g
-
n
-
e
f
-
h
n
-
e
-
v
-
-
-
r
j
u
-
-
r
-
v
q
-
-
-
f
e
n
-
-
-
f
-
i
-
w
j
-
-
q
n
-
-
v
v
-
-
f
q
-
-
g
-
e
-
f
e
p
o
-
q
k
d
-
-
-
n
j
-
x
-
-
-
-
-
u
-
p
m
r
-
-
-
l
-
g
-
w
w
i
b
-
-
-
-
w
-
f
-
w
-
j
-
d
-
r
-
x
h
-
f
-
-
k
-
l
-
o
-
u
e
-
-
k
-
l
-
d
c
o
c
-
-
k
d
-
-
e
-
-
-
f
-
h
l
m
n
w
-
x
-
-
f
-
m
o
l
r
n
h
y
-
-
-
-
-
-
r
-
-
-
g
q
x
-
m
e
j
-
-
a
q
o
-
-
-
-
-
-
-
-
j
c
e
j
-
l
-
-
-
-
o
-
q
-
y
-
f
-
t
-
g
-
o
-
j
k
-
-
c
-
o
-
i
-
b
r
-
x
-
-
t
-
n
-
q
-
x
-
s
j
-
i
t
s
q
r
v
-
-
-
y
-
-
g
x
-
-
-
-
-
x
-
t
-
d
q
i
-
-
c
l
-
-
-
c
o
h
k
f
-
s
u
-
-
-
x
-
-
-
-
s
-
q
-
g
-
i
-
v
-
c
-
t
i
e
h
f
-
y
-
-
y
l
-
-
-
e
-
-
-
g
-
y
-
q
d
-
-
f
-
q
e
l
-
-
v
t
-
-
y
-
-
e
e
-
-
o
-
c
-
o
-
u
-
c
-
y
-
o
-
y
-
k
h
-
-
k
d
-
p
-
-
k
-
m
e
b
n
-
-
u
a
d
i
x
-
-
p
-
-
c
y
q
y
-
-
-
-
-
i
-
l
-
e
-
-
c
-
-
-
v
-
x
-
i
-
i
-
c
-
k
-
w
-
m
-
d
l
-
-
e
a
s
-
-
j
-
d
d
-
-
-
k
-
a
-
i
-
k
d
-
y
-
-
t
-
o
-
o
-
x
i
-
g
-
-
y
c
-
o
-
-
w
-
w
-
h
-
q
-
c
d
-
-
e
f
i
c
-
-
-
-
v
o
-
-
s
-
b
d
-
-
o
f
-
u
-
-
r
-
t
-
u
-
l
-
y
t
s
-
-
-
e
-
n
-
l
w
j
-
-
-
t
-
s
v
-
l
-
-
r
d
-
-
s
x
-
b
s
n
-
-
y
-
-
-
p
-
n
-
v
-
l
u
-
-
s
-
k
-
k
-
w
-
r
u
-
-
c
-
g
-
i
t
-
f
-
-
l
-
o
-
q
-
w
-
f
-
b
e
-
d
-
-
n
r
f
a
-
l
-
-
o
-
-
c
d
r
o
-
-
-
-
-
f
u
s
h
-
-
-
-
k
s
w
-
-
l
-
-
b
-
o
o
s
-
-
-
d
-
u
-
p
g
-
-
b
-
o
s
n
b
h
-
-
r
o
a
-
-
-
b
-
q
-
c
-
-
a
m
-
-
-
-
y
-
y
c
q
n
-
-
-
-
f
-
w
-
p
-
e
n
-
n
c
-
-
-
n
-
n
-
f
-
j
l
-
t
c
-
-
t
-
-
a
-
v
-
n
o
-
-
e
-
o
-
s
-
r
-
a
-
d
-
o
-
p
-
o
w
-
m
a
-
-
-
g
-
l
-
i
-
s
-
y
u
-
-
y
m
-
o
-
-
k
n
n
e
w
y
n
x
-
-
-
-
-
-
c
k
-
o
-
-
-
-
w
-
u
c
n
y
n
c
-
-
m
-
-
-
y
-
e
-
-
-
r
-
a
-
e
-
a
-
m
r
-
-
f
a
-
f
n
-
f
g
-
j
-
-
-
-
o
-
r
-
o
-
u
-
y
-
n
p
p
-
n
-
-
g
-
-
c
-
l
-
i
-
p
y
-
-
e
-
d
-
x
v
f
w
-
-
-
-
a
-
w
-
o
r
-
-
j
-
q
-
e
-
i
-
c
-
l
y
-
-
t
-
v
-
u
u
j
-
-
k
-
-
t
-
d
-
k
f
-
-
w
-
d
q
-
c
-
y
-
m
-
-
g
-
r
t
-
m
-
-
a
-
h
f
-
-
c
-
t
s
-
u
-
-
l
q
h
o
y
-
-
-
-
-
r
r
-
-
k
s
-
-
v
l
g
h
-
-
-
-
j
a
k
-
c
m
-
-
w
j
f
-
-
i
-
n
-
-
-
-
t
a
-
q
-
-
f
-
e
-
k
-
k
h
-
-
t
u
-
c
-
-
q
b
-
-
p
r
-
-
l
-
u
-
y
m
-
-
n
-
s
-
s
-
l
-
x
-
e
m
v
-
-
l
s
-
l
-
-
-
k
-
k
l
-
-
q
q
-
w
o
e
-
i
-
-
l
-
m
-
i
-
-
-
u
s
-
-
m
-
g
q
q
u
-
-
-
u
q
u
-
-
-
-
m
-
r
a
-
b
-
i
f
-
-
-
t
-
q
t
p
-
-
-
i
b
q
-
-
-
j
-
h
-
t
-
b
-
n
-
m
h
-
-
p
-
c
-
y
-
y
n
-
-
r
l
-
-
j
p
-
-
q
b
-
-
j
-
p
-
a
-
s
-
p
-
k
o
l
-
-
m
w
-
-
-
o
-
f
-
l
-
n
-
h
b
-
-
b
a
-
j
a
s
-
-
-
p
-
-
h
j
-
-
q
-
c
i
-
-
f
-
m
w
k
-
-
d
-
p
-
e
-
y
-
-
n
-
u
v
-
-
v
-
u
m
-
l
-
-
c
v
-
-
q
d
-
-
y
-
f
-
l
-
y
-
x
y
i
-
-
o
-
h
l
e
c
-
y
e
-
-
-
p
y
-
-
q
-
h
-
u
e
-
-
k
-
-
-
n
q
-
-
-
u
-
c
b
y
-
-
b
g
-
y
-
v
-
q
-
-
n
u
i
-
y
x
f
-
-
t
j
s
-
q
v
-
y
-
-
-
-
-
-
-
-
b
-
g
-
a
m
-
-
u
-
q
-
s
-
i
-
u
-
p
-
l
-
h
-
c
-
p
r
-
s
-
-
q
-
g
-
s
-
c
-
j
-
r
-
e
-
f
-
h
a
-
-
b
-
x
a
-
q
-
m
-
-
r
-
j
-
q
-
j
-
f
b
h
r
-
-
-
-
a
-
n
-
t
-
q
-
v
-
q
-
m
-
v
w
-
-
w
p
m
-
-
-
v
-
b
o
-
j
-
-
f
v
-
-
a
v
-
-
t
-
v
-
j
-
o
s
q
j
-
-
-
-
m
-
c
g
v
-
-
-
x
-
v
-
j
-
c
-
h
-
y
-
v
v
-
n
-
n
v
-
v
t
-
l
a
-
-
e
-
-
-
-
r
f
q
f
x
-
-
-
-
-
v
n
-
-
d
-
g
q
t
c
-
-
-
t
-
-
w
-
g
f
-
-
m
c
-
-
l
s
-
-
w
-
s
e
-
d
t
-
-
-
y
-
j
-
a
-
q
-
g
-
v
-
q
-
y
-
s
-
f
-
x
-
m
-
h
g
-
-
f
-
p
l
g
x
-
-
-
-
u
-
f
-
r
-
f
-
w
s
t
-
p
-
-
-
r
c
-
-
a
-
m
-
b
-
n
-
i
t
-
k
-
q
n
-
-
x
-
u
x
x
p
-
-
-
e
-
-
-
b
q
w
-
b
u
m
-
h
-
-
-
w
k
-
-
-
-
x
s
-
-
v
-
t
-
y
g
-
-
j
d
-
-
d
r
-
-
e
t
q
-
-
-
e
m
-
-
s
p
-
-
p
-
c
b
l
-
-
-
b
-
y
e
-
-
u
-
m
-
s
l
-
-
q
e
o
-
a
-
l
-
-
g
-
-
q
-
n
-
c
i
-
-
f
o
-
-
w
-
h
-
n
-
v
-
d
g
-
r
-
w
n
-
i
p
-
-
-
-
r
-
b
-
h
d
-
c
-
-
a
-
b
-
s
-
j
-
e
-
c
-
g
u
y
-
w
-
-
-
s
-
a
h
j
-
s
j
w
-
-
-
j
-
-
v
h
a
g
-
-
c
-
-
-
-
o
-
b
-
n
-
x
-
f
-
m
q
-
q
-
w
-
-
u
-
n
-
b
-
s
-
b
-
t
-
k
-
f
-
u
-
x
-
u
-
w
c
q
j
q
-
-
-
w
-
-
a
-
-
x
-
h
f
w
-
o
f
g
-
-
-
v
b
m
x
-
-
m
-
-
-
q
-
-
-
g
s
-
-
s
x
-
u
u
j
u
-
j
u
y
b
i
-
g
-
-
-
-
-
-
-
t
t
-
-
-
-
n
p
n
-
-
p
f
-
-
p
t
k
-
-
-
f
-
-
j
f
-
-
c
-
w
-
q
-
j
-
o
x
-
-
g
-
l
-
k
q
-
-
o
-
r
g
-
d
t
-
-
-
t
-
n
-
s
-
e
-
o
-
f
w
-
-
m
b
c
-
-
d
-
h
-
-
b
i
-
f
i
s
k
-
-
-
-
x
-
-
p
i
c
-
v
-
-
-
v
-
f
-
d
-
y
l
-
-
m
l
-
-
r
a
-
-
x
-
c
a
-
-
i
s
p
-
-
-
y
-
b
-
b
f
-
-
s
-
n
m
-
y
-
h
-
-
q
-
k
-
p
-
n
-
w
q
-
-
v
x
-
-
t
c
u
-
j
f
-
x
-
-
-
-
v
-
g
-
r
c
-
-
o
-
p
n
-
-
u
-
k
-
d
-
d
-
n
-
h
-
q
-
i
-
y
h
-
-
u
-
j
t
-
-
q
e
-
j
-
-
s
-
d
-
g
j
i
m
-
x
g
-
m
j
w
-
-
-
o
-
-
-
-
e
n
-
g
i
-
o
-
p
k
-
-
h
-
-
u
r
-
-
-
-
a
-
b
m
i
-
-
c
-
w
-
-
j
-
k
-
s
-
u
-
x
-
r
-
i
c
-
y
a
-
b
g
-
-
l
-
-
-
i
-
m
l
-
-
g
-
v
-
y
-
n
q
f
-
-
d
-
-
p
-
j
u
f
-
-
y
s
-
c
-
k
-
-
-
a
-
m
-
y
v
-
b
i
c
-
-
-
-
k
-
v
r
-
-
s
-
q
-
t
-
b
r
c
v
-
g
-
-
-
-
o
y
s
e
n
-
-
-
-
n
-
-
h
l
-
-
h
-
t
b
-
-
b
-
h
-
j
e
e
-
-
n
g
-
-
-
l
e
-
y
-
-
j
j
t
-
q
-
-
-
u
-
g
-
c
-
w
o
-
-
o
-
w
v
-
-
h
-
j
k
-
-
w
d
w
g
-
p
-
i
j
d
-
-
x
n
h
-
m
-
-
-
s
-
p
-
-
e
-
h
x
-
k
-
-
-
p
-
a
-
w
-
r
i
-
-
-
-
v
w
-
c
-
-
e
-
c
w
-
x
f
-
-
-
p
-
r
-
o
s
-
g
-
i
-
b
-
s
-
-
u
-
v
-
d
y
-
-
w
t
-
-
t
n
-
-
n
q
-
-
j
-
a
-
f
m
-
-
a
-
l
m
-
f
-
-
w
-
g
-
o
a
-
-
e
c
-
-
f
-
p
a
-
k
i
-
-
-
e
-
v
-
h
-
e
-
f
e
-
-
c
-
c
r
-
h
-
-
m
-
d
x
-
u
-
-
g
-
y
s
-
-
i
-
l
-
f
-
c
f
-
p
-
t
-
v
-
-
r
-
a
-
a
-
e
r
p
b
-
x
-
i
v
-
s
-
-
c
q
-
-
-
-
-
o
-
l
-
v
-
g
e
-
-
j
f
j
-
-
-
w
-
k
u
-
-
s
-
g
i
-
-
s
-
a
-
k
-
c
-
f
-
i
-
a
-
n
q
-
d
-
-
x
-
d
h
-
-
a
-
e
-
t
-
y
u
l
-
x
x
a
-
-
i
-
-
-
b
-
-
n
-
t
-
t
-
i
-
y
n
h
d
y
-
w
-
g
-
-
u
n
-
u
n
o
-
-
-
-
t
h
-
w
h
-
-
v
-
-
-
-
-
v
-
p
-
x
-
c
-
j
o
y
b
j
-
-
-
x
-
-
d
r
f
-
-
-
a
-
-
n
-
p
-
n
-
d
-
f
-
s
-
g
-
g
b
q
j
-
-
-
-
b
h
-
-
g
-
d
p
-
c
-
-
m
-
k
-
c
s
h
-
-
-
v
f
i
-
-
-
h
-
f
c
-
-
c
m
-
-
k
-
s
-
n
v
r
b
-
p
-
-
n
o
a
-
-
-
-
-
e
m
-
g
i
j
-
-
-
-
x
l
m
s
p
t
-
-
-
-
-
-
a
-
r
d
-
-
n
-
j
-
o
o
d
t
-
y
v
-
i
-
-
-
-
t
-
c
-
-
b
-
b
-
h
-
e
e
e
-
-
r
-
i
-
-
c
-
y
d
-
-
k
s
-
-
i
-
s
-
l
-
r
-
h
i
-
-
f
y
w
o
-
-
x
v
-
-
-
-
v
-
o
-
y
g
-
-
t
t
-
-
r
-
n
-
l
-
f
-
e
-
k
o
s
-
v
-
-
-
c
v
-
g
-
v
-
u
-
-
a
-
x
-
m
-
n
-
g
-
v
-
c
-
q
o
-
-
k
-
o
-
o
-
o
v
-
-
d
-
t
-
s
-
t
-
e
-
g
-
j
-
n
-
v
j
-
-
b
h
-
v
-
-
t
-
l
-
x
-
x
-
b
y
-
-
o
-
p
-
w
j
-
-
k
-
l
-
g
q
-
-
c
-
d
r
-
-
h
-
w
-
g
h
-
-
f
n
-
j
-
-
i
-
i
y
-
-
s
-
b
-
m
-
k
-
u
p
-
h
-
j
-
-
x
-
l
-
q
-
h
-
j
-
n
-
g
-
j
-
s
-
d
-
k
-
j
-
s
-
j
g
-
y
-
-
x
-
a
-
p
-
b
t
-
-
i
-
d
t
-
a
-
r
k
-
-
-
l
-
a
w
-
-
h
-
s
c
t
-
-
k
-
j
l
-
-
-
x
-
w
i
f
y
-
-
-
-
e
-
c
-
k
-
w
-
j
m
-
-
e
-
i
-
c
-
n
-
h
-
x
-
y
-
e
x
-
-
b
-
b
y
-
-
r
-
u
e
-
u
-
g
y
-
x
-
-
-
v
-
m
f
-
i
-
s
-
-
q
c
-
-
c
-
j
-
r
g
-
-
j
y
-
-
o
-
b
l
t
y
-
-
-
p
-
-
p
-
h
-
y
-
w
u
m
-
-
b
-
i
-
-
g
r
-
-
i
-
x
-
x
-
k
-
l
-
j
o
-
j
-
c
-
-
e
y
-
-
b
-
j
e
-
-
g
-
c
-
d
-
f
-
l
-
y
n
-
-
w
-
v
-
d
-
b
-
a
-
h
a
-
-
w
-
r
-
e
e
-
-
j
w
-
-
j
k
-
-
s
-
q
y
-
-
p
-
t
-
g
-
t
-
g
-
g
-
h
-
f
w
l
f
e
-
-
-
r
-
d
v
-
-
-
-
w
-
t
-
u
-
n
o
-
n
i
-
y
y
-
-
m
-
h
v
-
u
-
-
-
-
b
-
u
e
-
-
i
-
i
-
h
-
a
-
d
k
u
n
c
s
v
-
r
j
q
e
-
-
-
-
-
-
o
-
t
n
p
-
-
-
-
b
-
s
y
x
b
-
-
r
f
-
-
-
-
-
w
-
-
l
s
-
-
t
-
-
o
-
l
f
-
-
a
x
-
d
-
-
p
o
v
n
-
q
j
q
-
j
-
-
-
-
v
-
v
-
-
m
-
w
m
-
-
-
l
-
g
-
c
j
w
-
i
-
i
-
-
e
i
m
y
r
-
-
y
-
s
-
-
n
-
-
-
-
c
a
-
-
d
-
s
-
p
-
l
-
f
p
-
-
h
-
s
-
g
-
e
e
-
-
r
-
i
-
q
-
e
-
y
-
h
-
c
-
l
-
s
-
l
k
-
-
q
-
q
-
p
o
m
-
-
-
b
-
e
-
u
-
h
g
b
-
-
-
j
-
j
-
g
l
-
-
e
-
h
-
i
r
-
w
-
-
e
-
o
-
e
-
t
-
k
-
y
-
w
-
l
-
l
r
-
-
v
m
-
-
c
-
b
n
t
-
-
-
n
-
p
e
j
-
-
-
h
-
b
-
m
c
-
-
y
-
p
-
u
q
-
b
m
-
-
-
c
h
-
r
-
-
j
-
e
o
v
d
-
-
-
-
d
-
q
-
i
o
-
-
n
-
y
l
-
u
-
-
d
-
s
-
h
-
h
-
j
-
h
a
n
-
g
-
-
-
o
p
-
b
-
-
a
-
w
-
y
i
w
-
-
-
r
-
s
-
m
-
d
a
-
-
h
-
h
c
t
a
-
-
-
-
j
-
b
-
r
-
j
-
c
f
l
h
-
-
d
-
-
-
t
-
d
i
-
-
k
l
-
-
a
-
i
-
c
-
r
-
b
-
m
n
-
v
i
y
k
d
-
d
-
p
-
-
i
-
m
-
w
-
k
-
b
-
-
a
-
t
-
c
-
-
v
p
-
l
-
-
a
u
-
-
e
-
-
-
s
-
j
-
r
c
y
-
-
-
k
-
l
-
e
-
a
s
-
-
h
-
j
-
i
-
b
-
t
j
-
-
k
-
q
-
e
-
n
-
y
u
-
-
b
-
v
l
t
-
-
-
m
n
-
i
-
x
-
-
c
p
g
-
-
-
v
n
-
u
-
h
n
e
-
e
h
-
m
v
y
-
-
n
-
-
-
-
-
k
k
p
x
n
-
l
-
-
-
-
-
-
l
-
w
-
i
b
k
-
-
-
k
-
f
-
m
-
r
-
k
-
q
-
b
-
f
m
-
-
f
g
a
-
-
k
-
o
-
-
e
-
l
i
l
-
t
v
-
-
-
-
b
-
b
-
h
-
t
-
s
k
-
-
u
-
m
-
b
h
-
-
b
-
i
n
-
-
s
o
u
-
-
-
x
-
d
-
d
-
f
i
-
w
v
-
-
-
a
-
q
-
o
-
m
-
o
-
d
x
m
-
-
p
j
-
-
-
c
-
s
b
-
-
f
-
w
-
e
-
k
-
x
-
k
-
s
x
-
n
-
-
y
x
-
k
-
e
-
-
n
-
g
-
h
-
r
-
o
w
n
-
e
d
j
-
-
i
-
v
-
x
n
-
-
-
-
-
u
n
-
-
b
-
c
-
j
-
x
-
o
t
d
m
-
d
h
h
q
g
-
-
-
-
-
-
-
-
e
-
f
-
v
-
m
u
m
o
-
s
-
f
x
u
-
-
-
-
-
-
d
y
-
k
l
-
-
-
m
t
-
v
-
-
h
-
m
-
m
s
-
d
-
-
h
-
u
p
-
-
i
c
-
-
k
x
-
n
-
a
a
-
-
v
-
-
h
-
q
-
q
-
o
p
-
-
j
j
-
-
e
i
-
-
c
-
m
-
o
-
o
s
-
x
s
-
q
t
-
-
k
-
t
k
g
-
-
q
d
-
-
-
-
-
u
-
p
-
b
p
-
c
g
-
-
-
d
-
j
-
o
-
s
-
q
-
j
-
f
-
b
-
p
-
q
-
h
v
i
b
-
-
-
w
-
v
-
-
f
-
i
-
s
-
j
-
j
-
i
j
a
n
-
j
u
-
h
x
-
s
x
n
-
d
f
l
-
-
c
-
-
i
j
-
x
-
-
-
-
-
x
x
-
-
-
n
-
-
j
-
-
-
c
-
h
-
k
-
a
-
o
-
o
-
l
-
h
-
e
x
m
-
-
-
i
-
g
-
k
m
a
-
l
f
-
r
-
-
q
g
-
-
-
-
n
-
u
l
p
-
-
-
t
-
g
r
-
-
p
-
c
-
s
-
u
-
l
-
v
j
-
q
j
-
r
-
a
-
-
w
r
-
-
v
v
c
f
-
-
-
c
-
-
-
e
-
p
k
-
h
-
l
-
-
l
-
c
-
x
c
-
-
v
-
o
-
w
-
f
-
q
x
-
n
-
-
n
-
g
-
x
-
o
-
r
-
b
-
w
o
-
g
t
-
-
q
-
-
a
-
p
t
-
-
b
-
u
v
g
-
-
-
l
i
-
-
x
-
o
-
r
y
t
-
-
o
-
l
x
w
-
m
-
-
q
-
-
-
g
q
-
-
a
w
-
-
o
c
w
s
-
o
-
-
-
e
-
p
c
-
-
v
c
-
-
-
s
-
m
-
o
e
-
-
d
k
u
-
-
r
-
-
k
i
-
c
q
w
-
-
d
j
-
o
j
-
-
-
-
-
d
-
h
-
o
-
u
-
s
w
-
j
f
l
-
-
-
e
w
-
-
r
-
w
r
q
x
-
-
l
p
-
-
m
s
-
-
-
-
-
h
-
q
-
d
-
k
u
-
q
e
m
-
o
-
-
o
-
-
i
-
j
g
s
-
-
-
-
c
p
-
-
q
b
-
w
d
-
-
h
k
-
s
-
-
-
s
o
-
-
y
u
o
u
-
-
-
-
f
-
u
t
-
-
t
t
k
-
-
-
b
-
u
-
q
y
-
-
p
-
k
-
s
-
i
-
c
-
l
-
m
-
y
-
i
-
p
-
m
j
-
-
v
-
m
-
c
f
-
m
-
t
d
g
k
-
-
-
-
i
o
b
u
d
-
-
g
-
-
-
m
-
-
-
b
-
o
-
t
-
t
-
n
-
t
-
b
-
i
m
-
-
l
r
c
-
-
-
a
-
r
-
v
r
r
-
-
-
a
-
i
-
m
f
k
-
-
-
y
-
t
v
-
-
a
-
q
g
f
-
-
-
i
-
j
g
-
-
k
-
w
-
c
-
w
-
j
-
a
d
e
r
e
v
-
-
r
-
s
e
-
m
k
c
-
-
n
v
-
-
h
r
-
-
-
v
-
o
r
-
-
-
m
f
l
-
-
-
-
-
d
-
-
-
t
b
-
-
n
-
b
-
d
-
l
u
l
-
-
-
q
j
-
w
e
-
p
-
y
-
-
w
-
g
d
-
g
-
-
-
c
h
c
-
b
x
v
-
y
d
-
m
-
-
-
-
-
-
w
-
s
-
m
c
m
-
r
s
-
-
-
-
s
-
q
f
k
-
-
-
g
-
m
w
-
-
e
w
-
-
n
-
x
-
q
b
-
v
-
w
-
-
v
-
x
-
w
r
g
-
g
a
p
-
g
-
-
-
-
-
u
f
e
-
-
f
-
n
-
d
-
u
-
i
-
-
w
-
f
-
r
-
m
-
i
-
h
f
u
-
-
-
r
-
j
x
-
-
r
-
l
w
-
g
b
-
-
-
p
-
u
e
-
-
g
-
t
-
q
-
a
-
e
-
n
b
-
-
m
u
-
-
c
-
a
-
d
-
x
-
i
-
a
o
-
-
w
v
-
-
m
u
l
-
-
b
-
-
a
-
n
-
e
-
u
-
u
-
y
-
l
-
g
-
c
-
j
l
b
-
-
-
e
-
a
-
j
m
-
-
p
-
g
-
n
d
g
-
p
-
f
-
-
-
j
-
w
-
j
t
v
-
-
h
v
h
-
p
-
-
-
-
e
-
k
-
g
l
a
-
-
-
a
-
n
g
-
-
c
-
f
-
n
-
h
-
r
u
o
c
b
u
-
-
-
-
b
q
u
-
-
g
b
-
x
b
f
-
-
o
-
-
-
d
-
-
m
-
-
-
q
-
o
y
-
-
l
-
w
-
b
-
x
-
f
-
w
f
f
-
-
t
-
x
-
h
-
-
p
r
-
-
e
d
p
y
-
n
p
-
-
-
-
-
a
-
t
-
t
d
p
n
-
-
-
n
-
p
-
-
f
-
p
-
g
-
l
k
w
-
w
t
-
-
-
-
i
-
o
t
-
-
e
w
n
-
-
-
s
-
o
-
q
m
-
-
n
-
m
-
e
-
d
q
n
-
h
t
-
-
y
-
-
-
l
-
b
-
k
-
m
-
n
-
g
-
v
-
o
-
b
o
-
-
y
-
d
-
f
g
-
-
l
-
h
-
g
-
c
-
d
-
d
-
l
x
-
e
-
a
-
b
-
-
o
-
a
-
w
-
c
-
r
-
l
-
l
t
-
-
g
-
v
-
r
-
f
-
e
e
-
v
-
-
h
-
m
-
o
-
o
-
d
-
f
o
-
-
k
-
y
-
q
-
i
-
h
r
-
-
l
-
l
-
c
n
-
i
-
-
m
-
f
a
-
-
n
-
y
i
-
n
-
-
k
-
i
-
y
-
v
j
-
m
x
-
-
n
-
c
-
s
-
x
n
x
-
o
-
-
-
-
j
s
-
-
i
-
k
-
l
-
t
q
-
-
w
i
m
y
t
-
p
q
-
-
w
-
-
a
n
g
-
f
-
s
-
-
h
-
-
x
-
-
-
p
-
-
j
t
-
-
i
-
p
-
c
-
t
-
l
y
-
-
k
e
o
-
-
c
r
h
l
-
-
t
b
w
-
-
v
k
i
-
g
-
-
f
-
-
-
y
i
-
-
-
-
-
f
-
b
-
i
t
-
-
o
-
e
-
y
-
b
p
-
-
v
-
r
-
j
-
m
-
l
-
e
-
u
-
o
-
g
-
d
-
f
-
v
-
r
y
-
-
t
-
c
-
d
-
i
o
r
e
-
-
-
-
w
t
-
g
h
v
-
-
d
o
-
-
-
s
-
-
p
-
t
-
r
x
-
-
k
-
h
-
e
q
-
-
g
-
e
-
n
-
g
-
m
k
h
-
-
-
d
-
q
-
t
-
n
-
g
-
y
m
-
-
w
-
w
-
g
-
k
-
v
k
j
-
-
-
y
-
t
-
c
h
e
q
i
-
-
e
-
f
-
t
e
k
-
-
-
g
v
-
o
u
e
t
-
g
p
-
l
-
-
-
n
-
p
-
d
-
-
h
k
-
-
-
-
-
s
-
-
-
r
-
n
q
j
-
r
-
i
-
-
r
-
-
b
a
-
-
g
y
s
-
-
-
q
l
-
-
w
-
y
-
c
-
o
-
b
-
y
-
p
-
f
r
o
a
-
-
-
-
d
h
-
-
l
-
l
-
m
-
i
w
-
b
-
c
g
-
b
-
-
y
-
-
o
o
-
b
-
k
-
-
i
-
n
-
f
-
e
-
d
-
w
-
g
s
-
f
-
-
o
-
s
-
i
-
q
-
g
-
l
-
m
-
u
-
v
-
u
-
x
-
o
-
g
-
i
n
-
t
-
f
x
-
-
-
a
-
v
-
w
-
n
-
t
v
j
-
r
s
-
l
f
p
-
-
-
-
e
-
-
j
-
-
a
h
-
-
w
-
o
-
u
-
n
t
j
-
l
-
-
t
-
-
e
j
c
-
-
-
r
y
r
l
c
-
-
-
-
-
b
-
r
-
t
y
-
-
j
-
e
-
s
-
p
a
-
s
-
-
a
-
i
q
-
-
n
f
-
-
t
-
k
l
e
n
f
-
m
-
-
-
-
-
s
-
u
-
s
-
d
-
u
-
p
l
-
a
-
-
u
-
p
j
-
l
-
n
k
s
m
-
-
-
-
-
t
i
-
m
-
-
d
s
j
-
-
-
a
-
l
q
n
f
q
-
-
d
-
-
-
-
m
-
d
-
d
-
t
k
c
m
a
-
-
g
k
-
o
-
j
-
c
x
-
-
-
-
-
-
d
-
n
-
a
-
o
-
k
h
-
x
-
-
v
-
h
-
b
-
y
-
s
-
r
-
p
-
k
-
j
w
j
-
p
-
-
-
h
-
t
y
-
-
p
i
-
-
r
o
-
-
b
-
s
-
d
-
e
-
n
h
-
-
h
-
i
-
u
-
d
-
l
-
m
-
i
-
g
-
s
-
u
-
t
-
y
-
y
a
l
-
-
b
-
-
n
-
n
-
j
-
w
-
s
-
v
-
m
r
d
c
-
-
-
-
v
-
v
-
o
k
-
-
n
w
-
u
-
d
g
n
-
s
l
-
e
-
-
-
r
v
-
x
e
-
-
s
h
-
-
-
-
-
w
-
f
b
-
-
p
-
f
d
-
-
d
-
l
-
w
-
y
-
w
-
n
-
d
l
-
-
x
-
i
-
t
-
m
-
s
n
-
-
d
-
g
a
-
e
-
-
y
-
h
-
c
q
-
-
p
o
k
t
-
i
-
-
-
-
v
g
a
m
-
i
-
-
b
-
-
-
j
-
k
o
-
m
a
-
-
-
k
-
t
-
b
-
o
-
g
-
v
-
i
-
d
j
-
-
g
-
d
-
o
-
n
-
b
-
u
-
v
-
f
w
-
-
u
-
l
-
i
-
h
-
w
-
r
-
x
-
p
x
-
j
b
e
w
-
-
-
-
-
c
-
v
-
l
r
-
-
b
-
m
g
t
-
-
-
e
-
g
-
r
-
e
-
h
-
a
-
a
-
x
k
r
-
-
-
e
-
q
-
n
-
i
o
-
-
l
-
t
-
p
-
a
-
m
g
p
-
-
t
-
g
-
-
q
-
v
d
-
q
-
-
h
-
r
-
r
m
-
-
k
c
-
-
c
o
-
-
w
-
f
-
r
-
n
-
m
-
b
-
l
-
u
y
c
v
-
-
-
-
u
-
y
-
n
y
d
c
-
-
-
-
j
-
e
-
f
-
o
-
y
-
d
m
o
p
b
r
-
h
-
-
-
-
-
w
-
-
g
p
y
-
-
c
-
-
h
-
n
-
s
-
g
w
-
h
-
k
y
q
-
l
-
-
-
-
u
-
w
-
k
-
a
-
o
-
i
-
g
b
d
-
-
-
p
-
r
k
-
-
f
-
h
s
-
b
j
l
p
j
d
-
-
-
-
q
f
u
-
-
-
o
-
-
-
-
e
-
h
-
c
-
g
-
c
m
-
-
h
-
u
-
w
-
a
-
e
-
h
-
d
-
k
-
l
-
k
-
i
-
p
-
k
-
g
-
j
-
j
-
i
-
y
-
a
-
g
p
l
-
-
-
i
-
p
-
m
-
s
-
s
-
e
d
g
-
e
q
-
-
-
-
q
-
b
-
p
-
c
w
-
t
u
-
-
n
-
s
-
-
x
x
n
i
-
-
q
d
-
-
-
-
e
-
t
v
-
-
x
-
w
-
u
h
s
s
-
l
-
-
-
-
n
-
r
i
-
s
-
-
d
-
b
e
-
y
l
-
a
-
-
s
-
-
n
-
v
-
c
-
v
-
f
c
l
-
b
d
-
r
p
-
y
-
-
-
-
o
-
-
t
q
i
-
a
j
-
-
-
-
f
e
-
-
g
-
a
-
g
-
i
-
m
-
h
h
-
-
c
j
u
d
-
-
-
v
-
-
s
-
s
k
-
-
m
-
q
-
b
-
s
-
r
-
m
-
s
-
g
-
e
-
s
-
p
-
y
-
o
-
u
i
y
-
-
-
o
-
e
-
x
c
-
t
-
-
p
-
m
-
u
i
-
-
u
-
m
-
v
-
y
-
h
-
l
v
-
o
-
q
-
d
-
b
-
-
l
-
u
-
o
-
v
-
y
-
e
-
e
-
h
-
k
-
k
o
-
-
c
s
-
l
-
-
w
-
q
-
a
-
r
s
u
k
c
-
t
-
-
-
-
-
y
-
r
-
v
-
w
g
-
-
x
-
n
k
-
-
t
-
c
-
g
k
y
a
-
-
i
-
-
x
-
p
-
-
b
-
u
-
b
-
l
-
w
-
u
-
p
-
s
-
u
-
e
d
-
-
q
g
-
j
o
-
b
t
d
-
y
-
-
k
-
-
-
-
h
-
y
-
x
-
c
x
-
l
-
-
u
a
-
-
r
v
-
-
f
-
u
o
i
t
-
w
k
-
-
g
-
-
-
-
r
-
i
-
h
v
-
-
q
-
i
t
-
w
-
-
h
-
o
n
-
-
d
h
-
-
g
-
e
-
n
-
t
-
b
-
s
-
y
-
d
-
i
-
m
-
k
-
b
-
x
i
-
-
x
-
u
n
-
p
p
u
n
-
k
-
x
-
-
y
-
v
a
-
-
b
-
-
-
-
m
-
t
t
-
-
g
-
g
-
d
-
y
-
i
-
j
-
q
-
t
-
n
n
d
-
k
k
p
r
-
q
-
r
q
-
-
-
q
-
-
-
-
-
g
-
s
n
-
-
o
w
-
-
a
t
-
-
y
-
s
o
g
-
u
-
g
k
t
-
-
-
-
-
x
-
d
o
-
-
h
-
o
n
d
b
-
y
-
-
-
-
m
-
t
-
f
-
g
-
n
s
-
-
u
-
v
-
q
-
f
f
-
-
e
-
a
-
i
k
-
-
x
o
k
-
-
-
s
c
-
-
h
w
-
-
d
h
r
-
m
l
-
-
-
r
-
-
a
i
-
-
d
-
u
-
h
o
-
w
-
f
l
-
-
-
s
-
a
-
y
-
s
-
b
-
c
-
f
-
f
x
d
k
-
l
-
-
k
i
-
u
-
c
b
c
-
-
k
-
-
-
-
o
h
-
-
-
a
-
a
k
-
w
-
f
j
-
-
y
-
l
c
-
-
i
s
-
-
-
j
-
e
r
-
-
g
x
-
p
i
e
-
-
-
-
p
-
y
i
-
-
n
-
k
-
v
-
j
c
-
s
q
-
-
-
w
-
f
-
k
t
r
-
m
-
-
x
-
-
o
-
o
c
-
c
-
-
t
x
-
-
r
y
n
-
-
-
x
-
h
-
j
-
j
-
x
-
t
t
-
-
o
v
-
r
o
-
-
-
j
r
w
-
-
-
q
-
y
l
-
-
d
y
n
-
i
-
-
-
w
-
p
-
m
d
-
-
q
f
-
-
h
-
d
v
o
d
-
q
a
-
r
-
-
-
-
-
c
p
-
-
l
-
j
-
j
-
g
-
t
-
a
-
j
-
a
l
s
-
-
-
i
-
o
-
m
-
m
f
-
l
l
-
-
i
a
-
-
f
-
-
o
-
r
-
r
-
n
-
x
-
w
h
-
-
b
-
k
s
-
y
g
-
-
w
-
-
h
-
s
-
w
-
m
b
-
m
-
-
n
-
h
-
k
-
m
-
p
-
d
e
-
-
u
-
l
-
p
-
t
y
-
p
l
-
-
-
d
-
u
k
-
u
l
-
t
-
-
d
-
-
k
-
t
-
p
-
o
s
-
-
k
u
x
-
-
-
y
-
l
-
f
-
q
-
p
-
v
-
i
-
g
-
o
-
o
-
y
e
-
-
c
-
h
b
-
l
n
t
-
-
-
-
m
-
f
-
c
-
j
-
w
-
s
-
o
-
p
-
t
n
-
i
-
n
-
l
-
-
g
-
o
-
m
-
p
-
d
-
p
-
g
-
h
x
f
-
-
-
b
q
-
n
-
-
t
-
j
-
n
d
-
-
u
a
-
v
-
-
m
-
y
-
n
-
j
l
-
q
-
-
p
-
s
n
g
o
-
-
-
-
v
-
y
-
g
f
-
-
s
-
f
-
q
-
c
l
m
-
k
a
-
l
v
-
v
-
-
-
-
-
f
-
i
b
-
b
-
b
k
-
y
-
m
h
m
-
-
-
-
-
m
-
y
-
o
-
u
-
b
f
-
-
y
-
f
k
m
-
-
-
y
-
t
-
h
y
-
-
o
-
t
j
w
-
k
a
u
i
e
-
-
-
-
-
-
-
d
b
-
-
e
-
m
-
l
-
j
r
e
-
-
-
v
-
n
-
o
-
v
q
h
-
e
-
-
-
k
l
o
-
u
-
-
-
i
-
e
-
e
u
s
-
-
y
h
-
o
v
i
-
m
m
u
-
-
b
-
-
-
-
-
-
c
e
-
r
-
o
-
-
k
c
v
-
-
-
l
-
n
q
-
-
u
-
m
q
n
-
-
w
-
b
-
-
x
-
l
-
w
-
d
-
b
-
c
-
x
-
f
-
m
-
j
j
p
b
-
-
-
-
h
-
e
-
u
-
l
i
-
-
u
-
e
-
p
-
q
-
q
-
d
-
l
-
i
v
-
-
e
k
w
g
-
-
-
-
r
-
h
j
h
-
-
-
s
-
l
-
y
-
m
q
-
-
u
-
k
-
q
-
i
-
a
-
a
-
u
-
g
-
b
r
w
d
u
-
-
-
-
r
-
u
-
-
t
-
c
-
v
-
m
-
c
w
-
b
-
u
-
-
a
-
e
-
m
-
c
x
-
-
b
-
h
-
f
-
a
-
c
j
d
k
t
-
-
-
-
h
j
-
-
-
i
-
q
o
-
-
d
-
n
d
-
h
-
k
-
-
d
-
d
-
h
-
x
-
d
l
-
-
k
-
q
-
g
-
y
o
a
-
-
-
f
e
-
-
r
y
p
t
-
-
-
-
f
g
-
m
v
a
-
-
h
l
l
k
j
-
-
-
-
-
-
g
-
-
k
q
-
-
f
-
s
-
u
-
h
-
f
-
a
b
t
-
q
h
-
-
-
s
-
-
t
-
d
b
-
-
i
-
j
v
-
w
s
m
-
-
-
-
w
v
-
a
j
-
g
c
j
t
-
r
-
w
-
p
n
u
b
-
-
-
y
-
k
-
-
x
j
-
-
h
k
c
-
y
-
-
y
-
-
-
w
m
-
-
-
m
-
-
-
-
h
-
m
p
-
-
a
-
n
-
q
-
w
-
q
-
u
c
i
-
-
-
j
c
-
-
f
-
o
-
r
s
-
-
f
x
v
y
d
-
b
-
j
-
s
-
u
-
-
-
-
-
w
s
v
-
v
-
-
-
k
l
-
g
-
-
x
-
y
-
f
m
-
-
i
-
d
q
-
-
h
-
a
w
-
-
r
r
-
v
p
-
-
m
c
-
-
-
l
-
x
-
g
-
o
-
o
-
g
-
p
a
x
-
-
-
t
k
q
q
-
y
-
-
q
-
u
l
-
e
k
-
-
q
t
d
-
v
-
m
-
-
v
e
m
u
m
i
c
j
-
p
r
-
f
-
-
x
-
-
f
-
-
u
-
-
u
-
p
-
-
-
-
-
-
d
s
-
-
-
-
c
u
-
h
-
-
l
-
-
f
j
-
-
c
c
-
u
o
-
b
-
-
-
y
-
v
y
y
-
-
-
o
s
e
n
-
-
l
-
-
-
a
n
-
-
o
v
-
-
b
-
y
t
h
-
-
-
n
f
-
j
-
-
g
-
d
f
t
-
w
-
-
s
j
k
-
-
e
c
h
-
-
-
-
f
-
-
u
-
o
-
v
j
b
-
-
f
k
o
-
i
f
w
-
-
-
n
-
g
-
s
-
-
-
-
w
-
s
-
n
i
-
-
p
e
e
-
-
h
-
-
p
k
-
-
w
m
m
-
v
-
s
o
-
b
i
-
-
-
-
-
o
-
u
-
r
j
-
-
c
-
x
-
x
-
q
t
-
i
w
w
n
t
t
u
-
n
-
f
-
-
-
-
-
-
-
-
j
k
-
-
c
t
-
y
m
-
-
h
-
-
l
h
c
-
-
-
w
-
g
x
r
j
-
g
-
u
k
-
l
-
c
r
m
-
-
-
s
r
-
-
d
j
-
-
-
-
-
-
x
-
j
k
-
-
k
-
l
-
p
g
-
-
p
-
h
-
j
-
y
-
b
-
j
-
a
-
c
-
i
x
-
-
y
w
-
w
-
-
u
v
-
n
-
b
-
-
m
-
s
s
b
-
-
a
o
-
-
-
a
a
-
-
w
s
-
-
b
f
a
-
-
-
n
k
m
-
-
-
j
q
b
d
-
-
-
f
n
q
r
-
p
-
-
-
s
-
-
-
t
-
k
-
f
-
d
r
-
b
u
-
-
-
x
-
q
-
p
i
-
-
b
-
h
-
n
r
f
-
x
-
-
-
k
-
v
-
l
-
n
-
y
-
c
-
p
q
q
h
-
u
e
r
-
a
e
q
-
-
-
u
s
-
j
-
g
r
-
-
-
-
h
n
-
w
-
-
-
-
-
u
-
x
f
-
-
a
f
-
-
-
a
-
e
p
-
-
r
q
h
-
g
u
-
-
c
-
p
q
-
-
-
-
k
-
o
h
-
t
-
-
h
-
k
f
-
-
c
-
r
x
-
-
e
-
a
-
s
-
g
u
-
i
-
-
g
-
s
t
-
-
f
-
m
p
-
-
k
i
-
-
b
-
p
-
q
j
-
-
w
-
b
-
i
-
b
-
i
-
d
-
n
-
h
k
-
-
d
-
s
-
t
-
r
r
q
-
x
f
-
w
s
-
k
-
c
-
k
-
-
-
o
r
f
-
-
-
-
-
v
-
s
b
-
-
q
a
-
e
g
y
-
-
u
-
-
-
b
-
y
-
v
u
-
-
y
i
k
-
g
b
i
-
-
-
o
-
-
-
i
g
-
-
q
m
y
-
q
-
-
-
j
d
y
-
c
-
-
p
-
-
x
-
d
t
-
x
-
-
y
-
m
-
b
-
u
y
s
x
-
-
o
-
-
-
t
-
q
-
n
-
f
i
-
-
p
-
c
s
-
s
a
-
s
-
t
t
u
-
-
-
-
-
a
-
a
-
u
-
w
-
v
-
s
-
g
-
u
-
y
-
l
e
c
-
-
r
-
-
u
-
c
-
i
-
r
-
s
-
w
-
h
-
s
-
j
y
-
-
i
x
-
-
s
-
q
b
-
-
w
-
e
-
c
-
a
g
-
-
u
-
p
l
-
-
a
u
-
-
r
q
-
-
f
a
-
-
x
-
j
c
-
m
-
k
-
-
l
-
y
s
v
-
-
-
a
g
j
-
k
v
m
a
-
-
-
u
-
-
-
-
a
w
-
-
o
-
o
-
u
n
-
r
-
y
-
-
h
v
r
-
-
-
x
-
l
-
l
m
-
n
-
-
q
-
a
-
j
-
t
-
m
-
k
-
u
b
-
-
q
-
g
a
-
-
x
-
y
-
c
p
-
-
x
-
v
-
u
-
k
-
e
-
u
-
n
-
g
-
a
c
-
-
h
-
u
g
j
s
-
u
f
-
w
n
d
-
k
y
k
-
l
-
-
-
-
-
o
-
-
q
-
-
-
-
v
-
n
e
-
y
-
-
k
-
n
-
f
-
j
n
x
r
-
-
-
t
-
-
w
-
d
-
x
e
-
-
u
-
j
-
k
-
p
-
n
-
p
-
m
-
a
-
l
i
-
-
q
-
h
-
g
t
-
x
-
v
-
d
-
-
u
-
d
-
c
-
t
x
y
a
r
-
l
-
d
g
-
-
d
-
-
-
u
n
-
u
a
-
e
-
u
-
-
-
-
s
-
w
-
-
p
n
-
-
j
i
-
p
-
-
l
r
y
v
-
v
o
k
a
-
k
-
e
f
w
l
l
-
-
n
-
-
w
-
b
-
k
o
-
c
k
-
u
-
-
-
-
-
-
-
d
-
-
k
h
g
-
-
-
-
-
-
o
-
o
-
s
-
h
-
n
-
r
m
-
-
n
f
-
-
i
-
e
e
-
r
-
q
y
n
-
-
-
v
-
-
t
p
-
-
v
-
s
-
r
-
m
-
r
s
-
-
q
c
-
-
f
k
-
-
l
-
b
-
f
-
d
-
s
-
w
r
-
-
e
p
-
-
n
-
n
-
w
u
-
d
-
m
-
u
-
u
-
-
j
t
h
-
-
-
j
v
-
c
e
o
-
-
-
-
j
-
l
-
x
-
e
-
r
-
q
n
-
t
-
-
o
-
y
-
x
-
w
b
-
-
g
-
r
x
v
-
-
-
d
-
u
-
k
-
s
-
w
-
h
-
x
-
v
-
y
b
j
h
w
s
d
-
x
-
-
-
-
-
q
-
-
-
r
-
y
n
-
n
-
-
t
-
c
y
u
-
-
-
t
f
e
-
-
m
-
w
-
-
t
d
l
-
j
t
-
-
l
-
-
f
-
-
y
-
s
-
v
-
p
-
w
-
c
-
x
-
o
-
d
-
n
-
r
-
y
y
-
d
y
-
-
l
-
q
-
-
x
-
p
k
-
-
e
w
j
-
v
i
-
-
-
k
-
w
-
j
-
-
e
j
-
w
c
q
-
-
-
-
s
-
u
f
-
-
r
y
l
-
-
e
-
l
-
v
x
-
-
-
x
-
y
-
x
y
-
-
y
-
x
r
-
-
b
-
k
-
f
i
-
-
y
-
w
-
q
-
r
-
p
-
o
f
-
-
d
-
i
-
c
c
-
-
l
i
-
-
d
-
f
-
d
-
f
-
j
-
r
-
l
y
a
-
-
-
v
-
i
-
u
w
-
-
j
-
l
e
-
-
j
-
k
-
x
-
y
-
l
-
a
-
q
-
s
-
e
u
c
k
t
-
-
-
-
a
-
-
a
-
d
-
h
-
p
-
y
e
y
r
-
-
-
f
x
-
-
-
y
-
c
x
q
-
m
-
-
-
x
m
-
-
q
-
i
-
o
-
g
r
-
-
v
r
-
-
t
-
g
x
-
-
j
g
-
-
b
-
j
-
u
p
m
-
t
y
-
-
s
a
-
-
-
g
-
-
x
-
f
-
s
b
t
-
-
-
j
c
-
x
-
p
-
-
o
-
s
e
-
-
f
-
j
-
e
-
p
-
l
-
g
-
o
w
-
-
p
-
k
c
-
-
p
l
-
-
u
-
h
-
u
s
-
k
j
-
-
-
r
-
o
-
r
-
e
-
v
-
m
-
r
-
x
-
i
j
-
r
m
-
a
-
e
-
-
q
-
-
x
e
f
-
-
-
o
l
-
d
-
l
-
e
-
-
e
-
x
-
d
m
-
-
d
v
-
w
-
-
w
-
s
-
r
-
g
w
x
-
-
-
t
-
w
v
-
-
i
-
j
-
t
-
w
-
l
j
a
-
-
-
u
-
m
h
e
-
-
-
m
-
y
-
k
-
j
-
u
-
q
-
v
-
u
-
b
-
e
-
k
-
m
o
-
-
x
-
f
-
t
-
i
-
j
h
-
b
-
d
-
r
-
-
f
r
-
r
-
-
l
-
b
m
-
-
b
-
t
-
o
-
d
-
f
-
q
x
-
-
l
-
t
-
n
-
o
-
p
w
-
-
d
g
o
-
-
q
-
-
g
l
-
-
y
-
l
e
-
o
-
-
y
-
b
-
k
u
-
-
e
-
s
-
d
k
-
-
r
-
b
y
-
f
-
j
-
-
m
-
t
-
i
-
k
x
-
-
e
r
-
-
i
a
m
s
-
-
-
-
k
d
o
s
-
t
-
-
o
-
r
-
-
-
e
y
-
-
r
u
-
-
c
-
f
-
w
-
a
-
g
-
s
-
b
-
m
-
u
-
n
n
-
g
-
c
o
-
t
-
n
-
-
-
f
-
t
x
-
-
x
-
v
v
-
-
v
g
-
v
-
h
k
-
o
n
c
-
-
-
-
-
p
-
l
-
c
-
p
q
l
-
-
-
x
-
t
-
a
-
o
-
u
-
e
b
-
w
c
-
v
s
-
-
-
-
r
-
c
-
s
q
-
-
i
-
j
t
-
-
c
-
a
-
x
t
-
-
p
-
h
s
i
-
f
-
h
-
-
-
u
-
q
-
w
-
v
-
l
-
w
c
-
r
-
-
g
k
-
f
-
-
i
-
w
o
x
-
-
-
e
-
q
m
-
l
q
-
a
-
-
f
-
c
-
-
j
m
-
f
-
i
-
-
n
-
v
-
w
-
f
g
-
-
d
-
e
s
j
-
-
-
x
-
i
w
-
r
-
-
x
-
k
g
-
-
l
n
-
-
h
i
-
m
-
a
-
g
-
-
f
-
y
-
y
-
r
-
c
-
e
-
w
-
k
-
x
t
-
j
-
-
u
-
v
-
e
w
-
a
-
-
l
-
h
j
-
-
e
-
q
-
x
-
f
i
w
-
-
-
d
-
o
-
g
c
-
n
d
-
-
-
a
o
-
-
u
-
t
-
f
-
u
-
q
-
m
-
u
-
l
w
-
-
f
x
k
-
-
-
x
y
-
-
q
-
v
-
w
w
-
-
x
-
t
-
x
-
s
-
r
j
-
-
t
-
m
-
b
-
j
-
y
v
-
c
-
-
l
-
y
w
-
h
-
-
k
-
m
-
m
l
e
-
-
-
r
j
-
-
w
i
-
h
-
e
k
k
-
-
b
h
-
n
-
x
-
b
-
-
-
-
o
-
o
b
n
-
-
-
u
s
-
-
g
-
y
-
o
b
n
-
b
-
q
l
-
-
r
-
-
j
-
-
a
-
s
w
-
p
-
-
u
-
b
-
x
-
b
-
m
e
-
g
m
-
-
y
q
-
-
-
t
c
-
-
c
-
h
-
s
y
-
-
h
-
u
-
m
r
-
w
-
-
l
v
-
e
-
d
-
-
f
-
v
j
-
-
p
-
v
-
r
j
-
k
-
-
x
-
n
u
h
-
y
j
j
-
-
-
-
-
x
-
r
g
k
h
-
-
q
-
-
w
g
-
-
-
c
-
t
-
q
-
n
-
s
-
p
-
j
-
o
d
-
n
-
-
y
-
b
-
a
-
t
-
y
-
b
k
r
-
-
-
y
-
t
-
e
-
m
-
j
-
o
-
i
-
v
n
-
-
w
-
w
e
-
-
j
i
-
-
j
-
t
-
d
-
k
-
t
-
e
k
-
e
-
-
f
-
b
-
p
-
c
y
-
p
-
-
n
-
c
t
-
-
d
-
a
e
-
-
y
-
b
-
h
f
-
-
k
i
-
-
t
-
t
-
b
-
g
-
c
u
-
-
p
-
w
-
m
-
q
-
i
-
p
-
c
-
s
j
p
r
-
-
-
e
h
-
y
-
t
h
-
d
f
-
-
-
-
a
k
o
j
-
-
o
-
v
c
-
-
-
a
h
-
-
-
-
g
-
w
-
x
-
d
-
p
-
g
-
k
-
e
-
f
-
m
-
a
-
e
-
o
-
i
-
b
-
f
-
c
-
c
l
f
-
-
-
w
-
k
-
g
-
c
-
c
-
i
-
k
-
i
-
j
a
-
u
-
m
-
-
b
-
q
-
g
g
-
-
x
-
e
-
i
-
w
-
l
-
e
-
p
-
g
-
r
-
h
-
e
f
-
-
p
-
p
-
i
f
-
-
p
-
o
i
-
-
c
-
y
-
o
-
m
-
a
-
w
-
v
-
w
-
l
-
c
-
y
t
-
y
-
-
c
n
-
n
-
-
q
-
i
-
e
f
-
-
j
g
-
-
n
k
b
t
-
-
-
-
d
e
g
-
-
-
e
j
p
-
-
s
-
t
l
-
o
-
-
-
a
u
-
-
s
p
r
-
-
-
l
-
m
-
h
-
k
t
-
-
h
-
d
u
-
h
m
-
-
-
r
-
t
d
i
-
-
-
h
-
h
-
j
u
y
k
t
-
y
-
-
-
l
g
-
-
-
-
k
-
y
-
g
-
w
l
e
-
i
-
-
i
y
-
-
i
-
-
q
-
g
-
h
m
-
o
i
-
-
q
w
-
e
g
-
k
v
-
k
h
k
-
-
-
-
-
l
-
-
-
d
-
q
-
w
-
w
-
t
v
-
y
-
-
u
-
f
o
-
-
e
-
m
x
-
b
m
x
-
f
-
-
-
g
-
r
q
r
-
-
x
-
-
-
w
g
v
-
m
l
k
-
k
-
-
-
-
-
f
q
-
q
-
-
k
-
p
-
w
-
t
-
m
-
d
l
-
-
g
-
y
j
-
-
f
-
p
b
l
x
-
-
o
x
-
r
-
-
-
-
s
-
c
-
q
-
d
-
s
d
t
-
-
w
q
-
-
i
-
b
-
-
g
-
f
x
-
e
k
-
r
-
s
m
-
-
-
-
u
-
h
v
-
-
j
-
h
a
r
-
-
-
f
-
y
-
q
u
v
c
-
o
l
-
-
-
-
n
-
-
b
-
m
-
i
-
u
-
c
-
j
b
-
-
l
f
-
-
n
r
-
e
-
-
s
r
-
-
v
-
w
-
k
-
l
k
-
p
v
i
-
-
-
-
g
-
g
-
w
w
-
-
g
-
c
-
t
-
g
-
w
-
q
o
u
-
k
w
-
-
-
-
d
l
j
-
f
-
-
w
-
-
h
-
q
-
x
-
d
-
g
-
t
-
m
-
k
-
s
k
f
-
-
-
d
-
a
-
a
-
j
r
-
f
-
-
a
-
f
-
l
a
h
o
-
s
-
-
-
n
v
-
s
-
-
m
-
-
n
-
h
-
x
-
o
k
-
-
u
-
t
s
-
-
g
-
i
x
-
-
h
-
s
-
h
-
y
w
-
p
-
-
j
h
-
-
x
q
-
f
x
n
-
h
n
-
-
-
-
-
u
-
q
-
b
-
n
-
v
-
p
-
q
l
v
m
-
-
-
-
l
-
b
-
n
-
u
-
g
i
-
-
h
-
u
-
l
n
-
-
p
-
q
-
h
-
l
e
m
a
-
-
u
-
-
-
q
d
-
-
r
-
p
-
j
s
-
v
-
-
w
-
w
x
b
-
-
b
-
-
y
-
j
-
m
-
f
t
l
g
-
l
-
-
a
-
-
v
-
-
m
-
r
-
o
-
m
-
j
p
-
a
-
-
f
k
j
n
-
-
-
-
k
-
r
-
u
r
i
-
-
-
t
-
j
-
q
j
-
-
u
-
m
b
-
-
p
-
w
-
r
t
-
-
v
-
q
-
b
-
k
o
-
-
h
c
-
-
r
-
t
a
-
-
v
-
k
-
c
k
b
b
k
r
-
-
s
o
-
-
a
-
m
-
f
n
p
-
-
-
-
-
-
-
l
-
v
r
-
g
-
x
u
-
-
-
s
-
m
k
-
i
-
a
i
-
q
-
h
-
j
-
d
-
y
t
-
-
-
-
u
-
n
-
x
-
s
-
u
-
u
-
b
g
p
-
-
-
v
-
v
-
k
r
j
-
-
-
h
-
n
r
-
-
h
i
c
r
-
-
-
-
u
-
n
c
-
s
-
-
k
-
q
-
i
g
-
w
n
-
-
-
p
-
g
o
q
-
x
-
-
-
x
y
-
c
-
-
x
g
-
-
t
-
k
-
y
v
-
a
-
-
f
x
-
-
c
-
y
-
u
-
m
-
f
s
-
-
f
-
v
-
w
m
m
-
n
-
l
-
-
v
-
-
o
-
h
o
c
n
y
w
-
-
-
-
o
u
-
h
-
-
-
n
-
-
f
-
r
v
v
-
-
v
q
-
k
-
g
f
p
-
-
-
-
-
f
-
j
-
u
f
l
-
-
h
-
y
n
v
-
-
-
-
i
k
-
-
m
n
h
-
v
-
-
g
c
q
-
c
-
q
-
-
v
-
-
-
m
-
w
s
-
-
e
-
w
o
-
-
n
-
u
-
v
d
-
-
k
-
a
-
f
-
e
-
t
-
y
u
a
-
-
-
m
-
s
-
t
-
g
q
w
-
-
b
-
-
e
-
n
n
u
-
-
-
v
-
b
-
x
-
n
-
u
-
d
v
m
-
-
-
k
-
m
-
i
-
u
-
n
w
-
n
-
-
n
-
k
r
f
-
y
-
-
j
c
-
-
o
-
-
w
-
f
-
l
-
a
-
s
-
a
-
h
-
d
-
h
n
b
-
-
-
d
-
a
-
k
-
i
-
f
w
-
-
h
-
s
k
-
-
u
-
d
-
q
-
t
f
d
-
-
-
r
-
r
-
v
g
h
w
-
m
d
-
-
-
-
-
k
-
k
s
m
p
x
-
n
-
-
t
o
-
-
-
-
-
i
-
t
-
r
-
s
j
-
q
-
-
e
-
k
-
t
-
o
n
u
p
j
s
l
q
-
-
a
a
h
-
r
-
-
-
-
t
-
-
-
-
t
-
-
-
p
-
c
-
c
v
-
-
s
-
h
-
b
j
-
-
t
-
k
-
n
-
w
-
l
o
-
-
t
-
p
p
-
-
x
-
n
g
-
-
s
-
j
-
g
-
i
n
-
-
c
h
-
-
y
-
t
-
l
a
-
-
p
-
s
-
j
-
i
-
q
-
r
-
v
-
m
o
x
o
-
r
-
-
-
-
s
m
p
o
-
-
-
-
y
-
s
-
y
h
-
-
s
w
-
-
v
-
j
x
e
-
-
-
y
l
-
d
-
-
s
-
n
-
p
-
r
p
-
v
-
-
s
-
c
-
w
x
d
c
-
-
-
-
v
-
m
l
-
-
m
-
l
i
-
-
s
h
-
-
a
t
c
a
-
l
q
-
v
p
o
-
-
-
x
-
-
-
g
-
-
e
q
-
-
c
-
-
j
-
f
-
h
-
f
x
-
-
o
-
m
c
-
-
i
-
o
g
n
t
f
-
-
-
t
r
-
-
a
-
-
r
-
-
p
-
u
h
-
-
u
f
n
-
c
x
a
-
s
-
-
w
-
-
-
-
a
b
-
-
w
l
-
-
f
n
-
-
l
x
-
-
w
d
-
-
u
k
-
-
t
-
x
w
-
d
p
h
r
-
-
-
s
c
i
c
-
-
-
-
-
-
w
-
b
-
f
c
-
-
p
f
-
g
l
-
u
w
-
p
-
-
-
q
f
-
n
v
v
r
-
-
-
-
-
b
e
b
-
-
-
-
x
-
t
q
j
-
-
-
l
v
-
-
h
-
u
u
-
-
m
b
-
j
b
q
-
-
-
-
p
t
-
y
-
-
m
e
-
-
b
s
w
-
-
s
-
r
-
-
t
-
r
-
e
-
e
-
m
l
-
-
l
y
-
v
-
-
b
-
v
-
l
-
v
m
-
-
r
-
w
-
c
t
-
p
-
-
g
-
l
m
s
r
-
-
-
j
-
s
t
-
-
x
-
-
k
-
f
-
u
-
p
-
t
a
-
f
-
-
p
-
r
-
r
-
d
-
e
w
e
-
-
-
g
k
-
-
i
-
g
-
b
i
i
-
r
-
-
-
x
o
-
-
p
y
k
p
e
d
-
i
-
-
-
-
n
-
-
-
t
-
n
-
l
v
j
-
n
k
-
-
-
-
d
-
o
n
-
-
n
-
w
-
t
e
-
x
-
-
o
-
s
-
t
g
-
-
r
-
f
-
b
-
v
c
-
-
l
-
t
-
k
n
-
s
-
-
d
-
l
k
i
-
-
-
i
r
g
-
o
-
p
l
f
-
-
-
d
d
-
-
-
-
v
j
-
-
n
-
q
h
y
-
y
-
t
o
-
-
-
-
c
x
s
-
-
-
k
i
f
-
-
-
h
q
-
m
-
-
c
-
l
-
f
-
v
-
s
-
d
-
u
o
-
-
v
-
m
-
a
w
-
e
-
-
h
-
g
b
-
v
-
-
v
-
q
-
p
-
a
l
-
-
c
-
q
-
m
-
h
c
-
-
m
-
r
v
-
-
x
l
a
-
-
-
w
s
m
m
o
a
-
t
p
s
o
o
-
-
-
-
p
-
u
-
-
-
-
-
f
r
-
-
i
-
-
e
-
-
l
-
r
-
n
-
b
n
-
-
f
d
-
-
c
-
s
-
u
n
-
-
y
-
o
-
i
-
j
m
-
-
x
-
h
-
r
-
h
d
-
-
t
-
u
-
t
-
v
-
k
x
-
-
n
-
y
-
m
-
g
g
i
t
g
u
-
-
-
-
-
y
y
-
-
-
s
-
t
-
d
-
r
-
a
-
k
-
b
-
r
v
-
d
i
-
s
o
m
n
-
-
j
a
w
-
-
s
-
-
k
-
j
-
-
-
q
-
-
-
v
-
j
-
t
-
h
-
f
e
-
k
-
w
-
-
u
-
n
n
-
-
v
-
b
-
f
s
-
n
-
r
-
-
q
-
q
u
o
-
u
-
-
-
k
v
-
-
t
y
-
o
-
i
-
-
t
b
-
-
a
-
j
-
a
-
t
-
w
s
-
-
b
-
i
-
v
-
e
-
j
-
g
-
v
-
n
-
q
-
o
-
g
-
a
-
c
-
i
i
-
-
o
-
u
f
h
-
-
s
-
c
-
-
b
-
h
-
g
w
-
-
p
n
-
-
f
-
j
g
i
-
-
-
i
-
q
-
g
-
c
-
g
-
l
-
w
q
-
-
w
-
q
-
n
-
t
r
-
j
-
-
o
-
f
-
a
-
q
-
d
-
t
-
f
f
-
v
g
-
x
g
-
j
-
-
-
-
g
-
h
-
a
n
-
-
d
-
j
-
l
-
y
-
b
-
q
w
-
-
o
d
-
m
-
-
g
-
a
r
n
m
b
c
k
f
-
-
-
-
l
-
-
n
-
-
-
-
n
-
e
-
j
-
r
p
-
-
u
-
s
-
l
-
d
-
k
-
c
-
d
j
-
-
o
-
j
r
-
-
q
o
-
l
-
y
-
l
-
-
g
-
i
-
j
-
f
e
-
-
u
-
m
-
h
-
j
w
v
-
-
u
-
-
i
j
o
h
-
j
-
-
v
-
-
c
-
c
-
d
a
o
l
-
q
a
-
-
-
g
-
-
-
w
-
-
n
-
q
e
-
w
r
r
d
-
-
-
k
s
p
i
-
-
-
p
w
-
-
-
o
-
-
u
-
-
q
-
n
-
l
-
l
-
q
-
w
-
f
h
-
-
p
m
s
-
r
c
-
-
-
-
i
-
q
-
a
-
t
-
k
-
b
-
d
-
r
-
b
-
s
-
c
-
n
s
j
-
-
-
y
u
r
g
t
-
-
l
-
-
q
q
m
-
i
o
n
-
x
-
-
-
-
-
j
-
x
-
q
-
-
-
s
b
-
-
u
-
v
u
-
f
-
-
g
c
-
n
l
-
t
c
-
v
-
n
a
i
-
v
-
-
o
-
-
-
m
-
-
a
-
-
u
-
w
m
-
-
d
-
x
-
p
-
l
d
f
-
-
-
l
-
n
-
a
-
x
-
k
-
o
-
o
-
h
n
a
h
-
-
v
h
n
-
-
e
f
e
-
-
e
f
e
-
-
-
-
p
-
-
-
-
r
a
-
w
-
f
v
-
-
-
w
-
m
-
k
-
p
-
n
-
y
a
-
-
a
a
-
-
t
-
o
-
t
-
y
-
n
-
d
d
-
-
x
-
w
t
f
c
-
o
b
-
-
b
-
-
d
-
i
-
-
-
p
r
r
-
-
q
-
b
-
-
b
-
m
c
-
n
-
-
w
h
-
p
-
x
-
y
-
-
x
-
h
p
-
-
o
-
p
-
h
-
q
-
f
g
-
h
h
-
-
s
p
-
s
-
s
-
g
-
b
-
-
f
-
-
w
o
-
-
q
m
-
-
y
-
u
i
-
u
-
e
-
-
g
-
t
a
-
w
x
-
-
-
i
-
c
-
y
-
k
-
f
k
d
-
-
-
l
-
t
-
p
-
t
v
n
a
-
-
s
-
-
-
e
k
-
u
c
-
-
g
b
-
-
-
x
u
-
-
v
-
e
-
q
-
w
-
u
-
x
-
r
-
n
-
q
-
f
-
j
-
w
-
l
v
y
-
-
u
d
-
-
-
m
t
i
-
-
-
a
-
y
-
p
m
-
-
i
-
p
h
u
p
u
-
k
p
t
-
i
c
-
b
-
-
-
-
f
-
d
v
g
n
j
w
-
w
-
-
-
n
-
-
-
v
-
-
-
t
-
-
-
-
r
-
p
-
b
-
n
e
-
-
f
-
m
-
g
-
f
r
-
s
x
-
g
e
-
-
-
-
i
-
y
-
a
-
n
-
g
-
p
-
p
-
g
-
q
-
s
-
m
-
x
-
s
e
l
q
-
m
-
-
-
-
w
-
f
i
-
t
o
-
-
-
w
u
o
-
-
-
q
e
-
-
m
-
e
-
f
-
b
-
f
-
x
-
i
-
u
-
t
-
f
-
d
-
b
l
-
-
w
-
b
h
-
k
-
-
j
r
-
-
g
-
w
-
u
p
l
e
-
d
-
-
-
m
-
-
t
m
-
l
p
-
c
-
m
-
-
-
u
-
f
-
w
-
y
-
j
-
x
-
f
d
-
-
o
-
w
-
a
j
c
-
x
-
-
-
s
-
i
n
-
-
q
d
-
-
e
-
o
x
g
-
-
-
k
-
o
l
-
-
y
b
-
-
l
y
-
k
c
-
e
-
-
-
j
-
w
j
e
-
-
-
u
-
l
k
o
-
t
-
-
r
q
s
-
h
-
-
l
-
c
t
-
-
j
x
-
d
j
i
-
-
-
-
-
q
-
-
y
h
-
-
e
-
l
h
-
b
s
q
e
-
-
-
-
-
p
-
v
-
w
-
l
-
g
-
o
g
-
-
a
-
y
n
-
a
-
-
f
n
-
-
k
c
-
-
b
-
l
h
-
c
-
x
s
-
-
-
w
-
u
-
j
-
o
-
n
b
-
u
s
h
-
-
-
-
m
-
r
-
s
-
b
-
s
-
v
v
-
-
g
-
c
-
k
-
q
-
w
-
d
-
g
r
-
-
o
u
-
-
l
-
y
u
i
-
e
k
-
-
-
-
b
j
l
v
d
-
p
-
-
a
-
-
-
c
k
-
-
-
m
-
y
-
m
-
x
-
g
j
-
-
t
-
b
-
l
-
f
-
h
-
h
k
y
f
-
-
f
h
s
-
r
r
-
m
-
-
-
-
r
-
n
k
-
l
l
x
i
-
-
-
-
-
-
-
j
-
g
-
b
q
r
-
-
-
k
-
m
-
d
u
v
-
-
-
c
u
-
-
o
m
v
-
-
r
-
-
r
-
f
c
x
-
-
-
s
-
b
x
-
x
-
-
f
-
x
n
h
-
c
r
-
-
-
-
b
-
u
-
w
c
t
-
u
-
-
-
x
n
e
-
-
c
p
-
c
-
-
-
v
-
r
o
-
d
-
-
j
-
k
-
s
-
l
-
p
p
g
w
k
-
-
d
t
-
c
-
-
-
r
m
-
-
-
-
u
h
k
-
d
-
-
-
j
-
a
-
b
v
-
-
h
-
k
-
b
-
l
-
j
-
n
-
s
b
j
-
-
-
s
w
-
a
k
l
j
v
-
o
j
-
-
j
-
-
-
-
c
p
-
-
-
b
-
o
h
-
-
y
-
-
w
-
d
-
k
c
o
n
k
-
r
-
-
-
-
-
n
-
i
-
l
-
n
-
w
-
n
-
c
-
p
f
-
-
a
r
-
-
b
-
o
-
t
-
c
e
-
-
v
-
x
-
a
-
a
-
a
-
k
-
p
-
d
u
-
-
p
-
y
-
l
-
l
-
t
-
i
-
d
-
t
e
-
-
d
a
k
d
-
a
-
-
-
-
v
h
-
-
y
-
u
-
n
-
n
-
x
f
-
p
-
-
r
v
-
-
v
q
t
n
-
-
-
-
l
-
c
j
-
p
-
-
m
-
y
-
q
-
x
-
b
q
-
d
-
-
f
n
-
i
-
-
d
t
-
-
i
-
y
s
-
-
k
s
-
-
g
f
i
i
y
m
-
-
-
-
m
w
q
-
-
-
-
-
d
-
f
-
r
-
k
-
o
g
m
-
-
-
j
u
-
-
m
-
b
y
-
g
-
i
-
-
s
-
n
-
p
p
m
-
j
-
s
-
-
p
g
-
-
-
t
-
u
-
s
-
y
-
b
-
k
r
-
-
x
-
y
-
i
g
-
-
l
-
j
p
-
o
-
n
-
-
v
-
y
-
j
-
w
-
r
p
-
c
-
-
y
-
r
-
w
-
k
-
a
-
w
-
o
g
c
i
-
-
-
e
-
-
j
-
g
j
-
-
q
-
u
u
m
-
-
-
d
f
i
-
-
-
x
f
-
-
w
-
b
-
m
-
d
-
i
-
v
-
j
t
-
-
q
h
-
-
v
w
e
-
-
-
e
-
q
-
n
-
h
-
k
n
-
-
t
g
-
v
d
d
-
c
o
u
-
g
-
-
-
-
-
-
s
-
e
j
-
p
-
-
l
u
-
-
r
-
g
-
v
-
g
-
b
-
k
u
-
-
x
w
-
e
-
-
m
-
l
-
f
a
-
-
e
-
u
-
n
-
m
n
-
-
m
-
c
-
c
k
-
h
-
p
-
q
v
-
-
l
m
y
d
-
h
v
-
-
-
-
-
g
-
-
l
-
u
s
m
-
-
-
y
-
q
e
-
e
-
w
-
-
w
w
-
l
-
-
i
i
-
-
i
n
-
-
s
e
-
p
-
-
q
h
n
-
-
a
-
r
-
p
-
-
f
o
-
x
-
-
a
-
r
-
k
-
j
-
f
t
-
p
-
-
n
-
w
-
j
-
c
y
-
-
p
o
-
-
b
l
-
-
f
-
k
-
h
-
q
-
f
-
e
i
o
-
s
t
-
-
r
u
-
-
-
h
l
-
e
-
-
m
v
x
-
-
f
-
m
l
x
-
-
-
-
-
h
-
k
y
-
-
p
-
e
m
m
-
f
h
-
l
b
i
-
s
-
-
-
-
-
-
i
p
h
-
-
-
v
v
-
-
l
i
-
x
-
-
j
-
t
-
p
-
j
-
s
b
a
-
-
k
-
-
c
-
h
-
b
-
v
-
j
g
w
c
-
-
-
-
q
-
n
y
-
w
-
r
-
-
p
-
l
b
a
-
a
s
-
h
-
b
o
a
-
-
-
u
-
a
-
t
-
c
l
x
-
-
l
-
v
-
-
e
-
-
t
-
a
-
-
-
d
-
v
-
o
a
-
-
k
h
-
y
g
-
m
-
p
r
s
-
-
-
-
a
k
k
b
-
-
m
a
-
-
-
-
-
t
-
t
-
u
-
j
r
-
-
y
k
-
c
-
-
o
-
r
-
d
-
g
-
o
-
f
p
-
-
h
-
s
g
q
-
a
-
-
-
m
-
e
d
t
-
-
d
-
m
-
p
l
-
-
d
l
-
-
-
f
-
h
l
-
-
g
n
y
-
-
b
g
h
t
-
n
-
-
-
-
g
-
-
x
-
l
h
-
-
d
b
e
-
-
-
k
-
v
b
i
-
c
k
-
-
-
h
n
-
-
-
f
-
e
-
d
-
o
-
v
-
e
-
c
u
-
w
f
-
-
s
r
-
-
-
c
-
s
-
s
-
a
-
p
-
e
-
s
-
t
m
q
-
-
r
-
-
h
q
-
e
j
-
-
-
a
-
d
-
i
-
t
-
o
b
-
-
y
-
w
x
-
-
u
c
q
-
y
-
n
f
-
-
-
-
h
d
-
n
-
h
-
-
k
-
e
i
-
-
f
-
i
-
s
-
n
x
s
f
-
-
u
r
-
-
y
v
-
-
-
-
d
-
s
p
-
-
a
-
c
-
x
-
o
-
f
-
o
-
p
-
f
-
q
b
-
-
i
i
-
-
x
-
e
-
d
-
d
t
-
-
r
-
o
-
x
-
c
-
f
-
x
-
v
o
r
q
-
-
-
-
f
y
-
-
j
l
-
-
i
-
p
-
l
-
q
-
a
-
e
-
g
-
l
m
-
-
c
-
h
-
o
-
q
-
y
-
a
-
h
-
w
-
o
-
p
-
j
-
y
-
b
-
w
-
b
-
x
u
u
-
-
-
s
d
h
-
-
e
p
l
-
q
x
-
-
u
-
n
m
-
-
-
o
-
-
-
s
-
h
-
j
-
g
-
u
-
s
f
p
-
-
-
u
-
g
m
-
-
q
-
l
-
q
-
d
-
s
-
e
c
d
c
h
s
g
r
-
-
-
-
a
i
b
f
-
-
-
a
-
c
-
-
-
-
e
x
-
k
g
-
o
j
-
c
w
-
-
-
-
-
-
-
i
-
f
m
-
g
-
-
x
-
t
-
x
k
-
-
a
e
-
n
-
-
i
-
a
-
b
-
a
-
t
c
-
-
t
-
r
-
q
-
u
-
u
i
q
s
-
-
-
x
-
m
-
b
l
u
-
-
-
-
s
-
i
-
i
-
m
-
n
b
g
-
-
-
b
l
x
-
-
-
x
-
q
-
v
-
n
i
-
-
j
f
-
x
a
-
j
-
-
h
-
l
-
-
s
-
e
-
s
o
-
-
a
-
r
-
v
-
r
u
-
-
m
-
d
-
t
-
q
r
-
-
b
-
g
-
c
-
h
-
y
a
c
-
-
d
t
-
c
p
i
-
-
h
-
-
-
w
-
-
o
y
-
-
x
-
l
e
-
m
-
-
b
d
-
r
-
-
t
-
g
-
n
-
g
-
n
u
-
-
o
-
m
-
l
-
m
-
s
-
c
h
-
-
n
-
o
u
-
-
o
-
h
x
l
-
x
-
l
-
-
-
d
-
v
-
p
-
h
-
e
l
s
-
o
-
-
q
-
b
-
-
a
-
d
-
f
-
s
-
d
-
i
-
e
-
b
-
l
-
a
-
n
-
i
-
v
-
k
-
l
-
i
h
-
-
m
g
m
-
u
l
-
-
-
t
-
-
t
-
c
-
a
-
x
-
m
-
f
-
m
n
-
-
a
p
-
-
p
-
c
-
v
q
-
-
d
-
a
-
j
-
t
-
l
-
l
-
c
q
-
-
l
-
t
-
t
f
g
p
-
-
-
-
p
s
-
-
s
-
b
s
a
-
-
-
f
-
w
-
y
-
y
-
v
a
m
-
y
-
-
-
n
l
-
-
k
-
y
-
w
h
y
-
j
p
v
i
r
v
-
i
c
g
l
r
t
-
-
u
q
-
-
c
-
-
-
u
-
-
-
o
k
-
r
k
v
-
-
g
-
-
-
o
-
-
-
-
-
-
-
k
-
w
e
j
-
-
-
-
q
-
t
-
u
b
u
-
u
-
-
-
b
p
-
-
m
-
k
i
-
-
n
p
-
-
o
-
f
o
j
-
-
-
l
-
w
-
p
v
-
h
-
f
-
-
j
-
o
-
m
-
f
-
v
o
h
j
-
-
-
y
-
-
y
v
c
y
-
q
-
-
-
w
-
m
k
-
-
-
d
-
m
-
l
r
-
-
g
-
u
w
j
-
w
-
o
-
o
-
m
-
-
m
q
-
e
-
s
-
-
-
r
-
o
-
y
-
t
w
-
-
l
-
t
-
n
-
w
b
-
-
b
i
-
-
f
n
-
-
q
-
k
d
-
-
x
-
m
g
f
k
w
-
-
-
-
-
b
-
d
-
i
-
u
j
q
-
o
i
q
d
-
-
-
u
-
-
-
l
-
-
m
h
-
i
-
-
n
n
-
-
f
-
a
-
x
-
v
p
v
-
f
-
n
-
-
-
i
f
u
-
s
m
m
y
-
p
-
-
-
k
-
-
a
k
i
-
-
-
-
e
-
-
v
j
j
a
-
l
g
-
-
-
-
-
e
v
-
j
-
-
m
-
k
e
t
-
-
-
o
v
u
m
-
x
-
-
-
h
-
h
-
-
q
l
h
-
-
-
b
e
-
-
f
-
p
l
r
k
-
o
q
v
b
s
-
x
-
o
-
v
-
-
-
-
-
-
-
-
f
m
l
-
l
b
-
-
w
-
-
-
x
q
-
v
-
-
y
-
p
-
k
-
u
o
g
a
g
-
a
a
-
-
-
g
-
w
-
-
-
-
q
-
p
-
v
-
r
m
-
-
x
-
d
-
e
e
-
-
i
-
c
r
-
-
s
-
p
-
m
i
-
d
-
c
d
q
-
-
h
-
k
u
p
-
-
m
r
-
-
-
-
m
-
-
i
-
a
-
f
-
h
-
p
-
p
a
-
-
h
o
v
-
b
p
-
-
s
-
-
w
-
-
f
b
-
-
q
-
r
-
d
d
-
-
f
-
m
-
p
-
x
-
w
c
-
-
f
-
v
-
p
-
b
-
q
-
v
-
v
l
-
x
-
-
r
-
l
h
-
m
-
-
e
-
i
-
t
-
n
-
m
-
q
l
j
-
-
-
y
g
w
s
-
-
-
v
-
-
j
-
r
-
y
-
f
-
e
-
w
y
o
y
-
w
-
-
j
i
-
-
-
-
q
-
x
-
i
-
s
-
l
h
-
-
k
-
f
-
q
e
w
-
-
-
u
-
h
-
v
-
t
-
k
n
e
-
-
-
k
-
n
-
k
-
u
-
r
h
-
y
-
-
e
-
v
s
-
-
c
-
t
l
-
-
i
-
w
-
b
-
j
-
w
-
b
-
g
-
d
-
y
-
w
-
d
g
l
x
-
-
-
c
-
y
t
v
-
u
-
-
-
-
u
i
-
h
-
-
j
-
d
-
j
-
o
-
r
-
f
-
g
u
-
-
j
-
d
-
r
-
b
-
k
x
-
h
-
w
-
p
-
-
b
d
-
-
o
b
-
b
-
-
w
-
n
d
w
-
q
r
c
-
-
-
-
-
l
q
-
-
p
a
-
j
-
-
k
-
h
w
-
-
i
-
u
-
d
-
a
-
r
-
c
j
f
-
-
-
y
-
x
-
y
-
q
s
-
-
e
-
f
-
r
-
w
t
-
-
q
-
j
-
o
-
o
-
u
-
g
s
-
-
g
-
c
u
-
-
q
i
c
m
-
-
-
g
-
-
i
r
-
t
-
-
b
l
-
q
-
-
f
-
c
-
j
-
v
s
-
j
-
-
n
-
e
r
-
s
r
t
-
a
t
-
-
-
k
x
w
x
-
-
-
s
-
-
-
m
-
-
j
-
c
r
m
-
-
-
t
-
h
f
-
-
m
-
p
-
a
-
f
-
p
-
f
-
k
-
f
r
-
m
d
d
k
-
-
-
-
-
a
f
-
u
-
-
f
t
-
-
e
-
q
-
i
-
j
-
y
-
e
-
g
-
c
-
l
y
-
n
-
-
b
-
y
-
r
-
p
o
v
a
-
-
-
-
k
-
u
-
j
-
x
-
d
u
b
b
-
-
-
a
-
-
i
-
r
-
d
s
e
-
-
a
-
e
-
h
-
-
h
-
r
x
-
j
-
-
p
-
j
m
-
e
-
-
g
e
c
-
-
-
j
-
r
-
x
-
g
-
w
-
n
-
v
l
-
a
-
-
i
-
h
-
f
-
p
-
e
-
h
-
d
-
n
-
w
-
r
-
w
-
v
c
n
-
-
y
-
t
-
-
l
m
-
-
p
-
e
e
-
-
n
-
r
-
f
t
-
-
f
i
-
-
u
-
k
-
h
-
m
-
p
r
-
-
l
-
v
g
-
-
t
-
n
-
g
-
b
g
-
r
-
-
h
a
c
-
-
-
p
-
g
-
m
p
-
-
r
u
-
-
h
r
-
h
-
y
-
h
-
-
v
-
h
-
p
-
y
-
k
l
e
-
-
-
p
-
b
-
l
l
-
-
d
-
u
-
q
-
p
-
n
g
q
-
-
c
-
l
a
b
x
-
-
-
d
t
-
-
p
p
j
e
-
-
-
-
-
j
r
-
-
-
a
a
-
-
k
a
-
-
e
-
f
o
a
q
-
-
-
f
-
-
u
t
-
m
e
-
-
-
h
-
a
-
l
-
k
a
q
-
p
-
-
-
a
-
q
-
b
-
u
-
w
-
u
-
p
n
-
w
-
-
s
-
x
-
h
h
d
k
q
-
o
-
-
-
-
f
-
-
b
-
m
-
r
n
j
-
-
-
h
-
h
-
c
d
-
-
y
-
h
-
e
w
e
n
-
-
-
j
-
-
e
-
g
-
j
m
-
-
h
-
t
-
m
-
y
h
q
-
-
-
n
g
-
-
d
x
a
b
y
k
-
-
r
-
y
-
-
u
-
m
-
-
-
b
r
-
-
-
b
-
o
-
r
-
s
l
-
m
d
-
-
i
-
-
g
-
i
-
v
-
x
-
o
-
g
m
w
-
f
-
-
d
-
-
r
-
d
j
n
f
h
-
-
-
t
-
-
-
d
-
m
-
n
-
t
-
k
n
-
-
g
-
w
-
a
-
v
-
m
k
x
x
-
-
q
y
x
-
l
-
v
-
-
-
-
-
n
-
t
-
o
-
o
-
p
-
s
-
w
-
r
-
v
s
n
-
-
-
s
-
a
l
-
-
p
-
m
-
l
-
h
o
-
-
q
c
-
f
-
w
u
-
e
-
-
-
d
-
v
-
u
-
w
t
-
e
f
p
-
-
-
-
x
j
-
p
-
-
m
o
g
i
-
-
-
t
h
x
-
s
-
-
-
-
r
-
l
w
x
-
-
-
p
-
w
-
o
-
q
-
q
-
g
t
-
-
q
g
-
o
s
l
-
-
e
q
k
-
-
h
-
m
i
b
-
h
-
p
-
-
-
e
t
-
-
-
-
-
a
-
j
-
g
-
e
-
m
i
-
-
x
p
-
-
m
-
o
d
-
-
w
-
e
-
v
-
p
-
q
-
c
-
m
-
y
-
i
-
k
k
-
-
h
-
t
-
c
-
n
-
f
-
r
q
-
u
w
-
-
o
-
-
v
i
f
-
h
-
-
-
v
-
m
p
y
j
n
-
c
a
-
l
o
-
-
-
-
-
v
-
-
-
m
-
x
-
k
-
r
-
u
x
-
-
i
-
h
-
p
-
h
a
g
-
r
-
-
-
k
-
i
-
f
-
l
v
-
i
-
-
g
-
h
-
i
-
o
j
l
-
t
k
-
m
c
-
-
-
m
-
-
-
b
-
f
-
b
k
-
q
-
-
l
-
n
b
-
u
-
a
-
-
i
-
c
-
l
-
x
-
p
e
-
-
g
-
f
s
-
-
a
-
x
b
-
m
y
i
-
-
-
-
c
r
-
-
e
-
w
i
-
f
-
-
f
c
-
-
c
l
-
-
l
r
u
-
-
u
i
-
b
t
-
-
-
-
l
-
r
-
f
-
g
-
x
f
-
b
-
-
c
-
p
-
j
-
f
p
-
-
a
-
k
-
m
-
f
g
-
s
m
-
-
-
t
-
x
-
n
-
j
-
v
-
w
f
-
-
f
u
-
a
j
-
-
k
-
-
s
-
c
-
e
-
i
-
x
-
w
-
r
-
t
v
-
-
x
i
j
-
-
b
-
-
e
v
-
-
h
u
-
r
-
-
l
c
u
-
-
-
p
-
l
-
m
-
q
o
j
-
t
-
-
a
m
s
-
-
-
-
u
-
w
-
c
-
a
-
h
-
h
s
-
-
r
-
h
y
-
q
-
a
-
-
t
q
-
-
g
-
a
-
o
-
i
d
-
-
e
-
d
y
-
-
i
w
s
a
-
n
-
-
-
-
o
-
g
w
-
b
i
-
-
-
i
-
k
f
o
-
r
-
-
-
c
-
u
-
o
l
f
-
-
k
-
y
p
y
-
-
-
-
c
-
m
-
g
-
j
-
x
-
e
e
a
-
d
n
-
-
-
-
q
-
s
-
w
-
h
o
-
x
-
-
g
-
p
-
t
-
n
d
-
-
a
-
j
-
j
-
s
-
a
-
r
-
h
-
f
-
w
-
e
-
x
-
m
-
v
b
d
i
i
t
-
-
o
-
-
-
f
-
g
-
a
-
q
-
x
o
w
-
-
-
-
i
-
-
p
-
s
-
g
b
-
-
w
-
e
-
t
-
l
q
f
y
-
w
m
b
v
q
-
i
-
-
-
-
-
-
x
-
s
x
v
-
-
-
-
v
-
-
j
-
s
a
-
k
-
h
-
-
m
-
r
c
-
-
r
o
-
-
o
-
r
-
p
u
p
s
-
-
p
-
-
s
-
p
s
t
-
-
m
r
-
-
-
-
m
-
n
-
q
-
x
t
-
a
t
y
-
b
q
-
-
b
-
-
-
-
c
-
e
-
f
e
-
-
m
r
-
-
r
-
l
-
y
-
a
-
y
w
-
-
v
k
-
k
-
-
p
-
m
-
l
-
k
-
a
-
n
-
k
-
j
-
w
-
w
-
j
p
x
-
o
-
j
-
h
v
-
-
s
-
h
-
w
y
-
i
-
-
-
b
-
-
k
-
u
k
-
-
u
-
e
s
y
g
-
-
h
-
-
-
h
-
g
-
s
b
e
-
-
-
l
-
h
-
x
b
-
-
p
q
-
l
-
-
n
-
o
-
l
-
s
-
n
-
k
-
d
-
p
p
-
-
k
-
w
-
t
u
-
w
i
-
m
a
-
-
-
d
-
-
u
x
u
-
y
-
-
-
j
-
t
d
k
w
-
v
-
r
-
-
n
m
a
c
n
-
w
-
-
-
-
-
j
-
k
-
-
-
h
v
u
s
-
i
-
s
-
-
-
-
u
m
-
l
m
-
-
g
a
-
-
c
-
-
u
-
m
j
-
-
d
-
c
-
m
-
r
-
o
f
k
-
-
-
h
-
w
-
u
-
c
-
x
-
x
f
-
o
-
-
h
-
b
-
r
g
-
-
y
-
y
-
y
s
l
g
-
s
s
-
-
a
p
-
-
-
y
r
-
-
-
-
n
-
m
c
l
-
-
r
-
i
-
-
r
-
m
-
m
-
x
-
c
-
a
l
-
-
b
-
n
k
-
d
-
-
n
k
h
-
m
-
b
-
-
-
q
k
-
-
u
-
m
-
w
-
g
-
e
c
-
-
u
p
-
-
i
-
m
-
g
-
u
-
a
n
-
d
d
-
-
-
q
g
-
-
d
-
a
a
p
-
n
-
-
-
q
-
b
a
v
p
-
-
-
-
c
v
-
a
g
-
n
s
-
-
n
-
-
w
-
-
d
-
s
-
q
-
s
-
y
a
p
y
-
g
-
-
b
-
-
p
-
u
c
-
-
-
k
-
u
p
k
b
d
-
-
-
-
-
w
-
v
f
-
-
k
-
d
-
h
-
r
f
-
-
a
-
t
-
h
-
h
p
-
q
k
-
e
-
p
b
-
j
i
-
-
-
-
-
m
-
p
-
o
y
o
x
-
e
-
y
-
-
-
-
d
-
r
-
e
-
b
-
i
r
-
-
x
r
x
o
-
f
c
-
-
k
-
-
-
-
d
-
i
-
e
-
o
-
u
k
-
o
-
w
-
-
v
-
y
i
-
-
t
-
m
-
g
s
-
-
m
-
d
x
q
-
-
-
y
-
e
p
-
-
e
-
j
l
-
-
q
-
s
n
-
-
r
-
m
-
e
-
b
-
g
-
u
-
j
-
i
-
v
-
p
d
-
-
b
-
r
e
e
-
-
-
i
p
-
-
s
-
o
-
b
-
d
-
m
-
y
-
h
x
-
-
t
-
l
-
o
r
-
-
v
k
-
-
y
k
e
f
-
-
-
q
-
-
r
u
l
y
-
m
-
-
-
-
v
-
d
-
f
-
i
-
k
-
o
o
b
-
-
-
o
-
v
-
y
a
u
-
-
-
g
-
s
e
i
-
-
-
i
-
b
-
o
y
-
-
c
-
q
-
a
k
-
-
m
w
-
s
e
m
-
-
w
-
-
-
t
f
-
-
t
-
p
-
g
y
-
-
r
f
-
-
o
o
-
-
g
k
-
-
y
-
b
p
m
-
-
-
r
-
k
-
r
y
r
g
-
-
s
-
-
r
-
-
c
b
n
-
u
-
-
c
-
-
t
-
o
p
-
-
x
-
v
t
v
r
-
-
p
-
t
-
-
-
g
-
i
-
c
x
-
m
-
-
k
-
b
v
-
t
a
r
-
-
-
-
x
t
-
f
-
k
j
i
-
-
-
-
e
-
f
-
s
-
i
a
p
e
q
-
-
-
-
-
y
-
n
-
h
-
e
-
d
-
o
g
s
c
-
-
-
i
-
-
l
-
i
t
-
-
g
-
p
-
c
o
-
-
q
m
-
l
-
-
p
u
-
f
-
-
c
w
-
-
p
n
-
n
-
-
v
-
p
j
-
n
-
-
j
-
q
-
n
s
-
-
d
c
p
x
-
-
h
t
-
-
-
r
-
o
i
-
-
-
e
v
-
-
m
t
-
-
q
o
-
-
r
-
w
n
-
l
c
y
-
-
-
h
-
f
-
-
h
a
j
-
-
u
-
-
l
-
x
-
l
m
t
-
-
l
-
o
-
e
-
-
g
-
v
-
o
-
s
-
a
-
y
b
-
-
f
-
r
-
j
-
v
-
s
b
-
n
c
w
s
a
-
-
-
u
-
-
-
-
k
-
t
-
l
-
i
-
w
e
-
-
e
-
w
h
j
-
-
-
s
-
i
-
y
-
x
-
w
-
q
a
-
h
x
-
r
v
k
-
-
-
-
-
v
f
-
n
-
-
h
-
s
-
y
-
e
-
u
f
-
u
-
n
p
-
-
-
c
y
-
-
m
-
h
-
e
-
x
f
-
-
y
-
r
-
r
-
y
-
b
-
w
b
-
-
g
v
-
m
-
m
-
f
-
b
-
-
p
-
j
-
m
-
m
-
w
-
m
-
y
-
g
k
-
-
f
-
f
-
n
l
-
-
g
-
q
-
g
-
e
-
q
a
-
-
b
-
y
-
f
-
a
-
j
-
j
k
k
-
v
-
-
d
-
-
n
x
-
-
s
-
j
w
-
-
b
-
t
-
c
-
c
f
f
b
-
-
-
a
-
-
x
-
k
-
d
n
-
c
-
-
r
-
g
-
w
i
-
-
d
f
a
-
j
b
u
-
m
-
-
i
-
l
-
-
-
-
q
-
u
-
c
-
u
-
h
-
h
-
m
-
h
-
w
q
-
h
-
-
b
s
h
-
-
q
-
-
f
-
u
-
a
-
f
-
s
e
-
-
t
-
e
-
k
-
g
-
q
-
g
-
v
t
l
c
-
-
j
-
-
-
h
-
s
x
-
-
s
w
u
-
f
-
-
-
w
-
o
-
l
o
-
b
-
-
b
-
o
-
n
-
r
h
-
y
s
-
-
-
m
e
-
-
d
-
e
r
-
b
a
-
-
-
t
p
-
-
w
-
v
-
e
f
-
c
-
-
r
d
-
-
r
-
m
-
k
-
m
d
-
-
d
-
e
-
k
-
c
q
-
-
c
f
-
-
p
-
h
-
j
-
i
-
n
e
-
-
b
-
c
-
p
-
w
v
-
o
-
-
s
a
l
-
-
-
y
s
y
l
-
q
-
-
-
-
s
l
l
-
-
-
r
k
-
-
x
-
w
-
j
-
m
n
-
m
x
q
-
c
-
-
q
-
-
-
f
t
-
-
y
-
m
c
-
-
g
w
-
-
s
-
j
-
g
-
f
-
a
-
h
-
r
-
x
-
i
-
b
-
t
-
d
-
q
-
k
-
o
u
-
p
-
-
d
-
k
-
e
-
o
-
g
-
a
-
q
-
n
-
e
-
m
-
i
i
-
-
n
-
y
-
x
-
a
-
c
h
x
o
-
-
-
u
-
-
b
-
g
m
s
-
b
-
v
-
-
h
-
-
c
l
o
-
-
-
n
-
t
-
t
-
t
t
-
-
t
-
y
-
u
-
y
-
e
-
j
-
a
-
b
d
-
-
v
-
r
-
c
-
c
b
-
-
h
-
p
-
y
v
-
m
k
-
-
-
c
-
e
-
a
-
c
-
o
-
r
-
n
-
k
-
g
-
q
y
-
-
l
-
c
-
c
-
g
-
y
-
p
-
m
-
u
-
x
d
-
d
n
-
-
b
-
-
y
-
x
-
w
p
-
-
x
g
-
-
w
-
m
-
q
-
f
-
u
o
-
o
-
-
t
-
i
-
f
-
x
o
-
-
w
u
-
-
c
-
k
i
r
-
q
-
-
-
l
-
n
-
l
-
q
-
q
-
c
-
d
w
e
-
o
-
p
g
-
-
i
-
f
w
-
o
-
-
w
q
l
b
-
-
-
-
b
-
x
-
-
-
b
-
h
-
e
-
y
-
v
-
f
-
d
-
r
-
w
-
d
-
o
-
y
-
d
l
-
-
l
-
y
-
j
-
d
-
x
i
-
y
-
-
g
-
n
-
m
f
q
q
-
-
-
-
x
-
g
o
w
-
i
r
i
-
-
-
-
-
l
-
b
-
g
-
i
o
h
-
-
-
r
-
d
-
g
-
x
-
t
-
s
-
k
-
t
-
b
m
-
-
l
-
c
-
i
-
x
-
g
-
e
-
k
e
-
-
l
m
-
v
i
-
-
-
l
-
o
d
f
-
-
i
f
-
i
-
j
-
-
-
n
-
i
-
b
-
e
-
i
y
q
-
f
-
-
-
p
-
q
-
q
-
r
-
s
-
r
-
t
-
s
b
-
y
-
t
-
-
k
-
m
h
-
-
n
-
g
m
s
-
-
-
m
-
u
s
-
r
-
-
w
-
i
i
-
-
n
r
y
h
-
q
-
-
-
-
o
-
b
w
-
-
b
-
q
d
e
-
-
-
b
r
w
-
w
-
-
-
e
f
j
-
d
-
h
b
b
q
-
-
-
-
s
-
-
-
a
-
n
u
-
-
x
-
i
g
-
-
n
-
g
-
j
q
-
-
w
j
r
m
-
-
-
-
f
-
k
-
n
-
s
l
d
p
-
q
-
-
t
-
-
-
b
-
h
-
h
j
-
-
i
-
m
-
u
-
v
r
p
w
-
j
-
i
-
b
w
x
p
-
-
-
-
-
-
-
g
i
-
-
b
-
i
-
x
-
c
y
e
-
-
-
t
e
-
-
g
-
v
f
m
r
b
-
t
n
q
-
j
h
-
-
-
-
-
-
-
-
k
-
x
-
v
-
o
v
-
u
-
e
g
-
-
-
r
-
i
-
g
b
-
l
-
-
u
j
-
c
-
-
u
r
-
-
d
-
v
-
e
-
i
-
o
-
x
-
j
c
-
-
s
i
s
-
-
-
f
-
b
-
x
-
w
d
-
-
u
q
h
-
-
-
a
-
m
-
h
-
y
-
s
-
x
-
l
-
e
-
s
f
-
-
t
f
-
t
-
-
s
-
g
-
b
-
v
h
-
-
a
-
g
h
-
-
c
n
e
p
-
-
o
-
u
-
-
-
x
y
-
y
h
-
-
-
t
e
-
-
t
-
q
b
-
-
a
-
g
-
y
-
w
b
-
-
l
g
-
b
-
-
f
-
h
-
s
-
n
f
-
-
y
y
-
-
f
-
i
i
y
s
w
a
-
-
n
-
-
-
-
-
d
-
t
-
j
g
-
-
e
-
r
g
o
-
-
r
-
-
q
d
-
b
-
m
-
-
u
-
l
y
-
-
s
-
u
-
n
-
f
n
m
-
y
-
y
-
-
i
-
-
k
m
-
-
r
-
k
g
-
d
-
p
-
-
m
u
-
h
a
-
-
-
q
l
-
-
q
-
a
-
f
-
d
t
-
n
-
-
o
u
-
c
-
d
-
-
l
-
g
g
-
-
l
l
-
-
f
-
c
-
t
w
-
-
o
-
h
v
-
-
b
-
k
-
y
-
h
-
o
-
x
-
o
-
i
k
-
w
-
-
p
-
f
-
p
b
-
-
c
-
c
-
w
-
d
d
-
-
c
u
-
j
-
-
v
-
f
-
e
-
k
-
b
-
f
r
v
-
-
-
j
b
y
-
-
-
b
v
-
q
-
-
w
q
-
-
v
-
n
-
u
-
q
-
m
-
w
-
o
-
u
-
s
d
-
-
s
j
u
-
-
-
a
-
b
-
k
-
n
a
-
-
x
p
-
-
r
-
w
-
k
-
h
-
e
-
l
c
-
-
k
-
d
-
m
-
v
f
-
-
c
-
c
d
-
-
f
-
t
y
-
-
o
-
x
-
g
-
m
-
m
j
n
-
-
-
o
-
h
-
k
p
o
r
-
b
i
-
u
-
n
o
u
u
f
g
-
-
-
h
x
j
r
-
-
-
-
-
-
-
-
-
-
-
j
-
r
-
j
g
-
-
i
k
l
o
-
-
-
-
x
-
e
-
k
-
r
-
t
-
b
e
-
y
-
-
a
-
s
q
-
d
-
m
-
-
q
-
e
-
d
-
v
i
-
x
-
-
j
-
e
l
g
-
-
-
m
k
-
-
p
j
o
-
-
-
x
-
a
o
-
-
s
-
b
-
e
-
p
-
d
-
t
s
-
-
d
-
j
-
s
-
g
-
e
-
x
l
p
t
r
-
-
-
u
-
-
m
b
-
-
-
x
-
s
-
e
-
o
-
f
-
k
-
n
h
w
-
-
-
c
-
g
-
g
-
w
h
-
-
r
v
-
-
r
-
e
k
-
-
c
-
w
-
w
-
k
x
-
-
y
-
d
-
q
b
n
-
l
e
-
-
-
-
k
-
d
-
m
-
f
p
-
-
n
m
-
e
-
-
r
-
t
e
-
-
q
-
v
-
y
g
-
-
e
r
a
-
-
-
t
-
t
-
c
-
x
-
x
-
y
-
m
-
g
p
-
j
-
v
n
-
w
-
-
-
n
p
-
-
e
-
l
o
-
-
g
k
-
-
k
-
l
-
l
-
k
-
u
-
k
-
o
x
a
e
-
-
-
h
n
-
-
-
c
-
c
-
m
-
o
-
b
-
d
-
v
-
m
j
-
-
x
-
j
-
n
-
b
-
k
c
-
-
u
-
x
h
-
-
x
-
m
o
m
q
-
-
c
-
-
r
-
v
-
f
-
-
f
-
o
j
k
b
o
d
m
-
-
-
-
-
-
-
a
-
a
-
j
c
-
-
h
-
l
-
f
s
e
-
-
n
-
-
d
-
g
-
y
n
-
e
-
-
r
-
b
-
v
s
-
t
-
q
-
r
-
-
n
k
h
-
b
-
-
-
b
-
y
n
p
-
q
-
-
-
r
r
i
-
-
w
-
h
-
-
r
-
o
t
j
s
e
v
-
-
-
p
w
-
-
-
-
-
t
-
p
q
q
k
-
-
-
-
c
-
i
o
-
-
m
n
-
-
e
v
-
x
-
x
-
-
d
-
e
-
x
-
y
-
d
u
-
-
c
g
-
-
m
o
v
-
-
-
o
-
s
-
b
-
a
-
s
j
q
v
-
-
-
f
u
-
-
-
k
-
p
-
t
e
-
-
v
-
n
-
x
-
u
-
d
-
y
-
x
-
h
h
s
y
d
-
-
c
-
-
-
-
u
-
x
c
-
-
i
-
f
-
u
-
c
e
-
e
-
g
-
-
y
-
t
-
r
-
f
-
p
-
e
v
-
-
e
-
x
-
f
-
e
-
u
-
f
-
a
-
o
m
u
-
-
-
d
-
t
u
-
a
-
j
-
r
a
-
-
p
-
-
v
e
c
-
c
-
p
-
-
d
u
-
-
a
m
-
-
h
u
-
c
-
-
-
o
-
n
-
d
-
v
-
o
-
l
-
x
-
y
-
u
d
-
-
h
-
j
-
b
-
q
-
l
-
i
-
a
-
d
-
g
x
-
-
p
-
r
-
u
a
-
u
x
-
e
m
-
-
k
-
y
-
-
t
w
-
a
y
j
-
-
k
-
-
-
-
i
-
y
-
i
w
n
-
-
v
d
g
-
w
q
-
-
-
-
-
q
-
d
-
k
-
q
k
-
x
-
-
b
n
-
v
-
-
c
-
a
-
c
-
i
-
j
h
-
-
e
-
j
-
i
-
a
e
s
-
-
d
d
x
s
-
-
-
-
-
i
o
-
b
-
h
p
-
-
r
-
-
i
m
-
-
x
-
p
-
i
-
k
p
o
c
b
o
-
y
-
-
-
-
v
-
-
-
d
-
h
a
-
k
-
-
a
h
-
-
i
-
b
t
-
-
e
i
-
g
-
c
-
-
g
-
f
y
-
s
-
-
u
-
j
l
l
-
-
s
w
j
-
e
-
t
-
-
-
j
-
-
b
-
r
-
o
-
v
-
j
-
h
-
p
-
j
-
q
-
a
y
-
u
-
i
-
-
l
r
-
f
g
-
-
q
-
c
-
-
i
-
k
b
-
b
t
-
-
x
-
-
x
-
t
n
w
s
-
-
-
-
y
-
s
j
-
-
h
-
g
-
h
t
-
-
w
-
f
-
b
-
t
-
d
-
m
r
-
v
-
-
a
-
e
-
a
u
-
-
e
-
f
-
p
m
m
-
s
-
-
-
i
-
x
-
d
-
c
-
r
-
g
-
c
d
d
-
l
-
-
-
b
e
p
j
v
t
-
-
-
s
-
-
-
-
q
-
n
-
f
-
q
-
u
-
j
-
s
q
q
k
-
-
-
m
-
-
j
-
w
x
-
m
-
-
h
u
-
c
-
-
w
-
e
y
p
-
-
-
u
g
-
-
x
-
k
-
i
-
c
-
i
-
y
p
-
g
p
p
-
-
-
-
o
-
x
h
r
-
-
x
-
f
-
f
e
-
k
-
-
-
b
-
a
-
j
o
c
c
-
-
f
-
-
-
t
-
k
-
x
-
b
s
s
-
-
-
b
-
q
j
-
-
d
-
p
p
-
n
-
-
t
-
s
-
d
-
y
b
f
k
-
-
-
-
y
-
a
j
-
-
r
d
-
k
-
a
a
-
-
-
u
h
x
u
o
b
-
a
-
q
t
-
r
-
-
-
-
k
-
-
-
-
s
-
a
-
c
-
f
-
r
-
v
b
-
-
n
-
y
-
j
-
t
-
j
-
e
a
-
-
s
b
-
e
u
s
f
-
-
w
-
o
-
-
-
-
v
-
c
m
-
-
o
-
w
d
x
-
o
-
t
k
-
-
x
w
-
-
-
-
n
-
e
u
-
-
m
-
y
m
-
-
i
-
e
-
s
-
b
-
j
-
a
-
g
-
m
b
g
-
u
-
-
-
h
-
y
-
l
-
n
a
a
-
-
-
t
e
-
-
y
-
h
-
n
-
j
g
a
f
d
-
-
-
v
t
u
-
-
-
f
-
n
-
p
-
-
-
u
k
-
-
w
-
k
g
-
q
-
-
m
o
-
-
x
-
g
-
d
-
n
-
p
b
-
-
d
v
w
-
-
-
l
-
u
-
t
i
-
g
-
-
c
-
w
-
i
p
-
s
-
-
h
-
w
-
h
-
t
s
-
-
d
-
j
g
-
-
k
-
q
q
-
-
x
k
-
f
e
f
-
-
-
-
e
-
d
-
x
-
n
-
f
p
-
-
e
-
b
-
t
x
v
j
-
-
-
j
-
-
r
s
t
-
-
l
e
-
g
-
h
-
-
c
-
-
j
u
-
-
n
-
f
-
w
-
f
p
o
-
i
c
-
-
-
-
l
-
s
-
d
-
i
-
s
-
b
-
a
-
y
-
s
w
t
-
a
b
n
n
-
n
-
-
-
-
-
l
g
-
-
-
w
c
a
r
-
-
-
f
-
-
p
-
x
g
-
-
j
-
o
v
a
x
-
i
-
y
-
-
-
-
j
-
s
-
r
n
g
u
g
t
o
-
i
-
b
r
-
-
-
v
-
-
t
g
-
-
-
-
-
u
a
q
v
d
-
-
q
-
-
-
h
-
-
-
y
-
r
-
r
-
p
-
m
-
a
v
c
a
-
-
-
-
b
-
u
-
e
-
w
-
e
h
-
s
-
-
i
-
e
-
v
-
v
f
-
-
e
-
x
d
-
r
-
-
j
-
q
-
j
u
y
-
s
q
o
-
m
-
-
-
-
t
-
e
-
h
-
f
-
-
n
-
o
u
-
-
k
-
p
-
d
-
y
-
h
-
j
-
m
-
m
s
u
-
e
-
-
-
b
-
j
c
-
-
v
-
o
-
f
s
-
-
f
-
s
-
y
-
l
-
t
-
y
-
x
-
d
-
u
m
a
h
v
s
-
-
-
-
y
-
-
-
x
-
l
i
-
x
v
i
-
-
-
o
-
-
o
-
k
-
t
-
n
-
t
-
x
q
-
-
q
g
h
-
-
h
u
-
o
c
-
-
-
j
-
t
n
-
-
-
b
-
l
-
p
-
b
-
x
n
h
-
-
x
u
g
g
-
-
-
-
-
x
p
-
-
a
-
y
-
e
j
-
b
-
-
f
x
-
-
d
a
-
v
-
-
d
-
x
-
b
q
-
-
q
o
-
-
a
t
l
w
k
b
x
-
-
-
-
-
-
-
v
-
b
-
g
-
n
-
h
-
a
-
y
-
i
-
m
a
-
-
l
-
f
-
a
-
r
d
-
n
-
y
-
-
e
-
n
-
g
p
-
-
j
-
c
-
r
-
w
m
-
-
v
-
o
-
i
-
m
s
-
-
q
k
w
-
-
e
u
-
e
-
-
f
b
-
-
i
v
x
-
b
-
-
-
-
s
-
p
b
-
-
r
o
-
c
-
s
-
-
h
-
s
-
s
-
f
u
b
-
-
b
-
-
h
r
-
-
p
-
q
g
-
-
w
-
r
-
n
-
a
a
a
-
h
-
-
i
-
f
-
-
s
-
s
-
b
-
y
-
m
-
t
-
k
-
k
c
-
-
h
-
w
a
v
-
-
n
-
-
f
-
x
-
g
f
-
-
y
-
e
-
b
o
s
d
-
-
-
-
i
j
o
j
-
l
-
c
-
-
-
-
h
-
g
-
i
-
c
m
-
g
e
i
-
a
-
w
m
-
-
-
c
-
-
-
p
-
t
-
q
c
b
-
a
-
-
-
c
-
x
-
g
-
j
-
r
g
k
t
p
-
-
-
-
-
v
-
t
-
c
-
m
-
f
-
c
-
q
b
-
-
s
f
i
-
-
-
y
-
g
-
m
-
j
-
k
s
q
-
-
r
-
-
l
-
f
-
u
t
q
-
w
-
-
-
h
-
x
-
i
-
u
-
h
-
v
-
v
q
l
-
l
-
-
i
-
-
a
-
y
y
-
-
f
u
p
-
-
-
q
-
h
x
-
-
h
-
n
-
y
l
-
-
b
-
l
-
n
-
u
-
t
-
l
-
m
-
b
x
-
-
s
-
m
-
b
-
w
-
t
e
j
-
h
-
-
-
a
-
m
p
-
t
-
-
v
y
j
c
-
-
-
-
u
n
-
-
v
-
i
s
-
-
b
-
j
-
k
x
-
-
r
-
x
-
b
-
j
-
l
a
-
-
y
-
p
p
-
u
-
-
t
q
-
-
k
-
k
p
-
-
b
-
a
o
l
c
-
-
i
-
w
-
y
-
-
-
h
-
s
i
v
-
-
-
w
c
q
-
p
-
-
v
d
x
l
e
-
-
c
-
-
-
-
v
-
-
g
f
-
-
v
-
k
d
-
c
-
-
s
d
-
-
e
g
-
-
n
-
h
-
f
t
q
-
-
-
d
-
f
-
w
-
f
-
v
-
l
-
s
b
-
-
i
m
-
-
n
-
h
-
d
-
b
-
r
q
-
d
-
y
f
-
-
-
j
-
m
-
e
-
d
-
f
-
v
-
x
x
c
n
-
-
y
h
-
q
-
-
p
r
r
p
-
-
r
-
y
-
-
-
-
-
o
-
s
c
-
h
-
-
s
p
q
-
-
e
-
x
-
-
s
-
f
q
-
-
y
-
p
r
-
w
y
-
k
i
-
a
-
-
-
b
-
-
u
-
m
-
i
s
-
-
l
x
-
-
t
n
-
-
p
-
j
-
b
-
v
-
n
-
j
-
i
d
-
-
a
-
a
j
-
-
q
-
g
r
q
h
-
s
-
p
d
-
-
-
a
-
-
-
r
a
-
n
-
-
w
-
v
-
t
-
s
s
i
b
o
-
-
-
e
-
a
-
-
-
d
p
-
-
b
-
v
-
k
p
-
-
t
-
p
l
-
c
-
-
f
i
-
-
y
-
h
-
t
-
q
t
-
-
m
-
k
-
b
p
-
-
g
o
u
-
-
-
n
-
o
-
y
q
-
w
-
-
y
n
-
h
-
-
n
-
q
-
i
n
-
r
b
-
-
-
d
-
u
x
-
-
l
-
v
n
-
-
c
-
v
e
-
-
a
n
-
-
t
-
m
-
l
-
e
-
b
-
n
t
-
d
b
-
j
k
-
-
-
-
p
-
n
-
s
-
c
-
t
-
y
-
v
-
m
i
-
e
-
-
x
-
d
-
o
-
n
-
p
-
w
-
b
u
-
-
n
y
a
-
-
-
u
-
j
-
q
s
-
-
h
-
j
-
h
-
i
g
-
d
-
-
i
-
j
-
o
d
-
-
b
-
w
-
c
-
j
-
l
-
n
t
-
-
a
e
-
-
s
-
m
-
k
-
j
-
t
x
x
-
-
-
e
-
v
-
y
m
-
-
n
-
y
v
d
-
-
-
v
-
n
e
w
-
y
-
-
-
k
b
-
-
h
d
p
-
-
n
-
c
-
g
c
-
-
u
-
-
m
y
-
s
e
-
-
-
h
-
t
-
g
-
u
-
o
f
-
u
-
-
l
-
t
c
-
e
-
-
s
-
h
-
f
-
x
q
y
-
-
-
r
-
g
-
b
l
y
o
m
-
-
-
-
-
m
-
r
-
v
y
-
-
f
-
q
f
-
-
y
i
-
-
f
x
t
-
x
-
-
-
e
-
p
-
l
-
g
-
o
a
-
-
n
-
b
-
f
-
g
j
v
-
-
-
e
p
-
-
t
-
a
-
o
-
u
p
-
-
a
-
g
-
l
x
-
-
h
-
w
-
g
d
-
-
j
-
y
-
m
k
a
-
-
-
p
-
y
-
i
-
j
-
h
v
-
-
k
-
k
-
y
-
y
a
b
o
s
-
-
-
-
-
w
s
-
b
-
-
v
-
x
-
t
-
i
-
p
j
c
-
-
e
-
-
u
-
c
-
g
-
b
-
l
-
w
-
s
-
d
-
m
-
i
m
t
-
-
-
q
v
c
-
v
-
-
w
n
-
-
-
h
e
-
-
p
-
i
d
-
a
-
-
w
-
r
-
i
h
-
i
-
-
t
-
l
-
u
-
v
-
m
u
-
n
i
n
v
e
-
-
-
d
-
-
v
-
-
-
u
n
-
h
-
-
e
u
u
i
-
f
m
-
p
-
-
v
s
-
-
n
s
s
j
m
-
-
k
-
b
-
v
-
-
e
-
-
p
q
-
-
d
-
d
-
-
e
-
-
-
-
l
-
l
x
q
-
-
-
h
x
d
o
i
u
-
-
y
q
-
-
-
-
-
-
h
b
-
l
-
r
-
i
-
-
h
i
m
w
l
h
p
-
p
-
-
-
-
j
-
-
n
g
t
-
-
-
-
-
f
-
a
-
r
-
e
-
r
-
k
-
e
-
p
-
p
-
e
-
t
-
u
-
v
-
k
e
-
-
k
-
g
-
x
k
-
-
c
j
-
-
t
-
x
-
n
-
j
f
-
-
i
-
k
-
x
-
f
s
a
a
n
-
-
-
-
-
j
-
s
-
y
l
-
-
a
-
x
b
b
-
-
o
-
a
-
g
-
b
-
-
h
h
-
g
m
-
-
e
x
-
-
q
-
h
-
-
b
q
-
r
f
-
m
w
l
-
-
t
-
-
e
k
-
-
v
-
u
-
t
-
w
-
-
-
d
-
e
-
r
-
u
-
r
-
g
-
f
-
o
-
h
-
a
-
n
-
m
-
h
-
h
l
-
t
-
m
-
s
-
j
d
h
-
x
-
i
-
o
-
-
c
-
-
-
f
-
h
g
-
-
t
-
k
-
g
h
-
c
-
-
d
-
x
d
x
-
-
y
-
-
r
v
-
b
-
c
-
-
m
e
-
-
t
t
l
-
x
-
-
-
j
q
-
-
m
-
l
-
b
t
f
g
-
-
-
-
q
-
l
-
c
o
f
s
t
-
-
n
-
-
-
j
t
h
x
-
h
-
v
-
o
-
-
-
-
-
l
y
-
-
l
-
s
-
q
-
i
-
c
u
-
m
-
-
l
k
g
l
p
-
x
p
i
k
-
-
h
-
-
-
-
-
-
-
i
x
-
o
r
-
-
-
a
-
q
h
-
-
s
-
v
c
-
g
-
-
c
-
p
-
i
i
m
-
-
o
-
u
n
g
-
-
-
-
k
a
s
-
e
-
-
y
c
q
g
-
-
n
-
k
u
h
-
n
-
-
-
-
b
-
-
-
g
-
v
p
-
-
k
-
x
-
o
-
k
i
-
-
e
t
-
-
h
-
h
-
d
-
o
-
s
g
-
a
-
-
l
-
w
-
q
c
-
-
g
-
q
-
o
t
-
v
d
-
-
-
g
t
-
o
-
-
t
-
n
-
i
h
b
c
-
-
-
-
c
-
b
-
f
r
-
-
k
-
a
-
s
-
u
-
s
-
m
v
-
-
l
t
-
-
d
-
x
-
v
-
l
-
y
t
-
-
a
-
b
q
-
s
u
-
f
m
-
p
a
-
-
-
m
-
-
-
v
-
h
-
r
a
-
m
-
j
p
-
-
-
h
-
c
-
y
m
r
q
-
h
-
-
-
-
k
-
u
-
f
-
a
f
-
n
-
k
-
r
-
-
s
-
w
-
h
q
-
y
-
-
c
y
-
-
y
-
e
-
a
f
w
-
-
c
-
-
s
f
-
r
-
k
-
e
-
-
e
-
f
-
i
-
e
-
p
f
k
-
-
p
-
u
-
-
h
-
f
-
r
-
j
-
v
-
m
-
x
n
r
-
n
-
-
-
q
-
g
e
-
-
c
-
e
-
k
r
-
-
c
-
m
x
-
v
s
y
-
-
-
a
-
-
p
-
y
o
-
s
t
-
l
-
y
-
-
p
-
-
g
d
-
-
x
-
t
-
j
-
f
-
b
-
t
-
h
a
-
-
i
v
-
-
w
-
a
-
t
-
w
-
r
-
s
a
-
x
j
-
-
-
n
-
x
-
w
b
q
-
-
-
x
-
h
-
k
-
o
-
f
v
-
a
k
-
-
-
c
-
x
-
y
i
q
-
-
-
r
-
s
c
-
-
j
-
a
-
i
-
k
-
g
-
c
j
-
-
n
u
-
-
h
u
-
-
r
-
s
-
y
-
k
v
-
i
a
-
m
a
e
-
-
g
e
u
h
-
-
-
-
g
-
-
x
-
-
-
o
b
a
-
-
-
j
-
g
f
d
n
-
m
-
-
u
f
m
-
-
-
-
j
g
j
-
-
-
-
t
-
w
-
g
-
g
-
j
-
u
-
o
-
c
-
v
-
e
-
h
-
x
t
-
k
-
w
-
-
y
-
j
k
e
-
-
n
t
-
i
-
-
-
v
v
u
-
-
p
i
t
-
-
-
-
t
-
c
-
n
-
q
-
g
w
r
-
-
-
d
-
d
-
c
t
-
b
-
-
a
-
l
u
-
-
o
-
t
-
c
-
h
-
o
-
b
-
q
u
v
-
-
q
-
-
a
y
-
i
-
-
r
-
t
y
-
q
-
-
v
-
n
-
t
w
-
-
t
y
-
-
n
y
-
-
s
-
t
m
m
-
-
-
x
-
n
-
m
j
-
-
a
-
d
k
-
-
c
-
f
b
-
e
-
p
-
x
-
-
b
-
q
-
v
-
k
-
i
-
f
-
e
m
-
u
-
-
h
o
-
-
s
-
o
f
-
-
w
-
q
-
p
-
e
-
n
-
p
-
h
-
f
p
j
c
-
-
-
-
i
-
l
b
-
-
v
u
-
u
-
h
c
-
-
-
i
-
h
-
w
p
-
-
t
-
b
-
m
-
q
-
n
-
u
-
q
-
p
w
-
o
b
-
-
-
v
-
g
-
f
n
e
-
-
-
y
-
s
-
e
i
y
-
-
-
l
-
y
-
g
i
-
o
-
q
s
-
m
u
w
-
x
-
-
t
-
f
s
u
-
-
-
v
-
-
-
e
q
p
b
-
-
-
-
-
s
-
v
-
l
-
p
-
t
-
i
-
j
i
-
-
h
-
d
-
y
h
-
-
w
v
e
-
l
a
-
-
-
b
-
-
p
-
k
-
i
-
u
-
g
-
y
s
n
-
-
o
-
-
t
-
w
-
a
k
-
q
d
h
-
-
-
x
-
b
r
-
g
-
q
g
-
e
-
g
-
v
r
-
t
-
u
-
n
-
u
c
-
-
-
e
-
-
a
-
-
g
-
p
-
-
d
-
f
-
q
e
-
-
n
-
a
-
k
j
-
i
-
-
b
c
-
-
w
g
m
y
-
v
q
-
-
u
-
t
-
-
p
-
-
-
c
w
-
-
g
-
p
-
e
u
v
-
-
-
y
d
f
-
c
-
-
-
l
-
n
-
s
-
m
-
r
v
-
q
y
x
-
-
-
-
k
j
-
k
-
-
v
-
r
g
-
-
q
-
b
-
o
-
a
-
x
-
k
g
-
x
u
j
-
-
m
i
-
-
-
-
e
o
x
-
g
e
-
-
t
-
-
-
b
-
m
-
j
a
-
d
k
-
w
v
m
-
-
-
-
-
i
y
-
b
s
c
-
t
-
y
d
a
-
-
e
-
l
w
-
-
-
-
-
-
a
-
u
-
u
a
t
-
-
-
h
-
h
-
x
f
m
-
-
-
x
-
o
t
a
-
m
-
j
-
-
-
m
b
-
-
d
-
g
-
e
o
-
-
w
-
f
-
n
-
y
-
l
-
e
l
g
m
-
-
-
-
w
-
e
-
o
-
x
r
-
-
y
s
-
p
-
-
j
c
-
-
c
-
c
r
v
-
t
t
-
-
-
n
-
-
i
-
q
-
p
-
b
-
d
h
h
-
w
-
e
c
-
y
w
-
o
-
-
o
-
-
-
-
i
-
x
-
n
-
d
-
q
-
h
k
o
-
f
-
-
-
s
n
q
-
-
m
-
-
d
l
-
-
s
s
-
o
-
-
o
-
j
-
x
-
j
-
e
y
-
-
d
-
d
-
r
y
-
p
-
p
n
-
-
i
-
-
s
-
u
-
t
-
y
-
e
-
q
-
p
-
q
-
y
b
d
-
-
-
f
-
y
-
t
-
r
-
f
u
-
-
x
k
-
f
c
e
-
-
-
i
-
-
o
-
k
-
v
-
s
y
-
y
-
-
v
j
-
-
e
u
w
-
-
-
d
-
y
y
a
-
b
-
-
-
d
-
l
-
c
n
-
m
-
w
-
-
a
-
t
-
c
-
q
s
i
-
-
-
j
-
l
-
j
s
e
d
-
j
-
-
-
-
e
h
e
-
-
h
v
-
-
-
b
-
f
h
-
-
r
d
-
e
n
-
f
-
-
-
u
k
r
-
k
c
-
-
-
-
k
r
-
j
-
n
-
-
w
-
x
v
p
-
-
-
q
o
-
o
j
i
p
-
-
-
k
-
-
u
-
-
p
-
x
-
p
u
-
-
n
-
n
a
-
f
g
y
-
y
-
a
-
-
-
-
h
c
-
-
q
-
b
e
r
-
s
-
e
-
-
w
y
-
-
e
u
-
k
g
-
-
-
-
a
-
r
-
j
f
c
-
-
-
e
n
b
-
-
i
m
y
-
y
-
-
q
-
e
-
-
-
l
-
u
p
w
-
-
d
o
o
j
b
-
-
-
-
x
-
-
-
f
-
m
-
k
-
k
-
b
j
-
-
n
c
-
-
f
-
k
-
n
y
e
n
q
i
f
-
-
-
-
d
-
-
y
-
u
-
-
-
r
-
t
d
s
-
-
-
w
-
x
-
d
v
-
-
k
f
f
n
-
b
-
-
u
-
-
h
-
-
p
-
w
-
a
-
f
i
-
i
-
-
k
-
t
q
-
-
q
-
l
m
-
-
a
-
d
-
x
-
a
k
-
-
y
-
f
-
k
-
t
-
m
-
v
v
k
-
-
-
i
m
-
-
x
-
a
-
m
-
k
-
l
c
-
-
m
-
b
-
l
m
-
-
x
-
i
x
-
-
m
-
f
-
p
l
-
-
i
-
w
-
k
-
k
-
v
-
g
-
i
-
v
-
r
-
w
r
s
-
-
g
-
-
h
-
p
-
j
k
q
-
-
-
w
-
h
-
v
-
p
-
g
w
-
t
c
-
-
-
f
-
b
-
g
-
j
-
o
-
w
-
v
u
-
-
q
-
h
-
p
-
i
h
-
-
o
-
y
-
o
-
q
k
s
-
y
y
-
-
-
-
r
l
-
-
b
-
w
a
-
-
f
-
s
-
h
-
o
q
-
r
p
-
-
-
h
-
r
c
-
-
t
f
-
-
r
-
x
-
t
-
i
-
d
-
i
-
d
s
-
f
-
j
-
-
e
-
i
t
n
-
-
-
j
-
s
-
e
-
v
-
k
-
a
-
v
p
-
-
b
-
j
t
q
-
-
x
q
-
-
l
o
-
b
-
j
-
x
k
-
a
-
e
l
-
-
-
-
-
j
-
c
-
n
-
y
-
n
-
s
-
a
-
h
-
n
-
l
-
i
-
r
-
q
-
b
u
-
-
m
v
i
a
-
-
q
-
-
-
p
-
c
w
-
-
k
-
t
q
n
-
k
-
-
d
-
-
j
-
h
-
r
-
h
-
x
-
q
-
i
-
m
-
m
-
j
-
b
-
q
-
b
-
w
a
-
a
-
-
o
-
k
-
s
-
a
-
e
-
g
p
u
-
-
-
c
g
-
-
y
r
-
k
-
-
s
-
w
-
w
-
e
-
v
-
i
-
p
-
n
-
i
a
-
-
q
-
e
-
s
-
p
-
f
-
d
-
y
-
x
-
f
-
t
l
-
-
h
f
-
j
e
-
-
-
w
-
h
-
o
m
-
-
k
-
r
-
a
n
t
q
-
-
-
-
c
-
m
-
j
-
k
o
-
-
j
t
r
-
t
-
-
-
u
y
-
q
-
n
u
-
-
k
g
r
w
f
-
n
-
-
-
j
-
m
n
-
-
-
-
j
y
l
-
-
v
r
x
-
-
-
-
-
k
u
u
-
-
-
y
-
t
-
i
b
-
-
n
-
v
-
h
-
i
-
n
j
-
-
c
-
s
-
t
-
v
-
r
l
m
-
u
-
r
-
s
m
-
-
f
j
-
-
c
q
-
-
-
-
i
-
v
-
d
-
t
-
k
-
y
y
-
-
f
-
c
-
a
-
t
-
f
-
r
-
s
-
u
-
u
w
-
-
a
x
q
-
-
-
x
r
d
-
t
-
-
-
i
q
-
-
b
h
-
-
w
-
m
l
l
-
-
o
-
-
f
-
v
-
u
h
-
-
t
-
l
-
i
l
-
-
f
-
q
q
d
-
r
-
-
m
k
-
-
-
i
n
-
-
y
-
x
-
s
n
-
i
-
-
t
-
l
-
q
-
w
f
-
-
m
-
e
-
f
-
w
h
-
w
i
j
-
-
-
-
r
d
-
-
u
-
e
c
x
-
-
p
-
-
x
-
f
-
o
x
p
-
l
-
m
-
-
-
d
v
a
-
-
x
q
-
-
-
x
-
u
-
e
h
-
j
s
-
h
-
-
-
f
b
-
-
t
-
r
j
-
-
h
-
w
a
-
y
q
-
k
u
k
-
-
q
-
-
-
-
e
-
b
-
e
-
e
l
c
q
-
-
y
y
-
-
v
-
t
-
o
-
-
g
-
-
w
-
s
-
x
-
r
q
-
b
-
-
s
-
g
-
w
-
j
-
b
e
-
-
u
-
y
i
-
-
v
w
-
-
b
n
-
y
j
b
-
-
o
-
-
o
-
-
q
-
i
u
-
n
d
x
b
s
-
-
w
-
-
-
-
-
q
m
-
-
h
y
i
-
u
-
-
-
o
-
y
-
n
-
x
a
-
-
n
-
f
y
-
-
u
v
u
-
-
-
k
-
w
q
b
-
h
-
-
-
s
a
-
-
b
t
-
-
b
-
y
-
s
j
-
s
-
-
h
-
j
-
x
h
d
r
-
-
-
-
p
-
n
k
l
-
n
-
-
-
g
-
o
-
c
v
-
-
r
h
-
-
p
-
c
-
q
-
w
b
n
-
t
-
r
-
-
-
v
-
a
l
-
-
r
-
n
-
p
-
s
-
o
-
i
-
c
m
-
-
g
-
j
-
n
s
-
-
c
r
o
-
-
e
s
-
-
-
e
m
-
-
i
f
-
p
-
-
g
y
-
-
e
-
b
i
-
-
h
j
u
-
-
s
s
-
-
-
k
-
b
-
d
y
-
q
-
-
a
-
l
-
v
-
a
-
f
-
q
g
m
-
-
j
-
-
q
b
-
w
-
-
w
a
-
p
-
i
-
-
b
-
m
-
f
r
-
-
i
-
j
-
v
-
r
g
-
-
u
-
e
-
x
-
c
y
-
-
w
-
j
-
w
-
v
-
r
l
c
-
l
-
t
-
-
-
y
b
r
d
t
-
-
-
j
-
s
y
-
-
-
n
-
d
-
-
v
-
s
-
g
-
o
-
k
r
k
-
j
-
-
-
i
p
-
s
-
v
v
-
v
o
-
-
-
-
e
-
u
o
l
h
h
-
-
-
-
r
-
r
-
-
s
-
u
-
k
l
-
-
v
-
k
-
b
-
c
-
a
j
d
-
-
w
-
-
n
-
h
-
k
-
d
-
o
-
g
l
-
-
c
-
v
-
k
-
v
-
x
t
-
-
e
u
o
b
d
g
l
-
-
q
r
-
q
l
-
-
-
-
-
-
-
y
-
-
x
i
g
p
-
h
y
-
-
-
-
d
-
-
r
-
v
-
l
-
t
-
o
j
-
-
l
-
c
-
t
-
a
-
y
-
j
-
x
-
q
-
c
-
s
i
w
-
-
c
-
y
-
r
-
-
o
l
f
o
-
-
-
-
q
j
g
k
m
-
-
-
-
-
s
-
h
m
n
-
-
-
v
-
k
u
-
x
-
w
-
-
c
-
v
-
d
-
m
k
-
-
k
-
u
-
p
-
u
o
-
-
o
-
g
-
s
-
k
-
p
l
-
k
-
-
l
g
-
p
-
-
s
-
t
-
x
-
e
-
n
-
n
-
k
-
x
-
m
-
p
s
-
u
t
s
i
p
-
-
-
-
-
i
c
-
-
-
l
-
g
-
q
-
k
-
n
-
n
-
g
r
-
j
-
-
y
-
i
-
t
-
a
-
s
d
-
-
n
t
-
v
-
-
l
-
w
s
r
-
-
-
v
f
-
-
a
-
d
d
e
-
l
-
-
m
-
c
-
-
j
-
r
-
k
a
-
-
s
-
b
-
l
-
c
y
-
-
x
-
u
k
h
-
v
-
-
m
l
-
-
i
-
-
j
-
n
-
j
-
j
e
-
-
b
-
a
i
-
-
i
-
q
e
-
-
e
-
q
-
y
-
s
-
c
-
r
-
j
-
x
-
l
g
-
d
-
-
m
f
x
-
n
-
-
-
t
-
k
b
-
-
x
u
-
-
c
-
l
b
-
a
h
t
-
j
-
-
-
y
-
-
y
-
h
-
s
l
-
l
y
-
-
-
p
-
r
-
o
-
v
w
-
-
k
y
-
-
a
b
u
-
-
n
i
x
-
m
-
-
-
v
-
-
q
i
-
x
-
h
-
e
-
q
-
-
u
-
p
-
k
-
h
y
-
-
t
-
u
h
-
-
h
-
i
m
-
r
-
-
o
-
v
-
d
b
-
-
d
p
-
k
t
-
g
-
-
b
-
-
k
-
w
g
-
-
o
s
-
n
b
q
-
-
-
c
-
-
l
-
q
v
-
-
i
-
w
e
i
-
-
-
o
a
-
-
v
-
b
f
b
-
i
-
-
m
-
-
x
-
d
t
-
s
-
-
g
-
n
-
k
-
d
r
-
-
h
-
n
-
l
-
b
-
y
-
f
c
-
-
m
-
n
h
-
p
-
-
u
-
o
-
r
-
w
-
x
-
a
-
s
h
g
-
-
m
d
-
-
-
v
g
-
-
t
-
c
g
-
f
j
-
-
-
o
d
-
-
o
m
a
j
a
-
s
-
-
s
n
-
-
-
-
b
-
-
u
-
k
c
-
-
g
-
m
-
o
-
c
-
d
k
h
-
-
a
-
f
-
-
u
a
o
-
-
-
s
-
g
-
f
-
a
-
p
l
-
-
b
r
-
-
i
x
-
-
y
-
p
-
y
t
-
-
e
-
m
-
d
p
-
-
o
j
j
y
-
x
y
-
-
-
-
-
u
a
-
-
y
-
r
-
n
f
o
-
-
-
s
y
h
-
r
-
x
-
-
-
i
-
q
o
-
-
l
-
t
-
l
-
r
-
c
-
d
-
x
-
v
-
n
-
o
a
-
-
i
-
v
r
-
g
w
-
-
-
h
-
q
-
x
t
-
-
x
-
w
-
l
-
s
v
u
-
i
-
g
-
-
-
b
w
f
u
-
-
p
-
-
r
-
-
d
-
a
t
-
-
a
u
-
-
n
-
t
y
-
-
t
-
d
-
h
-
o
-
h
-
j
-
g
-
a
-
g
q
-
-
o
-
j
-
c
e
-
-
h
-
y
-
y
-
n
-
x
-
e
-
i
-
g
-
c
-
w
-
a
-
q
-
o
-
d
b
-
-
l
-
w
-
v
-
i
-
o
-
l
-
f
n
-
-
b
-
x
-
d
-
q
f
-
-
d
j
-
-
u
-
c
u
-
e
q
u
-
-
r
-
w
-
-
-
c
o
-
-
i
w
-
o
-
-
l
-
a
-
h
q
-
-
k
p
-
i
-
-
p
f
-
-
g
-
x
t
l
-
y
-
-
-
j
-
p
-
o
-
j
u
c
-
-
-
c
e
-
-
f
p
-
g
-
k
-
-
a
-
l
-
a
-
s
-
t
-
p
-
y
-
m
-
h
-
v
-
f
p
s
-
-
t
y
-
-
-
l
-
w
f
-
c
x
-
m
r
-
-
-
a
-
-
m
-
w
-
a
-
f
-
s
-
l
-
s
x
-
-
j
-
l
p
-
-
x
-
b
-
r
-
a
-
x
-
s
s
y
f
-
-
-
-
q
-
v
m
-
-
a
-
u
x
-
-
f
-
t
-
q
a
-
-
p
-
j
-
h
-
l
-
l
u
m
s
-
b
-
-
n
-
l
-
-
-
r
-
m
b
-
-
m
l
-
-
b
-
l
q
-
-
l
d
-
-
g
c
-
-
y
-
n
i
-
-
g
-
s
d
-
-
x
f
d
o
-
-
-
-
f
-
e
b
-
q
-
m
-
-
v
-
q
-
y
-
i
f
-
d
n
s
d
p
l
o
-
-
-
-
u
-
u
b
q
-
-
-
-
e
-
-
-
-
s
f
-
w
g
-
-
e
w
w
-
-
n
-
t
t
c
q
-
r
-
-
-
c
-
-
-
a
-
q
-
-
e
-
f
x
-
-
m
-
s
-
x
-
h
a
m
-
-
-
e
-
s
e
b
-
t
-
q
-
r
-
-
-
b
-
w
-
t
-
k
-
n
-
p
t
-
n
-
-
c
-
i
-
f
x
-
-
r
-
t
b
j
f
j
-
a
-
-
-
p
-
-
-
m
x
-
i
e
-
m
-
-
-
l
p
-
-
k
-
o
r
n
-
-
j
-
r
-
-
x
-
g
-
c
-
t
o
-
-
v
-
s
-
u
v
e
-
q
e
-
-
-
-
q
-
x
-
e
-
h
r
-
-
i
-
j
-
p
-
r
d
-
-
b
-
f
-
u
i
e
-
-
-
l
o
-
-
c
w
l
-
-
c
-
-
l
-
t
s
-
-
c
-
m
-
i
t
b
-
-
-
k
m
-
-
t
-
g
-
j
-
k
o
l
-
x
p
w
y
h
-
v
-
-
r
-
c
-
-
-
k
h
-
-
k
-
-
n
-
-
c
-
-
f
-
d
p
-
-
v
-
m
b
r
-
j
-
e
-
-
-
i
-
k
-
v
l
-
m
m
o
w
-
-
p
-
-
-
-
b
d
j
-
p
p
-
-
v
-
-
-
f
-
c
-
c
-
h
-
b
-
f
-
t
-
h
o
s
b
-
-
-
n
-
w
l
a
r
-
p
-
-
-
-
b
s
c
-
d
-
-
-
-
x
f
-
x
-
-
m
d
-
-
r
l
-
-
a
-
n
-
i
-
h
-
b
-
m
-
r
-
g
-
x
-
e
-
v
-
n
-
d
-
x
n
w
d
w
e
-
-
-
m
-
-
y
j
-
g
-
-
w
-
-
o
-
-
y
-
y
o
b
-
-
-
t
-
h
w
-
-
b
-
o
-
x
-
f
p
-
-
x
-
n
-
h
-
w
-
j
l
-
-
c
c
f
x
-
-
-
-
v
u
h
-
-
-
j
-
r
b
w
-
-
a
l
-
o
-
-
n
t
r
x
f
k
d
n
l
-
-
-
-
-
-
v
-
-
-
a
-
-
k
-
c
-
j
-
-
y
-
q
-
j
-
k
-
s
-
f
-
s
-
h
e
f
-
v
-
-
-
u
-
l
m
-
-
r
-
r
e
-
c
-
-
b
t
-
g
o
-
-
a
v
-
a
-
-
q
g
-
h
-
d
-
-
x
-
-
d
-
p
-
r
-
f
-
r
-
g
j
y
h
n
d
-
-
-
-
-
-
v
-
t
-
e
c
-
-
u
w
-
-
c
-
n
b
r
-
s
-
-
x
-
-
i
s
-
-
c
-
o
r
-
r
-
-
r
-
o
-
m
-
f
h
-
-
p
h
-
-
r
-
m
-
i
-
y
-
s
d
-
-
r
-
f
p
f
-
x
-
-
-
x
-
x
-
s
-
x
-
f
-
e
n
l
-
-
n
w
-
-
y
-
k
-
-
i
-
f
-
f
-
r
-
c
r
-
-
o
-
h
-
x
-
p
-
y
-
e
-
t
v
-
-
e
-
p
-
x
-
o
-
n
e
-
t
-
-
i
q
-
-
a
f
-
i
-
-
d
-
b
u
-
l
-
-
m
-
j
-
y
-
m
-
e
-
f
-
s
-
d
-
q
k
-
-
s
c
-
-
n
v
-
-
i
l
-
-
m
-
j
-
o
k
-
-
v
-
t
-
g
-
p
-
u
-
c
r
-
-
c
-
m
w
l
-
-
k
-
-
s
-
c
-
v
-
v
-
c
-
l
d
t
p
-
-
n
-
-
-
n
-
r
v
h
-
-
-
m
-
t
-
g
-
n
-
a
s
-
o
-
-
y
e
l
x
-
-
-
o
-
-
v
-
w
i
-
s
-
-
j
u
-
-
x
-
j
-
x
-
m
-
j
-
l
-
d
-
a
-
j
-
e
-
b
-
f
-
c
m
f
l
-
-
-
-
x
-
d
-
h
n
k
-
-
q
-
-
s
-
o
v
-
a
-
-
s
e
-
c
a
m
t
-
-
-
j
-
-
-
s
-
f
-
p
w
-
c
y
-
o
-
-
-
i
e
-
-
l
u
-
i
-
-
l
-
b
-
o
-
i
d
-
-
p
-
i
-
v
g
-
-
c
-
o
d
b
-
-
-
e
j
-
-
k
-
y
-
i
-
b
d
-
e
r
-
-
k
-
-
b
-
i
s
-
-
r
-
e
-
c
-
h
-
b
-
o
-
w
n
-
-
d
f
g
-
-
-
l
-
f
r
-
d
-
-
g
-
j
-
e
-
r
-
v
s
a
-
-
-
p
-
h
p
-
d
-
g
-
-
y
-
t
-
s
k
-
-
i
w
-
-
c
-
y
-
h
-
s
p
-
-
m
-
u
-
g
s
-
u
-
-
o
m
-
-
f
-
g
y
-
-
i
-
n
j
-
-
h
-
x
s
-
r
-
-
r
q
-
-
w
-
l
x
k
-
k
-
k
s
-
-
-
-
s
w
-
-
g
n
-
x
-
g
-
-
p
-
c
-
a
-
i
-
r
h
e
s
f
a
-
i
-
c
h
-
-
-
-
m
-
x
-
-
-
d
r
-
j
k
-
-
-
-
i
-
o
-
g
p
k
t
x
-
-
-
w
-
-
b
-
-
j
-
u
-
i
b
-
l
-
-
v
h
-
q
-
j
d
-
s
c
w
r
-
-
-
-
-
o
r
-
-
-
q
-
d
v
-
-
f
-
n
b
-
v
-
-
i
-
g
-
p
-
g
i
-
-
y
k
-
a
-
d
-
-
e
l
p
-
-
-
y
-
m
-
f
k
-
-
x
-
l
-
a
-
f
-
c
s
-
-
h
-
y
-
p
-
x
-
l
-
p
-
n
-
i
-
d
-
a
-
a
-
t
-
i
-
s
-
t
-
w
-
k
-
p
-
y
-
m
g
f
-
t
-
p
n
v
-
-
x
-
-
c
f
-
r
-
-
h
-
-
-
p
-
j
-
b
-
h
-
u
-
s
f
b
j
-
-
-
-
x
-
a
n
-
-
d
-
u
-
j
s
-
s
-
-
h
x
n
-
-
-
t
-
c
-
u
-
d
-
c
-
q
-
f
-
x
-
y
-
c
-
v
-
w
-
t
d
c
d
-
f
-
c
-
-
-
-
t
-
m
-
p
f
-
m
-
-
c
t
-
j
-
-
g
v
-
-
h
d
-
-
l
-
c
p
-
a
-
d
-
-
x
p
o
-
-
-
p
-
c
-
d
-
v
-
t
-
p
-
b
-
s
-
g
d
-
n
-
-
s
-
n
y
-
j
-
r
n
-
-
-
k
x
-
i
-
-
o
a
-
-
d
g
-
-
g
-
w
a
-
y
-
x
h
i
-
-
-
-
y
-
f
-
f
e
-
x
-
-
m
-
b
-
h
-
y
-
k
-
g
w
v
-
-
s
-
-
k
-
b
t
-
r
-
-
i
u
-
-
x
-
u
-
g
-
q
-
j
-
j
e
g
-
-
-
h
-
b
-
w
f
-
h
-
-
f
-
n
h
q
-
f
s
w
m
-
r
-
-
-
-
-
a
-
i
-
r
-
-
b
g
-
-
r
j
d
-
-
-
r
-
i
-
k
t
-
h
-
-
l
-
u
-
y
a
-
-
t
-
q
-
f
y
-
-
j
-
y
-
r
-
n
-
i
h
-
-
k
t
-
x
-
-
j
s
-
h
-
v
-
-
t
-
l
r
-
-
l
-
m
-
x
-
w
-
a
-
d
-
t
-
t
h
o
x
-
l
f
-
-
-
-
-
q
-
p
b
-
-
v
c
-
u
v
-
-
-
f
-
k
-
m
b
o
-
-
m
-
-
l
-
k
-
o
b
-
h
-
-
u
-
e
-
j
-
u
-
g
-
i
-
m
-
p
d
-
-
n
-
k
-
n
r
-
-
p
-
d
-
b
d
-
c
-
t
d
-
-
k
c
-
e
-
-
l
y
-
o
o
u
f
-
-
-
-
-
-
s
p
e
-
-
t
-
o
-
-
g
-
g
a
j
g
-
-
-
-
f
-
c
-
j
-
v
e
u
c
-
u
-
-
n
c
q
-
u
w
i
-
n
-
l
-
-
-
-
e
-
-
-
a
c
-
-
-
r
-
q
-
t
a
-
b
-
-
d
q
f
l
d
-
-
p
-
-
v
-
-
-
f
d
-
-
w
x
k
j
-
e
-
a
m
-
a
-
-
k
g
h
b
a
-
-
k
-
-
-
-
t
c
-
-
k
-
r
-
-
-
-
w
-
r
-
j
-
n
-
i
-
p
-
f
d
-
-
j
-
y
-
n
-
o
t
g
b
-
-
g
-
k
-
r
q
-
t
-
-
-
-
d
-
j
-
k
-
v
-
s
-
b
-
v
u
k
-
-
-
l
-
k
-
o
-
c
t
-
-
q
-
a
u
n
-
r
e
-
c
-
-
v
h
-
-
c
-
-
t
-
y
-
k
-
-
r
-
c
-
n
-
h
-
m
-
p
-
d
-
l
n
-
-
l
y
s
-
-
-
q
-
c
-
a
-
y
-
y
-
l
-
u
-
s
v
-
-
s
q
-
-
x
-
h
-
f
y
-
-
u
-
p
-
d
-
a
-
w
-
h
-
m
-
x
-
r
h
c
-
-
-
f
-
h
-
t
p
-
p
o
-
-
k
-
-
l
-
c
-
w
r
x
e
c
-
f
-
-
p
-
-
-
-
j
-
w
-
u
-
s
-
b
-
v
-
e
-
q
-
v
-
u
c
-
-
u
o
-
v
r
-
r
-
-
-
h
y
t
-
v
-
-
-
t
-
l
-
a
a
-
-
d
-
i
u
-
-
e
d
w
i
-
b
j
j
d
g
-
-
-
s
y
-
-
-
-
t
n
-
-
-
-
-
t
h
-
q
b
x
c
-
-
-
i
h
-
f
k
k
-
-
-
b
q
-
-
-
m
-
o
-
-
-
k
a
h
r
v
-
-
-
-
-
n
s
-
-
l
v
b
-
i
-
o
-
q
e
-
a
-
-
-
-
k
g
-
-
d
-
k
-
v
-
n
-
n
-
u
-
y
-
v
-
t
e
-
-
y
-
n
-
f
f
w
-
f
-
-
-
h
y
-
i
-
t
-
-
t
-
m
w
-
p
-
-
y
-
n
-
v
n
-
-
n
d
-
-
k
-
s
-
v
d
u
-
-
-
i
y
-
b
-
-
x
-
t
-
u
t
-
-
i
-
o
s
-
-
t
-
d
-
r
-
r
-
f
r
l
-
m
-
-
-
o
-
g
-
i
-
r
-
s
h
-
n
k
-
d
-
-
-
t
-
h
c
r
m
c
-
-
-
o
-
-
m
-
-
v
-
p
-
y
s
-
m
-
-
f
s
j
-
-
-
o
-
m
-
a
-
r
-
l
j
-
-
h
-
i
s
h
-
-
f
-
l
c
-
-
-
v
-
s
n
o
y
-
-
-
-
e
h
-
p
o
-
j
f
-
-
j
-
o
x
-
t
-
-
-
t
-
-
v
m
e
-
-
-
y
g
-
-
q
n
-
-
o
-
p
-
e
g
w
-
-
d
-
-
t
i
-
-
w
a
-
-
l
i
-
-
u
o
j
-
j
s
x
w
-
v
-
b
n
-
-
-
-
-
-
b
-
e
-
-
m
-
s
u
p
-
v
-
f
-
u
-
-
-
j
-
b
-
q
-
h
-
u
-
t
-
j
-
r
-
p
-
r
-
a
-
n
-
j
-
j
-
n
-
u
w
k
-
-
-
r
-
m
j
e
-
-
-
t
-
q
-
f
h
h
-
x
-
-
d
w
-
i
-
-
u
-
-
t
y
-
-
g
n
-
-
f
-
d
-
i
-
w
-
t
-
s
l
s
h
q
y
-
-
q
t
-
k
-
s
-
y
-
f
-
b
-
e
-
k
-
-
c
p
x
o
-
e
-
-
-
-
g
-
-
-
g
l
-
s
-
-
-
w
-
-
c
b
-
-
f
-
m
-
t
-
y
-
f
-
i
-
e
-
k
u
-
-
s
-
o
w
p
-
r
q
q
-
e
-
-
-
-
-
d
j
-
-
e
-
m
-
y
y
-
-
u
-
v
-
k
a
h
-
-
q
y
-
u
-
-
-
r
d
-
p
-
-
s
n
q
s
-
i
m
-
u
-
-
-
-
-
d
l
-
-
g
n
d
-
h
-
-
v
-
-
v
-
x
-
f
-
b
-
x
i
-
-
r
-
x
-
j
k
-
-
t
m
u
-
-
-
h
-
e
-
q
-
q
a
-
-
l
r
u
-
l
-
-
h
-
-
o
-
l
-
y
-
p
-
d
-
l
-
g
-
x
-
q
-
c
-
b
-
x
-
u
-
x
n
-
f
-
-
g
-
p
-
x
-
r
-
h
-
o
b
-
a
-
-
o
-
b
t
-
-
i
-
f
v
m
j
-
-
i
-
-
u
-
-
k
j
-
c
-
-
l
q
h
-
-
v
d
r
p
-
-
v
-
-
-
-
i
m
-
-
l
d
-
f
-
i
-
p
c
p
-
-
-
-
h
k
-
-
y
i
-
-
a
-
w
q
-
b
l
-
-
-
l
y
-
-
k
-
h
l
-
-
s
-
b
b
h
-
-
-
v
-
v
w
-
-
m
-
l
t
-
f
-
-
l
-
s
p
b
u
e
-
-
-
-
c
-
-
s
-
u
-
j
-
g
-
j
-
w
-
b
-
n
i
-
y
q
p
-
-
-
r
r
-
o
u
-
s
-
x
-
y
-
i
-
-
-
-
m
-
p
p
-
-
k
h
v
i
-
-
e
-
-
a
j
-
-
-
b
-
o
-
p
-
a
-
d
-
y
-
n
-
o
v
-
-
t
-
e
-
f
-
j
-
f
-
d
-
x
o
t
-
-
-
x
-
r
u
-
-
i
-
s
-
g
-
y
-
a
b
-
k
g
f
-
-
-
-
g
-
s
-
f
-
f
-
t
f
-
-
f
-
i
-
a
-
i
k
-
l
j
d
-
q
d
d
a
d
-
m
k
-
-
-
-
-
-
-
x
d
-
r
-
h
u
-
y
-
-
-
-
-
x
u
-
-
s
-
k
-
n
-
d
v
-
d
-
-
s
-
s
-
t
-
g
-
v
-
p
-
y
-
n
-
v
-
t
-
p
r
-
-
s
-
b
t
-
u
i
-
-
m
-
-
i
-
a
g
-
e
-
-
r
-
k
k
-
w
-
b
a
k
-
-
-
-
s
n
-
x
-
v
h
-
-
t
-
-
f
x
x
-
d
-
-
p
-
-
h
-
f
t
v
u
-
f
-
-
-
g
a
-
g
-
-
-
f
-
e
f
-
-
q
-
o
-
m
n
-
u
-
p
-
-
p
t
-
-
v
v
f
-
w
-
-
-
a
w
-
-
n
-
e
t
-
-
b
-
y
-
w
-
w
-
v
v
w
m
q
-
-
-
-
-
m
p
-
-
f
x
-
-
p
-
i
-
g
-
m
-
y
h
j
-
-
-
h
-
x
-
w
-
d
u
-
-
o
q
-
c
t
-
l
-
-
-
q
-
v
-
n
p
-
-
p
-
k
b
-
-
x
-
d
-
m
-
y
-
l
k
-
-
a
-
l
x
-
o
o
-
a
t
-
t
d
-
-
-
t
-
s
t
-
q
-
h
-
-
-
k
o
-
-
-
p
-
p
a
m
c
-
-
x
y
t
-
-
l
-
-
-
-
y
-
k
o
-
-
u
-
b
-
a
t
-
-
f
-
c
w
-
j
w
p
j
x
-
i
-
y
-
c
-
e
-
m
c
-
-
-
-
-
-
y
u
-
-
x
-
-
h
-
t
-
x
-
f
-
v
e
-
-
n
v
-
-
i
l
-
-
a
j
-
-
m
-
a
-
q
-
w
-
y
-
y
-
a
-
u
-
t
d
-
l
-
-
t
-
q
-
v
-
d
-
l
r
-
x
b
d
o
g
-
-
h
y
-
p
c
-
-
-
o
e
-
d
-
-
-
d
-
-
-
-
y
c
-
-
u
i
-
-
i
-
y
-
y
k
-
-
u
j
-
-
u
-
p
d
-
r
-
-
s
q
a
-
-
-
y
-
n
-
t
-
k
-
d
-
l
f
-
-
p
-
v
-
l
k
-
i
-
-
w
-
s
-
q
e
-
-
p
i
v
-
-
-
a
n
n
-
d
-
-
-
l
-
o
-
c
-
g
-
w
-
w
-
g
j
-
-
y
n
m
e
-
-
-
-
a
-
r
u
-
-
w
-
s
-
e
-
g
l
-
-
a
y
-
-
c
-
e
-
s
-
a
-
i
-
s
-
x
-
r
-
x
-
h
-
j
-
d
x
-
-
f
-
f
n
-
v
-
-
w
-
r
-
c
-
r
-
o
-
n
-
l
-
y
j
-
n
u
v
-
-
-
-
x
b
-
-
f
-
a
-
h
h
-
q
l
p
u
-
-
-
d
-
-
-
y
-
g
s
-
o
-
n
-
-
y
s
-
-
r
-
j
-
h
m
v
-
-
-
m
u
-
-
v
m
-
-
r
-
h
-
u
-
h
-
s
u
-
-
d
a
-
-
t
-
b
c
c
-
-
-
j
-
p
-
n
-
d
-
h
-
c
-
r
-
k
-
p
-
r
-
m
-
e
-
h
-
n
-
x
-
j
s
s
-
b
-
r
o
-
-
m
h
-
-
-
f
-
-
y
-
e
f
m
k
-
-
c
-
p
-
-
-
u
-
g
l
-
b
-
-
k
i
q
a
-
-
-
j
-
-
v
-
m
f
j
d
a
x
o
-
-
-
v
-
-
-
-
-
j
t
f
o
-
-
-
-
i
-
e
r
-
s
-
-
v
-
p
a
-
i
d
-
-
x
-
v
h
-
-
-
b
-
y
o
-
-
j
-
a
-
w
-
v
-
k
r
-
o
-
b
-
-
h
-
m
o
-
-
h
-
m
f
-
-
h
b
i
c
-
-
-
-
o
-
u
g
p
-
-
-
x
e
-
n
-
e
g
-
-
-
k
-
h
-
k
f
i
-
-
b
-
-
t
j
-
k
-
k
a
-
-
-
b
-
y
-
g
s
-
-
t
k
-
-
w
-
o
-
q
-
o
-
l
-
p
-
j
-
g
k
o
-
-
b
-
-
h
p
-
e
n
-
-
-
p
-
m
-
e
o
b
-
-
y
u
b
-
-
n
o
r
x
-
-
f
-
m
-
-
x
-
-
v
-
-
x
a
k
-
-
r
-
-
p
o
s
-
-
p
-
j
a
-
-
v
b
s
-
-
-
f
x
-
-
-
-
d
l
-
-
f
-
e
-
b
w
-
g
c
-
-
-
h
-
p
-
c
-
o
-
m
-
k
u
-
s
p
-
-
-
j
-
u
e
i
-
y
y
-
-
-
-
s
i
n
-
-
r
-
-
f
o
-
-
q
-
u
-
v
-
u
-
p
-
n
m
-
-
k
-
t
-
q
-
p
-
l
-
i
-
x
-
q
-
o
h
-
-
i
-
u
-
m
a
-
-
r
-
g
d
v
-
-
-
u
n
-
x
-
x
-
r
p
-
-
-
a
-
j
g
-
-
v
g
-
-
k
-
r
-
c
-
x
d
l
c
-
-
-
r
-
-
l
-
a
-
b
f
-
-
e
w
-
-
y
-
b
-
m
-
b
-
f
-
q
s
-
k
o
-
n
-
t
-
-
-
k
y
-
t
-
-
o
-
u
-
h
w
g
-
-
-
m
-
y
x
r
-
g
-
-
-
x
m
-
-
p
e
p
u
-
-
-
g
-
-
m
-
p
-
j
m
-
-
t
-
d
-
n
-
y
x
-
-
f
-
w
-
d
-
k
-
g
l
-
-
s
b
i
-
-
s
a
-
-
-
t
-
a
a
-
d
-
-
k
-
f
f
-
-
v
-
o
-
t
-
p
-
d
-
e
m
-
-
q
-
b
-
a
-
b
-
x
-
w
-
y
-
w
-
j
-
g
-
c
e
-
g
-
-
p
g
-
-
b
-
l
-
t
-
g
-
p
-
w
f
q
-
m
-
-
-
i
f
-
-
w
-
h
-
s
o
-
-
o
-
q
-
y
-
k
i
x
l
-
-
-
m
-
-
g
a
-
-
v
y
-
-
i
j
-
-
n
-
d
-
x
-
a
-
k
d
-
-
t
-
b
-
e
-
y
-
c
t
-
-
i
-
q
t
-
-
i
d
-
l
b
j
-
w
s
-
n
-
-
-
-
x
-
b
-
-
i
-
t
-
v
-
s
u
-
-
w
-
u
-
j
-
j
-
o
-
q
k
-
-
d
-
d
v
-
-
k
s
w
-
-
-
d
-
r
u
-
-
o
d
l
-
l
-
-
i
j
h
l
-
-
-
-
o
-
-
x
-
d
b
-
-
c
-
u
-
f
-
m
-
o
-
c
u
p
v
-
a
-
j
-
-
-
o
-
-
v
p
-
-
y
-
y
-
p
-
a
-
d
-
k
-
m
-
c
-
r
-
c
e
d
-
-
v
p
-
-
-
q
-
u
g
-
-
t
-
a
t
a
-
-
-
u
-
w
-
n
-
p
-
l
-
i
-
x
h
-
v
-
-
l
-
h
f
-
-
i
-
e
m
-
-
g
c
-
o
-
q
s
-
-
-
t
t
-
c
f
r
-
-
-
i
-
-
n
-
r
-
g
-
i
n
i
-
u
-
g
-
j
-
-
-
o
t
r
-
-
-
u
r
-
-
q
-
h
-
n
o
-
x
-
-
d
-
c
-
t
-
g
-
o
-
c
r
-
-
n
w
f
-
e
s
-
h
-
-
-
-
d
-
r
-
s
r
i
-
-
-
u
-
w
i
i
-
l
-
-
-
w
j
-
t
y
-
-
f
o
t
-
l
-
-
-
-
f
m
-
-
o
-
o
-
t
-
a
-
l
-
s
b
t
-
k
-
s
-
-
e
d
-
-
-
c
i
p
k
-
n
-
i
t
-
-
-
-
-
c
-
x
-
h
-
u
-
k
-
r
-
k
-
l
-
f
-
y
i
-
b
-
g
y
h
-
-
-
o
-
-
w
a
-
-
r
-
b
-
x
t
-
-
d
-
u
-
q
-
i
m
-
-
o
j
b
-
v
-
-
-
o
s
-
-
m
-
j
t
c
d
-
t
-
-
c
f
v
u
w
-
d
-
r
t
-
d
-
-
-
-
m
-
o
a
-
-
y
-
-
-
-
-
o
-
n
-
j
h
-
-
y
-
w
s
y
-
-
-
o
-
h
-
x
j
-
-
j
-
u
l
-
-
i
-
x
-
e
s
-
f
-
c
-
-
w
p
-
k
t
d
-
-
y
-
-
-
t
-
j
-
i
g
-
-
x
y
v
x
-
-
y
e
-
-
y
e
-
e
s
-
-
-
-
-
g
-
s
-
g
c
m
c
-
u
-
-
-
j
-
u
-
o
-
q
-
n
-
g
-
o
-
-
x
x
-
-
e
-
d
-
b
-
n
-
p
-
g
e
m
-
-
-
u
-
d
-
l
-
j
-
b
-
i
-
i
-
u
-
s
-
d
f
-
-
g
t
t
q
-
-
-
-
d
-
b
l
-
-
d
-
d
-
d
-
t
-
d
-
f
-
e
v
-
k
e
-
u
u
-
u
k
-
-
-
u
-
-
-
q
-
f
-
b
-
w
-
f
w
o
-
-
-
s
n
x
-
-
-
u
v
-
-
r
-
d
-
a
l
-
f
c
-
-
t
p
-
-
-
a
-
l
c
s
a
-
-
-
-
i
-
x
-
a
a
g
-
-
-
u
-
j
q
-
a
i
e
l
-
r
w
u
-
-
-
-
j
x
d
g
q
-
-
q
-
l
f
i
-
-
-
-
-
-
-
w
j
-
-
-
-
n
l
-
-
a
-
h
-
d
n
-
-
a
w
a
-
b
-
a
-
y
k
q
-
-
g
-
-
e
-
-
-
w
o
-
-
k
-
t
-
p
p
f
-
-
-
h
i
r
e
-
b
-
h
-
-
t
-
k
-
h
j
-
w
-
-
-
-
j
-
q
-
h
d
c
-
-
-
i
o
-
-
u
-
u
-
v
-
i
-
b
-
j
-
b
c
i
-
-
s
-
-
i
-
t
-
b
-
d
h
-
a
w
-
-
-
d
s
-
-
i
-
u
y
f
s
j
-
f
x
-
-
-
-
-
g
-
-
j
a
-
-
w
j
-
-
b
-
u
-
m
y
-
g
-
-
o
-
w
e
-
-
j
-
n
e
-
-
h
w
-
-
o
y
-
-
y
-
t
-
h
-
l
-
s
b
-
f
s
-
-
i
-
s
j
-
-
-
j
d
-
-
j
n
-
-
n
-
n
-
y
d
-
-
u
l
f
-
-
t
-
i
-
b
-
x
-
-
k
-
j
-
a
-
k
v
u
v
-
-
-
-
c
-
t
-
a
-
l
-
r
k
-
-
v
-
s
-
f
-
r
s
-
-
t
k
-
-
f
-
n
b
-
c
-
-
q
e
-
-
x
l
-
-
e
i
h
k
n
-
-
b
-
p
-
-
-
-
n
-
b
-
b
-
o
q
-
-
w
q
-
-
g
x
n
-
-
-
y
-
d
-
r
-
e
g
j
-
-
-
a
-
f
-
w
x
r
c
-
-
-
h
-
-
x
-
v
-
v
m
-
-
s
-
b
-
q
k
-
-
u
-
l
-
u
-
g
-
a
v
s
r
h
-
-
-
-
-
l
-
q
i
-
-
f
-
l
-
m
c
-
-
l
h
-
s
-
-
l
-
i
-
r
-
j
g
-
q
s
-
-
l
v
f
-
-
n
-
l
w
-
-
-
-
w
-
n
-
m
-
b
-
g
-
r
-
h
d
u
-
-
i
-
-
o
b
k
k
-
-
e
-
-
-
v
-
e
-
h
-
n
-
b
-
w
-
o
-
e
-
o
p
-
s
o
-
q
l
y
-
d
x
-
-
-
-
q
-
-
-
a
-
x
u
-
-
j
-
h
-
u
i
-
-
p
-
o
-
o
-
i
-
m
x
m
-
j
k
-
-
-
-
r
-
u
-
d
k
-
-
x
c
a
-
-
-
d
-
q
-
t
-
v
-
h
v
u
-
w
-
-
-
s
-
r
-
g
g
n
-
-
b
-
-
q
-
h
-
y
-
r
g
-
b
-
-
q
-
p
x
-
-
g
h
-
-
i
-
v
-
g
-
p
f
-
-
s
-
b
-
q
-
g
-
o
-
i
-
m
-
b
-
h
f
-
-
f
-
j
-
a
-
b
-
d
-
i
-
w
-
w
n
-
-
g
-
n
-
s
-
k
v
-
-
r
-
s
k
x
o
j
m
-
k
n
s
k
-
-
-
-
-
n
i
-
-
-
q
-
b
-
d
q
-
-
f
g
l
-
p
-
-
-
-
w
-
-
-
t
i
-
-
l
w
t
d
-
-
g
a
e
-
-
-
-
-
x
d
-
-
e
-
u
-
g
j
-
-
r
-
b
-
o
m
-
-
t
f
-
k
q
q
f
-
-
-
-
-
w
j
-
-
o
-
l
-
f
-
e
o
y
u
-
-
-
-
q
-
y
-
d
-
n
-
d
-
m
-
u
h
l
b
t
e
-
-
x
-
-
-
i
d
-
v
-
-
-
a
-
-
q
-
u
-
j
j
-
-
x
-
s
h
-
-
j
u
-
-
e
-
r
-
g
-
x
e
a
v
-
-
d
-
-
-
h
b
-
n
o
-
-
-
k
-
q
d
-
-
j
o
-
-
p
a
d
-
e
v
-
-
-
c
-
-
q
y
-
k
g
-
w
n
-
l
-
x
-
f
-
-
g
-
p
-
c
-
-
i
n
-
-
-
c
-
q
r
-
e
-
-
t
b
-
v
j
-
u
-
-
-
y
-
t
-
u
-
r
-
s
-
b
-
i
-
u
-
n
y
-
-
l
q
m
-
m
t
-
-
-
-
x
-
b
-
d
r
t
-
-
-
e
-
h
t
y
-
w
u
-
-
-
-
r
x
-
-
w
-
f
s
-
-
e
-
m
-
b
p
g
k
-
y
-
-
-
q
-
-
m
q
-
-
m
-
g
q
g
u
-
c
t
q
m
-
g
-
-
-
-
-
-
-
v
-
y
-
g
-
v
-
e
-
h
-
v
o
-
-
h
-
m
-
n
g
-
l
-
w
-
-
y
c
d
o
-
-
-
d
p
s
-
-
r
k
-
-
x
-
p
j
-
k
-
a
-
p
-
-
v
f
-
p
-
c
a
-
-
-
-
-
a
c
o
-
-
-
c
-
n
c
-
l
s
-
l
l
-
-
r
-
-
e
-
-
r
-
r
-
h
-
a
-
v
-
x
-
q
-
l
-
k
l
b
-
-
s
-
-
e
u
y
n
e
-
-
-
g
-
i
-
b
w
-
-
i
-
x
-
-
s
-
-
i
-
y
-
s
-
w
-
u
-
v
c
c
-
p
-
r
t
-
g
j
-
-
-
-
-
j
-
b
v
-
q
a
-
-
j
y
-
t
v
o
-
-
-
q
n
-
-
b
k
-
n
-
b
o
s
-
-
-
-
-
v
-
t
-
k
-
-
a
w
-
-
c
-
h
-
j
w
k
y
l
-
o
y
-
q
-
-
-
-
m
-
-
-
s
-
g
w
-
-
v
y
i
q
y
-
-
-
d
x
-
-
y
-
i
-
-
-
v
-
o
-
k
-
d
i
t
-
-
-
x
-
e
k
-
p
t
-
-
-
u
-
t
-
d
-
w
-
w
-
m
-
a
a
-
i
-
-
j
-
q
-
d
-
h
e
g
b
d
-
n
-
v
a
-
-
-
-
-
-
f
-
t
j
-
g
s
-
-
-
n
m
-
-
d
-
w
-
c
e
q
l
x
-
-
-
-
-
f
-
b
-
y
-
h
-
i
d
i
-
-
-
x
-
o
a
-
o
-
p
i
-
-
m
-
-
m
t
-
-
a
c
d
-
-
-
e
-
t
-
i
-
j
-
n
-
c
-
p
t
d
-
-
-
n
-
j
x
-
-
p
-
m
x
-
-
l
q
-
-
h
-
f
e
-
-
g
h
-
-
f
r
-
p
-
-
c
-
y
w
x
-
-
-
r
k
c
-
-
r
-
w
-
-
r
k
h
-
-
x
-
-
u
-
o
-
n
k
x
-
-
j
-
-
c
-
s
-
r
-
g
-
y
-
e
-
t
-
x
-
e
-
m
-
y
-
j
-
q
-
f
b
-
i
i
-
-
-
k
t
t
-
-
c
-
-
v
-
o
-
n
-
a
-
u
-
f
-
c
d
l
-
y
p
d
o
x
-
i
c
u
-
-
-
-
-
-
-
-
-
e
w
-
h
-
o
c
r
-
-
m
-
-
-
a
-
e
-
k
u
-
-
k
-
a
e
-
b
i
t
-
-
-
s
-
-
s
x
-
-
h
-
u
c
-
-
c
-
r
b
-
-
e
-
x
-
i
q
h
-
-
-
c
-
e
-
r
-
a
-
o
-
f
w
-
-
b
-
j
-
i
-
t
-
g
-
t
-
x
-
c
-
s
-
w
e
a
-
-
-
i
-
v
x
-
s
-
g
p
-
-
-
n
x
-
-
s
-
k
h
u
j
-
-
-
n
-
-
f
j
-
-
x
-
a
x
-
p
-
g
-
s
-
t
-
-
d
-
o
-
i
-
c
-
f
-
q
g
e
e
-
-
-
-
d
-
h
g
d
-
n
-
-
-
i
-
m
l
k
-
-
-
v
-
k
-
x
-
s
y
l
-
v
o
l
j
-
-
-
-
u
-
d
-
-
-
n
-
a
-
j
-
a
k
-
-
x
-
p
i
x
-
-
-
k
e
-
-
i
-
f
-
d
-
u
h
-
v
b
-
k
g
t
v
w
-
-
w
f
l
-
-
p
-
c
-
-
s
-
-
-
-
-
-
n
-
p
-
x
-
r
-
x
-
e
-
k
-
f
j
-
-
v
-
r
-
f
-
a
-
c
f
-
-
m
n
-
-
m
-
j
f
-
h
-
-
m
w
-
-
u
-
d
l
a
-
-
-
w
-
e
-
j
-
l
-
y
-
v
v
-
-
t
-
g
-
t
t
-
o
x
t
-
k
u
-
-
-
-
-
i
o
-
-
v
w
-
-
o
-
c
e
-
-
x
k
r
-
-
a
-
-
e
r
-
s
-
-
w
-
a
-
d
-
b
-
l
-
v
-
d
-
s
v
-
-
a
v
-
k
-
v
-
-
p
-
q
y
u
-
r
-
-
s
o
-
y
s
p
-
-
b
-
y
-
-
-
-
g
-
q
-
c
-
u
v
-
-
n
i
-
-
q
-
e
-
f
-
l
-
x
d
-
-
r
x
k
a
-
-
-
-
y
l
-
-
x
p
-
v
-
-
l
l
i
-
-
-
s
-
p
-
o
s
e
-
f
-
-
n
-
a
-
t
-
b
-
a
-
i
-
-
e
-
m
-
h
-
v
r
-
-
u
-
q
-
j
b
l
-
d
-
q
-
-
-
c
y
-
e
-
y
-
h
c
-
-
-
b
l
u
-
i
-
d
-
-
-
p
-
i
-
k
-
y
-
p
v
-
-
w
-
m
-
q
-
f
-
j
i
-
j
u
-
-
-
i
c
-
-
l
-
e
-
v
s
-
-
a
-
w
q
-
b
-
-
d
y
b
-
-
-
f
l
-
b
-
-
j
-
q
o
-
-
g
d
-
c
-
r
-
b
-
-
l
u
s
-
-
-
y
-
b
q
a
d
g
-
u
-
a
d
-
-
-
-
-
x
v
-
d
-
-
-
u
k
g
-
d
-
v
-
-
-
o
-
b
j
-
c
h
-
-
-
d
-
s
p
r
i
-
j
-
-
-
-
m
-
p
-
q
-
r
-
t
d
-
-
r
f
-
-
u
-
v
s
-
-
a
j
-
-
n
-
c
y
-
-
l
-
s
-
j
u
v
l
-
d
-
-
-
-
p
-
h
u
-
-
r
-
c
l
-
-
k
-
m
-
f
-
h
e
-
-
p
y
-
-
c
c
-
l
-
-
s
-
b
-
o
v
r
-
-
-
w
-
k
-
p
a
-
-
n
-
f
-
m
-
w
-
i
-
i
-
u
-
f
-
q
-
o
a
t
-
-
a
-
-
j
-
e
u
-
p
f
-
j
c
-
k
-
-
n
-
o
-
b
x
-
q
-
-
x
e
-
-
-
-
u
j
a
-
-
-
v
d
f
-
-
v
-
x
-
-
g
-
f
-
b
-
g
-
e
k
-
f
-
-
c
-
w
-
y
-
y
-
e
l
n
k
-
-
-
l
v
-
-
-
u
f
-
-
m
u
-
-
u
r
g
p
g
-
-
q
-
-
-
-
r
j
-
-
u
-
q
-
h
-
c
-
h
-
e
-
h
i
-
-
u
-
e
-
k
-
a
-
y
-
r
-
g
j
-
-
s
-
l
e
-
-
u
-
g
-
b
-
k
g
v
-
b
-
-
-
h
-
i
-
j
-
h
-
q
-
a
n
-
a
-
i
f
-
-
-
v
-
r
-
s
-
v
-
f
-
b
u
-
w
-
-
d
v
l
-
-
g
-
-
e
m
x
-
q
l
h
f
-
-
-
-
-
x
y
w
-
k
-
o
-
-
-
-
e
-
m
x
-
s
-
-
l
-
g
k
u
-
-
-
i
-
r
r
-
-
j
q
h
-
j
-
-
-
q
n
-
m
d
j
-
-
-
-
c
o
n
i
-
-
-
-
x
e
-
v
-
-
s
-
j
-
e
y
-
-
o
-
n
k
i
-
g
-
y
-
-
y
-
d
-
a
-
-
l
h
-
w
-
e
-
-
h
j
-
-
d
-
s
-
a
-
d
x
-
-
t
u
-
a
-
-
c
-
p
-
k
-
e
-
c
g
g
-
-
-
g
-
a
-
y
-
y
p
-
-
w
-
x
u
-
-
j
-
y
-
w
-
t
x
-
-
j
-
a
-
w
-
y
-
f
h
-
-
q
-
r
f
-
-
q
-
a
-
s
-
k
-
s
-
a
-
l
n
-
-
u
g
b
-
-
-
n
-
u
-
a
-
l
-
n
-
q
-
i
o
-
-
l
-
q
-
k
-
p
-
q
a
-
-
i
-
d
-
j
-
q
a
d
-
-
q
i
v
l
p
r
m
p
-
-
-
h
-
-
p
-
j
w
r
-
-
-
-
b
-
q
-
-
-
i
-
a
u
c
i
-
b
-
-
o
n
o
-
v
e
-
-
d
-
-
-
-
r
-
-
-
u
c
-
-
w
e
-
o
n
f
l
-
-
i
-
-
u
-
-
-
-
u
d
-
-
y
a
-
-
h
-
r
-
x
l
-
j
-
-
d
-
q
t
-
-
e
w
-
-
t
-
s
-
b
-
o
e
u
v
-
-
-
-
e
-
v
o
h
-
-
-
l
-
a
h
-
-
q
k
-
-
s
-
f
-
f
s
x
-
-
t
-
-
m
c
-
-
u
g
o
-
-
-
o
i
-
g
-
-
b
-
r
p
-
-
k
a
-
-
s
m
-
-
r
y
-
-
w
-
d
x
v
l
-
d
-
-
-
y
-
-
w
f
r
-
-
r
f
-
-
-
e
-
p
w
-
-
o
-
w
t
t
-
t
-
-
-
v
-
j
s
-
-
f
-
k
-
o
s
-
-
k
-
r
p
s
t
a
-
c
w
-
-
r
s
-
-
b
j
-
-
-
-
-
-
b
o
-
-
n
r
-
-
p
-
r
-
c
v
-
-
o
l
-
-
y
l
d
-
y
g
l
s
u
-
a
-
-
-
-
w
-
x
-
-
-
-
k
-
p
-
l
-
b
m
-
-
t
-
c
-
a
v
b
g
-
-
v
-
-
-
l
k
v
-
-
-
v
-
x
-
p
v
e
v
j
-
w
-
-
m
-
-
-
-
v
-
v
a
-
g
-
-
v
l
m
-
b
-
q
t
-
s
y
r
c
-
-
e
-
-
-
-
-
-
w
-
n
o
t
-
-
t
e
n
q
-
-
-
-
-
v
-
t
-
f
-
j
-
c
x
-
b
-
-
y
k
-
q
d
-
-
-
q
-
e
d
d
-
-
-
w
-
k
-
s
-
c
-
r
-
q
-
h
-
f
-
q
o
g
-
-
o
s
g
-
a
-
b
-
-
-
-
g
-
u
w
-
h
-
-
r
-
w
-
o
-
x
o
-
f
-
-
f
k
-
u
-
-
n
r
-
-
o
o
-
e
-
-
q
-
j
k
-
-
m
-
m
r
-
-
x
-
g
-
r
-
m
-
p
-
r
-
f
-
k
-
a
-
m
-
h
o
-
-
y
-
g
q
-
-
e
-
c
o
-
n
u
j
-
-
-
-
o
n
-
-
j
-
o
a
-
-
n
-
q
-
t
-
t
-
x
-
w
-
i
-
j
-
h
b
-
-
h
-
g
v
-
-
v
-
t
-
d
-
a
-
p
-
q
-
w
-
r
-
y
t
h
-
v
-
-
f
j
-
b
-
-
p
r
-
-
i
-
-
h
-
l
-
b
-
c
o
a
c
-
-
-
o
d
v
c
-
-
-
-
-
i
a
w
-
-
-
l
k
-
-
k
-
n
-
t
k
-
-
u
t
v
-
-
n
e
-
-
q
y
-
i
-
-
y
-
-
f
-
u
q
k
u
-
-
q
q
-
-
t
-
-
-
n
o
j
-
-
-
e
-
y
f
y
-
-
-
s
-
c
f
i
u
d
-
v
t
-
-
-
a
-
-
-
-
v
i
t
-
-
-
d
y
-
-
b
-
q
-
o
-
b
-
l
-
h
-
r
i
t
-
-
-
e
-
n
e
-
-
s
n
-
-
c
-
r
-
a
-
k
-
w
r
d
-
-
-
g
k
-
-
p
f
p
-
-
t
-
-
x
-
h
-
l
-
f
-
c
y
-
-
i
-
k
-
w
-
c
d
-
-
x
t
m
-
-
b
t
k
-
-
-
-
t
p
-
-
t
-
h
-
p
-
i
-
f
-
g
-
n
-
c
-
v
-
t
-
m
-
f
-
h
n
m
-
-
-
m
-
w
-
s
-
e
-
e
-
i
-
r
s
-
-
j
-
h
-
f
k
-
g
-
j
-
-
w
-
g
-
v
-
m
i
x
-
-
c
g
-
n
-
r
v
v
-
r
-
c
l
-
-
-
-
-
i
-
y
c
-
f
-
-
-
o
-
j
-
e
-
x
i
-
-
d
l
-
h
-
n
-
-
i
-
d
-
k
w
-
-
n
q
q
f
-
-
-
-
s
-
h
-
n
-
y
-
g
-
j
-
v
-
r
-
d
-
a
b
-
p
-
-
u
-
v
e
-
v
-
-
q
-
x
-
x
-
i
-
u
-
g
j
-
-
y
-
u
t
-
-
a
-
f
-
c
m
m
-
-
-
m
-
m
n
-
-
k
x
-
h
-
-
x
-
t
-
o
-
x
n
-
s
-
-
o
-
m
-
t
-
a
-
e
k
h
i
-
-
w
-
-
-
l
n
-
b
s
-
a
n
-
-
-
-
t
d
l
-
-
-
d
-
l
-
r
-
t
k
-
-
a
o
k
-
-
-
q
-
p
w
m
-
x
d
-
o
-
-
d
-
-
-
u
-
d
-
h
-
f
-
m
h
-
e
-
-
x
-
x
y
u
-
h
-
-
d
w
-
f
-
-
f
-
-
f
l
-
y
-
-
h
-
v
t
-
-
c
-
i
-
p
-
d
-
y
g
v
j
y
-
o
o
i
-
-
u
-
i
f
y
-
-
b
-
h
-
-
-
t
-
r
g
-
-
-
-
-
-
x
y
t
-
-
-
h
-
j
q
-
t
-
s
-
-
x
b
-
-
u
-
c
-
d
-
l
-
c
-
d
-
h
-
m
-
y
-
j
-
j
-
w
x
-
j
-
m
l
-
s
l
y
t
u
-
-
-
w
h
-
-
-
w
y
c
-
-
v
-
-
-
-
-
h
-
g
k
-
-
c
-
a
-
j
x
-
k
r
-
-
-
u
-
b
n
-
-
u
-
c
x
-
-
i
-
e
u
h
e
n
-
e
-
-
-
-
-
h
-
g
e
-
-
e
-
k
n
q
-
-
b
-
-
k
-
h
g
y
l
h
-
-
i
h
e
-
-
-
p
-
w
-
-
-
i
p
-
q
q
b
-
d
d
q
-
-
-
-
-
-
-
p
-
v
b
h
y
-
q
m
-
-
-
i
-
e
-
o
q
-
-
-
n
-
-
o
-
g
r
v
f
-
-
k
-
-
-
c
w
-
-
c
-
u
-
i
-
m
x
-
w
-
-
r
-
f
-
m
-
v
a
t
-
-
-
c
-
a
-
a
-
j
-
h
-
t
p
-
-
q
h
-
-
g
k
-
-
o
b
k
-
h
-
-
w
h
-
t
-
j
c
m
h
-
-
-
t
u
h
-
-
o
-
-
-
-
-
b
-
y
-
e
-
p
-
p
-
x
-
n
-
g
-
m
-
d
x
-
k
-
-
b
g
-
-
e
-
t
-
h
t
v
-
s
-
x
-
-
x
-
-
u
-
v
m
-
-
u
-
m
m
-
-
c
-
o
-
j
-
s
i
-
-
s
f
-
i
-
-
n
-
g
-
s
-
j
-
f
-
p
-
p
-
i
v
g
-
w
x
-
-
f
b
-
-
-
-
s
-
r
-
v
x
o
t
-
a
-
-
-
-
c
-
x
-
u
p
-
s
-
e
-
s
-
-
v
-
j
-
b
-
h
-
q
-
n
-
f
-
m
-
y
-
i
w
-
-
t
j
-
-
y
w
i
-
-
-
t
d
-
b
-
-
b
y
w
-
-
-
h
j
-
g
p
-
-
k
r
j
m
-
-
-
-
n
w
-
-
-
w
x
-
p
-
-
m
v
-
-
p
-
t
-
s
-
n
-
q
q
-
-
u
u
y
-
-
-
y
-
w
o
-
-
m
-
a
-
n
-
k
-
y
-
i
w
-
-
e
-
k
n
h
-
-
g
h
-
-
-
p
-
m
-
o
-
r
c
-
h
q
-
-
a
-
-
m
-
q
d
m
-
t
-
-
-
q
-
n
-
c
r
-
-
u
y
-
t
-
f
-
-
g
-
o
p
a
v
-
-
-
n
u
-
-
-
g
-
y
e
-
q
i
i
-
-
g
-
-
-
i
-
o
-
x
-
h
-
x
-
p
-
p
m
-
-
f
k
s
-
-
-
u
s
-
-
f
-
p
-
e
-
y
c
b
p
-
-
-
-
r
-
u
-
l
-
i
-
v
-
x
-
s
-
n
-
d
-
p
a
-
-
i
-
s
c
a
-
w
-
-
t
v
-
-
-
o
-
g
-
b
-
l
f
w
-
-
k
y
-
-
-
e
e
o
-
a
-
g
j
v
-
-
-
-
n
d
w
-
-
o
w
r
-
p
-
-
-
-
-
y
-
g
-
c
-
s
-
b
f
-
v
-
-
t
-
t
-
n
p
-
-
i
-
f
-
f
-
o
a
-
-
c
-
i
x
f
-
b
p
-
p
q
w
-
-
-
-
-
c
m
-
p
-
y
-
a
-
-
-
w
-
h
r
r
-
-
-
k
-
r
e
-
-
y
s
e
j
-
u
-
l
x
-
-
-
t
-
-
-
l
-
y
-
u
t
j
-
-
-
o
-
v
-
w
o
-
h
-
-
u
w
-
-
e
-
p
-
r
-
q
q
-
-
y
c
i
-
c
-
-
-
y
-
j
-
o
-
w
-
m
l
-
-
g
e
-
-
i
-
m
-
j
-
q
f
-
-
o
r
-
-
t
-
d
-
b
c
-
n
-
-
f
-
y
y
-
-
l
g
n
-
-
a
-
l
-
y
e
-
-
-
j
y
-
-
g
-
n
-
a
-
s
s
-
d
-
p
-
-
s
-
s
k
-
h
-
d
-
j
k
-
-
-
m
a
-
-
p
-
e
h
-
-
g
-
q
-
a
-
e
i
x
-
o
-
-
r
-
-
i
u
-
-
j
k
-
-
m
-
s
-
r
-
y
-
w
-
v
n
-
-
f
-
b
-
t
e
-
-
a
-
u
-
d
r
-
-
y
p
-
c
-
c
-
-
p
-
q
q
-
-
q
-
b
-
i
b
s
-
e
-
-
-
m
-
y
-
b
-
q
r
-
-
w
-
p
-
q
j
-
-
n
-
k
-
k
-
u
-
r
-
g
-
m
-
j
-
b
-
k
m
-
-
i
o
-
-
j
u
-
-
h
f
-
-
m
-
g
-
g
-
a
-
i
-
a
-
d
s
-
-
e
-
p
-
o
c
-
k
l
-
u
-
-
-
u
-
u
c
-
-
j
u
-
n
-
-
l
-
o
p
c
-
-
p
w
j
-
w
y
w
-
k
f
-
-
-
-
n
-
-
v
-
-
-
v
-
k
p
-
-
i
k
-
-
r
-
h
y
l
-
m
b
j
-
-
s
g
s
-
-
-
-
-
-
y
u
-
u
w
-
-
-
l
e
-
-
c
v
-
x
g
-
-
-
h
b
-
-
w
w
s
-
-
-
t
m
-
w
-
p
u
-
u
-
-
-
w
-
g
-
p
-
p
-
o
-
g
k
-
-
m
-
h
-
o
-
x
-
k
-
e
-
b
q
-
u
-
u
-
-
l
m
-
-
v
-
e
e
-
-
a
x
-
h
-
-
f
l
t
w
-
-
g
-
-
-
g
-
x
f
x
-
m
-
-
n
-
-
g
-
c
y
-
-
l
-
r
-
e
-
g
l
-
-
i
-
r
-
w
-
d
-
o
-
o
-
w
k
o
-
-
-
t
v
-
h
k
-
b
-
-
-
b
-
x
-
t
j
-
-
v
a
-
x
j
-
-
-
u
i
-
-
h
j
m
-
-
-
r
b
i
-
o
-
-
-
h
t
b
-
-
-
v
u
-
s
-
l
k
-
c
a
q
b
-
f
-
-
x
-
-
-
-
-
a
-
q
-
x
-
t
n
-
a
-
r
-
j
-
-
q
-
j
-
e
o
p
-
-
-
p
-
a
-
q
w
-
-
d
-
b
-
l
-
y
-
h
-
a
i
k
r
-
-
n
k
-
e
-
-
-
u
-
-
x
-
u
d
i
-
-
g
x
-
y
-
-
n
-
-
q
-
u
q
-
-
y
p
-
v
-
-
l
-
f
-
n
-
v
f
-
-
q
-
v
b
-
-
y
r
-
b
-
-
j
-
g
-
j
v
-
-
g
-
d
-
i
-
u
-
c
q
-
u
p
-
-
a
-
u
-
-
u
a
q
-
-
c
-
-
y
-
h
-
k
d
-
-
h
-
k
m
-
-
w
-
c
a
f
-
-
-
j
-
x
m
-
o
c
-
n
-
-
-
f
-
a
-
i
-
t
-
n
e
-
d
-
-
q
-
w
-
c
p
-
e
-
-
y
-
b
-
c
-
s
-
n
-
o
-
g
-
a
-
m
w
-
-
x
f
-
-
q
-
b
k
-
n
-
-
s
u
t
-
-
-
d
n
-
-
i
-
b
y
t
-
-
-
e
-
f
-
f
-
l
-
x
l
g
h
-
-
k
v
-
-
-
-
j
-
c
a
-
-
c
-
g
-
w
-
w
-
t
a
p
i
n
m
g
-
-
-
-
c
-
-
e
-
-
g
j
-
l
i
-
f
-
m
w
-
o
-
-
x
-
r
-
k
-
l
-
i
-
w
-
b
-
-
-
-
n
-
l
-
a
o
d
-
-
-
t
-
t
m
-
-
x
a
-
-
c
-
w
i
f
-
-
-
q
-
t
-
r
h
-
x
n
c
-
y
y
-
-
-
t
-
-
-
y
-
i
x
-
-
h
-
b
-
m
q
-
v
f
k
-
-
b
-
-
-
e
b
-
-
t
-
n
g
d
-
x
-
-
y
-
s
-
-
a
-
e
e
-
f
b
e
-
-
e
l
-
-
-
-
b
y
c
-
r
-
-
-
b
-
i
-
m
-
b
-
s
-
i
-
w
-
a
e
-
l
-
l
x
o
-
-
-
-
h
i
l
-
-
-
o
o
-
-
l
-
f
h
-
-
g
e
-
h
-
-
n
-
t
-
a
v
g
-
-
-
v
g
-
a
-
-
n
-
h
-
y
g
-
-
d
-
a
-
y
v
-
h
-
-
m
-
m
-
b
o
-
-
g
-
g
-
o
q
-
-
j
-
v
-
f
-
f
-
k
-
t
g
-
-
k
-
k
h
-
-
g
-
t
-
x
o
v
-
-
n
v
-
-
-
n
k
-
-
n
m
-
n
-
a
-
-
y
-
g
-
b
n
-
-
q
-
r
d
-
u
s
-
g
n
y
q
d
-
-
-
r
-
-
-
-
-
f
t
-
-
y
-
c
v
-
y
h
-
-
l
-
-
s
o
-
-
k
i
t
-
-
-
a
v
-
-
s
-
n
-
m
-
m
m
-
y
a
y
b
-
-
-
-
-
r
b
-
-
h
-
u
b
-
-
w
k
-
-
c
-
s
-
e
-
v
-
n
-
b
e
q
-
-
p
-
t
a
b
-
o
-
-
-
-
o
a
-
h
-
-
s
h
-
-
f
-
a
u
o
-
-
-
t
-
g
-
x
m
-
g
-
q
-
r
-
f
d
-
-
-
a
-
l
-
i
-
b
v
-
-
c
-
v
e
-
p
-
-
b
-
l
-
b
-
u
f
-
k
-
r
-
-
y
f
k
-
n
-
-
-
h
-
t
-
i
-
n
x
-
-
d
-
k
-
k
-
s
-
o
t
-
-
c
r
-
s
f
-
m
-
p
-
r
-
-
-
l
-
g
-
d
-
t
-
p
-
w
-
a
-
r
n
-
-
r
-
q
-
d
-
q
-
k
m
-
v
-
f
-
-
x
-
q
u
a
-
-
-
v
-
n
v
-
o
j
-
-
p
-
k
u
p
r
-
-
-
-
-
p
e
d
-
-
-
f
k
h
v
-
-
x
l
-
v
-
w
-
-
-
-
b
-
e
-
l
p
-
-
q
-
x
p
e
-
y
b
-
d
h
c
-
-
-
-
-
-
g
-
l
-
s
-
j
k
-
f
d
-
v
e
s
k
x
-
-
-
k
-
m
-
-
-
-
-
b
-
u
-
x
v
-
-
l
-
w
i
n
-
-
-
i
u
-
-
l
-
w
-
n
v
-
k
-
-
t
t
d
l
-
n
i
-
-
-
-
q
-
y
m
-
-
j
-
i
q
b
n
f
-
-
-
-
c
p
-
-
h
-
-
l
-
-
j
-
d
a
-
a
q
g
-
-
-
-
u
-
t
-
h
e
-
-
m
-
v
-
v
s
-
-
w
-
k
-
j
-
l
-
v
-
f
t
-
-
t
a
-
-
m
-
g
-
s
-
y
-
v
-
c
-
g
-
i
x
-
l
-
-
m
-
a
f
-
-
r
n
-
n
-
-
q
-
b
-
g
-
v
-
w
-
r
-
o
v
-
u
c
a
-
-
o
-
i
c
c
-
-
j
-
-
-
a
-
a
-
v
-
i
-
i
-
-
f
-
j
-
m
m
-
-
d
e
-
n
-
h
-
-
u
c
-
-
w
-
v
-
f
-
k
r
-
-
e
-
w
-
j
t
-
-
p
-
d
-
i
j
u
y
-
-
u
o
-
-
b
u
-
-
-
u
-
-
b
y
i
-
-
-
r
-
f
-
q
x
b
-
e
-
-
-
t
c
-
-
g
-
w
s
-
i
-
o
-
-
a
-
s
u
-
-
y
-
b
-
g
-
e
-
g
-
b
-
h
-
n
-
m
-
d
-
f
u
i
-
-
-
t
c
-
-
m
-
s
-
c
-
v
y
-
-
l
-
j
i
m
-
-
m
b
a
a
o
r
-
a
v
g
-
-
q
m
-
-
-
-
c
-
-
k
e
i
e
a
-
-
f
i
-
-
-
-
-
-
f
u
-
r
-
-
-
m
-
t
-
a
-
-
-
o
n
w
-
-
-
o
x
-
-
e
h
-
-
p
-
l
-
g
-
s
-
e
-
d
-
f
p
v
p
e
-
i
-
-
-
-
-
p
l
-
-
h
a
-
w
-
c
-
b
-
i
w
c
k
-
-
n
-
-
-
-
d
g
-
-
u
-
o
-
a
-
a
t
-
-
r
m
e
-
-
-
c
-
h
-
g
t
-
-
p
-
r
-
t
-
e
y
f
-
-
-
a
-
d
k
-
-
i
-
u
-
v
-
b
-
s
-
w
a
d
-
h
y
m
n
-
-
-
c
-
c
-
-
-
-
x
-
l
-
c
-
l
n
-
-
h
-
a
q
-
-
m
-
s
-
o
-
j
-
n
-
o
-
l
-
l
-
s
-
v
-
i
-
u
-
r
-
i
-
l
-
s
-
c
k
-
-
t
-
m
-
j
p
-
-
q
-
a
-
y
-
a
h
-
-
r
-
i
-
y
-
x
h
-
c
-
-
l
o
-
-
e
-
c
-
b
-
d
-
s
-
x
j
-
p
t
-
-
-
y
-
k
-
l
e
-
-
n
-
d
-
h
-
n
-
y
-
r
-
p
-
o
-
h
a
-
-
v
-
w
-
b
-
y
a
v
-
a
m
-
-
-
-
n
g
-
u
n
-
j
w
j
-
-
l
c
-
-
w
-
a
-
-
-
-
p
-
w
-
w
-
k
p
-
-
q
c
-
y
g
-
-
-
q
k
q
p
-
-
-
-
v
t
-
p
-
-
j
-
y
g
-
o
c
l
u
-
-
-
-
-
r
-
n
p
-
-
k
m
-
-
u
-
w
-
c
q
f
-
-
v
-
s
-
-
u
-
t
-
p
n
-
-
j
-
f
-
t
g
-
r
q
g
-
-
x
-
-
-
l
j
c
-
-
u
-
-
y
i
y
-
y
m
g
-
c
-
-
f
e
-
-
-
-
-
h
-
f
a
-
-
s
-
b
-
y
-
t
c
n
-
-
-
y
-
n
-
b
-
d
w
-
-
e
-
i
-
h
-
q
a
-
-
r
-
x
r
-
n
-
-
o
w
u
-
-
c
-
-
d
-
g
-
i
-
n
-
m
-
q
-
n
-
q
-
j
-
m
x
-
k
h
-
-
-
a
k
-
w
-
-
e
j
x
-
p
f
-
-
-
x
-
n
-
-
u
-
k
-
h
g
-
c
-
-
t
s
-
-
j
i
w
-
j
w
m
-
y
-
-
b
u
-
-
-
s
-
t
-
n
-
s
-
p
-
d
-
-
q
-
-
n
u
-
-
e
-
n
t
-
-
x
n
k
-
-
-
f
e
-
-
r
-
s
w
m
b
c
-
-
v
-
-
-
-
y
r
-
-
b
k
-
-
p
i
-
-
o
b
n
-
-
i
j
-
p
-
-
-
d
-
y
-
k
-
a
-
a
-
y
-
r
-
k
-
r
-
l
-
p
g
q
w
-
-
-
-
i
b
k
c
n
-
-
g
o
-
-
h
w
-
-
b
-
-
-
-
f
o
o
t
-
s
-
u
j
n
b
-
-
b
-
-
d
s
-
-
r
c
-
-
-
-
-
b
-
-
i
-
o
-
l
-
a
-
q
k
-
v
l
-
h
-
-
-
o
-
n
-
u
-
m
h
-
-
d
-
t
-
q
-
l
-
q
-
w
-
s
-
u
-
s
q
-
-
m
h
-
-
f
d
-
-
u
g
-
-
n
-
p
-
o
-
b
p
-
-
d
h
-
-
f
-
t
-
r
-
d
-
o
-
d
-
i
-
r
m
-
t
-
-
e
-
j
-
o
-
n
-
e
j
s
-
p
-
-
-
b
d
a
-
-
-
j
-
l
-
k
d
i
-
-
-
b
s
-
-
w
-
g
-
d
m
-
-
q
-
q
-
c
-
o
-
l
-
y
-
t
-
g
-
t
f
-
-
n
-
h
-
g
-
k
-
f
-
h
y
-
e
-
-
w
-
y
f
u
a
y
-
-
-
-
x
-
-
a
-
y
k
q
-
-
g
-
b
-
c
-
-
k
-
e
p
p
-
-
-
r
-
q
-
w
-
p
-
s
-
r
w
y
b
x
-
-
l
t
-
-
-
-
-
w
-
p
t
q
b
-
-
-
-
j
-
g
g
-
m
-
-
f
e
-
-
t
b
-
a
-
w
-
-
g
-
i
-
n
k
-
-
d
-
i
t
-
-
k
s
i
o
w
-
-
-
w
r
-
-
-
a
k
-
-
-
r
-
t
-
g
-
q
k
j
-
h
t
u
b
-
-
s
g
-
-
-
e
-
i
-
-
-
-
q
-
j
-
t
-
g
-
f
-
e
-
w
h
-
-
d
l
-
t
-
d
n
g
-
o
-
-
-
i
-
-
u
n
-
-
d
-
m
-
h
-
p
r
-
-
o
p
q
-
w
g
-
-
-
-
m
s
k
m
-
-
-
-
e
-
e
x
-
-
o
-
h
-
f
j
f
-
-
-
y
-
x
h
-
c
-
-
w
-
r
w
k
-
r
d
-
g
-
-
-
b
-
-
d
d
-
-
v
v
-
q
-
-
e
f
-
i
-
-
o
-
j
-
f
n
-
o
-
-
v
a
-
-
v
-
a
-
o
-
o
m
-
y
d
m
-
-
-
u
b
-
-
-
c
c
x
g
-
-
-
r
-
-
h
u
-
-
j
n
-
-
d
-
y
-
b
r
-
f
-
-
y
k
-
d
-
-
n
-
g
-
y
p
-
-
b
p
-
-
s
-
u
-
v
-
i
-
m
e
k
-
h
-
d
-
s
e
-
-
p
u
-
-
-
w
s
y
-
-
-
-
a
c
-
l
-
-
j
f
-
g
-
-
p
-
f
-
o
f
-
-
q
-
x
-
w
-
t
d
d
-
m
-
-
-
h
-
n
-
f
-
m
-
h
o
-
-
p
-
a
-
u
c
-
-
m
i
j
e
-
-
-
s
-
-
q
u
-
n
-
-
m
-
k
-
n
-
e
-
j
-
n
-
e
-
l
-
u
-
f
d
g
-
-
-
c
q
r
-
q
-
-
h
u
-
-
-
k
-
m
j
-
g
a
-
c
-
-
s
-
-
c
-
i
-
g
k
d
-
-
-
h
-
l
n
-
v
-
-
i
-
n
y
-
-
o
-
g
-
j
-
c
-
t
-
p
-
q
d
o
-
-
t
g
-
u
w
-
a
i
s
c
n
-
-
-
-
-
-
-
r
d
-
-
c
-
-
n
-
m
-
v
-
r
-
m
-
t
-
k
x
-
-
e
l
-
-
p
-
o
-
b
u
-
w
-
-
j
-
i
-
d
-
i
a
-
-
q
-
t
-
f
-
m
-
t
-
l
-
u
-
b
x
-
u
-
-
v
-
s
e
-
-
k
-
m
-
r
-
q
-
g
j
-
-
v
-
p
t
-
n
-
-
a
-
f
-
m
s
-
-
v
-
o
-
a
-
x
-
p
d
-
-
i
-
y
-
f
-
f
k
-
g
u
v
s
-
u
-
-
-
-
-
m
-
q
-
e
-
u
-
v
c
-
p
t
-
-
-
j
-
b
-
h
y
i
-
-
-
u
-
h
-
f
i
-
-
s
l
-
-
m
-
t
-
d
t
-
-
j
-
x
-
p
-
g
j
v
-
-
u
-
-
l
t
-
-
a
-
t
a
g
m
a
-
-
-
-
p
-
-
a
w
-
-
i
-
y
-
p
-
c
-
f
i
-
h
s
-
p
-
-
-
i
k
d
a
-
-
-
v
-
-
e
-
g
-
s
s
-
c
-
-
v
l
a
-
t
-
a
-
m
i
-
c
-
-
-
y
-
-
o
-
c
-
n
-
x
-
h
-
q
v
-
c
q
-
t
-
-
-
b
-
n
-
b
-
c
-
r
-
p
-
e
-
w
-
v
-
e
-
s
r
r
-
-
d
-
c
t
-
j
p
-
-
o
-
h
t
-
-
g
-
-
n
-
-
g
v
-
y
-
t
-
-
j
-
o
-
n
-
c
-
n
-
x
-
g
-
t
r
-
-
a
-
v
-
u
-
r
-
q
-
p
-
m
-
o
-
d
y
c
-
i
-
b
u
-
u
w
-
y
-
t
-
-
n
-
-
c
-
-
c
c
-
-
t
-
-
l
-
y
-
p
-
u
-
b
f
-
-
f
-
a
-
j
q
-
-
p
-
k
b
-
m
-
s
q
b
-
-
k
-
-
g
d
-
-
-
p
n
f
-
-
-
c
-
o
o
-
-
d
-
x
-
d
r
d
m
-
-
-
-
q
-
p
g
-
x
-
v
e
e
-
-
-
-
q
j
-
-
y
-
r
-
t
m
-
y
l
-
-
-
i
-
t
-
d
y
-
x
b
-
-
-
h
-
i
-
o
-
c
-
r
-
h
d
-
-
m
-
r
t
-
-
e
-
t
-
o
-
e
-
f
-
t
-
v
g
l
-
-
-
y
-
h
-
i
-
j
j
f
-
-
y
-
-
c
-
f
-
q
n
t
-
-
l
-
-
q
x
-
e
-
-
t
e
-
-
i
s
d
i
-
f
i
-
-
-
f
-
-
g
-
a
-
g
d
-
o
d
m
i
-
n
-
-
-
-
-
-
e
-
s
-
g
q
-
-
i
-
u
-
a
-
h
s
s
-
-
-
a
c
-
-
o
x
-
-
n
-
s
-
k
-
d
-
g
s
-
e
l
m
u
c
r
-
-
-
-
-
-
m
-
-
u
-
w
-
i
-
x
-
q
o
-
-
y
-
h
-
m
-
j
s
-
-
l
r
u
-
d
p
-
o
g
-
q
-
-
u
-
-
-
p
-
-
r
p
-
b
-
-
w
x
-
g
u
-
b
-
g
-
-
-
g
-
v
-
o
p
-
-
r
-
m
e
-
-
k
-
x
-
j
-
m
-
k
p
h
-
-
r
-
-
m
c
a
-
j
l
-
-
-
-
t
-
v
-
f
-
o
-
p
-
y
p
-
y
-
-
w
-
o
s
-
-
u
a
-
-
x
r
g
-
-
r
-
n
-
-
k
h
-
-
y
o
-
-
f
-
p
-
c
-
t
-
u
-
q
j
-
-
p
o
-
-
m
-
t
-
s
t
-
-
h
-
s
-
i
-
c
o
-
e
i
v
-
-
g
g
-
-
-
k
-
-
b
v
q
-
-
-
f
b
-
y
-
i
-
-
r
l
-
r
-
-
k
b
x
v
-
f
a
k
j
-
-
l
-
-
-
-
a
-
-
d
-
-
y
-
j
-
u
r
-
-
i
-
u
k
m
-
o
-
p
g
p
-
-
n
a
w
-
-
m
-
-
-
-
-
k
w
-
-
o
-
b
-
k
-
s
-
y
-
v
-
u
-
b
o
-
-
p
-
r
f
-
d
-
r
-
-
b
l
k
-
-
-
c
-
j
-
p
-
t
-
g
-
i
-
q
-
d
-
a
-
c
v
s
-
-
-
o
u
t
-
-
-
k
a
-
a
-
-
g
-
i
l
-
-
l
-
i
-
a
-
m
e
-
k
-
-
i
d
-
l
-
-
p
-
c
-
k
k
-
i
-
-
c
-
c
-
q
-
c
-
b
-
p
-
h
-
b
-
s
-
m
d
-
-
a
-
r
-
m
-
p
-
l
-
v
-
k
-
t
-
p
r
s
-
f
x
-
x
c
h
e
